随笔-91  评论-137  文章-0  trackbacks-0

分析器文法:

 1 %token    "%token" "%start"                ;
 2 %token    ";" "->" "|"                    ;
 3 
 4 %start program                        ;
 5 
 6 program        ->    item_list
 7         ;
 8 
 9 item_list    ->    item_list item
10         |    item
11         ;
12 
13 item        ->    token_def ";"
14         |    start_def ";"
15         |    rule_def ";"
16         |    ";"
17         ;
18 
19 token_def    ->    token_def "{String}"
20         |    "%token" "{String}"
21         ;
22 
23 start_def    ->    "%start" "{Symbol}"
24         ;
25 
26 rule_def    ->    "{Symbol}" "->" rhs_list
27         ;
28 
29 rhs_list    ->    rhs_list "|" rhs
30         |    rhs
31         ;
32 
33 rhs        ->    rhs "{String}"
34         |    rhs "{Symbol}"
35         |    "{String}"
36         |    "{Symbol}"
37         ;
38 
NScriptMacro
主要用来将给定的文法文件转化为LALR(1)分析表,生成的cpp和h文件可使用分析器分析,out文件是语法分析表
里面有个简单的CMinus的例子
posted on 2010-08-30 17:29 lwch 阅读(1470) 评论(1)  编辑 收藏 引用 所属分类: NScript

评论:
# re: 已完成语法分析器 2010-08-30 19:39 | Tanky Woo
Orz  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理