posts - 40,  comments - 7,  trackbacks - 0
          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]
          ? superSuperSuffix
          ??????? Literal

          ? newCreator
          ??????? Identifier { . Identifier }[ IdentifierSuffix]
          ??????? BasicType {
          []} .class
          ?? void.class

          IdentifierSuffix:
          ??????? [ ( ] {[]} .?? class | Expression ])
          ??????? Arguments
          ??????? .?? (
          class | ExplicitGenericInvocation | this | superArguments | 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:
          ??????? Block
          ???????
          assert Expression [ : Expression] ;
          ???? if ParExpression Statement [else Statement]
          ???? for ( ForControl ) Statement
          ???? while ParExpression Statement
          ???? do Statement while ParExpression?? ;
          ???? try Block ( Catches | [Catches] finally Block )
          ???? switch ParExpression { SwitchBlockStatementGroups }
          ???? synchronized ParExpression Block
          ???? return [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
          ??????? MethodOrFieldDecl
          ???????
          void 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
          ??????? InterfaceGenericMethodDecl
          ???????
          void Identifier VoidInterfaceMethodDeclaratorRest
          ??????? InterfaceDeclaration
          ??????? ClassDeclaration

          InterfaceMethodOrFieldDecl:
          ??????? Type Identifier InterfaceMethodOrFieldRest

          InterfaceMethodOrFieldRest:
          ??????? ConstantDeclaratorsRest ;
          ??????? InterfaceMethodDeclaratorRest

          MethodDeclaratorRest:
          ??????? FormalParameters {
          []} [throwsQualifiedIdentifierList] ( MethodBody |?? ;
          )

          VoidMethodDeclaratorRest:
          ??????? FormalParameters [
          throws QualifiedIdentifierList] ( MethodBody |?? ;? )

          InterfaceMethodDeclaratorRest:
          ??????? FormalParameters {
          []} [throwsQualifiedIdentifierList]? ;

          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
          posted on 2006-08-18 09:00 Lansing 閱讀(373) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2006年8月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          歡迎探討,努力學(xué)習(xí)Java哈

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          Lansing's Download

          Lansing's Link

          我的博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 界首市| 四平市| 平陆县| 荃湾区| 专栏| 城固县| 青海省| 巨野县| 隆林| 南城县| 同德县| 和田市| 泸州市| 石棉县| 壤塘县| 张家界市| 百色市| 青州市| 柘荣县| 乌海市| 乌兰县| 荔浦县| 尤溪县| 明星| 滨州市| 民勤县| 昌乐县| 开江县| 静海县| 辉县市| 洛南县| 英吉沙县| 新昌县| 蒙阴县| 万源市| 虞城县| 岱山县| 南京市| 定南县| 右玉县| 景谷|