mirror of
https://github.com/danog/liquid.git
synced 2024-11-27 03:24:39 +01:00
Property names can end in ?
This commit is contained in:
parent
8efaada3af
commit
dbba68082c
@ -5,24 +5,24 @@ import "strconv"
|
||||
|
||||
//line scanner.go:9
|
||||
var _expression_actions []byte = []byte{
|
||||
0, 1, 0, 1, 1, 1, 2, 1, 13,
|
||||
1, 14, 1, 15, 1, 16, 1, 17,
|
||||
1, 18, 1, 19, 1, 20, 1, 21,
|
||||
1, 22, 1, 23, 1, 24, 1, 25,
|
||||
1, 26, 1, 27, 1, 28, 1, 29,
|
||||
2, 2, 3, 2, 2, 4, 2, 2,
|
||||
5, 2, 2, 6, 2, 2, 7, 2,
|
||||
2, 8, 2, 2, 9, 2, 2, 10,
|
||||
2, 2, 11, 2, 2, 12,
|
||||
0, 1, 0, 1, 1, 1, 2, 1, 11,
|
||||
1, 12, 1, 13, 1, 14, 1, 15,
|
||||
1, 16, 1, 17, 1, 18, 1, 19,
|
||||
1, 20, 1, 21, 1, 22, 1, 23,
|
||||
1, 24, 1, 25, 1, 26, 1, 27,
|
||||
1, 28, 2, 2, 3, 2, 2, 4,
|
||||
2, 2, 5, 2, 2, 6, 2, 2,
|
||||
7, 2, 2, 8, 2, 2, 9, 2,
|
||||
2, 10,
|
||||
}
|
||||
|
||||
var _expression_key_offsets []int16 = []int16{
|
||||
0, 1, 2, 3, 4, 5, 6, 7,
|
||||
8, 9, 10, 12, 38, 41, 42, 43,
|
||||
45, 46, 49, 51, 54, 62, 70, 71,
|
||||
72, 73, 83, 84, 95, 106, 117, 128,
|
||||
139, 150, 161, 172, 183, 195, 206, 217,
|
||||
228, 239, 250, 261, 272, 283, 294,
|
||||
45, 46, 49, 51, 54, 62, 71, 80,
|
||||
81, 82, 83, 93, 94, 105, 116, 127,
|
||||
138, 149, 160, 171, 182, 193, 205, 216,
|
||||
227, 238, 249, 260, 271, 282, 293, 304,
|
||||
}
|
||||
|
||||
var _expression_trans_keys []byte = []byte{
|
||||
@ -33,65 +33,66 @@ var _expression_trans_keys []byte = []byte{
|
||||
48, 57, 65, 90, 98, 122, 32, 9,
|
||||
13, 61, 34, 97, 108, 39, 46, 48,
|
||||
57, 48, 57, 46, 48, 57, 45, 95,
|
||||
48, 57, 65, 90, 97, 122, 45, 95,
|
||||
48, 57, 65, 90, 97, 122, 61, 61,
|
||||
61, 45, 58, 63, 95, 48, 57, 65,
|
||||
90, 97, 122, 58, 45, 58, 63, 95,
|
||||
110, 48, 57, 65, 90, 97, 122, 45,
|
||||
58, 63, 95, 100, 48, 57, 65, 90,
|
||||
97, 122, 45, 58, 63, 95, 111, 48,
|
||||
57, 65, 90, 97, 122, 45, 58, 63,
|
||||
95, 110, 48, 57, 65, 90, 97, 122,
|
||||
45, 58, 63, 95, 116, 48, 57, 65,
|
||||
90, 97, 122, 45, 58, 63, 95, 97,
|
||||
48, 57, 65, 90, 98, 122, 45, 58,
|
||||
63, 95, 105, 48, 57, 65, 90, 97,
|
||||
122, 45, 58, 63, 95, 110, 48, 57,
|
||||
48, 57, 65, 90, 97, 122, 45, 63,
|
||||
95, 48, 57, 65, 90, 97, 122, 45,
|
||||
63, 95, 48, 57, 65, 90, 97, 122,
|
||||
61, 61, 61, 45, 58, 63, 95, 48,
|
||||
57, 65, 90, 97, 122, 58, 45, 58,
|
||||
63, 95, 110, 48, 57, 65, 90, 97,
|
||||
122, 45, 58, 63, 95, 100, 48, 57,
|
||||
65, 90, 97, 122, 45, 58, 63, 95,
|
||||
115, 48, 57, 65, 90, 97, 122, 45,
|
||||
58, 63, 95, 97, 111, 48, 57, 65,
|
||||
90, 98, 122, 45, 58, 63, 95, 108,
|
||||
111, 48, 57, 65, 90, 97, 122, 45,
|
||||
58, 63, 95, 110, 48, 57, 65, 90,
|
||||
97, 122, 45, 58, 63, 95, 116, 48,
|
||||
57, 65, 90, 97, 122, 45, 58, 63,
|
||||
95, 97, 48, 57, 65, 90, 98, 122,
|
||||
45, 58, 63, 95, 105, 48, 57, 65,
|
||||
90, 97, 122, 45, 58, 63, 95, 110,
|
||||
48, 57, 65, 90, 97, 122, 45, 58,
|
||||
63, 95, 115, 48, 57, 65, 90, 97,
|
||||
122, 45, 58, 63, 95, 101, 48, 57,
|
||||
65, 90, 97, 122, 45, 58, 63, 95,
|
||||
114, 48, 57, 65, 90, 97, 122, 45,
|
||||
58, 63, 95, 110, 48, 57, 65, 90,
|
||||
97, 122, 45, 58, 63, 95, 105, 48,
|
||||
57, 65, 90, 97, 122, 45, 58, 63,
|
||||
122, 45, 58, 63, 95, 97, 111, 48,
|
||||
57, 65, 90, 98, 122, 45, 58, 63,
|
||||
95, 108, 48, 57, 65, 90, 97, 122,
|
||||
45, 58, 63, 95, 114, 48, 57, 65,
|
||||
90, 97, 122, 45, 58, 63, 95, 114,
|
||||
45, 58, 63, 95, 115, 48, 57, 65,
|
||||
90, 97, 122, 45, 58, 63, 95, 101,
|
||||
48, 57, 65, 90, 97, 122, 45, 58,
|
||||
63, 95, 117, 48, 57, 65, 90, 97,
|
||||
122,
|
||||
63, 95, 114, 48, 57, 65, 90, 97,
|
||||
122, 45, 58, 63, 95, 110, 48, 57,
|
||||
65, 90, 97, 122, 45, 58, 63, 95,
|
||||
105, 48, 57, 65, 90, 97, 122, 45,
|
||||
58, 63, 95, 108, 48, 57, 65, 90,
|
||||
97, 122, 45, 58, 63, 95, 114, 48,
|
||||
57, 65, 90, 97, 122, 45, 58, 63,
|
||||
95, 114, 48, 57, 65, 90, 97, 122,
|
||||
45, 58, 63, 95, 117, 48, 57, 65,
|
||||
90, 97, 122,
|
||||
}
|
||||
|
||||
var _expression_single_lengths []byte = []byte{
|
||||
1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 0, 18, 1, 1, 1, 2,
|
||||
1, 1, 0, 1, 2, 2, 1, 1,
|
||||
1, 4, 1, 5, 5, 5, 5, 5,
|
||||
5, 5, 5, 5, 6, 5, 5, 5,
|
||||
5, 5, 5, 5, 5, 5, 5,
|
||||
1, 1, 0, 1, 2, 3, 3, 1,
|
||||
1, 1, 4, 1, 5, 5, 5, 5,
|
||||
5, 5, 5, 5, 5, 6, 5, 5,
|
||||
5, 5, 5, 5, 5, 5, 5, 5,
|
||||
}
|
||||
|
||||
var _expression_range_lengths []byte = []byte{
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 1, 4, 1, 0, 0, 0,
|
||||
0, 1, 1, 1, 3, 3, 0, 0,
|
||||
0, 3, 0, 3, 3, 3, 3, 3,
|
||||
0, 1, 1, 1, 3, 3, 3, 0,
|
||||
0, 0, 3, 0, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 3, 3, 3, 3, 3,
|
||||
}
|
||||
|
||||
var _expression_index_offsets []int16 = []int16{
|
||||
0, 2, 4, 6, 8, 10, 12, 14,
|
||||
16, 18, 20, 22, 45, 48, 50, 52,
|
||||
55, 57, 60, 62, 65, 71, 77, 79,
|
||||
81, 83, 91, 93, 102, 111, 120, 129,
|
||||
138, 147, 156, 165, 174, 184, 193, 202,
|
||||
211, 220, 229, 238, 247, 256, 265,
|
||||
55, 57, 60, 62, 65, 71, 78, 85,
|
||||
87, 89, 91, 99, 101, 110, 119, 128,
|
||||
137, 146, 155, 164, 173, 182, 192, 201,
|
||||
210, 219, 228, 237, 246, 255, 264, 273,
|
||||
}
|
||||
|
||||
var _expression_indicies []byte = []byte{
|
||||
@ -103,57 +104,58 @@ var _expression_indicies []byte = []byte{
|
||||
14, 21, 25, 25, 13, 14, 14, 33,
|
||||
35, 34, 2, 1, 36, 37, 34, 2,
|
||||
11, 38, 21, 34, 12, 39, 12, 21,
|
||||
40, 42, 42, 43, 42, 42, 41, 42,
|
||||
42, 42, 42, 42, 44, 45, 34, 46,
|
||||
34, 47, 34, 25, 48, 49, 25, 25,
|
||||
25, 25, 41, 48, 50, 25, 48, 49,
|
||||
25, 51, 25, 25, 25, 50, 25, 48,
|
||||
49, 25, 52, 25, 25, 25, 50, 25,
|
||||
48, 49, 25, 53, 25, 25, 25, 50,
|
||||
25, 48, 49, 25, 54, 25, 25, 25,
|
||||
50, 25, 48, 49, 25, 55, 25, 25,
|
||||
25, 50, 25, 48, 49, 25, 56, 25,
|
||||
25, 25, 50, 25, 48, 49, 25, 57,
|
||||
25, 25, 25, 50, 25, 48, 49, 25,
|
||||
58, 25, 25, 25, 50, 25, 48, 49,
|
||||
25, 59, 25, 25, 25, 50, 25, 48,
|
||||
49, 25, 60, 61, 25, 25, 25, 50,
|
||||
25, 48, 49, 25, 62, 25, 25, 25,
|
||||
50, 25, 48, 49, 25, 63, 25, 25,
|
||||
25, 50, 25, 48, 49, 25, 64, 25,
|
||||
25, 25, 50, 25, 48, 49, 25, 65,
|
||||
25, 25, 25, 50, 25, 48, 49, 25,
|
||||
66, 25, 25, 25, 50, 25, 48, 49,
|
||||
25, 67, 25, 25, 25, 50, 25, 48,
|
||||
49, 25, 68, 25, 25, 25, 50, 25,
|
||||
48, 49, 25, 69, 25, 25, 25, 50,
|
||||
25, 48, 49, 25, 70, 25, 25, 25,
|
||||
50, 25, 48, 49, 25, 63, 25, 25,
|
||||
25, 50,
|
||||
40, 41, 41, 42, 41, 41, 34, 41,
|
||||
44, 41, 41, 41, 41, 43, 41, 44,
|
||||
41, 42, 41, 41, 39, 45, 34, 46,
|
||||
34, 47, 34, 25, 49, 50, 25, 25,
|
||||
25, 25, 48, 49, 51, 25, 49, 50,
|
||||
25, 52, 25, 25, 25, 51, 25, 49,
|
||||
50, 25, 53, 25, 25, 25, 51, 25,
|
||||
49, 50, 25, 54, 25, 25, 25, 51,
|
||||
25, 49, 50, 25, 55, 25, 25, 25,
|
||||
51, 25, 49, 50, 25, 56, 25, 25,
|
||||
25, 51, 25, 49, 50, 25, 57, 25,
|
||||
25, 25, 51, 25, 49, 50, 25, 58,
|
||||
25, 25, 25, 51, 25, 49, 50, 25,
|
||||
59, 25, 25, 25, 51, 25, 49, 50,
|
||||
25, 60, 25, 25, 25, 51, 25, 49,
|
||||
50, 25, 61, 62, 25, 25, 25, 51,
|
||||
25, 49, 50, 25, 63, 25, 25, 25,
|
||||
51, 25, 49, 50, 25, 64, 25, 25,
|
||||
25, 51, 25, 49, 50, 25, 65, 25,
|
||||
25, 25, 51, 25, 49, 50, 25, 66,
|
||||
25, 25, 25, 51, 25, 49, 50, 25,
|
||||
67, 25, 25, 25, 51, 25, 49, 50,
|
||||
25, 68, 25, 25, 25, 51, 25, 49,
|
||||
50, 25, 69, 25, 25, 25, 51, 25,
|
||||
49, 50, 25, 70, 25, 25, 25, 51,
|
||||
25, 49, 50, 25, 71, 25, 25, 25,
|
||||
51, 25, 49, 50, 25, 64, 25, 25,
|
||||
25, 51,
|
||||
}
|
||||
|
||||
var _expression_trans_targs []byte = []byte{
|
||||
11, 0, 11, 2, 3, 4, 5, 11,
|
||||
7, 8, 11, 9, 18, 11, 12, 13,
|
||||
14, 15, 16, 17, 20, 19, 22, 23,
|
||||
24, 25, 27, 29, 36, 41, 42, 44,
|
||||
45, 11, 11, 11, 1, 6, 10, 11,
|
||||
11, 11, 21, 20, 11, 11, 11, 11,
|
||||
11, 26, 11, 28, 25, 30, 31, 32,
|
||||
33, 34, 35, 25, 37, 40, 38, 39,
|
||||
25, 25, 25, 43, 25, 25, 46,
|
||||
14, 15, 16, 17, 20, 19, 23, 24,
|
||||
25, 26, 28, 30, 37, 42, 43, 45,
|
||||
46, 11, 11, 11, 1, 6, 10, 11,
|
||||
11, 21, 22, 11, 11, 11, 11, 11,
|
||||
11, 11, 27, 11, 29, 26, 31, 32,
|
||||
33, 34, 35, 36, 26, 38, 41, 39,
|
||||
40, 26, 26, 26, 44, 26, 26, 47,
|
||||
}
|
||||
|
||||
var _expression_trans_actions []byte = []byte{
|
||||
37, 0, 11, 0, 0, 0, 0, 7,
|
||||
0, 0, 9, 0, 0, 23, 0, 0,
|
||||
5, 5, 5, 5, 68, 0, 0, 0,
|
||||
0, 65, 0, 0, 0, 0, 0, 0,
|
||||
0, 33, 35, 15, 0, 0, 0, 27,
|
||||
25, 39, 0, 41, 31, 19, 13, 17,
|
||||
21, 0, 29, 0, 50, 0, 0, 0,
|
||||
0, 0, 0, 56, 0, 0, 0, 0,
|
||||
44, 59, 62, 0, 47, 53, 0,
|
||||
39, 0, 11, 0, 0, 0, 0, 7,
|
||||
0, 0, 9, 0, 0, 25, 0, 0,
|
||||
5, 5, 5, 5, 0, 0, 0, 0,
|
||||
0, 64, 0, 0, 0, 0, 0, 0,
|
||||
0, 35, 37, 15, 0, 0, 0, 29,
|
||||
27, 0, 0, 33, 23, 19, 13, 17,
|
||||
41, 21, 0, 31, 0, 49, 0, 0,
|
||||
0, 0, 0, 0, 55, 0, 0, 0,
|
||||
0, 43, 58, 61, 0, 46, 52, 0,
|
||||
}
|
||||
|
||||
var _expression_to_state_actions []byte = []byte{
|
||||
@ -162,7 +164,7 @@ var _expression_to_state_actions []byte = []byte{
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
}
|
||||
|
||||
var _expression_from_state_actions []byte = []byte{
|
||||
@ -171,16 +173,16 @@ var _expression_from_state_actions []byte = []byte{
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
}
|
||||
|
||||
var _expression_eof_trans []int16 = []int16{
|
||||
1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 0, 34, 35, 35, 35,
|
||||
35, 35, 40, 41, 42, 45, 35, 35,
|
||||
35, 42, 51, 51, 51, 51, 51, 51,
|
||||
51, 51, 51, 51, 51, 51, 51, 51,
|
||||
51, 51, 51, 51, 51, 51, 51,
|
||||
35, 35, 40, 41, 35, 44, 40, 35,
|
||||
35, 35, 49, 52, 52, 52, 52, 52,
|
||||
52, 52, 52, 52, 52, 52, 52, 52,
|
||||
52, 52, 52, 52, 52, 52, 52, 52,
|
||||
}
|
||||
|
||||
const expression_start int = 11
|
||||
@ -208,7 +210,7 @@ func newLexer(data []byte) *lexer {
|
||||
pe: len(data),
|
||||
}
|
||||
|
||||
//line scanner.go:216
|
||||
//line scanner.go:218
|
||||
{
|
||||
lex.cs = expression_start
|
||||
lex.ts = 0
|
||||
@ -224,7 +226,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
eof := lex.pe
|
||||
tok := 0
|
||||
|
||||
//line scanner.go:233
|
||||
//line scanner.go:235
|
||||
{
|
||||
var _klen int
|
||||
var _trans int
|
||||
@ -245,7 +247,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
//line NONE:1
|
||||
lex.ts = (lex.p)
|
||||
|
||||
//line scanner.go:253
|
||||
//line scanner.go:255
|
||||
}
|
||||
}
|
||||
|
||||
@ -321,36 +323,30 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
lex.te = (lex.p) + 1
|
||||
|
||||
case 3:
|
||||
//line scanner.rl:57
|
||||
lex.act = 4
|
||||
case 4:
|
||||
//line scanner.rl:38
|
||||
lex.act = 6
|
||||
case 5:
|
||||
case 4:
|
||||
//line scanner.rl:88
|
||||
lex.act = 7
|
||||
case 6:
|
||||
case 5:
|
||||
//line scanner.rl:93
|
||||
lex.act = 12
|
||||
case 7:
|
||||
case 6:
|
||||
//line scanner.rl:94
|
||||
lex.act = 13
|
||||
case 8:
|
||||
case 7:
|
||||
//line scanner.rl:95
|
||||
lex.act = 14
|
||||
case 9:
|
||||
case 8:
|
||||
//line scanner.rl:96
|
||||
lex.act = 15
|
||||
case 10:
|
||||
case 9:
|
||||
//line scanner.rl:97
|
||||
lex.act = 16
|
||||
case 11:
|
||||
case 10:
|
||||
//line scanner.rl:43
|
||||
lex.act = 18
|
||||
case 12:
|
||||
//line scanner.rl:102
|
||||
lex.act = 21
|
||||
case 13:
|
||||
case 11:
|
||||
//line scanner.rl:82
|
||||
lex.te = (lex.p) + 1
|
||||
{
|
||||
@ -358,7 +354,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
(lex.p)++
|
||||
goto _out
|
||||
}
|
||||
case 14:
|
||||
case 12:
|
||||
//line scanner.rl:83
|
||||
lex.te = (lex.p) + 1
|
||||
{
|
||||
@ -366,7 +362,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
(lex.p)++
|
||||
goto _out
|
||||
}
|
||||
case 15:
|
||||
case 13:
|
||||
//line scanner.rl:66
|
||||
lex.te = (lex.p) + 1
|
||||
{
|
||||
@ -377,7 +373,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
goto _out
|
||||
|
||||
}
|
||||
case 16:
|
||||
case 14:
|
||||
//line scanner.rl:89
|
||||
lex.te = (lex.p) + 1
|
||||
{
|
||||
@ -385,7 +381,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
(lex.p)++
|
||||
goto _out
|
||||
}
|
||||
case 17:
|
||||
case 15:
|
||||
//line scanner.rl:90
|
||||
lex.te = (lex.p) + 1
|
||||
{
|
||||
@ -393,7 +389,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
(lex.p)++
|
||||
goto _out
|
||||
}
|
||||
case 18:
|
||||
case 16:
|
||||
//line scanner.rl:91
|
||||
lex.te = (lex.p) + 1
|
||||
{
|
||||
@ -401,7 +397,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
(lex.p)++
|
||||
goto _out
|
||||
}
|
||||
case 19:
|
||||
case 17:
|
||||
//line scanner.rl:92
|
||||
lex.te = (lex.p) + 1
|
||||
{
|
||||
@ -409,7 +405,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
(lex.p)++
|
||||
goto _out
|
||||
}
|
||||
case 20:
|
||||
case 18:
|
||||
//line scanner.rl:98
|
||||
lex.te = (lex.p) + 1
|
||||
{
|
||||
@ -418,7 +414,16 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
(lex.p)++
|
||||
goto _out
|
||||
}
|
||||
case 21:
|
||||
case 19:
|
||||
//line scanner.rl:100
|
||||
lex.te = (lex.p) + 1
|
||||
{
|
||||
tok = PROPERTY
|
||||
out.name = string(lex.data[lex.ts+1 : lex.te])
|
||||
(lex.p)++
|
||||
goto _out
|
||||
}
|
||||
case 20:
|
||||
//line scanner.rl:102
|
||||
lex.te = (lex.p) + 1
|
||||
{
|
||||
@ -426,7 +431,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
(lex.p)++
|
||||
goto _out
|
||||
}
|
||||
case 22:
|
||||
case 21:
|
||||
//line scanner.rl:48
|
||||
lex.te = (lex.p)
|
||||
(lex.p)--
|
||||
@ -441,7 +446,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
goto _out
|
||||
|
||||
}
|
||||
case 23:
|
||||
case 22:
|
||||
//line scanner.rl:57
|
||||
lex.te = (lex.p)
|
||||
(lex.p)--
|
||||
@ -456,7 +461,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
goto _out
|
||||
|
||||
}
|
||||
case 24:
|
||||
case 23:
|
||||
//line scanner.rl:43
|
||||
lex.te = (lex.p)
|
||||
(lex.p)--
|
||||
@ -467,7 +472,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
goto _out
|
||||
|
||||
}
|
||||
case 25:
|
||||
case 24:
|
||||
//line scanner.rl:100
|
||||
lex.te = (lex.p)
|
||||
(lex.p)--
|
||||
@ -477,12 +482,12 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
(lex.p)++
|
||||
goto _out
|
||||
}
|
||||
case 26:
|
||||
case 25:
|
||||
//line scanner.rl:101
|
||||
lex.te = (lex.p)
|
||||
(lex.p)--
|
||||
|
||||
case 27:
|
||||
case 26:
|
||||
//line scanner.rl:102
|
||||
lex.te = (lex.p)
|
||||
(lex.p)--
|
||||
@ -491,7 +496,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
(lex.p)++
|
||||
goto _out
|
||||
}
|
||||
case 28:
|
||||
case 27:
|
||||
//line scanner.rl:102
|
||||
(lex.p) = (lex.te) - 1
|
||||
{
|
||||
@ -499,23 +504,9 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
(lex.p)++
|
||||
goto _out
|
||||
}
|
||||
case 29:
|
||||
case 28:
|
||||
//line NONE:1
|
||||
switch lex.act {
|
||||
case 4:
|
||||
{
|
||||
(lex.p) = (lex.te) - 1
|
||||
|
||||
tok = LITERAL
|
||||
n, err := strconv.ParseFloat(lex.token(), 64)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
out.val = n
|
||||
(lex.p)++
|
||||
goto _out
|
||||
|
||||
}
|
||||
case 6:
|
||||
{
|
||||
(lex.p) = (lex.te) - 1
|
||||
@ -579,16 +570,9 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
goto _out
|
||||
|
||||
}
|
||||
case 21:
|
||||
{
|
||||
(lex.p) = (lex.te) - 1
|
||||
tok = int(lex.data[lex.ts])
|
||||
(lex.p)++
|
||||
goto _out
|
||||
}
|
||||
}
|
||||
|
||||
//line scanner.go:528
|
||||
//line scanner.go:513
|
||||
}
|
||||
}
|
||||
|
||||
@ -603,7 +587,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
//line NONE:1
|
||||
lex.ts = 0
|
||||
|
||||
//line scanner.go:542
|
||||
//line scanner.go:527
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -73,7 +73,7 @@ func (lex *lexer) Lex(out *yySymType) int {
|
||||
|
||||
identifier = (alpha | '_') . (alnum | '_' | '-')* '?'? ;
|
||||
# TODO what can a property name contain?
|
||||
property = '.' (alnum | '_' | '-')+ ;
|
||||
property = '.' (alnum | '_' | '-')+ '?' ? ;
|
||||
int = '-'? digit+ ;
|
||||
float = '-'? (digit+ '.' digit* | '.' digit+) ;
|
||||
string = '"' (any - '"')* '"' | "'" (any - "'")* "'" ; # TODO escapes
|
||||
|
Loading…
Reference in New Issue
Block a user