КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Компиляторы. Формальные языки и грамматики. Распознаватели
Распознаватели могжно классифицировать в зависимости от вида составляющих их компонентов (считывающее у-во, УУ, внешняя память). По видам считывающего у-ва распознаватели могут быть двусторонними и односторонними. По видам УУ распознаватели могут быть детерминированные и недетерминированные. Распознаватель называется детерминированным в том случае, если для каждой допустимой конфигурации распознавателя, которая возникла на некотром шаге его работы, существуют единственно возможная конфигурация, в которую распознаватель перейдет на следующем шаге работы. Иначе распознаватель называется недетерминированным, т.е. такой распознаватель может иметь допустимую конфигурацию для которой существует некоторое конечное множество конфигураций, возможных иметь на следующем шаге работы. Достаточно иметь хотя бы одну такую конфигурацию, чтобы распознаватель был недетерминированным. По видам внешней памяти распознаватели бывают след типов: 1)Распознаватели без внешней памяти; 2)Распознаватели с ограниченной внешней памятью; 3)Распознаватели с неограниченной внешней памятью. Классификация распознавателей определяет сложность алгоритма работы распознавателя. Кроме того сложность распознавателя также напрямую связано с типом языка, входные цепочки которого может принимать распознаватель. Для каждого из 4-х осн типов языков сущ свой тип распознавателя. Для языков с фразовой структурой нужен недетерминированный двусторонний автомат, имеющий неограниченную внешнюю память. Для Контекстно Зависимых языков распознавателями являются двусторонние недетерминированные автоматы с линейно ограниченной внешней памятью. Для контекстно свободных языков распознавателями являются односторонние недетерминированные автоматы с магазинной (стековой) внешней памятью (МП-автоматы). Среди всех контекстно свободных языков можно выделить класс детерминированных контекстно свободных языков, распознавателями для которых являются детерминированные автоматы с магазинной внешней памятью (ДМП-автом). Эти языки обладают свойством однозначности. Доказано что для любого детерминированного конт свободного языка всегда можно построить однозначную грамматику. Для регулярных языков распознавателями являются односторонние недетерминированные автоматы без внешней памяти (конечные автоматы). В компиляторах распознаватели на основе регулярных языков используются для лексического анализа текста исходной программы, т.е. для выделения в нем простейших конструкций языка. Задача разбора в общем виде заключается в том, что на основе имеющейся грамматики некоторого языка нужно построить распознаватель для этого языка. Заданная грамматика и распознаватель должны быть эквивалентны, т.е. определять один и тот же язык.
Дата добавления: 2014-01-07; Просмотров: 358; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |