Abstract syntax tree (AST) — поскольку речь идет об абстрактном синтаксисе, представленном в виде дерева, то корректнее говорить о дереве абстрактного синтаксиса. В настоящий момент наиболее широко используется не слишком удачный термин абстрактное синтаксическое дерево (АСД) [1, 2]. Термин дерево разбора [5] может подразумевать и работу с конкретным синтаксисом. Также существует оригинальный, но забытый термин дерево Канторовича [1].
Back end — фаза генерации [5], фаза синтеза, задний план.
Basic block — линейный участок [1]. Также встречаются определения базовый блок и базисный блок [1].
Big/small-step operational semantics — операционная семантика большого/малого шага [7] или операционная семантика с большим/малым шагом [8].
Constant folding — свертка констант [5].
Constant propagation — распространение констант, продвижение констант, втягивание констант [5].
Common subexpression elimination (CSE) — экономия выражений [3], в дословном распространенном переводе удаление общих подвыражений.
Compiler — компилятор, транслятор [6].
Compiler generator (compiler-compiler, compiler framework) — система построения трансляторов (СПТ) [5].
Control-flow graph (CFG) — управляющий граф [1], граф потока управления, граф переходов [1], уграф [1], схема Мартынюка [1].
Coroutine — сопрограмма.
Denotational semantics — денотационная семантика [8].
Domain-specific language (DSL) — проблемно-ориентированный язык (ПОЯ) или предметно-ориентированный язык.
Dead code elimination (DCE) — удаление мертвого кода, чистка программы [5].
Front end — фаза декомпозиции [5], фаза анализа, передний план.
(Function) Inlining — подстановка функции, встраивание функции, распроцедурирование [5].
Instruction scheduling — планирование инструкций (команд).
Instruction selection — выбор инструкций (команд).
Intermediate representation (IR) — промежуточное представление, внутренний язык, промежуточный язык [4].
Intrinsic function — внутренняя функция, встроенная функция.
Lexical analysis — лексический анализ, лексический разбор.
Middle end — фаза оптимизации [5], фаза оптимизирующих преобразований, средний план.
Parsing (syntax analysis) — синтаксический анализ, синтаксический разбор.
Partial evaluation — частичное вычисление.
(Compiler) Pass — просмотр, проход, фаза.
Peephole optimisation — локальная оптимизация, можно встретить переводы глазковая оптимизация, оконная оптимизация и покадровая оптимизация [5]. Исторически peephole optimization это конкретный прием с просмотром и заменой в списке нескольких последовательных низкоуровневых команд. Сегодня данный термин используется для описания произвольных локальных правил оптимизации.
Semantic analysis — семантический анализ, контекстный анализ [5].
Static single assignment form (SSA) — форма со статически однократным присваиванием.
Register allocation — распределение регистров.
Value numbering — нумерация значений.
- Евстигнеев В. А., Касьянов В. Н. Толковый словарь по теории графов в информатике и программировании. – Новосибирское отделение издательства" Наука", 1999.
- Касьянов В. Н., Евстигнеев В. А. Графы в программировании: обработка, визуализация и применение. – СПб. : БХВ-Петербург, 2003.
- Любимский Э. З., Поттосин И. В., Шура-Бура М. Р. От программирующих программ к системам программирования //Становление новосибирской школы программирования. – Новосибирск: Институт систем информатики им. АП Ершова СО РАН, 2001. – С. 27-18.
- Богданов В. В., Ермаков Е. А., Маклаков А. В. Программирование на языке АЛМО. – Статистика, 1976.
- Касьянов В. Н. Оптимизирующие преобразования программ. – Федеральное государственное унитарное предприятие Академический научно-издательский, производственно-полиграфический и книгораспространительский центр Наука, 1988.
- Ершов А. П., Шанский Н. М. Термонологический словарь по основам информатики и вычислительной техники. – Просвещение, 1991.
- Антон Подкопаев, Computer Science Center. Курс «Семантика языков программирования» (весна 2022).
- Пирс Б. Типы в языках программирования. - «Лямбда пресс» & «Добросвет», 2011.