1
0
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:
Oliver Steele 2017-07-11 11:37:20 -04:00
parent 8efaada3af
commit dbba68082c
2 changed files with 141 additions and 157 deletions

View File

@ -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
} }
} }

View File

@ -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