华南师范大学本资源包括TINY扩充语言的语法分析的实验报告,编译原理附录B和TINY扩充语言的语法分析代码.实验报告中说明了该实验的完成步骤.扩充的语法规则有:实现while、dowhile、for语句和求余计算式子,具体文法规则自行构造。
可参考:P97及P136的文法规则。
(1)While-stmt-->whileexpdostmt-sequenceendwhile(2)Dowhile-stmt-->dostmt-sequencewhileexp(3)for-stmt-->foridentifier:=simple-exptosimple-expdostmt-sequenceenddo步长递增1(4)for-stmt-->foridentifier:=simple-expdowntosimple-expdostmt-sequenceenddo步长递减1要求:(1)要提供一个源程序编辑界面,以让用户输入源程序(可保存、打开源程序)(2)可由用户选择能否生成语法树,并可查看所生成的语法树。
(3)应该书写完善的软件文档
2020/7/8 22:57:22 6.27MB 编译原理 TINY 扩充语言 语法分析
1
编译原理-龙书-习题答案,word版。
内容举例:第二章部分习题答案2.1考虑文法 S→SS+|SS*|a证明文法可生成符号串aa+a*解:S→SS*→SS+S*→aS+S*→aa+S*→aa+a*为此符号串构造语法树解:文法生成什么样的语言?证明结论解:将a看作运算数,文法生成语言L={支持加法、乘法的表达式的后缀表示方式} 证明类似2.2题b)=====================================2.2下列文法生成什么样的语言?证明你的结论。
是否有二义性?S→0S1|01解:生成语言L={0n1n|n>=1}证明:1)证文法推导出的符号串都在L中考虑最小语法树,推导出的符号串01显然∈L假定结点数<n的语法树对应的符号串都∈L,考虑结点数=n的语法树S,其结构必为,子树S1结点数<n,因此对应符号串t1∈L,S对应符号串为t=0t11,因此t∈L综合i)、ii),1)得证
2022/9/8 10:37:03 252KB 编译原理 龙书 习题答案
1
javalang包分两段理解:一段是代码片段解析成语法树的过程一段是语法树节点操作组件使用在内部,javalang.parse.parse方法创建token流,并用token流创建javalang.parser.Parser实例,然后调用parser的parse()方法,前往结果CompilationUnit实例,tokenizer、Parser这些组件可以单独调用
2017/5/22 19:58:26 24KB python
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡