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

      Комментарии к записи Синтаксический управляемый перевод. свободная грамматика. синтаксические ошибки отключены

I. Первый кусок

Назначение трансляторов. Их роль при создании ПО

Классификация

Компилятор – на входе: язык высокого уровня, на выходе: машинный код.

Интерпретатор – на входе: язык высокого уровня, на выходе: машинный код ( по операторно).

Перекодировщик – перевод с 1го языка высокого уровня на другой.

Ретранслятор — с низкого на язык высокого уровня.

Аналитическая и генерирующая части

Аналитическая часть – поиск ошибок.(лексические и синтаксические , семантические)

Генерирующая часть — выдача результата.

Многопроцессорные трансляторы

Параллельное выполнение нескольких процессов

II. Второй кусок

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

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

Вход и выход лексического анализатора. Анализирующая и генерирующая части

На входе – тексты на входном языке.

На выходе – лексем (последовательность допустимых символов).

Анализирующая часть – поиск ошибок.

Генерирующая часть – создание лексем.

Лексические ошибки

Три вила ошибок:

Лексические – ошибки набивания текста.

Синтаксические – ошибки данного языка программирования.

Семантические – смысловые, ошибки в алгоритме.

Анализирующая часть:

Лексические ошибки – ошибки в словах.

Неверная буква.

Пропущена буква.

Лишняя буква.

Неправильно поставлены местами буквы.

Генерирующая часть:

В лексемах отсутствуют комментарии.

Лексемы одинаковой длины.

Лексемы несут числовую информацию.

III. Третий кусок

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

Синтаксический анализатор – это процесс сопоставления линейной последовательности лексем языка с его формальной грамматикой. Результатом обычно является дерево разбора (синтаксическое дерево).

Вход и выход синтаксического анализатора. Анализирующая и генерирующая части

На входе – лексемы.

На выходе – промежуточные таблицы.

Анализирующая часть – поиск ошибок.

Генерирующая часть – создание промежуточных таблиц.

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

Синтаксический управляемый перевод – соответствие между записью в БНФ и ее графическим отображением.

Язык – “Begin” Множество Оператор “end”

Множество – множ…множ

Оператор – опер…опер

Язык – “Begin” Множ…множ Опер…опер “end”

Контекстно-свободная грамматика – грамматика, у которой левые части всех продукций являются нетерминальные символы.

Ограничение – то, что нельзя описать в форме БНФ, описывается в предикатной форме.

Синтаксические – ошибки данного языка программирования.

Третий кусок часть 2

Статьи к прочтению:

Составить грамматику, порождающую формальный язык. Теория автоматов и формальных языков. Практика.


Похожие статьи: