|
|
722e61cc85
|
Add operator precedence and refactor expressions
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-12 17:53:11 +01:00 |
|
|
|
437584c844
|
Add parsing of more logical combinators
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-12 17:36:36 +01:00 |
|
|
|
d222573a3a
|
Add evaluating of simple maths
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-12 17:29:45 +01:00 |
|
|
|
05c095ccfe
|
Add using literal loading
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-12 11:31:08 +01:00 |
|
|
|
8c02dbd672
|
Parse and ast math expressions
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-12 11:25:55 +01:00 |
|
|
|
8cc8488de4
|
Add parsing of literal numbers
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-12 10:43:45 +01:00 |
|
|
|
09ae91c393
|
Add parsing of operations
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-12 10:04:15 +01:00 |
|
|
|
474324726a
|
Add fuzzer for deeply nested parsing
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-11 18:39:57 +01:00 |
|
|
|
dc8281036c
|
Add tests for for loop
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-11 18:15:14 +01:00 |
|
|
|
42e0056374
|
Add for loop
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-11 18:09:58 +01:00 |
|
|
|
7182024342
|
Introduce JumpLabels instead of manually correct jump positions
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-11 15:50:05 +01:00 |
|
|
|
e64256b65f
|
Add ast parsing for for loops
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-11 14:00:45 +01:00 |
|
|
|
a099c74b1b
|
Re-arrange TemplateAstExpr
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-11 10:36:40 +01:00 |
|
|
|
018ba3cd2c
|
Add for loop parsing
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-11 10:34:17 +01:00 |
|
|
|
3f549690c1
|
Fix combinatorial explosion on backtracking broken if chains
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-09 16:21:23 +01:00 |
|
|
|
b0620a00d5
|
Fix issue with repeating {{ else }} blocks
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-09 16:02:55 +01:00 |
|
|
|
462355b6f2
|
Fix invalid indices when content is not long enough
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-09 15:20:07 +01:00 |
|
|
|
fa1582f3ad
|
Add fuzzing
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-09 15:20:02 +01:00 |
|
|
|
e0e84ede1c
|
Add a noop if no whitespace is emitted to have something to jump to
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-09 13:34:27 +01:00 |
|
|
|
59f92e31fe
|
Allow trimming of whitespace
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-09 13:24:40 +01:00 |
|
|
|
587cfdea53
|
Add parsing of whitespace trimming
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-09 13:14:58 +01:00 |
|
|
|
6a233e978f
|
Patch in content of previous block if it exists
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-09 13:08:15 +01:00 |
|
|
|
ae379df9db
|
Also fix the jump if its the last one
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-09 13:04:16 +01:00 |
|
|
|
ff308649b9
|
Add if else if chains
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-09 12:51:49 +01:00 |
|
|
|
ef02e94591
|
Add tests for if/else if/else/if
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-09 11:40:12 +01:00 |
|
|
|
c9314a3d9b
|
Split up if chains more
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-08 21:22:57 +01:00 |
|
|
|
383f543119
|
Move EndBlock to own element
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-08 20:10:33 +01:00 |
|
|
|
08b480705b
|
Also emit TokenKind in debug
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-08 20:05:54 +01:00 |
|
|
|
13eb4ca1d0
|
Add else parsing
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-08 20:02:33 +01:00 |
|
|
|
b69c659583
|
Add simple bench
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-08 16:12:56 +01:00 |
|
|
|
8afc2d1bde
|
Add parsing for conditionals (cont.)
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-08 15:06:29 +01:00 |
|
|
|
974086a877
|
Add parsing of simple conditionals
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-07 11:49:40 +01:00 |
|
|
|
ffb5c92b89
|
Rename snapshot file as well
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-07 11:23:14 +01:00 |
|
|
|
d2e0405033
|
Rename library to nomo
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-07 10:07:47 +01:00 |
|
|
|
d691fb9198
|
Add parsing of if/end
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-06 20:53:57 +01:00 |
|
|
|
10a33dc935
|
Allow identifiers to contain underscore
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-06 15:45:39 +01:00 |
|
|
|
e158450d18
|
Add test for multiple interpolations
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-06 15:40:05 +01:00 |
|
|
|
67b9c418ac
|
Fixup the testing stuff
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-06 15:09:53 +01:00 |
|
|
|
d3e6410ec0
|
Setup a testing bench
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-06 13:56:39 +01:00 |
|
|
|
4470af3926
|
Add proper impl for templating
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-06 12:56:16 +01:00 |
|
|
|
1ee7611981
|
Use custom Arc backed input
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-06 12:42:11 +01:00 |
|
|
|
1ea15f0e49
|
Add first working pipeline of parse -> ast -> instr -> render
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-06 11:03:48 +01:00 |
|
|
|
f5050e369e
|
Add ast parsing
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-06 08:25:17 +01:00 |
|
|
|
c5a2179b9e
|
Capture whitespace around interpolations
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-05 20:34:10 +01:00 |
|
|
|
4177649202
|
Use resume_after_cut instead of resume_after to simplify code
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-05 19:58:19 +01:00 |
|
|
|
b07bef7904
|
Properly recover from errors
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-05 17:33:19 +01:00 |
|
|
|
f4e8137e17
|
Add initial parsing
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-05 08:45:42 +01:00 |
|
|
|
31e102a4ee
|
Initial Commit
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2026-03-04 17:29:18 +01:00 |
|
|
|
757d027a4d
|
Initial Version
Signed-off-by: Marcel Müller <neikos@neikos.email>
|
2024-11-21 16:06:21 +01:00 |
|