Waddle_Language/grammar/operations/expressions.bnf

33 lines
1.6 KiB
BNF

<expression> ::= <my_identifier>
| <literal>
| <object_method_call>
| <constant_declaration>
| <type_conversion_expression>
| "(" <expression> ")"
| <lambda_declaration>
<type_conversion_expression> ::= <my_identifier> ".as(" <type> ")"
<boolean_expression> ::=
<boolean_literal>
| "(" <boolean_expression> ")"
| <my_identifier> ".eq(" <expression> ")"
| <my_identifier> ".is(" <expression> ")"
| <my_identifier> ".not(" <expression> ")"
| <my_identifier> ".gt(" <expression> ")"
| <my_identifier> ".lt(" <expression> ")"
| <my_identifier> ".gte(" <expression> ")"
| <my_identifier> ".lte(" <expression> ")"
| <my_identifier> ".and(" <boolean_expression> ")"
| <my_identifier> ".or(" <boolean_expression> ")"
| <boolean_type_keyword> ".and(" <boolean_expression> "," <boolean_expression> ")"
| <boolean_type_keyword> ".or(" <boolean_expression> "," <boolean_expression> ")"
| <boolean_type_keyword> ".not(" <boolean_expression> ")"
| <boolean_type_keyword> ".eq(" <boolean_expression> "," <boolean_expression> ")"
| <boolean_type_keyword> ".is(" <boolean_expression> "," <boolean_expression> ")"
| <boolean_type_keyword> ".gt(" <boolean_expression> "," <boolean_expression> ")"
| <boolean_type_keyword> ".lt(" <boolean_expression> "," <boolean_expression> ")"
| <boolean_type_keyword> ".gte(" <boolean_expression> "," <boolean_expression> ")"
| <boolean_type_keyword> ".lte(" <boolean_expression> "," <boolean_expression> ")"