搜索资源列表
编译原理及实践
- 目 录 译者序 前言 第1章 概论 1 1.1 为什么要用编译器 2 1.2 与编译器相关的程序 3 1.3 翻译步骤 5 1.4 编译器中的主要数据结构 8 1.5 编译器结构中的其他问题 10 1.6 &
bsh
- BeanShell是一个小型的,免费的,可嵌入式的,具有面向对象脚本语言特性的Java代码解释器。它是用Java语言写的。它能执行标准的Java语句和表达式,还自带简单的脚本命令和语法。它把编程对象当成一个简单的方法,这很像Perl和Javascr ipt. 你可以在写Java测试或调试时使用BeanShell,也可以用它作为你的应用程序的脚本引挚。简而言之,BeanShell可以动态的解释JAVA语言。也就是说BeanShell在许多方面对于Java的用处就像Tcl/Tk对于C的用处一样:
pl0back
- 在本编译程序中,源语言为PL/0语言,目标语言为假想栈式计算机的汇编语言.PL/0语言是Pascal语言的一个子集,PL/0的编译程序包括了对PL/0语言源程序进行分析处理、编译生成类PCODE代码,并在虚拟机上解释运行生成的类PCODE代码的功能。 PL/0语言编译程序采用以语法分析为核心、一遍扫描的编译方法。词法分析和代码生成作为独立的子程序供语法分析程序调用。语法分析的同时,提供了出错报告功能。在源程序没有错误编译通过的情况下,调用类PCODE解释程序解释执行生成的类PCODE代码
verifyRegularExpression
- 正则表达式的验证工具,提供在C#中通过程序来判断,是学习和了解正则表达式的好帮手。推荐-regular expression validation tool providing in C# adopted procedures to judgment, learning and understanding Regular expressions are a good helper. Suggest
compile
- 自己写的一个编译程序,可以从二进制文件中读取一段c程序,进行表达式的识别和一些简单的c语句,最后生成三元式输出
IPQQsrc
- 飘云及FreePlus的源代码。 压缩包包括了飘云的MFC++版本,飘云汇编版本,FreePlus C版本 其中MFC版本作者是绅士 汇编版本是runjin FreePlus版本是morning 在此公开,我们仅仅希望对大家的学习有益. 我们欢迎大家互相讨论,并能从中学到有益的知识. 我们也期待越来越多的辅助软件出现,方便大家使用QQ 最后,我衷心祝愿腾讯把QQ越做越好,没有腾讯,就没有其他的一切. 开发要求: 1.基本功能 您只需要
asm
- 这是从网上下载下来的一个计算程序,能实现加、减、乘、除的计算。该程序接受 的是16进制数。 执行时,需在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下: c:\\masm>js 3+2 5 c:\\masm>js 6*7 2A c:\\masm>js 10-4 c c:\\masm>js 12/3 6 注:本程序在dos中或windows98中运行。
jisuanqi
- c语言编译的计算器 为了方便了解流程,在程序中把计算过程也输出了.而且栈操作的实现部分也是自己实现的. 程序用两个栈,optr寄存运算符,opnd寄存操作数和运算结果.输入的表达式以等号结束,例如:2*(1+2)=
数学表达式计算器
- 这是一个对数学表达式求值的C++ class,详细的说明在Calculator.pdf中。 这个Calculator class虽然经过我多次测试,改正了不少错误,但我不保证在将来的使用中它不会对您的程序造成影响,对您在使用中造成的一切后果,本人不承担任何责任。-this a mathematical expression evaluates the C class, detailed descr iption of the Calculator.pdf China. The Calculato
2
- 设计并实现C语言的语分析程序,实现对算术表达式的语法分析。要求所分析算术表达式由如下的文法G产生: EE+T|E-T|T TT*F|T/F|F Fid|(E)|num 实验要求:在对输入表示进行分析的过程中,输出所采用的产生式。-Design and implement C language, language analysis program to realize the arithmetic expression parsing. Requirements of a
LexicalAnalyzer
- 手工构造一个能够识别C语言的所有典型单词,如:标识符、数字、运算符,和if、while等保留字的确定有限自动机,并写出对应该自动机的程序;然后以一个简化的C语言程序为输入文件,通过所设计的基于上述自动机的词法分析程序获得输入文件中的各个单词及其内码对照表,并以文件形式保存结果(也就是TOKEN序列)。 将自己定义的各个正则表达式转化为NFA,然后将其综合为NFA ,再将NFA 转化为DFA,再将DFA转化为最少状态的DFA ,最后由DFA 转化为词法分析程序。-Manually constr
myPL0
- 本次实验使用平台是Microsoft Visual C++6.0,编程语言是C语言,利用递归下降子程序法实现对一个PL/0源程序中的表达式、各种说明语句、赋值语句进行词法分析和语法分析,完成符号表的管理并能实现确定源码中标识符的类型与二维坐标位置,和赋值语句及表达式中间代码的生成,做的一大亮点是程序有着很严格的出错处理子程序,能确定错误类型和错误位置,能检测输入源程序的开头,数值类型的判断,运算错误检查,变量定义重复性的检查,数值类型的一致性检查,语法错误的检查等多达二十种错误类型。 程序的
1-1
- 《现代编译原理C语言描述》书上第一章的直线式程序解释器的一个问题:写一个函数int maxargs(A_stm),告知给定语句中任意子表达式内的print语句的最大参数个数. 参照所给部分源码,在Linux环境下编写的,GCC版本4.4.4测试通过-The book Modern compiler Implementation In C, in first chapter of the book linear program interpreter there be a problem: W
Design-of-C_minus-lexical-analyzer
- 1、该个词法分析器要求至少能够识别以下几类单词: a.关键字:else if int return void while共6个,所有的关键字都是保留字,并且必须是小写; b.标识符:识别与C语言词法规定相一致的标识符,通过下列正则表达式定义:ID = letter (letter | digit)*; c.常数:NUM = digit digit*(.digit digit* |ε)(e(+ | - |ε) digit digit* |ε),letter = a|..|z|A|..|