Keywords: teapot

## Expression Grammar

digit::=
  `0` | .. | `9`
hex_digit::=
  `0` | .. | `9` | `a` | .. | `f`
octal_digit::=
  `0` | .. | `7`
decimal_integer::=
  digit { digit }
hex_integer::=
  `0x` hex_digit { hexdigit }
octal_integer::=
  `0` octal_digit { octdigit }
integer::=
  decimal_integer | hex_integer | octal_integer
float::=
  digit { digit } [ `.` ] { digit } [ `e` | `E` [ `+` | `-` ] digit { digit } ]
quoted_character::=
  \ any_character
character::=
  any_character | quoted_character
string::=
  { character }
identifier_character::=
  `_` | `@` | `&` | `.` | `$` | alpha_character
identifier::=
  identifier_character { identifier_character | digit }
function::=
  identifier `(` [ term ] { `,` [ term ] } `)`
label::=
  identifier
parenterm::=
  `(` term `)`
negterm::=
  `-` primary
primary::=
  function | label | parenterm | negterm
powterm::=
  primary { `^` primary }
mathterm::=
  powterm { `/` | `*` | `%` powterm }
factor::=
  mathterm { `+` | `-` mathterm }
term::=
  factor {`<` | `<=` | `>=` | `>` | `==` | `!=` factor }