社区
C++ 语言
帖子详情
语法树的求解
bilsha
2006-11-24 09:10:38
1.根据输入的表达式建立语法树
2.对语法树求解,得出表达式的值
...全文
438
5
打赏
收藏
语法树的求解
1.根据输入的表达式建立语法树 2.对语法树求解,得出表达式的值
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
taodm
2006-11-28
打赏
举报
回复
2叉树。不是3言2语能说清楚的,去找数据结构的书吧。
cfy_allan_zhang
2006-11-28
打赏
举报
回复
建议看一下便医院里的语法分析。
这里需要一个操作数栈,操作符栈,操作符优先顺序表,然后扫描表达式,将遇到的操作数和操作符分别压入各自的栈中,如果遇到一个操作符比当前栈中的操作符优先级要低,那么栈中的操作数就可以和栈中的操作符归约,这是可以产生一个子表达式的子树,并将其压入操作数栈,这个子表达式的值也随之算出。重复这个动作,到最后表达式语法树就建立起来了,值也算出来了。
可能表达不是很清楚,建议还是看一下编译的相关章节为妥,呵呵。
shunan
2006-11-28
打赏
举报
回复
按照表达式的计算步骤,一个一个的合并节点,比如以4*8+5^2-24/5为例:输入时,先算4*8,那先建立一个节点,保留指针,*为父节点,4,8为子节点,当他成为+号的子节点时,只需指针指向他就行了。5^2也形成一个节点,然后+号也形成一个节点,以此类推,应该不难实现,就是把我们人的计算过程转化为建树的过程而已
taodm
2006-11-27
打赏
举报
回复
哪种语法?
bilsha
2006-11-27
打赏
举报
回复
中序或后序,如输入4*8+5^2-24/5构造语法树,并计算其值
genetic-programming:基于遗传编程方法的符号回归
求解
器
在“交叉”期间 -
语法树
通过替换其子树来修改,其中一些子树来自其他
语法树
。 下图解释了对
语法树
的“交叉”操作的实现: 突变 目前实现了以下“变异”操作:
语法树
的某个节点的代入——用节
语法分析(C语言源代码)(附实验报告)
可分解为:文法输入及解析、分析表构造(含SELECT集
求解
)、主控程序、
语法树
展示。 3. 算符优先文法分析器。可分解为:文法输入及解析、分析表构造、主控程序、
语法树
展示。 4. LR(1)分析器。可分解为:文法输入及...
matlab常微分方程
求解
matlab常微分方程
求解
,通过编程实战掌握具体应用。包括matlab常微分方程
求解
前、matlab常微分方程
求解
中、matlab常微分方程
求解
后。
lin-tree-solver:该工具自动解析并构建语言
语法树
语言学树
求解
器 关于: 该工具会自动构建语言
语法树
。 该工具的主要目标是接受广泛的语法规则。 几乎每本教科书都有不同的规则和标准。 我希望其他人能够添加/修改规则以为他们工作。 我已经从Andrew Carnie撰写...
C语言利用栈实现对后缀表达式的
求解
它是由相应的
语法树
的后序遍历的结果得到的。 例:5 – 8*(6 + 7) + 9 / 4: 其中缀表达式为:5 – 8 * 6 + 7 + 9 / 4 其
语法树
如下: 因此根据
语法树
可以得出他后序遍历(后缀表达式)为: 5 8 6 7 + * – 9 4 / ...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章