22 Commits

Author SHA1 Message Date
eee6513384 Remove outer namespacing class 2023-07-10 22:54:33 -04:00
78ce7fb77a Replace 'ref' arguments with plain pointers 2023-07-10 22:40:03 -04:00
1c50d37a3e Add Position struct to track text positions 2023-07-10 11:18:57 -04:00
ecef933255 Consolidate return codes 2023-07-08 09:23:31 -04:00
8a377b4950 Just return integer result code from Lexer.lex_token() 2023-07-08 08:08:36 -04:00
d56cc2deeb Just return integer result code from Decoder.decode_code_point() 2023-07-05 16:54:52 -04:00
f402315201 Name internally generated tokens with double-underscore 2023-03-13 14:13:13 -04:00
b92679e0c2 Replace LexedToken with Result struct 2023-03-11 21:16:55 -05:00
b00f53050b Clean up Decoder result handling 2023-03-06 20:32:01 -05:00
623c644e74 Work on real D strings instead of ubyte pointer and length
Also fix a couple UTF-8 decoder bugs!
2022-10-15 13:32:33 -04:00
f46b5b3f4d Remove TOKEN_EOF; define EOF token and start rule in Generator 2022-10-02 10:07:44 -04:00
4d716f6c10 Remove Token#c_name; use given token case in token constants 2022-09-25 14:48:49 -04:00
84c4a16ce6 Start on Parser.parse() 2022-06-21 23:03:00 -04:00
7598c589fe Detect other invalid UTF-8 encodings 2022-05-31 22:26:09 -04:00
c0c3353fd7 Test lexing empty null string returns EOF 2021-07-06 12:06:07 -04:00
3158e51059 Add length field to LexedToken 2021-07-06 11:59:35 -04:00
d9e4f64d2e Fix returning TOKEN_EOF when lexing at EOF 2021-07-06 11:55:44 -04:00
e8df4296cc Begin testing lexer 2021-07-06 11:09:39 -04:00
1271e19b50 Test multi-byte code point decoding 2021-07-06 11:02:43 -04:00
12e11399af Add decoder tests 2021-07-06 10:57:06 -04:00
ca7d4862f9 Run test executable; build with unit tests 2021-07-06 10:03:42 -04:00
3c874ae4c1 Compile generated parser with a test file 2021-07-05 23:05:55 -04:00