Smacc: A Compiler-Compiler
✒️ By John Brant, Jason Lecerf, Thierry Goubier, Stéphane Ducasse
Smacc: A Compiler-Compiler is your hands-on guide to SmaCC, the powerful Smalltalk compiler-compiler. This booklet explains scanning, parsing, grammar rules, and language transformation in a clear and approachable way. It’s perfect for developers, language enthusiasts, or anyone curious about how compilers work in the Pharo ecosystem.
Book Description
Are you fascinated by programming languages and how they’re built? Smacc: A Compiler-Compiler is your entry ticket to the world of compiler design using Smalltalk and Pharo. This concise booklet demystifies the process of turning code into meaning. With just 48 pages, it packs plenty of punch for developers eager to learn how modern compilers are made.
The authorsJohn Brant, Jason Lecerf, Thierry Goubier, and Stéphane Ducasseare well-known in the Pharo community. Their expertise shines through as they break down complex topics into bite-sized lessons. Whether you’re a seasoned developer or just dipping your toes into language tooling, you’ll find this booklet accessible and surprisingly fun.
The book starts with the basics: what is SmaCC? How do you install it? You’ll get a guided tour of scanning (lexing), parsing, and building syntax trees. The content is practical and example-driven, so you can follow along in your own Pharo playground. There’s even a section on handling tricky grammar features like ambiguity and precedence.
If you’re looking to compare approaches or broaden your toolkit further, you might also want to check out the Beta Compiler Reference Manual, which covers another compiler system.
What You Will Learn
- How to install SmaCC in Pharo with simple code snippets
- The difference between scanning (lexing) and parsing
- Writing scanner rules using regular expressions
- Designing parser rules for custom languages
- Building and testing parsers interactively
- Handling advanced grammar features: ambiguity, precedence, and directives
- Creating abstract syntax trees (ASTs) for analysis and transformation
- Implementing language transformations with pattern matching
- Practical idioms for real-world grammar design
- Extending SmaCC for new language features
This booklet is ideal for:
- Pharo developers wanting to add scripting or DSLs to their apps
- Students learning about compilers or interpreters
- Enthusiasts exploring language design as a hobby
- Anyone who loves seeing how code becomes magic!
The writing style is approachableno dry academic jargon here! You’ll find step-by-step tutorials, practical examples, and handy reference sections. The authors even discuss differences between SmaCC versions (like the Moose integration) and point out useful resources for further exploration.
If you’re ready to get hands-on with compiler technology in Smalltalk or want to see how modern tools like SmaCC can power up your projects, this booklet is a must-read. And if you’re curious about other compiler-compilers or want more technical depth, don’t miss our overview of the Beta Compiler Reference Manual PDF.

Leave a Reply
You must be logged in to post a comment.