先尝试用它来做一个计算器(内容来自于自制编程语言——前桥和弥) 一、准备工作 关于flex, bsion工具,建议还是linux平台安装使用比较方便,我在windows下尝试过,太麻烦。 在ubuntu下安装很简单,只要执行下列语句即可: 没有报错就说明安装成功。 二、词法分析部分 创建mycalc ...
分类:
其他好文 时间:
2016-07-05 13:54:12
阅读次数:
195
1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <stack> 5 #include <queue> 6 #include <map> 7 #include <algorithm> 8 #includ ...
分类:
其他好文 时间:
2016-06-22 12:23:26
阅读次数:
147
这学期我们还学习了编译原理的知识,总结起来,共分几个步骤:1.词法分析:任务是将源程序转换成内部格式;2.语法分析:任务是判断源程序结构是否符合该语言的语法;3.语义分析:任务是保证源程序在语义上的正确性;4.中间代码生成:将于源程序转换成等价的中间语言代码;5.代码优化:对中间代码的优化处理6.目 ...
分类:
其他好文 时间:
2016-06-20 18:26:21
阅读次数:
125
核心是CLR(通用语言运行时),c#或者其它各种语言编译原理:将原代码通过相对的编译器(语法检查原代码分析)生成IL代码托管(IL也称托管代码),最后得到一个托管模块,一个或多个托管模块组成程序集(assembly)交给CLR运行;编译器需要为托管模块生成完整的元数据;元数据:是一个数据表集合,其中 ...
分类:
Web程序 时间:
2016-06-19 23:02:10
阅读次数:
286
对于计算机相关专业的学生来说,我们学习了很多的专业课程,像编程语言、算法、数据结构、编译原理、软件工程等。很多学生都会有这样的疑问:我学了这么多的课程有什么用呢?在工作中有多少会真正被应用到呢?也就是说,大家都觉得理论和实践之间有着不可逾越的鸿沟。邹欣老师的《构建之法:现代软件工程》一书很好地,并且 ...
分类:
其他好文 时间:
2016-06-16 20:16:09
阅读次数:
179
做了一个好长好长的无比真实的梦,大概是在梦里体验‘’虚拟世界--电影主角带入‘’的感觉。 梦到了所有人,老师同学,电影明星。还梦到了编译原理老师,还有很多歪果仁,梦到了风女,和众多lol英雄,还有很多电影演员,讲了大量蹩脚但是熟练的英语。 在梦中两次进入虚拟世界,而从其中醒来时腿部酸痛。梦,非常精彩 ...
分类:
其他好文 时间:
2016-06-16 06:48:42
阅读次数:
216
摘自http://blog.csdn.net/elfprincexu/article/details/45043971 gcc/g++等编译器 编译原理: 预处理,编译,汇编,链接各步骤详解 C和C++编译器是集成的,编译一般分为四个步骤: 预处理(preprocessing) cpp/ gcc - ...
分类:
其他好文 时间:
2016-06-11 20:10:09
阅读次数:
310
首先,我说的比较是指JS中这种思想/实现方式与C++编译原理中思想/实现方式的比较 参考链接:(比较易懂的介绍,我主要写个人理解) 作用域链: http://www.cnblogs.com/dolphinX/p/3280876.html 闭包:http://kb.cnblogs.com/page/1 ...
分类:
编程语言 时间:
2016-06-11 13:07:41
阅读次数:
183
当一个文法满足LL(1)条件时,我们就可以为它构造一个不带回溯的自上而下分析程序,这个分析程序是由一组递归过程组成的,每个过程对应文法的一个非终结符。这样的一个分析程序成为递归下降分析器。 例:一个支持 +,*,(,) 的简单文法为(用$表示空字符): E -> TE' E -> +TE' | $ ...
分类:
其他好文 时间:
2016-06-11 10:24:46
阅读次数:
115
大概一个月的时间吧, 一直在学习编译原理,直到5月31号我仍然还在看编译原理的视频教程, 但是我直接其实我的各方面知识还是有很多欠缺, 比如我没有办法把我分析得出的抽象语法树进一步转化为汇编代码或者java字节码, 因为那些对于我而言又是一个全新的领域, 同时我知道我大4还是会有编译器的课程的, 同... ...
分类:
其他好文 时间:
2016-06-09 18:33:49
阅读次数:
197