Лексика языков программирования. Регулярные выражения

Анализ программ автоматизации разработки трансляторов ВебТрансЛаб. Пользовательский интерфейс пакета, файлов с исходными данными/результатами работы. Метаязык регулярных выражений и технологии разработки правил определения лексики языков программирования.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 13.03.2022
Размер файла 197,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Отчет

по лабораторной работе №1

Лексика языков программирования. Регулярные выражения

Выполнил Черепанов С.В

1. Цель работы

транслятор язык программирования лексика

Освоение основных навыков работы с учебным пакетом программ автоматизации разработки трансляторов ВебТрансЛаб, изучение и освоение пользовательского интерфейса пакета и форматов файлов с исходными данными/результатами работы, изучение метаязыка регулярных выражений и технологии разработки систем правил определения лексики языков программирования.

Порядок выполнения:

1. Изучить интерфейс пакета ВебТрансЛаб: запуск, регистрация, состав основного окна, команды меню.

2. Используя справку Вебтранслаба (команда меню «Помочь»), изучить структуру таблицы лексических правил (и расширения лексического анализатора) основного окна, приемы и способы формирования/редактирования ее содержимого, назначение колонок «имя автомата», «имя группы слов», «регулярное выражение», «действие» и «примечание».

3. Освоить:

- открытие системы лексических и/или синтаксических правил;

- редактирование лексических правил;

- операции сортировки таблицы лексических правил, добавления пустых строк, удаления, вырезания и вставки правил;

- сохранение правил в файле;

4. Изучить структуру текстового xml-файла, содержащего систему правил; освоить внешние операции (в частности - редактирование) с этими файлами.

5. Изучить технологию разработки сложных систем регулярных выражений, ориентируясь на свой вариант задания на курсовую работу. Разработать и сохранить фрагмент системы регулярных выражений (пока без действий) для всех (или выбранной самостоятельно части) групп слов языка, заданного в курсовой работе.

6. Разработать описание лексики заданного языка в качестве фрагмента расчетно-пояснительной записки к курсовой работе.

Подготовить, сдать и защитить отчет к лабораторной работе.

2. Ход работы

Согласно варианту курсовой работы имеем следующие идентификатор и константы, который будут составлять лексику нашего языка:

- Идентификатор:<Б>_<пбЦ>;

- Константы:целые по основанию 10; вещественные и экспоненциальные; символьные.

Результаты разработки фрагмента системы лексических правил языка:

Рисунок 1 -- правила лексики

Вывод

В ходе лабораторной работы №1 были освоены навыки работы с учебным пакетом программ автоматизации разработки трансляторов ВебТрансЛаб; изучен и освоен пользовательский интерфейс пакета и форматов файлов с исходными данными/результатами работы; изучен метаязык регулярных выражений и технология разработки систем правил определения лексики языков программирования.

Приложение

1. <?xml version="1.0" encoding="windows-1251"?>

2. <transLab>

3. <lexic>

4. <automat name='main'>

5. <rule groupWordsName='backslash'>

6. <expression>[[\]]</expression>

7. <comment>Символ обратного слеша</comment>

8. </rule>

9. <rule groupWordsName='brackets'>

10. <expression>[(){}]</expression>

11. <comment>Скобки</comment>

12. </rule>

13. <rule groupWordsName='delimiter'>

14. <expression>[;]</expression>

15. <comment>Точка с з запятой</comment>

16. </rule>

17. <rule groupWordsName='identifier'>

18. <expression>[A-Z][_][a-zA-Z0-9]*</expression>

19. <comment>Идентификатор: <Б>_<пбЦ>(например: K_,Z_37,C_out)</comment>

20. </rule>

21. <rule groupWordsName='controlCharacters'>

22. <expression>[ \t\n\r]+</expression>

23. <action>ignoreLastWord=true;</action>

24. <comment>Управляющие символы языка</comment>

25. </rule>

26. <rule groupWordsName='sings'>

27. <expression>[-+*/=]</expression>

28. <comment>Управляющие символы языка</comment>

29. </rule>

30. <rule groupWordsName='constOfIntTen'>

31. <expression>[0-9]+</expression>

32. <comment>Целые по основанию 10 </comment>

33. </rule>

34. <rule groupWordsName='constOfFloat'>

35. <expression>[0-9]+[.][0-9]+</expression>

36. <comment>Вещественная константа</comment>

37. </rule>

38. <rule groupWordsName='constOfChar'>

39. <expression>[']([] | [\\][tnrbv])[']</expression>

40. <comment>Символьная константа для \t,\n,\r,\b,]v</comment>

41. </rule>

42. <rule groupWordsName='constOfExponent'>

43. <expression>[0-9]*[+][e]</expression>

44. <comment>Экспоненциальная константа.</comment>

45. </rule>

46. </automat>

47. </lexic>

48. </transLab>

Примечание: комментарии пришлось откорректировать, так как не было ясно какая кодировка.

Размещено на Allbest.ru


Подобные документы

  • Особенности и суть языков программирования, способы их задания, цепочки символов и операции над ними. Классификация языков и грамматик, форма Бэкуса-Наура. Определение и свойства регулярных выражений, конечные автоматы и грамматики, описание программы.

    курсовая работа [231,5 K], добавлен 23.06.2011

  • Система дистанционного обучения Distance Learning Belarus и лабораторный практикум курса "Разработка трансляторов для языков программирования", его перенос в интерактивную среду обучения. Описание работы программы и её взаимодействия с пользователями.

    курсовая работа [588,5 K], добавлен 03.11.2012

  • Особенности способов описания языков программирования. Язык программирования как способ записи программ на ЭВМ в понятной для компьютера форме. Характеристика языка Паскаль, анализ стандартных его функций. Анализ примеров записи арифметических выражений.

    курсовая работа [292,0 K], добавлен 18.03.2013

  • Характеристики и свойства языков программирования. Исследование эволюции объектно-ориентированных языков программирования. Построение эволюционной карты механизмов ООП. Разработка концептуальной модели функционирования пользовательского интерфейса.

    курсовая работа [2,6 M], добавлен 17.11.2014

  • Рассмотрение общих сведений и уровней языков программирования. Ознакомление с историей развития, использования языков программирования. Обзор достоинств и недостатков таких языков как Ассемблер, Паскаль, Си, Си++, Фортран, Кобол, Бейсик, SQL, HTML, Java.

    курсовая работа [759,5 K], добавлен 04.11.2014

  • Сущность и функции языков программирования, их эволюция и оценка популярности различных видов. Особенности компьютерных программ, разработанных на компилируемом, интерпретируемом или смешанном языке. Основные классы и иерархия языков программирования.

    презентация [873,4 K], добавлен 23.01.2013

  • Рассмотрение и ознакомление с одним из наиболее используемых языков программирования - С++. Его применение в процессе работы со строковыми типами данных и символами. Исследование кодов написания программ в режиме разработки консольного приложения.

    курсовая работа [6,1 M], добавлен 20.01.2016

  • Операторы регулярных выражений, их построение и лексический анализ. Разработка конечного автомата для распознавания регулярных выражений в среде разработки C/C++. Создание программ для поиска в тексте необходимой информации, их тестирование и отладка.

    контрольная работа [199,0 K], добавлен 04.06.2013

  • Классификация языков программирования. Использование циклических конструкций и выполнение итерационных процессов. Алгоритмические структуры циклов языков C, C++, Java, C#. Особенности современных языков программирования высокого уровня и их применение.

    курсовая работа [345,6 K], добавлен 13.11.2009

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

    дипломная работа [7,3 M], добавлен 09.02.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.