Waddle_Language/grammar/operations/expressions.bnf

33 lines
1.4 KiB
BNF
Raw Normal View History

<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.and(" <boolean_expression> "," <boolean_expression> ")"
| "Boolean.or(" <boolean_expression> "," <boolean_expression> ")"
| "Boolean.not(" <boolean_expression> ")"
| "Boolean.eq(" <boolean_expression> "," <boolean_expression> ")"
| "Boolean.is(" <boolean_expression> "," <boolean_expression> ")"
| "Boolean.gt(" <boolean_expression> "," <boolean_expression> ")"
| "Boolean.lt(" <boolean_expression> "," <boolean_expression> ")"
| "Boolean.gte(" <boolean_expression> "," <boolean_expression> ")"
| "Boolean.lte(" <boolean_expression> "," <boolean_expression> ")"