WEB开发网
开发学院WEB开发Jsp Mini Java编译器(二) 阅读

Mini Java编译器(二)

 2008-01-05 09:16:03 来源:WEB开发网   
核心提示:二、Mini java的文法BNFGoal ::= MainClass ( TypeDeclaration )* <EOF> MainClass ::= "class" Identifier "{" "public" "static&qu

  二、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



Tags:Mini Java 编译器

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接