亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? java11.y

?? 現將本人搜集常用的程序設計語言的詞法和形式文法提供給大家。其中
?? Y
字號:
%{
/*------------------------------------------------------------------
 * Copyright (C) 1996, 1997 Dmitri Bronnikov, All rights reserved.
 *
 * THIS GRAMMAR IS PROVIDED "AS IS" WITHOUT  ANY  EXPRESS  OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES  OF  MERCHANTABILITY  AND  FITNESS  FOR  A  PARTICULAR
 * PURPOSE, OR NON-INFRINGMENT.
 *
 * Bronnikov@inreach.com
 *
 *------------------------------------------------------------------
 *
 * VERSION 1.03 DATE 11 NOV 1997
 *
 *------------------------------------------------------------------
 *
 * UPDATES
 *
 * 1.03 Added Java 1.1 changes:
 *      inner classes,
 *      anonymous classes,
 *      non-static initializer blocks,
 *      array initialization by new operator
 * 1.02 Corrected cast expression syntax
 * 1.01 All shift/reduce conflicts, except dangling else, resolved
 *
 *------------------------------------------------------------------
 *
 * PARSING CONFLICTS RESOLVED
 *
 * Some Shift/Reduce conflicts have been resolved at the expense of
 * the grammar defines a superset of the language. The following
 * actions have to be performed to complete program syntax checking:
 *
 * 1) Check that modifiers applied to a class, interface, field,
 *    or constructor are allowed in respectively a class, inteface,
 *    field or constructor declaration. For example, a class
 *    declaration should not allow other modifiers than abstract,
 *    final and public.
 *
 * 2) For an expression statement, check it is either increment, or
 *    decrement, or assignment expression.
 *
 * 3) Check that type expression in a cast operator indicates a type.
 *    Some of the compilers that I have tested will allow simultaneous
 *    use of identically named type and variable in the same scope
 *    depending on context.
 *
 * 4) Change lexical definition to change '[' optionally followed by
 *    any number of white-space characters immediately followed by ']'
 *    to OP_DIM token. I defined this token as [\[]{white_space}*[\]]
 *    in the lexer.
 *
 *------------------------------------------------------------------
 *
 * UNRESOLVED SHIFT/REDUCE CONFLICTS
 *
 * Dangling else in if-then-else
 *
 *------------------------------------------------------------------
 */
%}

%token ABSTRACT
%token BOOLEAN BREAK BYTE BYVALUE
%token CASE CAST CATCH CHAR CLASS CONST CONTINUE
%token DEFAULT DO DOUBLE
%token ELSE EXTENDS
%token FINAL FINALLY FLOAT FOR FUTURE
%token GENERIC GOTO
%token IF IMPLEMENTS IMPORT INNER INSTANCEOF INT INTERFACE
%token LONG
%token NATIVE NEW JNULL
%token OPERATOR OUTER
%token PACKAGE PRIVATE PROTECTED PUBLIC
%token REST RETURN
%token SHORT STATIC SUPER SWITCH SYNCHRONIZED
%token THIS THROW THROWS TRANSIENT TRY
%token VAR VOID VOLATILE
%token WHILE
%token OP_INC OP_DEC
%token OP_SHL OP_SHR OP_SHRR
%token OP_GE OP_LE OP_EQ OP_NE
%token OP_LAND OP_LOR
%token OP_DIM
%token ASS_MUL ASS_DIV ASS_MOD ASS_ADD ASS_SUB
%token ASS_SHL ASS_SHR ASS_SHRR ASS_AND ASS_XOR ASS_OR
%token IDENTIFIER LITERAL BOOLLIT

%start CompilationUnit

%%

TypeSpecifier
	: TypeName
	| TypeName Dims
	;

TypeName
	: PrimitiveType
	| QualifiedName
	;

ClassNameList
        : QualifiedName
        | ClassNameList ',' QualifiedName
	;

PrimitiveType
	: BOOLEAN
	| CHAR
	| BYTE
	| SHORT
	| INT
	| LONG
	| FLOAT
	| DOUBLE
	| VOID
	;

CompilationUnit
	: ProgramFile
        ;

ProgramFile
	: PackageStatement ImportStatements TypeDeclarations
	| PackageStatement ImportStatements
	| PackageStatement                  TypeDeclarations
	|                  ImportStatements TypeDeclarations
	| PackageStatement
	|                  ImportStatements
	|                                   TypeDeclarations
	;

PackageStatement
	: PACKAGE QualifiedName ';'
	;

TypeDeclarations
	: TypeDeclaration
	| TypeDeclarations TypeDeclaration
	;

ImportStatements
	: ImportStatement
	| ImportStatements ImportStatement
	;

ImportStatement
	: IMPORT QualifiedName ';'
	| IMPORT QualifiedName '.' '*' ';'
	;

QualifiedName
	: IDENTIFIER
	| QualifiedName '.' IDENTIFIER
	;

TypeDeclaration
	: ClassHeader '{' FieldDeclarations '}'
	| ClassHeader '{' '}'
	;

ClassHeader
	: Modifiers ClassWord IDENTIFIER Extends Interfaces
	| Modifiers ClassWord IDENTIFIER Extends
	| Modifiers ClassWord IDENTIFIER       Interfaces
	|           ClassWord IDENTIFIER Extends Interfaces
	| Modifiers ClassWord IDENTIFIER
	|           ClassWord IDENTIFIER Extends
	|           ClassWord IDENTIFIER       Interfaces
	|           ClassWord IDENTIFIER
	;

Modifiers
	: Modifier
	| Modifiers Modifier
	;

Modifier
	: ABSTRACT
	| FINAL
	| PUBLIC
	| PROTECTED
	| PRIVATE
	| STATIC
	| TRANSIENT
	| VOLATILE
	| NATIVE
	| SYNCHRONIZED
	;

ClassWord
	: CLASS
	| INTERFACE
	;

Interfaces
	: IMPLEMENTS ClassNameList
	;

FieldDeclarations
	: FieldDeclaration
        | FieldDeclarations FieldDeclaration
	;

FieldDeclaration
	: FieldVariableDeclaration ';'
	| MethodDeclaration
	| ConstructorDeclaration
	| StaticInitializer
        | NonStaticInitializer
        | TypeDeclaration
	;

FieldVariableDeclaration
	: Modifiers TypeSpecifier VariableDeclarators
	|           TypeSpecifier VariableDeclarators
	;

VariableDeclarators
	: VariableDeclarator
	| VariableDeclarators ',' VariableDeclarator
	;

VariableDeclarator
	: DeclaratorName
	| DeclaratorName '=' VariableInitializer
	;

VariableInitializer
	: Expression
	| '{' '}'
        | '{' ArrayInitializers '}'
        ;

ArrayInitializers
	: VariableInitializer
	| ArrayInitializers ',' VariableInitializer
	| ArrayInitializers ','
	;

MethodDeclaration
	: Modifiers TypeSpecifier MethodDeclarator Throws MethodBody
	| Modifiers TypeSpecifier MethodDeclarator        MethodBody
	|           TypeSpecifier MethodDeclarator Throws MethodBody
	|           TypeSpecifier MethodDeclarator        MethodBody
	;

MethodDeclarator
	: DeclaratorName '(' ParameterList ')'
	| DeclaratorName '(' ')'
	| MethodDeclarator OP_DIM
	;

ParameterList
	: Parameter
	| ParameterList ',' Parameter
	;

Parameter
	: TypeSpecifier DeclaratorName
	;

DeclaratorName
	: IDENTIFIER
        | DeclaratorName OP_DIM
        ;

Throws
	: THROWS ClassNameList
	;

MethodBody
	: Block
	| ';'
	;

ConstructorDeclaration
	: Modifiers ConstructorDeclarator Throws Block
	| Modifiers ConstructorDeclarator        Block
	|           ConstructorDeclarator Throws Block
	|           ConstructorDeclarator        Block
	;

ConstructorDeclarator
	: IDENTIFIER '(' ParameterList ')'
	| IDENTIFIER '(' ')'
	;

StaticInitializer
	: STATIC Block
	;

NonStaticInitializer
        : Block
        ;

Extends
	: EXTENDS TypeName
	| Extends ',' TypeName
	;

Block
	: '{' LocalVariableDeclarationsAndStatements '}'
	| '{' '}'
        ;

LocalVariableDeclarationsAndStatements
	: LocalVariableDeclarationOrStatement
	| LocalVariableDeclarationsAndStatements LocalVariableDeclarationOrStatement
	;

LocalVariableDeclarationOrStatement
	: LocalVariableDeclarationStatement
	| Statement
	;

LocalVariableDeclarationStatement
	: TypeSpecifier VariableDeclarators ';'
	;

Statement
	: EmptyStatement
	| LabeledStatement
	| ExpressionStatement ';'
        | SelectionStatement
        | IterationStatement
	| JumpStatement
	| GuardingStatement
	| Block
	;

EmptyStatement
	: ';'
        ;

LabeledStatement
	: IDENTIFIER ':' LocalVariableDeclarationOrStatement
        | CASE ConstantExpression ':' LocalVariableDeclarationOrStatement
	| DEFAULT ':' LocalVariableDeclarationOrStatement
        ;

ExpressionStatement
	: Expression
	;

SelectionStatement
	: IF '(' Expression ')' Statement
        | IF '(' Expression ')' Statement ELSE Statement
        | SWITCH '(' Expression ')' Block
        ;

IterationStatement
	: WHILE '(' Expression ')' Statement
	| DO Statement WHILE '(' Expression ')' ';'
	| FOR '(' ForInit ForExpr ForIncr ')' Statement
	| FOR '(' ForInit ForExpr         ')' Statement
	;

ForInit
	: ExpressionStatements ';'
	| LocalVariableDeclarationStatement
	| ';'
	;

ForExpr
	: Expression ';'
	| ';'
	;

ForIncr
	: ExpressionStatements
	;

ExpressionStatements
	: ExpressionStatement
	| ExpressionStatements ',' ExpressionStatement
	;

JumpStatement
	: BREAK IDENTIFIER ';'
	| BREAK            ';'
        | CONTINUE IDENTIFIER ';'
	| CONTINUE            ';'
	| RETURN Expression ';'
	| RETURN            ';'
	| THROW Expression ';'
	;

GuardingStatement
	: SYNCHRONIZED '(' Expression ')' Statement
	| TRY Block Finally
	| TRY Block Catches
	| TRY Block Catches Finally
	;

Catches
	: Catch
	| Catches Catch
	;

Catch
	: CatchHeader Block
	;

CatchHeader
	: CATCH '(' TypeSpecifier IDENTIFIER ')'
	| CATCH '(' TypeSpecifier ')'
	;

Finally
	: FINALLY Block
	;

PrimaryExpression
	: QualifiedName
	| NotJustName
	;

NotJustName
	: SpecialName
	| NewAllocationExpression
	| ComplexPrimary
	;

ComplexPrimary
	: '(' Expression ')'
	| ComplexPrimaryNoParenthesis
	;

ComplexPrimaryNoParenthesis
	: LITERAL
	| BOOLLIT
	| ArrayAccess
	| FieldAccess
	| MethodCall
	;

ArrayAccess
	: QualifiedName '[' Expression ']'
	| ComplexPrimary '[' Expression ']'
	;

FieldAccess
	: NotJustName '.' IDENTIFIER
	| RealPostfixExpression '.' IDENTIFIER
	;

MethodCall
	: MethodAccess '(' ArgumentList ')'
	| MethodAccess '(' ')'
	;

MethodAccess
	: ComplexPrimaryNoParenthesis
	| SpecialName
	| QualifiedName
	;

SpecialName
	: THIS
	| SUPER
	| JNULL
	;

ArgumentList
	: Expression
	| ArgumentList ',' Expression
	;

NewAllocationExpression
    	: ArrayAllocationExpression
    	| ClassAllocationExpression
    	| ArrayAllocationExpression '{' '}'
    	| ClassAllocationExpression '{' '}'
    	| ArrayAllocationExpression '{' ArrayInitializers '}'
    	| ClassAllocationExpression '{' FieldDeclarations '}'
    	;

ClassAllocationExpression
	: NEW TypeName '(' ArgumentList ')'
	| NEW TypeName '('              ')'
        ;

ArrayAllocationExpression
	: NEW TypeName DimExprs Dims
	| NEW TypeName DimExprs
	;

DimExprs
	: DimExpr
	| DimExprs DimExpr
	;

DimExpr
	: '[' Expression ']'
	;

Dims
	: OP_DIM
	| Dims OP_DIM
	;

PostfixExpression
	: PrimaryExpression
	| RealPostfixExpression
	;

RealPostfixExpression
	: PostfixExpression OP_INC
	| PostfixExpression OP_DEC
	;

UnaryExpression
	: OP_INC UnaryExpression
	| OP_DEC UnaryExpression
	| ArithmeticUnaryOperator CastExpression
	| LogicalUnaryExpression
	;

LogicalUnaryExpression
	: PostfixExpression
	| LogicalUnaryOperator UnaryExpression
	;

LogicalUnaryOperator
	: '~'
	| '!'
	;

ArithmeticUnaryOperator
	: '+'
	| '-'
	;

CastExpression
	: UnaryExpression
	| '(' PrimitiveTypeExpression ')' CastExpression
	| '(' ClassTypeExpression ')' CastExpression
	| '(' Expression ')' LogicalUnaryExpression
	;

PrimitiveTypeExpression
	: PrimitiveType
        | PrimitiveType Dims
        ;

ClassTypeExpression
	: QualifiedName Dims
        ;

MultiplicativeExpression
	: CastExpression
	| MultiplicativeExpression '*' CastExpression
	| MultiplicativeExpression '/' CastExpression
	| MultiplicativeExpression '%' CastExpression
	;

AdditiveExpression
	: MultiplicativeExpression
        | AdditiveExpression '+' MultiplicativeExpression
	| AdditiveExpression '-' MultiplicativeExpression
        ;

ShiftExpression
	: AdditiveExpression
        | ShiftExpression OP_SHL AdditiveExpression
        | ShiftExpression OP_SHR AdditiveExpression
        | ShiftExpression OP_SHRR AdditiveExpression
	;

RelationalExpression
	: ShiftExpression
        | RelationalExpression '<' ShiftExpression
	| RelationalExpression '>' ShiftExpression
	| RelationalExpression OP_LE ShiftExpression
	| RelationalExpression OP_GE ShiftExpression
	| RelationalExpression INSTANCEOF TypeSpecifier
	;

EqualityExpression
	: RelationalExpression
        | EqualityExpression OP_EQ RelationalExpression
        | EqualityExpression OP_NE RelationalExpression
        ;

AndExpression
	: EqualityExpression
        | AndExpression '&' EqualityExpression
        ;

ExclusiveOrExpression
	: AndExpression
	| ExclusiveOrExpression '^' AndExpression
	;

InclusiveOrExpression
	: ExclusiveOrExpression
	| InclusiveOrExpression '|' ExclusiveOrExpression
	;

ConditionalAndExpression
	: InclusiveOrExpression
	| ConditionalAndExpression OP_LAND InclusiveOrExpression
	;

ConditionalOrExpression
	: ConditionalAndExpression
	| ConditionalOrExpression OP_LOR ConditionalAndExpression
	;

ConditionalExpression
	: ConditionalOrExpression
	| ConditionalOrExpression '?' Expression ':' ConditionalExpression
	;

AssignmentExpression
	: ConditionalExpression
	| UnaryExpression AssignmentOperator AssignmentExpression
	;

AssignmentOperator
	: '='
	| ASS_MUL
	| ASS_DIV
	| ASS_MOD
	| ASS_ADD
	| ASS_SUB
	| ASS_SHL
	| ASS_SHR
	| ASS_SHRR
	| ASS_AND
	| ASS_XOR
	| ASS_OR
	;

Expression
	: AssignmentExpression
        ;

ConstantExpression
	: ConditionalExpression
	;

%%

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品一区二区| 日本三级韩国三级欧美三级| 精品少妇一区二区三区日产乱码| 日本道免费精品一区二区三区| 国产成人免费网站| 国产精品一区三区| 国产精品一区二区三区99| 国产九色sp调教91| av在线播放一区二区三区| 国产一区二区日韩精品| 国产精品一区二区在线观看网站| 国产在线国偷精品产拍免费yy| 激情综合网激情| 国产91精品免费| 91麻豆蜜桃一区二区三区| 99久久国产综合精品色伊| 91蜜桃免费观看视频| 在线视频亚洲一区| 91麻豆精品国产91久久久久久| 日韩欧美激情在线| 国产清纯在线一区二区www| 久久久精品国产免大香伊| 亚洲视频一区二区在线| 亚洲一区二区三区四区五区中文| 日韩福利电影在线观看| 精品亚洲aⅴ乱码一区二区三区| 国产成人啪午夜精品网站男同| 成人午夜激情影院| 欧美日韩高清影院| 精品国产一区二区三区久久久蜜月 | 97se亚洲国产综合自在线| 91丝袜美女网| 欧美日韩成人激情| 中文字幕国产一区二区| 亚洲一区日韩精品中文字幕| 精品一区二区三区在线播放| 99久久免费国产| 337p亚洲精品色噜噜狠狠| 中文字幕精品三区| 麻豆一区二区三| 91丝袜国产在线播放| 久久综合九色综合97_久久久| 中文字幕一区二区三区视频| 日韩中文字幕麻豆| 91网站在线播放| www成人在线观看| 亚洲成在人线在线播放| 处破女av一区二区| 日韩一区二区麻豆国产| 亚洲激情av在线| 国产精品综合二区| 欧美日韩亚洲综合| 午夜亚洲福利老司机| av中文字幕不卡| 精品国产91洋老外米糕| 亚洲成国产人片在线观看| 不卡一卡二卡三乱码免费网站| 欧美α欧美αv大片| 午夜在线成人av| 日本韩国欧美一区| 国产精品成人免费精品自在线观看| 毛片基地黄久久久久久天堂| 欧美亚洲国产一卡| 亚洲色图一区二区| 成人黄色777网| 精品国产一区二区三区不卡| 蜜臀久久久99精品久久久久久| 色av一区二区| 亚洲裸体在线观看| 99re这里只有精品首页| 欧美激情一区二区在线| 国产一区不卡视频| 日韩女同互慰一区二区| 免费观看在线综合| 欧美猛男男办公室激情| 亚洲第一精品在线| 欧美日韩国产精品成人| 亚洲成人动漫一区| 911国产精品| 麻豆成人久久精品二区三区红 | 成人综合在线网站| 国产午夜精品在线观看| 国产成人欧美日韩在线电影 | 成人小视频在线| 国产精品久久久久久亚洲伦| 成人精品高清在线| 亚洲色图视频网站| 欧美日韩欧美一区二区| 三级影片在线观看欧美日韩一区二区| 欧美日韩一区二区在线观看| 午夜精品久久久久影视| 4438成人网| 国产在线不卡视频| 欧美极品xxx| 91亚洲精品久久久蜜桃网站| 亚洲一区二区欧美日韩| 欧美美女喷水视频| 国产一区二区三区综合| 国产精品免费网站在线观看| 色妞www精品视频| 狠狠色伊人亚洲综合成人| 国产欧美一区二区三区沐欲| 91日韩精品一区| 亚洲成人av在线电影| 久久亚洲一区二区三区四区| jiyouzz国产精品久久| 亚洲成人久久影院| 久久婷婷综合激情| 色妹子一区二区| 激情成人午夜视频| 亚洲综合小说图片| 久久综合九色欧美综合狠狠| 91香蕉视频黄| 九色综合国产一区二区三区| 国产精品成人在线观看| 欧美一级视频精品观看| 波多野结衣欧美| 日韩电影在线观看网站| 中文字幕中文字幕在线一区| 51精品视频一区二区三区| bt欧美亚洲午夜电影天堂| 美腿丝袜亚洲三区| 亚洲精品五月天| 国产亚洲欧美激情| 欧美一区二区三区在线看| 9色porny自拍视频一区二区| 久久国产精品99精品国产 | 91精品福利在线一区二区三区| 国产成人日日夜夜| 精品一区免费av| 调教+趴+乳夹+国产+精品| 自拍av一区二区三区| 久久久久久亚洲综合影院红桃| 欧美日韩免费高清一区色橹橹 | 久久精品国产色蜜蜜麻豆| 亚洲在线免费播放| 国产精品福利电影一区二区三区四区| 欧美xxxxx牲另类人与| 欧美日本一道本在线视频| 99国产精品99久久久久久| 国产乱码字幕精品高清av| 日韩和欧美一区二区三区| 一区二区三区四区激情| 国产精品国产精品国产专区不片| 精品处破学生在线二十三| 91精品国产综合久久精品图片| 色综合久久88色综合天天6| 成人免费毛片a| 风间由美一区二区三区在线观看 | 久久久久久久网| 欧美成人性福生活免费看| 欧美日韩在线一区二区| 99久精品国产| 91在线观看成人| 色综合久久久久综合| 91免费国产在线观看| 成av人片一区二区| 色综合天天综合狠狠| 一本大道综合伊人精品热热| 99久久婷婷国产| 欧美一区二区三区四区视频| 欧美精品日韩精品| 91精品国产乱| 久久亚洲二区三区| 26uuu成人网一区二区三区| 精品国产青草久久久久福利| 欧美一区二区三级| 精品国产一区二区精华| 久久久精品tv| 国产精品夫妻自拍| 亚洲一区二区三区视频在线| 午夜欧美电影在线观看| 麻豆成人av在线| 成人av电影在线网| 91丨porny丨在线| 欧美日韩综合色| 26uuu欧美| 亚洲欧美色一区| 日本成人中文字幕| 国产精品一级二级三级| 99久免费精品视频在线观看| 99re在线视频这里只有精品| 欧美亚洲高清一区| 精品日韩av一区二区| 国产精品久久久久久久裸模| 亚洲国产视频一区| 国产精选一区二区三区| 色一区在线观看| 欧美大片在线观看一区二区| 国产精品国产三级国产普通话蜜臀| 又紧又大又爽精品一区二区| 美国毛片一区二区| 色一情一乱一乱一91av| 日韩欧美一区二区在线视频| 国产精品国产精品国产专区不片| 奇米精品一区二区三区在线观看 | 亚洲精品国产成人久久av盗摄| 日韩av一级电影| 91欧美一区二区| 精品国产电影一区二区|