Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
01.05.2014
Размер:
76.8 Кб
Скачать

Комитет образования рф

Санкт-Петербургский Государственный Электротехнический Университет

кафедра математического обеспечения и применения ЭВМ

Отчёт по курсовой работе

по дисциплине

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

Сдал студент гр.5342 ИсаченкоА.M.

Преподаватель Семенова О.Н.

Санкт-Петербург, 1997 год

1. Описание входного языка.

1.1. Общие сведения.

В курсовой работе описывается разработка компилятора для языка, являющегося подмножеством языка Си. Язык обеспечивает работу с переменными и константами целого и вещественного типов и векторами с вещественными компонентами, а также арифметическими выражениями над данными целого, вещественного и векторного типов.

Состав операторов языка :

  • оператор присваивания;

  • оператор ввода;

  • оператор вывода;

  • оператор безусловного перехода;

  • условный оператор, условие в котором задается отношением;

  • оператор цикла for;

  • составной оператор.

    В языке должны быть определены следующие операции над векторами:

  • определение длины вектора;

  • сумма векторов;

  • скалярное произведение векторов;

  • умножение константы или простой переменной целого или вещественного типов на вектор;

    1.2. Формализм для описания синтаксиса.

    Синтаксис языка описан с помощью модифицированных форм Бэкуса-Наура:

    - металингвистические переменные состоят из строчных букв русского алфавита и знаков подчеркивания; имя каждой переменной взято в <угловые скобки>;

    - зарезервированные слова обозначаются словами английского языка, состоящими из строчных латинских букв;

    - в [квадратные скобки] заключаются элементы, которые могут отсутствовать;

    - повторяющиеся нуль или более раз элементы заключаются в {фигурные скобки};

    1.3. Лексика языка.

    1.3.1. Терминальные символы языка.

    К терминальным символам языка относятся :

  • 26 букв латинского алфавита, строчные и прописные :

    A B C ... Y Z a b c ... y z

  • 33 буквы русского алфавита :

    А Б В ... Ю Я а б в ... ю я

  • 10 цифр :

    0 1 2 3 4 5 6 7 8 9

  • 21 специальный символ :

    [ ] { } , . > < = ! + - * / " _ ( ) : & |

  • символа пробела

  • символа конца строки.

  • символа горизонтальной табуляции

  • символа вертикальной табуляции

1.3.2. Лексемы и соглашения о разделителях.

Текст программы разбивается на лексемы, которыми являются идентификаторы, ключевые слова, целые и вещественные числа, специальные символы

+ - * / ( ) [ ] { } , ; : = > < ! - однолитерные разделители.

а также комбинации специальных символов(двулитерные разделители)

<= знак оператора меньше или равно.

>= знак оператора больше или равно.

== знак оператора равно.

!= знак оператора не равно.

&& знак оператора and

|| знак оператора or.

  1. Комментарии.

Комментарии - любые символы, заключенные в /* */.

Соседние файлы в папке Курсовая работа2