blaise/docs
Graeme Geldenhuys 0cc28d395e Update grammar.ebnf to Phase 3: generics, interfaces, properties, pointers
Rewrote the EBNF grammar to reflect all language features implemented
through Phase 3 of the Blaise compiler:

- Full token vocabulary: IS, AS, NIL, VIRTUAL, OVERRIDE, TRY, EXCEPT,
  FINALLY, RAISE, UNIT, INTERFACE, IMPLEMENTATION, DOWNTO, CARET,
  NOT_EQUALS, LESS_EQ, GREATER_EQ, and soft keywords PROPERTY/READ/WRITE
- Unit grammar: UNIT, InterfaceSection, ImplementationSection, UsesClause
- Generic class definitions: CLASS < TypeParamList >
- Interface definitions with optional parent
- Property declarations with soft-keyword read/write accessors
- StandaloneDecl for TTypeName.Method implementation form
- Pointer type syntax: ^TypeName (recursive), pointer dereference (^),
  PointerWriteStmt (P^ := Expr)
- Complete statement hierarchy: if/while/for/try-finally/try-except/raise
- Complete expression hierarchy: Expr → Comparison → Additive → Term → Factor
- Factor includes NIL, generic function calls, type casts (via IDENT LPAREN)
- Updated built-ins section (GetMem/FreeMem/ReallocMem, Pointer type)
- Semantic disambiguation notes for generics, virtual dispatch, interfaces
- ARC implicit operations section (string RC, block exit, exception paths)
2026-04-22 07:50:41 +01:00
..
design.adoc Add pointer type infrastructure: ^T types, dereference, GetMem/FreeMem/ReallocMem 2026-04-22 07:42:55 +01:00
grammar.ebnf Update grammar.ebnf to Phase 3: generics, interfaces, properties, pointers 2026-04-22 07:50:41 +01:00