|
|
Books > Computing & IT > Computer programming > Compilers & interpreters
Learn the basics of the Elm platform for web applications. This
book covers the language as of version 0.18 and the most important
libraries. After reading this book you will have an understanding
what Elm can do for you. Also, you will be able to build on the
example in the book to develop advanced web applications with Elm.
What You'll Learn: Work with Elm and its development environment
Learn the language and libraries in examples Use the Elm
architecture to create applications with the Elm platform Put it
all together with a sample application and explanation that covers
the implementation details Who This Book Is For: Web developers new
to Elm, with some experience in JavaScript recommended. This book
is also for others curious about Elm and its potential beyond web
development.
Learn programming with Python by creating a text adventure. This
book will teach you the fundamentals of programming, how to
organize code, and some coding best practices. By the end of the
book, you will have a working game that you can play or show off to
friends. You will also be able to change the game and make it your
own by writing a different story line, including new items,
creating new characters, and more. Make your own Python Text
Adventure offers a structured approach to learning Python that
teaches the fundamentals of the language, while also guiding the
development of the customizable game. The first half of the book
introduces programming concepts and Python syntax by building the
basic structure of the game. You'll also apply the new concepts in
homework questions (with solutions if you get stuck!) that follow
each chapter. The second half of the book will shift the focus to
adding features to your game and making it more entertaining for
the player. Python is often recommended as a first programming
language for beginners, and for good reason. Whether you've just
decided to learn programming or you've struggled before with vague
tutorials, this book will help you get started. What You'll Learn
Install Python and set up a workspace Master programming basics and
best practices including functions, lists, loops and objects Create
an interactive adventure game with a customizable world Who This
Book Is For People who have never programmed before or for novice
programmers starting out with Python.
 |
Compiler Construction
- 24th International Conference, CC 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015, Proceedings
(Paperback, 2015 ed.)
Bjoern Franke
|
R2,068
Discovery Miles 20 680
|
Ships in 18 - 22 working days
|
|
|
This book constitutes the proceedings of the 24th International
Conference on Compiler Construction, CC 2015, held as part of the
European Joint Conferences on Theory and Practice of Software,
ETAPS 2015, in London, UK, in April 2015. The 11 papers presented
in this volume were carefully reviewed and selected from 34
submissions. They deal with compiler engineering and compiling
techniques; compiler analysis and optimisation and formal
techniques in compilers. The book also contains one invited talk in
full-paper length.
This book provides readers with a single-source reference to
static-single assignment (SSA)-based compiler design. It is the
first (and up to now only) book that covers in a deep and
comprehensive way how an optimizing compiler can be designed using
the SSA form. After introducing vanilla SSA and its main
properties, the authors describe several compiler analyses and
optimizations under this form. They illustrate how compiler design
can be made simpler and more efficient, thanks to the SSA form.
This book also serves as a valuable text/reference for lecturers,
making the teaching of compilers simpler and more effective.
Coverage also includes advanced topics, such as code generation,
aliasing, predication and more, making this book a valuable
reference for advanced students and practicing engineers.
This textbook describes all phases of a compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. It includes thorough coverage of current techniques in code generation and register allocation, and the compilation of functional and object-oriented languages. The most accepted and successful techniques are described and illustrated with actual Java^TM® classes. The first part is suitable for a one-semester first course in compiler design. The second part; which includes the compilation of object-oriented and functional languages, garbage collection, loop optimization, SSA form, instruction scheduling, and optimization for cache-memory hierarchies; can be used for a second-semester or graduate course. This new edition includes more discussion of Java and object-oriented programming concepts such as visitor patterns plus a new Mini-Java programming project. A unique feature is the newly redesigned compiler project in Java for a subset of Java itself. The project includes both front-end and back-end phases.
The enormous popularity of the World Wide Web can be attributed
in large part to the fact that it is a dynamic, highly interactive
medium. As web accessibility through wireless devices becomes
increasingly popular, developers are challenged to maintain the
high level of interactivity and flexibility that users are
accustomed to on their personal computer browsers. Fortunately,
this task isn't as daunting as it seems, as the language tools used
to create conventional web pages can also be implemented in the
wireless arena.
"Wireless Web Development with PHP and WAP" is the result of
author Ray Rischpater 's years of experience in both wireless
development and PHP programming, and shows you how to make the most
of both technologies to create scalable wireless applications.
You'll also learn how to use MySQL with PHP to serve wireless
content as you review examples drawn from real-world wireless
applications. In addition to tackling the wireless Web's software
development challenges, Rischpater examines equally important but
often overlooked issues such as user interface design and
optimizing wireless sites for presentation on today's screen
phones.
"It is the first book that I have read that makes STL quickly usable by working programmers" Francis Glassborow, Chair of The Association of C & C++ Users (ACCU) STL for C++ programmers Leen Ammeraal The Standard Template Library (STL) provides many useful and generally applicable programming tools. This book combines reference material and a well-paced tutorial to get you past the basics quickly. Small, complete programs illustrate the key STL features such as containers, algorithms, iterators and function objects. A section is devoted to the new string data type. All STL algorithms are formally presented by their prototypes and then informally described to show how to use them in practice. Concepts are well illustrated with a large number of example programs all of which are available via ftp (for access details please refer to the preface of the book or Wiley’s website). Finally, special examples are given to explain the advanced notions of function objects and function adaptors, including predicates, binders and negators.
Create stunning 3D games in a short amount of time using Amazon
Lumberyard, a free and exciting game development platform. This
book is a ground-up, out-of-the-box tutorial on 3D game development
and programming with Lua and Amazon Lumberyard with little or no
game development experience required. Beginning Game Development
with Amazon Lumberyard walks you through the user interface of the
Amazon Lumberyard engine; teaches you how to develop detailed
terrain using heightmaps, megatextures, weather, and vegetation;
and takes you through exporting the game for distribution. The book
will show you how to create a player as well as enemies while not
getting bogged down with third-party tools for animation or model
creation. You will also work with simple physics, colliders,
meshes, weather generation, Lua scripting, user interface
development, and much more. By the end of the book, you will be
able to create many different types of video games using the Amazon
Lumberyard engine and even have a completed project ready to
release or put in your portfolio. What You Will Learn Discover the
mechanics and terminology of game development Familiarize yourself
with the Amazon Lumberyard game engine in detail Modify game
scripts using the Lua language Discover how to optimally structure
game layers Who This Book is For Developers, programmers, and
would-be game designers who have long wanted to dip their toes into
the world of game development but have found other game engines and
platforms to have too high a barrier to entry.
Harness the power of Quarkus, the supersonic subatomic cloud-native
Java platform from Red Hat. This book covers everything you need to
know to get started with the platform, which has been engineered
from the ground up for superior performance and cloud-native
deployment. You'll start with an overview of the Quarkus framework
and its features. Next, you'll dive into building your first
microservice using Quarkus, including the use of JAX-RS, Swagger,
Microprofile, REST, reactive programming, and more. You'll see how
to seamlessly add Quarkus to existing Spring framework projects.
The book continues with a dive into the dependency injection
pattern and how Quarkus supports it, working with annotations and
facilities from both Jakarta EE CDI and the Spring framework.
You'll also learn about dockerization and serverless technologies
to deploy your microservice. Next you'll cover how data access
works in Quarkus with Hibernate, JPA, Spring Boot, MongoDB, and
more. This will also give you an eye for efficiency with reactive
SQL, microservices, and many more reactive components. You'll also
see tips and tricks not available in the official documentation for
Quarkus. Lastly, you'll test and secure Quarkus-based code and use
different deployment scenarios to package and deploy your
Quarkus-based microservice for the cloud, using Amazon Web Services
as a focus. After reading and using Beginning Quarkus Framework,
you'll have the essentials to build and deploy cloud-native
microservices and full-fledged applications. Author Tayo Koleoso
goes to great lengths to ensure this book has up to date material
including brand new and some unreleased features! What You Will
Learn Build and deploy cloud-native Java applications with Quarkus
Create Java-based microservices Integrate existing technologies
such as the Spring framework and vanilla Java EE into the Quarkus
framework Work with the Quarkus data layer on persistence with SQL,
reactive SQL, and NoSQL Test code in Quarkus with the latest
versions of JUnit and Testcontainers Secure your microservices with
JWT and other technologies Package your microservices with Docker
containers and GraalVM native image tooling Tips and techniques you
won't find in the official Quarkus documentation Who This Book Is
For Intermediate Java developers familiar with microservices, the
cloud in general, and REST web services, but interested in modern
approaches.
Cover classical algorithms commonly used as artificial intelligence
techniques and program agile artificial intelligence applications
using Pharo. This book takes a practical approach by presenting the
implementation details to illustrate the numerous concepts it
explains. Along the way, you'll learn neural net fundamentals to
set you up for practical examples such as the traveling salesman
problem and cover genetic algorithms including a fun zoomorphic
creature example. Furthermore, Practical Agile AI with Pharo
finishes with a data classification application and two game
applications including a Pong-like game and a Flappy Bird-like
game. This book is informative and fun, giving you source code to
play along with. You'll be able to take this source code and apply
it to your own projects. What You Will Learn Use neurons, neural
networks, learning theory, and more Work with genetic algorithms
Incorporate neural network principles when working towards
neuroevolution Include neural network fundamentals when building
three Pharo-based applications Who This Book Is For Coders and data
scientists who are experienced programmers and have at least some
prior experience with AI or deep learning. They may be new to Pharo
programming, but some prior experience with it would be helpful.
There are many good Java programming books on the market, but it's
not easy to find one fit for a beginner. This book simplifies the
complexity of Java programming and guides you through the journey
to effectively work under the hood. You'll start with the
fundamentals of Java programming and review how it integrates with
basic mathematical concepts through many practical examples. You'll
witness firsthand how Java can be a powerful tool or framework in
your experimentation work. Learn Java with Math reveals how a
strong math foundation is key to learning programming design. Using
this as your motivation, you'll be programming in Java in no time.
What You'll Learn Explore Java basics Program with Java using fun
math-inspired examples Work with Java variables and algorithms
Review I/O, loops, and control structures Use projects such as the
Wright brothers coin flip game Who This Book Is For Those new to
programming and Java but have some background in mathematics and
are at least comfortable with using a computer.
This book constitutes the refereed post-conference proceedings of
the 26th International Workshop on Functional and Constraint Logic
Programming, WFLP 2018, held in Frankfurt/Main, Germany, in
September 2018. From the 19 full papers submitted,12 were accepted
for presentation at the workshop. During a second review after the
workshop, 10 papers were accepted for inclusion in this volume. The
papers cover different programming areas of functional and logic
programming, including code generation, verification, and
debugging. They are organized in the following topical sections:
compilers and code generation; debugging and testing; and
foundations of functional logic programming.
Stay motivated and overcome obstacles while learning to use Swift
Playgrounds and Xcode 10.2 to become a great iOS developer. This
book, fully updated for Swift 5, is perfect for those with no
programming background, those with some programming experience but
no object-oriented experience, or those that have a great idea for
an app but haven't programmed since school. Many people have a
difficult time believing they can learn to write iOS apps. Swift 5
for Absolute Beginners will show you how to do so. You'll learn
Object-Oriented Programming (OOP) and be introduced to User
Interface (UI) design following Apple's Human Interface Guidelines
(HIG) using storyboards and the Model-View-Controller (MVC) pattern
before moving on to write your own iPhone and Apple Watch apps from
scratch. What You'll Learn Work with Swift classes, properties, and
functions Examine proper User Interface (UI) and User Experience
(UX) design Understand Swift data types: integers, floats, strings,
and booleans Use Swift data collections: arrays and dictionaries
Review Boolean logic, comparing data, and flow control Use the
Xcode debugger to troubleshoot problems with your apps Store data
in local app preferences and Core Data databases Who This Book Is
For Anyone who wants to learn to develop apps for the Mac, iPhone,
iPad, and Apple Watch using the Swift programming language. No
previous programming experience is necessary.
Create your first turn-based multiplayer game using GameMaker
Studio 2's built-in networking functions as well as using a simple
NodeJS server. This book introduces you to the complexities of
network programming and communication, where the focus will be on
building the game from the ground up. You will start with a brief
introduction to GameMaker Studio 2 and GML coding before diving
into the essential principles of game design. Following this, you
will go through an introductory section on NodeJS where you will
learn how to create a server and send and receive data from it as
well as integrating it with GameMaker Studio. You will then apply
multiplayer gaming logic to your server and unlock multiplayer game
features such as locating a player, syncing their data, and
recording their session. What You Will Learn Discover the
architecture of GameMaker Studio 2 Add new features to your game
with NodeJS modules Integrate GameMaker Studio 2 with NodeJS Master
GameMaker Studio 2's built-in networking functions Who This Book Is
For GameMaker Studio users who want to understand how the
networking components of GMS 2 work. Basic JavaScript knowledge is
required.
Learn programming using the Commodore 16/Plus 4 system. Following
this book, you and your children will not only learn BASIC
programming, but also have fun emulating a retro Commodore system.
There are many ways to bring the fun of learning to program in the
1980s back to life. For example, downloading the VICE emulator to a
Raspberry Pi allows for the classic "turn on and program"
experience and also provides some retro computing project fun. Many
parents learned programming in this same way and can have fun
helping their children follow the same path. You can also use this
book as an opportunity to dust off your computing skills or learn
programming concepts for the first time on a system that's easy,
approachable, and fun with a nostalgic twist. Commodore computers
were the most sold computing devices before the iPhone. Nowadays,
the Commodore system can be run using freely available emulation on
modern computers. This book uses VICE, which is available for PC,
Mac, Linux, as an online app, and on the Raspberry Pi. Beginning
Programming Using Retro Computing offers simple programming
concepts to give children and adults alike a sense of wonder in
seeing that words they write have the power to do things, like play
sounds, draw graphics, or finish math homework.
Explore the new Java programming language features and APIs
introduced in Java 10 through Java 13. Java 13 Revealed is for
experienced Java programmers looking to migrate to Java 13. Author
Kishori Sharan begins by covering how to use local variable type
inference to improve readability of your code and time-based
release versioning of the Java platform to understand the Java
release strategy. This book provides extensive coverage of the new
HTTP Client APIs, which were introduced in Java 9 as a preview and
was made a standard feature in Java 11. New Java features such as
launching a single-file source code program and new switch syntax
are discussed in detail. What You Will Learn Use local variable
type inference to declare local variables using the var restricted
type name introduced in Java 10 Take advantage of application class
data sharing among JVMs for faster application startup Create HTTP
requests, responses, and web sockets with the new HTTP Client APIs
Run a single-file Java source code program using the java command
without compiling it Apply the new switch statement and expressions
to write compact and less error-prone code Work with text blocks in
Java code About new APIs, deprecated APIs, and deprecated tools Who
This Book Is For Java developers who want to update their Java
skills from Java 9 to Java 13.
Learn how you can build the next big programming language,
compiler, or source code analyzer using LLVM and Clang Key Features
Explore Clang, LLVM's middle-end and backend, in a pragmatic way
Develop your LLVM skillset and get to grips with a variety of
common use cases Engage with real-world LLVM development through
various coding examples Book DescriptionEvery programmer or
engineer, at some point in their career, works with compilers to
optimize their applications. Compilers convert a high-level
programming language into low-level machine-executable code. LLVM
provides the infrastructure, reusable libraries, and tools needed
for developers to build their own compilers. With LLVM's extensive
set of tooling, you can effectively generate code for different
backends as well as optimize them. In this book, you'll explore the
LLVM compiler infrastructure and understand how to use it to solve
different problems. You'll start by looking at the structure and
design philosophy of important components of LLVM and gradually
move on to using Clang libraries to build tools that help you
analyze high-level source code. As you advance, the book will show
you how to process LLVM IR - a powerful way to transform and
optimize the source program for various purposes. Equipped with
this knowledge, you'll be able to leverage LLVM and Clang to create
a wide range of useful programming language tools, including
compilers, interpreters, IDEs, and source code analyzers. By the
end of this LLVM book, you'll have developed the skills to create
powerful tools using the LLVM framework to overcome different
real-world challenges. What you will learn Find out how LLVM's
build system works and how to reduce the building resource Get to
grips with running custom testing with LLVM's LIT framework Build
different types of plugins and extensions for Clang Customize
Clang's toolchain and compiler flags Write LLVM passes for the new
PassManager Discover how to inspect and modify LLVM IR Understand
how to use LLVM's profile-guided optimizations (PGO) framework
Create custom compiler sanitizers Who this book is forThis book is
for software engineers of all experience levels who work with LLVM.
If you are an academic researcher, this book will help you learn
useful LLVM skills in a short time and enable you to build your
prototypes and projects quickly. Programming language enthusiasts
will also find this book useful for building a new programming
language with the help of LLVM.
|
|