| java.lang.Object persistence.antlr.CodeGenerator persistence.antlr.DiagnosticCodeGenerator
DiagnosticCodeGenerator | public class DiagnosticCodeGenerator extends CodeGenerator (Code) | | Generate MyParser.txt, MyLexer.txt and MyParserTokenTypes.txt
|
Constructor Summary | |
public | DiagnosticCodeGenerator() Create a Diagnostic code-generator using the given Grammar
The caller must still call setTool, setBehavior, and setAnalyzer
before generating code. |
doingLexRules | protected boolean doingLexRules(Code) | | true during lexer generation, false during parser generation
|
syntacticPredLevel | protected int syntacticPredLevel(Code) | | non-zero if inside syntactic predicate generation
|
DiagnosticCodeGenerator | public DiagnosticCodeGenerator()(Code) | | Create a Diagnostic code-generator using the given Grammar
The caller must still call setTool, setBehavior, and setAnalyzer
before generating code.
|
gen | public void gen()(Code) | | Generate the parser, lexer, and token types documentation
|
gen | public void gen(ActionElement action)(Code) | | Generate code for the given grammar element.
Parameters: blk - The {...} action to generate |
gen | public void gen(AlternativeBlock blk)(Code) | | Generate code for the given grammar element.
Parameters: blk - The "x|y|z|..." block to generate |
gen | public void gen(BlockEndElement end)(Code) | | Generate code for the given grammar element.
Parameters: blk - The block-end element to generate. Block-endelements are synthesized by the grammar parser to representthe end of a block. |
gen | public void gen(CharLiteralElement atom)(Code) | | Generate code for the given grammar element.
Parameters: blk - The character literal reference to generate |
gen | public void gen(CharRangeElement r)(Code) | | Generate code for the given grammar element.
Parameters: blk - The character-range reference to generate |
gen | public void gen(OneOrMoreBlock blk)(Code) | | Generate code for the given grammar element.
Parameters: blk - The (...)+ block to generate |
gen | public void gen(RuleRefElement rr)(Code) | | Generate code for the given grammar element.
Parameters: blk - The rule-reference to generate |
gen | public void gen(StringLiteralElement atom)(Code) | | Generate code for the given grammar element.
Parameters: blk - The string-literal reference to generate |
gen | public void gen(TokenRangeElement r)(Code) | | Generate code for the given grammar element.
Parameters: blk - The token-range reference to generate |
gen | public void gen(TokenRefElement atom)(Code) | | Generate code for the given grammar element.
Parameters: blk - The token-reference to generate |
gen | public void gen(ZeroOrMoreBlock blk)(Code) | | Generate code for the given grammar element.
Parameters: blk - The (...)* block to generate |
genBlockPreamble | protected void genBlockPreamble(AlternativeBlock blk)(Code) | | Generate the header for a block, which may be a RuleBlock or a
plain AlternativeBLock. This generates any variable declarations,
init-actions, and syntactic-predicate-testing variables.
|
genCommonBlock | public void genCommonBlock(AlternativeBlock blk)(Code) | | Generate common code for a block of alternatives; return a postscript
that needs to be generated at the end of the block. Other routines
may append else-clauses and such for error checking before the postfix
is generated.
|
genFollowSetForRuleBlock | public void genFollowSetForRuleBlock(RuleBlock blk)(Code) | | Generate a textual representation of the follow set
for a block.
Parameters: blk - The rule block of interest |
genHeader | protected void genHeader()(Code) | | Generate a header that is common to all TXT files
|
genLookaheadSetForAlt | protected void genLookaheadSetForAlt(Alternative alt)(Code) | | Generate the lookahead set for an alternate.
|
genLookaheadSetForBlock | public void genLookaheadSetForBlock(AlternativeBlock blk)(Code) | | Generate a textual representation of the lookahead set
for a block.
Parameters: blk - The block of interest |
genNextToken | public void genNextToken()(Code) | | Generate the nextToken rule.
nextToken is a synthetic lexer rule that is the implicit OR of all
user-defined lexer rules.
|
genRule | public void genRule(RuleSymbol s)(Code) | | Generate code for a named rule block
Parameters: s - The RuleSymbol describing the rule to generate |
genSynPred | protected void genSynPred(SynPredBlock blk)(Code) | | Generate the syntactic predicate. This basically generates
the alternative block, buts tracks if we are inside a synPred
Parameters: blk - The syntactic predicate block |
getASTCreateString | public String getASTCreateString(Vector v)(Code) | | Get a string for an expression to generate creation of an AST subtree.
Parameters: v - A Vector of String, where each element is an expression in the target language yielding an AST node. |
getASTCreateString | public String getASTCreateString(GrammarAtom atom, String str)(Code) | | Get a string for an expression to generate creating of an AST node
Parameters: str - The arguments to the AST constructor |
mapTreeId | public String mapTreeId(String id, ActionTransInfo tInfo)(Code) | | Map an identifier to it's corresponding tree-node variable.
This is context-sensitive, depending on the rule and alternative
being generated
Parameters: id - The identifier name to map Parameters: forInput - true if the input tree node variable is to be returned, otherwise the output variable is returned. |
printSet | public void printSet(int depth, int k, Lookahead lookahead)(Code) | | Format a lookahead or follow set.
Parameters: depth - The depth of the entire lookahead/follow Parameters: k - The lookahead level to print Parameters: lookahead - The lookahead/follow set to print |
Methods inherited from persistence.antlr.CodeGenerator | protected void _print(String s)(Code)(Java Doc) protected void _printAction(String s)(Code)(Java Doc) protected void _println(String s)(Code)(Java Doc) public static String decodeLexerRuleName(String id)(Code)(Java Doc) public static boolean elementsAreRange(int[] elems)(Code)(Java Doc) public static String encodeLexerRuleName(String id)(Code)(Java Doc) protected String extractIdOfAction(Token t)(Code)(Java Doc) protected String extractIdOfAction(String s, int line, int column)(Code)(Java Doc) protected String extractTypeOfAction(Token t)(Code)(Java Doc) protected String extractTypeOfAction(String s, int line, int column)(Code)(Java Doc) abstract public void gen()(Code)(Java Doc) abstract public void gen(ActionElement action)(Code)(Java Doc) abstract public void gen(AlternativeBlock blk)(Code)(Java Doc) abstract public void gen(BlockEndElement end)(Code)(Java Doc) abstract public void gen(CharLiteralElement atom)(Code)(Java Doc) abstract public void gen(CharRangeElement r)(Code)(Java Doc) abstract public void gen(LexerGrammar g) throws IOException(Code)(Java Doc) abstract public void gen(OneOrMoreBlock blk)(Code)(Java Doc) abstract public void gen(ParserGrammar g) throws IOException(Code)(Java Doc) abstract public void gen(RuleRefElement rr)(Code)(Java Doc) abstract public void gen(StringLiteralElement atom)(Code)(Java Doc) abstract public void gen(TokenRangeElement r)(Code)(Java Doc) abstract public void gen(TokenRefElement atom)(Code)(Java Doc) abstract public void gen(TreeElement t)(Code)(Java Doc) abstract public void gen(TreeWalkerGrammar g) throws IOException(Code)(Java Doc) abstract public void gen(WildcardElement wc)(Code)(Java Doc) abstract public void gen(ZeroOrMoreBlock blk)(Code)(Java Doc) protected void genTokenInterchange(TokenManager tm) throws IOException(Code)(Java Doc) abstract public String getASTCreateString(Vector v)(Code)(Java Doc) abstract public String getASTCreateString(GrammarAtom atom, String str)(Code)(Java Doc) protected String getBitsetName(int index)(Code)(Java Doc) public String getFIRSTBitSet(String ruleName, int k)(Code)(Java Doc) public String getFOLLOWBitSet(String ruleName, int k)(Code)(Java Doc) abstract public String mapTreeId(String id, ActionTransInfo tInfo)(Code)(Java Doc) protected int markBitsetForGen(BitSet p)(Code)(Java Doc) protected void print(String s)(Code)(Java Doc) protected void printAction(String s)(Code)(Java Doc) protected void printTabs()(Code)(Java Doc) protected void println(String s)(Code)(Java Doc) abstract protected String processActionForSpecialSymbols(String actionStr, int line, RuleBlock currentRule, ActionTransInfo tInfo)(Code)(Java Doc) public String processStringForASTConstructor(String str)(Code)(Java Doc) protected String removeAssignmentFromDeclaration(String d)(Code)(Java Doc) public static String reverseLexerRuleName(String id)(Code)(Java Doc) public void setAnalyzer(LLkGrammarAnalyzer analyzer_)(Code)(Java Doc) public void setBehavior(DefineGrammarSymbols behavior_)(Code)(Java Doc) protected void setGrammar(Grammar g)(Code)(Java Doc) public void setTool(Tool tool)(Code)(Java Doc)
|
|
|