前段时间自己业余抽空花了三个月编了一个c语言编译器,将c语言编译成masm32。
总共4个文件,2000多行的代码,其中sca.c是词法,p.c生成语法树,table.c是符号表,g.c是转化成具体masm32代码,只支持char,short,int,double四种类型数据,其他的有兴趣的可以自己修改增加,由于masm32限制,目前该编译器只支持局部变量在函数开头定义,全局变量不能和局部变量同名。
不支持变量强制转变,也不支持switch语句,个人感觉swich没用,#include不支持,只支持“”,现在打包给大家分享,包括源代码(感兴趣的可以自己修改或者转发学习,不允许商业用途),里面还有一些例子,想学习编译原理或者masm32的同志可以看看(特别是学习masm32的,可以把写好的c语言直接编译成masm32代码)!遇到问题可以跟我联系,尽量跟你们回复!
2023/9/9 7:57:32 55KB c yuyan masm32 assamble
1
是pl0的语法分析器,编译原理实验;
用C写的。
/语法分析过程中/利用词法分析的结果进行分析/严格按照PL0程序定义来编写//::=./::=PROGRAM;/::=[][][]/::=CONST{,};/::==/::=VAR{,};/::=;;【原课件中没有最后的分号,经分析应该有分号】/::=PROCEDURE/::=|/::=BEGIN{;}END【符合语句应该注意的是,END前距离END最近的那条语句一定没有分号,其他语句必须有分号】/::=||||||/::=:=/::=READ({,})/::=WRITE({,})/::=CALL【原课件中有分号,实际不应该有】/::=IFTHEN/::=WHILEDO/::=||()/::={}/::=*|//::=[+|-]{}/::=+|-/::=|ODD/::=#|=|>|>=|<|<=
2023/9/9 7:24:35 597KB PL0 编译原理 语法分析
1
基于算符优先分析方法的表达式语法分析器基于预测分析方法的表达式语法分析器说明语句的词法分析器
2023/9/8 15:20:32 177KB 编译原理 语法分析器 词法分析器
1
吉林大学编译原理课件+一些源码,非常全,请放心下载
2023/9/8 6:41:27 15.5MB 吉林大学 编译原理 课件
1
这是编译原理实验SLR(1)分析法实验,主要采用c++语言开发,并配有相应的实验报告。
1
编译原理考试复习资源,涵盖了从文法构造到语义计算的大部分考点
2023/8/31 5:26:29 239KB 编译原理
1
武汉理工大学编译原理构造识别规范句型活前缀DFA的程序设计的详细源代码,绝对可以运行,非常完美
2023/8/22 7:38:42 10KB 编译原理
1
本资源来源于北邮编译原理作业,代码中的语法分析和语义分析均为基于yacc实现,文件中包括代码、文档、测试用例。
可供yacc初学者学习参考。
2023/8/17 9:10:04 238KB yacc 语法分析 语义分析 编译原理
1
编译原理上的lr语法分析源码。
2023/8/16 12:11:54 199KB 学习
1
本实验通过一个简易的语法分析器的实现,进一步加深对《编译原理》课程中语法分析理论的理解,增强动手程序设计能力。
分析可以采用自上而下的LL(1)分析法,自下而上的SLR(1)和LR(1)分析法。
本次试验采用的是LR(1)分析法,加深对它的理解。
2023/8/15 22:09:13 115KB 语法分析器 Java语言 编译原理
1
共 613 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡