Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Def = callname >> "begin" >> fbody >> "end";
- callname = name >> '(' >> arguments >> ')';
- arguments = name | name, arguments;
- fbody = block | ifnode | whilenode;
- block = call >> ';' | call >> ';' >> fbody;
- call = callname | assigning>>';';
- assinging = vname >> '=' >> int_ >> ';' | vname >> '=' >> vname >> ';';
- ifnode = "if" >> name >> fbody >> "end" | "if" >> name >> fbody >> "else" >> fbody >> "end";
- whilenode = "while" >> name >> fbody >> "end";
- // <Вычислительная процедура>::= <обращение к процедуре># begin # <композиция> #end $
- // <обращение к процедуре> ::= <имя> (<переменные>) $
- // <переменные>::=<имя> | <имя>,<переменные>
- // <имя> ::=<префикс><суффикс> $
- // <префикс>::=<буква> $
- // <суффикс>::=<буква> <буква> <суффикс> | <цифра>| <цифра> <суффикс> $
- // <цифра>::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 $
- // <буква> ::=<перечисление букв алфавита >
- // <композиция>::=<последовательная композиция> | <if композиция> | <while композиция>$
- // <последовательная композиция>::=<операция>; | <операция>; # <композиция>$
- // <операция>::= <обращение к процедуре> | <установка переменной>$
- // < установка переменной>::= <имя> = <число>; | <имя> = <имя>; $
- // <число> ::= <знак><значение> | <значение>$
- // <знак>::=+ | – $
- // <значение>::= <цифра>|<цифра><значение>$
- // <if композиция>::= if # <имя> # <композиция> #end | if # <имя># <композиция> # else <композиция> #end $
- // <while композиция> ::= while # <имя># <композиция> #end$
Advertisement
Add Comment
Please, Sign In to add comment