parsers.syntax
Class JavaParser

java.lang.Object
  |
  +--antlr.Parser
        |
        +--antlr.LLkParser
              |
              +--parsers.syntax.JavaParser

public class JavaParser
extends antlr.LLkParser
implements JavaTokenTypes

Java 1.2 Recognizer Run 'java Main ' 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 tracking now done with following ID: $Id: //depot/code/org.antlr/release/antlr-2.7.0/examples/java/java/java.g#1 $ 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


Field Summary
static java.lang.String[] _tokenNames
           
static antlr.collections.impl.BitSet _tokenSet_0
           
private static long[] _tokenSet_0_data_
           
static antlr.collections.impl.BitSet _tokenSet_1
           
private static long[] _tokenSet_1_data_
           
static antlr.collections.impl.BitSet _tokenSet_10
           
private static long[] _tokenSet_10_data_
           
static antlr.collections.impl.BitSet _tokenSet_11
           
private static long[] _tokenSet_11_data_
           
static antlr.collections.impl.BitSet _tokenSet_12
           
private static long[] _tokenSet_12_data_
           
static antlr.collections.impl.BitSet _tokenSet_13
           
private static long[] _tokenSet_13_data_
           
static antlr.collections.impl.BitSet _tokenSet_14
           
private static long[] _tokenSet_14_data_
           
static antlr.collections.impl.BitSet _tokenSet_15
           
private static long[] _tokenSet_15_data_
           
static antlr.collections.impl.BitSet _tokenSet_16
           
private static long[] _tokenSet_16_data_
           
static antlr.collections.impl.BitSet _tokenSet_17
           
private static long[] _tokenSet_17_data_
           
static antlr.collections.impl.BitSet _tokenSet_18
           
private static long[] _tokenSet_18_data_
           
static antlr.collections.impl.BitSet _tokenSet_19
           
private static long[] _tokenSet_19_data_
           
static antlr.collections.impl.BitSet _tokenSet_2
           
private static long[] _tokenSet_2_data_
           
static antlr.collections.impl.BitSet _tokenSet_20
           
private static long[] _tokenSet_20_data_
           
static antlr.collections.impl.BitSet _tokenSet_21
           
private static long[] _tokenSet_21_data_
           
static antlr.collections.impl.BitSet _tokenSet_3
           
private static long[] _tokenSet_3_data_
           
static antlr.collections.impl.BitSet _tokenSet_4
           
private static long[] _tokenSet_4_data_
           
static antlr.collections.impl.BitSet _tokenSet_5
           
private static long[] _tokenSet_5_data_
           
static antlr.collections.impl.BitSet _tokenSet_6
           
private static long[] _tokenSet_6_data_
           
static antlr.collections.impl.BitSet _tokenSet_7
           
private static long[] _tokenSet_7_data_
           
static antlr.collections.impl.BitSet _tokenSet_8
           
private static long[] _tokenSet_8_data_
           
static antlr.collections.impl.BitSet _tokenSet_9
           
private static long[] _tokenSet_9_data_
           
private  java.util.Vector vErr
           
 
Fields inherited from class antlr.LLkParser
k
 
Fields inherited from class antlr.Parser
astFactory, ignoreInvalidDebugCalls, inputState, returnAST, tokenNames
 
Constructor Summary
  JavaParser(antlr.ParserSharedInputState state)
           
  JavaParser(antlr.TokenBuffer tokenBuf)
           
protected JavaParser(antlr.TokenBuffer tokenBuf, int k)
           
  JavaParser(antlr.TokenStream lexer)
           
protected JavaParser(antlr.TokenStream lexer, int k)
           
 
Method Summary
 void aCase()
           
 void additiveExpression()
           
 void andExpression()
           
 void argList()
           
 void arrayInitializer()
           
 void assignmentExpression()
           
 void builtInType()
           
 void builtInTypeSpec(boolean addImagNode)
           
 void casesGroup()
           
 void caseSList()
           
 void classBlock()
           
 void classDefinition(antlr.collections.AST modifiers)
           
 void classTypeSpec(boolean addImagNode)
           
 void compilationUnit()
           
 void compoundStatement()
           
 void conditionalExpression()
           
 void constant()
           
 void ctorHead()
           
 void declaration()
          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.
 void declaratorBrackets(antlr.collections.AST typ)
           
 void equalityExpression()
           
 void exclusiveOrExpression()
           
 void expression()
           
 void expressionList()
           
 void field()
           
 void forCond()
           
 void forInit()
           
 void forIter()
           
 java.util.Vector getErrors()
           
 void handler()
           
 void identifier()
           
 void identifierStar()
           
 void implementsClause()
           
 void importDefinition()
           
 void inclusiveOrExpression()
           
 void initializer()
           
 void interfaceDefinition(antlr.collections.AST modifiers)
           
 void interfaceExtends()
           
 void logicalAndExpression()
           
 void logicalOrExpression()
           
 void modifier()
           
 void modifiers()
           
 void multiplicativeExpression()
           
 void newArrayDeclarator()
           
 void newExpression()
          object instantiation.
 void packageDefinition()
           
 void parameterDeclaration()
           
 void parameterDeclarationList()
           
 void parameterDeclaratorBrackets(antlr.collections.AST t)
           
 void parameterModifier()
           
 void postfixExpression()
           
 void primaryExpression()
           
 void relationalExpression()
           
 void reportError(antlr.RecognitionException s)
           
 void returnTypeBrackersOnEndOfMethodHead(antlr.collections.AST typ)
           
 void shiftExpression()
           
 void statement()
           
 void superClassClause()
           
 void throwsClause()
           
 void tryBlock()
           
 void type()
           
 void typeDefinition()
           
 void typeSpec(boolean addImagNode)
           
 void unaryExpression()
           
 void unaryExpressionNotPlusMinus()
           
 void variableDeclarator(antlr.collections.AST mods, antlr.collections.AST t)
          Declaration of a variable.
 void variableDefinitions(antlr.collections.AST mods, antlr.collections.AST t)
           
 void varInitializer()
           
 
Methods inherited from class antlr.LLkParser
consume, LA, LT, trace, traceIn, traceOut
 
Methods inherited from class antlr.Parser
addMessageListener, addParserListener, addParserMatchListener, addParserTokenListener, addSemanticPredicateListener, addSyntacticPredicateListener, addTraceListener, consumeUntil, consumeUntil, defaultDebuggingSetup, getAST, getASTFactory, getFilename, getInputState, getInputState, getTokenName, getTokenNames, isDebugMode, mark, match, match, matchNot, panic, removeMessageListener, removeParserListener, removeParserMatchListener, removeParserTokenListener, removeSemanticPredicateListener, removeSyntacticPredicateListener, removeTraceListener, reportError, reportWarning, rewind, setASTFactory, setASTNodeClass, setASTNodeType, setDebugMode, setFilename, setIgnoreInvalidDebugCalls, setTokenBuffer
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

vErr

private java.util.Vector vErr

_tokenNames

public static final java.lang.String[] _tokenNames

_tokenSet_0_data_

private static final long[] _tokenSet_0_data_

_tokenSet_0

public static final antlr.collections.impl.BitSet _tokenSet_0

_tokenSet_1_data_

private static final long[] _tokenSet_1_data_

_tokenSet_1

public static final antlr.collections.impl.BitSet _tokenSet_1

_tokenSet_2_data_

private static final long[] _tokenSet_2_data_

_tokenSet_2

public static final antlr.collections.impl.BitSet _tokenSet_2

_tokenSet_3_data_

private static final long[] _tokenSet_3_data_

_tokenSet_3

public static final antlr.collections.impl.BitSet _tokenSet_3

_tokenSet_4_data_

private static final long[] _tokenSet_4_data_

_tokenSet_4

public static final antlr.collections.impl.BitSet _tokenSet_4

_tokenSet_5_data_

private static final long[] _tokenSet_5_data_

_tokenSet_5

public static final antlr.collections.impl.BitSet _tokenSet_5

_tokenSet_6_data_

private static final long[] _tokenSet_6_data_

_tokenSet_6

public static final antlr.collections.impl.BitSet _tokenSet_6

_tokenSet_7_data_

private static final long[] _tokenSet_7_data_

_tokenSet_7

public static final antlr.collections.impl.BitSet _tokenSet_7

_tokenSet_8_data_

private static final long[] _tokenSet_8_data_

_tokenSet_8

public static final antlr.collections.impl.BitSet _tokenSet_8

_tokenSet_9_data_

private static final long[] _tokenSet_9_data_

_tokenSet_9

public static final antlr.collections.impl.BitSet _tokenSet_9

_tokenSet_10_data_

private static final long[] _tokenSet_10_data_

_tokenSet_10

public static final antlr.collections.impl.BitSet _tokenSet_10

_tokenSet_11_data_

private static final long[] _tokenSet_11_data_

_tokenSet_11

public static final antlr.collections.impl.BitSet _tokenSet_11

_tokenSet_12_data_

private static final long[] _tokenSet_12_data_

_tokenSet_12

public static final antlr.collections.impl.BitSet _tokenSet_12

_tokenSet_13_data_

private static final long[] _tokenSet_13_data_

_tokenSet_13

public static final antlr.collections.impl.BitSet _tokenSet_13

_tokenSet_14_data_

private static final long[] _tokenSet_14_data_

_tokenSet_14

public static final antlr.collections.impl.BitSet _tokenSet_14

_tokenSet_15_data_

private static final long[] _tokenSet_15_data_

_tokenSet_15

public static final antlr.collections.impl.BitSet _tokenSet_15

_tokenSet_16_data_

private static final long[] _tokenSet_16_data_

_tokenSet_16

public static final antlr.collections.impl.BitSet _tokenSet_16

_tokenSet_17_data_

private static final long[] _tokenSet_17_data_

_tokenSet_17

public static final antlr.collections.impl.BitSet _tokenSet_17

_tokenSet_18_data_

private static final long[] _tokenSet_18_data_

_tokenSet_18

public static final antlr.collections.impl.BitSet _tokenSet_18

_tokenSet_19_data_

private static final long[] _tokenSet_19_data_

_tokenSet_19

public static final antlr.collections.impl.BitSet _tokenSet_19

_tokenSet_20_data_

private static final long[] _tokenSet_20_data_

_tokenSet_20

public static final antlr.collections.impl.BitSet _tokenSet_20

_tokenSet_21_data_

private static final long[] _tokenSet_21_data_

_tokenSet_21

public static final antlr.collections.impl.BitSet _tokenSet_21
Constructor Detail

JavaParser

protected JavaParser(antlr.TokenBuffer tokenBuf,
                     int k)

JavaParser

public JavaParser(antlr.TokenBuffer tokenBuf)

JavaParser

protected JavaParser(antlr.TokenStream lexer,
                     int k)

JavaParser

public JavaParser(antlr.TokenStream lexer)

JavaParser

public JavaParser(antlr.ParserSharedInputState state)
Method Detail

getErrors

public java.util.Vector getErrors()

reportError

public void reportError(antlr.RecognitionException s)
Overrides:
reportError in class antlr.Parser

compilationUnit

public final void compilationUnit()
                           throws antlr.RecognitionException,
                                  antlr.TokenStreamException

packageDefinition

public final void packageDefinition()
                             throws antlr.RecognitionException,
                                    antlr.TokenStreamException

importDefinition

public final void importDefinition()
                            throws antlr.RecognitionException,
                                   antlr.TokenStreamException

typeDefinition

public final void typeDefinition()
                          throws antlr.RecognitionException,
                                 antlr.TokenStreamException

identifier

public final void identifier()
                      throws antlr.RecognitionException,
                             antlr.TokenStreamException

identifierStar

public final void identifierStar()
                          throws antlr.RecognitionException,
                                 antlr.TokenStreamException

modifiers

public final void modifiers()
                     throws antlr.RecognitionException,
                            antlr.TokenStreamException

classDefinition

public final void classDefinition(antlr.collections.AST modifiers)
                           throws antlr.RecognitionException,
                                  antlr.TokenStreamException

interfaceDefinition

public final void interfaceDefinition(antlr.collections.AST modifiers)
                               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.

typeSpec

public final void typeSpec(boolean addImagNode)
                    throws antlr.RecognitionException,
                           antlr.TokenStreamException

variableDefinitions

public final void variableDefinitions(antlr.collections.AST mods,
                                      antlr.collections.AST t)
                               throws antlr.RecognitionException,
                                      antlr.TokenStreamException

modifier

public final void modifier()
                    throws antlr.RecognitionException,
                           antlr.TokenStreamException

classTypeSpec

public final void classTypeSpec(boolean addImagNode)
                         throws antlr.RecognitionException,
                                antlr.TokenStreamException

builtInTypeSpec

public final void builtInTypeSpec(boolean addImagNode)
                           throws antlr.RecognitionException,
                                  antlr.TokenStreamException

builtInType

public final void builtInType()
                       throws antlr.RecognitionException,
                              antlr.TokenStreamException

type

public final void type()
                throws antlr.RecognitionException,
                       antlr.TokenStreamException

superClassClause

public final void superClassClause()
                            throws antlr.RecognitionException,
                                   antlr.TokenStreamException

implementsClause

public final void implementsClause()
                            throws antlr.RecognitionException,
                                   antlr.TokenStreamException

classBlock

public final void classBlock()
                      throws antlr.RecognitionException,
                             antlr.TokenStreamException

interfaceExtends

public final void interfaceExtends()
                            throws antlr.RecognitionException,
                                   antlr.TokenStreamException

field

public final void field()
                 throws antlr.RecognitionException,
                        antlr.TokenStreamException

ctorHead

public final void ctorHead()
                    throws antlr.RecognitionException,
                           antlr.TokenStreamException

compoundStatement

public final void compoundStatement()
                             throws antlr.RecognitionException,
                                    antlr.TokenStreamException

parameterDeclarationList

public final void parameterDeclarationList()
                                    throws antlr.RecognitionException,
                                           antlr.TokenStreamException

returnTypeBrackersOnEndOfMethodHead

public final void returnTypeBrackersOnEndOfMethodHead(antlr.collections.AST typ)
                                               throws antlr.RecognitionException,
                                                      antlr.TokenStreamException

throwsClause

public final void throwsClause()
                        throws antlr.RecognitionException,
                               antlr.TokenStreamException

variableDeclarator

public final void variableDeclarator(antlr.collections.AST mods,
                                     antlr.collections.AST t)
                              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.

declaratorBrackets

public final void declaratorBrackets(antlr.collections.AST typ)
                              throws antlr.RecognitionException,
                                     antlr.TokenStreamException

varInitializer

public final void varInitializer()
                          throws antlr.RecognitionException,
                                 antlr.TokenStreamException

initializer

public final void initializer()
                       throws antlr.RecognitionException,
                              antlr.TokenStreamException

arrayInitializer

public final void arrayInitializer()
                            throws antlr.RecognitionException,
                                   antlr.TokenStreamException

expression

public final void expression()
                      throws antlr.RecognitionException,
                             antlr.TokenStreamException

parameterDeclaration

public final void parameterDeclaration()
                                throws antlr.RecognitionException,
                                       antlr.TokenStreamException

parameterModifier

public final void parameterModifier()
                             throws antlr.RecognitionException,
                                    antlr.TokenStreamException

parameterDeclaratorBrackets

public final void parameterDeclaratorBrackets(antlr.collections.AST t)
                                       throws antlr.RecognitionException,
                                              antlr.TokenStreamException

statement

public final void statement()
                     throws antlr.RecognitionException,
                            antlr.TokenStreamException

forInit

public final void forInit()
                   throws antlr.RecognitionException,
                          antlr.TokenStreamException

forCond

public final void forCond()
                   throws antlr.RecognitionException,
                          antlr.TokenStreamException

forIter

public final void forIter()
                   throws antlr.RecognitionException,
                          antlr.TokenStreamException

casesGroup

public final void casesGroup()
                      throws antlr.RecognitionException,
                             antlr.TokenStreamException

tryBlock

public final void tryBlock()
                    throws antlr.RecognitionException,
                           antlr.TokenStreamException

aCase

public final void aCase()
                 throws antlr.RecognitionException,
                        antlr.TokenStreamException

caseSList

public final void caseSList()
                     throws antlr.RecognitionException,
                            antlr.TokenStreamException

expressionList

public final void expressionList()
                          throws antlr.RecognitionException,
                                 antlr.TokenStreamException

handler

public final void handler()
                   throws antlr.RecognitionException,
                          antlr.TokenStreamException

assignmentExpression

public final void assignmentExpression()
                                throws antlr.RecognitionException,
                                       antlr.TokenStreamException

conditionalExpression

public final void conditionalExpression()
                                 throws antlr.RecognitionException,
                                        antlr.TokenStreamException

logicalOrExpression

public final void logicalOrExpression()
                               throws antlr.RecognitionException,
                                      antlr.TokenStreamException

logicalAndExpression

public final void logicalAndExpression()
                                throws antlr.RecognitionException,
                                       antlr.TokenStreamException

inclusiveOrExpression

public final void inclusiveOrExpression()
                                 throws antlr.RecognitionException,
                                        antlr.TokenStreamException

exclusiveOrExpression

public final void exclusiveOrExpression()
                                 throws antlr.RecognitionException,
                                        antlr.TokenStreamException

andExpression

public final void andExpression()
                         throws antlr.RecognitionException,
                                antlr.TokenStreamException

equalityExpression

public final void equalityExpression()
                              throws antlr.RecognitionException,
                                     antlr.TokenStreamException

relationalExpression

public final void relationalExpression()
                                throws antlr.RecognitionException,
                                       antlr.TokenStreamException

shiftExpression

public final void shiftExpression()
                           throws antlr.RecognitionException,
                                  antlr.TokenStreamException

additiveExpression

public final void additiveExpression()
                              throws antlr.RecognitionException,
                                     antlr.TokenStreamException

multiplicativeExpression

public final void multiplicativeExpression()
                                    throws antlr.RecognitionException,
                                           antlr.TokenStreamException

unaryExpression

public final void unaryExpression()
                           throws antlr.RecognitionException,
                                  antlr.TokenStreamException

unaryExpressionNotPlusMinus

public final void unaryExpressionNotPlusMinus()
                                       throws antlr.RecognitionException,
                                              antlr.TokenStreamException

postfixExpression

public final void postfixExpression()
                             throws antlr.RecognitionException,
                                    antlr.TokenStreamException

primaryExpression

public final void primaryExpression()
                             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

argList

public final void argList()
                   throws antlr.RecognitionException,
                          antlr.TokenStreamException

constant

public final void constant()
                    throws antlr.RecognitionException,
                           antlr.TokenStreamException

newArrayDeclarator

public final void newArrayDeclarator()
                              throws antlr.RecognitionException,
                                     antlr.TokenStreamException