zclsyntax: disallow newlines in string templates

Heredocs will deal with the multiline string case once implemented.
This commit is contained in:
Martin Atkins 2017-05-28 15:35:55 -07:00
parent 18e45ec05c
commit da874ba0ff
2 changed files with 287 additions and 284 deletions

View File

@ -9,17 +9,16 @@ import (
// line 12 "scan_tokens.go"
var _zcltok_actions []byte = []byte{
0, 1, 0, 1, 1, 1, 2, 1, 5,
1, 6, 1, 7, 1, 8, 1, 9,
1, 10, 1, 11, 1, 12, 1, 13,
1, 14, 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, 1, 30, 1, 31,
1, 32, 1, 33, 1, 34, 1, 35,
1, 36, 1, 37, 1, 38, 2, 2,
3, 2, 2, 4, 2, 2, 15, 2,
2, 16,
0, 1, 0, 1, 1, 1, 2, 1, 3,
1, 4, 1, 5, 1, 6, 1, 7,
1, 8, 1, 9, 1, 10, 1, 11,
1, 12, 1, 13, 1, 14, 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,
1, 30, 1, 31, 1, 32, 1, 33,
1, 34, 1, 35, 1, 36, 1, 37,
1, 38, 2, 2, 15, 2, 2, 16,
}
var _zcltok_key_offsets []int16 = []int16{
@ -88,20 +87,20 @@ var _zcltok_key_offsets []int16 = []int16{
3215, 3217, 3219, 3221, 3226, 3239, 3243, 3258,
3287, 3298, 3300, 3304, 3308, 3313, 3317, 3319,
3326, 3330, 3338, 3342, 3343, 3345, 3347, 3349,
3350, 3351, 3422, 3423, 3424, 3425, 3426, 3431,
3432, 3433, 3476, 3477, 3478, 3480, 3485, 3489,
3489, 3491, 3493, 3504, 3514, 3522, 3523, 3525,
3526, 3530, 3534, 3544, 3548, 3555, 3566, 3573,
3577, 3583, 3594, 3626, 3675, 3690, 3705, 3710,
3712, 3717, 3749, 3757, 3759, 3781, 3803, 3805,
3819, 3833, 3846, 3855, 3867, 3879, 3893, 3894,
3895, 3897, 3899,
3351, 3353, 3424, 3425, 3426, 3427, 3428, 3433,
3434, 3435, 3478, 3479, 3480, 3482, 3487, 3491,
3491, 3493, 3495, 3506, 3516, 3524, 3525, 3527,
3528, 3532, 3536, 3546, 3550, 3557, 3568, 3575,
3579, 3585, 3596, 3628, 3677, 3692, 3707, 3712,
3714, 3719, 3751, 3759, 3761, 3783, 3805, 3807,
3823, 3839, 3854, 3863, 3877, 3891, 3907, 3908,
3909, 3910, 3911, 3913, 3915,
}
var _zcltok_trans_keys []byte = []byte{
43, 45, 48, 57, 48, 57, 170, 181,
183, 186, 128, 150, 152, 182, 184, 255,
192, 255, 128, 255, 173, 130, 133, 146,
192, 255, 0, 127, 173, 130, 133, 146,
159, 165, 171, 175, 255, 181, 190, 184,
185, 192, 255, 140, 134, 138, 142, 161,
163, 255, 182, 130, 136, 137, 176, 151,
@ -517,75 +516,77 @@ var _zcltok_trans_keys []byte = []byte{
128, 185, 187, 191, 192, 255, 162, 191,
192, 255, 160, 168, 128, 159, 161, 167,
169, 191, 158, 191, 192, 255, 123, 128,
191, 128, 191, 128, 191, 123, 123, 9,
10, 32, 33, 34, 38, 44, 60, 62,
64, 92, 95, 123, 124, 125, 126, 127,
194, 195, 198, 199, 203, 204, 205, 206,
207, 210, 212, 213, 214, 215, 216, 217,
219, 220, 221, 222, 223, 224, 225, 226,
227, 228, 233, 234, 237, 238, 239, 240,
0, 39, 40, 47, 48, 57, 58, 63,
65, 90, 91, 96, 97, 122, 192, 193,
196, 218, 229, 236, 241, 247, 9, 32,
61, 38, 46, 69, 101, 48, 57, 61,
61, 95, 194, 195, 198, 199, 203, 204,
191, 128, 191, 128, 191, 128, 191, 128,
191, 9, 10, 32, 33, 34, 38, 44,
60, 62, 64, 92, 95, 123, 124, 125,
126, 127, 194, 195, 198, 199, 203, 204,
205, 206, 207, 210, 212, 213, 214, 215,
216, 217, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 233, 234, 237, 239,
240, 243, 48, 57, 65, 90, 97, 122,
196, 218, 229, 236, 124, 125, 128, 191,
170, 181, 186, 128, 191, 151, 183, 128,
255, 192, 255, 0, 127, 173, 130, 133,
146, 159, 165, 171, 175, 191, 192, 255,
181, 190, 128, 175, 176, 183, 184, 185,
186, 191, 134, 139, 141, 162, 128, 135,
136, 255, 182, 130, 137, 176, 151, 152,
154, 160, 136, 191, 192, 255, 128, 143,
144, 170, 171, 175, 176, 178, 179, 191,
128, 159, 160, 191, 176, 128, 138, 139,
173, 174, 255, 148, 150, 164, 167, 173,
176, 185, 189, 190, 192, 255, 144, 128,
145, 146, 175, 176, 191, 128, 140, 141,
255, 166, 176, 178, 191, 192, 255, 186,
128, 137, 138, 170, 171, 179, 180, 181,
182, 191, 160, 161, 162, 164, 165, 166,
167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190,
128, 191, 128, 129, 130, 131, 137, 138,
139, 140, 141, 142, 143, 144, 153, 154,
155, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, 167, 168, 169, 170,
171, 172, 173, 174, 175, 176, 177, 178,
179, 180, 182, 183, 184, 188, 189, 190,
191, 132, 187, 129, 130, 132, 133, 134,
176, 177, 178, 179, 180, 181, 182, 183,
128, 191, 128, 129, 130, 131, 132, 133,
134, 135, 144, 136, 143, 145, 191, 192,
255, 182, 183, 184, 128, 191, 128, 191,
191, 128, 190, 192, 255, 128, 146, 147,
148, 152, 153, 154, 155, 156, 158, 159,
160, 161, 162, 163, 164, 165, 166, 167,
168, 169, 170, 171, 172, 173, 174, 175,
176, 129, 191, 192, 255, 158, 159, 128,
157, 160, 191, 192, 255, 128, 191, 164,
169, 171, 172, 173, 174, 175, 180, 181,
182, 183, 184, 185, 187, 188, 189, 190,
191, 128, 163, 165, 186, 144, 145, 146,
147, 148, 150, 151, 152, 155, 157, 158,
160, 170, 171, 172, 175, 128, 159, 161,
169, 173, 191, 128, 191, 33, 34, 36,
92, 128, 191, 192, 223, 224, 239, 240,
247, 248, 255, 33, 34, 36, 92, 128,
191, 192, 223, 224, 239, 240, 247, 248,
255, 33, 36, 92, 128, 191, 192, 223,
225, 226, 227, 228, 233, 234, 237, 238,
239, 240, 0, 39, 40, 47, 48, 57,
58, 63, 65, 90, 91, 96, 97, 122,
192, 193, 196, 218, 229, 236, 241, 247,
9, 32, 61, 38, 46, 69, 101, 48,
57, 61, 61, 95, 194, 195, 198, 199,
203, 204, 205, 206, 207, 210, 212, 213,
214, 215, 216, 217, 219, 220, 221, 222,
223, 224, 225, 226, 227, 228, 233, 234,
237, 239, 240, 243, 48, 57, 65, 90,
97, 122, 196, 218, 229, 236, 124, 125,
128, 191, 170, 181, 186, 128, 191, 151,
183, 128, 255, 192, 255, 0, 127, 173,
130, 133, 146, 159, 165, 171, 175, 191,
192, 255, 181, 190, 128, 175, 176, 183,
184, 185, 186, 191, 134, 139, 141, 162,
128, 135, 136, 255, 182, 130, 137, 176,
151, 152, 154, 160, 136, 191, 192, 255,
128, 143, 144, 170, 171, 175, 176, 178,
179, 191, 128, 159, 160, 191, 176, 128,
138, 139, 173, 174, 255, 148, 150, 164,
167, 173, 176, 185, 189, 190, 192, 255,
144, 128, 145, 146, 175, 176, 191, 128,
140, 141, 255, 166, 176, 178, 191, 192,
255, 186, 128, 137, 138, 170, 171, 179,
180, 181, 182, 191, 160, 161, 162, 164,
165, 166, 167, 168, 169, 170, 171, 172,
173, 174, 175, 176, 177, 178, 179, 180,
181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 128, 191, 128, 129, 130, 131,
137, 138, 139, 140, 141, 142, 143, 144,
153, 154, 155, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, 167, 168,
169, 170, 171, 172, 173, 174, 175, 176,
177, 178, 179, 180, 182, 183, 184, 188,
189, 190, 191, 132, 187, 129, 130, 132,
133, 134, 176, 177, 178, 179, 180, 181,
182, 183, 128, 191, 128, 129, 130, 131,
132, 133, 134, 135, 144, 136, 143, 145,
191, 192, 255, 182, 183, 184, 128, 191,
128, 191, 191, 128, 190, 192, 255, 128,
146, 147, 148, 152, 153, 154, 155, 156,
158, 159, 160, 161, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 129, 191, 192, 255, 158,
159, 128, 157, 160, 191, 192, 255, 128,
191, 164, 169, 171, 172, 173, 174, 175,
180, 181, 182, 183, 184, 185, 187, 188,
189, 190, 191, 128, 163, 165, 186, 144,
145, 146, 147, 148, 150, 151, 152, 155,
157, 158, 160, 170, 171, 172, 175, 128,
159, 161, 169, 173, 191, 128, 191, 10,
13, 33, 34, 36, 92, 128, 191, 192,
223, 224, 239, 240, 247, 248, 255, 10,
13, 33, 34, 36, 92, 128, 191, 192,
223, 224, 239, 240, 247, 248, 255, 10,
13, 33, 36, 92, 128, 191, 192, 223,
224, 239, 240, 247, 248, 255, 33, 36,
92, 192, 223, 224, 239, 240, 247, 33,
34, 36, 92, 192, 223, 224, 239, 240,
247, 248, 255, 33, 34, 36, 92, 128,
223, 224, 239, 240, 247, 248, 255, 33,
34, 36, 92, 128, 191, 192, 223, 224,
239, 240, 247, 248, 255, 126, 126, 128,
92, 192, 223, 224, 239, 240, 247, 10,
13, 33, 34, 36, 92, 192, 223, 224,
239, 240, 247, 248, 255, 10, 13, 33,
34, 36, 92, 128, 223, 224, 239, 240,
247, 248, 255, 10, 13, 33, 34, 36,
92, 128, 191, 192, 223, 224, 239, 240,
247, 248, 255, 123, 126, 123, 126, 128,
191, 128, 191, 128, 191,
}
@ -654,15 +655,15 @@ var _zcltok_single_lengths []byte = []byte{
12, 1, 4, 1, 5, 2, 0, 3,
2, 2, 2, 1, 7, 0, 7, 17,
3, 0, 2, 0, 3, 0, 0, 1,
0, 2, 0, 1, 0, 0, 0, 1,
1, 49, 1, 1, 1, 1, 3, 1,
0, 2, 0, 1, 0, 0, 0, 0,
0, 49, 1, 1, 1, 1, 3, 1,
1, 33, 1, 1, 0, 3, 2, 0,
0, 0, 1, 2, 4, 1, 0, 1,
0, 0, 0, 0, 1, 1, 1, 0,
0, 1, 30, 47, 13, 9, 3, 0,
1, 28, 2, 0, 18, 16, 0, 4,
4, 3, 3, 4, 4, 4, 1, 1,
0, 0, 0,
1, 28, 2, 0, 18, 16, 0, 6,
6, 5, 3, 6, 6, 6, 1, 1,
1, 1, 0, 0, 0,
}
var _zcltok_range_lengths []byte = []byte{
@ -730,15 +731,15 @@ var _zcltok_range_lengths []byte = []byte{
3, 0, 3, 0, 2, 3, 1, 0,
0, 0, 0, 2, 3, 2, 4, 6,
4, 1, 1, 2, 1, 2, 1, 3,
2, 3, 2, 0, 1, 1, 1, 0,
0, 11, 0, 0, 0, 0, 1, 0,
2, 3, 2, 0, 1, 1, 1, 1,
1, 11, 0, 0, 0, 0, 1, 0,
0, 5, 0, 0, 1, 1, 1, 0,
1, 1, 5, 4, 2, 0, 1, 0,
2, 2, 5, 2, 3, 5, 3, 2,
3, 5, 1, 1, 1, 3, 1, 1,
2, 2, 3, 1, 2, 3, 1, 5,
5, 5, 3, 4, 4, 5, 0, 0,
1, 1, 1,
0, 0, 1, 1, 1,
}
var _zcltok_index_offsets []int16 = []int16{
@ -813,14 +814,14 @@ var _zcltok_index_offsets []int16 = []int16{
2752, 2755, 2758, 2764, 2767, 2772, 2779, 2784,
2787, 2791, 2798, 2830, 2879, 2894, 2907, 2912,
2914, 2918, 2949, 2955, 2957, 2978, 2998, 3000,
3010, 3020, 3029, 3036, 3045, 3054, 3064, 3066,
3068, 3070, 3072,
3012, 3024, 3035, 3042, 3053, 3064, 3076, 3078,
3080, 3082, 3084, 3086, 3088,
}
var _zcltok_indicies []int16 = []int16{
1, 1, 2, 0, 2, 0, 4, 4,
4, 4, 3, 4, 4, 4, 3, 4,
3, 4, 4, 3, 3, 3, 3, 3,
3, 4, 3, 4, 3, 3, 3, 3,
3, 4, 3, 3, 3, 3, 4, 4,
4, 4, 4, 3, 3, 4, 3, 3,
4, 3, 4, 3, 3, 4, 3, 3,
@ -1140,69 +1141,71 @@ var _zcltok_indicies []int16 = []int16{
268, 10, 255, 254, 4, 255, 4, 349,
268, 256, 254, 10, 255, 254, 4, 259,
350, 256, 268, 256, 254, 255, 254, 4,
351, 352, 352, 353, 354, 353, 355, 351,
356, 352, 357, 352, 358, 359, 360, 361,
362, 363, 255, 364, 365, 255, 255, 255,
366, 367, 368, 369, 255, 372, 373, 375,
376, 377, 371, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, 399,
400, 401, 402, 403, 404, 255, 359, 2,
359, 4, 359, 4, 371, 374, 398, 405,
370, 358, 406, 360, 407, 409, 408, 410,
408, 2, 412, 412, 2, 411, 413, 408,
414, 408, 4, 416, 417, 74, 55, 418,
55, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 129, 430, 105, 431,
432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 4, 4, 4, 10, 150,
415, 443, 408, 444, 408, 255, 445, 4,
4, 4, 255, 445, 255, 255, 4, 445,
4, 445, 4, 445, 4, 255, 255, 255,
255, 255, 445, 4, 255, 255, 255, 4,
255, 4, 445, 4, 255, 255, 255, 255,
4, 445, 255, 4, 255, 4, 255, 4,
255, 255, 4, 255, 445, 4, 255, 4,
255, 4, 255, 445, 255, 4, 445, 255,
4, 255, 4, 445, 255, 255, 255, 255,
255, 445, 4, 4, 255, 4, 255, 445,
255, 4, 445, 255, 255, 445, 4, 4,
255, 4, 255, 4, 255, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455,
456, 300, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 467, 469,
470, 471, 472, 473, 256, 445, 474, 475,
476, 477, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491,
492, 310, 493, 494, 495, 277, 496, 497,
498, 499, 500, 501, 256, 502, 503, 504,
505, 506, 507, 508, 509, 259, 510, 256,
259, 511, 512, 513, 514, 268, 445, 515,
516, 517, 518, 288, 519, 520, 268, 521,
522, 523, 524, 525, 256, 445, 526, 485,
527, 528, 529, 268, 530, 531, 259, 256,
268, 10, 445, 495, 256, 259, 268, 10,
268, 10, 532, 268, 445, 10, 259, 533,
534, 259, 535, 536, 266, 537, 538, 539,
540, 541, 491, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 552, 553, 510,
554, 259, 268, 10, 445, 555, 556, 268,
256, 445, 10, 256, 445, 259, 557, 316,
558, 559, 560, 561, 562, 563, 564, 565,
256, 566, 567, 568, 569, 570, 571, 256,
268, 445, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 579, 585, 586,
587, 588, 572, 584, 572, 445, 572, 445,
589, 590, 591, 592, 593, 594, 595, 596,
593, 352, 598, 597, 598, 592, 597, 354,
355, 599, 597, 352, 600, 600, 592, 597,
354, 355, 599, 597, 352, 600, 600, 592,
601, 602, 603, 352, 598, 597, 598, 592,
354, 355, 599, 597, 352, 598, 597, 598,
592, 354, 355, 599, 597, 352, 598, 597,
598, 592, 355, 354, 355, 599, 597, 352,
605, 604, 607, 606, 352, 608, 354, 608,
355, 608,
351, 352, 352, 351, 353, 351, 354, 351,
352, 355, 356, 355, 357, 358, 359, 360,
361, 362, 255, 363, 364, 255, 255, 255,
365, 366, 367, 368, 255, 371, 372, 374,
375, 376, 370, 377, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 398,
399, 400, 401, 402, 403, 255, 358, 2,
358, 4, 358, 4, 370, 373, 397, 404,
369, 357, 405, 359, 406, 408, 407, 409,
407, 2, 411, 411, 2, 410, 412, 407,
413, 407, 4, 415, 416, 74, 55, 417,
55, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 129, 429, 105, 430,
431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 4, 4, 4, 10, 150,
414, 442, 407, 443, 407, 255, 444, 4,
4, 4, 255, 444, 255, 255, 4, 444,
4, 444, 4, 444, 4, 255, 255, 255,
255, 255, 444, 4, 255, 255, 255, 4,
255, 4, 444, 4, 255, 255, 255, 255,
4, 444, 255, 4, 255, 4, 255, 4,
255, 255, 4, 255, 444, 4, 255, 4,
255, 4, 255, 444, 255, 4, 444, 255,
4, 255, 4, 444, 255, 255, 255, 255,
255, 444, 4, 4, 255, 4, 255, 444,
255, 4, 444, 255, 255, 444, 4, 4,
255, 4, 255, 4, 255, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454,
455, 300, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 466, 468,
469, 470, 471, 472, 256, 444, 473, 474,
475, 476, 477, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 490,
491, 310, 492, 493, 494, 277, 495, 496,
497, 498, 499, 500, 256, 501, 502, 503,
504, 505, 506, 507, 508, 259, 509, 256,
259, 510, 511, 512, 513, 268, 444, 514,
515, 516, 517, 288, 518, 519, 268, 520,
521, 522, 523, 524, 256, 444, 525, 484,
526, 527, 528, 268, 529, 530, 259, 256,
268, 10, 444, 494, 256, 259, 268, 10,
268, 10, 531, 268, 444, 10, 259, 532,
533, 259, 534, 535, 266, 536, 537, 538,
539, 540, 490, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 552, 509,
553, 259, 268, 10, 444, 554, 555, 268,
256, 444, 10, 256, 444, 259, 556, 316,
557, 558, 559, 560, 561, 562, 563, 564,
256, 565, 566, 567, 568, 569, 570, 256,
268, 444, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 578, 584, 585,
586, 587, 571, 583, 571, 444, 571, 444,
588, 588, 589, 590, 591, 592, 593, 594,
595, 596, 593, 352, 597, 597, 598, 597,
598, 592, 597, 353, 354, 599, 597, 352,
597, 597, 600, 600, 592, 597, 353, 354,
599, 597, 352, 600, 600, 592, 601, 602,
603, 352, 597, 597, 598, 597, 598, 592,
353, 354, 599, 597, 352, 597, 597, 598,
597, 598, 592, 353, 354, 599, 597, 352,
597, 597, 598, 597, 598, 592, 354, 353,
354, 599, 597, 352, 605, 352, 607, 606,
608, 352, 610, 609, 352, 611, 356, 611,
612, 611,
}
var _zcltok_trans_targs []int16 = []int16{
@ -1250,43 +1253,43 @@ var _zcltok_trans_targs []int16 = []int16{
485, 486, 487, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 499, 501, 502,
503, 504, 507, 509, 510, 512, 514, 567,
568, 567, 516, 517, 574, 575, 522, 521,
523, 524, 521, 525, 527, 528, 521, 530,
521, 531, 521, 532, 533, 534, 535, 536,
537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 552,
553, 554, 555, 556, 557, 558, 559, 560,
561, 562, 563, 564, 565, 566, 521, 521,
521, 521, 521, 521, 0, 521, 521, 521,
2, 3, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 20, 22,
23, 55, 96, 111, 118, 120, 122, 142,
145, 161, 274, 521, 521, 521, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287,
288, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 312, 313,
314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 328, 329, 330,
332, 333, 334, 335, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, 347, 348,
349, 350, 351, 352, 353, 354, 355, 357,
358, 359, 360, 361, 362, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373,
374, 376, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 442, 467,
470, 471, 473, 480, 481, 484, 488, 500,
505, 506, 508, 511, 513, 519, 567, 520,
569, 567, 576, 577, 578, 567, 515, 518,
570, 571, 572, 573, 567, 567, 567, 567,
567,
568, 516, 517, 567, 519, 522, 521, 523,
524, 521, 525, 527, 528, 521, 530, 521,
531, 521, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 552, 553,
554, 555, 556, 557, 558, 559, 560, 561,
562, 563, 564, 565, 566, 521, 521, 521,
521, 521, 521, 0, 521, 521, 521, 2,
3, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 18, 20, 22, 23,
55, 96, 111, 118, 120, 122, 142, 145,
161, 274, 521, 521, 521, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288,
290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 328, 329, 330, 332,
333, 334, 335, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, 347, 348, 349,
350, 351, 352, 353, 354, 355, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374,
376, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 442, 467, 470,
471, 473, 480, 481, 484, 488, 500, 505,
506, 508, 511, 513, 567, 574, 567, 576,
569, 567, 578, 579, 580, 567, 515, 518,
570, 571, 572, 573, 567, 575, 567, 567,
577, 567, 567, 567, 520,
}
var _zcltok_trans_actions []byte = []byte{
63, 0, 5, 65, 77, 69, 0, 0,
67, 0, 5, 69, 75, 73, 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,
@ -1317,7 +1320,7 @@ var _zcltok_trans_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, 67, 47,
0, 0, 0, 0, 0, 0, 71, 51,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@ -1329,19 +1332,19 @@ var _zcltok_trans_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, 23,
71, 25, 0, 0, 0, 0, 0, 37,
0, 0, 45, 0, 0, 0, 39, 0,
41, 0, 49, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 27,
5, 0, 0, 29, 0, 0, 41, 0,
0, 49, 0, 0, 0, 43, 0, 45,
0, 53, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 5, 5, 5, 80, 80, 80, 80,
80, 80, 5, 5, 80, 5, 59, 51,
57, 27, 33, 53, 0, 31, 29, 55,
5, 5, 5, 78, 78, 78, 78, 78,
78, 5, 5, 78, 5, 63, 55, 61,
31, 37, 57, 0, 35, 33, 59, 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, 35, 43, 61, 0, 0,
0, 0, 39, 47, 65, 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,
@ -1359,10 +1362,10 @@ var _zcltok_trans_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, 11, 0,
71, 13, 0, 74, 74, 19, 0, 0,
0, 71, 71, 71, 17, 9, 15, 7,
21,
0, 0, 0, 0, 13, 0, 11, 0,
5, 15, 0, 5, 5, 21, 0, 0,
0, 5, 5, 5, 23, 0, 19, 9,
0, 17, 7, 25, 0,
}
var _zcltok_to_state_actions []byte = []byte{
@ -1438,7 +1441,7 @@ var _zcltok_to_state_actions []byte = []byte{
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0,
0, 0, 0, 0, 0,
}
var _zcltok_from_state_actions []byte = []byte{
@ -1514,7 +1517,7 @@ var _zcltok_from_state_actions []byte = []byte{
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0,
0, 0, 0, 0, 0,
}
var _zcltok_eof_trans []int16 = []int16{
@ -1582,15 +1585,15 @@ var _zcltok_eof_trans []int16 = []int16{
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 352, 354, 354, 352, 0,
0, 0, 407, 408, 409, 409, 412, 409,
409, 416, 409, 409, 446, 446, 446, 446,
446, 446, 446, 446, 446, 446, 446, 446,
446, 446, 446, 446, 446, 446, 446, 446,
446, 446, 446, 446, 446, 446, 446, 446,
446, 446, 446, 446, 446, 446, 446, 0,
255, 255, 255, 352, 352, 352, 352, 356,
356, 0, 406, 407, 408, 408, 411, 408,
408, 415, 408, 408, 445, 445, 445, 445,
445, 445, 445, 445, 445, 445, 445, 445,
445, 445, 445, 445, 445, 445, 445, 445,
445, 445, 445, 445, 445, 445, 445, 445,
445, 445, 445, 445, 445, 445, 445, 0,
598, 598, 598, 598, 598, 598, 605, 607,
609, 609, 609,
605, 610, 612, 612, 612,
}
const zcltok_start int = 521
@ -1609,7 +1612,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
Pos: start,
}
// line 154 "scan_tokens.rl"
// line 156 "scan_tokens.rl"
// Ragel state
cs := 0 // Current State
@ -1625,7 +1628,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
braces := 0
var retBraces []int // stack of brace levels that cause us to use fret
// line 177 "scan_tokens.rl"
// line 179 "scan_tokens.rl"
// Make Go compiler happy
_ = ts
@ -1645,7 +1648,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
f.emitToken(TokenType(b[0]), ts, te)
}
// line 1657 "scan_tokens.go"
// line 1660 "scan_tokens.go"
{
cs = zcltok_start
top = 0
@ -1654,7 +1657,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
act = 0
}
// line 1666 "scan_tokens.go"
// line 1669 "scan_tokens.go"
{
var _klen int
var _trans int
@ -1676,7 +1679,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
ts = p
// line 1687 "scan_tokens.go"
// line 1690 "scan_tokens.go"
}
}
@ -1753,14 +1756,6 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
te = p + 1
case 3:
// line 126 "scan_tokens.rl"
act = 4
case 4:
// line 127 "scan_tokens.rl"
act = 5
case 5:
// line 67 "scan_tokens.rl"
te = p + 1
@ -1776,7 +1771,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
goto _again
}
}
case 6:
case 4:
// line 74 "scan_tokens.rl"
te = p + 1
@ -1792,7 +1787,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
goto _again
}
}
case 7:
case 5:
// line 62 "scan_tokens.rl"
te = p + 1
@ -1806,14 +1801,21 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
goto _again
}
case 8:
// line 127 "scan_tokens.rl"
case 6:
// line 128 "scan_tokens.rl"
te = p + 1
{
token(TokenInvalid)
}
case 7:
// line 129 "scan_tokens.rl"
te = p + 1
{
token(TokenBadUTF8)
}
case 9:
case 8:
// line 67 "scan_tokens.rl"
te = p
@ -1830,7 +1832,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
goto _again
}
}
case 10:
case 9:
// line 74 "scan_tokens.rl"
te = p
@ -1847,16 +1849,24 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
goto _again
}
}
case 11:
// line 126 "scan_tokens.rl"
case 10:
// line 127 "scan_tokens.rl"
te = p
p--
{
token(TokenStringLit)
}
case 11:
// line 128 "scan_tokens.rl"
te = p
p--
{
token(TokenInvalid)
}
case 12:
// line 127 "scan_tokens.rl"
// line 129 "scan_tokens.rl"
te = p
p--
@ -1864,73 +1874,64 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
token(TokenBadUTF8)
}
case 13:
// line 126 "scan_tokens.rl"
// line 127 "scan_tokens.rl"
p = (te) - 1
{
token(TokenStringLit)
}
case 14:
// line 1 "NONE"
// line 129 "scan_tokens.rl"
switch act {
case 4:
{
p = (te) - 1
token(TokenStringLit)
}
case 5:
{
p = (te) - 1
token(TokenBadUTF8)
}
p = (te) - 1
{
token(TokenBadUTF8)
}
case 15:
// line 133 "scan_tokens.rl"
act = 8
case 16:
// line 151 "scan_tokens.rl"
act = 21
case 17:
// line 135 "scan_tokens.rl"
act = 9
case 16:
// line 153 "scan_tokens.rl"
act = 22
case 17:
// line 137 "scan_tokens.rl"
te = p + 1
{
token(TokenNotEqual)
}
case 18:
// line 136 "scan_tokens.rl"
// line 138 "scan_tokens.rl"
te = p + 1
{
token(TokenGreaterThanEq)
}
case 19:
// line 137 "scan_tokens.rl"
// line 139 "scan_tokens.rl"
te = p + 1
{
token(TokenLessThanEq)
}
case 20:
// line 138 "scan_tokens.rl"
// line 140 "scan_tokens.rl"
te = p + 1
{
token(TokenAnd)
}
case 21:
// line 139 "scan_tokens.rl"
// line 141 "scan_tokens.rl"
te = p + 1
{
token(TokenOr)
}
case 22:
// line 140 "scan_tokens.rl"
// line 142 "scan_tokens.rl"
te = p + 1
{
@ -2003,27 +2004,27 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
}
}
case 27:
// line 150 "scan_tokens.rl"
// line 152 "scan_tokens.rl"
te = p + 1
{
token(TokenInvalid)
}
case 28:
// line 151 "scan_tokens.rl"
// line 153 "scan_tokens.rl"
te = p + 1
{
token(TokenBadUTF8)
}
case 29:
// line 131 "scan_tokens.rl"
// line 133 "scan_tokens.rl"
te = p
p--
case 30:
// line 132 "scan_tokens.rl"
// line 134 "scan_tokens.rl"
te = p
p--
@ -2031,7 +2032,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
token(TokenNumberLit)
}
case 31:
// line 133 "scan_tokens.rl"
// line 135 "scan_tokens.rl"
te = p
p--
@ -2039,7 +2040,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
token(TokenIdent)
}
case 32:
// line 140 "scan_tokens.rl"
// line 142 "scan_tokens.rl"
te = p
p--
@ -2047,7 +2048,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
selfToken()
}
case 33:
// line 149 "scan_tokens.rl"
// line 151 "scan_tokens.rl"
te = p
p--
@ -2055,7 +2056,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
token(TokenTabs)
}
case 34:
// line 151 "scan_tokens.rl"
// line 153 "scan_tokens.rl"
te = p
p--
@ -2063,21 +2064,21 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
token(TokenBadUTF8)
}
case 35:
// line 132 "scan_tokens.rl"
// line 134 "scan_tokens.rl"
p = (te) - 1
{
token(TokenNumberLit)
}
case 36:
// line 133 "scan_tokens.rl"
// line 135 "scan_tokens.rl"
p = (te) - 1
{
token(TokenIdent)
}
case 37:
// line 151 "scan_tokens.rl"
// line 153 "scan_tokens.rl"
p = (te) - 1
{
@ -2087,19 +2088,19 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
// line 1 "NONE"
switch act {
case 8:
case 9:
{
p = (te) - 1
token(TokenIdent)
}
case 21:
case 22:
{
p = (te) - 1
token(TokenBadUTF8)
}
}
// line 2043 "scan_tokens.go"
// line 2042 "scan_tokens.go"
}
}
@ -2115,7 +2116,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
ts = 0
// line 2058 "scan_tokens.go"
// line 2057 "scan_tokens.go"
}
}
@ -2135,7 +2136,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
}
// line 200 "scan_tokens.rl"
// line 202 "scan_tokens.rl"
// If we fall out here without being in a final state then we've
// encountered something that the scanner can't match, which we'll

View File

@ -112,11 +112,12 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
TemplateInterp = "${" ("~")?;
TemplateControl = "!{" ("~")?;
EndStringTmpl = '"';
StringLiteralChars = (AnyUTF8 - ("\r"|"\n"));
TemplateStringLiteral = (
('$' ^'{') |
('!' ^'{') |
('\\' AnyUTF8) |
(AnyUTF8 - ("$" | "!" | '"'))
('\\' StringLiteralChars) |
(StringLiteralChars - ("$" | "!" | '"'))
)+;
stringTemplate := |*
@ -124,6 +125,7 @@ func scanTokens(data []byte, filename string, start zcl.Pos) []Token {
TemplateControl => beginTemplateControl;
EndStringTmpl => endStringTemplate;
TemplateStringLiteral => { token(TokenStringLit); };
AnyUTF8 => { token(TokenInvalid); };
BrokenUTF8 => { token(TokenBadUTF8); };
*|;