编译原理
文章平均质量分 95
代老师的编程课
本博客不再维护,搬家到 http://zthinker.com。个人公众号(Java码界探秘)
展开
-
词法分析(NFA与DFA)
词法分析(1)---词法分析的有关概念以及转换图词法分析是编译的第一个阶段,前面简介中也谈到过词法分析器的任务就是:字符流------>词法记号流这里词法分析和语法分析会交错进行,也就是说,词法分析器不会读取所有的词法记号再使用语法分析器来处理,通常情况下,每取一个词法记号,就送入语法分析器进行分析,图解:词法分析器是编译器中与源程序直接接触的部分,因此词法分析器可转载 2013-05-27 18:12:43 · 14430 阅读 · 2 评论 -
使用 yacc 和 lex 编写文本分析器
Martin Brown (mc@mcslp.com), 自由撰稿人, Consultant简介: 本文将研究使用 lex/flex 和 yacc/bison 工具构建分析器所需的步骤。首先构建一个简单的计算器,然后深入地研究如何采用相同的原则进行文本分析。分析文本,即理解和提取文本中的关键部分,是许多应用程序中一个重要的部分。在 UNIX® 中,许多操作系统组成部分都依赖于转载 2013-05-27 18:42:07 · 2648 阅读 · 0 评论 -
小型桌面计算器的实现(javacc)
从开始学计算理论,就对形式语言,编译原理很感兴趣,所以大学对这门课学的也算是最好了。自己也实现过一些简单的词法分析器之类的东西,不过也都是学习目的的,质量一般 后来一直在Linux学习,对lex/yacc研究过一点时间,设计过一个小的脚本引擎,可以做一些比较复杂的数学运算,这个可以参考我的这篇博客。工作以后,平台 变成了java,跟C渐渐的离得远了,也喜欢上java这个提供语言级别的面向对象的语言转载 2013-05-27 18:22:07 · 1924 阅读 · 0 评论 -
一个脚本解释器的实现与分析(HOC改进版)
HOC(High Order Calculator) 是一个解释型的程序语言,最初的版本由Brain Kernighan和Rob Pike在《The UNIX Programming Environment》[UNIX编程环境]一书中作为一个例子给出。本身由lex/yacc构造,结构十分清晰,作为一个教学语言,HOC支持函数,具有类C的语法,有简单的I/O,变量赋值,表达式计算,错误恢复等机制。转载 2013-05-27 18:26:00 · 1147 阅读 · 1 评论 -
Yacc 与 Lex 快速入门
Lex 与 Yacc 介绍Ashish Bansal (abansal@ieee.org), 软件工程师, Sapient 公司简介: Lex 和 Yacc 是 UNIX 两个非常重要的、功能强大的工具。事实上,如果你熟练掌握 Lex 和 Yacc 的话,它们的强大功能使创建 FORTRAN 和 C 的编译器如同儿戏。Ashish Bansal 为您详细的讨论了转载 2013-05-27 18:36:51 · 841 阅读 · 0 评论 -
JavaCC : Java Glossary
JavaCCFormerly known as Jack. JavaCC is a parser, like YACC (Yet Another Compiler Compiler), except that is it written in Java and generates Java code. It started out handled by Sun, then by Metam转载 2013-11-05 20:51:51 · 1111 阅读 · 0 评论 -
JavaCC 研究与应用( 8000字 心得 源程序)
一.JavaCC简介 JavaCC(Java Compiler Compiler)是一个用JAVA开发的最受欢迎的语法分析生成器。这个分析生成器工具可以读取上下文无关且有着特殊意义的语法并把它转换成可以识别且匹配该语法的JAVA程序。JavaCC可以在Java虚拟机(JVM) V1.2或更高的版本上使用,它是100%的纯Java代码,可以在多种平台上运行,与Sun当时推出Jav转载 2013-11-05 20:34:32 · 1112 阅读 · 0 评论