...
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 and MXMLFalcon's code generator using , 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 which finds patterns (BURM). The BURM uses patterns and rules to find subtrees within in an abstract syntax tree and that it can "reducesreduce" them to ABC instructions. The insto 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.
The typical data flow for an AS file is
...