antlr
public class HTMLCodeGenerator extends CodeGenerator
Field Summary | |
---|---|
protected boolean | doingLexRules true during lexer generation, false during parser generation |
protected boolean | firstElementInAlt |
protected AlternativeElement | prevAltElem |
protected int | syntacticPredLevel non-zero if inside syntactic predicate generation |
Constructor Summary | |
---|---|
HTMLCodeGenerator() Create a Diagnostic code-generator using the given Grammar
The caller must still call setTool, setBehavior, and setAnalyzer
before generating code. |
Method Summary | |
---|---|
void | gen() |
void | gen(ActionElement action) Generate code for the given grammar element. |
void | gen(AlternativeBlock blk) Generate code for the given grammar element. |
void | gen(BlockEndElement end) Generate code for the given grammar element. |
void | gen(CharLiteralElement atom) Generate code for the given grammar element. |
void | gen(CharRangeElement r) Generate code for the given grammar element. |
void | gen(LexerGrammar g) Generate the lexer HTML file |
void | gen(OneOrMoreBlock blk) Generate code for the given grammar element. |
void | gen(ParserGrammar g) Generate the parser HTML file |
void | gen(RuleRefElement rr) Generate code for the given grammar element. |
void | gen(StringLiteralElement atom) Generate code for the given grammar element. |
void | gen(TokenRangeElement r) Generate code for the given grammar element. |
void | gen(TokenRefElement atom) Generate code for the given grammar element. |
void | gen(TreeElement t) |
void | gen(TreeWalkerGrammar g) Generate the tree-walker TXT file |
void | gen(WildcardElement wc) Generate a wildcard element |
void | gen(ZeroOrMoreBlock blk) Generate code for the given grammar element. |
protected void | genAlt(Alternative alt) |
void | genCommonBlock(AlternativeBlock blk) Generate common code for a block of alternatives; return a postscript
that needs to be generated at the end of the block. |
void | genFollowSetForRuleBlock(RuleBlock blk) Generate a textual representation of the follow set
for a block. |
protected void | genGenericBlock(AlternativeBlock blk, String blkOp) |
protected void | genHeader() Generate a header that is common to all TXT files |
protected void | genLookaheadSetForAlt(Alternative alt) Generate the lookahead set for an alternate. |
void | genLookaheadSetForBlock(AlternativeBlock blk) Generate a textual representation of the lookahead set
for a block. |
void | genNextToken() Generate the nextToken rule.
nextToken is a synthetic lexer rule that is the implicit OR of all
user-defined lexer rules. |
void | genRule(RuleSymbol s) Generate code for a named rule block |
protected void | genSynPred(SynPredBlock blk) Generate the syntactic predicate. |
void | genTail() |
protected void | genTokenTypes(TokenManager tm) Generate the token types TXT file |
String | getASTCreateString(Vector v) Get a string for an expression to generate creation of an AST subtree. |
String | getASTCreateString(GrammarAtom atom, String str) Get a string for an expression to generate creating of an AST node |
static String | HTMLEncode(String s) Encode a string for printing in a HTML document..
e.g. encode '<' '>' and similar stuff |
String | mapTreeId(String id, ActionTransInfo tInfo) Map an identifier to it's corresponding tree-node variable.
|
void | printSet(int depth, int k, Lookahead lookahead) Format a lookahead or follow set. |
protected String | processActionForSpecialSymbols(String actionStr, int line, RuleBlock currentRule, ActionTransInfo tInfo) |
Parameters: blk The {...} action to generate
Parameters: blk The "x|y|z|..." block to generate
Parameters: blk The block-end element to generate. Block-end elements are synthesized by the grammar parser to represent the end of a block.
Parameters: blk The character literal reference to generate
Parameters: blk The character-range reference to generate
Parameters: blk The (...)+ block to generate
Parameters: blk The rule-reference to generate
Parameters: blk The string-literal reference to generate
Parameters: blk The token-range reference to generate
Parameters: blk The token-reference to generate
Parameters: blk The (...)* block to generate
Parameters: blk The rule block of interest
Parameters: blk The block of interest
Parameters: s The RuleSymbol describing the rule to generate
Parameters: blk The syntactic predicate block
Parameters: v A Vector of String, where each element is an expression in the target language yielding an AST node.
Parameters: str The arguments to the AST constructor
Parameters: s the string to encode
Parameters: id The identifier name to map forInput true if the input tree node variable is to be returned, otherwise the output variable is returned.
Parameters: depth The depth of the entire lookahead/follow k The lookahead level to print lookahead The lookahead/follow set to print