В информатике при изучении компиляторных курсов, и, в частности лексического анализа используются инструменты для генерации лексических анализаторов. Большинство данных инструментов не имеют графической оболочки и
кроме того для получения лексического анализатора с их помощью приходится
вручную вводить соответствующий набор команд. Это усложняет процесс освоения данной темы, и увеличивает количество ошибок при создании лексического анализатора.
Поэтому возникает необходимость разработать функциональную среду,
имеющую графический интерфейс и позволяющую автоматизировать генерацию
лексических анализаторов с возможностью визуального контроля написания и
редактирования спецификаций для анализатора.
Поскольку большинство генераторов лексических анализаторов не предоставляют удобный графический интерфейс цель данного дипломного проекта разработка Visual flex – визуального редактора-генератора лексических анализаторов
на основе Flex.
Основные задачи проекта:
1) разработать графическую оболочку, в которой предоставить подсветку
синтаксиса для написания flex-спецификаций с выделением конфликтов по мере
написания регулярного выражения;
2) предоставить возможность автозавершения объявленных инструкция;
3) предоставить автоматическую генерацию исходного текста лексического
анализатора с помощью Flex;
4) предоставить автоматическую генерацию лексического анализатора по
исходному тексту c помощью свободного компилятора gcc;
5) предоставить возможность пошагового выполнения на тестовом входном
файле;
6) предоставить возможность использования точек останова в тестовом
входном файле
В ходе выполнения дипломного проекта была рассмотрена теория лексического анализа и существующие в ней инструментальные средства.
Исходя из полученных данных и поставленных задач, был реализован
визуальный редактор-генератор лексических анализаторов Visual flex. Данный редактор-генератор является .Net приложением c многодокументным
оконным интерфейсом, позволяющий писать flex-спецификации с подсветкой синтаксиса и выделением конфликтов по мере написания регулярного
выражения, автоматически генерировать лексический анализатор по исходному тексту, пошагово выполнятся на тестовом входном файле и использовать точки останова на нём.
Так как разработанный редактор-генератор имеет образовательную
значимость, было дополнено соответствующее методическое пособие для
студентов, изучающих компиляторные курсы.
В перспективе в Visual flex можно добавить поддержку генерации лексических анализаторов на других языках, например C++ . Не исключается
также возможность расширения и улучшения функциональных возможностей.