Языки и формальные грамматики
язык
Совокупность символов, соглашений и правил, используемых для общения людей и/или автоматических систем, отображения и передачи информации
метаязык
Формальный язык для описания другого языка
нотация Бэкуса-Наура
Метаязык, предложенный Дж.Бэкусом
грамматика
Система правил, задающая множество правильных цепочек (слов или фраз) из символов языка
синтаксис
Часть грамматики, включающая правила построения слов и предложений в языке (языковых конструкций)
формальная грамматика
Грамматика, в которой используется конечное множество символов и правил, задающих множество возможных структурных элементов и их порядок в предложениях языка. Формальная грамматика задается четверкой множеств: 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
Си-Шарп
Си-шарп
Компонентно-ориентированный язык программирования, используемый в платформе Microsoft.NET
язык D
Язык программирования, предназначенный для написания крупных программных систем. Язык D имеет C-подобный синтаксис, который более лаконичен и читабелен, чем синтаксис С++. Первая версия относится к 2007 г.
Фортран
Fortran
Универсальный язык программирования с предпочтительным применением для задач вычислительного характера. Название Fortran является аббревиатурой от FORmula TRANslator, то есть, переводчик формул
Алгол
Algol
Универсальный язык программирования, разработанный в 1958 г. Первая версия поэтому известна как Алгол-58. Наиболее известна версия Алгол-60. Использовался преимущественно для решения научно-технических задач на ЭВМ. Оказал заметное влияние на развитие лингвистического обеспечения ЭВМ
Кобол
КОБОЛ
COBOL
Язык программирования, разработанный в в 1959 г. для использования в бизнес-приложениях, чему способствовали имеющиеся в нем развитые средства для работы со структурами данных и файлами
PL/I
ПЛ/1
Язык программирования, разработанный в IBM в 1964 году, целью ПЛ/1 было создание языка более универсального, чем его предшественники, т.е. подходящего как для научно- инженерных, так и бизнес-ориентированных приложений. Широкого распространения не получил вследствие сложности его освоения
Симула-67
Simula 67
Первый объектно-ориентированный язык программирования. Создан в Норвежском Вычислительном Центре К. Нюгором и У.-Й. Далем для имитационного моделирования сложных систем в 1967 г
Smalltalk
Один из первых объектно-ориентированных язык программирования, разработан группой во главе с Аланом Кеем в исследовательском центре Xerox PARC в 1970-х годах. Smalltalk оказал большое влияние на развитие ряда других языков, например, Java
Бейсик
BASIC
Семейство языков программирования, ориентированное на обучение программированию и на использование в домашних компьютерах
Паскаль
Pascal
Язык программирования, созданный Н.Виртом в 1970 г., как язык структурного программирования. Особенностями языка являются строгая типизация, стройность концепции, легкость понимания. Удобен для обучения программированию
Модула-2
Modula-2
Язык программирования, разработанный Н. Виртом в 1978 году в развитие языка Паскаль.Основными отличиями от Паскаля стали введение понятия модуля и примитивов для многопоточного программирования
Ада
Ada
Язык программирования, созданный в министерстве обороны США в 1979—1980 г.г. с ориентацией на применение во встроенных системах, в первую очередь, в системах управления автоматизированными комплексами, работающими в реальном времени
PostScript
Язык описания документов, позволяющий комбинировать тексты и изображения
Chill
Язык программирования, принятый в качестве международного стандарта для программирования автоматизированных комплексов в коммуникационных сетях и для описания поведения систем реального времени
Specification and Description Language
SDL
Язык спецификаций и описаний программных систем, предложенный ITU