联盟首页 协同开发 共创软件 开放源码 软件工程 共创论坛 关于联盟
  您的位置 » 2004年10月29日  
通过SSL登录
新用户通过SSL注册

完全匹配   
项目摘要

项目维护

软件分类表
新发布软件
代码片断

项目名称: Fava:
文档管理: 显示文档


摘要| 管理| 首页| 论坛| 跟踪| 错误| 支持| 补丁| 电子邮件| 任务| 文档 |  新闻| CVS| 软件包|

提交新文档 | 查看文档 | 管理


FScript Grammar v0.3
------------------------------------------------------------
program -> declaration-list
declaration-list -> declaration-list declaration | declaration
declaration -> package-declaration-list ; | class-declaration-list ; | main-function-declaration
package-declaration-list -> package-declaration-list package-declaration | package-declaration
package-declaration -> package-id-list
package-id-list -> package-id-list :: ID | ID
class-declaration-list -> class-declaration-list; class-declaration | class-declaration
class-declaration -> { class-body-declaration }
class-body-declaration -> class-member-declaration-list constructor-declaration-list
class-member-declaration-list -> field-declaration-list ;| method-declaration-list | class-declaration-list ; | null
field-declaration-list -> field-declaration-list ; field-declaration | field-declaration
field-declaration -> modifier-list varivable varivable-list ; | varivable varivable-list;
modifier-list -> modifier-list modifier | modifier
modifier -> friend | public | private | protected | virtual | static | extern
varivable-list -> varivable-declaration, varivable-list | varivable-declaration
varivable-declaration -> ID | ID = expression
method-declaration-list -> method-declaration-list method-declaration | method-declaration
method-declaration -> modifier function ID function-arg-list compound-statement | function ID (function-arg-list ) compound-statement
constructor-declaration-list -> constructor-declaration-list ; constructor-declaration | constructor-declaratoin
constructor-declaration -> ID (function-arg-list) compound-statement
main-function-declaration -> function main( main-function-arg-list ) compound-statment
main-function-arg-list -> ID , ID
compound-statement -> { statment-list }
statement-list -> statement-list statement | statement
statetment -> compound-statement
| if ( expression ) statement
| if ( expression ) statement else statement
| while ( expression ) statement
| for ( expression[opt] ; expression[opt] ; expression[opt] ) statement
| expression ? expression : expression ;
| switch ( expression ) { case-statement }
| break ;
| continue ;
| return expression[opt] ;
| variable variable-list ;
| function ID function-arg-list compound-statement
| expression ;
| ;
case-statement -> label-statement statement
label-statement -> case expression: | default:
expression -> unary-expression | binary-expression infix-operator unary-expression
unary-expression -> postfix-expression | unary-operator postfix-expression
postfix-expression -> primary-expression
| postfix-expression [ expression ]
| postfix-expression ( function-arg-lis )
| postfix-expression infix-operator expression
| postfix-expression postfix-operator
binary-expression -> unary-expression infix-operator binary-expression | unary-expression
primary-expression -> ID
| ( expression )
| ()
| [ expression ]
| -> expression
| :: expression
| this
| literal
prefix-operator -> ++
|--
| !
| ^
infix-operator -> ||
| &&
| ==
| !=
| <=
| >=
| +=
| -=
| /=
| %=
| |=
| ^=
| |
| ^
| &
| <
| >
| +
| -
| *
| /
| %
postfix-operator -> ++ | --
literal -> integer-literal
| floating-literal
| character-literal
| string-literal
| boolean-literal
| null-literal

  » 合 作 伙 伴