|
Web Site | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.janino.Parser
Implementation of a simplified compiler for the JavaTM programming language. The following elements of the Java programming language are implemented:
@deprecated
doc comment tag
public
, protected
and private
) is not checked at compile-time; you will get JVM errors at run-time instead if you call a method that you should not
assert
(a JDK 1.4 language feature) is not yet implemented
Nested Class Summary | |
static class |
Parser.ParseException
An exception that reflects an error during parsing. |
Constructor Summary | |
Parser(Scanner scanner)
|
Method Summary | |
Java.Atom |
parseAdditiveExpression(Java.Scope enclosingScope)
AdditiveExpression := MultiplicativeExpression { ( '+' | '-' ) MultiplicativeExpression } |
Java.Atom |
parseAndExpression(Java.Scope enclosingScope)
AndExpression := EqualityExpression { '&' EqualityExpression } |
Java.Rvalue[] |
parseArgumentList(Java.Scope enclosingScope)
ArgumentList := Expression { ',' Expression } |
Java.Rvalue[] |
parseArguments(Java.Scope enclosingScope)
Arguments := '(' [ ArgumentList ] ')' |
Java.Rvalue |
parseArrayInitializer(Java.Scope enclosingScope,
Java.ArrayType arrayType)
ArrayInitializer := '{' [ VariableInitializer { ',' VariableInitializer } [ ',' ] '}' |
Java.Atom |
parseAssignmentExpression(Java.Scope enclosingScope)
AssignmentExpression := ConditionalExpression [ AssignmentOperator AssignmentExpression ] AssignmentOperator := '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '>>>=' | '&=' | '^=' | '|=' |
Java.Block |
parseBlock(Java.Scope enclosingScope)
'{' BlockStatements '}' |
Java.BlockStatement |
parseBlockStatement(Java.Block enclosingBlock)
BlockStatement := { Identifier ':' } ( ( Modifiers Type | ModifiersOpt BasicType ) LocalVariableDeclarators ';' | 'class' ... |
List |
parseBlockStatements(Java.Block enclosingBlock)
BlockStatements := { BlockStatement } |
Java.Statement |
parseBreakStatement(Java.Scope enclosingScope)
BreakStatement := 'break' [ Identifier ] ';' |
void |
parseClassBody(Java.ClassDeclaration classDeclaration)
ClassBody := '{' { ClassBodyDeclaration } '}' |
void |
parseClassBodyDeclaration(Java.ClassDeclaration classDeclaration)
ClassBodyDeclaration := ';' | ModifiersOpt ( Block | // Instance (JLS2 8.6) or static initializer (JLS2 8.7) 'void' Identifier MethodDeclaratorRest | 'class' ClassDeclarationRest | 'interface' InterfaceDeclarationRest | ConstructorDeclarator | Type Identifier ( MethodDeclaratorRest | FieldDeclaratorsRest ';' ) ) |
Java.NamedClassDeclaration |
parseClassDeclarationRest(Java.Scope enclosingScope,
String optionalDocComment,
short modifiers)
ClassDeclarationRest := Identifier [ 'extends' ReferenceType ] [ 'implements' ReferenceTypeList ] ClassBody |
org.codehaus.janino.Java.NamedTypeDeclaration |
parseClassOrInterfaceDeclaration(Java.Scope enclosingScope)
ClassOrInterfaceDeclaration := ModifiersOpt 'class' ClassDeclarationRest | ModifiersOpt 'interface' InterfaceDeclarationRest |
Java.CompilationUnit |
parseCompilationUnit()
CompilationUnit := [ 'package' QualifiedIdentifier ';' ] { ImportDeclaration } { TypeDeclaration } |
Java.Atom |
parseConditionalAndExpression(Java.Scope enclosingScope)
ConditionalAndExpression := InclusiveOrExpression { '&&' InclusiveOrExpression } |
Java.Atom |
parseConditionalExpression(Java.Scope enclosingScope)
ConditionalExpression := ConditionalOrExpression [ '?' Expression ':' ConditionalExpression ] |
Java.Atom |
parseConditionalOrExpression(Java.Scope enclosingScope)
ConditionalOrExpression := ConditionalAndExpression { '||' ConditionalAndExpression ] |
Java.ConstructorDeclarator |
parseConstructorDeclarator(Java.ClassDeclaration declaringClass,
String optionalDocComment,
short modifiers)
ConstructorDeclarator := FormalParameters [ 'throws' ReferenceTypeList ] '{' [ 'this' Arguments ';' | 'super' Arguments ';' ] BlockStatements '}' |
Java.Statement |
parseContinueStatement(Java.Scope enclosingScope)
ContinueStatement := 'continue' [ Identifier ] ';' |
Java.Rvalue |
parseDimExpr(Java.Scope enclosingScope)
DimExpr := '[' Expression ']' |
Java.Rvalue[] |
parseDimExprs(Java.Scope enclosingScope)
DimExprs := DimExpr { DimExpr } |
Java.Statement |
parseDoStatement(Java.Scope enclosingScope)
DoStatement := 'do' Statement 'while' '(' Expression ')' ';' |
Java.Statement |
parseEmptyStatement(Java.Scope enclosingScope)
EmptyStatement := ';' |
Java.Atom |
parseEqualityExpression(Java.Scope enclosingScope)
EqualityExpression := RelationalExpression { ( '==' | '!=' ) RelationalExpression } |
Java.Atom |
parseExclusiveOrExpression(Java.Scope enclosingScope)
ExclusiveOrExpression := AndExpression { '^' AndExpression } |
Java.Atom |
parseExpression(Java.Scope enclosingScope)
Expression := AssignmentExpression |
Java.Rvalue[] |
parseExpressionList(Java.Scope enclosingScope)
ExpressionList := Expression { ',' Expression } |
Java.Statement |
parseExpressionStatement(Java.Scope enclosingScope)
ExpressionStatement := Expression ';' |
Java.VariableDeclarator[] |
parseFieldDeclaratorsRest(Java.Scope enclosingScope,
Java.Type type,
String name)
FieldDeclaratorsRest := VariableDeclaratorRest { ',' VariableDeclarator } |
Java.FormalParameter |
parseFormalParameter(Java.Scope enclosingScope)
FormalParameter := [ 'final' ] Type Identifier BracketsOpt |
Java.FormalParameter[] |
parseFormalParameters(Java.Scope enclosingScope)
FormalParameters := '(' [ FormalParameter { ',' FormalParameter } ] ')' |
Java.Statement |
parseForStatement(Java.Scope enclosingScope)
ForStatement := 'for' '(' [ ForInit ] ';' [ Expression ] ';' [ ExpressionList ] ')' Statement |
Java.Statement |
parseIfStatement(Java.Scope enclosingScope)
IfStatement := 'if' '(' Expression ')' Statement [ 'else' Statement ] |
Java.ImportDeclaration |
parseImportDeclaration()
ImportDeclaration := 'import' Identifier { '.' Identifier } [ '.' '*' ] ';' |
Java.Atom |
parseInclusiveOrExpression(Java.Scope enclosingScope)
InclusiveOrExpression := ExclusiveOrExpression { '|' ExclusiveOrExpression } |
void |
parseInterfaceBody(Java.InterfaceDeclaration interfaceDeclaration)
InterfaceBody := '{' { ';' | ModifiersOpt ( 'void' Identifier MethodDeclaratorRest | 'class' ClassDeclarationRest | 'interface' InterfaceDeclarationRest | Type Identifier ( MethodDeclaratorRest | FieldDeclaratorsRest ) ) } '}' |
Java.InterfaceDeclaration |
parseInterfaceDeclarationRest(Java.Scope enclosingScope,
String optionalDocComment,
short modifiers)
InterfaceDeclarationRest := Identifier [ 'extends' ReferenceTypeList ] InterfaceBody |
Java.Statement |
parseLabeledStatement(Java.Scope enclosingScope)
LabeledStatement := Identifier ':' Statement |
Java.Atom |
parseLiteral()
|
Java.VariableDeclarator[] |
parseLocalVariableDeclarators(Java.Scope enclosingScope,
Java.Type type)
LocalVariableDeclarators := VariableDeclarator { ',' VariableDeclarator } |
Java.Block |
parseMethodBody(Java.FunctionDeclarator declaringFunction)
MethodBody := Block |
Java.MethodDeclarator |
parseMethodDeclaratorRest(Java.AbstractTypeDeclaration declaringType,
String optionalDocComment,
short modifiers,
Java.Type type,
String name)
MethodDeclaratorRest := FormalParameters { '[' ']' } [ 'throws' ReferenceTypeList ] ( ';' | MethodBody ) |
short |
parseModifiersOpt()
ModifiersOpt := { 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp' |
Java.Atom |
parseMultiplicativeExpression(Java.Scope enclosingScope)
MultiplicativeExpression := UnaryExpression { ( '*' | '/' | '%' ) UnaryExpression } |
Java.Atom |
parsePrimary(Java.Scope enclosingScope)
Primary := '(' PrimitiveType { '[]' } ')' UnaryExpression | // CastExpression 15.16 '(' Expression ')' UnaryExpression | // CastExpression 15.16 '(' Expression ')' | // ParenthesizedExpression 15.8.5 Literal | // Literal 15.8.1 Name | // AmbiguousName Name Arguments | // MethodInvocation Name '[]' { '[]' } | // ArrayType 10.1 Name '[]' { '[]' } '.' 'class' | // ClassLiteral 15.8.2 'this' | // This 15.8.3 'this' Arguments | // Alternate constructor invocation 8.8.5.1 'super' Arguments | // Unqualified superclass constructor invocation 8.8.5.1 'super' '.' Identifier | // SuperclassFieldAccess 15.11.2 'super' '.' Identifier Arguments | // SuperclassMethodInvocation 15.12.4.9 'new' ReferenceType Arguments [ ClassBody ] | // ClassInstanceCreationExpression 15.9 'new' Type DimExprs { '[]' } | // ArrayCreationExpression 15.10 'new' ArrayType ArrayInitializer | // ArrayInitializer 10.6 BasicType { '[]' } | // Type BasicType { '[]' } '.' 'class' | // ClassLiteral 15.8.2 'void' '.' 'class' // ClassLiteral 15.8.2 |
String[] |
parseQualifiedIdentifier()
QualifiedIdentifier := Identifier { '.' Identifier } |
Java.ReferenceType |
parseReferenceType(Java.Scope scope)
ReferenceType := QualifiedIdentifier |
Java.ReferenceType[] |
parseReferenceTypeList(Java.Scope scope)
ReferenceTypeList := ReferenceType { ',' ReferenceType } |
Java.Atom |
parseRelationalExpression(Java.Scope enclosingScope)
RelationalExpression := ShiftExpression { ( ( '<' | '>' | '<=' | '>=' ) ShiftExpression ) | ( 'instanceof' ReferenceType ) } |
Java.Statement |
parseReturnStatement(Java.Scope enclosingScope)
ReturnStatement := 'return' [ Expression ] ';' |
Java.Atom |
parseSelector(Java.Scope enclosingScope,
Java.Atom atom)
Selector := '.' Identifier | // FieldAccess 15.11.1 '.' Identifier Arguments | // MethodInvocation '.' 'this' // QualifiedThis 15.8.4 '.' 'super' Arguments // Qualified superclass constructor invocation (JLS 8.8.5.1) '.' 'super' '.' Identifier | // SuperclassFieldReference (JLS 15.11.2) '.' 'super' '.' Identifier Arguments | // SuperclassMethodInvocation (JLS 15.12.4.9) '.' 'new' Identifier Arguments [ ClassBody ] | // QualifiedClassInstanceCreationExpression 15.9 '.' 'class' '[' Expression ']' // ArrayAccessExpression 15.13 |
Java.Atom |
parseShiftExpression(Java.Scope enclosingScope)
ShiftExpression := AdditiveExpression { ( '<<' | '>>' | '>>>' ) AdditiveExpression } |
Java.Statement |
parseStatement(Java.Scope enclosingScope)
Statement := LabeledStatement | Block | IfStatement | ForStatement | WhileStatement | DoStatement | TryStatement | 'switch' ... |
Java.Statement |
parseSwitchStatement(Java.Scope enclosingScope)
SwitchStatement := 'switch' '(' Expression ')' '{' { SwitchLabels BlockStatements } '}' SwitchLabels := SwitchLabels { SwitchLabels } SwitchLabel := 'case' Expression ':' | 'default' ':' |
Java.Statement |
parseSynchronizedStatement(Java.Scope enclosingScope)
SynchronizedStatement := 'synchronized' '(' expression ')' Block |
Java.Statement |
parseThrowStatement(Java.Scope enclosingScope)
ThrowStatement := 'throw' Expression ';' |
Java.Statement |
parseTryStatement(Java.Scope enclosingScope)
TryStatement := 'try' Block Catches [ Finally ] | 'try' Block Finally Catches := CatchClause { CatchClause } CatchClause := 'catch' '(' FormalParameter ')' Block Finally := 'finally' Block |
Java.Type |
parseType(Java.Scope scope)
Type := ( 'byte' | 'short' | 'char' | 'int' | 'long' | 'float' | 'double' | 'boolean' | ReferenceType ) { '[' ']' } |
org.codehaus.janino.Java.NamedTypeDeclaration |
parseTypeDeclaration(Java.CompilationUnit compilationUnit)
TypeDeclaration := ClassOrInterfaceDeclaration |
Java.Atom |
parseUnaryExpression(Java.Scope enclosingScope)
UnaryExpression := { PrefixOperator } Primary { Selector } { PostfixOperator } PrefixOperator := '++' | '--' | '+' | '-' | '~' | '!' PostfixOperator := '++' | '--' |
Java.VariableDeclarator |
parseVariableDeclarator(Java.Scope enclosingScope,
Java.Type type)
VariableDeclarator := Identifier VariableDeclaratorRest |
Java.VariableDeclarator |
parseVariableDeclaratorRest(Java.Scope enclosingScope,
Java.Type type,
String name)
VariableDeclaratorRest := { '[' ']' } [ '=' VariableInitializer ] |
Java.Rvalue |
parseVariableInitializer(Java.Scope enclosingScope,
Java.Type type)
VariableInitializer := ArrayInitializer | Expression |
Java.Statement |
parseWhileStatement(Java.Scope enclosingScope)
WhileStatement := 'while' '(' Expression ')' Statement |
void |
setWarningHandler(WarningHandler warningHandler)
By default, warnings are discarded, but an application my install a (thread-local) WarningHandler . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public Parser(Scanner scanner)
Method Detail |
public Java.CompilationUnit parseCompilationUnit() throws Parser.ParseException, Scanner.ScanException, IOException
CompilationUnit := [ 'package' QualifiedIdentifier ';' ] { ImportDeclaration } { TypeDeclaration }
Parser.ParseException
Scanner.ScanException
IOException
public Java.ImportDeclaration parseImportDeclaration() throws Parser.ParseException, Scanner.ScanException, IOException
ImportDeclaration := 'import' Identifier { '.' Identifier } [ '.' '*' ] ';'
Parser.ParseException
Scanner.ScanException
IOException
public String[] parseQualifiedIdentifier() throws Parser.ParseException, Scanner.ScanException, IOException
Parser.ParseException
Scanner.ScanException
IOException
public org.codehaus.janino.Java.NamedTypeDeclaration parseTypeDeclaration(Java.CompilationUnit compilationUnit) throws Parser.ParseException, Scanner.ScanException, IOException
TypeDeclaration := ClassOrInterfaceDeclaration
Parser.ParseException
Scanner.ScanException
IOException
public org.codehaus.janino.Java.NamedTypeDeclaration parseClassOrInterfaceDeclaration(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
ClassOrInterfaceDeclaration := ModifiersOpt 'class' ClassDeclarationRest | ModifiersOpt 'interface' InterfaceDeclarationRest
Parser.ParseException
Scanner.ScanException
IOException
public short parseModifiersOpt() throws Parser.ParseException, Scanner.ScanException, IOException
ModifiersOpt := { 'public' | 'protected' | 'private' | 'static' | 'abstract' | 'final' | 'native' | 'synchronized' | 'transient' | 'volatile' | 'strictfp'
Parser.ParseException
Scanner.ScanException
IOException
public Java.NamedClassDeclaration parseClassDeclarationRest(Java.Scope enclosingScope, String optionalDocComment, short modifiers) throws Parser.ParseException, Scanner.ScanException, IOException
ClassDeclarationRest := Identifier [ 'extends' ReferenceType ] [ 'implements' ReferenceTypeList ] ClassBody
Parser.ParseException
Scanner.ScanException
IOException
public void parseClassBody(Java.ClassDeclaration classDeclaration) throws Parser.ParseException, Scanner.ScanException, IOException
ClassBody := '{' { ClassBodyDeclaration } '}'
Parser.ParseException
Scanner.ScanException
IOException
public void parseClassBodyDeclaration(Java.ClassDeclaration classDeclaration) throws Parser.ParseException, Scanner.ScanException, IOException
ClassBodyDeclaration := ';' | ModifiersOpt ( Block | // Instance (JLS2 8.6) or static initializer (JLS2 8.7) 'void' Identifier MethodDeclaratorRest | 'class' ClassDeclarationRest | 'interface' InterfaceDeclarationRest | ConstructorDeclarator | Type Identifier ( MethodDeclaratorRest | FieldDeclaratorsRest ';' ) )
Parser.ParseException
Scanner.ScanException
IOException
public Java.InterfaceDeclaration parseInterfaceDeclarationRest(Java.Scope enclosingScope, String optionalDocComment, short modifiers) throws Parser.ParseException, Scanner.ScanException, IOException
InterfaceDeclarationRest := Identifier [ 'extends' ReferenceTypeList ] InterfaceBody
Parser.ParseException
Scanner.ScanException
IOException
public void parseInterfaceBody(Java.InterfaceDeclaration interfaceDeclaration) throws Parser.ParseException, Scanner.ScanException, IOException
InterfaceBody := '{' { ';' | ModifiersOpt ( 'void' Identifier MethodDeclaratorRest | 'class' ClassDeclarationRest | 'interface' InterfaceDeclarationRest | Type Identifier ( MethodDeclaratorRest | FieldDeclaratorsRest ) ) } '}'
Parser.ParseException
Scanner.ScanException
IOException
public Java.ConstructorDeclarator parseConstructorDeclarator(Java.ClassDeclaration declaringClass, String optionalDocComment, short modifiers) throws Parser.ParseException, Scanner.ScanException, IOException
ConstructorDeclarator := FormalParameters [ 'throws' ReferenceTypeList ] '{' [ 'this' Arguments ';' | 'super' Arguments ';' ] BlockStatements '}'
Parser.ParseException
Scanner.ScanException
IOException
public Java.MethodDeclarator parseMethodDeclaratorRest(Java.AbstractTypeDeclaration declaringType, String optionalDocComment, short modifiers, Java.Type type, String name) throws Parser.ParseException, Scanner.ScanException, IOException
MethodDeclaratorRest := FormalParameters { '[' ']' } [ 'throws' ReferenceTypeList ] ( ';' | MethodBody )
Parser.ParseException
Scanner.ScanException
IOException
public Java.Rvalue parseVariableInitializer(Java.Scope enclosingScope, Java.Type type) throws Parser.ParseException, Scanner.ScanException, IOException
VariableInitializer := ArrayInitializer | Expression
Parser.ParseException
Scanner.ScanException
IOException
public Java.Rvalue parseArrayInitializer(Java.Scope enclosingScope, Java.ArrayType arrayType) throws Parser.ParseException, Scanner.ScanException, IOException
ArrayInitializer := '{' [ VariableInitializer { ',' VariableInitializer } [ ',' ] '}'
Parser.ParseException
Scanner.ScanException
IOException
public Java.FormalParameter[] parseFormalParameters(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
FormalParameters := '(' [ FormalParameter { ',' FormalParameter } ] ')'
Parser.ParseException
Scanner.ScanException
IOException
public Java.FormalParameter parseFormalParameter(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
FormalParameter := [ 'final' ] Type Identifier BracketsOpt
Parser.ParseException
Scanner.ScanException
IOException
public Java.Block parseMethodBody(Java.FunctionDeclarator declaringFunction) throws Parser.ParseException, Scanner.ScanException, IOException
MethodBody := Block
Parser.ParseException
Scanner.ScanException
IOException
public Java.Block parseBlock(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
'{' BlockStatements '}'
Parser.ParseException
Scanner.ScanException
IOException
public List parseBlockStatements(Java.Block enclosingBlock) throws Parser.ParseException, Scanner.ScanException, IOException
BlockStatements := { BlockStatement }
Parser.ParseException
Scanner.ScanException
IOException
public Java.BlockStatement parseBlockStatement(Java.Block enclosingBlock) throws Parser.ParseException, Scanner.ScanException, IOException
BlockStatement := { Identifier ':' } ( ( Modifiers Type | ModifiersOpt BasicType ) LocalVariableDeclarators ';' | 'class' ... | Statement | 'final' Type LocalVariableDeclarators ';' | Expression ';' | Expression LocalVariableDeclarators ';' (1) )(1) "Expression" must pose a type, and has optional trailing brackets.
Parser.ParseException
Scanner.ScanException
IOException
public Java.VariableDeclarator[] parseLocalVariableDeclarators(Java.Scope enclosingScope, Java.Type type) throws Parser.ParseException, Scanner.ScanException, IOException
LocalVariableDeclarators := VariableDeclarator { ',' VariableDeclarator }
Parser.ParseException
Scanner.ScanException
IOException
public Java.VariableDeclarator[] parseFieldDeclaratorsRest(Java.Scope enclosingScope, Java.Type type, String name) throws Parser.ParseException, Scanner.ScanException, IOException
FieldDeclaratorsRest := VariableDeclaratorRest { ',' VariableDeclarator }
Parser.ParseException
Scanner.ScanException
IOException
public Java.VariableDeclarator parseVariableDeclarator(Java.Scope enclosingScope, Java.Type type) throws Parser.ParseException, Scanner.ScanException, IOException
VariableDeclarator := Identifier VariableDeclaratorRest
Parser.ParseException
Scanner.ScanException
IOException
public Java.VariableDeclarator parseVariableDeclaratorRest(Java.Scope enclosingScope, Java.Type type, String name) throws Parser.ParseException, Scanner.ScanException, IOException
VariableDeclaratorRest := { '[' ']' } [ '=' VariableInitializer ]Used by field declarations and local variable declarations.
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
Statement := LabeledStatement | Block | IfStatement | ForStatement | WhileStatement | DoStatement | TryStatement | 'switch' ... | 'synchronized' ... | ReturnStatement | ThrowStatement | BreakStatement | ContinueStatement | EmptyStatement | ExpressionStatement
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseLabeledStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
LabeledStatement := Identifier ':' Statement
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseIfStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
IfStatement := 'if' '(' Expression ')' Statement [ 'else' Statement ]
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseForStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
ForStatement := 'for' '(' [ ForInit ] ';' [ Expression ] ';' [ ExpressionList ] ')' Statement
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseWhileStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
WhileStatement := 'while' '(' Expression ')' Statement
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseDoStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
DoStatement := 'do' Statement 'while' '(' Expression ')' ';'
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseTryStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
TryStatement := 'try' Block Catches [ Finally ] | 'try' Block Finally Catches := CatchClause { CatchClause } CatchClause := 'catch' '(' FormalParameter ')' Block Finally := 'finally' Block
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseSwitchStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
SwitchStatement := 'switch' '(' Expression ')' '{' { SwitchLabels BlockStatements } '}' SwitchLabels := SwitchLabels { SwitchLabels } SwitchLabel := 'case' Expression ':' | 'default' ':'
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseSynchronizedStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
SynchronizedStatement := 'synchronized' '(' expression ')' Block
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseReturnStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
ReturnStatement := 'return' [ Expression ] ';'
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseThrowStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
ThrowStatement := 'throw' Expression ';'
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseBreakStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
BreakStatement := 'break' [ Identifier ] ';'
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseContinueStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
ContinueStatement := 'continue' [ Identifier ] ';'
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseEmptyStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
EmptyStatement := ';'
Parser.ParseException
Scanner.ScanException
IOException
public Java.Rvalue[] parseExpressionList(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
ExpressionList := Expression { ',' Expression }
Parser.ParseException
Scanner.ScanException
IOException
public Java.Type parseType(Java.Scope scope) throws Parser.ParseException, Scanner.ScanException, IOException
Type := ( 'byte' | 'short' | 'char' | 'int' | 'long' | 'float' | 'double' | 'boolean' | ReferenceType ) { '[' ']' }
Parser.ParseException
Scanner.ScanException
IOException
public Java.ReferenceType parseReferenceType(Java.Scope scope) throws Parser.ParseException, Scanner.ScanException, IOException
ReferenceType := QualifiedIdentifier
Parser.ParseException
Scanner.ScanException
IOException
public Java.ReferenceType[] parseReferenceTypeList(Java.Scope scope) throws Parser.ParseException, Scanner.ScanException, IOException
ReferenceTypeList := ReferenceType { ',' ReferenceType }
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
Expression := AssignmentExpression
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseAssignmentExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
AssignmentExpression := ConditionalExpression [ AssignmentOperator AssignmentExpression ] AssignmentOperator := '=' | '*=' | '/=' | '%=' | '+=' | '-=' | '<<=' | '>>=' | '>>>=' | '&=' | '^=' | '|='
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseConditionalExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
ConditionalExpression := ConditionalOrExpression [ '?' Expression ':' ConditionalExpression ]
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseConditionalOrExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
ConditionalOrExpression := ConditionalAndExpression { '||' ConditionalAndExpression ]
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseConditionalAndExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
ConditionalAndExpression := InclusiveOrExpression { '&&' InclusiveOrExpression }
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseInclusiveOrExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
InclusiveOrExpression := ExclusiveOrExpression { '|' ExclusiveOrExpression }
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseExclusiveOrExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
ExclusiveOrExpression := AndExpression { '^' AndExpression }
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseAndExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
AndExpression := EqualityExpression { '&' EqualityExpression }
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseEqualityExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
EqualityExpression := RelationalExpression { ( '==' | '!=' ) RelationalExpression }
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseRelationalExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
RelationalExpression := ShiftExpression { ( ( '<' | '>' | '<=' | '>=' ) ShiftExpression ) | ( 'instanceof' ReferenceType ) }
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseShiftExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
ShiftExpression := AdditiveExpression { ( '<<' | '>>' | '>>>' ) AdditiveExpression }
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseAdditiveExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
AdditiveExpression := MultiplicativeExpression { ( '+' | '-' ) MultiplicativeExpression }
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseMultiplicativeExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
MultiplicativeExpression := UnaryExpression { ( '*' | '/' | '%' ) UnaryExpression }
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseUnaryExpression(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
UnaryExpression := { PrefixOperator } Primary { Selector } { PostfixOperator } PrefixOperator := '++' | '--' | '+' | '-' | '~' | '!' PostfixOperator := '++' | '--'
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parsePrimary(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
Primary := '(' PrimitiveType { '[]' } ')' UnaryExpression | // CastExpression 15.16 '(' Expression ')' UnaryExpression | // CastExpression 15.16 '(' Expression ')' | // ParenthesizedExpression 15.8.5 Literal | // Literal 15.8.1 Name | // AmbiguousName Name Arguments | // MethodInvocation Name '[]' { '[]' } | // ArrayType 10.1 Name '[]' { '[]' } '.' 'class' | // ClassLiteral 15.8.2 'this' | // This 15.8.3 'this' Arguments | // Alternate constructor invocation 8.8.5.1 'super' Arguments | // Unqualified superclass constructor invocation 8.8.5.1 'super' '.' Identifier | // SuperclassFieldAccess 15.11.2 'super' '.' Identifier Arguments | // SuperclassMethodInvocation 15.12.4.9 'new' ReferenceType Arguments [ ClassBody ] | // ClassInstanceCreationExpression 15.9 'new' Type DimExprs { '[]' } | // ArrayCreationExpression 15.10 'new' ArrayType ArrayInitializer | // ArrayInitializer 10.6 BasicType { '[]' } | // Type BasicType { '[]' } '.' 'class' | // ClassLiteral 15.8.2 'void' '.' 'class' // ClassLiteral 15.8.2
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseSelector(Java.Scope enclosingScope, Java.Atom atom) throws Parser.ParseException, Scanner.ScanException, IOException
Selector := '.' Identifier | // FieldAccess 15.11.1 '.' Identifier Arguments | // MethodInvocation '.' 'this' // QualifiedThis 15.8.4 '.' 'super' Arguments // Qualified superclass constructor invocation (JLS 8.8.5.1) '.' 'super' '.' Identifier | // SuperclassFieldReference (JLS 15.11.2) '.' 'super' '.' Identifier Arguments | // SuperclassMethodInvocation (JLS 15.12.4.9) '.' 'new' Identifier Arguments [ ClassBody ] | // QualifiedClassInstanceCreationExpression 15.9 '.' 'class' '[' Expression ']' // ArrayAccessExpression 15.13
Parser.ParseException
Scanner.ScanException
IOException
public Java.Rvalue[] parseDimExprs(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
DimExprs := DimExpr { DimExpr }
Parser.ParseException
Scanner.ScanException
IOException
public Java.Rvalue parseDimExpr(Java.Scope enclosingScope) throws Scanner.ScanException, Parser.ParseException, IOException
DimExpr := '[' Expression ']'
Scanner.ScanException
Parser.ParseException
IOException
public Java.Rvalue[] parseArguments(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
Arguments := '(' [ ArgumentList ] ')'
Parser.ParseException
Scanner.ScanException
IOException
public Java.Rvalue[] parseArgumentList(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
ArgumentList := Expression { ',' Expression }
Parser.ParseException
Scanner.ScanException
IOException
public Java.Atom parseLiteral() throws Parser.ParseException, Scanner.ScanException, IOException
Parser.ParseException
Scanner.ScanException
IOException
public Java.Statement parseExpressionStatement(Java.Scope enclosingScope) throws Parser.ParseException, Scanner.ScanException, IOException
ExpressionStatement := Expression ';'
Parser.ParseException
Scanner.ScanException
IOException
public void setWarningHandler(WarningHandler warningHandler)
WarningHandler
.
|
Web Site | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |