Principles and Patterns of JastAdd-Style Reference Attribute Grammars
summary
Work documents how JastAdd compilers are actually written, identifies 3 principles (declarative thinking, AST-embedded data structures, structure-shy specifications) and extracts 12 patterns (including Lookup, Reified Structure, Shared compile-time instantiation, Plugin via interfaces), shows concrete implementations in ExtendJ and the Optimica toolkit, and evaluates adoption with focus groups of 14 participants across four industry/academic groups, reporting which patterns are common, which grow with experience, and where practical limitations appear.
AI-written summary · about
chapters (12)
- 0:00Intro
- 0:18Motivation
- 2:10Attribute Grammars
- 3:37(Some) Attribute Mechanisms in JastAdd
- 5:30Principles
- 6:22Patterns
- 7:00Lookup
- 8:36Reified Structure
- 9:25Shared Compile-Time Instantiation
- 10:56Plugin Component via Interfaces
- 12:37Some Observations from Focus Groups
- 13:32Conclusions
related talks
18mExtendJ: An Extensible Java Compiler
15mFast & Easy ASTs for Flexible Embedded Interpreters
46mThe Art of Java Type Patterns
44mBehind the Scenes of Java's Evolution: The Case of Pattern Matching
29mMy Little Parser: Tooling is Magic
10mpart4 – Ted Neward
29mThe Art of Java Language Pattern Matching
39mBytecode Pattern Matching
