Class JJFileAnnotator
- All Implemented Interfaces:
IVoidVisitor
JJFileAnnotator visitor generates the (jtb) annotated .jj file containing the tree-building
code.
Code is printed in a buffer and saveToFile(String) is called to save it in the output file.
JJFileAnnotator works as follows:
- it gets and memorizes the result type of a
JavaCodeProductionor aBNFProduction, - in
generateJcRHS(JavaCodeProduction)andgenerateBnfRHS(BNFProduction), it redirects output to a temporary buffer, - it walks down the tree, prints the RHS into the temporary buffer, and builds the varList,
- it traverses varList, prints the variable declarations to the main buffer
- it prints the Block (for a
BNFProductionto the main buffer, then the temporary buffer into the main buffer.
JavaCCPrinter to visit the node.
This visitor maintains state (for a grammar), is supposed to be run once and not supposed to be run in parallel threads (on the same grammar).
-
Nested Class Summary
Nested classes/interfaces inherited from class DepthFirstVoidVisitor
DepthFirstVoidVisitor.ShouldNotOccurException -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intThe "BNF" nesting level: incremented/decremented:
for each new nestedExpansionChoices(so starts at 0 (inDepthFirstVoidVisitor.visit(BNFProduction))), and for each new nestedExpansionexcept in anExpansionChoiceswith no choices Used to control spaces / new lines.protected final CommonCodeGeneratorprotected final GlobalDataBuilderTheGlobalDataBuildervisitorprotected StringThe generated variable assignment string to be insertedprotected JavaBranchPrinterTheJavaBranchPrinterprinter to print a java node and its subtreeprotected StringBuilderThe (current) buffer to print intoprotected SpacingThe indentation objectprotected intThe "outer variables" nesting level: incremented/decremented:
for each new nestedExpansionChoices(so starts at 0 (invisit(BNFProduction))), and for each new nestedExpansionexcept in anExpansionChoiceswith no choices for each new nestedExpansionUnitwhich is not a field (varLvl == 0) and which is part of a NodeSequence Used to control nodes annotations. -
Constructor Summary
ConstructorsConstructorDescriptionJJFileAnnotator(GlobalDataBuilder aGdbv, CommonCodeGenerator aCcg) Constructor which will allocate a default buffer and indentation. -
Method Summary
Modifier and TypeMethodDescriptionprotected final StringBuilderGenerates a java node and its subtree with a JavaPrinter.protected StringReturns a node class comment (a //jcp followed by the node class short name if global flag set, nothing otherwise).protected StringnodeClassComment(INode n, String str) Returns a node class comment with an extra comment (a //jcp followed by the node class short name plus the extra comment if global flag set, nothing otherwise).final intsaveToFile(String outFile) Saves the current buffer to an output file.voidVisits aAccessModifiernode, whose child is the following :voidVisits aBlocknode, whose children are the following :voidVisits aBlockStatementnode, whose child is the following :voidVisits aBNFProductionnode, whose children are the following :voidVisits aCharacterDescriptornode, whose children are the following :voidVisits aCharacterListnode, whose children are the following :voidVisits aComplexRegularExpressionnode, whose child is the following :voidVisits aComplexRegularExpressionChoicesnode, whose children are the following :voidVisits aComplexRegularExpressionUnitnode, whose child is the following :voidvisit(DoStatement n) Visits aDoStatementnode, whose children are the following :voidVisits aExpansionnode, whose children are the following :voidVisits aExpansionChoicesnode, whose children are the following :voidVisits aExpansionUnitnode, whose child is the following :voidVisits aExpansionUnitTCFnode, whose children are the following :voidVisits aForStatementnode, whose children are the following :voidVisits aIdentifierAsStringnode, whose child is the following :voidvisit(IfStatement n) Visits aIfStatementnode, whose children are the following :voidVisits aIntegerLiteralnode, whose child is the following :voidvisit(JavaCCInput n) Visits aJavaCCInputnode, whose children are the following :voidVisits aJavaCCOptionsnode, whose child is the following :voidVisits aJavaCodeProductionnode, whose children are the following :voidVisits aLabeledStatementnode, whose children are the following :voidVisits aLocalLookaheadnode, whose children are the following :voidVisits aLocalVariableDeclarationnode, whose children are the following :voidVisits aOptionBindingnode, whose children are the following :voidvisit(Production n) Visits aProductionnode, whose child is the following :voidvisit(RegExprKind n) Visits aRegExprKindnode, whose child is the following :voidvisit(RegExprSpec n) Visits aRegExprSpecnode, whose children are the following :voidVisits aRegularExpressionnode, whose child is the following :voidVisits aRegularExprProductionnode, whose children are the following :voidVisits aReturnStatementnode, whose children are the following :voidVisits aStatementnode, whose child is the following :voidVisits aStringLiteralnode, whose child is the following :voidVisits aSwitchStatementnode, whose children are the following :voidVisits aSynchronizedStatementnode, whose children are the following :voidVisits aTokenManagerDeclsnode, whose children are the following :voidVisits aTryStatementnode, whose children are the following :voidVisits aVariableModifiersnode, whose child is the following :voidVisits aWhileStatementnode, whose children are the following :voidPrints into the current buffer a Token image and its specials before if global flag set.Methods inherited from class DepthFirstVoidVisitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
Field Details
-
varLvl
protected int varLvlThe "outer variables" nesting level: incremented/decremented:
- for each new nested
ExpansionChoices(so starts at 0 (invisit(BNFProduction))), and - for each new nested
Expansionexcept in anExpansionChoiceswith no choices - for each new nested
ExpansionUnitwhich is not a field (varLvl == 0) and which is part of a NodeSequence
- for each new nested
-
gdbv
TheGlobalDataBuildervisitor -
ccg
-
sb
The (current) buffer to print into -
spc
The indentation object -
jbp
TheJavaBranchPrinterprinter to print a java node and its subtree -
gvaStr
The generated variable assignment string to be inserted -
bnfLvl
protected int bnfLvlThe "BNF" nesting level: incremented/decremented:
- for each new nested
ExpansionChoices(so starts at 0 (inDepthFirstVoidVisitor.visit(BNFProduction))), and - for each new nested
Expansionexcept in anExpansionChoiceswith no choices
- for each new nested
-
-
Constructor Details
-
JJFileAnnotator
Constructor which will allocate a default buffer and indentation.- Parameters:
aGdbv- - theGlobalDataBuildervisitoraCcg- - theCommonCodeGenerator
-
-
Method Details
-
visit
Visits aJavaCCInputnode, whose children are the following :f0 -> JavaCCOptions()
f1 -> "PARSER_BEGIN"
f2 -> "("
f3 -> IdentifierAsString()
f4 -> ")"
f5 -> CompilationUnit()
f6 -> "PARSER_END"
f7 -> "("
f8 -> IdentifierAsString()
f9 -> ")"
f10 -> ( Production() )+
f11 -> invalid input: '<' EOF >
s: 1465207473- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aJavaCodeProductionnode, whose children are the following :f0 -> "JAVACODE"
f1 -> AccessModifier()
f2 -> ResultType()
f3 -> IdentifierAsString()
f4 -> FormalParameters()
f5 -> [ #0 "throws" #1 Name()
.. .. . #2 ( $0 "," $1 Name() )* ]
f6 -> [ "%" ]
f7 -> Block()
s: -763138104- Specified by:
visitin interfaceIVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aBNFProductionnode, whose children are the following :f0 -> AccessModifier()
f1 -> ResultType()
f2 -> IdentifierAsString()
f3 -> FormalParameters()
f4 -> [ #0 "throws" #1 Name()
.. .. . #2 ( $0 "," $1 Name() )* ]
f5 -> [ "!" ]
f6 -> ":"
f7 -> Block()
f8 -> "{"
f9 -> ExpansionChoices()
f10 -> "}"
s: 1323482450- Specified by:
visitin interfaceIVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aRegularExprProductionnode, whose children are the following :f0 -> [ %0 #0 "invalid input: '<'" #1 "*" #2 ">"
.. .. | %1 #0 "invalid input: '<'" #1 invalid input: '<' IDENTIFIER >
.. .. . .. #2 ( $0 "," $1 invalid input: '<' IDENTIFIER > )*
.. .. . .. #3 ">" ]
f1 -> RegExprKind()
f2 -> [ #0 "[" #1 "IGNORE_CASE" #2 "]" ]
f3 -> ":"
f4 -> "{"
f5 -> RegExprSpec()
f6 -> ( #0 "|" #1 RegExprSpec() )*
f7 -> "}"
s: 484788342- Specified by:
visitin interfaceIVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aExpansionChoicesnode, whose children are the following :f0 -> Expansion()
f1 -> ( #0 "|" #1 Expansion() )*
s: -1726831935- Specified by:
visitin interfaceIVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aExpansionnode, whose children are the following :f0 -> ( #0 "LOOKAHEAD" #1 "(" #2 LocalLookahead() #3 ")" )?
f1 -> ( ExpansionUnit() )+
s: -2134365682- Specified by:
visitin interfaceIVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aLocalLookaheadnode, whose children are the following :f0 -> [ IntegerLiteral() ]
f1 -> [ "," ]
f2 -> [ ExpansionChoices() ]
f3 -> [ "," ]
f4 -> [ #0 "{"
.. .. . #1 [ Expression() ]
.. .. . #2 "}" ]
s: -1879920786- Specified by:
visitin interfaceIVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aExpansionUnitnode, whose child is the following :f0 -> . %0 #0 "LOOKAHEAD" #1 "(" #2 LocalLookahead() #3 ")"
.. .. | %1 Block()
.. .. | %2 #0 "[" #1 ExpansionChoices() #2 "]"
.. .. | %3 ExpansionUnitTCF()
.. .. | %4 #0 [ $0 PrimaryExpression() $1 "=" ]
.. .. . .. #1 ( invalid input: '&'0 $0 IdentifierAsString() $1 Arguments()
.. .. . .. .. . .. $2 [ "!" ]
.. .. . .. .. | invalid input: '&'1 $0 RegularExpression()
.. .. . .. .. . .. $1 [ ?0 "." ?1 invalid input: '<' IDENTIFIER > ]
.. .. . .. .. . .. $2 [ "!" ] )
.. .. | %5 #0 "(" #1 ExpansionChoices() #2 ")"
.. .. . .. #3 ( invalid input: '&'0 "+"
.. .. . .. .. | invalid input: '&'1 "*"
.. .. . .. .. | invalid input: '&'2 "?" )?
s: 1116287061- Specified by:
visitin interfaceIVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aExpansionUnitTCFnode, whose children are the following :f0 -> "try"
f1 -> "{"
f2 -> ExpansionChoices()
f3 -> "}"
f4 -> ( #0 "catch" #1 "("
.. .. . #2 ( Annotation() )*
.. .. . #3 [ "final" ]
.. .. . #4 Name() #5 invalid input: '<' IDENTIFIER > #6 ")" #7 Block() )*
f5 -> [ #0 "finally" #1 Block() ]
s: 1601707097- Specified by:
visitin interfaceIVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aRegularExpressionnode, whose child is the following :f0 -> . %0 StringLiteral()
.. .. | %1 #0 "invalid input: '<'"
.. .. . .. #1 [ $0 [ "#" ]
.. .. . .. .. . $1 IdentifierAsString() $2 ":" ]
.. .. . .. #2 ComplexRegularExpressionChoices() #3 ">"
.. .. | %2 #0 "invalid input: '<'" #1 IdentifierAsString() #2 ">"
.. .. | %3 #0 "invalid input: '<'" #1 "EOF" #2 ">"
s: 1719627151- Specified by:
visitin interfaceIVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aStatementnode, whose child is the following :f0 -> . %00 LabeledStatement()
.. .. | %01 AssertStatement()
.. .. | %02 Block()
.. .. | %03 EmptyStatement()
.. .. | %04 #0 StatementExpression() #1 ";"
.. .. | %05 SwitchStatement()
.. .. | %06 IfStatement()
.. .. | %07 WhileStatement()
.. .. | %08 DoStatement()
.. .. | %09 ForStatement()
.. .. | %10 BreakStatement()
.. .. | %11 ContinueStatement()
.. .. | %12 ReturnStatement()
.. .. | %13 ThrowStatement()
.. .. | %14 SynchronizedStatement()
.. .. | %15 TryStatement()
s: 1394695492- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aLabeledStatementnode, whose children are the following :f0 -> invalid input: '<' IDENTIFIER >
f1 -> ":"
f2 -> Statement()
s: -1956923191- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aBlocknode, whose children are the following :f0 -> "{"
f1 -> ( BlockStatement() )*
f2 -> "}"
s: -47169424- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aBlockStatementnode, whose child is the following :f0 -> . %0 #0 LocalVariableDeclaration() #1 ";"
.. .. | %1 Statement()
.. .. | %2 ClassOrInterfaceDeclaration()
s: -1009630136- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aLocalVariableDeclarationnode, whose children are the following :f0 -> VariableModifiers()
f1 -> Type()
f2 -> VariableDeclarator()
f3 -> ( #0 "," #1 VariableDeclarator() )*
s: 225808290- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aVariableModifiersnode, whose child is the following :f0 -> ( ( %0 "final"
.. .. . | %1 Annotation() ) )*
s: 2076055340- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aTryStatementnode, whose children are the following :f0 -> "try"
f1 -> Block()
f2 -> ( #0 "catch" #1 "(" #2 FormalParameter() #3 ")" #4 Block() )*
f3 -> [ #0 "finally" #1 Block() ]
s: 1108527850- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aSwitchStatementnode, whose children are the following :f0 -> "switch"
f1 -> "("
f2 -> Expression()
f3 -> ")"
f4 -> "{"
f5 -> ( #0 SwitchLabel()
.. .. . #1 ( BlockStatement() )* )*
f6 -> "}"
s: 645895087- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aIfStatementnode, whose children are the following :f0 -> "if"
f1 -> "("
f2 -> Expression()
f3 -> ")"
f4 -> Statement()
f5 -> [ #0 "else" #1 Statement() ]
s: -1906079982- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aWhileStatementnode, whose children are the following :f0 -> "while"
f1 -> "("
f2 -> Expression()
f3 -> ")"
f4 -> Statement()
s: 503551312- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aDoStatementnode, whose children are the following :f0 -> "do"
f1 -> Statement()
f2 -> "while"
f3 -> "("
f4 -> Expression()
f5 -> ")"
f6 -> ";"
s: 1162769715- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aForStatementnode, whose children are the following :f0 -> "for"
f1 -> "("
f2 -> ( %0 #0 VariableModifiers() #1 Type() #2 invalid input: '<' IDENTIFIER > #3 ":" #4 Expression()
.. .. | %1 #0 [ ForInit() ]
.. .. . .. #1 ";"
.. .. . .. #2 [ Expression() ]
.. .. . .. #3 ";"
.. .. . .. #4 [ ForUpdate() ] )
f3 -> ")"
f4 -> Statement()
s: 755358653- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aReturnStatementnode, whose children are the following :f0 -> "return"
f1 -> [ Expression() ]
f2 -> ";"
s: -1971167888- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aSynchronizedStatementnode, whose children are the following :f0 -> "synchronized"
f1 -> "("
f2 -> Expression()
f3 -> ")"
f4 -> Block()
s: 2040551171- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
nodeClassComment
Returns a node class comment with an extra comment (a //jcp followed by the node class short name plus the extra comment if global flag set, nothing otherwise).- Parameters:
n- - the node for the node class commentstr- - the extra comment- Returns:
- the node class comment
-
nodeClassComment
-
saveToFile
Saves the current buffer to an output file.- Parameters:
outFile- - the output file- Returns:
- OK_RC or FILE_EXISTS_RC
- Throws:
IOException- if IO problem
-
genJavaBranch
Generates a java node and its subtree with a JavaPrinter.- Parameters:
n- - the node to process- Returns:
- a buffer with the generated source
-
visit
Prints into the current buffer a Token image and its specials before if global flag set.- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aJavaCCOptionsnode, whose child is the following :f0 -> [ #0 "options" #1 "{"
.. .. . #2 ( OptionBinding() )*
.. .. . #3 "}" ]
s: -1270729337- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aOptionBindingnode, whose children are the following :f0 -> ( %0 invalid input: '<' IDENTIFIER >
.. .. | %1 "LOOKAHEAD"
.. .. | %2 "IGNORE_CASE"
.. .. | %3 "static" )
f1 -> "="
f2 -> ( %0 IntegerLiteral()
.. .. | %1 BooleanLiteral()
.. .. | %2 StringLiteral() )
f3 -> ";"
s: -1998174573- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aProductionnode, whose child is the following :f0 -> . %0 JavaCodeProduction()
.. .. | %1 RegularExprProduction()
.. .. | %2 TokenManagerDecls()
.. .. | %3 BNFProduction()
s: -120615333- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aAccessModifiernode, whose child is the following :f0 -> ( %0 "public"
.. .. | %1 "protected"
.. .. | %2 "private"
.. .. | %3 "final" )*
s: -1053437682- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aTokenManagerDeclsnode, whose children are the following :f0 -> "TOKEN_MGR_DECLS"
f1 -> ":"
f2 -> ClassOrInterfaceBody()
s: -1566997219- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aRegExprKindnode, whose child is the following :f0 -> . %0 "TOKEN"
.. .. | %1 "SPECIAL_TOKEN"
.. .. | %2 "SKIP"
.. .. | %3 "MORE"
s: -1874441621- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aRegExprSpecnode, whose children are the following :f0 -> RegularExpression()
f1 -> [ "!" ]
f2 -> [ Block() ]
f3 -> [ #0 ":" #1 invalid input: '<' IDENTIFIER > ]
s: -1949948808- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aComplexRegularExpressionChoicesnode, whose children are the following :f0 -> ComplexRegularExpression()
f1 -> ( #0 "|" #1 ComplexRegularExpression() )*
s: -1240933595- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aComplexRegularExpressionnode, whose child is the following :f0 -> ( ComplexRegularExpressionUnit() )+
s: 896313544- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aComplexRegularExpressionUnitnode, whose child is the following :f0 -> . %0 StringLiteral()
.. .. | %1 #0 "invalid input: '<'" #1 IdentifierAsString() #2 ">"
.. .. | %2 CharacterList()
.. .. | %3 #0 "(" #1 ComplexRegularExpressionChoices() #2 ")"
.. .. . .. #3 ( invalid input: '&'0 "+"
.. .. . .. .. | invalid input: '&'1 "*"
.. .. . .. .. | invalid input: '&'2 "?"
.. .. . .. .. | invalid input: '&'3 $0 "{" $1 IntegerLiteral()
.. .. . .. .. . .. $2 [ ?0 ","
.. .. . .. .. . .. .. . ?1 [ IntegerLiteral() ] ]
.. .. . .. .. . .. $3 "}" )?
s: -1507427530- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aCharacterListnode, whose children are the following :f0 -> [ "~" ]
f1 -> "["
f2 -> [ #0 CharacterDescriptor()
.. .. . #1 ( $0 "," $1 CharacterDescriptor() )* ]
f3 -> "]"
s: -966448889- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aCharacterDescriptornode, whose children are the following :f0 -> StringLiteral()
f1 -> [ #0 "-" #1 StringLiteral() ]
s: 895087809- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aIdentifierAsStringnode, whose child is the following :f0 -> invalid input: '<' IDENTIFIER >
s: -1580059612- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aIntegerLiteralnode, whose child is the following :f0 -> invalid input: '<' INTEGER_LITERAL >
s: -1048223857- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-
visit
Visits aStringLiteralnode, whose child is the following :f0 -> invalid input: '<' STRING_LITERAL >
s: 241433948- Specified by:
visitin interfaceIVoidVisitor- Overrides:
visitin classDepthFirstVoidVisitor- Parameters:
n- - the node to visit
-