编译原理:算符优先分析法的设计与实现(头歌与检查)

头歌过关实验代码链接(粘贴可过关):链接

检查实验代码(过关代码):基于头歌实验修改。

http://generatelink.xam.ink/change/makeurl/changeurl/10660

任务描述

本关任务:加深对语法分析器工作过程的理解;加强对算符优先分析法实现语法分析程序的掌握;能够采用一种编程语言实现简单的语法分析程序;能够使用自己编写的分析程序对简单的程序段进行语法翻译。

相关知识

为了完成本关任务,你需要掌握:用算符优先法编制语法分析程序。

自下而上的语法分析器

语法分析在编译中是一个重要的环节,语法分析可以分为自上而下分析和自下而上分析两种方式。

自下而上分析法是一种“移进-归约”法。这种方法的大意是,用一个寄存符号的先进后出栈,把输入符号一个一个地移进到栈里,当栈顶形成某个产生式的一个候选式时,即把栈顶的这一部分替换成(归约为)该产生式的左部符号。

对于自下而上的分析法,边输入单词符号(移进符号栈),边归约。也就是在从左到右移进输入串的过程中,一旦发现栈顶呈现可归约串就立即进行归约。

在该类方法中有以下的几个处理:

  • 移进:指把输入串的一个符号移进栈。

  • 归约:指发现栈顶呈可归约串,并用适当的相应符号去替换这个串(这两个问题都还没有解决)。

  • 接受:指宣布最终分析成功,这个操作可看作是“归约”的一种特殊形式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值