2017-02-23 21:06:49 +03:00
|
|
|
(Program
|
|
|
|
(Module
|
|
|
|
(Identifier))
|
|
|
|
(Function
|
|
|
|
(Identifier)
|
2017-03-29 23:03:28 +03:00
|
|
|
(Args)
|
2017-05-24 21:42:12 +03:00
|
|
|
{ (For
|
|
|
|
(FunctionCall
|
|
|
|
(Identifier))
|
|
|
|
(Other"goto_statement"(Identifier)))
|
|
|
|
->(For
|
2017-02-23 21:06:49 +03:00
|
|
|
(ExpressionStatements
|
|
|
|
(FunctionCall
|
2017-05-24 21:42:12 +03:00
|
|
|
(Identifier)
|
|
|
|
)(Other"goto_statement"(Identifier)))) }
|
2017-02-23 21:06:49 +03:00
|
|
|
{+(For
|
|
|
|
(VarDecl
|
|
|
|
(Other "expression_list"
|
|
|
|
(Identifier))
|
|
|
|
(Other "expression_list"
|
|
|
|
(NumberLiteral)))
|
|
|
|
(RelationalOperator
|
|
|
|
(Identifier)
|
|
|
|
(NumberLiteral))
|
|
|
|
(IncrementStatement)
|
|
|
|
(FunctionCall
|
|
|
|
(Identifier))
|
|
|
|
(Break
|
|
|
|
(Identifier)))+}
|
|
|
|
{+(For
|
|
|
|
(RelationalOperator
|
|
|
|
(Identifier)
|
|
|
|
(NumberLiteral))
|
|
|
|
(IncrementStatement)
|
|
|
|
(FunctionCall
|
|
|
|
(Identifier))
|
|
|
|
(Continue
|
|
|
|
(Identifier)))+}
|
2017-05-24 21:42:12 +03:00
|
|
|
{+(For
|
2017-03-29 23:03:28 +03:00
|
|
|
(FunctionCall
|
|
|
|
(Identifier))
|
2017-05-24 21:42:12 +03:00
|
|
|
(Continue))+}
|
|
|
|
(For
|
|
|
|
(Other "expression_list"
|
|
|
|
(Identifier))
|
|
|
|
(Identifier)
|
|
|
|
(FunctionCall
|
2017-02-23 21:06:49 +03:00
|
|
|
(Identifier)
|
|
|
|
{+(Identifier)+})
|
2017-05-24 21:42:12 +03:00
|
|
|
(Break
|
2017-02-23 21:06:49 +03:00
|
|
|
{-(Identifier)-}))
|
|
|
|
{-(For
|
|
|
|
(FunctionCall
|
|
|
|
(Identifier))
|
|
|
|
(Continue
|
|
|
|
(Identifier)))-}
|
|
|
|
{-(For
|
|
|
|
(RelationalOperator
|
|
|
|
(Identifier)
|
|
|
|
(NumberLiteral))
|
|
|
|
(IncrementStatement)
|
|
|
|
(FunctionCall
|
|
|
|
(Identifier))
|
|
|
|
(Continue))-}
|
|
|
|
{-(For
|
|
|
|
(ExpressionStatements
|
|
|
|
(FunctionCall
|
|
|
|
(Identifier)
|
|
|
|
(Identifier))
|
2017-05-24 21:42:12 +03:00
|
|
|
(Break)))-}))
|