jvm同样可以执行其它语言的代码,如ruby,js只要他们编译成符合规范的字节码相关信息可以百度jruby等而java本身编译字节码的工具也就是我们都知道的javac.exe然而我们在eclipse中的编译工作并不是读取jdk执行javac实现的,而是使用了eclipse自带的ECJ编译器实现的,javac采用的..
分类:
编程语言 时间:
2016-06-08 10:53:23
阅读次数:
179
【Wed Jun 01 2016 16:32:21】 C 程序运行的核心是函数的执行和调用,它构成了整个C 程序运行时结构的基础框架。这一运行过程主要是在程序指令的驱动以及数据压栈、清栈的支持下实现的。为了介绍这一过程,我们设计了一个简单C 程序,如下所示: 1 int fun(int a,int ...
分类:
其他好文 时间:
2016-06-01 19:41:28
阅读次数:
205
接下来来看下一种体系结构, 寄存器计算机... 为了方便学习, 这里构建出了一个相对简化寄存器计算机结构模型... 和栈式计算机流程一样, 接来下是指令集和伪指令和代码生成算法.. 最终生成的寄存器计算机代码 : ...
分类:
其他好文 时间:
2016-05-31 13:48:51
阅读次数:
133
写到12点20勉强算是实现了, 缺陷还很多就不多说了, 具体自己上github去看, 上面我写的很清楚... 发现有任何bug随时联系我... https://github.com/zhang77595103/Simple-C ...
分类:
其他好文 时间:
2016-05-31 01:10:24
阅读次数:
143
这两天把编译器撸到了抽象语法树环节, 准备看完第八单元一口气撸完编译器...至于翻译成什么语言, 先看看再说... 之前讨论完语法检查和符号表, 那么前端就算全部结束了, 那么我们可以把视角转移到中后端... 其结构大概是这样的... 这个阶段就是所谓的代码生成, 那么代码生成具体要完成任务是这样的 ...
分类:
其他好文 时间:
2016-05-30 14:33:24
阅读次数:
194
经过一天的实践, 勉强写完了语法分析部分和词法分析的抽象语法树的生成部分... 但是也发现也昨天规定的词法和文法中出现的一些问题, 同时我根据情况进行了一些改动... 改动1 : 逻辑操作符 ||, && > |, & (主要是方便实现)... 改动2 : expr归入了judge类(关于这一点, ...
分类:
其他好文 时间:
2016-05-29 21:25:33
阅读次数:
269
从上海回来这两天一口气看完了语义分析, 前段也就差不多了, 本来准备看代码生成的, 人突然就不想看了, 老毛病又犯了 : 很久没不敲代码, 手痒的不行, 所以决定边往前推进边实现前面的部分... 想到终于可以开始实现编译器心里就激动的不行, 那么就这么愉快的开始了... 首先当然是规定语言的词法语法 ...
分类:
其他好文 时间:
2016-05-28 20:45:20
阅读次数:
169
只要合理的运用,C还是可以达到意想不到的效果。很多朋友抱怨C效率比汇编差了很多,其实如果对Keil C的编译原理有一个较深入的理解,是可以通过恰当的语法运用,让生成的C代码达到最优化。即使这看起来不大可能,但还是有一些简单的原则可循的:1.尽量使用unsigned 型的数据结构。2.尽量使用char ...
分类:
编程语言 时间:
2016-05-28 20:38:43
阅读次数:
216
目录 1.为什么要研究java类装在机制? 2.了解类装载机制,对于我们在项目开发中有什么作用? 3.装载实现细节。 4.总结 一、为什么药研究Java类装载机制 java类加载机制,便于我们使用自定义类加载器;深入理解,对于理解编译原理也有很大帮助。 二、了解类装载机制,在我们项目开始中的应用 在 ...
分类:
编程语言 时间:
2016-05-28 19:10:28
阅读次数:
173
语义分析中有一些比较常见的问题值得思考 : 感觉这一部分也没什么可讲的, 主要还是看实践吧... 接下来是这一部分的题目, 在这个题目中,你将亲自动手实现C--语义的语义分析器。具体的题目要求见: http://staff.ustc.edu.cn/~bjhua/mooc/semant.html 具体 ...
分类:
其他好文 时间:
2016-05-28 14:19:03
阅读次数:
240