24
Your Cart
Frequently bought together:
Original price was: $39.99.Current price is: $19.99.
Original price was: $89.99.Current price is: $19.99.
Original price was: $39.99.Current price is: $19.99.
Original price was: $59.99.Current price is: $19.99.
Original price was: $120.99.Current price is: $29.99.
Original price was: $59.99.Current price is: $23.00.
Total: $212.88

Written by the creator of the Unicon programming language, this book will show you how to implement programming languages to reduce the time and cost of creating applications for new or specialized areas of computing

Key Features

  • Reduce development time and solve pain points in your application domain by building a custom programming language
  • Learn how to create parsers, code generators, file readers, analyzers, and interpreters
  • Create an alternative to frameworks and libraries to solve domain-specific problems

Book Description

The need for different types of computer languages is growing rapidly and developers prefer creating domain-specific languages for solving specific application domain problems. Building your own programming language has its advantages. It can be your antidote to the ever-increasing size and complexity of software.

In this book, you’ll start with implementing the frontend of a compiler for your language, including a lexical analyzer and parser. The book covers a series of traversals of syntax trees, culminating with code generation for a bytecode virtual machine. Moving ahead, you’ll learn how domain-specific language features are often best represented by operators and functions that are built into the language, rather than library functions. We’ll conclude with how to implement garbage collection, including reference counting and mark-and-sweep garbage collection. Throughout the book, Dr. Jeffery weaves in his experience of building the Unicon programming language to give better context to the concepts where relevant examples are provided in both Unicon and Java so that you can follow the code of your choice of either a very high-level language with advanced features, or a mainstream language.

By the end of this book, you’ll be able to build and deploy your own domain-specific languages, capable of compiling and running programs.

What you will learn

  • Perform requirements analysis for the new language and design language syntax and semantics
  • Write lexical and context-free grammar rules for common expressions and control structures
  • Develop a scanner that reads source code and generate a parser that checks syntax
  • Build key data structures in a compiler and use your compiler to build a syntax-coloring code editor
  • Implement a bytecode interpreter and run bytecode generated by your compiler
  • Write tree traversals that insert information into the syntax tree
  • Implement garbage collection in your 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 construction courses will also find this book highly useful as a practical guide to language implementation to supplement more theoretical textbooks. Intermediate-level knowledge and experience working with a high-level language such as Java or the C++ language are expected to help you get the most out of this book.

Table of Contents

  1. Why Build Another Programming Language
  2. Programming Language Design
  3. Scanning Source Code
  4. Parsing
  5. Syntax Trees
  6. Symbol Tables
  7. Checking Base Types
  8. Checking Types on Arrays, Method Calls, and Structure Accesses
  9. Intermediate Code Generation
  10. Syntax Cloning in an IDE
  11. Bytecode Interpreters
  12. Generating Bytecode
  13. Native Code Generation
  14. Implementing Operators and Built-In Functions
  15. Domain Control Structures
  16. Garbage Collection
  17. Final Thoughts
  18. Appendix A – Unicon Essentials

8 reviews for Build Your Own Programming Language: A programmer’s guide to designing compilers, interpreters, and DSLs for solving modern computing problems

  1. Sudarshan Gaikaiwari
    March 13, 2024
    Two semesters worth of compiler implementation
    Knowing how compilers work is critical for all software engineers. This book has all the information that you would learn at a research university. It...More
    Knowing how compilers work is critical for all software engineers. This book has all the information that you would learn at a research university. It also includes an implementation of a complete compiler. This allows the reader to have access to an implementation to modify the code and experiment. Highly recommended for anyone interested in learning more about compilers
    Helpful? 0 0
    saba shabir
    September 29, 2022
    Very Good
    Helped me get a A in my exams
    Helpful? 0 0
    Kenneth R. Walker
    March 21, 2022
    Excellent resource
    The book explains compiler writing in an elegant manner. Code examples accommodate the content exceptionally. Excellent place to start learning how ...More
    The book explains compiler writing in an elegant manner. Code examples accommodate the content exceptionally. Excellent place to start learning how to write a programming language.
    Helpful? 0 0
    Phillip
    February 11, 2022
    More than a compiler book!
    Build Your Own Programming Language: beyond its detailed and thoughtful discussion of how to build compilers, this book demonstrates and evaluates the...More
    Build Your Own Programming Language: beyond its detailed and thoughtful discussion of how to build compilers, this book demonstrates and evaluates the tools needed to construct a computer language. Simultaneously evaluating Unicon and Java -- both their advantages and sometimes awkwardnesses -- the book gives guidance on strategies and skills necessary to handle common problems encountered in advanced programming tasks.
    Helpful? 0 0
    Greg Jeffery
    February 6, 2022
    Excellent textbook for a Compilers course.
    I’m still reading through the book but I believe this would be a very good compliment textbook for a Compilers class.
    Helpful? 0 0
    David Gamey
    January 6, 2022
    Practical how-to advice on building programming languages with code examples, tools, and videos
    Build Your Own Programming Language presents practical hands-on advice, sample code respositories, and videos taking you step by step through the proc...More
    Build Your Own Programming Language presents practical hands-on advice, sample code respositories, and videos taking you step by step through the process. It covers everything from motivation, design, scanning, parasing, tools, IDEs, bytecode and native code generation, memory allocation and management, and runtime support. It shows you how by implementing a Java subset, called Jzero, using both Java and Unicon. Great book for those looking to build or just understand.
    Helpful? 0 0
    David Gamey
    December 31, 2021
    Practical how-to advice on building programming languages with code examples, tools, and videos
    Build Your Own Programming Language presents practical hands-on advice, sample code respositories, and videos taking you step by step through the proc...More
    Build Your Own Programming Language presents practical hands-on advice, sample code respositories, and videos taking you step by step through the process. It covers everything from motivation, design, scanning, parasing, tools, IDEs, bytecode and native code generation, memory allocation and management, and runtime support. It shows you how by implementing a Java subset, called Jzero, using both Java and Unicon. Great book for those looking to build or just understand.
    Helpful? 0 0
    Tiny
    December 31, 2021
    Valuable skills for detailed outcomes
    Have you ever been working on a project and realize your programming language doesn’t reach desired goals? Have you ever thought your particular GitH...More
    Have you ever been working on a project and realize your programming language doesn’t reach desired goals? Have you ever thought your particular GitHub project requires a different approach? In this case, Jeffery delivers exactly the right book for you in exhausting detail. After deciding he was unhappy that one of his favorite languages was no longer support, he explores how to build your own language, from basic architecture and requirements, through parsing, bytecode, and interaction with hardware to maximize what you want from your programming language.

    The first section builds the architecture, constructs the syntax tree, establishes commands, and explores the basic parameters from UFlex, JFlex and JZero. Also included is an excellent section on working with regex to set up key rules. The second section then moves into how to make commands work through your syntax tree, constructing the traversal, building cases and methods, and making use of unique libraries to improve actions. As a bonus, Jeffrey includes an excellent section on building, coloring and parsing your own IDE.

    Finally, the book explores bytecode interpreters, taking your language down to machine code to make sure the interpretation is correct. This expands in building operators within Unicon, the language Jeffrey chooses to improve and builds domain control structures to scan and render graphics for your applications. Not neglected is the ability to remove the garbage, find those areas no longer needed, cleaning data and focus on maximizing the memory storage you need for operations. The book also includes an excellent appendix on Unicon.

    A great book, detailed and extensive. If your language is falling behind, or your favorite tools are no longer supported, this will get you where you need to be. I make sure to chunk a good number of hours once you start, as none of these options are simple. Though starting with the basics, expect to spend a good deal of time working with your architecture and syntax to make it run correctly. Maybe, if you spend the right amount of time, your language can be the next Go, Ruby or another format the next generation of programmers needs to succeed.
    Helpful? 0 0
Add a review

Your email address will not be published. Required fields are marked *

X

New item(s) have been added to your cart.

Quantity: 1
Total $49.95

Frequently bought with Cyber Security: From Beginner to Expert


Learn Python Programming: An in-depth introduction to the fundamentals of Python Original price was: $39.99.Current price is: $19.99.
The Complete Node.js Developer Course (3rd Edition) Original price was: $199.99.Current price is: $149.99.
Dynamic Programming Algorithms Master Course Original price was: $249.99.Current price is: $59.97.
ChatGPT Complete Guide: Learn Midjourney, Gemini, Chat GPT 4 Original price was: $199.99.Current price is: $94.99.
Application Security Fundamentals for the Absolute Beginners Original price was: $149.99.Current price is: $79.99.
Hi Guys, Welcome to my UPDATED ChatGPT Course: Generative AI, Prompt Engineering, Google Gemini, Adobe Firefly. In my course you will learn everything about different AI Tools. I have created video lessons on every feature of these AI tools. You will get to see the real practical implementation of how to use every feature of this tools. This is the most detailed course on AI Tools you will ever find on the internet. I have created different sections based on different AI tools and in each section, I have gone in-depth into explaining the concept of each tool and how to practically implement it. This course will give you a 100% understanding of AI Tools and after going through this course you will be capable of applying these concepts in building your own online business or for your clients. At such a low price, you're going to get 109 detailed video lessons. A complete access to our student discussion forum, and the ability to ask me any questions you may have as you progress through the course. On top of all that, you get lifetime access and a 30 day, 100% money back guarantee! Topics you will learn in this course: - Welcome To ChatGPT Masters - You're Going to Learn How to Use AI! - ChatGPT Sneak Peek - See the Power of AI for Text Generation - Midjourney Sneak Peek - See the Power of AI for Art Generation - 15 Minute ChatGPT Crash Course with ChatGPT 40 Update & Features - Prompt Engineering 101 - How to Get Better Responses from ChatGPT - UPDATE: Share ChatGPT Conversations with a Link - Google Gemini Crash Course & Comparison to ChatGPT - Better Than Google Research with ChatGPT - Find Keywords & Content Ideas with ChatGPT - Create Article, Video, Podcast Outlines with ChatGPT - Write an Entire Article with ChatGPT - Generate Catchy Titles & Headlines with ChatGPT - Come Up with Great Social Media Post Ideas with ChatGPT - Write Social Media Post Copy with ChatGPT (Instagram, Facebook, etc.) - Create Engaging Polls & Quizes with ChatGPT - Create Fun Facts, Inspirational Quotes and Jokes on any Topic with ChatGPT - Welcome to ChatGPT Marketing - Target Audience: How a well-defined target audience can help you sell more - Target Audience: ChatGPT for audience research and analysis - Content Calendar ChatGPT: How to create a complete Content Calendar - SEO ChatGPT: Optimized Keywords and Blog Titles - SEO ChatGPT: Writing an optimized Blog Post in seconds - Email Marketing ChatGPT: Overview of email marketing - Email Marketing ChatGPT: Developing optimized email sequences - Online Advertising ChatGPT: Facebook Ads - Online Advertising ChatGPT: Google Ads - Sales Pages ChatGPT: Developing sales page copy - Steps to create a powerful marketing funnel with ChatGPT - Identifying your buyer persona with ChatGPT - Creating a lead magnet with ChatGPT - Creating copy for the landing page and social media with ChatGPT - Writing a complete email sequence for your funnel with ChatGPT - Generating Trending YouTube Video Ideas with ChatGPT - Write a Video Script with ChatGPT - Generate YouTube Video Tags with ChatGPT - Write a YouTube Video Descriptions with ChatGPT - Improve Your Closed Captions on YouTube with ChatGPT - Introduction to Office productivity with ChatGPT - Research and Problem solving with ChatGPT - Meeting Notes, Key Points, Decisions, Action Points - Replying to emails with ChatGPT - Optimize my resume with ChatGPT - Generating Product and Business names with ChatGPT - Taglines and slogans for your brand with ChatGPT - Product descriptions for your online store with ChatGPT - Generating FAQ with ChatGPT - Research Podcast Ideas & Come Up with a Catchy Podcast Name with ChatGPT - Outline & Script Podcast Episodes with ChatGPT - Brainstorm Interview Questions & Find Potential Podcast Guests - Introduction to using ChatGPT in your website - Website copy for the homepage, about us page and contact us page - Landing page headlines and copy - Meta descriptions with ChatGPT - Come Up With Your Next Best Course Idea with ChatGPT - Write a Course Online with ChatGPT - Write the Course Landing Page/Description and Promotional Emails with ChatGPT - Adding AI Tools like ChatGPT to Your Writing Workflow - What to Look Out for in the Future of AI - Training ChatGPT with Specific Industry Knowledge - Case Study: Writing a Book from Your Video Script - Strategies for Efficient Editing & Decreasing Errors - Welcome to the Google Gemini Lessons - Key Differences Between Google Gemini & ChatGPT - Gemini Update: Export to Google Docs Feature & Dark Theme - How to Research with Google Gemini - Do A Digital Marketing Research with Google Gemini - Create Outlines for Articles, Videos & Podcasts with Google Gemini - Write an Entire Article with Google Gemini - Generate Catchy Keyword- Rich Article Titles with Google Gemini - Make Existing Article Titles More SEO-Friendly with Google Gemini - Come Up with Social Media Post Ideas with Google Gemini - Write Instagram, Facebook & Twitter Posts with Google Gemini - Create Social Media Polls with Google Gemini - Generate Fun Facts, Quotes & Jokes with Google Gemini - Turn YouTube Videos into Articles and Create Podcast Show notes with Google Gemini - Write an Email Interview Request with Google Gemini - Come Up with Interview Questions with Google Gemini - Outline an Online Course and Course Lessons with Google Gemini - Write Course Landing Pages, Title and Learning Outcomes - Write Supplemental Learning Materials like PDF Guides with Google Gemini - Write Promotional Emails with Google Gemini - Answer Student Questions with Google Gemini - Introduction to Digital Marketing with Google Gemini - Write copy like a Pro with Google Gemini and Copywriting Frameworks - Online Advertising Google Gemini: Facebook Ads - Online Advertising Google Gemini: Google Ads - Replying to emails with Google Gemini - Meeting Notes, Key Points, Decisions, Action Points - Optimize my resume with Google Gemini - Generating Product and Business names with Google Gemini - Taglines and slogans for your brand with Google Gemini - Product descriptions for your online store with Google Gemini - Generating FAQ with Google Gemini - How to Write an Ethical Essay with Google Gemini - Creating your Midjourney account - Tip: Chat privately with Midjourney in Discord - Creating product images with Midjourney - Creating product photographs with Midjourney - Creating website ideas with Midjourney - Creating a logo for my business with Midjourney - Outline your Book with ChatGPT - Basic Formatting in Google Docs - Signing Up for Amazon Kindle Direct Publishing - 3 AI Voice Over Generators - Clone Your Own Voice with Eleven Labs - Introduction to Adobe Firefly - Text to Image Generation - Generative Fill - Text Effects - Text to Template Thank you so much for checking out my course. I look forward to seeing you in the course. So wait no more! Click on the 'Buy now' button and join my course today!! Also check out my other courses!! Who this course is for: Anyone who wants to stay up-to-date with technological advancements and gain a competitive edge in their field. Marketers and content creators who want to streamline their workflow and improve their productivity using ChatGPT. Business owners who want to improve their marketing, content creation, and customer engagement using ChatGPT. Researchers who want to conduct effective research for academic or professional purposes using ChatGPT. Students who want to improve their academic writing skills and use ChatGPT to answer questions related to their coursework. Original price was: $149.99.Current price is: $94.99.
The Bible of Competitive Programming & Coding Interviews Original price was: $340.00.Current price is: $67.99.