ExtendJ: An Extensible Java Compiler
summary
ExtendJ is an extensible Java compiler built with Attribute Grammars and generated by JastAdd; it evaluates attributes on the AST so execution order is automatic and small computations compose into extensions. The repo adds Java 7 then Java 8 as extensions, students produce working extensions in about three weeks, demos include a string-equality static check, an attempted spread-operator parser, and a working multiplicities extension that compiles and runs. Extensions generate Java code and integrate into the compiler without pass-order juggling.
AI-written summary · about
chapters (7)
- 0:00Start
- 0:18What is ExtendJ?
- 0:55Goals
- 1:44String Equality Check
- 3:45Spread Operator
- 4:39Multiplicities Extension
- 6:27Extend Internals
related talks
15mPrinciples and Patterns of JastAdd-Style Reference Attribute Grammars
38mGraal
42mEnhancing Productivity and Insight: A Tour of JDK Tools Progress Beyond Java 17
52mJava 22 and Beyond: A Roadmap of Innovations
54mJava's Hidden Gems
01h 04mJabel — how I gutted the Java compiler
35mJava Source to Byte Code Transformation - The Hidden Story!
45mMaking Java more dynamic
