《Tiny语言的语法分析》一文深入探讨了针对Tiny编译器设计的一种简单编程语言的语法规则及其解析技术,旨在帮助初学者理解编译原理中的词法与语法分析过程。
实验内容:
扩充的语法规则包括实现 while、do-while 和 for 语句以及大于(>)比较运算符与求余计算表达式,具体的文法规则需自行构造。
参考:P97及P136页的文法规则
(1) While-stmt --> while exp do stmt-sequence endwhile
(2) Dowhile-stmt-->do stmt-sequence while(exp);
(3) for-stmt-->for identifier:=simple-exp to simple-exp do stmt-sequence enddo 步长递增1
(4) for-stmt-->for identifier:=simple-exp downto simple-exp do stmt-sequence enddo 步长递减1
大于符号>的比较运算符和求余计算表达式的文法规则请自行组织。
将TINY语言原有的if语句书写格式:
if_stmt-->if exp then stmt-sequence end | if exp then stmt-sequence else stmt-sequence end
改写为:
if_stmt-->if(exp) stmt-sequence else stmt-sequence | if(exp) stmt-sequence