\r
block_expression\r
=\r
- block_start {SP}* expressions {SP}* block_end\r
+ | ( block_start {SP}* expressions {SP}* block_end )\r
| block_start\r
;\r
\r
\r
line_block_expression\r
=\r
- line_block_start\r
- expressions\r
- line_block_end\r
+ | ( line_block_start expressions line_block_end )\r
+ | line_block_start\r
;\r
\r
line_block_start\r
=\r
- line_block_open type:`blockstart` name:IDENTIFIER parameters:[ { block_parameter }* ] ":\n"\r
+ line_block_open type:`blockstart` !("end") name:IDENTIFIER parameters:[ { block_parameter }* ] ":\n"\r
;\r
\r
line_block_end\r
=\r
- line_block_open type:`blockend` name:IDENTIFIER "\n"\r
+ line_block_open type:`blockend` "end" name:IDENTIFIER "\n"\r
;\r
\r
line_block_open\r
\r
variable_accessor_call_parameter\r
=\r
- variable_accessor_call_parameter_key_value\r
+ | variable_accessor_call_parameter_key_value\r
| variable_accessor_call_parameter_value_only\r
;\r
\r
\r
CHAR\r
=\r
- ?'.' | ?'\s'\r
+ | ?'.'\r
+ | ?'\s'\r
;
\ No newline at end of file