首页 › 编译与程序转换 › 正文
符号表记录变量和函数等标识信息_抽象语法树保留与程序语义相关的结构_静态类型检查在执行前发现部分不一致
笔记摘要
编译与程序转换
编译器把源程序转换为目标执行形式
编译器把源程序转换为目标执行形式。词法分析把字符序列划分为基本记号。语法分析根据文法建立程序结构表示。抽象语法树保留与程序语义相关的结构。语义分析检查名称和类型等规则要求。符号表记录变量和函数等标识信息。作用域规定某个名称可以被访问的范围。
类型系统约束值与操作之间的合法组合
类型系统约束值与操作之间的合法组合。静态类型检查在执行前发现部分不一致。动态类型检查在运行过程中验证相关条件。类型安全不能保证所有业务逻辑都正确。中间表示为优化和目标生成提供统一形式。控制流图表达基本块之间的执行关系。数据流分析推断值在程序中的传播性质。常量传播用已知常量替代相关表达式。
寄存器溢出时可能需要使用栈保存数据
寄存器溢出时可能需要使用栈保存数据。指令选择把中间操作映射到目标机器指令。指令调度调整顺序以改善流水线利用。自动向量化把适合的循环转换为向量运算。别名分析判断不同引用是否可能指向同一对象。别名关系不明确可能限制编译器优化能力。优化等级提高不保证所有程序都更快。调试信息帮助把机器位置映射回源程序。
笔记类型说明
来源:枫垭求索
接头泄漏增加供气能耗,压缩空气温度会影响容积流量换算结果,压缩空气干燥减少水分
北极星方向接近地球自转轴北端所指,观星条件受到云量湿度和环境灯光影响