Guest User

Untitled

a guest
Jun 22nd, 2014
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. Def = callname >> "begin" >> fbody >> "end";
  2. callname = name >> '(' >> arguments >> ')';
  3. arguments = name | name, arguments;
  4. fbody = block | ifnode | whilenode;
  5. block = call >> ';' | call >> ';' >> fbody;
  6. call = callname | assigning>>';';
  7. assinging = vname >> '=' >> int_ >> ';' | vname >> '=' >> vname >> ';';
  8. ifnode = "if" >> name >> fbody >> "end" | "if" >> name >> fbody >> "else" >> fbody >> "end";
  9. whilenode = "while" >> name >> fbody >> "end";
  10. // <Вычислительная процедура>::= <обращение к процедуре># begin # <композиция> #end $
  11. // <обращение к процедуре> ::= <имя> (<переменные>) $
  12. // <переменные>::=<имя> | <имя>,<переменные>
  13. // <имя> ::=<префикс><суффикс> $
  14. // <префикс>::=<буква> $
  15. // <суффикс>::=<буква>  <буква> <суффикс> | <цифра>| <цифра> <суффикс> $
  16. // <цифра>::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 $
  17. // <буква> ::=<перечисление букв алфавита >
  18. // <композиция>::=<последовательная композиция> | <if композиция> | <while композиция>$
  19. // <последовательная композиция>::=<операция>; | <операция>; # <композиция>$
  20. // <операция>::= <обращение к процедуре> | <установка переменной>$
  21. // < установка переменной>::= <имя> = <число>; | <имя> = <имя>; $
  22. // <число> ::= <знак><значение> | <значение>$
  23. // <знак>::=+ | – $
  24. // <значение>::= <цифра>|<цифра><значение>$
  25. // <if композиция>::= if # <имя> # <композиция> #end | if # <имя># <композиция> # else <композиция> #end $
  26. // <while композиция> ::= while # <имя># <композиция> #end$
Advertisement
Add Comment
Please, Sign In to add comment