Паска́ль — один из наиболее известных языков программирования, используется для обучения программированию в старших классах и на первых курсах вузов, является основой для ряда других языков.
Трансля́тор — программа или техническое средство, выполняющее трансляцию программы.
GNU toolchain — набор созданных в рамках проекта GNU пакетов программ, необходимых для компиляции и генерации выполняемого кода из исходных текстов. Являются стандартным средством разработки программ и ядра ОС Linux.
Компиля́тор — программа, переводящая написанный на языке программирования текст в набор машинных кодов.
Мо́дула-2 (Modula-2) — язык программирования общего назначения, являющийся развитием Паскаля, разработанный Никлаусом Виртом в 1978 году.
RISC — архитектурный подход к проектированию процессоров, в которой быстродействие увеличивается за счёт такого кодирования инструкций, чтобы их декодирование было более простым, а время выполнения — меньшим. В системах команд первых RISC-процессоров даже отсутствовали команды умножения и деления. Это также облегчает повышение тактовой частоты и делает более эффективной суперскалярность.
Обрабо́тка исключи́тельных ситуа́ций — механизм языков программирования, предназначенный для описания реакции программы на ошибки времени выполнения и другие возможные проблемы (исключения), которые могут возникнуть при выполнении программы и приводят к невозможности (бессмысленности) дальнейшей отработки программой её базового алгоритма. В русском языке также применяется более короткая форма термина: «обработка исключений».
Синтаксический сахар — дополнения синтаксиса языка программирования, которые не добавляют новых возможностей, а делают использование языка более удобным для человека.
Кодогенерация — часть процесса компиляции, когда специальная часть компилятора, кодогенератор, конвертирует синтаксически корректную программу в последовательность инструкций, которые могут выполняться на машине. При этом могут применяться различные, в первую очередь машинно-зависимые оптимизации. Часто кодогенератор является общей частью для множества компиляторов. Каждый из них генерирует промежуточный код, который подаётся на вход кодогенератору.
Синтакси́ческий ана́лиз в лингвистике и информатике — процесс сопоставления линейной последовательности лексем естественного или формального языка с его формальной грамматикой. Результатом обычно является дерево разбора. Обычно применяется совместно с лексическим анализом.
Парсер, или синтаксический анализатор, — часть программы, преобразующей входные данные в структурированный формат. Парсер выполняет синтаксический анализ текста.
KDevelop — кроссплатформенная свободная интегрированная среда разработки. Разработка началась в 1998 году. KDevelop распространяется согласно условиям GNU General Public License.
yacc — компьютерная программа, служащая стандартным генератором синтаксических анализаторов (парсеров) в Unix-системах. Название является акронимом «Yet Another Compiler Compiler». Yacc генерирует парсер на основе аналитической грамматики, описанной в нотации BNF или контекстно-свободной грамматики. На выходе yacc выдаётся код парсера на языке программирования Си.
GNU Compiler Collection — набор компиляторов для различных языков программирования, разработанный в рамках проекта GNU. GCC является свободным программным обеспечением, распространяется в том числе фондом свободного программного обеспечения (FSF) на условиях GNU GPL и GNU LGPL и является ключевым компонентом GNU toolchain. Он используется как стандартный компилятор для свободных UNIX-подобных операционных систем.
Интерпрети́руемый язы́к программи́рования — язык программирования, исходный код на котором выполняется методом интерпретации. Классифицируя языки программирования по способу исполнения, к группе интерпретируемых относят языки, в которых операторы программы друг за другом отдельно транслируются и сразу выполняются (интерпретируются) с помощью специальной программы-интерпретатора. Такой язык может реализовывать конструкции, допускающие динамические изменения на этапе выполнения. Эти конструкции затрудняют компиляцию и трансляцию на компилируемый язык.
Javac — оптимизирующий компилятор языка java, включенный в состав многих Java Development Kit (JDK).
Go — компилируемый многопоточный язык программирования, разработанный внутри компании Google. Разработка Go началась в сентябре 2007 года, его непосредственным проектированием занимались Роберт Гризмер, Роб Пайк и Кен Томпсон, занимавшиеся до этого проектом разработки операционной системы Inferno. Официально язык был представлен в ноябре 2009 года. На данный момент поддержка официального компилятора, разрабатываемого создателями языка, осуществляется для операционных систем FreeBSD, OpenBSD, Linux, macOS, Windows, DragonFly BSD, Plan 9, Solaris, Android, AIX.. Также Go поддерживается набором компиляторов gcc, существует несколько независимых реализаций.
В теории компиляторов, мёртвым кодом называют код, который может быть исполнен, но результаты его вычислений не влияют на дальнейшую программу. Другими словами это код, определяющий только мёртвые переменные или вообще не определяющий никакие переменные.
Многопроходный компилятор — тип компилятора, который обрабатывает исходный код или абстрактное синтаксическое дерево программы несколько раз. Между проходами генерируется промежуточный код, который принимается следующим проходом в качестве входа. Таким образом, многопроходный компилятор обрабатывает код по частям, проход за проходом, а последний проход выдает финальный результат программы.
Промежуточное представление — структура данных или код, используемый компилятором или виртуальной машиной для представления исходного кода. Промежуточное представление разработано, чтобы способствовать дальнейшей обработке, такой как оптимизация и трансформация кода. «Хорошее» промежуточное представление должно быть точным — способным представить исходный код без потери информации — и независимым от какого-либо конкретного источника кода или целевого языка. Промежуточное представление может принимать одну из нескольких форм: структура данных расположенная в памяти (in-memory), или специальный кортеж- или стек-подобный код читаемый программой. В последнем случае промежуточное представление также называется промежуточным языком.