搜索资源列表
编译原理及实践
- 目 录 译者序 前言 第1章 概论 1 1.1 为什么要用编译器 2 1.2 与编译器相关的程序 3 1.3 翻译步骤 5 1.4 编译器中的主要数据结构 8 1.5 编译器结构中的其他问题 10 1.6 &
Judge_LL(1)
- 本设计使用C语言实现了对简单方法描述的LL(1)文法的判定。该设计程序实现了:⑴分别求出每一产生式的右部的FIRST 集、每一个非终结符的FOLLOW集和每一产生式的SELECT集;⑵判定是否是LL(1)文法;⑶画出预测分析表;⑷对给定的符号串判定是否是文法中的句子,分析过程在屏幕上打印出来。 欢迎大家给程序提出富贵意见!-the design of the C language to describe a simple method of LL (1) grammar convicted.
scanner111111111
- 一个用C#写的词法分析程序 扫描器的工作任务如下: (1) 识别出源程序中的各个基本语法单位 (也称为单词或语法符号); (2) 删除无用的空白字符、回车字符以及其它与输入介质相关的非实质性字符; (3) 删除注释; (4) 进行词法检查,报告所发现的错误。-a written using C# lexical analysis procedure of the scanners work tasks are as follows : (1) to identify the
SHEPIN
- 这是一款125K的非接触卡通迅程序,用STC89C52编写的,是用的汇编语言,以便用汇编的同行参考。
Parser
- 本程序要求用户在控制台里输入非终极符,终结符与产生式,然后对用户输入的文法进行分析,得出first集 与follow 集,并打印出预测分析表用户决定是否继续进行句型分析,如继续则给出符号分析栈的实现,从而判断刚输入的句子是否为符合该文法的句子。 该程序遵循LL(1) 文法FIRST(A)的构造:是A的所有可能推导的开头终结符或可能的ε FOLLOW(A)是所有句型中出现在紧接A之后的非终结符或“#” 预测分析程序 构造LL(1)分析表 ⅰ,构造文法中所有元素的FIRST和FOLL
LL_Program
- LL(1)语法分析器,在任何时候,总控程序都是按照栈顶符号X和当前输入符号a行事的。对于任何(X,a),总控程序每次都执行下述三种可能的动作之一: 若X=a=’#’,则宣布分析成功,停止分析过程; 若X=a≠’#’,则把X从栈顶逐出,让a指向下一输入符号; 若X是一个非终结符,则查看分析表M。若M中存放着一条关于X的产生式,那么,首先把X逐出栈顶,然后,把产生式的右部符号按反序一一推进栈,同时做这个产生式相应的语义动作(目前不管)。若M[X,a]中存放着一条出错标志,则调用出错诊查程
yufafenxi.rar
- 语法分析器是函数绘图语言解释器的核心,因此语法分析器的构造是整个解释权构造的关键。语法分析器的构造分为两个重要步骤:规定语言的文法和根据文风编写程序。由于采用递归下降子程序方法,因此在文法的设计上要求是LL(1)文法。具体到此绘图语言,需要构造语法树的语言结构仅限于表达式,因为后继语义处理需要对表达式求值,而对语法树进行遍历即可得到表达式的值。 我们最终构造的是递归下降的语法分析器,要求文法是LL(1)文法,因此需要对二义文法进行改造:即先将文法改写为非二义文法,消除左递归,提取公共左因子,
20356875545
- 递归子程序法:对应每个非终结符语法单元编一个独立的处理过程(或子程序)。语法分析从读入第一个单词开始,由非终结符<程序>(即开始符)出发,沿语法描述图箭头所指出的方向进行分析。当-Recursive Subroutine law: at the end of the corresponding syntax for each non-unit provision of an independent process (or subprogram). Parsing from the f
diguixiajiang
- 递归下降的基本思想: 为每一个非终结符构造一个子程序,每一个子程序的过程体中按该产生式的候选项分情况展开,遇到终结符直接匹配,而遇到非终结符就调用相应非终结符的子程序。该分析从调用文法开始符号的子程序开始,直到所有非终结符都展开为终结符并得到匹配为止。若分析过程中达到这一步则表明分析成功,否则表明输入中有语法错误。递归下降分析对文法的限制是不能有公共左因子和左递归。由于文法是递归定义的,因此子程序也是递归的,被称为递归下降子程序。 -The basic idea of recursiv
vbkiller
- VBKiller使用说明 Killer是一个VB辅助逆向分析的工具。首先声明,它不能帮你把VB程序反编译到VB源代码,只能使得VB程序的反汇编看起来更接近VB代码。 配合IDA使用,可以建立VB程序几乎所有的类结构、方法表、函数体,并建立方法表结构体;可以识别VB程序中引用的COM的CLSID,并使用ProgID命名;可以建立任意COM程序(非VB编译的也可以)的方法表、函数体,并建立方法表结构体,可以在待分析的VB程序中使用这些结构体。-VBKiller instructions K
31767678analyse_0
- 编译原理中实现自顶向下语法分析,若文法中不含左递归,并且每个非终结符的所有后选式的首符集都两两不相交,那么就有可能构造一个不带回溯的自顶向下的语法分析程序-Compiler theory to achieve top-down parsing When every not terminal goes without interacting with each other,It can make a process of form up to down
lex_and_yacc
- lex与yacc是特意为编写编译程序和解释程序的人设计的工具,它对非编译程序编写人员所感兴趣的许多应用程序也非常有用。-lex and yacc is written specifically for the compiler and interpreter for the design of the tool, its non-compiler writers are interested in is also very useful for many applications.
20110915_src
- 建立一个针对LL(1)文法编译器的自动生成器。要完成此编译器的生成器需对源文件进行两遍处理:第一遍词法分析,第二遍语法分析。语法分析程序用LL(1)语法分析方法。首先输入定义好的文法书写文件(所用的文法可以用LL(1)分析),然后建立词法分析器,包括词法分析主程序、扫描器部分、关键字表等。经词法分析后分别计算所输入的文法的每个非终结符号的FIRST集合,每个非终结符号的FOLLOW集合,以及每个规则的SELECT集合,并判断任意一个非终结符号的任意两个规则的SELECT集的交集是不是都为空,如果
CompileChapter1
- 计算机编译原理的文法存储程序。此程序存储用户输入的文法,找出文法中的终结符,非终结符,并且显示四元组形式!-Computer program stored in compiler theory of grammar. This program stores the user input grammar to identify the terminator grammar, nonterminals, and the form of four-tuple!
Compiler-theory
- 编译原理 第1章绪论 第2章数据类型 第3章控制结构 第4章程序语言的设计 第5章非过程式程序设计语言 第6章形式语义学简介 第7章编译概述 第8章词法分析 第9章自上而下的语法分析 第10章自下而上的语法分析 第11章语义分析和中间代码生成 第12章代码优化和目标代码生成 第13章运行时存储空间的组织 -Compiler theory Chapter 1 Introduction Chapter 2 data types C
3LL(1)
- 编译原理上机—语法分析1 目的:熟练掌握自上而下的语法分析方法,并能用C++程序实现。 要求: 1. 使用固定的文法 2. 对于任意给定的输入串(词法记号流)进行语法分析,递归下降方法和非递归预测分析方法可以任选其一来实现。 3. 要有一定的错误处理功能。即对错误能提示,并且能在一定程度上忽略尽量少的记号来进行接下来的分析。可以参考书上介绍的同步记号集合来处理。 可能的出错情况:idid*id, id**id, (id+id, +id*+id …… 4. 输入串以#结
LL1ALG
- 关键字:编译原理;算法;LL1文法 描述:LL1文法主要思想是根据产生式当中终结符或非终结符的先后关系来确定字符串是否符合文法,在写程序之前用First集合Follow集制定出一个程序的走向表,通过该表来判断字符串,当对应的表格为空时字符串不合文法。-Compilation principle algorithm LL1 grammar