| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
  |
  +--antlr.CodeGenerator
        |
        +--antlr.HTMLCodeGenerator
Generate P.html, a cross-linked representation of P with or without actions
| Field Summary | |
protected  boolean | 
doingLexRules
true during lexer generation, false during parser generation  | 
protected  boolean | 
firstElementInAlt
 | 
protected  antlr.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()
Generate the code for all grammars  | 
 void | 
gen(antlr.ActionElement action)
Generate code for the given grammar element.  | 
 void | 
gen(antlr.AlternativeBlock blk)
Generate code for the given grammar element.  | 
 void | 
gen(antlr.BlockEndElement end)
Generate code for the given grammar element.  | 
 void | 
gen(antlr.CharLiteralElement atom)
Generate code for the given grammar element.  | 
 void | 
gen(antlr.CharRangeElement r)
Generate code for the given grammar element.  | 
 void | 
gen(antlr.LexerGrammar g)
Generate the lexer HTML file  | 
 void | 
gen(antlr.OneOrMoreBlock blk)
Generate code for the given grammar element.  | 
 void | 
gen(antlr.ParserGrammar g)
Generate the parser HTML file  | 
 void | 
gen(antlr.RuleRefElement rr)
Generate code for the given grammar element.  | 
 void | 
gen(antlr.StringLiteralElement atom)
Generate code for the given grammar element.  | 
 void | 
gen(antlr.TokenRangeElement r)
Generate code for the given grammar element.  | 
 void | 
gen(antlr.TokenRefElement atom)
Generate code for the given grammar element.  | 
 void | 
gen(antlr.TreeElement t)
Generate code for the given grammar element.  | 
 void | 
gen(antlr.TreeWalkerGrammar g)
Generate the tree-walker TXT file  | 
 void | 
gen(antlr.WildcardElement wc)
Generate a wildcard element  | 
 void | 
gen(antlr.ZeroOrMoreBlock blk)
Generate code for the given grammar element.  | 
protected  void | 
genAlt(antlr.Alternative alt)
 | 
 void | 
genCommonBlock(antlr.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(antlr.AlternativeBlock blk,
                String blkOp)
 | 
protected  void | 
genHeader()
Generate a header that is common to all TXT files  | 
protected  void | 
genLookaheadSetForAlt(antlr.Alternative alt)
Generate the lookahead set for an alternate.  | 
 void | 
genLookaheadSetForBlock(antlr.AlternativeBlock blk)
Generate a textual representation of the lookahead set for a block.  | 
 void | 
genNextToken()
Generate the nextToken rule.  | 
 void | 
genRule(antlr.RuleSymbol s)
Generate code for a named rule block  | 
protected  void | 
genSynPred(antlr.SynPredBlock blk)
Generate the syntactic predicate.  | 
 void | 
genTail()
 | 
protected  void | 
genTokenTypes(antlr.TokenManager tm)
Generate the token types TXT file  | 
 String | 
getASTCreateString(antlr.GrammarAtom atom,
                   String str)
Get a string for an expression to generate creating of an AST node  | 
 String | 
getASTCreateString(Vector v)
Get a string for an expression to generate creation of an AST subtree.  | 
 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)
Lexically process $ and # references within the action.  | 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
protected int syntacticPredLevel
protected boolean doingLexRules
protected boolean firstElementInAlt
protected antlr.AlternativeElement prevAltElem
| Constructor Detail | 
public HTMLCodeGenerator()
| Method Detail | 
public void gen()
CodeGenerator
gen in class CodeGeneratorpublic void gen(antlr.ActionElement action)
gen in class CodeGeneratoraction - The {...} action to generatepublic void gen(antlr.AlternativeBlock blk)
gen in class CodeGeneratorblk - The "x|y|z|..." block to generatepublic void gen(antlr.BlockEndElement end)
gen in class CodeGeneratorend - The block-end element to generate.  Block-end
 elements are synthesized by the grammar parser to represent
 the end of a block.public void gen(antlr.CharLiteralElement atom)
gen in class CodeGeneratoratom - The character literal reference to generatepublic void gen(antlr.CharRangeElement r)
gen in class CodeGeneratorr - The character-range reference to generate
public void gen(antlr.LexerGrammar g)
         throws IOException
gen in class CodeGeneratorIOExceptionpublic void gen(antlr.OneOrMoreBlock blk)
gen in class CodeGeneratorblk - The (...)+ block to generate
public void gen(antlr.ParserGrammar g)
         throws IOException
gen in class CodeGeneratorIOExceptionpublic void gen(antlr.RuleRefElement rr)
gen in class CodeGeneratorrr - The rule-reference to generatepublic void gen(antlr.StringLiteralElement atom)
gen in class CodeGeneratoratom - The string-literal reference to generatepublic void gen(antlr.TokenRangeElement r)
gen in class CodeGeneratorr - The token-range reference to generatepublic void gen(antlr.TokenRefElement atom)
gen in class CodeGeneratoratom - The token-reference to generatepublic void gen(antlr.TreeElement t)
CodeGenerator
gen in class CodeGenerator
public void gen(antlr.TreeWalkerGrammar g)
         throws IOException
gen in class CodeGeneratorIOExceptionpublic void gen(antlr.WildcardElement wc)
gen in class CodeGeneratorwc - The wildcard element to generatepublic void gen(antlr.ZeroOrMoreBlock blk)
gen in class CodeGeneratorblk - The (...)* block to generateprotected void genAlt(antlr.Alternative alt)
public void genCommonBlock(antlr.AlternativeBlock blk)
public void genFollowSetForRuleBlock(RuleBlock blk)
blk - The rule block of interest
protected void genGenericBlock(antlr.AlternativeBlock blk,
                               String blkOp)
protected void genHeader()
protected void genLookaheadSetForAlt(antlr.Alternative alt)
public void genLookaheadSetForBlock(antlr.AlternativeBlock blk)
blk - The block of interestpublic void genNextToken()
public void genRule(antlr.RuleSymbol s)
s - The RuleSymbol describing the rule to generateprotected void genSynPred(antlr.SynPredBlock blk)
blk - The syntactic predicate blockpublic void genTail()
protected void genTokenTypes(antlr.TokenManager tm)
                      throws IOException
IOExceptionpublic String getASTCreateString(Vector v)
getASTCreateString in class CodeGeneratorv - A Vector of String, where each element is an expression in the target language yielding an AST node.
public String getASTCreateString(antlr.GrammarAtom atom,
                                 String str)
getASTCreateString in class CodeGeneratorstr - The arguments to the AST constructor
public String mapTreeId(String id,
                        ActionTransInfo tInfo)
mapTreeId in class CodeGeneratorid - The identifier name to map
protected String processActionForSpecialSymbols(String actionStr,
                                                int line,
                                                RuleBlock currentRule,
                                                ActionTransInfo tInfo)
CodeGenerator
processActionForSpecialSymbols in class CodeGenerator
public void printSet(int depth,
                     int k,
                     Lookahead lookahead)
depth - The depth of the entire lookahead/followk - The lookahead level to printlookahead - The lookahead/follow set to print
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||