编译原理课程的实验及实验指导。
包括是个实验:词法分析、自顶向下语法分析、自底向上语法分析和语义分析。
2023/10/16 19:21:52 260KB 编译原理实验
1
用于本人博客内文章的配套资源jar包,包括词法分析,语法分析,中间代码生成,静态语义检查,代码解释执行以及抽象语法树的手动生成,以上均为java代码实现。
2023/10/16 6:26:04 16.66MB java实现 编译原理java
1
三地址代码是编译原理语法分析后的中间语言的一种,这是我刚完成的三地址代码生成器,符合的语法规则及其语义规则如下(S→ifCthenS1elseS2,这条规则没有加,其余都已完成,也许还有bug,欢迎大家给予指正):产生式 语义规则S→id=E S.code=E.code||gen(id.place’:=’E.place)S→ifCthenS1 C.true=newlabel;C.false=S.next;S1.next=S.next;S.code=C.code||gen(E.true’:’)||S1.codeS→ifCthenS1elseS2 C.true=newlabel;C.false=newlabel;S1.next=S2.next=S.next;S.code=C.code||gen(E.true’:’)||S1.code||gen(‘goto’,S.next)||gen(E.false’:’)||S2.codeS→whileCdoS1 S.begin=newlabel;C.true=newlabel;C.false=S.next;S1.next=S.begin;S.code=gen(S.begin’:’)||C.code||gen(E.true’:’)||S1.code||gen(‘goto’S.begin);C→E1>E2 C.code=E1.code||E2.code||gen(‘if’E1.place’>’E2.place’goto’C.true)||gen(‘goto’C.false)C→E1<E2 C.code=E1.code||E2.code||gen(‘if’E1.place’<’E2.place’goto’C.true)||gen(‘goto’C.false)C→E1=E2 C.code=E1.code||E2.code||gen(‘if’E1.place’=’E2.place’goto’C.true)||gen(‘goto’C.false)E→E1+T E.place=newtemp;E.code=E1.code||T.code||gen(E.place’:=’E1.place’+’T.place)E→E1-T E.place=newtemp;E.code=E1.code||T.code||gen(E.place’:=’E1.place’-’T.place)E→T E.place=T.place;E.code=T.codeT→F T.place=F.place;T.code=F.codeT→T1*F T.place=newtemp;T.code=T1.code||F.code||gen(T.place’:=’T1.place’*’F.place)T→T1/F T.place=newtemp;T.code=T1.code||F.code||gen(T.place’:=’T1.place’/’F.place)F→(E) F.place=E
2023/10/15 21:58:03 3KB 三地址 编译原理 语法分析器
1
《编译原理》全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术,并在相关章节中给出大量的实例。
与上一版相比,《编译原理》进行了全面修订,涵盖了编译器开发方面最新进展。
每章中都提供了大量的实例及参考文献。
龙书第二版中文版+英文版打包下载!!!
2023/10/15 20:14:32 35.03MB 编译原理 龙书 第2版 中文版
1
c语言编写的递归下降语法分析器的算法,测试成功可以直接跑代码
2023/10/12 5:38:17 13KB 递归下降语法
1
编译原理课程设计词法分析器:1实现自动化词法分析程序2要求至少支持科学计数法常量和标识符字符3根据输入的源程序输出Token串若为非法单词则输出错误信息语法分析器:1要求使用LL(1)文法算符优先文法LR1文法三种分析方法之一进行语法分析2输入上下文无关文法输出语法分析程序3输入待检测的Token串输出检测结果同时可以处理分析中的异常和错误">编译原理课程设计词法分析器:1实现自动化词法分析程序2要求至少支持科学计数法常量和标识符字符3根据输入的源程序输出Token串若为非法单词则输出错误信息语法分析器:1要求使用LL(1)文法算符优先[更多]
2023/10/12 4:16:06 4.9MB 编译原理
1
略过词法分析用i代替能运行简单优先
2023/10/7 8:46:39 2KB c++
1
MFC实现的简易计算器:用编译原理方法(词法分析和语法分析)对表达式进行解析,判断其合法性;
并通过后缀表达式进行求值。
2023/10/5 13:47:07 2MB Calculator
1
设计内容及要求:设计一个语法制导翻译器,将算术表达式翻译成四元式。
要求:先确定一个定义算术表达式的文法,为其设计一个语法分析程序,为每条产生式配备一个语义子程序,按照一遍扫描的语法制导翻译方法,实现翻译程序。
对用户输入的任意一个正确的算术表达式,程序将其转换成四元式输出(可按一定格式输出到指定文件中)。
2023/10/3 10:34:55 2KB 编译原理
1
实现一个关于表达式的LR语法分析程序识别用户输入的包含变量与整数的混合算术表达式(不包含减法与除法运算)文法如下: 0SE 1EE+E 2EEE 3EE 4Ei编程运用上述LR分析表识别从键盘输入的算术表达式">实现一个关于表达式的LR语法分析程序识别用户输入的包含变量与整数的混合算术表达式(不包含减法与除法运算)文法如下: 0SE 1EE+E 2EEE 3EE 4Ei编程运用上述LR分析表识别从键盘输入的算术表达[更多]
2023/9/30 2:42:02 6KB LR语法 编译原理 java
1
共 280 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡