Skip to content

Commit ea06228

Browse files
committed
feat: add unsafe block parser
1 parent da3e25a commit ea06228

11 files changed

Lines changed: 1327 additions & 508 deletions

internal/unsafe/generated/UnsafeParser.interp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@ null
77
'loop'
88
'end'
99
'in'
10+
'define'
11+
'template'
1012
'('
1113
')'
1214
'$'
1315
'|'
1416
','
17+
':='
1518
null
1619
null
1720
null
@@ -26,11 +29,14 @@ IF
2629
LOOP
2730
END
2831
IN
32+
DEFINE
33+
TEMPLATE
2934
LPAREN
3035
RPAREN
3136
DOLLAR
3237
PIPE
3338
COMMA
39+
COLON_EQUAL
3440
IDENTIFIER
3541
STRING
3642
NUMBER
@@ -40,14 +46,17 @@ rule names:
4046
template
4147
content
4248
statement
49+
variableStatement
4350
ifStatement
4451
loopStatement
4552
expressionStatement
53+
defineStatement
54+
templateStatement
4655
expression
4756
pipelineExpr
4857
primaryExpr
4958
functionCall
5059

5160

5261
atn:
53-
[4, 1, 16, 100, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 1, 0, 1, 0, 5, 0, 23, 8, 0, 10, 0, 12, 0, 26, 9, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 3, 2, 33, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 5, 7, 64, 8, 7, 10, 7, 12, 7, 67, 9, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 76, 8, 8, 1, 9, 1, 9, 5, 9, 80, 8, 9, 10, 9, 12, 9, 83, 9, 9, 1, 9, 1, 9, 1, 9, 3, 9, 88, 8, 9, 1, 9, 1, 9, 5, 9, 92, 8, 9, 10, 9, 12, 9, 95, 9, 9, 1, 9, 3, 9, 98, 8, 9, 1, 9, 0, 0, 10, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 0, 0, 101, 0, 24, 1, 0, 0, 0, 2, 27, 1, 0, 0, 0, 4, 32, 1, 0, 0, 0, 6, 34, 1, 0, 0, 0, 8, 43, 1, 0, 0, 0, 10, 54, 1, 0, 0, 0, 12, 58, 1, 0, 0, 0, 14, 60, 1, 0, 0, 0, 16, 75, 1, 0, 0, 0, 18, 97, 1, 0, 0, 0, 20, 23, 3, 2, 1, 0, 21, 23, 3, 4, 2, 0, 22, 20, 1, 0, 0, 0, 22, 21, 1, 0, 0, 0, 23, 26, 1, 0, 0, 0, 24, 22, 1, 0, 0, 0, 24, 25, 1, 0, 0, 0, 25, 1, 1, 0, 0, 0, 26, 24, 1, 0, 0, 0, 27, 28, 5, 2, 0, 0, 28, 3, 1, 0, 0, 0, 29, 33, 3, 6, 3, 0, 30, 33, 3, 8, 4, 0, 31, 33, 3, 10, 5, 0, 32, 29, 1, 0, 0, 0, 32, 30, 1, 0, 0, 0, 32, 31, 1, 0, 0, 0, 33, 5, 1, 0, 0, 0, 34, 35, 5, 1, 0, 0, 35, 36, 5, 4, 0, 0, 36, 37, 3, 12, 6, 0, 37, 38, 5, 3, 0, 0, 38, 39, 3, 0, 0, 0, 39, 40, 5, 1, 0, 0, 40, 41, 5, 6, 0, 0, 41, 42, 5, 3, 0, 0, 42, 7, 1, 0, 0, 0, 43, 44, 5, 1, 0, 0, 44, 45, 5, 5, 0, 0, 45, 46, 5, 13, 0, 0, 46, 47, 5, 7, 0, 0, 47, 48, 5, 13, 0, 0, 48, 49, 5, 3, 0, 0, 49, 50, 3, 0, 0, 0, 50, 51, 5, 1, 0, 0, 51, 52, 5, 6, 0, 0, 52, 53, 5, 3, 0, 0, 53, 9, 1, 0, 0, 0, 54, 55, 5, 1, 0, 0, 55, 56, 3, 12, 6, 0, 56, 57, 5, 3, 0, 0, 57, 11, 1, 0, 0, 0, 58, 59, 3, 14, 7, 0, 59, 13, 1, 0, 0, 0, 60, 65, 3, 16, 8, 0, 61, 62, 5, 11, 0, 0, 62, 64, 3, 18, 9, 0, 63, 61, 1, 0, 0, 0, 64, 67, 1, 0, 0, 0, 65, 63, 1, 0, 0, 0, 65, 66, 1, 0, 0, 0, 66, 15, 1, 0, 0, 0, 67, 65, 1, 0, 0, 0, 68, 76, 5, 15, 0, 0, 69, 76, 5, 14, 0, 0, 70, 76, 5, 13, 0, 0, 71, 72, 5, 8, 0, 0, 72, 73, 3, 12, 6, 0, 73, 74, 5, 9, 0, 0, 74, 76, 1, 0, 0, 0, 75, 68, 1, 0, 0, 0, 75, 69, 1, 0, 0, 0, 75, 70, 1, 0, 0, 0, 75, 71, 1, 0, 0, 0, 76, 17, 1, 0, 0, 0, 77, 81, 5, 13, 0, 0, 78, 80, 3, 16, 8, 0, 79, 78, 1, 0, 0, 0, 80, 83, 1, 0, 0, 0, 81, 79, 1, 0, 0, 0, 81, 82, 1, 0, 0, 0, 82, 98, 1, 0, 0, 0, 83, 81, 1, 0, 0, 0, 84, 85, 5, 13, 0, 0, 85, 87, 5, 8, 0, 0, 86, 88, 3, 16, 8, 0, 87, 86, 1, 0, 0, 0, 87, 88, 1, 0, 0, 0, 88, 93, 1, 0, 0, 0, 89, 90, 5, 12, 0, 0, 90, 92, 3, 16, 8, 0, 91, 89, 1, 0, 0, 0, 92, 95, 1, 0, 0, 0, 93, 91, 1, 0, 0, 0, 93, 94, 1, 0, 0, 0, 94, 96, 1, 0, 0, 0, 95, 93, 1, 0, 0, 0, 96, 98, 5, 9, 0, 0, 97, 77, 1, 0, 0, 0, 97, 84, 1, 0, 0, 0, 98, 19, 1, 0, 0, 0, 9, 22, 24, 32, 65, 75, 81, 87, 93, 97]
62+
[4, 1, 19, 147, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 1, 0, 1, 0, 5, 0, 29, 8, 0, 10, 0, 12, 0, 32, 9, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 42, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 5, 7, 79, 8, 7, 10, 7, 12, 7, 82, 9, 7, 3, 7, 84, 8, 7, 1, 7, 3, 7, 87, 8, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 5, 8, 99, 8, 8, 10, 8, 12, 8, 102, 9, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 5, 10, 111, 8, 10, 10, 10, 12, 10, 114, 9, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 123, 8, 11, 1, 12, 1, 12, 5, 12, 127, 8, 12, 10, 12, 12, 12, 130, 9, 12, 1, 12, 1, 12, 1, 12, 3, 12, 135, 8, 12, 1, 12, 1, 12, 5, 12, 139, 8, 12, 10, 12, 12, 12, 142, 9, 12, 1, 12, 3, 12, 145, 8, 12, 1, 12, 0, 0, 13, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 0, 0, 152, 0, 30, 1, 0, 0, 0, 2, 33, 1, 0, 0, 0, 4, 41, 1, 0, 0, 0, 6, 43, 1, 0, 0, 0, 8, 47, 1, 0, 0, 0, 10, 56, 1, 0, 0, 0, 12, 67, 1, 0, 0, 0, 14, 71, 1, 0, 0, 0, 16, 94, 1, 0, 0, 0, 18, 105, 1, 0, 0, 0, 20, 107, 1, 0, 0, 0, 22, 122, 1, 0, 0, 0, 24, 144, 1, 0, 0, 0, 26, 29, 3, 2, 1, 0, 27, 29, 3, 4, 2, 0, 28, 26, 1, 0, 0, 0, 28, 27, 1, 0, 0, 0, 29, 32, 1, 0, 0, 0, 30, 28, 1, 0, 0, 0, 30, 31, 1, 0, 0, 0, 31, 1, 1, 0, 0, 0, 32, 30, 1, 0, 0, 0, 33, 34, 5, 2, 0, 0, 34, 3, 1, 0, 0, 0, 35, 42, 3, 8, 4, 0, 36, 42, 3, 10, 5, 0, 37, 42, 3, 12, 6, 0, 38, 42, 3, 14, 7, 0, 39, 42, 3, 16, 8, 0, 40, 42, 3, 6, 3, 0, 41, 35, 1, 0, 0, 0, 41, 36, 1, 0, 0, 0, 41, 37, 1, 0, 0, 0, 41, 38, 1, 0, 0, 0, 41, 39, 1, 0, 0, 0, 41, 40, 1, 0, 0, 0, 42, 5, 1, 0, 0, 0, 43, 44, 5, 16, 0, 0, 44, 45, 5, 15, 0, 0, 45, 46, 3, 18, 9, 0, 46, 7, 1, 0, 0, 0, 47, 48, 5, 1, 0, 0, 48, 49, 5, 4, 0, 0, 49, 50, 3, 18, 9, 0, 50, 51, 5, 3, 0, 0, 51, 52, 3, 0, 0, 0, 52, 53, 5, 1, 0, 0, 53, 54, 5, 6, 0, 0, 54, 55, 5, 3, 0, 0, 55, 9, 1, 0, 0, 0, 56, 57, 5, 1, 0, 0, 57, 58, 5, 5, 0, 0, 58, 59, 5, 16, 0, 0, 59, 60, 5, 7, 0, 0, 60, 61, 5, 16, 0, 0, 61, 62, 5, 3, 0, 0, 62, 63, 3, 0, 0, 0, 63, 64, 5, 1, 0, 0, 64, 65, 5, 6, 0, 0, 65, 66, 5, 3, 0, 0, 66, 11, 1, 0, 0, 0, 67, 68, 5, 1, 0, 0, 68, 69, 3, 18, 9, 0, 69, 70, 5, 3, 0, 0, 70, 13, 1, 0, 0, 0, 71, 72, 5, 1, 0, 0, 72, 73, 5, 8, 0, 0, 73, 86, 5, 16, 0, 0, 74, 83, 5, 10, 0, 0, 75, 80, 5, 16, 0, 0, 76, 77, 5, 14, 0, 0, 77, 79, 5, 16, 0, 0, 78, 76, 1, 0, 0, 0, 79, 82, 1, 0, 0, 0, 80, 78, 1, 0, 0, 0, 80, 81, 1, 0, 0, 0, 81, 84, 1, 0, 0, 0, 82, 80, 1, 0, 0, 0, 83, 75, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 85, 1, 0, 0, 0, 85, 87, 5, 11, 0, 0, 86, 74, 1, 0, 0, 0, 86, 87, 1, 0, 0, 0, 87, 88, 1, 0, 0, 0, 88, 89, 5, 3, 0, 0, 89, 90, 3, 0, 0, 0, 90, 91, 5, 1, 0, 0, 91, 92, 5, 6, 0, 0, 92, 93, 5, 3, 0, 0, 93, 15, 1, 0, 0, 0, 94, 95, 5, 1, 0, 0, 95, 96, 5, 9, 0, 0, 96, 100, 5, 16, 0, 0, 97, 99, 3, 18, 9, 0, 98, 97, 1, 0, 0, 0, 99, 102, 1, 0, 0, 0, 100, 98, 1, 0, 0, 0, 100, 101, 1, 0, 0, 0, 101, 103, 1, 0, 0, 0, 102, 100, 1, 0, 0, 0, 103, 104, 5, 3, 0, 0, 104, 17, 1, 0, 0, 0, 105, 106, 3, 20, 10, 0, 106, 19, 1, 0, 0, 0, 107, 112, 3, 22, 11, 0, 108, 109, 5, 13, 0, 0, 109, 111, 3, 24, 12, 0, 110, 108, 1, 0, 0, 0, 111, 114, 1, 0, 0, 0, 112, 110, 1, 0, 0, 0, 112, 113, 1, 0, 0, 0, 113, 21, 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 115, 123, 5, 18, 0, 0, 116, 123, 5, 17, 0, 0, 117, 123, 5, 16, 0, 0, 118, 119, 5, 10, 0, 0, 119, 120, 3, 18, 9, 0, 120, 121, 5, 11, 0, 0, 121, 123, 1, 0, 0, 0, 122, 115, 1, 0, 0, 0, 122, 116, 1, 0, 0, 0, 122, 117, 1, 0, 0, 0, 122, 118, 1, 0, 0, 0, 123, 23, 1, 0, 0, 0, 124, 128, 5, 16, 0, 0, 125, 127, 3, 22, 11, 0, 126, 125, 1, 0, 0, 0, 127, 130, 1, 0, 0, 0, 128, 126, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 145, 1, 0, 0, 0, 130, 128, 1, 0, 0, 0, 131, 132, 5, 16, 0, 0, 132, 134, 5, 10, 0, 0, 133, 135, 3, 22, 11, 0, 134, 133, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 140, 1, 0, 0, 0, 136, 137, 5, 14, 0, 0, 137, 139, 3, 22, 11, 0, 138, 136, 1, 0, 0, 0, 139, 142, 1, 0, 0, 0, 140, 138, 1, 0, 0, 0, 140, 141, 1, 0, 0, 0, 141, 143, 1, 0, 0, 0, 142, 140, 1, 0, 0, 0, 143, 145, 5, 11, 0, 0, 144, 124, 1, 0, 0, 0, 144, 131, 1, 0, 0, 0, 145, 25, 1, 0, 0, 0, 13, 28, 30, 41, 80, 83, 86, 100, 112, 122, 128, 134, 140, 144]

internal/unsafe/generated/UnsafeParser.tokens

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,29 @@ IF=4
55
LOOP=5
66
END=6
77
IN=7
8-
LPAREN=8
9-
RPAREN=9
10-
DOLLAR=10
11-
PIPE=11
12-
COMMA=12
13-
IDENTIFIER=13
14-
STRING=14
15-
NUMBER=15
16-
WS=16
8+
DEFINE=8
9+
TEMPLATE=9
10+
LPAREN=10
11+
RPAREN=11
12+
DOLLAR=12
13+
PIPE=13
14+
COMMA=14
15+
COLON_EQUAL=15
16+
IDENTIFIER=16
17+
STRING=17
18+
NUMBER=18
19+
WS=19
1720
'{{'=1
1821
'}}'=3
1922
'if'=4
2023
'loop'=5
2124
'end'=6
2225
'in'=7
23-
'('=8
24-
')'=9
25-
'$'=10
26-
'|'=11
27-
','=12
26+
'define'=8
27+
'template'=9
28+
'('=10
29+
')'=11
30+
'$'=12
31+
'|'=13
32+
','=14
33+
':='=15

internal/unsafe/generated/unsafeLexer.interp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@ null
77
'loop'
88
'end'
99
'in'
10+
'define'
11+
'template'
1012
'('
1113
')'
1214
'$'
1315
'|'
1416
','
17+
':='
1518
null
1619
null
1720
null
@@ -26,11 +29,14 @@ IF
2629
LOOP
2730
END
2831
IN
32+
DEFINE
33+
TEMPLATE
2934
LPAREN
3035
RPAREN
3136
DOLLAR
3237
PIPE
3338
COMMA
39+
COLON_EQUAL
3440
IDENTIFIER
3541
STRING
3642
NUMBER
@@ -44,11 +50,14 @@ IF
4450
LOOP
4551
END
4652
IN
53+
DEFINE
54+
TEMPLATE
4755
LPAREN
4856
RPAREN
4957
DOLLAR
5058
PIPE
5159
COMMA
60+
COLON_EQUAL
5261
IDENTIFIER
5362
STRING
5463
NUMBER
@@ -63,4 +72,4 @@ DEFAULT_MODE
6372
TEMPLATE_MODE
6473

6574
atn:
66-
[4, 0, 16, 123, 6, -1, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 4, 1, 41, 8, 1, 11, 1, 12, 1, 42, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 5, 12, 77, 8, 12, 10, 12, 12, 12, 80, 9, 12, 1, 13, 1, 13, 1, 13, 1, 13, 5, 13, 86, 8, 13, 10, 13, 12, 13, 89, 9, 13, 1, 13, 1, 13, 1, 14, 4, 14, 94, 8, 14, 11, 14, 12, 14, 95, 1, 14, 1, 14, 4, 14, 100, 8, 14, 11, 14, 12, 14, 101, 3, 14, 104, 8, 14, 1, 14, 1, 14, 3, 14, 108, 8, 14, 1, 14, 4, 14, 111, 8, 14, 11, 14, 12, 14, 112, 3, 14, 115, 8, 14, 1, 15, 4, 15, 118, 8, 15, 11, 15, 12, 15, 119, 1, 15, 1, 15, 0, 0, 16, 2, 1, 4, 2, 6, 3, 8, 4, 10, 5, 12, 6, 14, 7, 16, 8, 18, 9, 20, 10, 22, 11, 24, 12, 26, 13, 28, 14, 30, 15, 32, 16, 2, 0, 1, 8, 1, 0, 123, 123, 3, 0, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 2, 0, 34, 34, 92, 92, 1, 0, 48, 57, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 9, 10, 13, 13, 32, 32, 132, 0, 2, 1, 0, 0, 0, 0, 4, 1, 0, 0, 0, 1, 6, 1, 0, 0, 0, 1, 8, 1, 0, 0, 0, 1, 10, 1, 0, 0, 0, 1, 12, 1, 0, 0, 0, 1, 14, 1, 0, 0, 0, 1, 16, 1, 0, 0, 0, 1, 18, 1, 0, 0, 0, 1, 20, 1, 0, 0, 0, 1, 22, 1, 0, 0, 0, 1, 24, 1, 0, 0, 0, 1, 26, 1, 0, 0, 0, 1, 28, 1, 0, 0, 0, 1, 30, 1, 0, 0, 0, 1, 32, 1, 0, 0, 0, 2, 34, 1, 0, 0, 0, 4, 40, 1, 0, 0, 0, 6, 44, 1, 0, 0, 0, 8, 49, 1, 0, 0, 0, 10, 52, 1, 0, 0, 0, 12, 57, 1, 0, 0, 0, 14, 61, 1, 0, 0, 0, 16, 64, 1, 0, 0, 0, 18, 66, 1, 0, 0, 0, 20, 68, 1, 0, 0, 0, 22, 70, 1, 0, 0, 0, 24, 72, 1, 0, 0, 0, 26, 74, 1, 0, 0, 0, 28, 81, 1, 0, 0, 0, 30, 93, 1, 0, 0, 0, 32, 117, 1, 0, 0, 0, 34, 35, 5, 123, 0, 0, 35, 36, 5, 123, 0, 0, 36, 37, 1, 0, 0, 0, 37, 38, 6, 0, 0, 0, 38, 3, 1, 0, 0, 0, 39, 41, 8, 0, 0, 0, 40, 39, 1, 0, 0, 0, 41, 42, 1, 0, 0, 0, 42, 40, 1, 0, 0, 0, 42, 43, 1, 0, 0, 0, 43, 5, 1, 0, 0, 0, 44, 45, 5, 125, 0, 0, 45, 46, 5, 125, 0, 0, 46, 47, 1, 0, 0, 0, 47, 48, 6, 2, 1, 0, 48, 7, 1, 0, 0, 0, 49, 50, 5, 105, 0, 0, 50, 51, 5, 102, 0, 0, 51, 9, 1, 0, 0, 0, 52, 53, 5, 108, 0, 0, 53, 54, 5, 111, 0, 0, 54, 55, 5, 111, 0, 0, 55, 56, 5, 112, 0, 0, 56, 11, 1, 0, 0, 0, 57, 58, 5, 101, 0, 0, 58, 59, 5, 110, 0, 0, 59, 60, 5, 100, 0, 0, 60, 13, 1, 0, 0, 0, 61, 62, 5, 105, 0, 0, 62, 63, 5, 110, 0, 0, 63, 15, 1, 0, 0, 0, 64, 65, 5, 40, 0, 0, 65, 17, 1, 0, 0, 0, 66, 67, 5, 41, 0, 0, 67, 19, 1, 0, 0, 0, 68, 69, 5, 36, 0, 0, 69, 21, 1, 0, 0, 0, 70, 71, 5, 124, 0, 0, 71, 23, 1, 0, 0, 0, 72, 73, 5, 44, 0, 0, 73, 25, 1, 0, 0, 0, 74, 78, 7, 1, 0, 0, 75, 77, 7, 2, 0, 0, 76, 75, 1, 0, 0, 0, 77, 80, 1, 0, 0, 0, 78, 76, 1, 0, 0, 0, 78, 79, 1, 0, 0, 0, 79, 27, 1, 0, 0, 0, 80, 78, 1, 0, 0, 0, 81, 87, 5, 34, 0, 0, 82, 86, 8, 3, 0, 0, 83, 84, 5, 92, 0, 0, 84, 86, 9, 0, 0, 0, 85, 82, 1, 0, 0, 0, 85, 83, 1, 0, 0, 0, 86, 89, 1, 0, 0, 0, 87, 85, 1, 0, 0, 0, 87, 88, 1, 0, 0, 0, 88, 90, 1, 0, 0, 0, 89, 87, 1, 0, 0, 0, 90, 91, 5, 34, 0, 0, 91, 29, 1, 0, 0, 0, 92, 94, 7, 4, 0, 0, 93, 92, 1, 0, 0, 0, 94, 95, 1, 0, 0, 0, 95, 93, 1, 0, 0, 0, 95, 96, 1, 0, 0, 0, 96, 103, 1, 0, 0, 0, 97, 99, 5, 46, 0, 0, 98, 100, 7, 4, 0, 0, 99, 98, 1, 0, 0, 0, 100, 101, 1, 0, 0, 0, 101, 99, 1, 0, 0, 0, 101, 102, 1, 0, 0, 0, 102, 104, 1, 0, 0, 0, 103, 97, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 114, 1, 0, 0, 0, 105, 107, 7, 5, 0, 0, 106, 108, 7, 6, 0, 0, 107, 106, 1, 0, 0, 0, 107, 108, 1, 0, 0, 0, 108, 110, 1, 0, 0, 0, 109, 111, 7, 4, 0, 0, 110, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 110, 1, 0, 0, 0, 112, 113, 1, 0, 0, 0, 113, 115, 1, 0, 0, 0, 114, 105, 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 31, 1, 0, 0, 0, 116, 118, 7, 7, 0, 0, 117, 116, 1, 0, 0, 0, 118, 119, 1, 0, 0, 0, 119, 117, 1, 0, 0, 0, 119, 120, 1, 0, 0, 0, 120, 121, 1, 0, 0, 0, 121, 122, 6, 15, 2, 0, 122, 33, 1, 0, 0, 0, 13, 0, 1, 42, 78, 85, 87, 95, 101, 103, 107, 112, 114, 119, 3, 5, 1, 0, 4, 0, 0, 6, 0, 0]
75+
[4, 0, 19, 148, 6, -1, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 4, 1, 47, 8, 1, 11, 1, 12, 1, 48, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 5, 15, 102, 8, 15, 10, 15, 12, 15, 105, 9, 15, 1, 16, 1, 16, 1, 16, 1, 16, 5, 16, 111, 8, 16, 10, 16, 12, 16, 114, 9, 16, 1, 16, 1, 16, 1, 17, 4, 17, 119, 8, 17, 11, 17, 12, 17, 120, 1, 17, 1, 17, 4, 17, 125, 8, 17, 11, 17, 12, 17, 126, 3, 17, 129, 8, 17, 1, 17, 1, 17, 3, 17, 133, 8, 17, 1, 17, 4, 17, 136, 8, 17, 11, 17, 12, 17, 137, 3, 17, 140, 8, 17, 1, 18, 4, 18, 143, 8, 18, 11, 18, 12, 18, 144, 1, 18, 1, 18, 0, 0, 19, 2, 1, 4, 2, 6, 3, 8, 4, 10, 5, 12, 6, 14, 7, 16, 8, 18, 9, 20, 10, 22, 11, 24, 12, 26, 13, 28, 14, 30, 15, 32, 16, 34, 17, 36, 18, 38, 19, 2, 0, 1, 8, 1, 0, 123, 123, 3, 0, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 2, 0, 34, 34, 92, 92, 1, 0, 48, 57, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 9, 10, 13, 13, 32, 32, 157, 0, 2, 1, 0, 0, 0, 0, 4, 1, 0, 0, 0, 1, 6, 1, 0, 0, 0, 1, 8, 1, 0, 0, 0, 1, 10, 1, 0, 0, 0, 1, 12, 1, 0, 0, 0, 1, 14, 1, 0, 0, 0, 1, 16, 1, 0, 0, 0, 1, 18, 1, 0, 0, 0, 1, 20, 1, 0, 0, 0, 1, 22, 1, 0, 0, 0, 1, 24, 1, 0, 0, 0, 1, 26, 1, 0, 0, 0, 1, 28, 1, 0, 0, 0, 1, 30, 1, 0, 0, 0, 1, 32, 1, 0, 0, 0, 1, 34, 1, 0, 0, 0, 1, 36, 1, 0, 0, 0, 1, 38, 1, 0, 0, 0, 2, 40, 1, 0, 0, 0, 4, 46, 1, 0, 0, 0, 6, 50, 1, 0, 0, 0, 8, 55, 1, 0, 0, 0, 10, 58, 1, 0, 0, 0, 12, 63, 1, 0, 0, 0, 14, 67, 1, 0, 0, 0, 16, 70, 1, 0, 0, 0, 18, 77, 1, 0, 0, 0, 20, 86, 1, 0, 0, 0, 22, 88, 1, 0, 0, 0, 24, 90, 1, 0, 0, 0, 26, 92, 1, 0, 0, 0, 28, 94, 1, 0, 0, 0, 30, 96, 1, 0, 0, 0, 32, 99, 1, 0, 0, 0, 34, 106, 1, 0, 0, 0, 36, 118, 1, 0, 0, 0, 38, 142, 1, 0, 0, 0, 40, 41, 5, 123, 0, 0, 41, 42, 5, 123, 0, 0, 42, 43, 1, 0, 0, 0, 43, 44, 6, 0, 0, 0, 44, 3, 1, 0, 0, 0, 45, 47, 8, 0, 0, 0, 46, 45, 1, 0, 0, 0, 47, 48, 1, 0, 0, 0, 48, 46, 1, 0, 0, 0, 48, 49, 1, 0, 0, 0, 49, 5, 1, 0, 0, 0, 50, 51, 5, 125, 0, 0, 51, 52, 5, 125, 0, 0, 52, 53, 1, 0, 0, 0, 53, 54, 6, 2, 1, 0, 54, 7, 1, 0, 0, 0, 55, 56, 5, 105, 0, 0, 56, 57, 5, 102, 0, 0, 57, 9, 1, 0, 0, 0, 58, 59, 5, 108, 0, 0, 59, 60, 5, 111, 0, 0, 60, 61, 5, 111, 0, 0, 61, 62, 5, 112, 0, 0, 62, 11, 1, 0, 0, 0, 63, 64, 5, 101, 0, 0, 64, 65, 5, 110, 0, 0, 65, 66, 5, 100, 0, 0, 66, 13, 1, 0, 0, 0, 67, 68, 5, 105, 0, 0, 68, 69, 5, 110, 0, 0, 69, 15, 1, 0, 0, 0, 70, 71, 5, 100, 0, 0, 71, 72, 5, 101, 0, 0, 72, 73, 5, 102, 0, 0, 73, 74, 5, 105, 0, 0, 74, 75, 5, 110, 0, 0, 75, 76, 5, 101, 0, 0, 76, 17, 1, 0, 0, 0, 77, 78, 5, 116, 0, 0, 78, 79, 5, 101, 0, 0, 79, 80, 5, 109, 0, 0, 80, 81, 5, 112, 0, 0, 81, 82, 5, 108, 0, 0, 82, 83, 5, 97, 0, 0, 83, 84, 5, 116, 0, 0, 84, 85, 5, 101, 0, 0, 85, 19, 1, 0, 0, 0, 86, 87, 5, 40, 0, 0, 87, 21, 1, 0, 0, 0, 88, 89, 5, 41, 0, 0, 89, 23, 1, 0, 0, 0, 90, 91, 5, 36, 0, 0, 91, 25, 1, 0, 0, 0, 92, 93, 5, 124, 0, 0, 93, 27, 1, 0, 0, 0, 94, 95, 5, 44, 0, 0, 95, 29, 1, 0, 0, 0, 96, 97, 5, 58, 0, 0, 97, 98, 5, 61, 0, 0, 98, 31, 1, 0, 0, 0, 99, 103, 7, 1, 0, 0, 100, 102, 7, 2, 0, 0, 101, 100, 1, 0, 0, 0, 102, 105, 1, 0, 0, 0, 103, 101, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 33, 1, 0, 0, 0, 105, 103, 1, 0, 0, 0, 106, 112, 5, 34, 0, 0, 107, 111, 8, 3, 0, 0, 108, 109, 5, 92, 0, 0, 109, 111, 9, 0, 0, 0, 110, 107, 1, 0, 0, 0, 110, 108, 1, 0, 0, 0, 111, 114, 1, 0, 0, 0, 112, 110, 1, 0, 0, 0, 112, 113, 1, 0, 0, 0, 113, 115, 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 115, 116, 5, 34, 0, 0, 116, 35, 1, 0, 0, 0, 117, 119, 7, 4, 0, 0, 118, 117, 1, 0, 0, 0, 119, 120, 1, 0, 0, 0, 120, 118, 1, 0, 0, 0, 120, 121, 1, 0, 0, 0, 121, 128, 1, 0, 0, 0, 122, 124, 5, 46, 0, 0, 123, 125, 7, 4, 0, 0, 124, 123, 1, 0, 0, 0, 125, 126, 1, 0, 0, 0, 126, 124, 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127, 129, 1, 0, 0, 0, 128, 122, 1, 0, 0, 0, 128, 129, 1, 0, 0, 0, 129, 139, 1, 0, 0, 0, 130, 132, 7, 5, 0, 0, 131, 133, 7, 6, 0, 0, 132, 131, 1, 0, 0, 0, 132, 133, 1, 0, 0, 0, 133, 135, 1, 0, 0, 0, 134, 136, 7, 4, 0, 0, 135, 134, 1, 0, 0, 0, 136, 137, 1, 0, 0, 0, 137, 135, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 140, 1, 0, 0, 0, 139, 130, 1, 0, 0, 0, 139, 140, 1, 0, 0, 0, 140, 37, 1, 0, 0, 0, 141, 143, 7, 7, 0, 0, 142, 141, 1, 0, 0, 0, 143, 144, 1, 0, 0, 0, 144, 142, 1, 0, 0, 0, 144, 145, 1, 0, 0, 0, 145, 146, 1, 0, 0, 0, 146, 147, 6, 18, 2, 0, 147, 39, 1, 0, 0, 0, 13, 0, 1, 48, 103, 110, 112, 120, 126, 128, 132, 137, 139, 144, 3, 5, 1, 0, 4, 0, 0, 6, 0, 0]

internal/unsafe/generated/unsafeLexer.tokens

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,29 @@ IF=4
55
LOOP=5
66
END=6
77
IN=7
8-
LPAREN=8
9-
RPAREN=9
10-
DOLLAR=10
11-
PIPE=11
12-
COMMA=12
13-
IDENTIFIER=13
14-
STRING=14
15-
NUMBER=15
16-
WS=16
8+
DEFINE=8
9+
TEMPLATE=9
10+
LPAREN=10
11+
RPAREN=11
12+
DOLLAR=12
13+
PIPE=13
14+
COMMA=14
15+
COLON_EQUAL=15
16+
IDENTIFIER=16
17+
STRING=17
18+
NUMBER=18
19+
WS=19
1720
'{{'=1
1821
'}}'=3
1922
'if'=4
2023
'loop'=5
2124
'end'=6
2225
'in'=7
23-
'('=8
24-
')'=9
25-
'$'=10
26-
'|'=11
27-
','=12
26+
'define'=8
27+
'template'=9
28+
'('=10
29+
')'=11
30+
'$'=12
31+
'|'=13
32+
','=14
33+
':='=15

0 commit comments

Comments
 (0)