# Turbo Pascal 3 validator pilot `turbo_pascal3.atg` is byte-identical to the standard-Pascal grammar apart from its tag line, so it starts from the same base plus three Turbo extensions (all diagnosed against `fpc -Mtp` as oracle): 1. `IGNORE CASE` moved right after `COMPILER` (same toolchain requirement as the standard grammar). 2. `$` hexadecimal literals (`$FF`): new `hexDigit` set plus a `"$" hexDigit { hexDigit }` integer alternative. 3. `ELSE` in `CASE`: `CaseList` gains `[ "ELSE" Statement ]` (standard Pascal has none; Turbo and `fpc -Mtp` accept it). Two benign LL(1) warnings remain (dangling-`ELSE` family). ## Build ```sh ./build.sh # -> build/TP3 (build/ is git-ignored) ``` Needs `CR` (Coco/R), `gm2 -fiso`, the `parser.frm`/`scanner.frm` frames and `FileIO.def/.mod` — all resolved from the environment with sensible defaults (`CRFRAMES`, `M2LIB`, `CR`, `GM2`). Note: link via the two-step module list (`-fgen-module-list` then `-fuse-list`); a single-step link trips over pre-existing errors in this gm2 build's own ISO library `.def` files. ## Differential results (TP3 vs `fpc -Mtp`) Accept battery + `tests/deep.pas` (adds `STRING`, `+` concat, `$` hex, `CASE..ELSE` over the standard set): **0 false positives**. Broken mutants: **0 missed**, positions close.