编译原理名词解释

可以点击这里使用名词解释小工具

一、基础语法与形式语言

  • LHS / Left-Hand Side:产生式左侧,通常为单个非终结符
  • RHS / Right-Hand Side:产生式右侧,由终结符与非终结符组成的序列
  • RL / Regular Language:正则语言,可由有限自动机识别的语言类

  • CFL / Context-Free Language:上下文无关语言,可由下推自动机识别

  • CFG / Context-Free Grammar:上下文无关文法,用于描述 CFL

  • DFA / Deterministic Finite Automaton:确定有限自动机,每个状态对同一输入有唯一转移

  • NFA / Non-deterministic Finite Automaton:非确定有限自动机,存在 ε 转移或多条路径

  • PDA / Pushdown Automaton:下推自动机,带栈的有限自动机,识别 CFL

  • NPDA / Non-deterministic Pushdown Automaton:非确定下推自动机

  • DPDA / Deterministic Pushdown Automaton:确定下推自动机,识别确定性 CFL

二、语法分析相关

  • LL(n) / LL(n) Parser:从左到右、最左推导、向前看 n 个符号的语法分析器

  • LR(n) / LR(n) Parser:从左到右、最右推导、向前看 n 个符号的语法分析器

  • SLR / Simple LR:简单 LR 分析法,使用 Follow 集解决移进/归约冲突

  • AST / Abstract Syntax Tree:抽象语法树,忽略分隔符等语法细节,保留结构信息

  • DAG / Directed Acyclic Graph(Syntax DAG):语法有向无环图,共享公共子表达式

  • SDD / Syntax-Directed Definition:语法制导定义,将属性与文法符号关联

  • SDT / Syntax-Directed Translation:语法制导翻译,在产生式中嵌入语义动作

三、中间表示与优化

  • IR / Intermediate Representation:中间表示,编译器中位于前端与后端之间的代码形式

  • TAC / Three-Address Code:三地址码,每条指令最多三个地址的 IR

  • ASM / Assembly:汇编代码,机器指令的符号形式

  • SSA / Static Single Assignment Form:静态单赋值形式,每个变量只赋值一次,便于数据流分析

  • IDF / Iterated Dominance Frontier:迭代支配边界,用于计算 SSA 中 φ 函数插入位置

  • EBB / Extended Basic Block:扩展基本块,由多个基本块组成但仅有单一入口

  • CG / Call Graph:调用图,描述函数/过程之间的调用关系

四、数据流与程序分析

  • DFA / Data-Flow Analysis:数据流分析,通过程序结构推导各点的变量取值信息

  • IFDS / Inter-procedural Finite Distributive Subset Problem:过程间有限可分子集问题,一种过程间数据流分析框架

  • CS-DDA / Context-Sensitive Demand-Driven Analysis(常见缩写之一,未标准化):上下文敏感的按需分析

五、逻辑与约束系统

  • PL / Propositional Logic:命题逻辑,由命题变量与逻辑连接词(与、或、非等)构成

  • NNF / Negation Normal Form:否定范式,否定操作仅出现在原子命题前

  • DNF / Disjunctive Normal Form:析取范式,若干合取项的析取

  • CNF / Conjunctive Normal Form:合取范式,若干析取项的合取

  • SAT / Boolean Satisfiability Problem:布尔可满足性问题,判断是否存在真值赋值使命题公式为真

六、工具与系统

  • ANTLR / Another Tool for Language Recognition:语言识别生成器,可生成词法/语法/树分析器
  • LLVM / Low Level Virtual Machine:底层虚拟机,一套模块化编译基础设施,以 SSA 型 IR 为核心