
- •2006 Печатается по решению научно-методического совета Иркутского Государственного университета
- •Оглавление
- •Введение
- •Содержание и задачи практикума
- •Лексический анализ
- •Регулярные грамматики
- •Конечный автомат
- •Технология и средства решения учебных задач
- •Компонент fsmUnit
- •Класс Lexemes
- •Учебные транслирующие программы
- •Пример диалоговой настройки и испытаний компонента fsmUnit
- •Пример программы лексического анализатора входной строки
- •Заключение
- •Использованные источники
- •664000, Иркутск, б. Гагарина, 36.
Министерство образования и науки РФ
Государственное образовательное учреждение
Высшего профессионального образования
Иркутский Государственный университет
Институт математики, экономики и информатики
Регулярные грамматики и конечные автоматы. Практикум по лексическому анализу
Методические указания
2006 Печатается по решению научно-методического совета Иркутского Государственного университета
Предназначены для студентов первого курса специальности прикладная математика и информатика при изучении дисциплин «Языки программирования и методы трансляции», «Практикум на ЭВМ» и «Учебно-вычислительная практика». Могут быть полезны студентам других специальностей, изучающим математические модели формальных языков и процессов трансляции.
Составители: Курганский В.И.,
Бутаков М.И.
Рецензенты: Абдрахимов И.И.
Мезенцев А.В.
Иркутский Государственный
университет, 2006 г.
Оглавление
Оглавление 3
Введение 4
1.Содержание и задачи практикума 5
2.Лексический анализ 6
2.1.Регулярные грамматики 6
2.2.Конечный автомат 7
3.Технология и средства решения учебных задач 9
3.1.Компонент FSMUnit 9
3.2.Класс Lexemes 10
3.3.Учебные транслирующие программы 10
4.Пример диалоговой настройки и испытаний компонента FSMUnit 12
5.Пример программы лексического анализатора входной строки 17
Заключение 20
Использованные источники 21
Введение
Изучение методов трансляции в курсе программирования привлекательно в первую очередь тем, что разработка транслятора предполагает разработку серии математических моделей и их программной реализации. Такой способ работы начинающего специалиста формирует эффективный стереотип профессионального поведения, способствует воспитанию не только современной технической, но и математической культуры.
Знания, навыки и умения, полученные при изучении методов трансляции полезны и в практическом плане, как при эксплуатации программных средств, так и при их разработке.
Студентами специальности 010200 - Прикладная математика и информатика методы трансляции изучаются в дисциплинах «Языки программирования и методы трансляции», «Практикум на ЭВМ», «Учебно-вычислительная практика».
Содержание и задачи практикума
Цель практикума практическое освоение математических моделей лексического анализа языков программирования, применение полученных знаний при разработке автоматных распознавателей.
Учебный материал составляют:
Регулярные грамматики и их преобразования. Моделирование лексики формального языка регулярной грамматикой.
Конечные автоматы.
Построение конечного автомата по заданной регулярной грамматике.
Моделирование лексического анализа входной цепочки набором конечных автоматов.
Теоретический материал по математическим моделям лексики и лексического анализа языкам программирования изложен в [1-4].
Результатом практикума является разработка Windows-приложения лексического анализатора входной цепочки. Windows-приложение разрабатывается в среде Microsoft Visual Studio.Net на языке Visual Basic.Net (см., например [5]).
Для автоматизации построения математической модели лексического анализа предлагается использовать компонент FSMUnit, разработанный выпускником кафедры Теории алгоритмов и программирования Бутаковым М.И.
Ниже приведены краткие сведения о моделировании синтаксиса формальных языков регулярной грамматикой и применении компонента PDMUnit.
В последнем разделе приведен пример учебного приложения на Visual Basic.Net. Приложение выполняет лексический анализ заданного арифметического выражения.