栈和队列 栈(后进先出) 栈,只允许访问一个数据项:即最后插入的数据项. 栈可以用来检查括号的匹配问题和解析数学表达式,类似于在编译原理中的使用。 该图片的操作实际上归纳起来:1.读到左分隔符入栈,2.读到右分隔符就和从栈顶弹出来的左分割符匹配,匹配成功,就正常进行。 3.读到一般的字母字符,就过滤 ...
分类:
编程语言 时间:
2017-02-23 12:20:19
阅读次数:
184
你了解 #include 某个 .h 文件后,编译器做了哪些操作么? 你清楚为什么在 .h文件中定义函数实现的话需要在函数前面加上 static 修饰么?你知道 #ifndef……#define……#endif 这种防止头文件重复包含的精髓所在么?本文就是来探讨这些问题,并给出我的理解和思考,欢迎大 ...
分类:
其他好文 时间:
2017-02-21 13:30:29
阅读次数:
185
定位:传说中北航计算机学院最头疼课程其实也没有辣么难,一点点的完成,并不会出现传说中的刷夜~ 0.pascal-s和PL/0编译器源码有必要结合编译器基础知识认真读一下,当然不必细枝末节,重点是看一下人家的编译器中所谓的“词法分析”“语法分析”等阶段以及符号表的建立需要什么量,每个量分别代表什么,以 ...
分类:
其他好文 时间:
2017-02-15 18:50:13
阅读次数:
534
本学期编译原理的一个大作业,我的选题是算术表达式的词法语法语义分析,当时由于学得比较渣,只用了递归下降的方法进行了分析。 首先,用户输入算术表达式,其中算术表达式可以包含基本运算符,括号,数字,以及用户自定义变量。 词法分析,检查单词变量是否正确;语法分析,检查算术表达式语法是否正确并输出生成语法树 ...
分类:
编程语言 时间:
2017-01-30 20:21:51
阅读次数:
371
本文在Creative Commons许可证下发布 一.起步 首先,应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix问题1:版本的选择 北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的,linux开发人员中用debian的最多,其 ...
分类:
系统相关 时间:
2017-01-04 10:52:55
阅读次数:
240
实验四、语法分析实验 一、 实验目的 (1) 编制一个语义分析程序 (2) 语义分析程序是在语法分析程序的基础上进行编写的,主要任务是根据语法分析来插入中间代码、语义规则以及生成四元式。 (3) 通过语义分析的练习,能够进一步了解编译原理。 (4) 通过了解语义分析程序的设计原则、语义规则的描述技术 ...
分类:
其他好文 时间:
2016-12-30 01:39:11
阅读次数:
627
总体思路:由表及里,勤于实践,纵横交错,融会贯通 Java语言 >JDK >Java虚拟机原理 >编译原理 >操作系统原理 >计算机组成原理 | 编程思想 >数据结构 >算法 >设计模式 | J2SE(集合,IO,数据库,序列化,反射,多线程,并发) | J2ME(Andriod) | J2EE > ...
分类:
编程语言 时间:
2016-12-22 14:14:13
阅读次数:
224
辣鸡的我终于在一个已经保研的小哥哥(萌似泰迪)的帮助下完成了解释器!! 分为3步:词法分析器、语法分析器、语义分析器 代码大部分出自《编译原理基础-习题与上机解答》(西安电子科技大学出版社)中的附录 ...
分类:
其他好文 时间:
2016-12-17 16:57:19
阅读次数:
349
编译程序:把一种语言(源语言 高级语言)转换成另一种语言(目标语言 低级语言(汇编或者机器语言))的程序。 词法分析:对输入的字符串进行扫描和分解,识别出一个个单词及其类型;(输入是字符串,输出是<单词的种类标示符,单词的值>) 语法分析:对输入的字符串进行语法单位的识别,判断他是一个赋值语句还是一 ...
分类:
其他好文 时间:
2016-12-01 01:59:40
阅读次数:
219
你不知道的Javascript(上卷)这本书在我看来是一本还不错的书籍,这本书用比较简洁的语言来描述Js的那些”坑”,在这里写一些博客记录一下笔记以便消化吸收。 1 编译原理 在此书中,开始便提出:Javascript是一门编译型语言,我一开始以为这是国内翻译的锅,翻译的不够准确,后来我还专门去gi... ...
分类:
编程语言 时间:
2016-11-28 23:10:38
阅读次数:
174