org.argouml.language.java.generator
Class JavaRecognizer
java.lang.Object
antlr.Parser
antlr.LLkParser
org.argouml.language.java.generator.JavaRecognizer
- All Implemented Interfaces:
- JavaTokenTypes
- public class JavaRecognizer
- extends antlr.LLkParser
- implements JavaTokenTypes
Java 1.2 Recognizer
Contributing authors:
John Mitchell johnm@non.net
Terence Parr parrt@magelang.com
John Lilley jlilley@empathy.com
Scott Stanchfield thetick@magelang.com
Markus Mohnen mohnen@informatik.rwth-aachen.de
Peter Williams pwilliams@netdynamics.com
Version 1.00 December 9, 1997 -- initial release
Version 1.01 December 10, 1997
fixed bug in octal def (0..7 not 0..8)
Version 1.10 August 1998 (parrt)
added tree construction
fixed definition of WS,comments for mac,pc,unix newlines
added unary plus
Version 1.11 (Nov 20, 1998)
Added "shutup" option to turn off last ambig warning.
Fixed inner class def to allow named class defs as statements
synchronized requires compound not simple statement
add [] after builtInType DOT class in primaryExpression
"const" is reserved but not valid..removed from modifiers
Version 1.12 (Feb 2, 1999)
Changed LITERAL_xxx to xxx in tree grammar.
Updated java.g to use tokens {...} now for 2.6.0 (new feature).
Version 1.13 (Apr 23, 1999)
Didn't have (stat)? for else clause in tree parser.
Didn't gen ASTs for interface extends. Updated tree parser too.
Updated to 2.6.0.
Version 1.14 (Jun 20, 1999)
Allowed final/abstract on local classes.
Removed local interfaces from methods
Put instanceof precedence where it belongs...in relationalExpr
It also had expr not type as arg; fixed it.
Missing ! on SEMI in classBlock
fixed: (expr) + "string" was parsed incorrectly (+ as unary plus).
fixed: didn't like Object[].class in parser or tree parser
Version 1.15 (Jun 26, 1999)
Screwed up rule with instanceof in it. :( Fixed.
Tree parser didn't like (expr).something; fixed.
Allowed multiple inheritance in tree grammar. oops.
Version 1.16 (August 22, 1999)
Extending an interface built a wacky tree: had extra EXTENDS.
Tree grammar didn't allow multiple superinterfaces.
Tree grammar didn't allow empty var initializer: {}
Version 1.17 (October 12, 1999)
ESC lexer rule allowed 399 max not 377 max.
java.tree.g didn't handle the expression of synchronized
statements.
Version 1.18 (January 07, 2002)
Added CodePiece parameter to classBlock so that '{' will be
added to ClassCodePiece.
Version tracking now done with following ID:
$Id: JavaRecognizer.java,v 1.13 2003/12/05 07:44:28 lepekhine Exp $
BUG:
Doesn't like boolean.class!
class Test {
public static void main( String args[] ) {
if (boolean.class.equals(boolean.class)) {
System.out.println("works");
}
}
}
This grammar is in the PUBLIC DOMAIN
Fields inherited from class antlr.LLkParser |
|
Fields inherited from class antlr.Parser |
astFactory, inputState, returnAST, tokenNames, tokenTypeToASTClassMap, traceDepth |
Fields inherited from interface org.argouml.language.java.generator.JavaTokenTypes |
ABSTRACT, ARRAY_DECLARATOR, ARRAY_INIT, ASSIGN, BAND, BAND_ASSIGN, BLOCK, BNOT, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, CASE_GROUP, CHAR_LITERAL, CLASS_DEF, COLON, COMMA, CTOR_DEF, DEC, DIV, DIV_ASSIGN, DOT, ELIST, EMPTY_STAT, EOF, EQUAL, ESC, EXPONENT, EXPR, EXTENDS_CLAUSE, FINAL, FLOAT_SUFFIX, FOR_CONDITION, FOR_INIT, FOR_ITERATOR, GE, GT, HEX_DIGIT, IDENT, IMPLEMENTS_CLAUSE, IMPORT, INC, INDEX_OP, INSTANCE_INIT, INTERFACE_DEF, JAVADOC, LABELED_STAT, LAND, LBRACK, LCURLY, LE, LITERAL_boolean, LITERAL_break, LITERAL_byte, LITERAL_case, LITERAL_catch, LITERAL_char, LITERAL_class, LITERAL_continue, LITERAL_default, LITERAL_do, LITERAL_double, LITERAL_else, LITERAL_extends, LITERAL_false, LITERAL_finally, LITERAL_float, LITERAL_for, LITERAL_if, LITERAL_implements, LITERAL_import, LITERAL_instanceof, LITERAL_int, LITERAL_interface, LITERAL_long, LITERAL_native, LITERAL_new, LITERAL_null, LITERAL_package, LITERAL_private, LITERAL_protected, LITERAL_public, LITERAL_return, LITERAL_short, LITERAL_static, LITERAL_strictfp, LITERAL_super, LITERAL_switch, LITERAL_synchronized, LITERAL_this, LITERAL_throw, LITERAL_throws, LITERAL_transient, LITERAL_true, LITERAL_try, LITERAL_void, LITERAL_volatile, LITERAL_while, LNOT, LOR, LPAREN, LT, METHOD_CALL, METHOD_DEF, MINUS, MINUS_ASSIGN, ML_COMMENT, MOD, MOD_ASSIGN, MODIFIERS, NOT_EQUAL, NULL_TREE_LOOKAHEAD, NUM_FLOAT, NUM_INT, OBJBLOCK, PACKAGE_DEF, PARAMETER_DEF, PARAMETERS, PLUS, PLUS_ASSIGN, POST_DEC, POST_INC, QUESTION, RBRACK, RCURLY, RPAREN, SEMI, SL, SL_ASSIGN, SL_COMMENT, SLIST, SR, SR_ASSIGN, STAR, STAR_ASSIGN, STATIC_INIT, STRING_LITERAL, TYPE, TYPECAST, UNARY_MINUS, UNARY_PLUS, VARIABLE_DEF, VOCAB, WS |
Methods inherited from class antlr.LLkParser |
consume, LA, LT, traceIn, traceOut |
Methods inherited from class antlr.Parser |
addMessageListener, addParserListener, addParserMatchListener, addParserTokenListener, addSemanticPredicateListener, addSyntacticPredicateListener, addTraceListener, consumeUntil, consumeUntil, defaultDebuggingSetup, getAST, getASTFactory, getFilename, getInputState, getTokenName, getTokenNames, getTokenTypeToASTClassMap, isDebugMode, mark, match, match, matchNot, panic, removeMessageListener, removeParserListener, removeParserMatchListener, removeParserTokenListener, removeSemanticPredicateListener, removeSyntacticPredicateListener, removeTraceListener, reportError, reportError, reportWarning, rewind, setASTFactory, setASTNodeClass, setASTNodeType, setDebugMode, setFilename, setIgnoreInvalidDebugCalls, setInputState, setTokenBuffer, traceIndent |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
cpc
private CodePieceCollector cpc
anonymousNumber
private int anonymousNumber
_inCompoundStatement
private boolean _inCompoundStatement
_tokenNames
public static final java.lang.String[] _tokenNames
_tokenSet_0
public static final antlr.collections.impl.BitSet _tokenSet_0
_tokenSet_1
public static final antlr.collections.impl.BitSet _tokenSet_1
_tokenSet_2
public static final antlr.collections.impl.BitSet _tokenSet_2
_tokenSet_3
public static final antlr.collections.impl.BitSet _tokenSet_3
_tokenSet_4
public static final antlr.collections.impl.BitSet _tokenSet_4
_tokenSet_5
public static final antlr.collections.impl.BitSet _tokenSet_5
_tokenSet_6
public static final antlr.collections.impl.BitSet _tokenSet_6
_tokenSet_7
public static final antlr.collections.impl.BitSet _tokenSet_7
_tokenSet_8
public static final antlr.collections.impl.BitSet _tokenSet_8
_tokenSet_9
public static final antlr.collections.impl.BitSet _tokenSet_9
_tokenSet_10
public static final antlr.collections.impl.BitSet _tokenSet_10
_tokenSet_11
public static final antlr.collections.impl.BitSet _tokenSet_11
_tokenSet_12
public static final antlr.collections.impl.BitSet _tokenSet_12
_tokenSet_13
public static final antlr.collections.impl.BitSet _tokenSet_13
_tokenSet_14
public static final antlr.collections.impl.BitSet _tokenSet_14
_tokenSet_15
public static final antlr.collections.impl.BitSet _tokenSet_15
_tokenSet_16
public static final antlr.collections.impl.BitSet _tokenSet_16
_tokenSet_17
public static final antlr.collections.impl.BitSet _tokenSet_17
_tokenSet_18
public static final antlr.collections.impl.BitSet _tokenSet_18
_tokenSet_19
public static final antlr.collections.impl.BitSet _tokenSet_19
JavaRecognizer
protected JavaRecognizer(antlr.TokenBuffer tokenBuf,
int k)
JavaRecognizer
public JavaRecognizer(antlr.TokenBuffer tokenBuf)
JavaRecognizer
protected JavaRecognizer(antlr.TokenStream lexer,
int k)
JavaRecognizer
public JavaRecognizer(antlr.TokenStream lexer)
JavaRecognizer
public JavaRecognizer(antlr.ParserSharedInputState state)
compilationUnit
public final void compilationUnit(CodePieceCollector cpc)
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
packageDefinition
public final void packageDefinition()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
importDefinition
public final void importDefinition()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
typeDefinition
public final void typeDefinition()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
identifier
public final CompositeCodePiece identifier()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
identifierStar
public final void identifierStar()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
modifiers
public final CompositeCodePiece modifiers()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
classDefinition
public final void classDefinition(CodePiece preCode)
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
interfaceDefinition
public final void interfaceDefinition(CodePiece preCode)
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
declaration
public final void declaration()
throws antlr.RecognitionException,
antlr.TokenStreamException
- A declaration is the creation of a reference or primitive-type variable
Create a separate Type/Var tree for each var in the var list.
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
typeSpec
public final CodePiece typeSpec()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
variableDefinitions
public final java.util.Vector variableDefinitions()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
modifier
public final CodePiece modifier()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
classTypeSpec
public final CompositeCodePiece classTypeSpec()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
builtInTypeSpec
public final CompositeCodePiece builtInTypeSpec()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
builtInType
public final SimpleCodePiece builtInType()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
type
public final CodePiece type()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
superClassClause
public final CompositeCodePiece superClassClause()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
implementsClause
public final CompositeCodePiece implementsClause()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
classBlock
public final void classBlock(CompositeCodePiece header)
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
interfaceExtends
public final CompositeCodePiece interfaceExtends()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
field
public final void field()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
ctorHead
public final void ctorHead(CompositeCodePiece doccp,
CompositeCodePiece cp)
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
compoundStatement
public final void compoundStatement()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
parameterDeclarationList
public final CompositeCodePiece parameterDeclarationList()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
returnTypeBrackersOnEndOfMethodHead
public final CompositeCodePiece returnTypeBrackersOnEndOfMethodHead()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
throwsClause
public final void throwsClause()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
variableDeclarator
public final CompositeCodePiece variableDeclarator()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Declaration of a variable. This can be a class/instance variable,
or a local variable in a method
It can also include possible initialization.
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
declaratorBrackets
public final CompositeCodePiece declaratorBrackets()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
varInitializer
public final CompositeCodePiece varInitializer()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
initializer
public final void initializer()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
arrayInitializer
public final void arrayInitializer()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
expression
public final void expression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
parameterDeclaration
public final CompositeCodePiece parameterDeclaration()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
parameterModifier
public final void parameterModifier()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
parameterDeclaratorBrackets
public final void parameterDeclaratorBrackets()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
statement
public final void statement()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
forInit
public final void forInit()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
forCond
public final void forCond()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
forIter
public final void forIter()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
casesGroup
public final void casesGroup()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
tryBlock
public final void tryBlock()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
aCase
public final void aCase()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
caseSList
public final void caseSList()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
expressionList
public final void expressionList()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
handler
public final void handler()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
assignmentExpression
public final void assignmentExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
conditionalExpression
public final void conditionalExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
logicalOrExpression
public final void logicalOrExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
logicalAndExpression
public final void logicalAndExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
inclusiveOrExpression
public final void inclusiveOrExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
exclusiveOrExpression
public final void exclusiveOrExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
andExpression
public final void andExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
equalityExpression
public final void equalityExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
relationalExpression
public final void relationalExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
shiftExpression
public final void shiftExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
additiveExpression
public final void additiveExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
multiplicativeExpression
public final void multiplicativeExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
unaryExpression
public final void unaryExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
unaryExpressionNotPlusMinus
public final void unaryExpressionNotPlusMinus()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
postfixExpression
public final void postfixExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
primaryExpression
public final void primaryExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
newExpression
public final void newExpression()
throws antlr.RecognitionException,
antlr.TokenStreamException
- object instantiation.
Trees are built as illustrated by the following input/tree pairs:
new T()
new
|
T -- ELIST
|
arg1 -- arg2 -- .. -- argn
new int[]
new
|
int -- ARRAY_DECLARATOR
new int[] {1,2}
new
|
int -- ARRAY_DECLARATOR -- ARRAY_INIT
|
EXPR -- EXPR
| |
1 2
new int[3]
new
|
int -- ARRAY_DECLARATOR
|
EXPR
|
3
new int[1][2]
new
|
int -- ARRAY_DECLARATOR
|
ARRAY_DECLARATOR -- EXPR
| |
EXPR 1
|
2
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
argList
public final void argList()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
constant
public final void constant()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
newArrayDeclarator
public final void newArrayDeclarator()
throws antlr.RecognitionException,
antlr.TokenStreamException
- Throws:
antlr.RecognitionException
antlr.TokenStreamException
mk_tokenSet_0
private static final long[] mk_tokenSet_0()
mk_tokenSet_1
private static final long[] mk_tokenSet_1()
mk_tokenSet_2
private static final long[] mk_tokenSet_2()
mk_tokenSet_3
private static final long[] mk_tokenSet_3()
mk_tokenSet_4
private static final long[] mk_tokenSet_4()
mk_tokenSet_5
private static final long[] mk_tokenSet_5()
mk_tokenSet_6
private static final long[] mk_tokenSet_6()
mk_tokenSet_7
private static final long[] mk_tokenSet_7()
mk_tokenSet_8
private static final long[] mk_tokenSet_8()
mk_tokenSet_9
private static final long[] mk_tokenSet_9()
mk_tokenSet_10
private static final long[] mk_tokenSet_10()
mk_tokenSet_11
private static final long[] mk_tokenSet_11()
mk_tokenSet_12
private static final long[] mk_tokenSet_12()
mk_tokenSet_13
private static final long[] mk_tokenSet_13()
mk_tokenSet_14
private static final long[] mk_tokenSet_14()
mk_tokenSet_15
private static final long[] mk_tokenSet_15()
mk_tokenSet_16
private static final long[] mk_tokenSet_16()
mk_tokenSet_17
private static final long[] mk_tokenSet_17()
mk_tokenSet_18
private static final long[] mk_tokenSet_18()
mk_tokenSet_19
private static final long[] mk_tokenSet_19()