|
|
преди 4 дни | |
|---|---|---|
| .. | ||
| tests | преди 4 дни | |
| README.md | преди 4 дни | |
| build.sh | преди 4 дни | |
| turbo_pascal3.atg | преди 4 дни | |
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):
IGNORE CASE moved right after COMPILER (same toolchain
requirement as the standard grammar).$ hexadecimal literals ($FF): new hexDigit set plus a
"$" hexDigit { hexDigit } integer alternative.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/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.
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.