Support trailing comma in array (#1128)

This commit is contained in:
hirosan
2025-05-04 06:34:15 +09:00
committed by GitHub
parent afbd71b868
commit 4ff25bbe59
3 changed files with 251 additions and 238 deletions

View File

@ -263,9 +263,9 @@ class TemplateParser
const TP_ARRAYOPEN = 57;
const TP_QUOTE = 58;
const TP_BACKTICK = 59;
const YY_NO_ACTION = 541;
const YY_ACCEPT_ACTION = 540;
const YY_ERROR_ACTION = 539;
const YY_NO_ACTION = 542;
const YY_ACCEPT_ACTION = 541;
const YY_ERROR_ACTION = 540;
const YY_SZ_ACTTAB = 2565;
public static $yy_action = array(
@ -286,7 +286,7 @@ public static $yy_action = array(
278, 226, 302, 282, 200, 203, 446, 53, 4, 115,
302, 47, 22, 285, 41, 5, 54, 247, 248, 249,
1, 139, 137, 267, 202, 141, 6, 87, 14, 222,
540, 99, 112, 151, 15, 446, 217, 261, 218, 314,
541, 99, 112, 151, 15, 446, 217, 261, 218, 314,
224, 216, 21, 256, 233, 44, 9, 446, 45, 46,
278, 226, 325, 282, 268, 203, 53, 53, 4, 302,
302, 152, 257, 361, 320, 5, 54, 247, 248, 249,
@ -338,194 +338,194 @@ public static $yy_action = array(
288, 362, 216, 327, 200, 114, 396, 362, 201, 119,
72, 336, 396, 37, 259, 101, 393, 19, 273, 274,
154, 258, 228, 339, 94, 281, 204, 283, 393, 289,
256, 300, 298, 301, 393, 38, 313, 288, 313, 216,
313, 313, 114, 207, 319, 201, 119, 72, 313, 313,
313, 313, 101, 221, 184, 273, 274, 156, 313, 313,
313, 95, 281, 204, 283, 313, 289, 256, 300, 298,
301, 313, 313, 313, 288, 313, 216, 313, 313, 108,
206, 319, 201, 122, 51, 313, 120, 313, 313, 101,
313, 184, 273, 274, 313, 313, 313, 313, 313, 281,
204, 283, 313, 289, 313, 300, 298, 301, 288, 313,
216, 313, 313, 114, 313, 313, 201, 122, 67, 313,
313, 313, 313, 101, 313, 313, 273, 274, 313, 313,
313, 313, 313, 281, 204, 283, 313, 289, 313, 300,
298, 301, 288, 313, 216, 313, 313, 114, 212, 313,
201, 122, 67, 313, 313, 313, 313, 101, 313, 313,
273, 274, 313, 313, 313, 313, 313, 281, 204, 283,
313, 289, 313, 300, 298, 301, 288, 313, 216, 313,
313, 114, 205, 313, 201, 119, 72, 313, 313, 313,
313, 101, 313, 313, 273, 274, 313, 313, 313, 313,
313, 281, 204, 283, 313, 289, 313, 300, 298, 301,
313, 313, 313, 288, 313, 216, 313, 313, 114, 313,
318, 201, 122, 78, 313, 313, 313, 313, 101, 313,
482, 273, 274, 482, 313, 313, 313, 482, 281, 204,
283, 313, 289, 209, 211, 298, 301, 288, 313, 216,
313, 313, 108, 313, 313, 201, 122, 58, 313, 238,
313, 313, 101, 313, 313, 273, 274, 313, 313, 482,
313, 313, 281, 204, 283, 313, 289, 313, 300, 298,
301, 288, 313, 216, 313, 313, 114, 313, 313, 201,
118, 64, 313, 313, 313, 313, 101, 313, 313, 273,
274, 313, 313, 313, 313, 313, 281, 204, 283, 313,
289, 313, 300, 298, 301, 288, 313, 216, 313, 313,
114, 313, 313, 196, 117, 59, 313, 313, 313, 313,
101, 313, 313, 273, 274, 313, 313, 313, 313, 313,
281, 204, 283, 313, 289, 313, 300, 298, 301, 288,
313, 216, 313, 313, 114, 313, 313, 201, 104, 84,
313, 313, 313, 313, 101, 313, 313, 273, 274, 313,
313, 313, 313, 313, 281, 204, 283, 313, 289, 313,
300, 298, 301, 288, 313, 216, 313, 313, 114, 313,
313, 201, 105, 83, 313, 313, 313, 313, 101, 313,
313, 273, 274, 313, 313, 313, 313, 313, 281, 204,
283, 313, 289, 313, 300, 298, 301, 288, 313, 216,
313, 313, 114, 313, 313, 201, 122, 55, 313, 313,
313, 313, 101, 313, 313, 273, 274, 313, 313, 313,
313, 313, 281, 204, 283, 313, 289, 313, 300, 298,
301, 288, 313, 216, 313, 313, 114, 313, 313, 201,
122, 66, 313, 313, 313, 313, 101, 313, 313, 273,
274, 313, 313, 313, 313, 313, 281, 204, 283, 313,
289, 313, 300, 298, 301, 288, 313, 216, 313, 313,
114, 313, 313, 201, 104, 56, 313, 313, 313, 313,
101, 313, 313, 273, 274, 313, 313, 313, 313, 313,
281, 204, 283, 313, 289, 313, 300, 298, 301, 288,
313, 216, 313, 313, 114, 313, 313, 201, 122, 65,
313, 313, 313, 313, 101, 313, 313, 273, 274, 313,
313, 313, 313, 313, 281, 204, 283, 313, 289, 313,
300, 298, 301, 288, 313, 216, 313, 313, 114, 313,
313, 201, 122, 57, 313, 313, 313, 313, 101, 313,
313, 273, 274, 313, 313, 313, 313, 313, 281, 204,
283, 313, 289, 313, 300, 298, 301, 288, 313, 216,
313, 313, 114, 313, 313, 201, 122, 58, 313, 313,
313, 313, 101, 313, 313, 273, 274, 313, 313, 313,
313, 313, 281, 204, 283, 313, 289, 313, 300, 298,
301, 288, 313, 216, 313, 313, 114, 313, 313, 201,
122, 68, 313, 313, 313, 313, 101, 313, 313, 273,
274, 313, 313, 313, 313, 313, 281, 204, 283, 313,
289, 313, 300, 298, 301, 288, 313, 216, 313, 313,
114, 313, 313, 201, 122, 69, 313, 313, 313, 313,
101, 313, 313, 273, 274, 313, 313, 313, 313, 313,
281, 204, 283, 313, 289, 313, 300, 298, 301, 288,
313, 216, 313, 313, 114, 313, 313, 201, 122, 70,
313, 313, 313, 313, 101, 313, 313, 273, 274, 313,
313, 313, 313, 313, 281, 204, 283, 313, 289, 313,
300, 298, 301, 288, 313, 216, 313, 313, 114, 313,
313, 201, 122, 71, 313, 313, 313, 313, 101, 313,
313, 273, 274, 313, 313, 313, 313, 313, 281, 204,
283, 313, 289, 313, 300, 298, 301, 288, 313, 216,
313, 313, 114, 313, 313, 201, 122, 73, 313, 313,
313, 313, 101, 313, 313, 273, 274, 313, 313, 313,
313, 313, 281, 204, 283, 313, 289, 313, 300, 298,
301, 288, 313, 216, 313, 313, 114, 313, 313, 195,
122, 61, 313, 313, 313, 313, 101, 313, 313, 273,
274, 313, 313, 313, 313, 313, 281, 204, 283, 313,
289, 313, 300, 298, 301, 288, 313, 216, 313, 313,
114, 313, 313, 201, 122, 62, 313, 313, 313, 313,
101, 313, 313, 273, 274, 313, 313, 313, 313, 313,
281, 204, 283, 313, 289, 313, 300, 298, 301, 288,
313, 216, 313, 313, 114, 313, 313, 201, 122, 63,
313, 313, 313, 313, 101, 313, 313, 273, 274, 313,
313, 313, 313, 313, 281, 204, 283, 313, 289, 313,
300, 298, 301, 288, 313, 216, 313, 313, 114, 313,
313, 201, 122, 74, 313, 313, 313, 313, 101, 313,
313, 273, 274, 313, 313, 313, 313, 313, 281, 204,
283, 313, 289, 313, 300, 298, 301, 288, 313, 216,
313, 313, 114, 313, 313, 201, 122, 75, 313, 313,
313, 313, 101, 313, 313, 273, 274, 313, 313, 313,
313, 313, 281, 204, 283, 313, 289, 313, 300, 298,
301, 288, 313, 216, 313, 313, 114, 313, 313, 201,
122, 76, 313, 313, 313, 313, 101, 313, 313, 273,
274, 313, 313, 313, 313, 313, 281, 204, 283, 313,
289, 313, 300, 298, 301, 288, 313, 216, 313, 313,
114, 313, 313, 201, 122, 77, 313, 313, 313, 313,
101, 313, 313, 273, 274, 313, 313, 313, 313, 313,
281, 204, 283, 313, 289, 313, 300, 298, 301, 288,
313, 216, 313, 313, 114, 313, 313, 201, 122, 79,
313, 313, 313, 313, 101, 313, 313, 273, 274, 313,
313, 313, 313, 313, 281, 204, 283, 313, 289, 313,
210, 298, 301, 288, 313, 216, 313, 313, 114, 313,
313, 201, 122, 80, 313, 313, 313, 313, 101, 313,
313, 273, 274, 313, 313, 313, 313, 313, 281, 204,
283, 313, 289, 313, 300, 298, 301, 288, 313, 216,
313, 313, 114, 313, 313, 201, 122, 81, 313, 313,
313, 313, 101, 313, 313, 273, 274, 313, 313, 313,
313, 313, 281, 204, 283, 313, 289, 313, 300, 298,
301, 288, 313, 216, 313, 313, 114, 313, 313, 201,
122, 82, 313, 313, 313, 313, 101, 313, 313, 273,
274, 313, 313, 313, 313, 313, 281, 204, 283, 313,
289, 313, 300, 298, 301, 288, 313, 216, 313, 313,
114, 313, 313, 201, 122, 50, 313, 313, 313, 313,
101, 313, 313, 273, 274, 313, 313, 313, 313, 313,
281, 204, 283, 313, 289, 313, 300, 298, 301, 288,
313, 216, 313, 313, 114, 313, 313, 201, 122, 52,
313, 313, 313, 313, 101, 313, 313, 273, 274, 313,
313, 313, 313, 313, 281, 204, 283, 313, 289, 313,
300, 298, 301, 288, 313, 216, 168, 313, 114, 313,
313, 201, 134, 313, 313, 313, 256, 313, 101, 47,
22, 285, 41, 313, 313, 313, 313, 333, 281, 204,
283, 313, 289, 313, 300, 298, 301, 288, 313, 216,
145, 313, 114, 313, 313, 201, 128, 313, 313, 313,
256, 313, 101, 47, 22, 285, 41, 313, 313, 313,
313, 287, 281, 204, 283, 315, 289, 313, 300, 298,
301, 247, 248, 249, 2, 313, 313, 313, 313, 313,
6, 87, 259, 313, 313, 19, 112, 313, 14, 258,
217, 261, 218, 313, 15, 39, 313, 14, 14, 42,
43, 286, 12, 15, 15, 313, 313, 313, 42, 43,
286, 12, 313, 313, 313, 313, 293, 294, 295, 296,
308, 27, 313, 313, 315, 293, 294, 295, 296, 313,
247, 248, 249, 2, 313, 313, 313, 110, 313, 6,
87, 313, 313, 313, 313, 112, 313, 313, 148, 217,
261, 218, 313, 42, 43, 286, 12, 313, 42, 43,
286, 12, 313, 313, 313, 313, 313, 313, 313, 313,
293, 294, 295, 296, 313, 293, 294, 295, 296, 309,
27, 313, 313, 240, 241, 242, 133, 223, 313, 247,
248, 249, 1, 313, 482, 313, 313, 482, 6, 87,
3, 482, 466, 313, 112, 313, 276, 313, 217, 261,
218, 288, 313, 216, 313, 313, 114, 313, 313, 201,
132, 313, 313, 313, 313, 313, 101, 313, 466, 313,
313, 466, 313, 482, 313, 466, 281, 204, 283, 313,
289, 313, 300, 298, 301, 313, 288, 313, 216, 313,
200, 114, 313, 313, 201, 123, 313, 313, 313, 313,
313, 101, 365, 313, 313, 313, 230, 313, 313, 313,
313, 281, 204, 283, 14, 289, 313, 300, 298, 301,
15, 313, 288, 446, 216, 313, 169, 114, 313, 313,
201, 124, 313, 313, 313, 446, 256, 101, 313, 47,
22, 285, 41, 313, 313, 313, 313, 281, 204, 283,
313, 289, 313, 300, 298, 301, 313, 288, 313, 216,
313, 313, 114, 313, 313, 201, 125, 313, 313, 313,
313, 313, 101, 313, 313, 313, 313, 313, 313, 313,
313, 313, 281, 204, 283, 313, 289, 313, 300, 298,
301, 313, 313, 288, 313, 216, 313, 313, 114, 313,
313, 201, 126, 313, 313, 313, 313, 313, 101, 313,
313, 313, 313, 313, 313, 313, 313, 313, 281, 204,
283, 313, 289, 313, 300, 298, 301, 313, 288, 313,
216, 313, 313, 114, 313, 313, 201, 127, 313, 313,
313, 313, 313, 101, 313, 313, 313, 313, 313, 313,
313, 313, 313, 281, 204, 283, 313, 289, 313, 300,
298, 301, 313, 313, 288, 313, 216, 223, 313, 114,
313, 313, 201, 131, 482, 313, 313, 482, 313, 101,
313, 482, 466, 313, 313, 313, 276, 313, 313, 281,
204, 283, 313, 289, 313, 300, 298, 301, 313, 313,
409, 313, 313, 313, 313, 313, 313, 313, 466, 313,
313, 466, 313, 482, 223, 466, 292, 313, 313, 313,
313, 482, 313, 313, 482, 313, 313, 36, 482, 466,
313, 223, 446, 276, 409, 409, 409, 409, 482, 313,
313, 482, 313, 313, 446, 482, 466, 313, 313, 30,
276, 409, 409, 409, 409, 466, 482, 313, 466, 482,
482, 313, 466, 482, 466, 313, 313, 313, 276, 313,
313, 313, 466, 313, 313, 466, 332, 482, 313, 466,
313, 313, 313, 313, 313, 331, 42, 43, 286, 12,
466, 313, 313, 466, 313, 482, 313, 466, 313, 42,
43, 286, 12, 293, 294, 295, 296, 307, 313, 42,
43, 286, 12, 185, 313, 313, 293, 294, 295, 296,
186, 313, 313, 313, 322, 313, 293, 294, 295, 296,
42, 43, 286, 12, 31, 313, 42, 43, 286, 12,
313, 334, 313, 42, 43, 286, 12, 293, 294, 295,
296, 313, 313, 293, 294, 295, 296, 313, 313, 313,
256, 300, 298, 301, 393, 38, 314, 288, 314, 216,
314, 314, 114, 207, 319, 201, 119, 72, 314, 314,
314, 314, 101, 221, 184, 273, 274, 156, 314, 314,
314, 95, 281, 204, 283, 314, 289, 256, 300, 298,
301, 314, 314, 314, 288, 314, 216, 314, 314, 108,
206, 319, 201, 122, 51, 314, 120, 314, 314, 101,
314, 184, 273, 274, 314, 314, 314, 314, 314, 281,
204, 283, 314, 289, 314, 300, 298, 301, 288, 314,
216, 314, 314, 114, 314, 314, 201, 122, 67, 314,
314, 314, 314, 101, 314, 314, 273, 274, 314, 314,
314, 314, 314, 281, 204, 283, 314, 289, 314, 300,
298, 301, 288, 314, 216, 314, 314, 114, 212, 314,
201, 122, 67, 314, 314, 314, 314, 101, 314, 314,
273, 274, 314, 314, 314, 314, 314, 281, 204, 283,
314, 289, 314, 300, 298, 301, 288, 314, 216, 314,
314, 114, 205, 314, 201, 119, 72, 314, 314, 314,
314, 101, 314, 314, 273, 274, 314, 314, 314, 314,
314, 281, 204, 283, 314, 289, 314, 300, 298, 301,
314, 314, 314, 288, 314, 216, 314, 314, 114, 314,
318, 201, 122, 78, 314, 314, 314, 314, 101, 314,
482, 273, 274, 482, 314, 314, 314, 482, 281, 204,
283, 314, 289, 209, 211, 298, 301, 288, 314, 216,
314, 314, 108, 314, 314, 201, 122, 58, 314, 238,
314, 314, 101, 314, 314, 273, 274, 314, 314, 482,
314, 314, 281, 204, 283, 314, 289, 314, 300, 298,
301, 288, 314, 216, 314, 314, 114, 314, 314, 201,
118, 64, 314, 314, 314, 314, 101, 314, 314, 273,
274, 314, 314, 314, 314, 314, 281, 204, 283, 314,
289, 314, 300, 298, 301, 288, 314, 216, 314, 314,
114, 314, 314, 196, 117, 59, 314, 314, 314, 314,
101, 314, 314, 273, 274, 314, 314, 314, 314, 314,
281, 204, 283, 314, 289, 314, 300, 298, 301, 288,
314, 216, 314, 314, 114, 314, 314, 201, 104, 84,
314, 314, 314, 314, 101, 314, 314, 273, 274, 314,
314, 314, 314, 314, 281, 204, 283, 314, 289, 314,
300, 298, 301, 288, 314, 216, 314, 314, 114, 314,
314, 201, 105, 83, 314, 314, 314, 314, 101, 314,
314, 273, 274, 314, 314, 314, 314, 314, 281, 204,
283, 314, 289, 314, 300, 298, 301, 288, 314, 216,
314, 314, 114, 314, 314, 201, 122, 55, 314, 314,
314, 314, 101, 314, 314, 273, 274, 314, 314, 314,
314, 314, 281, 204, 283, 314, 289, 314, 300, 298,
301, 288, 314, 216, 314, 314, 114, 314, 314, 201,
122, 66, 314, 314, 314, 314, 101, 314, 314, 273,
274, 314, 314, 314, 314, 314, 281, 204, 283, 314,
289, 314, 300, 298, 301, 288, 314, 216, 314, 314,
114, 314, 314, 201, 104, 56, 314, 314, 314, 314,
101, 314, 314, 273, 274, 314, 314, 314, 314, 314,
281, 204, 283, 314, 289, 314, 300, 298, 301, 288,
314, 216, 314, 314, 114, 314, 314, 201, 122, 65,
314, 314, 314, 314, 101, 314, 314, 273, 274, 314,
314, 314, 314, 314, 281, 204, 283, 314, 289, 314,
300, 298, 301, 288, 314, 216, 314, 314, 114, 314,
314, 201, 122, 57, 314, 314, 314, 314, 101, 314,
314, 273, 274, 314, 314, 314, 314, 314, 281, 204,
283, 314, 289, 314, 300, 298, 301, 288, 314, 216,
314, 314, 114, 314, 314, 201, 122, 58, 314, 314,
314, 314, 101, 314, 314, 273, 274, 314, 314, 314,
314, 314, 281, 204, 283, 314, 289, 314, 300, 298,
301, 288, 314, 216, 314, 314, 114, 314, 314, 201,
122, 68, 314, 314, 314, 314, 101, 314, 314, 273,
274, 314, 314, 314, 314, 314, 281, 204, 283, 314,
289, 314, 300, 298, 301, 288, 314, 216, 314, 314,
114, 314, 314, 201, 122, 69, 314, 314, 314, 314,
101, 314, 314, 273, 274, 314, 314, 314, 314, 314,
281, 204, 283, 314, 289, 314, 300, 298, 301, 288,
314, 216, 314, 314, 114, 314, 314, 201, 122, 70,
314, 314, 314, 314, 101, 314, 314, 273, 274, 314,
314, 314, 314, 314, 281, 204, 283, 314, 289, 314,
300, 298, 301, 288, 314, 216, 314, 314, 114, 314,
314, 201, 122, 71, 314, 314, 314, 314, 101, 314,
314, 273, 274, 314, 314, 314, 314, 314, 281, 204,
283, 314, 289, 314, 300, 298, 301, 288, 314, 216,
314, 314, 114, 314, 314, 201, 122, 73, 314, 314,
314, 314, 101, 314, 314, 273, 274, 314, 314, 314,
314, 314, 281, 204, 283, 314, 289, 314, 300, 298,
301, 288, 314, 216, 314, 314, 114, 314, 314, 195,
122, 61, 314, 314, 314, 314, 101, 314, 314, 273,
274, 314, 314, 314, 314, 314, 281, 204, 283, 314,
289, 314, 300, 298, 301, 288, 314, 216, 314, 314,
114, 314, 314, 201, 122, 62, 314, 314, 314, 314,
101, 314, 314, 273, 274, 314, 314, 314, 314, 314,
281, 204, 283, 314, 289, 314, 300, 298, 301, 288,
314, 216, 314, 314, 114, 314, 314, 201, 122, 63,
314, 314, 314, 314, 101, 314, 314, 273, 274, 314,
314, 314, 314, 314, 281, 204, 283, 314, 289, 314,
300, 298, 301, 288, 314, 216, 314, 314, 114, 314,
314, 201, 122, 74, 314, 314, 314, 314, 101, 314,
314, 273, 274, 314, 314, 314, 314, 314, 281, 204,
283, 314, 289, 314, 300, 298, 301, 288, 314, 216,
314, 314, 114, 314, 314, 201, 122, 75, 314, 314,
314, 314, 101, 314, 314, 273, 274, 314, 314, 314,
314, 314, 281, 204, 283, 314, 289, 314, 300, 298,
301, 288, 314, 216, 314, 314, 114, 314, 314, 201,
122, 76, 314, 314, 314, 314, 101, 314, 314, 273,
274, 314, 314, 314, 314, 314, 281, 204, 283, 314,
289, 314, 300, 298, 301, 288, 314, 216, 314, 314,
114, 314, 314, 201, 122, 77, 314, 314, 314, 314,
101, 314, 314, 273, 274, 314, 314, 314, 314, 314,
281, 204, 283, 314, 289, 314, 300, 298, 301, 288,
314, 216, 314, 314, 114, 314, 314, 201, 122, 79,
314, 314, 314, 314, 101, 314, 314, 273, 274, 314,
314, 314, 314, 314, 281, 204, 283, 314, 289, 314,
210, 298, 301, 288, 314, 216, 314, 314, 114, 314,
314, 201, 122, 80, 314, 314, 314, 314, 101, 314,
314, 273, 274, 314, 314, 314, 314, 314, 281, 204,
283, 314, 289, 314, 300, 298, 301, 288, 314, 216,
314, 314, 114, 314, 314, 201, 122, 81, 314, 314,
314, 314, 101, 314, 314, 273, 274, 314, 314, 314,
314, 314, 281, 204, 283, 314, 289, 314, 300, 298,
301, 288, 314, 216, 314, 314, 114, 314, 314, 201,
122, 82, 314, 314, 314, 314, 101, 314, 314, 273,
274, 314, 314, 314, 314, 314, 281, 204, 283, 314,
289, 314, 300, 298, 301, 288, 314, 216, 314, 314,
114, 314, 314, 201, 122, 50, 314, 314, 314, 314,
101, 314, 314, 273, 274, 314, 314, 314, 314, 314,
281, 204, 283, 314, 289, 314, 300, 298, 301, 288,
314, 216, 314, 314, 114, 314, 314, 201, 122, 52,
314, 314, 314, 314, 101, 314, 314, 273, 274, 314,
314, 314, 314, 314, 281, 204, 283, 314, 289, 314,
300, 298, 301, 288, 314, 216, 168, 314, 114, 314,
314, 201, 134, 314, 314, 314, 256, 314, 101, 47,
22, 285, 41, 314, 314, 314, 314, 333, 281, 204,
283, 314, 289, 314, 300, 298, 301, 288, 314, 216,
145, 314, 114, 314, 314, 201, 128, 314, 314, 314,
256, 314, 101, 47, 22, 285, 41, 314, 314, 314,
314, 287, 281, 204, 283, 315, 289, 314, 300, 298,
301, 247, 248, 249, 2, 314, 313, 314, 314, 314,
6, 87, 259, 314, 314, 19, 112, 314, 14, 258,
217, 261, 218, 314, 15, 39, 314, 14, 14, 42,
43, 286, 12, 15, 15, 314, 314, 314, 42, 43,
286, 12, 314, 314, 314, 314, 293, 294, 295, 296,
308, 27, 314, 314, 315, 293, 294, 295, 296, 314,
247, 248, 249, 2, 314, 313, 314, 110, 314, 6,
87, 314, 314, 314, 314, 112, 314, 314, 148, 217,
261, 218, 314, 42, 43, 286, 12, 314, 42, 43,
286, 12, 314, 314, 314, 314, 314, 314, 314, 314,
293, 294, 295, 296, 314, 293, 294, 295, 296, 309,
27, 314, 314, 240, 241, 242, 133, 223, 314, 247,
248, 249, 1, 314, 482, 314, 314, 482, 6, 87,
3, 482, 466, 314, 112, 314, 276, 314, 217, 261,
218, 288, 314, 216, 314, 314, 114, 314, 314, 201,
132, 314, 314, 314, 314, 314, 101, 314, 466, 314,
314, 466, 314, 482, 314, 466, 281, 204, 283, 314,
289, 314, 300, 298, 301, 314, 288, 314, 216, 314,
200, 114, 314, 314, 201, 123, 314, 314, 314, 314,
314, 101, 365, 314, 314, 314, 230, 314, 314, 314,
314, 281, 204, 283, 14, 289, 314, 300, 298, 301,
15, 314, 288, 446, 216, 314, 169, 114, 314, 314,
201, 124, 314, 314, 314, 446, 256, 101, 314, 47,
22, 285, 41, 314, 314, 314, 314, 281, 204, 283,
314, 289, 314, 300, 298, 301, 314, 288, 314, 216,
314, 314, 114, 314, 314, 201, 125, 314, 314, 314,
314, 314, 101, 314, 314, 314, 314, 314, 314, 314,
314, 314, 281, 204, 283, 314, 289, 314, 300, 298,
301, 314, 314, 288, 314, 216, 314, 314, 114, 314,
314, 201, 126, 314, 314, 314, 314, 314, 101, 314,
314, 314, 314, 314, 314, 314, 314, 314, 281, 204,
283, 314, 289, 314, 300, 298, 301, 314, 288, 314,
216, 314, 314, 114, 314, 314, 201, 127, 314, 314,
314, 314, 314, 101, 314, 314, 314, 314, 314, 314,
314, 314, 314, 281, 204, 283, 314, 289, 314, 300,
298, 301, 314, 314, 288, 314, 216, 223, 314, 114,
314, 314, 201, 131, 482, 314, 314, 482, 314, 101,
314, 482, 466, 314, 314, 314, 276, 314, 314, 281,
204, 283, 314, 289, 314, 300, 298, 301, 314, 314,
409, 314, 314, 314, 314, 314, 314, 314, 466, 314,
314, 466, 314, 482, 223, 466, 292, 314, 314, 314,
314, 482, 314, 314, 482, 314, 314, 36, 482, 466,
314, 223, 446, 276, 409, 409, 409, 409, 482, 314,
314, 482, 314, 314, 446, 482, 466, 314, 314, 30,
276, 409, 409, 409, 409, 466, 482, 314, 466, 482,
482, 314, 466, 482, 466, 314, 314, 314, 276, 314,
314, 314, 466, 314, 314, 466, 332, 482, 314, 466,
314, 314, 314, 314, 314, 331, 42, 43, 286, 12,
466, 314, 314, 466, 314, 482, 314, 466, 314, 42,
43, 286, 12, 293, 294, 295, 296, 307, 314, 42,
43, 286, 12, 185, 314, 314, 293, 294, 295, 296,
186, 314, 314, 314, 322, 314, 293, 294, 295, 296,
42, 43, 286, 12, 31, 314, 42, 43, 286, 12,
314, 334, 314, 42, 43, 286, 12, 293, 294, 295,
296, 314, 314, 293, 294, 295, 296, 314, 314, 314,
293, 294, 295, 296, 42, 43, 286, 12, 42, 43,
286, 12, 482, 313, 313, 482, 313, 313, 313, 482,
466, 293, 294, 295, 296, 293, 294, 295, 296, 313,
313, 313, 259, 313, 313, 19, 313, 313, 313, 258,
313, 313, 313, 313, 313, 313, 466, 313, 14, 466,
150, 482, 313, 466, 15,
286, 12, 482, 314, 314, 482, 314, 314, 314, 482,
466, 293, 294, 295, 296, 293, 294, 295, 296, 314,
314, 314, 259, 314, 314, 19, 314, 314, 314, 258,
314, 314, 314, 314, 314, 314, 466, 314, 14, 466,
150, 482, 314, 466, 15,
);
public static $yy_lookahead = array(
2, 80, 100, 13, 102, 103, 1, 9, 10, 11,
@ -1180,45 +1180,45 @@ public static $yy_action = array(
array(),
);
public static $yy_default = array(
350, 539, 539, 539, 524, 524, 539, 501, 501, 539,
452, 539, 539, 539, 539, 539, 539, 539, 539, 539,
539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
539, 539, 539, 539, 539, 539, 539, 539, 539, 539,
390, 369, 390, 539, 539, 539, 395, 539, 539, 539,
363, 539, 539, 539, 539, 539, 374, 500, 413, 420,
499, 525, 527, 526, 419, 421, 418, 422, 451, 449,
397, 401, 402, 392, 395, 363, 433, 539, 390, 539,
390, 390, 514, 454, 390, 390, 539, 539, 381, 340,
453, 466, 539, 404, 404, 404, 466, 466, 454, 390,
539, 390, 390, 384, 454, 539, 539, 404, 404, 404,
350, 540, 540, 540, 525, 525, 540, 501, 501, 524,
452, 540, 540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
390, 369, 390, 540, 540, 540, 395, 540, 540, 540,
363, 540, 540, 540, 540, 540, 374, 500, 413, 420,
499, 526, 528, 527, 419, 421, 418, 422, 451, 449,
397, 401, 402, 392, 395, 363, 433, 540, 390, 540,
390, 390, 514, 454, 390, 390, 540, 540, 381, 340,
453, 466, 540, 404, 404, 404, 466, 466, 454, 390,
540, 390, 390, 384, 454, 540, 540, 404, 404, 404,
371, 386, 404, 411, 424, 425, 426, 412, 417, 454,
511, 424, 410, 348, 508, 453, 453, 453, 453, 453,
539, 468, 466, 482, 360, 370, 539, 373, 539, 378,
539, 379, 463, 464, 364, 366, 367, 368, 492, 466,
540, 468, 466, 482, 360, 370, 540, 373, 540, 378,
540, 379, 463, 464, 364, 366, 367, 368, 492, 466,
491, 494, 493, 457, 458, 459, 460, 380, 376, 377,
372, 382, 502, 385, 387, 503, 442, 466, 488, 515,
512, 348, 507, 507, 507, 466, 466, 433, 429, 433,
423, 423, 467, 433, 433, 423, 423, 346, 539, 539,
539, 423, 433, 443, 539, 539, 539, 539, 429, 539,
461, 461, 539, 429, 539, 539, 539, 539, 539, 539,
539, 539, 539, 539, 429, 431, 539, 513, 539, 482,
539, 539, 539, 539, 539, 438, 539, 539, 539, 398,
423, 423, 467, 433, 433, 423, 423, 346, 540, 540,
540, 423, 433, 443, 540, 540, 540, 540, 429, 540,
461, 461, 540, 429, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 429, 431, 540, 513, 540, 482,
540, 540, 540, 540, 540, 438, 540, 540, 540, 398,
341, 342, 343, 344, 345, 347, 349, 351, 352, 353,
354, 355, 356, 357, 359, 388, 389, 484, 485, 486,
506, 383, 504, 505, 427, 436, 437, 446, 447, 465,
469, 470, 471, 405, 406, 407, 408, 409, 428, 430,
432, 434, 438, 439, 440, 414, 415, 416, 441, 444,
445, 479, 477, 516, 517, 518, 519, 455, 456, 490,
461, 462, 483, 498, 358, 489, 535, 536, 528, 529,
530, 533, 532, 534, 537, 538, 531, 521, 523, 522,
461, 462, 483, 498, 358, 489, 536, 537, 529, 530,
531, 534, 533, 535, 538, 539, 532, 521, 523, 522,
520, 495, 480, 478, 476, 473, 474, 475, 481, 496,
497, 435, 472, 510, 487, 482, 391, 375, 399, 403,
);
const YYNOCODE = 113;
const YYSTACKDEPTH = 500;
const YYNSTATE = 340;
const YYNRULE = 199;
const YYNRULE = 200;
const YYERRORSYMBOL = 60;
const YYERRSYMDT = 'yy0';
const YYFALLBACK = 0;
@ -1463,6 +1463,7 @@ public static $yy_action = array(
'arraydef ::= ARRAYOPEN arrayelements CLOSEP',
'arrayelements ::= arrayelement',
'arrayelements ::= arrayelements COMMA arrayelement',
'arrayelements ::= arrayelements COMMA',
'arrayelements ::=',
'arrayelement ::= value APTR expr',
'arrayelement ::= ID APTR expr',
@ -1977,6 +1978,7 @@ public static $yy_action = array(
array( 0 => 94, 1 => 3 ),
array( 0 => 108, 1 => 1 ),
array( 0 => 108, 1 => 3 ),
array( 0 => 108, 1 => 2 ),
array( 0 => 108, 1 => 0 ),
array( 0 => 109, 1 => 3 ),
array( 0 => 109, 1 => 3 ),
@ -2022,7 +2024,7 @@ public static $yy_action = array(
106 => 6,
122 => 6,
182 => 6,
187 => 6,
188 => 6,
7 => 7,
8 => 8,
9 => 9,
@ -2131,7 +2133,7 @@ public static $yy_action = array(
123 => 123,
124 => 124,
126 => 126,
184 => 126,
185 => 126,
127 => 127,
128 => 128,
129 => 129,
@ -2149,7 +2151,7 @@ public static $yy_action = array(
141 => 141,
142 => 142,
143 => 143,
188 => 143,
189 => 143,
144 => 144,
146 => 146,
147 => 147,
@ -2181,18 +2183,19 @@ public static $yy_action = array(
180 => 180,
181 => 180,
183 => 183,
185 => 185,
184 => 184,
186 => 186,
189 => 189,
187 => 187,
190 => 190,
191 => 191,
192 => 192,
195 => 192,
193 => 193,
196 => 193,
194 => 194,
197 => 197,
197 => 194,
195 => 195,
198 => 198,
199 => 199,
);
// line 245 "src/Parser/TemplateParser.y"
public function yy_r0(){
@ -2961,46 +2964,50 @@ public static $yy_action = array(
public function yy_r183(){
$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor;
}
// line 1328 "src/Parser/TemplateParser.y"
public function yy_r185(){
$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor;
// line 1324 "src/Parser/TemplateParser.y"
public function yy_r184(){
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.',';
}
// line 1332 "src/Parser/TemplateParser.y"
public function yy_r186(){
public function yy_r186(){
$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor;
}
// line 1336 "src/Parser/TemplateParser.y"
public function yy_r187(){
$this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor;
}
// line 1348 "src/Parser/TemplateParser.y"
public function yy_r189(){
// line 1352 "src/Parser/TemplateParser.y"
public function yy_r190(){
$this->compiler->leaveDoubleQuote();
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php($this);
}
// line 1354 "src/Parser/TemplateParser.y"
public function yy_r190(){
// line 1358 "src/Parser/TemplateParser.y"
public function yy_r191(){
$this->yystack[$this->yyidx + -1]->minor->append_subtree($this, $this->yystack[$this->yyidx + 0]->minor);
$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
}
// line 1359 "src/Parser/TemplateParser.y"
public function yy_r191(){
$this->_retvalue = new Dq($this, $this->yystack[$this->yyidx + 0]->minor);
}
// line 1363 "src/Parser/TemplateParser.y"
public function yy_r192(){
$this->_retvalue = new Code('(string)'.$this->yystack[$this->yyidx + -1]->minor);
$this->_retvalue = new Dq($this, $this->yystack[$this->yyidx + 0]->minor);
}
// line 1367 "src/Parser/TemplateParser.y"
public function yy_r193(){
$this->_retvalue = new Code('(string)('.$this->yystack[$this->yyidx + -1]->minor.')');
$this->_retvalue = new Code('(string)'.$this->yystack[$this->yyidx + -1]->minor);
}
// line 1371 "src/Parser/TemplateParser.y"
public function yy_r194(){
$this->_retvalue = new Code('(string)$_smarty_tpl->getValue(\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\')');
$this->_retvalue = new Code('(string)('.$this->yystack[$this->yyidx + -1]->minor.')');
}
// line 1383 "src/Parser/TemplateParser.y"
public function yy_r197(){
$this->_retvalue = new Tag($this, $this->yystack[$this->yyidx + 0]->minor);
// line 1375 "src/Parser/TemplateParser.y"
public function yy_r195(){
$this->_retvalue = new Code('(string)$_smarty_tpl->getValue(\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\')');
}
// line 1387 "src/Parser/TemplateParser.y"
public function yy_r198(){
$this->_retvalue = new Tag($this, $this->yystack[$this->yyidx + 0]->minor);
}
// line 1391 "src/Parser/TemplateParser.y"
public function yy_r199(){
$this->_retvalue = new DqContent($this->yystack[$this->yyidx + 0]->minor);
}

View File

@ -1321,6 +1321,10 @@ arrayelements(res) ::= arrayelements(a1) COMMA arrayelement(a). {
res = a1.','.a;
}
arrayelements(res) ::= arrayelements(a) COMMA. {
res = a.',';
}
arrayelements ::= . {
return;
}

View File

@ -70,6 +70,8 @@ class ArrayTest extends PHPUnit_Smarty
array('{$foo=[1,2,[7,8,9],4,5]}{$x=2}{$foo.$x.0}', '7', 'T13', $i++),
array('{$foo=[1,2,[7,8,9],4,5]}{$x=0}{$foo.2.$x}', '7', 'T14', $i++),
array('{$foo=[1,2,[7,8,9],4,5]}{$x=[1,0]}{$foo.2.{$x.1}}', '7', 'T15', $i++),
array('{$foo=[1,2,3,4,5,]}{foreach $foo as $bar}{$bar}{/foreach}', '12345', 'T16', $i++),
array('{$foo=[1,2,3,4,5,[6,7,8,],]}{$foo[5][2]}', '8', 'T17', $i++),
);
}
}