- 博客(3)
- 收藏
- 关注
算术表达式的自上而下语法分析及其实现(上)
学过编译原理的同学大概都知道对一个句子进行自上而下语法分析的方法。我参考了陈火旺院士的《高级程序设计语言编译原理》,在这篇文章里我主要是站在编译原理的角度讲述一种语法分析程序的实现的方法,通过对一个典型的例子——算术表达式的分析,从而使大家了解构造一个实用的语法分析程序的方法,同时,也为广大程序员提供一种解决实际问题的思路。 本文包括以下内容:1. 算术表达式的产生式;2. 自上而下语法分析的算...
2004-01-30 19:22:00 744
算术表达式的自上而下语法分析及其实现(中)
(接上篇) 3. 产生式函数的改进 前两节我们已经实现了自上而下语法分析算法和产生式函数的构造,在这一节,我着重阐述对产生式函数的运行效率和占用空间进行优化的方法。首先考察一下产生式E -> T+E | T-E | T的分析函数: void E_AddSub(){T_MulDiv(); //调用非终结符T的产生式函数分析TIf(ch==’+’ ||ch==’-‘) //如果当前字符是’...
2004-01-30 19:22:00 226
算术表达式的自上而下语法分析及其实现(下)
(接中篇) 5. 自上而下语法分析程序的实现 经过上面4步精心的准备,最令人激动的时刻到了。一般《编译原理》课本上的代码大都是无法在机器上运行的伪代码,在这里,你将要看到的是一个实用的可以检查错误的可以执行求值的基于自上而下语法分析算法的计算算术表达式的程序。 不失一般性,我们规定算术表达式只可以进行整数的四则运算(含括号),这样我们需要扩充下面3个函数: int E_AddSub(); //对应...
2004-01-30 19:22:00 197
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人