编译原理课设,老师要求写一个简单的编译器

编译原理课设,老师要求写一个简单的编译器,求助,不知道怎么入手。

4个回答

这是我大二写的PL/0的编译器,也是参考网上源码写的啦。你可以参考参考,有什么不懂得可以交流交流。
http://download.csdn.net/detail/zsgg_acm/9367856

baidu_35042802
baidu_35042802 好的,谢谢
大约 3 年之前 回复

先设计语言
假设
1) 变量不需要定义
2)变量只用 单个字母表示
3)变量缺省值为0
4)只有一种整数类型
5)没有输入,只有输出 print expr
6)只有+-*/四种运算,还可以简化为只有+,-
7 )只有= 一种表达式可以构成表达式语句,是独立表达式,别的表达式,必须是赋值表达式的子表达式,或者 print 的表达式部分
8)没有函数,goto if 等等,全部都没有
也就是说这种语言,只有两种语句,a= expr;print expt 一种数据类型int
现在,可以为他实现一个编译器了
先实现表达式求值
再实现输出,赋值两种语句

lm_whales
lm_whales 总之,先设计一个语言,然后按照编译原理,为它实现为一个编译器出来
3 年多之前 回复
lm_whales
lm_whales 觉得它太简单了,你可以 模仿 java script ,vbscrpt 把其中 面向对象部分去掉,保留输入输出,表达式,函数,等功能
3 年多之前 回复
lm_whales
lm_whales 你不是要简单吗?这个预言多简单而,实现了以后,可以逐渐增加一些功能,一个新的语言 就出来了
3 年多之前 回复
baidu_35042802
baidu_35042802 晕+_+
3 年多之前 回复

看你这提问的架势,像是一窍不通。我觉得与其从头学起,不如google一些现成的简单的代码,能找到一个代码自己学会编译,并且大体上能看懂,既能糊弄下老师,自己也不能说一点收获没有。

baidu_35042802
baidu_35042802 哈哈,上课没怎么听。我试试
3 年多之前 回复

你没听错吧,编译器,确定不是词法分析器!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
JAVA写的编译器(编译原理课设)
我们的编译原理课设题目。百分之百能用,学霸自己写的
编译原理课设之简单编译器实现
编译器源代码
小型编译器(编译原理课设)
编译原理课设,小型编译器。支持将C语言代码转化成中间代码输出,以及汇编代码输出。
编译原理课设c编译器
包含词法分析,语法分析,语义分析,中间代码产生,目标代码产生(C或者masm ) 初始语言为抽象语言,每个模块都有单独源码和exe文件,使用不同语言,自行选择所需模块
编译原理课设要求与指导
编译原理课设要求与指导LL1文法的怎摸样求出的等等要求
编译原理课设和实验:PL0编译器扩充
课设要求: (1)扩充赋值运算:+= 和 -= (2)扩充语句(Pascal的FOR语句): FOR <变量>:=<表达式> STEP <表达式>UNTIL <表达式> DO <语句> (3)增加运算:++ 和 --。 实验要求: 对PL/0作以下修改扩充: (1)增加单词:保留字 ELSE,FOR,STEP,UNTIL,RETURN 运算符 +=,-=,++,--,&&,||,! (2)修改单词:不等号# 改为 <> (3)增加条件语句的ELSE子句,要求:写出相关文法,语法图,语义规则。 含源代码,注释,可执行文件,完美实验报告和完美课设报告
编译课设\编译原理课设报告
编译课设\编译原理课设报告-----.doc
编译原理课设——最终课设
本课设为编译原理的最终课设报告。涉及词法分析器(生成二元式、标识符表)、语法分析器(生成状态栈、符号栈及相应的规约和移近动作)、语义分析(生成语义栈)、中间代码生成(生成相应的四元式)
编译原理课设题目
编译原理课设题目
编译原理课设for循环
编译原理课程设计,for循环(简单优先法、输出三地址),代码加课设,功能强,可读性好,程序很小。
编译原理课设——词法分析器
编译原理课设——词法分析器 编译原理课设——词法分析器 编译原理课设——词法分析器
编译原理课设实验报告
课 程 设 计 报 告 设计题目:编译器的设计与实现   班    级: 计算机1304班 组长学号:20133894 组长姓名:mxp 指导教师:zl 设计时间:2015年12月         设计分工     组长学号及姓名:mxp 20133894 分工:讨论文法,设计符号表,数据结构定义,中间代码生成,多维数组,子程序,内存管理 组员1学号及姓名
编译原理课设
实现了编译原理课设的词法分析、语法分析、语义分析,使用的是C语言编写
课设 编译原理的报告
编译原理的报告 如果在以上操作过程中出现问题可能是IE版本或者设置的问题,要求IE版本必须为6.0以上。
编译原理课设 语义分析
语义分析 这篇文章写的不好: 因为有些 dual_type 没改过来,所以你需要改一下 没有继承我的SLR实验 :语法分析我是用SLR写的,但是这里的语义我是用递归子程序调用进行的语义分析。如果你的语法是SLR(1), 建议你语义也用SLR(1)方法,即规约的同时进行语义分析。 #include&lt;stdio.h&gt; #include&lt;string.h&gt; #includ...
编译原理 课设
   词法分析主要是根据标识符的定义规则逐个识别字符或者字符串,包括对关键字、普通标识符、常数等的识别,分别构建标识符表和数字表,并生成二元式流。    语法分析和语义分析调用词法分析,然后查找用SLR(1)构造的ACTION表和GOTO表进行移进或归约,归约时根据不同的产生式进行不同的语义分析,最终输出分析过程,并形成符号表、二元式、四元式文件。    本次程序将本次课程所学的词法分析,语法分析和语义分析结合起来,使我们进一步理解正则表达式,自动机以及语法分析方法。同时加深掌握语法制导翻译和中间代码生成,在语法分析的同时进行语义加工并产生出中间代码的方法。
编译原理课设(原创)
一个简单的编译器 课程设计用的 pl0文法 词法分析 语法分析 生成目标代码等 课设不会就用吧 非网上下载的
编译原理课设 词法分析器
本实验中将c语言单词符号分成了六类:关键字、数字、用户自定义标识符、运算符、边界符和函数名。 对于一个具体源程序而言,在扫描字符串时识别出一个单词,若这个单词的类型是关键字、数字、用户自定义标识符、运算符、边界符或函数名中之一,那么就将此单词以文字说明的形式输出。每次调用词法分析程序,它均能自动继续扫描下去,形成下一个单词,直到整个源程序全部扫描完毕,从而形成相应的单词串
编译原理课设 词法分析
编译原理课设 第一阶段 这里写出思路,具体的小细节根据实际情况修改。比如 关键字数组&nbsp;、 类型码&nbsp;等 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;string.h&gt; #include&lt;iostream&gt; #include&lt;math.h&gt; #include&lt;ctype...
课设编译原理及源码
这是编译原理的一次课设,我把功能基本实现了,另外做了一些扩展的功能,虽然代码有些冗余,但当时我已经尽力了,希望对学弟学妹有所帮助吧
编译原理的词法分析!课设!!
词法分析是编译的第一个阶段,它的主要任务是从左至右逐个字符对源程序进行扫描,产生一个个单词序列,并用以语法分析。执行语法分析的程序,称为词法分析程序或扫描程序。 词法分析工作可以是独立的一遍,把字符流的源程序变为单词序列,输出在一个中间文件上,这个文件作为语法分析程序的输入,而继续编译过程。然而更一般的情况,常将词法分析程序设计成一个子程序,每当语法分析程序需要一个单词时,则调用该子程序。词法分析程序每得到一次调用,便从源程序中读入一些字符,直到识别出一个单词,或说直到下一单词的第一个字符为止。这种设计方案中,词法分析程序和语法分析程序是放在同一遍里,而省掉了中间文件。
编译原理 课设 词法分析器
编译原理 课设 词法分析器 压缩文件包含课程设计报告和源程序
编译原理课设 压缩包
编译原理课程设计 读取DFA的描述,将其转换成LR0分析表,并输出到指定文件 此为主类(不能上传多个文件)
编译原理词法分析器课设
编译原理词法分析器课程设计 运行环境 VC 6.0
编译原理课设资料
编译原理课设资料编译原理课设资料编译原理课设资料编译原理课设资料编译原理课设资料编译原理课设资料编译原理课设资料
操作系统课设要求
华中科技大学操作系统课设要求
数字图像处理课设要求
目的和任务 1、进一步深入理解数字图像处理的基本概念、基础理论以及解决问题的基本思想方法,掌握基本的处理技术。 2、培养学生了解处理技术相关的应用领域,阅读各类图像处理文献的能力。 3、能够运用一门高级语言编写简单的图像处理软件,实现对图像进行的基本处理。 4、了解与课程有关的工程技术规范,能正确解释和分析实验结果。
编译原理课设 SLR语法分析
语法分析 #include &lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; using namespace std; //0为空白 //102表示S2 //51表示r1 int actionTable[12][6] = { 102,0,0,0,0,0, 0,0,0,0,0,-1, 0,104,0,0...
编译原理课设代码-2
编译原理课设(NEU) exe1.cpp 代码有几处bug,另外当时开发的时候心太急,理论基础没有做好,导致代码有不可逆性的缺陷:符号表,大家可以将符号表结构修改一下 代码是分为多个文章中存放的 VS 2017 VC++环境 #include "pch.h" #include "exe1.h" #include&lt;fstream&gt; #include &lt;iostream&gt; #...
编译原理课设代码-3
编译原理课设(NEU)代码exe2.h 代码有几处bug,另外当时开发的时候心太急,理论基础没有做好,导致代码有不可逆性的缺陷:符号表,大家可以将符号表结构修改一下 代码是分为多个文章中存放的 VS 2017 VC++环境 #pragma once #include"Symbol_table.h" #include&lt;vector&gt; #include&lt;iostream&gt; #...
编译原理课设词法分析器MFC
可以用的!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
编译原理词法分析+语法分析课设
编译原理课设,已实现词法分析和语法分析,代码注释详细,验证无误。
广工编译原理课设
广工编译原理课设,c语言版,内含源程序,测试用例,报告, 完成内容有: 基本内容 (1)扩充赋值运算:*=和/= (2)扩充语句:FOR<变量>:=<表达式>STEP<表达式>UNTIL<表达式>Do<语句> 选做内容 (2)增加注释:注释由/*和*/包含
编译原理课设,slr1分析器
编译原理课设,用slr1做的编译器,包含词法分析,语法分析,语义分析。
编译原理课设 循环查找
编译原理课程设计中的一个,作为代码优化的一部分完成循环的查找:根据给定的一段C语言源代码,查找入口语句,确定基本块,构造程序流图,并画出流图,查找必经结点,查找回边和相应的循环!在编译课程设计中是最优秀的一个!压缩包中包含程序源代码,可执行的jar文件和5个示例的C语言源代码,用Eclipse可以直接打开!
编译原理课设代码-1
编译原理课设(NEU)代码exe1.h 代码有几处bug,另外当时开发的时候心太急,理论基础没有做好,导致代码有不可逆性的缺陷:符号表,大家可以将符号表结构修改一下 代码是分为多个文章中存放的 VS 2017 VC++环境 #pragma once #include &lt;iostream&gt; #include&lt;map&gt; #include&lt;string&gt; #incl...
东北大学编译原理课设报告
东北大学编译原理课设报告,希望对学弟学妹们有所帮助。(我们组4个人,最终成绩3个优)
编译原理课设——制导翻译
编译原理课设——制导翻译 编译原理课设——制导翻译 编译原理课设——制导翻译
编译原理源程序课设程序
这是用于课设的编译原理源程序,已经运行成功了
编译原理课设报告论文
编译原理课设论文,包括绪论,模块划分,模块划分,模块功能图,模块关系图,源程序代码等
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池