Logo
Section 1 / 22

语言编译器项目描述

了解“语言编译器”的简要介绍,并学习本项目中我们将实现的功能。

导入

语言编译器项目描述

了解“语言编译器”的简要介绍,并学习本项目中我们将实现的功能。

简介

语言编译器 是一种用于将某种语言的源代码转换为机器码的软件,随后由计算机的处理器执行。编译器通常包含多个组件,如扫描器、词法分析器、语义分析器、代码生成等,这些功能可能由程序的不同模块分别处理。编译器既与特定编程语言相关,也依赖于底层硬件处理器。

本章讨论的场景和问题涉及在不同情况下处理编译器的代码注释以及表达式计算功能。

任务说明

在此项目中,假设你是一家正在尝试开发新型 C++ 编译器公司的开发者。该编译器不遵循传统编译器的架构。

你们团队正在开发的编译器程序包含多个模块,各自负责转换过程的不同部分。目前,团队正在对大型及小型程序的编译进行多项优化。

功能需求

为了实现上述功能,我们需要引入以下特性:

  • 特性 #1:检测源代码中的注释并将其移除。

  • 特性 #2:计算以字符串形式给出的 C++ 语言数学表达式的值。

  • 特性 #3:展开循环,用重复的指令替换循环结构。

  • 特性 #4:通过用更快的函数调用替代较慢的函数调用,优化代码性能。

  • 特性 #5:找出首次构建失败的步骤,避免重新编译所有文件。

  • 特性 #6:找出代码中最常使用的变量或函数调用。

  • 特性 #7:在不支持幂运算的设备上提供幂运算功能。

  • 特性 #8:使编译器生成自适应代码,根据不同的电池状态表现出不同行为。

  • 特性 #9:在编译过程中验证复杂程序中括号的匹配顺序。

接下来的课程将详细讨论这些特性的实现方法。完成本节后,你将能够将本场景的解决方案应用于各类面试题目。

操作系统

功能 #1:删除注释