| 37 | == Some improvement == |
| 38 | OK, well if we sp;it the operators into monadic, diadic or both then hat ''might'' help things somewhat. |
| 39 | {{{ |
| 40 | monadics := ( "-" | "!" ); |
| 41 | |
| 42 | diadics := ( "+" | "-" | "*" | "/" | "%" | ":=" ); |
| 43 | |
| 44 | bracedMonadic := |
| 45 | ( "sizeof" |
| 46 | | "typeof" |
| 47 | | L-gillaumet typename R-gillaumet |
| 48 | ); |
| 49 | |
| 50 | expression := |
| 51 | ( identifier |
| 52 | | constant |
| 53 | | ( monadics expression |
| 54 | | bracedMonadic "(" expression ")" |
| 55 | | expression |
| 56 | ) |
| 57 | ( ( diadics expression |
| 58 | | expression |
| 59 | ) ) |
| 60 | | "(" expression ")" |
| 61 | ); |
| 62 | }}} |
| 63 | |
| 64 | which gives us the ability to specify a subset of monadic, diadic operators (infix notation) and a set of monadic braced expressions (apparently single parameter functions). |
| 65 | |