blaise/docs
Graeme Geldenhuys 2a018f7989 feat(dynarray): implement dynamic arrays (array of T)
Adds full support for heap-allocated, reference-counted dynamic arrays
across all compiler layers and the RTL.

- Parser: distinguish array[L..H] of T (static) from array of T (dynamic)
- Symbol table: tyDynArray kind + TDynArrayTypeDesc + NewDynArrayType
- Semantic: type resolution, Length(), SetLength(), subscript read/write
- Codegen: pointer-slot alloc, nil init, RTL calls, element read/write;
  QbeTypeOf returns 'l' for tyDynArray; Int64 element sign-extension
- RTL: _DynArraySetLength and _DynArrayLength in blaise_str.pas
- OPDF: EmitTypeDesc and EmitArray handle tyDynArray (IsDynamic=1)
- Grammar: DynArrayType rule added to grammar.ebnf
- Docs: dynamic array design decision in language-rationale.adoc
- Tests: cp.test.dynarray (14 tests: parser, semantic, codegen)

Fixpoint verified at stage-3/stage-4. All 1712 tests pass.
2026-05-14 11:05:04 +01:00
..
design.adoc fix(semantic): type-check indirect-call arguments; doc record-param ABI 2026-05-05 00:42:11 +01:00
future-improvements.adoc docs(future): add Enhanced Enumerations section to future-improvements.adoc 2026-05-14 01:10:58 +01:00
grammar.ebnf feat(dynarray): implement dynamic arrays (array of T) 2026-05-14 11:05:04 +01:00
language-rationale.adoc feat(dynarray): implement dynamic arrays (array of T) 2026-05-14 11:05:04 +01:00