
编译原理及技术
文章平均质量分 71
HashCodeWithJava
这个作者很懒,什么都没留下…
展开
-
从lex&yacc说到编译器(通讯录问题 1)
利用lex和yacc解决通讯录问题(1) 前言一般的编译原理教材上关于使用lex和yacc构造词法分析的好例子并不多.很多教程都只是在讲解词法分析和语法分析的时候简单地提到了一下lex和yacc这两个工具,甚至有很多国内的大学教材对lex和yacc只字不提。其实lex和Yacc并非只是为了构造编译系统而开发的。本节通过一个提取通讯记录的信息的简单问题,来讲解一下lex和yacc的使原创 2004-02-15 23:35:00 · 4661 阅读 · 3 评论 -
Java bytecode assembler : jasmin
如果要自己来写Java的编译器,我是指出编译出来的目标程序文件是Java的class执行文件.那么这里有个很好的工具: jasmin. 这个工具是一个Java的汇编编译器.能够将类式汇编的bytecode指令,翻译成最终的Java的class文件. jasmin本身也是Java来写.不过和其它很多Java bytecode Assembler比起来,感觉它的优势是最大的,最广泛使用的.原创 2005-06-10 11:41:00 · 3733 阅读 · 0 评论 -
转贴:论函数调用约定
论函数调用约定 在C语言中,假设我们有这样的一个函数: int function(int a,int b) 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎转载 2005-06-11 11:28:00 · 2260 阅读 · 0 评论 -
关于Java技术和编译技术的网站收藏
一篇关于使用Java作为中间语言的编译器的实现文章: Java as an Intermediate Languagehttp://www.cs.cmu.edu/~scandal/html-papers/javanesl/index.html Compiling the Java Programming Language http://www.bearcave.com/software/java原创 2005-10-19 14:14:00 · 2027 阅读 · 1 评论 -
从lex&yacc说到编译器(5.javacc)
从lex&yacc说到编译器(5.实用javacc) 前言本系列的文章的宗旨是让大家能够写出自己的编译器,解释器或者脚本引擎,所以每到理论介绍到一个程度后,我都会来讨论实践问题.理论方面,编译原理的教材已经是够多了,而实践的问题却很少讨论. 前几节文章只讨论到了词法分析和LL文法分析,关键的LR文法分析这里却还没有讲,我们先不要管复杂的LR文法和算法,让我们使用LL算法来实际做原创 2003-11-16 10:53:00 · 3961 阅读 · 1 评论 -
从lex&yacc说到编译器(4.文法识别(一))
从lex&yacc说到编译器(4.文法识别(一))作者:tangl_99QQ:8664220msn:tangl_99@hotmail.comemail:tangl_99@sohu.com没想到这一系列文件能得到csdn和大家的这么看好,首先要感谢大家的赏识和csdn的推荐.那么我就更没有理由不写好这下面的几篇文章了.本来我的计划是简单把lex和yacc介绍完后就直接进入编译器的原创 2003-10-24 17:43:00 · 9599 阅读 · 0 评论 -
从lex&yacc说到编译器(2.flex的使用)
从lex&yacc说到编译器(2.flex的使用)作者:tangl_99QQ:8664220msn:tangl_99@hotmail.comemail:tangl_99@sohu.com 看了第一篇的关于正则表达式的说明后,下面我们就来通过它,使用flex这个词法分析工具来构造我们的编译器的词法分析器.关于lex的教程应该是很多,这里我就简单地介绍一下,然后着重后面的l原创 2003-10-02 01:19:00 · 6993 阅读 · 1 评论 -
从lex&yacc说到编译器(6.数学表达式)
从lex&yacc说到编译器(6.数学表达式) 前言文法分析中最重要算法是LL自顶向下和LR自底向上算法.前面几篇文章主要讲解的是LL算法的理论和一个LL算法的文法分析器javacc.本文以LL(1)算法中最简单的一种形式递归下降算法来分析常规算法问题中的数学表达式问题.同时,本文也介绍手工构造EBNF文法的分析器代码普遍方法.希望本文的实践能对大家实现自己的语法分析器带来帮助.原创 2003-12-07 22:41:00 · 4098 阅读 · 0 评论 -
从lex&yacc说到编译器(3.范式文法)
从lex&yacc说到编译器(3.范式文法)作者:tangl_99QQ:8664220msn:tangl_99@hotmail.comemail:tangl_99@sohu.com 从这一节开始,我们就算进入编译器构造的正题了.不得不说,前面的词法扫描器在整个编译器部分只是个很小很小的组成,而这两节讲述的语言构造器才能真正为我们的编译工作起到重要的作用.这些东西相信大家在大原创 2003-10-13 00:02:00 · 8185 阅读 · 0 评论 -
从lex&yacc说到编译器(1.正则表达式)
从lex&yacc说到编译器(1.正则表达式)作者:tangl_99QQ:8664220msn:tangl_99@hotmail.comemail:tangl_99@sohu.com 学过编译原理的朋友肯定都接触过LEX这个小型的词法扫描工具. 但是却很少有人真正把LEX用在自己的程序里. 在构造专业的编译器的时候,常常需要使用到lex和yacc. 正是因为这两个工具,使得原创 2003-09-29 00:39:00 · 6345 阅读 · 1 评论 -
编译原理学习导论
编译原理学习导论 大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原创 2004-04-07 22:25:00 · 47797 阅读 · 26 评论 -
WinceJava移植
WinceJava移植Windows CE, I have decided, is worse than Windows, but on a smaller scale. That is because it contains the same amount of *functionality* and horrible APIs, but on a smaller scale. So if we原创 2005-12-01 09:16:00 · 3222 阅读 · 2 评论