标签墙

Compile Principles

Yacc 与 Lex 快速入门

Lex 与 Yacc 介绍 ....
More...

C语言的lex和yacc工具说明

Lex工具 ------- Lex工具是一种词法分析程序生成器,它可以根据词法规则说明书的要求来生成单词识别程序,由该程序识别出输入文本中的各个单词。 1、lex程序的结构 -定义部分 -规则部分 -用户子程序部分 其中规则部分是必须的,定义和用户子程序部分是任选的。 1定义部分 定义部分起始于%{符号,终止于%}符号,其间可以是包括include语句、声明语句在内的C语句。 %{ #includestdio.h #includey.tab.h externintlineno; %} 2规则部分 规则部分起始于%%符号,终止于%%符号,其间则是词法规则。词法规则由模式和动作两部分组成。模式部....
More...

GNU Bison 中文手册

Bison 2.1 是Bison最新版本.该版本的最大改进就是支持以C++语言做为输出,并且在分析器的本地化输出中有多项改进.Bison的这些改进都可在最新Bison手册中找到详尽的说明和解释. GNU Bison实际上是使用最广泛的Yacc-like分析器生成器,使用它可以生成解释器,编译器,协议实现等多种程序. 它不但与Yacc兼容还具有许多Yacc不具备的特性. 这个手册编写十分完整,带你领略Bison在使用中的各个细节注:并不是实现细节. 由于本人水平有限,如果发现错误,语句不通顺,意思不明,确请立即发邮件把您的建议或者您认为正确的翻译 写信告诉我,非常需要并感谢你的帮助! 英文原件....
More...

Lex和yacc工具介绍

Lex和yacc工具介绍 哈尔滨工业大学 信息检索实验室 高立琦(email:gao_lq@126.com) 在编译过程中,词法分析和语法分析是两个重要阶段。lex和yacc是Unix环境下非常著名的两个工具,可以生成分别完成词法分析和语法分析功能 的C代码。在学习编译原理过程中,可以善加利用这两个工具,加深对两个阶段的理解。在平时的工作中,这两个工具也会起到重要的作用。 目录 [隐藏] 1 词法分词器生....
More...

LR(0)文法分析程序[00原创]

编译原理的实验。。。。package cn.edu.ynu.sei.lr.lr0;import java.util.ArrayList;import java.util.List;import java.util.Stack;*** LR0主分析程序* 参看《编译原理》清华大学出版社1998版* @author 88250*public class LR0{ ** * 产生式大小 * public static int PRODUCT_SIZE; ** * 产生式集 * public static final ListProduct PRODUCTS = new ArrayListProduc....
More...

Java SE 6 新特性: 编译器 API

级别: 初级 沈 羽 shenyu@cn.ibm.com, 软件工程师, IBM  2007 年 8 月 09 日 2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马)。跟 Tiger(Java SE 5)相比,Mustang 在性能方面有了不错的提升。与 Tiger 在 API 库方面的大幅度加强相比,虽然 Mustang 在 API 库方面的新特性显得不太多,但是也提供了许多实用和方便的功能:在脚本,WebService,XML,编译器 API,数据库,JMX,网络和 Instrumenta....
More...

JavaCC: LOOKAHEAD

1)LOOKAHEAD的作用: 用于判断是否进入一个语法分支,语法分支有下面的形式: a branch1 | branch2 | branch3 b branch1* c branch1+ d branch1? 即 [branch1] 其中,branchx 代表的一系列终结符、非终结符,以及相关的user action为一个语法分支。 既然LOOKAHEAD对一个语法分支的进入决定起作用,它不能跨越语法分支。 对于上面的各种情况,LOOKAHEAD通常写为: a branch1 | LOOKAHEAD...for branch2 branch2 | branch3 b LOOKAHEAD.....
More...