Языки и формальные грамматики
язык
Совокупность символов, соглашений и правил, используемых для общения людей и/или автоматических систем, отображения и передачи информации
метаязык
Формальный
язык для описания другого языка
нотация Бэкуса-Наура
грамматика
Система правил, задающая множество правильных цепочек (слов или фраз) из символов
языка
синтаксис
Часть
грамматики, включающая правила построения слов и предложений в
языке (языковых конструкций)
формальная грамматика
Грамматика, в которой используется конечное множество символов и правил, задающих множество возможных структурных элементов и их порядок в предложениях
языка. Формальная грамматика задается четверкой множеств: N — множество нетерминальных символов, T — множество терминальных символов, S — начальный символ (аксиома грамматики), P — множество правил (продукций)
словарь
Объединение конечных множеств терминальных и нетерминальных символов
языка
оператор
литерал
Слово или символ в
языке программирования, однозначно определяющие свое собственное значение в качестве константы, но не являющиеся обозначением переменной, константы или другой конструкции. Другими словами, литерал — это элемент, не изменяющий свое значение. Примеры литералов: числа, строки
контекстно-связанная грамматика
контекстная грамматика
Формальная грамматика, в которой правила образования правильных цепочек имеют вид x→y, где x=AωB, y=AψB, A, B, x, y, ψ — цепочки из символов
словаря, ω — нетерминальный символ
языка, причем A и B могут быть пустыми цепочками. Другими словами, приведенное правило преобразует символ ω в непустую цепочку ψ в контексте A и B
контекстно-свободная грамматика
бесконтекстная грамматика
Формальная грамматика, в которой правила образования правильных цепочек имеют вид ω→ψ, где ω — нетерминальный символ, ψ — цепочка из символов
словаря
язык расширения
синтаксическая диаграмма
DSL
Domain Specific Language
Язык, специфичный для предметной области
Трансляция и интерпретация
язык проектирования
HDL
Hardware Design Language
Язык описания аппаратуры, используемый в
САПР. Примерами HDL могут служить
языки VHDL, Verilog и др
языковый процессор
Программа или устройство, используемые для перевода описаний с одного
языка на другой
интерпретация
Толкование некоторого описания. В программировании интерпретация заключается в поочередном анализе и исполнении предложений входного
языка
интерпретатор
трансляция
В информационных технологиях — перевод описания с исходного
языка на некоторый объектный язык
транслятор
компиляция
Трансляция, при которой в качестве объектного
языка используется машинный язык
компилятор
Транслятор, у которого объектный
язык является машинным или близким к машинному
лексема
Последовательность символов, являющаяся неделимым элементом
языка программирования. Примеры лексем: идентификаторы, числа, метки и т.п
лексический анализ
Фаза
трансляции, на которой исходное описание разделяется на элементарные структурные единицы —
лексемы
синтаксический анализ
грамматический разбор
Фаза
трансляции, на которой проверяется соблюдение
синтаксиса исходного языка и вырабатывается описание на некотором промежуточном языке для последующей
генерации кода объектной программы
генерация кода
кросс-система
Языки программирования
Си
язык C
C++
C Sharp
Си-Шарп
Си-шарп
язык D
Язык программирования, предназначенный для написания крупных программных систем. Язык D имеет C-подобный синтаксис, который более лаконичен и читабелен, чем синтаксис С++. Первая версия относится к 2007 г.
Фортран
Fortran
Универсальный
язык программирования с предпочтительным применением для задач вычислительного характера. Название Fortran является аббревиатурой от FORmula TRANslator, то есть, переводчик формул
Алгол
Algol
Универсальный
язык программирования, разработанный в 1958 г. Первая версия поэтому известна как Алгол-58. Наиболее известна версия Алгол-60. Использовался преимущественно для решения научно-технических задач на ЭВМ. Оказал заметное влияние на развитие
лингвистического обеспечения ЭВМ
Кобол
КОБОЛ
COBOL
Язык программирования, разработанный в в 1959 г. для использования в бизнес-приложениях, чему способствовали имеющиеся в нем развитые средства для работы со структурами данных и файлами
PL/I
ПЛ/1
Язык программирования, разработанный в
IBM в 1964 году, целью ПЛ/1 было создание языка более универсального, чем его предшественники, т.е. подходящего как для научно- инженерных, так и бизнес-ориентированных приложений. Широкого распространения не получил вследствие сложности его освоения
Симула-67
Simula 67
Smalltalk
Один из первых объектно-ориентированных
язык программирования, разработан группой во главе с Аланом Кеем в исследовательском центре Xerox PARC в 1970-х годах. Smalltalk оказал большое влияние на развитие ряда других языков, например,
Java
Бейсик
BASIC
Семейство
языков программирования, ориентированное на обучение программированию и на использование в домашних компьютерах
Паскаль
Pascal
Модула-2
Modula-2
Язык программирования, разработанный
Н. Виртом в 1978 году в развитие языка Паскаль.Основными отличиями от Паскаля стали введение понятия модуля и примитивов для многопоточного программирования
Ада
Ada
Язык программирования, созданный в министерстве обороны США в 1979—1980 г.г. с ориентацией на применение во
встроенных системах, в первую очередь, в системах управления автоматизированными комплексами, работающими в реальном времени
PostScript
Язык описания документов, позволяющий комбинировать тексты и изображения
Chill
Specification and Description Language
SDL