搜索资源列表
C0Compiler
- 用c写的c0文法的编译器,基本块内部的公共子表达式删除(DAG图);全局寄存器分配(引用计数或着色算法);数据流分析(通过活跃变量分析,或利用定义-使用链建网等方法建立冲突图)代码生成时合理利用临时寄存器(临时寄存器池),并能生成较高质量的目标代码;生成X86汇编 -C0 written grammar with c compiler
sp-1.3.4.tar
- SP是一个基于GNU C++编译器,并且VC6可编译的源码包,用途在于解析SGML文档。SP内置nsgml命令行工具以便进行更方便的非编程的SGML处理工作;此外SP也提供良好的编程接口以便能够进行更复杂的处理。-SP is a based on the GNU C++ compiler, and VC6 can compile the source packages, uses is to resolve SGML documents. SP built nsgml command-line
minic_interpreter
- 一款比较完善的强大的C语言解释器,附带源码,可以嵌入到用户应用程序中。支持对比较复杂的C代码的解释执行。完美支持各种标准C语言语法,如if-else结构语句, ?:结构求值语句,for循环,while循环,do...while循环等 支持各种数据类型包括: char,short,int,string,float 支持多维数组及指针 支持自定义函数以及系统函数 支持局部变量以及全局变量,允许在变量定义时直接初始化 支持局部变量层次化作用域;允许定义系统常量;支持系统内部定义数据类型,但不支持用户在
lexical
- 编译原理-词法分析,有三类子串:a,每个1右边都有一个0直接跟着;b:至少包含两个1,任意2个1之间包含偶数个0;c:不包含连续的子串100!输入一串字符,判断该串是哪一类别-Compiler theory- lexical analysis, there are three sub-string: a, each one on the right has a 0 followed immediately b: at least two one, between any two 1 conta
CP_work_8
- 设计一个四则表达式分析软件,其接受从文件或键盘输入的四则表达式(运算对象支持整数和变量),给出该表达式的二叉树表达形式,并在键盘上按后续遍历方式输出该二叉树。 例如,输入a+b*c,输出 a b c * + 提示:参考下列的设计指导: 递归下降分析法实验设计思想及算法 为G的每个非终结符号U构造一个递归过程,不妨命名为U。U的产生式的右边指出这个过程的代码结构: (1)若是终结符号,则和向前看符号对照,若匹配则向前进一个符号;否则出错。 (2)若是非终结符号,
PL0
- pl0拓展文法的编译器,包含实验报告、源码和测试程序。对PL0原编译器进行了以下的扩充:1. 增加以下保留字 else(elsesym), for(forsym),to(tosym),downto(downtosym), return(returnsym),[(lmparen),](rmparen) 2. 增加了以下的运算符: +=(eplus),-=(eminus),++(dplus),--(dminus) 取址运算符&(radsym),指向运算符@(padsym) 3
CODEOfflineJudge_1.00_Bet
- 1. 图形用户界面,使用鼠标即可以完成所有操作,直观易用,当然,也有键盘快捷键; 2. 在有标准输入和标准输入数据的情况下,无需联网即可提交代码进行判题; 3. 具备所有Online Judge的核心判题功能,如编译代码、内存限定,时间限定,获取代码长度等; 4. 支持一道题目对应多个文件的测试方式,并支持显示每组测试文件的测试结果,计算正确率; 5. 可以打包并加密测试数据,使用加密后的数据可以正常判题,但不显示标准输出; 6. 拥有出题模式,在有标准输入数据和标程的时候可
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|..|
InputAndOutputOfGrammar
- 1、了解文法定义的4个部分: G(Vn, Vt, S, P) Vn 文法的非终结符号集合,在实验中用大写的英文字母表示; Vt 文法的终结符号集合,在实验中用小写的英文字母表示; S 开始符号,在实验中是Vn集合中的一个元素; P 产生式,分左部和右部,左部为非终结符号中的一个,右部为终结符号或非终结符号组成的字符串,如S->ab|c 2、根据文法各个部分的性质,设计一个合理的数据结构用来表示文法, 1)若使用C语言编写,则文法可以设计成结构体形式,结构体中应包
LexicalAnalysis
- 1、根据以下的正规式,编制正规文法,画出状态图; 标识符 <字母>(<字母>|<数字字符>)* 十进制整数 0 | ((1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*) 八进制整数 0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* 十六进制整数 0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e
a
- 输入:输入是一个文本文件,里面的内容是符合某个语言语法、词法要求的源代码(输入文件为C++或者Java源程序,词语、语法定义参考C++、Java即可;C++、Java大家只需要选择一种自己熟悉的语言就可以),例如“position = initial + rate * 60 ”; 输出:设计并实现对输入文件的处理(禁用正则表达式),以获得如下输出,输出是一个文本文件,对前面例子,里面内容是: (标识符,position) (赋值运算符,=) (标识符,initial) (加法
json
- a、 完成json 基本结构(键值对、对象、数组、字符串)的解析;(10 分) b、 完成对true、false、null、整数的解析;(5 分) c、 完成浮点数的解析;(5 分) d、 完成科学计数法表示的数的解析;(5 分); e、 完成json 文本的格式化。添加一个命令行参数-pretty,对于文件*.json,如果解析成功, 那么将格式化后的json 输出到另一个文件*.pretty.json 中。(5 分) test 目录下的e 目录下,有一个乱序的country.js
编译器工程
- 用大量素材向读者展示现实权衡的存在,展示这些选择的影响可能是微妙且深远的。省略由于商业、语言和编译器技术以及町用工具的变迁而变得不太重要的技术、c语言对优化和代码生成提供更深层次的处理。奉书内容分为四部分。前端部分介绍扫描、语法分析、上下文相关分析的内容;基础结构部分阐述中间表示、过程抽象、代码形态为主线的知识;优化部分阐述构建编译器的巾间部分——优化器所出现的问题;代码生成部分着眼于代码生成中的三个主要问题。(Using a large amount of material to show t