Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
определения калабин.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
108.03 Кб
Скачать
  1. Регулярные выражения

В алфавите А к регулярным выражениям относятся следующие:

1. Элемент А (или пустая строка).

Если P и Q – регулярные выражения, то регулярными будут также и

выражения

2. PQ (Q следует за P)

3. P | Q (P или Q)

4. P* (нуль или более экземпляров P)

В алфавите {a, b, c}

ab* | ca* – регулярное выражение, которое описывает язык, включающий

следующие строки (помимо прочих):

abb c caaa ab ca

Пример регулярного выражения. Регулярное выражение,

описывающее идентификатор, имеет вид:

L ( L | D )*, где L обозначает букву, D – цифру.

У регулярных выражений есть существенные ограничения. Например,

регулярное выражение не может задавать шаблоны скобок произвольной

длины, и, следовательно, их нельзя генерировать с помощью грамматики

типа 3.

  1. Семантика языка

Семантика задает значение всем предложениям языка.

  1. Синтаксис языка

Синтаксис – множество правил, которые задают

множество формально правильных предложений. Синтаксис для конечного

языка (состоящего из конечного числа строк) можно специфицировать, задав

список строк.

  1. Синтаксическая диаграмма

Синтаксическая диаграмма — это направленный граф с одним входным ребром и одним выходным ребром и помеченными вершинами. Синтаксическая диаграмма задаёт язык. Цепочка пометок при вершинах на любом пути от входного ребра к выходному — это цепочка языка, задаваемого синтаксической диаграммой. Поэтому можно считать, что синтаксическая диаграмма — это одна из форм порождающей грамматики автоматных языков

  1. Синтаксический анализатор

Программа, выполняющая синтаксический анализ

 синтакси́ческий ана́лиз — это процесс сопоставления линейной последовательности лексем (слов, токенов) языка с его формальной грамматикой. 

  1. Синтаксический граф

Синтаксический граф является эквивалентным представлением

грамматики языка; его можно использовать вместо множества порождающих

правил БНФ. Это очень удобная форма, и во многих (если не в большинстве)

случаев она предпочтительнее БНФ.

  1. Состав компилятора

В состав любого компилятора входят три

основных компонента:

- лексический анализатор (блок сканирования);

- синтаксический анализатор;

- генератор кода машинных команд.

  1. Таблица символов

Например, во многих языках идентификаторы не

могут применяться, если они не описаны, также имеются ограничения в

отношении способов употребления в программе значений различных типов.

Для запоминания описанных идентификаторов и их типов большинство

компиляторов пользуется таблицей символов.

  1. Терминалы

Символы (терминалы), из них строятся цепочки порождаемые грамматикой.

  1. Транслятор

Трансля́тор — программа или техническое средство, выполняющее трансляцию программы.[1][2]

Трансляция программы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой.[1]

Транслятор обычно выполняет также диагностику ошибок, формирует словари идентификаторов, выдаёт для печати тексты программы и т. д.[1]

Язык, на котором представлена входная программа, называется исходным языком, а сама программа — исходным кодом. Выходной язык называется целевым языком или объектным кодом.