- [ ] Literals - [x] Identifiers - [x] Numeric literals (Integer, Real) - [x] Textual literals (Character, String) - [x] Literal words (i.e., `true`, `false`, `self`, `nil`) - [ ] Object and Type literals - [ ] Type objects - [ ] Objects - [ ] Classes - [ ] Enumerations - [ ] Records - [ ] Vector literals - [ ] Expressions - [ ] Baseline expressions (literals, identifiers, parenthesised expressions) - [ ] Precedences 1-8 - [ ] Field selection - [ ] Object constructors - [ ] Constructor modifiers (`immutable`, `monitor`) - [ ] Constant and variable declarations (fields come after operations) - [ ] Operations - [ ] Basic operations - [ ] `where` and `forall` widgets - [ ] `suchthat` widget - [ ] Fields - [ ] Blocks (`initially`, `process`, `recovery`) - [ ] Statements - [ ] Assignment - [ ] Selection - [ ] Iteration - [ ] Loop - [ ] Exit - [ ] For - [ ] `unavailable` and `failure` handlers - [ ] Compound statement - [ ] Assertions - [ ] Checkpoint - [ ] Condition-variable-related statements - [ ] Location-related statements - [ ] Return, ReturnAndFail
true,false,self,nil)immutable,monitor)whereandforallwidgetssuchthatwidgetinitially,process,recovery)unavailableandfailurehandlers