LEARN TO DESIGN YOUR OWN PROGRAMMING LANGUAGE IN A HANDS-ON WAY BY
BUILDING COMPILERS, USING PREPROCESSORS, TRANSPILERS, AND MORE, IN
THIS FULLY-REFRESHED SECOND EDITION, WRITTEN BY THE CREATOR OF THE
UNICON PROGRAMMING LANGUAGE. PURCHASE OF THE PRINT OR KINDLE BOOK
INCLUDES A FREE PDF EBOOK
KEY FEATURES
* Takes a hands-on approach; learn by building the Jzero language, a
subset of Java, with example code shown in both the Java and Unicon
languages
* Learn how to create parsers, code generators, scanners, and
interpreters
* Target bytecode, native code, and preprocess or transpile code into
a high-level language
BOOK DESCRIPTION
There are many reasons to build a programming language: out of
necessity, as a learning exercise, or just for fun. Whatever your
reasons, this book gives you the tools to succeed. You’ll build the
frontend of a compiler for your language and generate a lexical
analyzer and parser using Lex and YACC tools. Then you’ll explore a
series of syntax tree traversals before looking at code generation for
a bytecode virtual machine or native code. In this edition, a new
chapter has been added to assist you in comprehending the nuances and
distinctions between preprocessors and transpilers. Code examples have
been modernized, expanded, and rigorously tested, and all content has
undergone thorough refreshing. You’ll learn to implement code
generation techniques using practical examples, including the Unicon
Preprocessor and transpiling Jzero code to Unicon. You'll move to
domain-specific language features and learn to create them as built-in
operators and functions. You’ll also cover garbage collection. Dr.
Jeffery’s experiences building the Unicon language are used to add
context to the concepts, and relevant examples are provided in both
Unicon and Java so that you can follow along in your language of
choice. By the end of this book, you'll be able to build and deploy
your own domain-specific language.
WHAT YOU WILL LEARN
* Analyze requirements for your language and design syntax and
semantics.
* Write grammar rules for common expressions and control structures.
* Build a scanner to read source code and generate a parser to check
syntax.
* Implement syntax-coloring for your code in IDEs like VS Code.
* Write tree traversals and insert information into the syntax tree.
* Implement a bytecode interpreter and run bytecode from your
compiler.
* Write native code and run it after assembling and linking using
system tools.
* Preprocess and transpile code into another high-level language
WHO THIS BOOK IS FOR
This book is for software developers interested in the idea of
inventing their own language or developing a domain-specific language.
Computer science students taking compiler design or construction
courses will also find this book highly useful as a practical guide to
language implementation to supplement more theoretical textbooks.
Intermediate or better proficiency in Java or C++ programming
languages (or another high-level programming language) is assumed.
Les mer
Produktdetaljer
ISBN
9781804617151
Publisert
2024
Utgave
2. utgave
Utgiver
Packt Publishing
Språk
Product language
Engelsk
Format
Product format
Digital bok
Forfatter