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