|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
二、Mini Java的文法 BNF Goal ::= MainClass ( TypeDeclaration )* <EOF> MainClass ::= "class" Identifier "{" "public" "static" "void" "main" "(" "String" "[" "]" Identifier ")" "{" PrintStatement "}" "}" TypeDeclaration ::= ClassDeclaration | ClassExtendsDeclaration ClassDeclaration ::= "class" Identifier "{" ( VarDeclaration )* ( MethodDeclaration )* "}" ClassExtendsDeclaration ::= "class" Identifier "extends" Identifier "{" ( VarDeclaration )* ( MethodDeclaration )* "}" VarDeclaration ::= Type Identifier ";" MethodDeclaration ::= "public" Type Identifier "(" ( FormalParameterList )? ")" "{" ( VarDeclaration )* ( Statement )* "return" Expression ";" "}" FormalParameterList ::= FormalParameter ( FormalParameterRest )* FormalParameter ::= Type Identifier FormalParameterRest ::= "," FormalParameter Type ::= ArrayType | BooleanType | IntegerType | Identifier ArrayType ::= "int" "[" "]" BooleanType ::= "boolean" IntegerType ::= "int" Statement ::= Block | AssignmentStatement | ArrayAssignmentStatement | IfStatement | WhileStatement | PrintStatement Block ::= "{" ( Statement )* "}" AssignmentStatement ::= Identifier "=" Expression ";" ArrayAssignmentStatement ::= Identifier "[" Expression "]" "=" Expression ";" IfStatement ::= "if" "(" Expression ")" Statement "else" Statement WhileStatement ::= "while" "(" Expression ")" Statement PrintStatement ::= "System.out.println" "(" Expression ")" ";" Expression ::= AndExpression | CompareExpression | PlusExpression | MinusExpression | TimesExpression | ArrayLookup | ArrayLength | MessageSend | PrimaryExpression AndExpression ::= PrimaryExpression "&&" PrimaryExpression CompareExpression ::= PrimaryExpression "<" PrimaryExpression PlusExpression ::= PrimaryExpression "+" PrimaryExpression MinusExpression ::= PrimaryExpression "-" PrimaryExpression TimesExpression ::= PrimaryExpression "*" PrimaryExpression ArrayLookup ::= PrimaryExpression "[" PrimaryExpression "]" ArrayLength ::= PrimaryExpression "." "length" MessageSend ::= PrimaryExpression "." Identifier "(" ( ExpressionList )? ")" ExpressionList ::= Expression ( ExpressionRest )* ExpressionRest ::= "," Expression PrimaryExpression ::= IntegerLiteral | TrueLiteral | FalseLiteral | Identifier | ThisExpression | ArrayAllocationExpression | AllocationExpression | NotExpression | BracketExpression IntegerLiteral ::= <INTEGER_LITERAL> TrueLiteral ::= "true" FalseLiteral ::= "false" Identifier ::= <IDENTIFIER> ThisExpression ::= "this" ArrayAllocationExpression ::= "new" "int" "[" Expression "]" AllocationExpression ::= "new" Identifier "(" ")" NotExpression ::= "!" Expression BracketExpression ::= "(" Expression ")" 返回类别: 教程 上一教程: Java调用系统执行程序(OS Command) 下一教程: [Eclipse笔记]在SWT中有效的治理图形系统资源 您可以阅读与"Mini Java编译器(二)"相关的教程: · Mini Java编译器(三)??属性翻译文法 · Mini Java编译器(一) · Mini Java编译器(五) · Mini Java编译器(二)??语法(BNF) · Mini Java编译器(六) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |