Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
02.01.2020
Размер:
851.2 Кб
Скачать
    1. Грамматика языка

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

PS –PushSymbol;

PTS –PushToStack;

PFS–PopFromStack.

Описание данных функций приведено в разделе 2.2 данного пояснения.

Ниже приведена грамматика языка:

<программа><заголовок><тело><окончание>

<заголовок>PROGRAM

<тело><операторы объявления><выполняемые операторы>

<операторы объявления> INTEGER<список имен >; | INTEGER< список имен >; <операторы объявления> |REAL< список имен >; | REAL< список имен >; <операторы объявления>

<список имен><идентификатор> | <идентификатор>, < список имен > | <идентификатор> = <константа> | <идентификатор> = <константа>, < список имен >

<идентификатор> l | l<последовательность букв и цифр>

<константа><целое> | <вещественное>

<целое>d | d<последовательность шестнадцатеричных цифр>

<последовательность шестнадцатеричных цифр>x | x<последовательность шестнадцатеричных цифр>

<вещественное><целое>.<целое>

<выполняемые операторы><оператор задания системы счисления> | <оператор задания системы счисления><выполняемые операторы> | <оператор ввода> | <оператор ввода><выполняемые операторы> | <оператор присваивания> | <оператор присваивания><выполняемые операторы> | <оператор вывода> | <оператор вывода><выполняемые операторы>

<оператор задания системы счисления> PBASE (<основание системы счисления>);

<основание системы счисления> 2|3|4|5|6|7|8|9|10|11|12|13|14|15|16

<оператор ввода>READ (<список ввода>);

<список ввода><идентификатор> | <идентификатор>, <список ввода>

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

<expr><litem>OR{PTS}<litem2>|<litem>

<litem2><litem>{PFS}OR{PTS}<litem2>|<litem>{PFS}

<litem><lfactor>AND{PTS}<lfactor 2>|<lfactor>

< lfactor2><lfactor>{PFS}AND{PTS}< lfactor2>|<lfactor>{PFS}

<lfactor><arithm>={PTS}<arithm2>|<arithm>>{PTS}<arithm2>| <arithm>>={PTS}<arithm2>|<arithm><{PTS}<arithm2>|<arithm><={PTS}<arithm2>|<arithm><>{PTS}<arithm2>|<arithm>

<arithm2><arithm><PFS>={PTS}<arithm2>|<arithm><PFS>>{PTS}<arithm2>| <arithm><PFS>>={PTS}<arithm2>|<arithm><PFS><{PTS}<arithm2>|<arithm><PFS><={PTS}<arithm2>|<arithm><PFS><>{PTS}<arithm2>|<arithm2><PFS>

<arithm><item>+{PTS}< item2>|<item>-{PTS}< item2>| < item>

<item2>< item>{PFS}+{PTS} <item2>|<item>{PFS}-{PTS} <item2>|<item>{PFS}

<item><prim>*{PTS}<factor2> | <prim>/{PTS}<factor2> |<prim>

<factor2>< prim >{PFS}*{PTS} <factor2>| < prim >{PFS}/{PTS} <factor2>| <prim >{PFS}

<prim> -{PTS}<expr>{PFS} | NOT{PTS}<expr>{PFS} | (<expr>){PFS} |POW{PTS}<expr>{PFS}|CEIL{PTS}<expr>PFS}|FLOOR{PTS}<expr>{PFS}|<идентификатор>{PS}|<константа>{PS}

<оператор вывода> WRITE (<список вывода>);

<список вывода><идентификатор> | <идентификатор>, <список вывода>

<окончание> END

    1. Разработка интерфейса

Первая форма– Генератор кода.

При нажатиивкладки «Файл» в главном меню,можно:

  • создать новый документ;

  • открыть документ;

  • сохранить документ;

  • выйти из программы.

При выходе без сохранения программа попросит сохранить документ.

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

  • Создать – Ctrl+N;

  • Открыть – Ctrl+O;

  • Сохранить – Ctrl+S;

  • Сохранить как… – Ctrl+Alt+S;

  • Выход – Alt+F4.

Во вкладке «Правка»можно произвести следующие действия:

  • вырезать;

  • копировать;

  • вставить.

Каждую операцию можно выполнить с помощью горячих клавиш:

  • Вырезать – Ctrl+X;

  • Копировать – Ctrl+C;

  • Вставить – Ctrl+V.

Вкладка «Компиляция» отвечает за запуск компонентов и самого компилятора:

  • Лексический блок– F7;

  • Синтаксический блок– F8;

  • Генератор кода– F9;

  • Выполнить – F5.

Вкладка «Помощь» содержит справочный материал, который выводится в окне «О программе».

Форма№3 «Лексический блок» выводит результат работы лексического блока.

Форма№4 «Синтаксический блок» выводит результат работы синтаксического блока.

Форма№5 «Генератор кода» выводит результат работы генератора кода.