Главная страница
Навигация по странице:

  • «ИНФОРМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ»

  • КУРСОВАЯ РАБОТА

  • САМАРА 2019 Рецензия Содержание

  • Модельный язык Задания по варианту

  • 1.2 Правила построения выражений

  • Служебные слова

  • Разделители

  • 3 Диаграмма Вирта

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


    Скачать 1.38 Mb.
    НазваниеРазработка компилятора модельного языка программирования
    АнкорКурсовая работа теория автоматов и формальных языков
    Дата25.12.2019
    Размер1.38 Mb.
    Формат файлаdocx
    Имя файлаБулычев отчет.docx
    ТипКурсовая
    #102105
    страница1 из 11
      1   2   3   4   5   6   7   8   9   10   11


    Поволжский государственный университет телекоммуникаций и информатики

    Факультет «Информационных систем и технологий»


    Кафедра «ИНФОРМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ»

    Сдана на проверку Допустить к защите

    «_____»____201_ г. «_____»____201__ г.

    Защищена с оценкой

    ________________

    «_____»______ 201__г.


    КУРСОВАЯ РАБОТА

    по дисциплине «Теория автоматов и формальных языков»

    на тему:

    «Разработка компилятора модельного языка программирования»
    Вариант:

    Студент группы:

    Руководитель Бахарева Надежда Федоровна

    № зачетной книжки:

    САМАРА

    2019

    Рецензия

    Содержание

    1 Модельный язык

    1

    1.1 Задания по варианту

    1

    1.2 Правила построения выражений

    1

    2 Диаграмма состояний

    5

    3 Диаграмма Вирта

    4 Расширенная форма Бэкуса-Наура

    6

    8

    5 Тестовые задания

    10

    5.1 Задачи

    10

    5.2 Результат работы

    11

    6 Блок-схемы

    15

    Заключение

    20

    Источники

    21

    Приложение А

    24

    Приложение Б

    25

    Приложение В

    27

    Приложение Г

    28



















    1. Модельный язык

      1. Задания по варианту


    Вариант 3 3 2 2 1 1

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

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

    2) Составить таблицы лексем и диаграмму состояний с действиями для распознавания и формирования лексем языка.

    3) По диаграмме с действиями написать функцию сканирования текста входной программы на модельном языке.

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

    5) Составить блок схему лексического анализатора
    1.2 Правила построения выражений


    1

    Операции группы отношения

    <операции_группы_отношения>::= NE | EQ | LT | LE | GT | GE

    Операции группы сложение

    <операции_группы_сложения>:: = plus | min | or

    Операции группы умножение

    <операции_группы_умножения>::= mult | div | and

    Унарная операция

    <унарная_операция>::=

    2

    Структура программы

    <программа> = {/ (<описание> | <оператор>) ( : | переход строки) /} end

    3

    Синтаксис команд описания данных

    <описание>::= dim <идентификатор> {, <идентификатор> } <тип>

    4

    Описание типов данных

    <тип>::= integer | real | boolean

    5

    Синтаксис оператора

    <составной>::= <оператор> { ( : | перевод строки) <оператор> }

    Присваивание

    <присваивания>::= <идентификатор> ass <выражение>

    Условный переход

    <условный>::= if <выражение> then <оператор> [ else <оператор>]

    Цикл фиксированный

    <фиксированного_цикла>::= for <присваивания> to <выражение> do <оператор>

    Цикл условный

    <условного_цикла>::= while <выражение> do <оператор>

    Ввод

    <ввода>::= read (<идентификатор> {, <идентификатор> })

    Вывод

    <вывода>::= write (<выражение> {, <выражение> })

    6

    Комментарий

    { }


    Служебные слова:

    1. "NE"

    2. "EQ"

    3. "LT"

    4. "LE"

    5. "GT"

    6. "GE"

    7. "plus"

    8. "min"

    9. "or"

    10. "mult"

    11. "div"

    12. "and"

    13. "dim"

    14. "integer"

    15. "boolean"

    16. "real"

    17. "ass"

    18. "if"

    19. "then"

    20. "else"

    21. "for"

    22. "to"

    23. "do"

    24. "while"

    25. "read"

    26. "write"

    27. "true"

    28. "false"






    Разделители:

    0. "

    "

    1. "{"

    2. "}"

    3. "."

    4. ","

    5. ":"

    6. ";"

    7. "("

    8. ")"



    1. Диаграмма состояний



    3 Диаграмма Вирта



      1   2   3   4   5   6   7   8   9   10   11


    написать администратору сайта