- 浏览: 644075 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
HkEndless:
不好意思,请问这确定是回调机制吗。你的例子中只是将接口的实现类 ...
Spring CallBack回调机制介绍 -
hanmiao:
写的真乱啊,完全不知所云...
Java如何调用可执行文件和批处理命令 -
junia_1:
junia_1 写道 shock: ...
为什么要使用EJB -
junia_1:
shock:
为什么要使用EJB -
coollifer:
不错
SQL Server数据导入到Oracle中的方法
Syntax
This chapter presents a grammar for the Java programming language.
The grammar presented piecemeal in the preceding chapters is much better for exposition, but it is not well suited as a basis for a parser. The grammar presented in this chapter is the basis for the reference implementation. Note that it is not an LL(1) grammar, though in many cases it minimizes the necessary look ahead.
The grammar below uses the following BNF-style conventions:
x | y means one of either x or y .
18.1 The Grammar of the Java Programming Language
Identifier: IDENTIFIER QualifiedIdentifier: Identifier { . Identifier } Literal: IntegerLiteral FloatingPointLiteral CharacterLiteral StringLiteral BooleanLiteral NullLiteral Expression: Expression1 [AssignmentOperator Expression1]] AssignmentOperator: = += -= *= /= &= |= ^= %= <<= >>= >>>= Type: Identifier [TypeArguments]{ . Identifier [TypeArguments]} { []} BasicType TypeArguments: < TypeArgument {, TypeArgument} > TypeArgument: Type?
[(extends
|super
) Type] StatementExpression: Expression ConstantExpression: Expression Expression1: Expression2 [Expression1Rest] Expression1Rest: ? Expression : Expression1 Expression2 : Expression3 [Expression2Rest] Expression2Rest: {InfixOp Expression3} Expression3 instanceof Type InfixOp: || && | ^ & == != < > <= >= << >> >>> + - * / % Expression3: PrefixOp Expression3 ( Expression | Type ) Expression3 Primary {Selector} {PostfixOp} Primary: ParExpression NonWildcardTypeArguments (ExplicitGenericInvocationSuffix |this
Arguments)this
[Arguments]super
SuperSuffix Literalnew
Creator Identifier { . Identifier }[ IdentifierSuffix] BasicType { []} .class
void.
class
IdentifierSuffix: [ ( ] { []} .class
| Expression ]) Arguments . (class
| ExplicitGenericInvocation |this
|super
Arguments |new
[NonWildcardTypeArguments] InnerCreator ) ExplicitGenericInvocation: NonWildcardTypeArguments ExplicitGenericInvocationSuffix NonWildcardTypeArguments: < TypeList > ExplicitGenericInvocationSuffix:super
SuperSuffix Identifier Arguments PrefixOp: ++ -- ! ~ + - PostfixOp: ++ -- Selector: Selector: . Identifier [Arguments] . ExplicitGenericInvocation .this
.
super
SuperSuffix .new
[NonWildcardTypeArguments] InnerCreator [ Expression ] SuperSuffix: Arguments . Identifier [Arguments] BasicType:byte
short
char
int
long
float
double
boolean
Arguments: ( [Expression { , Expression }] ) Creator: [NonWildcardTypeArguments] CreatedName ( ArrayCreatorRest | ClassCreatorRest ) CreatedName: Identifier [NonWildcardTypeArguments] {. Identifier [NonWildcardTypeArguments]} InnerCreator: Identifier ClassCreatorRest ArrayCreatorRest: [ ( ] { []} ArrayInitializer | Expression ] { [ Expression ]} { []} ) ClassCreatorRest: Arguments [ClassBody] ArrayInitializer: { [VariableInitializer {, VariableInitializer} [,]] } VariableInitializer: ArrayInitializer Expression ParExpression: ( Expression ) Block: { BlockStatements } BlockStatements: { BlockStatement } BlockStatement : LocalVariableDeclarationStatement ClassOrInterfaceDeclaration [Identifier :] Statement LocalVariableDeclarationStatement: [final
] Type VariableDeclarators ; Statement: Blockassert
Expression [ : Expression] ;if
ParExpression Statement [else
Statement]for
( ForControl ) Statementwhile
ParExpression Statementdo
Statementwhile
ParExpression ;try
Block ( Catches | [Catches]finally
Block )switch
ParExpression { SwitchBlockStatementGroups }synchronized
ParExpression Blockreturn
[Expression] ;throw
Expression ;break
[Identifier]continue
[Identifier] ; StatementExpression ; Identifier : Statement Catches: CatchClause {CatchClause} CatchClause:catch
( FormalParameter ) Block SwitchBlockStatementGroups: { SwitchBlockStatementGroup } SwitchBlockStatementGroup: SwitchLabel BlockStatements SwitchLabel:case
ConstantExpression : case EnumConstantName : default : MoreStatementExpressions: {,
StatementExpression } ForControl: ForVarControl ForInit; [Expression] ; [ForUpdate] ForVarControl [final
] [Annotations] Type Identifier ForVarControlRest Annotations: Annotation [Annotations] Annotation:@
TypeName [(
[Identifier=
] ElementValue)
] ElementValue: ConditionalExpression Annotation ElementValueArrayInitializer ConditionalExpression: Expression2 Expression1Rest ElementValueArrayInitializer:{
[ElementValues] [,
]}
ElementValues: ElementValue [ElementValues] ForVarControlRest: VariableDeclaratorsRest; [Expression] ; [ForUpdate]:
Expression ForInit: StatementExpression Expressions Modifier:Annotation
public
protected
private
static
abstract
final
native
synchronized
transient
volatile strictfp
VariableDeclarators: VariableDeclarator { , VariableDeclarator } VariableDeclaratorsRest: VariableDeclaratorRest { , VariableDeclarator } ConstantDeclaratorsRest: ConstantDeclaratorRest { , ConstantDeclarator } VariableDeclarator: Identifier VariableDeclaratorRest ConstantDeclarator: Identifier ConstantDeclaratorRest VariableDeclaratorRest: { []} [ = VariableInitializer] ConstantDeclaratorRest: { []} = VariableInitializer VariableDeclaratorId: Identifier { []} CompilationUnit: [[Annotations]package
QualifiedIdentifier ; ] {ImportDeclaration} {TypeDeclaration} ImportDeclaration:import
[ static] Identifier { . Identifier } [ . * ] ; TypeDeclaration: ClassOrInterfaceDeclaration ; ClassOrInterfaceDeclaration: {Modifier} (ClassDeclaration | InterfaceDeclaration) ClassDeclaration: NormalClassDeclaration EnumDeclaration NormalClassDeclaration:class
Identifier [TypeParameters] [extends
Type] [implements
TypeList] ClassBody TypeParameters: < TypeParameter {, TypeParameter} > TypeParameter: Identifier [ extends Bound] Bound: Type {& Type} EnumDeclaration: enum Identifier [implements
TypeList] EnumBody EnumBody: { [EnumConstants] [,] [EnumBodyDeclarations] } EnumConstants: EnumConstant EnumConstants , EnumConstant EnumConstant: Annotations Identifier [Arguments] [ClassBody] EnumBodyDeclarations: ; {ClassBodyDeclaration} InterfaceDeclaration: NormalInterfaceDeclaration AnnotationTypeDeclaration NormalInterfaceDeclaration:interface
Identifier [ TypeParameters] [extends
TypeList] InterfaceBody TypeList: Type { , Type} AnnotationTypeDeclaration: @ interface Identifier AnnotationTypeBody AnnotationTypeBody: { [AnnotationTypeElementDeclarations] } AnnotationTypeElementDeclarations: AnnotationTypeElementDeclaration AnnotationTypeElementDeclarations AnnotationTypeElementDeclaration AnnotationTypeElementDeclaration: {Modifier} AnnotationTypeElementRest AnnotationTypeElementRest: Type Identifier AnnotationMethodOrConstantRest; ClassDeclaration InterfaceDeclaration EnumDeclaration AnnotationTypeDeclaration AnnotationMethodOrConstantRest: AnnotationMethodRest AnnotationConstantRest AnnotationMethodRest: ( ) [DefaultValue] AnnotationConstantRest: VariableDeclarators DefaultValue:default
ElementValue ClassBody: { {ClassBodyDeclaration} } InterfaceBody: { {InterfaceBodyDeclaration} } ClassBodyDeclaration: ; [static
] Block {Modifier} MemberDecl MemberDecl: GenericMethodOrConstructorDecl MethodOrFieldDeclvoid
Identifier VoidMethodDeclaratorRest Identifier ConstructorDeclaratorRest InterfaceDeclaration ClassDeclaration GenericMethodOrConstructorDecl: TypeParameters GenericMethodOrConstructorRest GenericMethodOrConstructorRest: (Type |void
) Identifier MethodDeclaratorRest Identifier ConstructorDeclaratorRest MethodOrFieldDecl: Type Identifier MethodOrFieldRest MethodOrFieldRest: VariableDeclaratorRest MethodDeclaratorRest InterfaceBodyDeclaration: ; {Modifier} InterfaceMemberDecl InterfaceMemberDecl: InterfaceMethodOrFieldDecl InterfaceGenericMethodDeclvoid
Identifier VoidInterfaceMethodDeclaratorRest InterfaceDeclaration ClassDeclaration InterfaceMethodOrFieldDecl: Type Identifier InterfaceMethodOrFieldRest InterfaceMethodOrFieldRest: ConstantDeclaratorsRest ; InterfaceMethodDeclaratorRest MethodDeclaratorRest: FormalParameters { []} [throws
QualifiedIdentifierList] ( MethodBody | ; ) VoidMethodDeclaratorRest: FormalParameters [throws
QualifiedIdentifierList] ( MethodBody | ; ) InterfaceMethodDeclaratorRest: FormalParameters { []} [throws
QualifiedIdentifierList] ; InterfaceGenericMethodDecl: TypeParameters (Type |void
) Identifier InterfaceMethodDeclaratorRest VoidInterfaceMethodDeclaratorRest: FormalParameters [throws
QualifiedIdentifierList] ; ConstructorDeclaratorRest: FormalParameters [throws
QualifiedIdentifierList] MethodBody QualifiedIdentifierList: QualifiedIdentifier { , QualifiedIdentifier} FormalParameters: ( [FormalParameterDecls] ) FormalParameterDecls: [final
] [Annotations] Type FormalParameterDeclsRest] FormalParameterDeclsRest: VariableDeclaratorId [ , FormalParameterDecls]...
VariableDeclaratorId MethodBody: Block EnumConstantName: Identifier
发表评论
-
hibernate Restrictions用法 MatchMode.ANYWHERE
2012-07-14 15:50 3873方法 说明 Res ... -
URLClassLoader
2012-05-27 19:45 962This example shows how a serv ... -
MyClassLoader 自定义类加载器
2012-05-27 19:38 1470package demo; import java. ... -
Deal with big-endian and little-endian order
2011-12-25 19:17 1071Java virtual machine always use ... -
修改eclipse的背景色
2011-11-12 19:23 1079eclipse 操作界面默认颜色为白色。对于我们长期 ... -
多线程管道流输入输出模式
2011-11-07 07:23 1060import java.io.* ; class Send ... -
Java计数单字节双字节字符个数的例子
2011-10-26 14:29 1271/* 计数单双字符的个数并存储在Map对象中 ... -
常用内存数据库3
2011-10-24 00:24 14544.1.2 哪些场合适合使用其他的关系型数据库管 ... -
java字节码规则
2011-09-05 13:56 1224栈和局部变量操作 将常量压入栈的指令 aconst_nul ... -
Tomcat中限制ip访问
2011-08-23 21:40 1220Tomcat中限制ip访问是非常简单的,只需要编辑server ... -
一个Java程序员应该掌握的10项技能
2011-08-22 10:27 5881、语法:必须比较熟 ... -
2011 年 8 月 Java 开发人员新闻快讯
2011-08-18 18:59 800Java SE 7 发布了! 经过世界各地 Ja ... -
BlockingQueue
2011-08-13 09:59 684import java.util.concurrent.Arr ... -
eclipse中java项目转换为web项目
2011-07-27 18:29 870经常在eclipse中导入web项目时,出现转不了项目类型 ... -
Oracle官方Weblogic插件安装
2011-07-20 22:00 2836Installing Oracle Enterprise Pa ... -
Java集合HashSet-ArrayList-HashMap的线程同步控制方法和区别
2011-06-21 17:44 2278C ollections类中提供了多 ... -
关于java的集合类,以及HashMap中Set的用法
2011-06-21 17:35 1763import java.util.*; public c ... -
Java的动态代理实例
2011-06-16 03:44 1028首先写一个接口: package net.test.dyna ... -
Java如何调用可执行文件和批处理命令
2011-06-07 00:58 2279Java是种跨平台的语言,我们经常碰到需要通过Java调用wi ... -
jsp实现图片验证码的方法
2011-06-07 00:57 1362调用方法 <img src=&quo ...
相关推荐
The Grammar of Graphics可视化图形语法 书籍下载
The C programming Language By Brian W. Kernighan and Dennis M. Ritchie. Published by Prentice-Hall in 1988 ISBN 0-13-110362-8 (paperback) ISBN 0-13-110370-9 目录结构: Contents Preface Preface ...
set of all possible valid configurations produced by the grammar. (ii) The grammar is embodied in a simple And–Or graph representation where each Or-node points to alternative sub-configurations and ...
Go is a general-purpose language designed with systems programming in mind. It is strongly typed and garbage-collected and has explicit support for concurrent programming. Programs are constructed ...
The C programming Language 第二版英文版 內容列表 Table of Contents Preface.......................................................... Preface to the first edition.......................................
A The C++ Grammar ...................................................................... 793 B Compatibility .............................................................................. 815 C ...
you’ll have a thorough grounding in the core language elements together with the confidence to explore further that comes from a solid understanding of a language’s syntax and grammar. What you’...
图形学方面的经典教材,英文版第二版,希望对大家有帮助
you'll have a thorough grounding in the core language elements together with the confidence to explore further that comes from a solid understanding of a languages syntax and grammar.
The C programming Language.chm <br>The C programming Language By Brian W. Kernighan and Dennis M. Ritchie. Published by Prentice-Hall in 1988 <br>ISBN 0-13-110362-8 (paperback) ISBN 0...
1、Introduction to The Objective-C 2.0 Programming Language 2、Objects and Classes 3、Defining a Class 4、Categories and Extensions 5、Properties 6、Protocols 7、Fast Enumeration 8、How Messaging ...
This book and audio compact disc program instructs students of English as a second language in the elements of grammar, presenting a grammar review that emphasizes speech and correct pronunciation....
java语言基本语法学习,课程PPT详解,简单清晰,适合初学者
Through the authors' carefully constructed explanations and examples, you will develop an understanding of Swift grammar and the elements of effective Swift style. This book is written for Swift 3.0 ...
INTRODUCTION. 1 How to Use This Book. 1 Conventions Used in This Book....What You Don’t Have to Read....Speaking the Java Language . 43 The grammar and the common names. 44 The words in a Java program. 45
the grammar of C#
more productive by removing the boilerplate of Java, and to simplify their programming lives by giving them compelling and straightforward APIs to work with. I’m proud to say that the Groovy team ...
differences between the new Cambridge Grammar of the English Language (CamGr), the Comprehensive Grammar of the English Language (CGEL), and the Longman Grammar of Spoken and Written English (LGSWE). ...
This material is organized to present the details of a programming language. This section serves as a useful reference section for readers who have developed a general understanding of the language. ...