网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.编程技术Java SE 6 新特性: HTTP.
.对Java提供的两个Map进行的性能测.
.常用log4j配置.
.Java 编译、反编译、反反编译.
.acos 方法.
.软件开发规范(2).
.深入讨论JAVA字节码加密技术(2).
.TOMCAT源码分析(启动框架).
.建立一个结构合理的概念框架.
.Java的简单数据类型.
.Java动画编程基础.
.Java实时应用程序中的内存管理.
.基于tomcat5.5的数据库连接池环境.
.javaswing9.27课程.
.JAVA虚拟机几个命令行参数说明.
.在Java中操作扫描仪(使用JNI).
.Web 服务代理组件创建 JSF Web 服.
.论两个关于*.hbm.xml配置异常的解.
.Eclipse 3.1中用注释单元测试框架.
.一个在程序中实现plugin机制的简.

Mini Java编译器(二)——语法(BNF)

发表日期:2008-1-5



  二、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
上一篇:JavaHead:Java小程序的是是非非 人气:767
下一篇:Mini Java编译器(二) 人气:1277
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐