Overview
Explore the process of building a programming language from scratch in this 56-minute conference talk by Ted Neward at Devoxx. Dive into key decisions like compiled vs. interpreted and static vs. dynamic typing. Learn about defining grammars, constructing parsers, building abstract syntax trees (ASTs), and generating code. Discover tools that simplify language development and gain insights into creating domain-specific languages for specific tasks. Cover topics including lexing, parsing, intermediate representations, optimizations, and execution environments. Examine practical examples using tools like Antlr and explore concepts such as state machines, business rules, user interfaces, and security in language design.
Syllabus
Intro
Expectations
Optimization
State Machines
Business Rules
User Interface
User Interface Template
Security
Gradle
Tools
Four Parts
Lexing and Parsing
AST
Direct Executable
Lexing
Grammar
The Grammar
The Parser Generator
Alternative Formats
XML Schema
Parser
Intermediate Representation
Optimizations
Environments
Dynamic Types
Example
Antler
Statement
eval
multiplication division
pipeline
Taught by
Devoxx