3.1. Синтаксис алгоритмических языков в форме Бэкуса-Науэра |
||
В рамках
дисциплины ТА, рассматривались метасимволы и метаформулы
Бэкуса-Науэра. Вспомним основные обозначения (в расширенном
варианте) <> - понятия {} – скобки для изменения приоритетов * - полное ТЗ + - полное ТЗ [] – необязательный элемент | - или Опишем синтаксис нашего языка: <программа>:-{<оператор>;}*[оператор] <оператор>:-<составной оператор>|<простой оператор> <составной оператор>:-{<программа>} <простой оператор>:-<присваивание>| <ввод>| <вывод>| <условный оператор>| <цикл c предусловием> |<заголовок функции>| <возврат из функции>| <останов> <присваивание>:-<переменная>:=<выражение> <ввод>:-INPUT <переменная> <вывод>:-OUTPUT <выражение> <условный оператор>:-IF <выражение> THEN <оператор> [ELSE <оператор>] <цикл с предусловием>:-WHILE <выражение> DO <оператор> <заголовок функции>:-FUNC <имя функции> (<имя переменной>) <возврат из функции>:-RET <выражение> <останов>:-HALT <выражение>:-<операнд>| (<выражение>) | <выражение><операция><выражение> <операнд>:-<переменная>| <константа>| <вызов функции> <операция>:- +| -| *| /| \| <| >| <=|>=| =| != <переменная>:- <имя переменной>| <имя переменной>[<выражение>] <вызов функции>:- <имя функции>(<выражение>) Замеч. Лишние пробелы, комментарии, переводы строки и т.д. удалены на этапе лексического анализа.
|
||