编译原理(语法析分程序设计).docVIP

  • 7
  • 0
  • 约3.36千字
  • 约 13页
  • 2017-03-05 发布于四川
  • 举报
编译原理(语法析分程序设计)

一、实验内容和目的 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)

1亿VIP精品文档

相关文档