Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






О границах лексики, синтаксиса и семантики






Теперь, когда мы разобрались в деталях процесса трансляции, можно со знанием дела провести границы между различными фазами трансляции и дать сравнительную оценку применяемым в них формальным системам. Напомним, что каждая фаза анализа программы имеет свою формальную систему представления (по сути, программирования):

· лексический анализ – конечные автоматы;

· синтаксический анализ – формальные грамматики;

· семантический анализ – уникальная внутренняя модель данных, создаваемая компьютерной программой (по формальной сути – формальная система, эквивалентная машине Тьюринга).

Любой формальный аппарат имеет определенные границы применимости, выше которых «ему не дано подняться» в силу его собственной структуры и сложности. То есть определенные идеи в такой формальной системе просто не представимы.Это свойство системы можно назвать моделирующей способностью. С другой стороны, для каждой формальной системы существуют проблемы, которые разрешимы в них в общем виде: для любой такой системы существует формальный метод (алгоритм) их решения. Это свойство называется разрешимостью. Очевидно, чем больше моделирующая способность системы, тем меньше в ней разрешимых проблем, то есть тем меньше она может быть подвержена автоматизации и программной реализации. Конечные автоматы обладают в этом ряду самой низкой моделирующей способностью и самой высокой разрешимостью. Формальные грамматики занимают в этом ряду промежуточное положение: они позволяют описывать достаточно сложные явления, но, в то же время, имеют возможности для алгоритмического разрешения возникающих в них проблем.

 

Формальные системы
Система Краткое определение Использование в трансляторах Моделирующая способность
Конечный автомат Алгоритм «без данных» Цепочки, включающие выбор и повторение (лексика) «Инстинктивное» поведение, распознавание последовательностей, неадаптивное поведение
Формальная грамматика Конечный автомат со стековой памятью Цепочки, включающие выбор, повторение, вложенность и приоритеты (синтаксис) Распознавание вложенных последовательностей произвольной глубины
Сеть Петри Система конечных автоматов --- Поведение параллельных и независимых систем
Машина Тьюринга (программа) Конечный автомат с неограниченной памятью Формализуемые связи между символами цепочек (семантика) Адаптивное поведение с элементами запоминания и обучения по заданной программе (правилам игры)
Неформальные системы
Программист ??? ??? Разработка программ (правил игры)

Легко заметить, что каждый следующий этап анализа программы базируется на более сложной формальной модели (с большей моделирующей способностью и меньшей разрешимостью). Отсюда следует, что любая фаза анализа может быть реализована средствами последующего уровня и является ее частным случаем. Рассмотрим этот тезис подробнее.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.