上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.3 语言和工具简介
本书除了介绍编译技术相关理论方法之外,也会引导实现一个完整的编译器。在实践过程中,我们需要用到若干使用较为广泛的工具,以提升编译器构建效率。现代编译技术通常使用正则表达式(Regular Expression)来描述语言词法中特定词素所对应的模式,使用上下文无关文法(Context-Free Grammar)以描述语言的语法。本书选择使用Flex和Bison,分别作为实现词法分析和语法分析的辅助工具。我们所实现的编译器在完成之后,能够将以一门类C语言(即C--语言)书写的源程序完整编译为目标语言MIPS的指令序列,并可以在相关MIPS模拟器上直接运行。本节将简要介绍本书中所涉及的语言和工具,包括源语言C--、目标语言MIPS,以及MIPS模拟器,而Flex和Bison这两项辅助工具将在后续章节中使用到它们时再介绍。