45 Commits

Author SHA1 Message Date
Michael Hoffmann 28e327cd3f fix: precedence of unary operators and expressions
Signed-off-by: Michael Hoffmann <mhoffm@posteo.de>
2025-06-09 21:40:11 +02:00
Michael Hoffmann 9e3ec9848f feat: add namespaced identifiers
Signed-off-by: Michael Hoffmann <mhoffm@posteo.de>
2024-06-24 03:58:23 +02:00
Michael Hoffmann 636dbe7030 grammar: remove shim again
Signed-off-by: Michael Hoffmann <mhoffm@posteo.de>
2023-07-25 19:21:31 +02:00
Michael Hoffmann 3cf33b40d4 fix: hanging parser on trailing comment 2023-04-08 20:17:11 +02:00
Michael Hoffmann 486488948b grammar: fix structure of coments in block bodies 2023-04-08 15:36:43 +02:00
Michael Hoffmann 6b74f88b3d fix: template expression precedence 2022-12-02 21:24:38 +01:00
Michael Hoffmann a87b709739 fix: allow empty string literals 2022-06-02 20:12:15 +02:00
mhoffm 5c348bd23c fix grammar 2021-09-20 21:45:17 +02:00
mhoffm c0513ba689 add template for directives 2021-09-19 12:00:18 +02:00
mhoffm 7a12dfe711 make object, block and tuple delimiters visible 2021-07-04 12:42:29 +02:00
mhoffm 380571cc1a * add field names to object elements
* dont hide template interpolation start/end and quoted template start/end tokens
2021-07-02 08:34:28 +02:00
mhoffm 29bb003f95 fix bug when heredoc_identifier length exceeds CHAR_MAX 2021-06-27 22:27:21 +02:00
mhoffm fd450bb5f6 fix empty heredoc templates 2021-06-27 15:54:15 +02:00
mhoffm 6c5f3eba28 allow empty templates and template interpolations 2021-06-27 13:54:05 +02:00
mhoffm 0ae2fffe6d fix ending heredoc identifiers must be on single line 2021-06-26 11:11:34 +02:00
mhoffm 91e946d55b wip heredoc 2021-06-23 00:34:26 +02:00
mhoffm b9a95e5b48 wip move to cpp external scanner 2021-06-22 23:40:31 +02:00
mhoffm d57a44c2c3 handle string_literal and quoted_template conflict with precedences 2021-06-21 21:08:51 +02:00
mhoffm a7f23cc579 more real world exampls; fix scanner when scanning empty character in lexer 2021-06-21 19:40:27 +02:00
mhoffm 22d0a7253c simplify whitespace handling; support hexadecimal numeric literals; allow empty configs 2021-06-20 00:03:58 +02:00
mhoffm b1c3109853 fix operations; add one line blocks 2021-06-19 21:01:03 +02:00
mhoffm d61fefced0 fix binary operators 2021-06-19 18:10:47 +02:00
mhoffm 5f7a5b5e98 add real world test corpus; work on some parse errors and weirdnesses 2021-06-19 16:56:35 +02:00
mhoffm 9b79cbda48 add precedence to splat operators; test for associativity 2021-06-18 07:29:00 +02:00
mhoffm b793cd7c37 simplify object elements 2021-06-18 07:20:55 +02:00
mhoffm f4b4b4f026 add precedence to conditionals; add test for conditional associativity 2021-06-18 07:17:21 +02:00
mhoffm b04366fc76 cleanup 2021-06-18 07:09:57 +02:00
mhoffm 6fea15e3f2 test for nested conditinal expression 2021-06-18 07:09:36 +02:00
mhoffm 88401e3bf3 fmt tests; properly define string literals; work on scanner 2021-06-17 23:47:14 +02:00
mhoffm 69b9328841 fix unittests 2021-06-14 23:38:05 +02:00
mhoffm 01a4a981da fix string literals; trim trailing whitespace 2021-06-14 23:33:28 +02:00
mhoffm 7b91d51683 handle quoted template expressions and template interpolations 2021-06-14 23:11:17 +02:00
mhoffm c1dd2b1c5a wip operator tests 2021-06-13 09:26:15 +02:00
mhoffm 54f6fb3c7b tests 2021-06-12 22:47:25 +02:00
mhoffm 52247dee63 properly handle escape sequences in string literals 2021-06-12 22:36:10 +02:00
mhoffm 67680e4cda add small test for conditionals 2021-06-12 21:54:32 +02:00
mhoffm 037f9d782b for expressions with predicate 2021-06-12 00:00:31 +02:00
mhoffm 197a5374ab add ellipsis token 2021-06-11 23:58:30 +02:00
mhoffm 94b188039a add ellipsis token 2021-06-11 23:57:34 +02:00
mhoffm 1b32606141 tests for tupl expressions 2021-06-11 23:47:51 +02:00
mhoffm 2226687dd7 more tests; add function expressions 2021-06-11 23:32:22 +02:00
mhoffm 08ce0c6653 more tests 2021-06-08 23:37:15 +02:00
mhoffm 6da374befd more tests 2021-06-08 23:31:40 +02:00
mhoffm 4cb4f3f142 add more tests, readme 2021-06-08 23:18:50 +02:00
mhoffm c8afa29760 initial tests 2021-06-08 23:06:04 +02:00