3 tdef := '::' id id* '=' tcons ';'
4 tcons := id type* ('|' id type*)*
10 func := funid id* '=' expr ';'
11 funid := id | op ('ifxr' | 'ifxl') num
20 num := (0 | 1 | .. | 9)*
21 id := (a | b | .. | z | A | B | .. | Z)*
22 op := '!' | '@' | '#' | '$' | '%' | '^' | '&' | '*' | '=' | '+' | '/' | '?'
23 | '-' | '_' | '|' | ''' | '\' | '"' | '<' | '>' | '.' | ':'