Add loop syntax. Add attempt/error (try/catch)
This commit is contained in:
parent
2cceae4ba0
commit
b618aee7ee
|
|
@ -1,9 +1,12 @@
|
|||
<statement> ::= <assignment_statement>
|
||||
| <if_statement>
|
||||
| <while_statement>
|
||||
| <loop_statement>
|
||||
| <reverse_loop_statement>
|
||||
| <function_call_statement>
|
||||
| <return_statement>
|
||||
| <using_statement>
|
||||
| <attempt_statement>
|
||||
|
||||
<assignment_statement> ::= <my_identifier> ".set(" <expression> ")" ";"
|
||||
|
||||
|
|
@ -11,6 +14,10 @@
|
|||
|
||||
<while_statement> ::= "while" "(" <expression> ")" "{" <statement>* "}"
|
||||
|
||||
<loop_statement> ::= "loop" "(" <identifier> "," <expression> "->" <expression> ["," <expression>]? ")" "{" <statement>* "}"
|
||||
|
||||
<reverse_loop_statement> ::= "rloop" "(" <identifier> "," <expression> "->" <expression> ["," <expression>]? ")" "{" <statement>* "}"
|
||||
|
||||
<function_call_statement> ::= <my_identifier> "(" <argument_list>? ")" ";"
|
||||
|
||||
<argument_list> ::= <expression> ("," <expression>)*
|
||||
|
|
@ -18,3 +25,7 @@
|
|||
<return_statement> ::= "rtn" <expression> ";"
|
||||
|
||||
<using_statement> ::= "using" <type> <identifier> ".set(" <expression> ")" "{" <statement>* "}"
|
||||
|
||||
<attempt_statement> ::= <expression> ".attempt" "{" <attempt_handler>* "}"
|
||||
|
||||
<attempt_handler> ::= ("ok" | <identifier> | "error") "{" <statement>* "}"
|
||||
|
|
|
|||
Loading…
Reference in a new issue