From e7320359c12b97ccb85ebfb06b2540124630df7b Mon Sep 17 00:00:00 2001 From: _ov4 Date: Sun, 18 Oct 2026 08:00:31 +0000 Subject: feat(lexer): support C++ escape sequences in literals Co-Authored-By: Claude Opus 5.5 --- AGENTS/PITFALLS.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'AGENTS/PITFALLS.md') diff --git a/AGENTS/PITFALLS.md b/AGENTS/PITFALLS.md index 4059767..820fa55 100644 --- a/AGENTS/PITFALLS.md +++ b/AGENTS/PITFALLS.md @@ -169,10 +169,12 @@ test programs. SET types (`SET`/`DEFINE` are reserved with dedicated errors), random files (OPENFILE...FOR RANDOM/SEEK/GETRECORD/PUTRECORD — TYPE is done, so these are unblocked now; the RANDOM keyword is reserved and gives a dedicated parse error), -DATE, string escape sequences, +DATE, array-typed record fields, whole-array RETURN and class inheritance (INHERITS/SUPER). Compiler fixtures now live in `tests/` (see TESTING.md). Nightly CI runs the compiler suites, packaged EMBEDDED smoke checks and existing plugin tests. The initial standard conflicts and missing diagnostic locations are fixed on Linux. WHILE accepts both the standard header without DO and the older WHILE DO form. + +- **Literal escapes.** C++17 escapes are decoded by the lexer. Unicode escapes encode UTF-8 in strings; CHAR Unicode escapes must be ASCII. Built-in STRING remains NUL-terminated: `"a\0b"` is observed as `"a"`. -- cgit v1.3.1-4-g156e