搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
编译原理及实践
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    7111077032
  • 作      者:
    (美)劳顿(Kenneth C.Louden)著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2000.3
收藏
作者简介
  Kenneth C.Louden,加拿大麦吉尔大学获得博士学位之后,曾在多所大学任教。他的主要研究领域是统和统译器,涉及范畴论及其编程、形式语义、编译器优化与自动化技术等。1985年在美国圣何塞州立大学任教至今。所撰写的教材还有Programming Languages、Programming Languages Text和 Compiler Constuction Text等。
展开
内容介绍
  《编译原理及实践》结合对现代编译器设计理论的详细研究,完整描述了一个可运行的小规模语言编译器(包括源代码)。《编译原理及实践》反映了作者的这样一些观点:不掌握理论就不会真正地理解实际的编译器设计:而对大学生来说,看不到理论在实际中的应用就不会真正地理解理论。把《编译原理及实践》讨论的概念统一起来,就是一个完整的可运行的编译器,它使用每一章所讨论的技术进行开发,用C语言写成。每章最后有大量的练习,使学生的注意力集中在编程问题上。
  主要特点:
  1 详细给出了自顶而下的分析算法(第4章和第5章),包括递归下降和LL(1)分析方法、自底向上的分析、LALR(1)分析表以及Yacc分析器产生器工具的使用。
  2 完整讨论了运行时环境的一般形式(第7章),从Fortran的完全静态环境到各种基于栈的环境,最后是Lisp语言的全动态环境。
  3 通过一个例子语言的完整的代码产生器介绍了代码生成(第8章),并介绍了代码优先技术。
展开
目录
译者序
前言
第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.8   C-Minus:编译器项目的一种语言 18
练习 19
注意与参考 20
第2章   词法分析 21
2.1   扫描处理 21
2.2   正则表达式 23
2.3   有穷自动机 32
2.4   从正则表达式到DFA 45
2.5   TINY扫描程序的实现 52
2.6   利用Lex 自动生成扫描程序 57
练习 65
编程练习 67
注意与参考 67
第3章   上下文无关文法及分析 69
3.1   分析过程 69
3.2   上下文无关文法 70
3.3   分析树与抽象语法树 77
3.4   二义性 83
3.5   扩展的表示法:EBNF和语法图 89
3.6   上下文无关语言的形式特性 93
3.7   TINY语言的语法 97
练习 101
注意与参考 104
第4章   自顶向下的分析 105
4.1   使用递归下降分析算法进行自顶向下的分析 105
4.2   LL(1)分析 113
4.3   First集合和Follow集合 125
4.4   TINY语言的递归下降分析程序 136
4.5   自顶向下分析程序中的错误校正 137
练习 143
编程练习 146
注意与参考 148
第5章   自底向上的分析 150
5.1   自底向上分析概览 151
5.2   LR(0)项的有穷自动机与LR(0)分析 153
5.3   SLR(1)分析 160
5.4   一般的LR(1)和LALR(1)分析 166
5.5   Yacc:一个LALR(1)分析程序的生成器 173
5.6   使用Yacc生成TINY分析程序 186
5.7   自底向上分析程序中的错误校正 188
练习 192
编程练习 195
注意与参考 197
第6章   语义分析 198
第7章   运行时环境 266
第8章   代码生成 305
附录A   编译器设计方案 373
附录B   小型编译器列表 381
附录C   Tiny Machine模拟器列表 417
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证