...
Falcon uses third-party grammars like JFlex, ANTLR, and JBurg to generate various lexers, parsers, and code generators. The lexers for AS and MXML are written in JFlex .lex
files. The lexer for CSS, and the parsers for AS, MXML, and CSS, are written in ANTLR .g
files. The code generator is written in JBurg .jbg
files. JBurg is a Java implementation of a Bottom-Up Rewrite Generator (BURG) which generates Java code for a Bottom-Up-Rewrite Machine (BURM). The BURM uses patterns and rules to find subtrees within in an abstract syntax tree that it can "reduce" to an intermediate form, typically a sequence of bytecode instructions. The process continues until the entire tree is reduced to ABC, which goes into a DoABC
tag of a SWF file.
...