编译器技术:从基础概念到实际应用
1. 编译器构建的重要性
编译器构建是一门工程科学,借助它我们能够系统且高效地设计和实现快速、可靠且强大的编译器。学习编译器构建有诸多原因:
- 广泛的适用性 :编译器构建技术的用途不仅局限于编译器,在很多领域都有广泛应用。
- 理解编程过程 :为了更有效地编程,我们需要了解编译过程。
- 核心计算概念 :语言和语言翻译是计算的核心,我们应该熟悉其理论和实践。
- 正式学习的必要性 :与计算机科学的某些领域不同,编译器构建技术通常无法在工作中自然掌握,因此正式学习这些技术至关重要。
当然,也有不学习编译器构建的理由,不过只有一个:医生建议避免兴奋。
2. 基本语言概念
在研究编译器设计理论时,我们先从几个重要定义开始。
2.1 字母表
字母表是用于书写一种语言的有限字符集。例如,Java 编程语言的字母表包含程序中可能出现的所有字符,如大小写字母、数字、空白字符(空格、制表符、换行符和回车符)以及所有特殊符号(如 =、+ 和 {)。在很多示例中,我们会使用较小的字母表,如 {b, c} 和 {b, c, d},并避免使用字母 “a”,以免与英语冠词 “a” 混淆。
2.2 字符串
字符串是从字母表中选取的有限字符序列。例如,若字母表为 {b, c, d},则 “cbd”、“cbcc” 和 “c” 都是该字母表上的字符串。在字母表上的字符串中,字母表
超级会员免费看
订阅专栏 解锁全文

897

被折叠的 条评论
为什么被折叠?



