Welcome![Sign In][Sign Up]
Location:
Search - 编译技术

Search list

[Program docZend Decode,PHP Zend反编译技术文档

Description:

分英文版及中文版本,详细介绍反编译 PHP Zend加密代码的技术方法跟思路.


Platform: | Size: 184932 | Author: testbs | Hits:

[ELanguage编译原理及实践

Description:

目      录
译者序
前言
第1章   概论 1
1.1   为什么要用编译器 2
1.2   与编译器相关的程序 3
1.3   翻译步骤 5
1.4   编译器中的主要数据结构 8
1.5   编译器结构中的其他问题 10
1.6   自举与移植 12
1.7   TINY样本语言与编译器 14
1.7.1   TINY语言 15
1.7.2   TINY编译器 15
1.7.3   TM机 17
1.8   C-Minus:编译器项目的一种语言 18
练习 19
注意与参考 20
第2章   词法分析 21
2.1   扫描处理 21
2.2   正则表达式 23
2.2.1   正则表达式的定义 23
2.2.2   正则表达式的扩展 27
2.2.3   程序设计语言记号的正则表达式 29
2.3   有穷自动机 32
2.3.1   确定性有穷自动机的定义 32
2.3.2   先行、回溯和非确定性自动机 36
2.3.3   用代码实现有穷自动机 41
2.4   从正则表达式到DFA 45
2.4.1   从正则表达式到NFA 45
2.4.2   从NFA到DFA 48
2.4.3   利用子集构造模拟NFA 50
2.4.4   将DFA中的状态数最小化 51
2.5   TINY扫描程序的实现 52
2.5.1   为样本语言TINY实现一个扫描
程序 53
2.5.2   保留字与标识符 56
2.5.3   为标识符分配空间 57
2.6   利用Lex 自动生成扫描程序 57
2.6.1   正则表达式的Lex 约定 58
2.6.2   Lex输入文件的格式 59
2.6.3   使用Lex的TINY扫描程序 64
练习 65
编程练习 67
注意与参考 67
第3章   上下文无关文法及分析 69
3.1   分析过程 69
3.2   上下文无关文法 70
3.2.1   与正则表达式比较 70
3.2.2   上下文无关文法规则的说明 71
3.2.3   推导及由文法定义的语言 72
3.3   分析树与抽象语法树 77
3.3.1   分析树 77
3.3.2   抽象语法树 79
3.4   二义性 83
3.4.1   二义性文法 83
3.4.2   优先权和结合性 85
3.4.3   悬挂else问题 87
3.4.4   无关紧要的二义性 89
3.5   扩展的表示法:EBNF和语法图 89
3.5.1   EBNF表示法 89
3.5.2   语法图 91
3.6   上下文无关语言的形式特性 93
3.6.1   上下文无关语言的形式定义 93
3.6.2   文法规则和等式 94
3.6.3   乔姆斯基层次和作为上下文无关
规则的语法局限 95
3.7   TINY语言的语法 97
3.7.1   TINY的上下文无关文法 97
3.7.2   TINY编译器的语法树结构 98
练习 101
注意与参考 104
第4章   自顶向下的分析 105
4.1   使用递归下降分析算法进行自顶向下
的分析 105
4.1.1   递归下降分析的基本方法 105
4.1.2   重复和选择:使用EBNF 107
4.1.3   其他决定问题 112
4.2   LL(1)分析 113
4.2.1   LL(1)分析的基本方法 113
4.2.2   LL(1)分析与算法 114
4.2.3   消除左递归和提取左因子 117
4.2.4   在LL(1)分析中构造语法树 124
4.3   First集合和Follow集合 125
4.3.1   First 集合 125
4.3.2   Follow 集合 130
4.3.3   构造LL(1)分析表 134
4.3.4   再向前:LL(k)分析程序 135
4.4   TINY语言的递归下降分析程序 136
4.5   自顶向下分析程序中的错误校正 137
4.5.1   在递归下降分析程序中的错误
校正 138
4.5.2   在LL(1)分析程序中的错误校正 140
4.5.3   在TINY分析程序中的错误校正 141
练习 143
编程练习 146
注意与参考 148
第5章   自底向上的分析 150
5.1   自底向上分析概览 151
5.2   LR(0)项的有穷自动机与LR(0)分析 153
5.2.1   LR(0)项 153
5.2.2   项目的有穷自动机 154
5.2.3   LR(0)分析算法 157
5.3   SLR(1)分析 160
5.3.1   SLR(1)分析算法 160
5.3.2   用于分析冲突的消除二义性
规则 163
5.3.3   SLR(1)分析能力的局限性 164
5.3.4   SLR(k)文法 165
5.4   一般的LR(1)和LALR(1)分析 166
5.4.1   LR(1)项的有穷自动机 166
5.4.2   LR(1)分析算法 169
5.4.3   LALR(1)分析 171
5.5   Yacc:一个LALR(1)分析程序的
生成器 173
5.5.1   Yacc基础 173
5.5.2   Yacc选项 176
5.5.3   分析冲突与消除二义性的规则 180
5.5.4   描述Yacc分析程序的执行 183
5.5.5   Yacc中的任意值类型 184
5.5.6   Yacc中嵌入的动作 185
5.6   使用Yacc生成TINY分析程序 186
5.7   自底向上分析程序中的错误校正 188
5.7.1   自底向上分析中的错误检测 188
5.7.2   应急方式错误校正 188
5.7.3   Yacc中的错误校正 189
5.7.4   TINY中的错误校正 192
练习 192
编程练习 195
注意与参考 197
第6章   语义分析 198
6.1   属性和属性文法 199
6.1.1   属性文法 200
6.1.2   属性文法的简化和扩充 206
6.2   属性计算算法 207
6.2.1   相关图和赋值顺序 208
6.2.2   合成和继承属性 212
6.2.3   作为参数和返回值的属性 219
6.2.4   使用扩展数据结构存储属性值 221
6.2.5   语法分析时属性的计算 223
6.2.6   语法中属性计算的相关性 226
6.3   符号表 227
6.3.1   符号表的结构 228
6.3.2   说明 230
6.3.3   作用域规则和块结构 232
6.3.4   同层说明的相互作用 236
6.3.5   使用符号表的属性文法的一个
扩充例子 237
6.4   数据类型和类型检查 241
6.4.1   类型表达式和类型构造器 242
6.4.2   类型名、类型说明和递归类型 246
6.4.3   类型等价 248
6.4.4   类型推论和类型检查 253
6.4.5   类型检查的其他主题 255
6.5   TINY语言的语义分析 257
6.5.1   TINY的符号表 258
6.5.2   TINY语义分析程序 259
练习 260
编程练习 264
注意与参考 264
第7章   运行时环境 266
7.1   程序执行时的存储器组织 266
7.2   完全静态运行时环境 269
7.3   基于栈的运行时环境 271
7.3.1   没有局部过程的基于栈的环境 271
7.3.2  带有局部过程的基于栈的环境 281
7.3.3   带有过程参数的基于栈的环境 284
7.4   动态存储器 286
7.4.1   完全动态运行时环境 286
7.4.2   面向对象的语言中的动态存储器 287
7.4.3   堆管理 289
7.4.4   堆的自动管理 292
7.5   参数传递机制 292
7.5.1   值传递 293
7.5.2   引用传递 294
7.5.3   值结果传递 295
7.5.4   名字传递 295
7.6   TINY语言的运行时环境 296
练习 297
编程练习 303
注意与参考 304
第8章   代码生成 305
8.1   中间代码和用于代码生成的数据
结构 305
8.1.1   三地址码 306
8.1.2   用于实现三地址码的数据结构 308
8.1.3   P-代码 310
8.2   基本的代码生成技术 312
8.2.1   作为合成属性的中间代码或目标
代码 312
8.2.2   实际的代码生成 314
8.2.3   从中间代码生成目标代码 317
8.3   数据结构引用的代码生成 319
8.3.1   地址计算 319
8.3.2   数组引用 320
8.3.3   栈记录结构和指针引用 325
8.4   控制语句和逻辑表达式的代码生成 328
8.4.1   if 和while 语句的代码生成 328
8.4.2   标号的生成和回填 330
8.4.3   逻辑表达式的代码生成 330
8.4.4   if 和while 语句的代码生成过程
样例 331
8.5   过程和函数调用的代码生成 334
8.5.1   过程和函数的中间代码 334
8.5.2   函数定义和调用的代码生成过程 336
8.6   商用编译器中的代码生成:两个案
例研究 339
8.6.1   对于80×86的Borland 3.0版C编
译器 339
8.6.2   Sun SparcStation的Sun 2.0 C编
译器 343
8.7   TM:简单的目标机器 346
8.7.1   Tiny Machine的基本结构 347
8.7.2   TM模拟器 349
8.8   TINY语言的代码生成器 351
8.8.1   TINY代码生成器的TM接口 351
8.8.2   TINY代码生成器 352
8.8.3   用TINY编译器产生和使用TM
代码文件 354
8.8.4   TINY编译器生成的TM代码文
件示例 355
8.9   代码优化技术考察 357
8.9.1   代码优化的主要来源 358
8.9.2   优化分类 360
8.9.3   优化的数据结构和实现技术 362
8.10   TINY代码生成器的简单优化 366
8.10.1   将临时变量放入寄存器 366
8.10.2   在寄存器中保存变量 367
8.10.3   优化测试表达式 367
练习 368
编程练习 371
注意与参考 372
附录A   编译器设计方案 373
附录B   小型编译器列表 381
附录C   Tiny Machine模拟器列表 417


Platform: | Size: 7612048 | Author: wesong | Hits:

[ELanguage编译原理课程设计报告LL1文法

Description: 课程设计的目的 通过课程设计进一步理解高级语言在计算机中的执行过程,加深对编译原理中重点算法和编译技术的理解,提高自己的编程能力,培养好的程序设计风格。同时通过某种可视化编程语言的应用,具备初步的Windows环境下的编程思想。解和掌握LL(1)语法分析方法的基本原理;根据给出的LL(1)文法,掌握LL(1)分析表的构造及分析过程的实现。 -curriculum design through curriculum design aimed to further understand senior in computer language of the implementation process, enhance the focus of compiler theory algorithm and compiler technology understanding, enhance their programming ability, and cultivate good programming style. Through some kind of visual programming language applications, with the initial Windows programming environment ideology. Xie and master LL (1) syntax analysis of the basic tenets; According given LL (1) grammar, master LL (1) analysis of the structure and table analysis is achieved.
Platform: | Size: 126996 | Author: 爽爽 | Hits:

[Graph Recognize光学字符识别技术

Description: OCR算法代码。这不是一个完整的系统,没法生成可执行程序。代码基于Linux/KDE开发,用到了C++标准模板库。代码的目的是向读者展示一个OCR系统包括哪些部分,如何工作, 读者可以借鉴这些代码,改动后用到自己的系统中。由于这是从一个完整的OCR系统中抽取的部分代码,所以这些代码无法单独编译。 两个*.dat文件如下: char_data.dat:字符特征数据 words_de.dat:词库(后处理用)-OCR algorithm code. This is not a complete system, we can not generate executable. Based on the Linux code / KDE development, use the C standard template library. The code is intended to show readers an OCR system, including which parts work, readers can learn from these code changes after their use in the system. As this is from a complete OCR system taking part code, so code can not be compiled separately. 2 *. dat following documents : char_data.dat : Character Feature Data words_de.dat : Thesaurus (reprocessing spent)
Platform: | Size: 874247 | Author: 小智 | Hits:

[Other编译原理及工程实践(Kenneth CLouden 著)

Description:

本书系统介绍了经典的编译理论和技术,同时也包含了面向对象语言等当前较新语言的编译技术。本书更可贵之处在于提供了较完整的适用于教学实践的样例语言,是一本理论和实践内容相结合的、不可多得的好书。 本书可用作大专院校教材、教师参考书以及编译器研究人员的参考资料。

 


Platform: | Size: 7612674 | Author: dingfeng629 | Hits:

[Other resource编译技术 语法分析

Description: 编译原理中关于语法分析的介绍
Platform: | Size: 823991 | Author: 00948315@pku.edu.cn | Hits:

[ELanguage编译技术

Description: 我用java写的词法分析器,语法分析器正在做,到时候我传上来共享- I use the morphology analyzer which java writes, the grammar analyzer to do, when the time comes I pass on share
Platform: | Size: 275456 | Author: | Hits:

[Booksbianyiyuanlijishijian

Description: 编译原理及实践。本书系统介绍了经典的编译理论和技术,同时也包含了面向对象语言等当前较新语言的编译技术。本书更可贵之处在于提供了较完整的适用于教学实践的样例语言,是一本理论和实践内容相结合的、不可多得的好书。 本书可用作大专院校教材、教师参考书以及编译器研究人员的参考资料。-compiler theory and practice. This book systematically introduce the classic compiler theory and technology, but also includes an object-oriented language such as the current relatively new language compiler technology. The book is more precious here is to provide a more complete application of teaching practice in a sample language, is a theory and practice of combining the content, rare books. The book can be used as a tertiary educational materials, teacher reference books and compiler research references.
Platform: | Size: 7608320 | Author: 张洪 | Hits:

[Other编译原理 课件打包

Description: 哈尔滨工业大学计算机科学与技术学院编译原理课件,很全面,对广大编译原理爱好者有很好的帮助!-Harbin Industrial University Computer Science and Technology Institute courseware compiler theory, very comprehensive and of the general principles of compiling a very good lovers!
Platform: | Size: 5581824 | Author: 马日光 | Hits:

[ELanguage编译原理课程设计报告LL1文法

Description: 课程设计的目的 通过课程设计进一步理解高级语言在计算机中的执行过程,加深对编译原理中重点算法和编译技术的理解,提高自己的编程能力,培养好的程序设计风格。同时通过某种可视化编程语言的应用,具备初步的Windows环境下的编程思想。解和掌握LL(1)语法分析方法的基本原理;根据给出的LL(1)文法,掌握LL(1)分析表的构造及分析过程的实现。 -curriculum design through curriculum design aimed to further understand senior in computer language of the implementation process, enhance the focus of compiler theory algorithm and compiler technology understanding, enhance their programming ability, and cultivate good programming style. Through some kind of visual programming language applications, with the initial Windows programming environment ideology. Xie and master LL (1) syntax analysis of the basic tenets; According given LL (1) grammar, master LL (1) analysis of the structure and table analysis is achieved.
Platform: | Size: 126976 | Author: 爽爽 | Hits:

[CSharp数字水印技术

Description: 包含了基于可移植的C语言的数字水印算法的代码。这些代码具有示范性的意义,且有一定的鲁棒性。需要安装NetPGM的程序包(用来存取pgm格式图像),然后才能在linux下面编译。NetPGM是图像文件的输入/输出软件包。可以在网上搜索得到。如果需要读取其它格式的图像,读者可以修改程序中图像存取部分的代码。对于Linux下编译程序不熟悉的可以参考相关的Linux编程书籍。-contains transplantation based on the C language digital watermarking algorithm code. With the model code of significance, there are certain robustness. NetPGM need to install the package (pgm format used to access images), which can then be compiled under Linux. NetPGM is the image file input/output package. The Internet search can be. If read other formats of images, readers can modify procedures image access part of the code. For Linux compiler can not familiar with the information related to the Linux programming books.
Platform: | Size: 19456 | Author: 樊志华 | Hits:

[Othercompile_theory

Description: 编译原理及实践 本书系统介绍了经典的编译理论和技术,同时也包含了面向对象语言等当前较新语言的编译技术。本书更可贵之处在于提供了较完整的适用于教学实践的样例语言,是一本理论和实践内容相结合的、不可多得的好书。 本书可用作大专院校教材、教师参考书以及编译器研究人员的参考资料。 -compiler theory and practice of the book on the classical system of compiler theory and technology, It also contains an object-oriented language, and other relatively new language compiler technology. The book is more precious is it is a more complete application of teaching practice in a sample language, is a theory and practice of combining content and rare books. The book can be used as a tertiary educational materials, teacher reference books and compiler research references.
Platform: | Size: 5915648 | Author: yy | Hits:

[ELanguagebiyljsjPDF

Description: 编译原理及实践 PDF格式本书系统介绍了经典的编译理论和技术,同时也包含了面向对象语言等当前较新语言的编译技术。本书更可贵之处在于提供了较完整的适用于教学实践的样例语言,是一本理论和实践内容相结合的、不可多得的好书。本书可用作大专院校教材、教师参考书以及编译器研究人员的参考资料。 -Compiler Construction Principles and Practice of PDF format of this book introduced the classical system, compiler theory and technology, but also contains the current object-oriented language, such as a relatively new language compiler technology. This book is more valuable is to provide a more complete teaching practice applicable to the sample language, is a theory and practice of combining content, rare books. This book can be used as a tertiary teaching materials, teacher reference books, as well as researchers compiler reference.
Platform: | Size: 7613440 | Author: 王喆 | Hits:

[JSP/JavaTest_Compile

Description: 编译技术词法分析算法。对一个C语言源程序进行词法分析,分为保留字、标示符、常量、分隔符、特殊符号五类。使用了超前搜索算法,java语言编写。-Lexical analysis algorithm compiler technology. Of a C language source code for lexical analysis, divided into reserved words, identifiers, constants, delimiters, five special symbols. The use of advanced search algorithms, java language.
Platform: | Size: 2048 | Author: qinying | Hits:

[ELanguage程序设计语言编译原理

Description: 高级语言程序编译原理 内容包括词法分析、语法分析、属性文法与语法制导翻译、语义分析与中间代码产生、符号表与运行时存储空间组织、优化与目标代码生成、并行编译技术。(Compiler design principles)
Platform: | Size: 8698880 | Author: adds77 | Hits:

[Linux-Unix编译

Description: CS课程编译技术资料 考前复习专用 英语PPT(compilation technology)
Platform: | Size: 13176832 | Author: zening | Hits:

[VHDL-FPGA-VerilogXilinx的增量编译技术

Description: 增量编译技术,其基本原理就是根据前一次编译的结果,只重新编译部分修改过设计,其它部分则沿用前一次编译的结果,这样就可以缩短总体的编译时间(Incremental compilation technology, the basic principle is based on the results of the previous compilation, only re-editing part of the modified design, the other part is based on the results of the previous compilation, so that you can shorten the overall compile time)
Platform: | Size: 68608 | Author: 小旦 | Hits:

[Other编译原理中文版

Description: 编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力(The principle of compilation is an important professional course in computer science, which aims to introduce the general principles and basic methods of compiler construction. It includes language and grammar, lexical analysis, syntax analysis, syntax directed translation, intermediate code generation, storage management, code optimization and target code generation. The principle of compilation is an important professional course in computer specialty.)
Platform: | Size: 27817984 | Author: dispa1r | Hits:

[ELanguage编译原理(高清龙书中文版)

Description: 本书是编译领域无可替代的经典著作,被广大计算机专业人士誉为“龙书”。本书上一版自1986年出版以来,被世界各地的著名高等院校和研究机构(包括美国哥伦比亚大学、斯坦福大学、哈佛大学、普林斯顿大学、贝尔实验室)作为本科生和研究生的编译原理课程的教材。该书对我国高等计算机教育领域也产生了重大影响。 第2版对每一章都进行了全面的修订,以反映自上一版出版20多年来软件工程。程序设计语言和计算机体系结构方面的发展对编译技术的影响。本书全面介绍了编译器的设计,并强调编译技术在软件设计和开发中的广泛应用。每章中都包含大量的习题和丰富的参考文献。(Compilers: principles,Techniques,and Tools)
Platform: | Size: 27811840 | Author: 七七sss | Hits:

[Windows Develop语义分析

Description: 编译原理语义分析实现代码:实现的要求 (1)禁止同名标识符的重复申明(10%); (2)实现算术运算+、-、*、/运算,运算满足左结合,且满足*,/优先级别高于(20%); (3)实现类型检查(30%):(Code for Semantic Analysis of Compiling Principle)
Platform: | Size: 1024 | Author: 花花界 | Hits:
« 12 3 4 5 6 7 8 9 10 ... 41 »

CodeBus www.codebus.net