- 24
- 0
- 约3.36千字
- 约 11页
- 2016-11-23 发布于贵州
- 举报
编译原理(语法分程序设计)
一、实验内容和目的
1. 已知待分析的C语言子集的语法,用EBNF表示如下:
(1) 程序→main()语句块
(2) 语句块→“{” 语句串“}”
(3) 语句串→语句{;语句} ;
(4) 语句→赋值语句|条件语句|循环语句
(5) 赋值语句→ID=表达式
(6) 条件语句→if(条件)语句块
(7) 循环语句→while(条件)语句块
(8) 条件→表达式关系运算符表达式
(9) 表达式→项{+项}|项{-项}
(10) 项→因子{*因子}|因子{/因子}
(11) 因子→ID|NUM|(表达式)
(12) 关系运算符→|=||=|==|!=
2. 实验目的、要求实现的功能
实验目的:编制一个语法分析程序,实现对词法分析程序所提供的单词序列进行语法检查和结构分析。
实验要求:在上机(一)词法分析的基础上,采用递归子程序法或其他适合的语法分析方法,实现其语法分析程序。要求编译后能检查出语法错误。
3. 将实验方法改写为适合预测分析法的文法如下:
(1) 程序→main()语句块
(2) 语句块→{ 语句串}
(3) 语句串→语句; 语句串
(3_1) 语句串→ε
(4) 语句→赋值语句
(5) 语句→条件语句
(6) 语句→循环语句
(7) 赋值语句→ID=表达式
(8) 条件语句→if(条件)语句块
(9) 循环语句→while(条件)语句块
(10) 条件→表达式关系运算
原创力文档

文档评论(0)