diff --git a/lexer/smarty_internal_templateparser.y b/lexer/smarty_internal_templateparser.y index ffc85bc06..28cb12cb6 100644 --- a/lexer/smarty_internal_templateparser.y +++ b/lexer/smarty_internal_templateparser.y @@ -785,9 +785,11 @@ value(res) ::= ns1(c)DOUBLECOLON static_class_access(s). { if (isset($this->smarty->registered_classes[c])) { res = $this->smarty->registered_classes[c].'::'.s[0].s[1]; } else { - trigger_error('Using unregistered static method "' . c.'::'.s[0] . '" in a template is deprecated and will be ' . - 'removed in a future release. Use Smarty::registerClass to explicitly register ' . - 'a class for access.', E_USER_DEPRECATED); + if (s[2] === 'method') { + trigger_error('Using unregistered static method "' . c.'::'.s[0] . '" in a template is deprecated and will be ' . + 'removed in a future release. Use Smarty::registerClass to explicitly register ' . + 'a class for access.', E_USER_DEPRECATED); + } res = c.'::'.s[0].s[1]; } } else { @@ -1123,7 +1125,7 @@ static_class_access(res) ::= method(m) objectchain(oc). { // static class constant static_class_access(res) ::= ID(v). { - res = array(v, ''); + res = array(v, '', 'constant'); } // static class variables diff --git a/libs/sysplugins/smarty_internal_templateparser.php b/libs/sysplugins/smarty_internal_templateparser.php index c37d3c187..7030f7019 100644 --- a/libs/sysplugins/smarty_internal_templateparser.php +++ b/libs/sysplugins/smarty_internal_templateparser.php @@ -266,327 +266,318 @@ public function mergePrefixCode($code) const YY_ACCEPT_ACTION = 513; const YY_ERROR_ACTION = 512; - const YY_SZ_ACTTAB = 1997; + const YY_SZ_ACTTAB = 2016; public static $yy_action = array( - 249, 250, 239, 1, 27, 127, 220, 184, 160, 213, - 11, 54, 278, 10, 173, 34, 108, 387, 282, 279, - 223, 321, 221, 8, 194, 387, 18, 387, 85, 41, - 387, 285, 42, 44, 264, 222, 387, 209, 387, 198, - 387, 52, 5, 307, 288, 288, 164, 283, 224, 4, - 50, 249, 250, 239, 1, 232, 131, 381, 189, 205, - 213, 11, 54, 39, 35, 243, 31, 108, 94, 17, - 381, 223, 321, 221, 439, 226, 381, 33, 49, 426, - 41, 439, 89, 42, 44, 264, 222, 9, 235, 163, - 198, 426, 52, 5, 131, 288, 212, 284, 102, 106, - 4, 50, 249, 250, 239, 1, 232, 129, 426, 189, - 347, 213, 11, 54, 175, 324, 347, 208, 108, 22, - 426, 301, 223, 321, 221, 302, 226, 135, 18, 49, - 52, 41, 26, 288, 42, 44, 264, 222, 16, 235, - 294, 198, 204, 52, 5, 170, 288, 32, 90, 267, - 268, 4, 50, 249, 250, 239, 1, 20, 129, 185, - 179, 255, 213, 11, 54, 455, 288, 192, 455, 108, - 175, 167, 455, 223, 321, 221, 439, 226, 256, 18, - 55, 292, 41, 439, 132, 42, 44, 264, 222, 427, - 235, 12, 198, 165, 52, 5, 232, 288, 288, 347, - 153, 427, 4, 50, 249, 250, 239, 1, 232, 129, - 286, 181, 347, 213, 11, 54, 24, 13, 347, 49, - 108, 232, 320, 426, 223, 321, 221, 195, 201, 173, - 18, 49, 139, 41, 296, 426, 42, 44, 264, 222, - 7, 235, 286, 198, 49, 52, 5, 147, 288, 117, - 150, 317, 263, 4, 50, 249, 250, 239, 1, 95, - 130, 173, 189, 155, 213, 11, 54, 22, 244, 271, - 192, 108, 323, 286, 101, 223, 321, 221, 294, 226, - 204, 18, 348, 257, 41, 166, 283, 42, 44, 264, - 222, 28, 235, 300, 198, 348, 52, 5, 247, 288, - 117, 348, 94, 206, 4, 50, 249, 250, 239, 1, - 95, 129, 22, 189, 277, 213, 11, 54, 91, 274, - 224, 426, 108, 323, 216, 156, 223, 321, 221, 132, - 180, 262, 18, 426, 100, 41, 12, 288, 42, 44, - 264, 222, 15, 235, 216, 198, 254, 52, 5, 233, - 288, 210, 190, 192, 100, 4, 50, 249, 250, 239, - 1, 3, 131, 94, 189, 192, 213, 11, 54, 269, - 10, 204, 290, 108, 325, 216, 224, 223, 321, 221, - 23, 226, 211, 33, 315, 100, 45, 513, 92, 42, - 44, 264, 222, 102, 235, 178, 198, 268, 52, 5, - 275, 288, 161, 192, 37, 25, 4, 50, 249, 250, - 239, 1, 286, 129, 172, 187, 305, 213, 11, 54, - 164, 283, 310, 141, 108, 281, 281, 236, 223, 321, - 221, 169, 226, 230, 18, 122, 171, 41, 225, 175, - 42, 44, 264, 222, 144, 235, 303, 198, 134, 52, - 5, 265, 288, 151, 286, 192, 175, 4, 50, 249, - 250, 239, 1, 286, 128, 94, 189, 143, 213, 11, - 54, 219, 152, 207, 193, 108, 149, 281, 31, 223, - 321, 221, 100, 226, 21, 6, 286, 288, 41, 158, - 16, 42, 44, 264, 222, 102, 235, 238, 198, 286, - 52, 5, 157, 288, 281, 122, 168, 283, 4, 50, - 249, 250, 239, 1, 30, 93, 308, 51, 215, 213, - 11, 54, 53, 251, 140, 248, 108, 245, 304, 116, - 223, 321, 221, 111, 226, 176, 18, 270, 266, 41, - 224, 322, 42, 44, 264, 222, 7, 235, 259, 198, - 147, 52, 5, 257, 288, 43, 40, 38, 83, 4, - 50, 241, 214, 204, 319, 280, 88, 107, 138, 182, - 97, 64, 311, 312, 313, 316, 95, 281, 298, 258, - 142, 234, 94, 105, 272, 197, 231, 482, 237, 323, - 37, 133, 324, 241, 214, 204, 319, 314, 88, 107, - 296, 183, 97, 82, 84, 43, 40, 38, 95, 296, - 296, 258, 296, 296, 296, 159, 272, 197, 231, 296, - 237, 323, 311, 312, 313, 316, 241, 296, 204, 296, - 296, 103, 296, 296, 199, 104, 77, 296, 296, 110, - 296, 95, 296, 296, 258, 278, 296, 296, 34, 272, - 197, 231, 279, 237, 323, 43, 40, 38, 296, 296, - 296, 241, 26, 204, 196, 276, 103, 296, 16, 199, - 104, 77, 311, 312, 313, 316, 95, 192, 296, 258, - 146, 296, 296, 296, 272, 197, 231, 296, 237, 323, - 286, 393, 39, 35, 243, 296, 296, 296, 296, 191, - 276, 296, 26, 318, 252, 253, 126, 296, 16, 249, - 250, 239, 1, 296, 296, 131, 296, 261, 213, 11, - 54, 296, 296, 296, 426, 108, 393, 393, 393, 223, - 321, 221, 241, 296, 204, 299, 426, 103, 107, 296, - 183, 97, 82, 393, 393, 393, 393, 95, 296, 260, - 258, 52, 296, 296, 288, 272, 197, 231, 296, 237, - 323, 293, 296, 296, 296, 296, 296, 249, 250, 239, - 2, 296, 295, 296, 296, 296, 213, 11, 54, 296, - 296, 177, 296, 108, 136, 296, 296, 223, 321, 221, - 296, 296, 296, 293, 43, 40, 38, 296, 296, 249, - 250, 239, 2, 296, 295, 43, 40, 38, 213, 11, - 54, 311, 312, 313, 316, 108, 296, 291, 14, 223, - 321, 221, 311, 312, 313, 316, 296, 296, 241, 296, - 204, 296, 192, 103, 296, 296, 199, 104, 77, 296, - 296, 296, 296, 95, 383, 296, 258, 296, 296, 297, - 14, 272, 197, 231, 296, 237, 323, 383, 296, 296, - 241, 296, 204, 383, 296, 99, 296, 287, 199, 120, - 48, 241, 112, 204, 296, 95, 103, 296, 258, 199, - 120, 74, 296, 272, 197, 231, 95, 237, 323, 258, - 455, 296, 296, 455, 272, 197, 231, 455, 237, 323, - 241, 296, 204, 296, 296, 103, 200, 296, 199, 120, - 74, 296, 296, 296, 296, 95, 296, 296, 258, 278, - 296, 296, 34, 272, 197, 231, 279, 237, 323, 241, - 455, 204, 296, 296, 99, 202, 296, 199, 120, 56, - 241, 211, 204, 296, 95, 103, 296, 258, 199, 120, - 74, 296, 272, 197, 231, 95, 237, 323, 258, 227, - 296, 296, 296, 272, 197, 231, 296, 237, 323, 241, - 296, 204, 148, 296, 103, 203, 86, 199, 120, 73, - 296, 296, 286, 296, 95, 296, 296, 258, 278, 296, - 296, 34, 272, 197, 231, 279, 237, 323, 241, 296, - 204, 175, 296, 103, 296, 296, 199, 120, 75, 241, - 296, 204, 296, 95, 103, 296, 258, 199, 120, 63, - 296, 272, 197, 231, 95, 237, 323, 258, 229, 192, - 296, 296, 272, 197, 231, 296, 237, 323, 241, 296, - 204, 380, 296, 103, 296, 296, 199, 120, 58, 296, - 296, 296, 296, 95, 380, 296, 258, 296, 296, 296, - 380, 272, 197, 231, 296, 237, 323, 241, 296, 204, - 296, 296, 103, 296, 296, 199, 120, 71, 241, 296, - 204, 296, 95, 103, 296, 258, 199, 120, 79, 296, - 272, 197, 231, 95, 237, 323, 258, 296, 296, 296, - 154, 272, 197, 231, 87, 237, 323, 241, 296, 204, - 286, 296, 103, 296, 296, 199, 120, 70, 296, 296, - 296, 296, 95, 296, 296, 258, 296, 296, 296, 175, - 272, 197, 231, 296, 237, 323, 241, 296, 204, 296, - 296, 103, 296, 296, 199, 120, 56, 241, 296, 204, - 296, 95, 103, 296, 258, 199, 120, 46, 296, 272, - 197, 231, 95, 237, 323, 258, 296, 296, 296, 296, - 272, 197, 231, 296, 237, 323, 241, 296, 204, 296, - 296, 103, 296, 296, 199, 120, 78, 296, 296, 296, - 296, 95, 296, 296, 258, 296, 296, 296, 296, 272, - 197, 231, 296, 237, 323, 241, 296, 204, 296, 296, - 103, 296, 296, 199, 120, 66, 241, 296, 204, 296, - 95, 103, 296, 258, 199, 120, 59, 296, 272, 197, - 231, 95, 237, 323, 258, 296, 296, 296, 296, 272, - 197, 231, 296, 237, 323, 241, 296, 204, 296, 296, - 103, 296, 296, 186, 109, 57, 296, 296, 296, 296, - 95, 296, 296, 258, 296, 296, 296, 296, 272, 197, - 231, 296, 237, 323, 241, 296, 204, 296, 296, 103, - 296, 296, 188, 120, 67, 241, 296, 204, 296, 95, - 103, 296, 258, 199, 96, 62, 296, 272, 197, 231, - 95, 237, 323, 258, 296, 296, 296, 296, 272, 197, - 231, 296, 237, 323, 241, 296, 204, 296, 296, 103, - 296, 296, 199, 120, 80, 296, 296, 296, 296, 95, - 296, 296, 258, 296, 296, 296, 296, 272, 197, 231, - 296, 237, 323, 241, 296, 204, 296, 296, 103, 296, - 296, 199, 120, 76, 241, 296, 204, 296, 95, 103, - 296, 258, 199, 120, 81, 296, 272, 197, 231, 95, - 237, 323, 258, 296, 296, 296, 296, 272, 197, 231, - 296, 237, 323, 241, 296, 204, 296, 296, 103, 296, - 296, 199, 120, 65, 296, 296, 296, 296, 95, 296, - 296, 258, 296, 296, 296, 296, 272, 197, 231, 296, - 237, 323, 241, 296, 204, 296, 296, 103, 296, 296, - 199, 96, 68, 241, 296, 204, 296, 95, 103, 296, - 258, 199, 120, 61, 296, 272, 197, 231, 95, 237, - 323, 258, 296, 296, 296, 296, 272, 197, 231, 296, - 237, 323, 241, 296, 204, 296, 296, 103, 296, 296, - 199, 98, 69, 296, 296, 296, 296, 95, 296, 296, - 258, 296, 296, 296, 296, 272, 197, 231, 296, 237, - 323, 241, 296, 204, 296, 296, 103, 296, 296, 199, - 120, 72, 241, 296, 204, 296, 95, 103, 296, 258, - 199, 120, 47, 296, 272, 197, 231, 95, 237, 323, - 258, 296, 296, 296, 296, 272, 197, 231, 296, 237, - 323, 241, 192, 204, 296, 296, 103, 296, 296, 199, - 120, 60, 296, 296, 351, 296, 95, 296, 217, 258, - 296, 296, 296, 296, 272, 197, 231, 26, 237, 323, - 241, 296, 204, 16, 296, 103, 426, 296, 199, 125, - 296, 241, 296, 204, 296, 95, 103, 296, 426, 199, - 118, 296, 242, 272, 197, 231, 95, 237, 323, 296, - 296, 296, 296, 246, 272, 197, 231, 296, 237, 323, - 241, 296, 204, 278, 296, 103, 34, 296, 199, 121, - 279, 296, 296, 296, 296, 95, 296, 296, 296, 296, - 26, 296, 162, 272, 197, 231, 16, 237, 323, 241, - 296, 204, 296, 296, 103, 296, 296, 199, 123, 296, - 241, 296, 204, 296, 95, 103, 296, 296, 199, 114, - 296, 296, 272, 197, 231, 95, 237, 323, 296, 296, - 296, 296, 296, 272, 197, 231, 296, 237, 323, 241, - 296, 204, 296, 145, 103, 296, 296, 199, 124, 296, - 296, 296, 296, 286, 95, 39, 35, 243, 296, 296, - 296, 296, 272, 197, 231, 296, 237, 323, 241, 296, - 204, 296, 296, 103, 296, 296, 199, 115, 296, 241, - 296, 204, 296, 95, 103, 296, 296, 199, 113, 296, - 296, 272, 197, 231, 95, 237, 323, 296, 296, 296, - 296, 296, 272, 197, 231, 228, 237, 323, 241, 296, - 204, 296, 455, 103, 296, 455, 199, 119, 3, 455, - 439, 296, 296, 95, 296, 296, 296, 296, 296, 296, - 296, 272, 197, 231, 228, 237, 323, 296, 296, 296, - 296, 455, 296, 296, 455, 296, 296, 439, 455, 439, - 439, 228, 455, 296, 439, 296, 296, 137, 455, 296, - 296, 455, 296, 296, 32, 455, 439, 286, 296, 39, - 35, 243, 29, 296, 26, 296, 439, 296, 296, 439, - 16, 455, 296, 439, 306, 43, 40, 38, 296, 296, - 296, 296, 296, 439, 296, 296, 439, 296, 455, 296, - 439, 26, 311, 312, 313, 316, 296, 16, 228, 296, - 296, 296, 43, 40, 38, 455, 296, 296, 455, 296, - 296, 296, 455, 439, 296, 296, 19, 296, 296, 311, - 312, 313, 316, 455, 296, 296, 455, 296, 296, 296, - 455, 439, 296, 296, 296, 43, 40, 38, 296, 296, - 439, 296, 296, 439, 174, 455, 296, 439, 296, 240, - 309, 296, 311, 312, 313, 316, 296, 289, 439, 296, - 36, 439, 296, 455, 296, 439, 296, 296, 43, 40, - 38, 296, 296, 43, 40, 38, 296, 296, 296, 296, - 296, 43, 40, 38, 296, 311, 312, 313, 316, 296, - 311, 312, 313, 316, 296, 43, 40, 38, 311, 312, - 313, 316, 273, 43, 40, 38, 296, 296, 296, 296, - 296, 296, 311, 312, 313, 316, 296, 296, 296, 296, - 311, 312, 313, 316, 455, 296, 296, 455, 43, 40, - 38, 455, 439, 218, 43, 40, 38, 296, 296, 296, - 296, 296, 296, 296, 296, 311, 312, 313, 316, 296, - 296, 311, 312, 313, 316, 296, 296, 296, 296, 439, - 296, 296, 439, 296, 455, 296, 439, + 238, 239, 240, 1, 99, 127, 301, 185, 206, 207, + 6, 53, 44, 21, 274, 192, 105, 387, 513, 92, + 208, 253, 209, 308, 200, 387, 22, 387, 192, 41, + 387, 211, 42, 43, 267, 216, 387, 226, 387, 195, + 387, 52, 4, 314, 289, 141, 55, 303, 215, 5, + 50, 238, 239, 240, 1, 248, 93, 381, 51, 227, + 207, 6, 53, 261, 244, 171, 292, 105, 147, 249, + 381, 208, 253, 209, 95, 214, 381, 22, 248, 426, + 41, 170, 292, 42, 43, 267, 216, 95, 271, 144, + 195, 426, 52, 4, 131, 289, 222, 175, 426, 135, + 5, 50, 238, 239, 240, 1, 131, 129, 259, 194, + 426, 207, 6, 53, 132, 192, 37, 3, 105, 95, + 90, 12, 208, 253, 209, 237, 214, 206, 22, 192, + 52, 41, 255, 289, 42, 43, 267, 216, 289, 271, + 260, 195, 52, 52, 4, 289, 289, 121, 482, 108, + 258, 5, 50, 238, 239, 240, 1, 94, 129, 293, + 186, 13, 207, 6, 53, 210, 257, 14, 256, 105, + 287, 291, 347, 208, 253, 209, 273, 214, 347, 22, + 279, 145, 41, 249, 122, 42, 43, 267, 216, 427, + 271, 49, 195, 256, 52, 4, 163, 289, 33, 170, + 292, 427, 5, 50, 238, 239, 240, 1, 19, 128, + 184, 194, 263, 207, 6, 53, 49, 204, 189, 168, + 105, 176, 252, 426, 208, 253, 209, 439, 214, 264, + 11, 299, 224, 41, 439, 426, 42, 43, 267, 216, + 311, 271, 192, 195, 176, 52, 4, 134, 289, 289, + 347, 136, 144, 5, 50, 238, 239, 240, 1, 256, + 129, 248, 181, 347, 207, 6, 53, 13, 17, 347, + 34, 105, 95, 14, 14, 208, 253, 209, 301, 203, + 206, 22, 49, 149, 41, 138, 289, 42, 43, 267, + 216, 16, 271, 248, 195, 100, 52, 4, 323, 289, + 121, 133, 108, 223, 5, 50, 238, 239, 240, 1, + 94, 130, 175, 194, 228, 207, 6, 53, 27, 297, + 32, 324, 105, 287, 100, 426, 208, 253, 209, 30, + 214, 220, 22, 151, 150, 41, 249, 426, 42, 43, + 267, 216, 159, 271, 139, 195, 249, 52, 4, 215, + 289, 143, 248, 10, 248, 5, 50, 238, 239, 240, + 1, 248, 129, 165, 179, 109, 207, 6, 53, 251, + 289, 246, 18, 105, 256, 249, 250, 208, 253, 209, + 15, 214, 95, 22, 104, 169, 41, 217, 176, 42, + 43, 267, 216, 89, 271, 228, 195, 49, 52, 4, + 166, 289, 230, 191, 309, 100, 5, 50, 238, 239, + 240, 1, 108, 129, 278, 194, 162, 207, 6, 53, + 455, 192, 122, 455, 105, 176, 248, 455, 208, 253, + 209, 132, 180, 321, 22, 172, 292, 41, 12, 439, + 42, 43, 267, 216, 83, 271, 439, 195, 26, 52, + 4, 84, 289, 29, 173, 256, 236, 5, 50, 238, + 239, 240, 1, 25, 131, 290, 194, 228, 207, 6, + 53, 9, 289, 304, 229, 105, 7, 100, 49, 208, + 253, 209, 261, 214, 152, 20, 156, 9, 45, 235, + 236, 42, 43, 267, 216, 25, 271, 315, 195, 215, + 52, 4, 25, 289, 316, 307, 175, 310, 5, 50, + 238, 239, 240, 1, 37, 131, 158, 194, 252, 207, + 6, 53, 8, 85, 288, 190, 105, 91, 164, 167, + 208, 253, 209, 153, 214, 154, 20, 234, 241, 41, + 247, 242, 42, 43, 267, 216, 215, 271, 174, 195, + 106, 52, 4, 254, 289, 39, 40, 38, 113, 5, + 50, 276, 205, 206, 243, 262, 86, 102, 266, 183, + 96, 82, 282, 283, 284, 285, 94, 268, 298, 265, + 269, 318, 286, 7, 270, 196, 272, 312, 277, 287, + 23, 54, 225, 276, 205, 206, 243, 313, 86, 102, + 322, 182, 96, 62, 155, 39, 40, 38, 94, 157, + 34, 265, 35, 325, 296, 296, 270, 196, 272, 296, + 277, 287, 282, 283, 284, 285, 276, 296, 206, 245, + 296, 107, 102, 296, 183, 96, 82, 276, 296, 206, + 296, 94, 107, 296, 265, 193, 111, 74, 296, 270, + 196, 272, 94, 277, 287, 265, 296, 296, 296, 296, + 270, 196, 272, 251, 277, 287, 18, 296, 296, 276, + 250, 206, 296, 296, 107, 199, 306, 193, 111, 74, + 13, 146, 142, 296, 94, 87, 14, 265, 296, 296, + 160, 248, 270, 196, 272, 296, 277, 287, 296, 213, + 248, 296, 44, 21, 274, 296, 455, 198, 306, 455, + 176, 302, 3, 455, 439, 296, 296, 238, 239, 240, + 2, 296, 300, 296, 296, 296, 207, 6, 53, 296, + 192, 296, 296, 105, 296, 296, 296, 208, 253, 209, + 296, 439, 348, 302, 439, 296, 455, 296, 439, 238, + 239, 240, 2, 296, 300, 348, 296, 296, 207, 6, + 53, 348, 192, 296, 296, 105, 296, 295, 28, 208, + 253, 209, 296, 296, 383, 231, 232, 233, 125, 296, + 296, 238, 239, 240, 1, 296, 192, 383, 296, 296, + 207, 6, 53, 383, 296, 296, 296, 105, 380, 296, + 28, 208, 253, 209, 276, 296, 206, 296, 296, 101, + 296, 380, 193, 114, 47, 296, 112, 380, 296, 94, + 296, 296, 265, 251, 296, 296, 18, 270, 196, 272, + 250, 277, 287, 296, 276, 296, 206, 296, 296, 107, + 13, 296, 193, 114, 69, 296, 14, 296, 296, 94, + 148, 296, 265, 296, 88, 296, 296, 270, 196, 272, + 248, 277, 287, 296, 296, 296, 276, 296, 206, 202, + 296, 107, 296, 296, 193, 114, 69, 296, 296, 176, + 296, 94, 296, 296, 265, 296, 296, 296, 296, 270, + 196, 272, 296, 277, 287, 276, 13, 206, 296, 296, + 107, 197, 14, 193, 111, 74, 296, 39, 40, 38, + 94, 296, 296, 265, 251, 296, 296, 18, 270, 196, + 272, 250, 277, 287, 282, 283, 284, 285, 276, 296, + 206, 296, 296, 107, 305, 296, 193, 114, 69, 296, + 296, 296, 296, 94, 296, 296, 265, 296, 296, 296, + 296, 270, 196, 272, 219, 277, 287, 276, 296, 206, + 296, 296, 101, 201, 296, 193, 114, 61, 276, 229, + 206, 296, 94, 107, 296, 265, 188, 110, 60, 296, + 270, 196, 272, 94, 277, 287, 265, 251, 296, 296, + 18, 270, 196, 272, 250, 277, 287, 276, 296, 206, + 296, 296, 107, 296, 296, 193, 97, 81, 296, 296, + 296, 296, 94, 296, 296, 265, 455, 296, 296, 455, + 270, 196, 272, 455, 277, 287, 276, 212, 206, 296, + 296, 107, 296, 296, 193, 98, 80, 276, 296, 206, + 296, 94, 107, 296, 265, 193, 114, 56, 296, 270, + 196, 272, 94, 277, 287, 265, 455, 296, 296, 296, + 270, 196, 272, 296, 277, 287, 276, 296, 206, 296, + 296, 107, 296, 296, 193, 114, 68, 296, 296, 296, + 296, 94, 296, 296, 265, 296, 296, 296, 296, 270, + 196, 272, 296, 277, 287, 276, 296, 206, 296, 296, + 107, 296, 296, 193, 97, 57, 276, 296, 206, 296, + 94, 107, 296, 265, 193, 114, 67, 296, 270, 196, + 272, 94, 277, 287, 265, 296, 296, 296, 296, 270, + 196, 272, 296, 277, 287, 276, 296, 206, 296, 296, + 107, 296, 296, 193, 114, 58, 296, 296, 296, 296, + 94, 296, 296, 265, 296, 296, 296, 296, 270, 196, + 272, 296, 277, 287, 276, 296, 206, 296, 296, 107, + 296, 296, 193, 114, 59, 276, 296, 206, 296, 94, + 107, 296, 265, 193, 114, 70, 296, 270, 196, 272, + 94, 277, 287, 265, 296, 296, 296, 296, 270, 196, + 272, 296, 277, 287, 276, 296, 206, 296, 296, 107, + 296, 296, 193, 114, 61, 296, 296, 296, 296, 94, + 296, 296, 265, 296, 296, 296, 296, 270, 196, 272, + 296, 277, 287, 276, 296, 206, 296, 296, 107, 296, + 296, 193, 114, 66, 276, 296, 206, 296, 94, 107, + 296, 265, 193, 114, 71, 296, 270, 196, 272, 94, + 277, 287, 265, 296, 296, 296, 296, 270, 196, 272, + 296, 277, 287, 276, 296, 206, 296, 296, 107, 296, + 296, 193, 114, 72, 296, 296, 296, 296, 94, 296, + 296, 265, 296, 296, 296, 296, 270, 196, 272, 296, + 277, 287, 276, 296, 206, 296, 296, 107, 296, 296, + 193, 114, 73, 276, 296, 206, 296, 94, 107, 296, + 265, 193, 114, 75, 296, 270, 196, 272, 94, 277, + 287, 265, 296, 296, 296, 296, 270, 196, 272, 296, + 277, 287, 276, 296, 206, 296, 296, 107, 296, 296, + 187, 114, 63, 296, 296, 296, 296, 94, 296, 296, + 265, 296, 296, 296, 296, 270, 196, 272, 296, 277, + 287, 276, 296, 206, 296, 296, 107, 296, 296, 193, + 114, 64, 276, 296, 206, 296, 94, 107, 296, 265, + 193, 114, 65, 296, 270, 196, 272, 94, 277, 287, + 265, 296, 296, 296, 296, 270, 196, 272, 296, 277, + 287, 276, 296, 206, 296, 296, 107, 296, 296, 193, + 114, 76, 296, 296, 296, 296, 94, 296, 296, 265, + 296, 296, 296, 296, 270, 196, 272, 296, 277, 287, + 276, 296, 206, 296, 296, 107, 296, 296, 193, 114, + 77, 276, 296, 206, 296, 94, 107, 296, 265, 193, + 114, 78, 296, 270, 196, 272, 94, 277, 287, 265, + 296, 296, 296, 296, 270, 196, 272, 296, 277, 287, + 276, 296, 206, 296, 296, 107, 296, 296, 193, 114, + 79, 296, 296, 296, 296, 94, 296, 296, 265, 296, + 296, 296, 296, 270, 196, 272, 296, 277, 287, 276, + 296, 206, 296, 296, 107, 296, 296, 193, 114, 46, + 276, 296, 206, 296, 94, 107, 296, 265, 193, 114, + 48, 296, 270, 196, 272, 94, 277, 287, 265, 296, + 296, 296, 296, 270, 196, 272, 296, 277, 287, 276, + 192, 206, 296, 296, 107, 296, 296, 193, 126, 296, + 296, 296, 351, 296, 94, 296, 221, 296, 296, 296, + 296, 319, 270, 196, 272, 13, 277, 287, 276, 296, + 206, 14, 296, 107, 426, 296, 193, 120, 296, 276, + 296, 206, 296, 94, 107, 296, 426, 193, 124, 296, + 275, 270, 196, 272, 94, 277, 287, 296, 296, 296, + 296, 296, 270, 196, 272, 296, 277, 287, 276, 296, + 206, 296, 296, 107, 137, 296, 193, 115, 296, 296, + 296, 296, 296, 94, 248, 296, 44, 21, 274, 296, + 296, 270, 196, 272, 296, 277, 287, 276, 296, 206, + 296, 296, 107, 296, 296, 193, 116, 296, 276, 296, + 206, 296, 94, 107, 296, 296, 193, 117, 296, 296, + 270, 196, 272, 94, 277, 287, 296, 296, 296, 296, + 296, 270, 196, 272, 296, 277, 287, 276, 296, 206, + 296, 161, 107, 296, 296, 193, 118, 296, 296, 296, + 296, 248, 94, 44, 21, 274, 296, 296, 296, 296, + 270, 196, 272, 296, 277, 287, 276, 296, 206, 296, + 296, 107, 296, 296, 193, 119, 296, 276, 296, 206, + 296, 94, 107, 296, 296, 193, 123, 296, 296, 270, + 196, 272, 94, 277, 287, 296, 296, 296, 296, 296, + 270, 196, 272, 213, 277, 287, 36, 296, 13, 296, + 455, 296, 296, 455, 14, 296, 213, 455, 439, 39, + 40, 38, 296, 455, 296, 296, 455, 296, 296, 33, + 455, 439, 296, 393, 296, 296, 282, 283, 284, 285, + 296, 296, 296, 296, 140, 439, 296, 296, 439, 296, + 455, 296, 439, 280, 39, 40, 38, 296, 439, 103, + 296, 439, 296, 455, 296, 439, 426, 296, 393, 393, + 393, 282, 283, 284, 285, 39, 40, 38, 426, 296, + 296, 296, 296, 296, 296, 393, 393, 393, 393, 213, + 296, 296, 282, 283, 284, 285, 455, 296, 296, 455, + 296, 296, 24, 455, 439, 317, 39, 40, 38, 455, + 296, 296, 455, 296, 296, 296, 455, 439, 296, 296, + 296, 296, 296, 282, 283, 284, 285, 296, 296, 296, + 296, 439, 296, 296, 439, 296, 455, 296, 439, 296, + 39, 40, 38, 296, 439, 294, 296, 439, 31, 455, + 177, 439, 296, 296, 296, 281, 296, 282, 283, 284, + 285, 218, 39, 40, 38, 296, 296, 296, 296, 39, + 40, 38, 178, 296, 39, 40, 38, 296, 296, 282, + 283, 284, 285, 39, 40, 38, 282, 283, 284, 285, + 296, 282, 283, 284, 285, 320, 39, 40, 38, 296, + 282, 283, 284, 285, 296, 296, 296, 296, 296, 296, + 296, 296, 296, 282, 283, 284, 285, 296, 296, 39, + 40, 38, 296, 455, 296, 296, 455, 39, 40, 38, + 455, 439, 296, 296, 296, 296, 282, 283, 284, 285, + 296, 296, 296, 296, 282, 283, 284, 285, 296, 296, + 296, 296, 296, 296, 296, 296, 296, 296, 439, 296, + 296, 439, 296, 455, 296, 439, ); public static $yy_lookahead = array( - 9, 10, 11, 12, 12, 14, 14, 16, 16, 18, - 19, 20, 9, 34, 102, 12, 25, 13, 70, 16, - 29, 30, 31, 35, 33, 21, 35, 23, 95, 38, - 26, 52, 41, 42, 43, 44, 32, 46, 34, 48, - 36, 50, 51, 52, 53, 53, 98, 99, 44, 58, - 59, 9, 10, 11, 12, 22, 14, 13, 16, 15, - 18, 19, 20, 85, 86, 87, 15, 25, 17, 21, - 26, 29, 30, 31, 44, 33, 32, 35, 45, 35, - 38, 51, 34, 41, 42, 43, 44, 35, 46, 77, - 48, 47, 50, 51, 14, 53, 16, 13, 47, 47, - 58, 59, 9, 10, 11, 12, 22, 14, 35, 16, - 26, 18, 19, 20, 102, 103, 32, 44, 25, 34, - 47, 36, 29, 30, 31, 52, 33, 14, 35, 45, - 50, 38, 26, 53, 41, 42, 43, 44, 32, 46, - 66, 48, 68, 50, 51, 77, 53, 15, 35, 7, - 8, 58, 59, 9, 10, 11, 12, 12, 14, 14, - 16, 16, 18, 19, 20, 9, 53, 1, 12, 25, - 102, 82, 16, 29, 30, 31, 44, 33, 33, 35, - 106, 107, 38, 51, 44, 41, 42, 43, 44, 35, - 46, 51, 48, 82, 50, 51, 22, 53, 53, 13, - 73, 47, 58, 59, 9, 10, 11, 12, 22, 14, - 83, 16, 26, 18, 19, 20, 28, 12, 32, 45, - 25, 22, 70, 35, 29, 30, 31, 65, 33, 102, - 35, 45, 73, 38, 60, 47, 41, 42, 43, 44, - 35, 46, 83, 48, 45, 50, 51, 95, 53, 71, - 95, 52, 74, 58, 59, 9, 10, 11, 12, 81, - 14, 102, 16, 73, 18, 19, 20, 34, 90, 36, - 1, 25, 94, 83, 81, 29, 30, 31, 66, 33, - 68, 35, 13, 96, 38, 98, 99, 41, 42, 43, - 44, 15, 46, 100, 48, 26, 50, 51, 14, 53, - 71, 32, 17, 74, 58, 59, 9, 10, 11, 12, - 81, 14, 34, 16, 36, 18, 19, 20, 82, 107, - 44, 35, 25, 94, 71, 95, 29, 30, 31, 44, - 33, 78, 35, 47, 81, 38, 51, 53, 41, 42, - 43, 44, 15, 46, 71, 48, 16, 50, 51, 22, - 53, 78, 79, 1, 81, 58, 59, 9, 10, 11, - 12, 15, 14, 17, 16, 1, 18, 19, 20, 66, - 34, 68, 36, 25, 16, 71, 44, 29, 30, 31, - 28, 33, 78, 35, 52, 81, 38, 62, 63, 41, - 42, 43, 44, 47, 46, 6, 48, 8, 50, 51, - 16, 53, 73, 1, 2, 40, 58, 59, 9, 10, - 11, 12, 83, 14, 77, 16, 52, 18, 19, 20, - 98, 99, 52, 95, 25, 97, 97, 92, 29, 30, - 31, 77, 33, 49, 35, 100, 14, 38, 16, 102, - 41, 42, 43, 44, 73, 46, 14, 48, 14, 50, - 51, 36, 53, 73, 83, 1, 102, 58, 59, 9, - 10, 11, 12, 83, 14, 17, 16, 50, 18, 19, - 20, 17, 71, 64, 65, 25, 73, 97, 15, 29, - 30, 31, 81, 33, 26, 35, 83, 53, 38, 73, - 32, 41, 42, 43, 44, 47, 46, 92, 48, 83, - 50, 51, 95, 53, 97, 100, 98, 99, 58, 59, - 9, 10, 11, 12, 23, 14, 52, 16, 16, 18, - 19, 20, 16, 7, 50, 16, 25, 13, 13, 16, - 29, 30, 31, 16, 33, 16, 35, 33, 33, 38, - 44, 16, 41, 42, 43, 44, 35, 46, 16, 48, - 95, 50, 51, 96, 53, 37, 38, 39, 81, 58, - 59, 66, 67, 68, 69, 83, 71, 72, 95, 74, - 75, 76, 54, 55, 56, 57, 81, 97, 60, 84, - 95, 13, 17, 80, 89, 90, 91, 1, 93, 94, - 2, 81, 103, 66, 67, 68, 69, 99, 71, 72, - 108, 74, 75, 76, 81, 37, 38, 39, 81, 108, - 108, 84, 108, 108, 108, 95, 89, 90, 91, 108, - 93, 94, 54, 55, 56, 57, 66, 108, 68, 108, - 108, 71, 108, 108, 74, 75, 76, 108, 108, 21, - 108, 81, 108, 108, 84, 9, 108, 108, 12, 89, - 90, 91, 16, 93, 94, 37, 38, 39, 108, 108, - 108, 66, 26, 68, 104, 105, 71, 108, 32, 74, - 75, 76, 54, 55, 56, 57, 81, 1, 108, 84, - 73, 108, 108, 108, 89, 90, 91, 108, 93, 94, - 83, 2, 85, 86, 87, 108, 108, 108, 108, 104, - 105, 108, 26, 3, 4, 5, 6, 108, 32, 9, - 10, 11, 12, 108, 108, 14, 108, 16, 18, 19, - 20, 108, 108, 108, 35, 25, 37, 38, 39, 29, - 30, 31, 66, 108, 68, 69, 47, 71, 72, 108, - 74, 75, 76, 54, 55, 56, 57, 81, 108, 48, - 84, 50, 108, 108, 53, 89, 90, 91, 108, 93, - 94, 3, 108, 108, 108, 108, 108, 9, 10, 11, + 9, 10, 11, 12, 81, 14, 66, 16, 68, 18, + 19, 20, 85, 86, 87, 1, 25, 13, 62, 63, + 29, 30, 31, 100, 33, 21, 35, 23, 1, 38, + 26, 17, 41, 42, 43, 44, 32, 46, 34, 48, + 36, 50, 51, 52, 53, 73, 106, 107, 44, 58, + 59, 9, 10, 11, 12, 83, 14, 13, 16, 15, + 18, 19, 20, 96, 70, 98, 99, 25, 73, 97, + 26, 29, 30, 31, 17, 33, 32, 35, 83, 35, + 38, 98, 99, 41, 42, 43, 44, 17, 46, 95, + 48, 47, 50, 51, 14, 53, 16, 102, 35, 14, + 58, 59, 9, 10, 11, 12, 14, 14, 16, 16, + 47, 18, 19, 20, 44, 1, 2, 15, 25, 17, + 35, 51, 29, 30, 31, 66, 33, 68, 35, 1, + 50, 38, 16, 53, 41, 42, 43, 44, 53, 46, + 48, 48, 50, 50, 51, 53, 53, 71, 1, 47, + 74, 58, 59, 9, 10, 11, 12, 81, 14, 13, + 16, 26, 18, 19, 20, 49, 90, 32, 22, 25, + 94, 70, 26, 29, 30, 31, 92, 33, 32, 35, + 52, 95, 38, 97, 100, 41, 42, 43, 44, 35, + 46, 45, 48, 22, 50, 51, 77, 53, 15, 98, + 99, 47, 58, 59, 9, 10, 11, 12, 12, 14, + 14, 16, 16, 18, 19, 20, 45, 64, 65, 77, + 25, 102, 103, 35, 29, 30, 31, 44, 33, 33, + 35, 60, 44, 38, 51, 47, 41, 42, 43, 44, + 52, 46, 1, 48, 102, 50, 51, 14, 53, 53, + 13, 73, 95, 58, 59, 9, 10, 11, 12, 22, + 14, 83, 16, 26, 18, 19, 20, 26, 26, 32, + 15, 25, 17, 32, 32, 29, 30, 31, 66, 33, + 68, 35, 45, 73, 38, 71, 53, 41, 42, 43, + 44, 15, 46, 83, 48, 81, 50, 51, 22, 53, + 71, 81, 47, 74, 58, 59, 9, 10, 11, 12, + 81, 14, 102, 16, 71, 18, 19, 20, 28, 107, + 15, 78, 25, 94, 81, 35, 29, 30, 31, 12, + 33, 14, 35, 16, 95, 38, 97, 47, 41, 42, + 43, 44, 73, 46, 73, 48, 97, 50, 51, 44, + 53, 73, 83, 35, 83, 58, 59, 9, 10, 11, + 12, 83, 14, 77, 16, 47, 18, 19, 20, 9, + 53, 83, 12, 25, 22, 97, 16, 29, 30, 31, + 21, 33, 17, 35, 80, 14, 38, 16, 102, 41, + 42, 43, 44, 34, 46, 71, 48, 45, 50, 51, + 77, 53, 78, 79, 52, 81, 58, 59, 9, 10, + 11, 12, 47, 14, 92, 16, 73, 18, 19, 20, + 9, 1, 100, 12, 25, 102, 83, 16, 29, 30, + 31, 44, 33, 14, 35, 98, 99, 38, 51, 44, + 41, 42, 43, 44, 81, 46, 51, 48, 28, 50, + 51, 81, 53, 12, 6, 22, 8, 58, 59, 9, + 10, 11, 12, 34, 14, 36, 16, 71, 18, 19, + 20, 34, 53, 36, 78, 25, 35, 81, 45, 29, + 30, 31, 96, 33, 95, 35, 95, 34, 38, 7, + 8, 41, 42, 43, 44, 34, 46, 36, 48, 44, + 50, 51, 34, 53, 36, 52, 102, 52, 58, 59, + 9, 10, 11, 12, 2, 14, 95, 16, 103, 18, + 19, 20, 35, 95, 99, 65, 25, 82, 82, 82, + 29, 30, 31, 95, 33, 95, 35, 7, 13, 38, + 14, 13, 41, 42, 43, 44, 44, 46, 16, 48, + 16, 50, 51, 16, 53, 37, 38, 39, 16, 58, + 59, 66, 67, 68, 69, 16, 71, 72, 16, 74, + 75, 76, 54, 55, 56, 57, 81, 33, 60, 84, + 33, 13, 16, 35, 89, 90, 91, 52, 93, 94, + 40, 16, 16, 66, 67, 68, 69, 52, 71, 72, + 16, 74, 75, 76, 50, 37, 38, 39, 81, 50, + 15, 84, 23, 36, 108, 108, 89, 90, 91, 108, + 93, 94, 54, 55, 56, 57, 66, 108, 68, 69, + 108, 71, 72, 108, 74, 75, 76, 66, 108, 68, + 108, 81, 71, 108, 84, 74, 75, 76, 108, 89, + 90, 91, 81, 93, 94, 84, 108, 108, 108, 108, + 89, 90, 91, 9, 93, 94, 12, 108, 108, 66, + 16, 68, 108, 108, 71, 104, 105, 74, 75, 76, + 26, 73, 28, 108, 81, 77, 32, 84, 108, 108, + 73, 83, 89, 90, 91, 108, 93, 94, 108, 2, + 83, 108, 85, 86, 87, 108, 9, 104, 105, 12, + 102, 3, 15, 16, 17, 108, 108, 9, 10, 11, 12, 108, 14, 108, 108, 108, 18, 19, 20, 108, - 108, 13, 108, 25, 27, 108, 108, 29, 30, 31, - 108, 108, 108, 3, 37, 38, 39, 108, 108, 9, - 10, 11, 12, 108, 14, 37, 38, 39, 18, 19, - 20, 54, 55, 56, 57, 25, 108, 59, 60, 29, - 30, 31, 54, 55, 56, 57, 108, 108, 66, 108, - 68, 108, 1, 71, 108, 108, 74, 75, 76, 108, - 108, 108, 108, 81, 13, 108, 84, 108, 108, 59, - 60, 89, 90, 91, 108, 93, 94, 26, 108, 108, - 66, 108, 68, 32, 108, 71, 108, 105, 74, 75, - 76, 66, 78, 68, 108, 81, 71, 108, 84, 74, - 75, 76, 108, 89, 90, 91, 81, 93, 94, 84, - 9, 108, 108, 12, 89, 90, 91, 16, 93, 94, - 66, 108, 68, 108, 108, 71, 101, 108, 74, 75, - 76, 108, 108, 108, 108, 81, 108, 108, 84, 9, - 108, 108, 12, 89, 90, 91, 16, 93, 94, 66, - 49, 68, 108, 108, 71, 101, 108, 74, 75, 76, - 66, 78, 68, 108, 81, 71, 108, 84, 74, 75, - 76, 108, 89, 90, 91, 81, 93, 94, 84, 49, - 108, 108, 108, 89, 90, 91, 108, 93, 94, 66, - 108, 68, 73, 108, 71, 101, 77, 74, 75, 76, - 108, 108, 83, 108, 81, 108, 108, 84, 9, 108, - 108, 12, 89, 90, 91, 16, 93, 94, 66, 108, - 68, 102, 108, 71, 108, 108, 74, 75, 76, 66, - 108, 68, 108, 81, 71, 108, 84, 74, 75, 76, - 108, 89, 90, 91, 81, 93, 94, 84, 49, 1, - 108, 108, 89, 90, 91, 108, 93, 94, 66, 108, - 68, 13, 108, 71, 108, 108, 74, 75, 76, 108, - 108, 108, 108, 81, 26, 108, 84, 108, 108, 108, - 32, 89, 90, 91, 108, 93, 94, 66, 108, 68, - 108, 108, 71, 108, 108, 74, 75, 76, 66, 108, + 1, 108, 108, 25, 108, 108, 108, 29, 30, 31, + 108, 44, 13, 3, 47, 108, 49, 108, 51, 9, + 10, 11, 12, 108, 14, 26, 108, 108, 18, 19, + 20, 32, 1, 108, 108, 25, 108, 59, 60, 29, + 30, 31, 108, 108, 13, 3, 4, 5, 6, 108, + 108, 9, 10, 11, 12, 108, 1, 26, 108, 108, + 18, 19, 20, 32, 108, 108, 108, 25, 13, 59, + 60, 29, 30, 31, 66, 108, 68, 108, 108, 71, + 108, 26, 74, 75, 76, 108, 78, 32, 108, 81, + 108, 108, 84, 9, 108, 108, 12, 89, 90, 91, + 16, 93, 94, 108, 66, 108, 68, 108, 108, 71, + 26, 108, 74, 75, 76, 108, 32, 108, 108, 81, + 73, 108, 84, 108, 77, 108, 108, 89, 90, 91, + 83, 93, 94, 108, 108, 108, 66, 108, 68, 101, + 108, 71, 108, 108, 74, 75, 76, 108, 108, 102, + 108, 81, 108, 108, 84, 108, 108, 108, 108, 89, + 90, 91, 108, 93, 94, 66, 26, 68, 108, 108, + 71, 101, 32, 74, 75, 76, 108, 37, 38, 39, + 81, 108, 108, 84, 9, 108, 108, 12, 89, 90, + 91, 16, 93, 94, 54, 55, 56, 57, 66, 108, + 68, 108, 108, 71, 105, 108, 74, 75, 76, 108, + 108, 108, 108, 81, 108, 108, 84, 108, 108, 108, + 108, 89, 90, 91, 49, 93, 94, 66, 108, 68, + 108, 108, 71, 101, 108, 74, 75, 76, 66, 78, 68, 108, 81, 71, 108, 84, 74, 75, 76, 108, - 89, 90, 91, 81, 93, 94, 84, 108, 108, 108, - 73, 89, 90, 91, 77, 93, 94, 66, 108, 68, - 83, 108, 71, 108, 108, 74, 75, 76, 108, 108, - 108, 108, 81, 108, 108, 84, 108, 108, 108, 102, - 89, 90, 91, 108, 93, 94, 66, 108, 68, 108, + 89, 90, 91, 81, 93, 94, 84, 9, 108, 108, + 12, 89, 90, 91, 16, 93, 94, 66, 108, 68, + 108, 108, 71, 108, 108, 74, 75, 76, 108, 108, + 108, 108, 81, 108, 108, 84, 9, 108, 108, 12, + 89, 90, 91, 16, 93, 94, 66, 49, 68, 108, 108, 71, 108, 108, 74, 75, 76, 66, 108, 68, 108, 81, 71, 108, 84, 74, 75, 76, 108, 89, - 90, 91, 81, 93, 94, 84, 108, 108, 108, 108, + 90, 91, 81, 93, 94, 84, 49, 108, 108, 108, 89, 90, 91, 108, 93, 94, 66, 108, 68, 108, 108, 71, 108, 108, 74, 75, 76, 108, 108, 108, 108, 81, 108, 108, 84, 108, 108, 108, 108, 89, @@ -622,104 +613,117 @@ public function mergePrefixCode($code) 75, 76, 66, 108, 68, 108, 81, 71, 108, 84, 74, 75, 76, 108, 89, 90, 91, 81, 93, 94, 84, 108, 108, 108, 108, 89, 90, 91, 108, 93, - 94, 66, 1, 68, 108, 108, 71, 108, 108, 74, - 75, 76, 108, 108, 13, 108, 81, 108, 17, 84, - 108, 108, 108, 108, 89, 90, 91, 26, 93, 94, - 66, 108, 68, 32, 108, 71, 35, 108, 74, 75, - 108, 66, 108, 68, 108, 81, 71, 108, 47, 74, - 75, 108, 88, 89, 90, 91, 81, 93, 94, 108, - 108, 108, 108, 88, 89, 90, 91, 108, 93, 94, - 66, 108, 68, 9, 108, 71, 12, 108, 74, 75, - 16, 108, 108, 108, 108, 81, 108, 108, 108, 108, - 26, 108, 28, 89, 90, 91, 32, 93, 94, 66, - 108, 68, 108, 108, 71, 108, 108, 74, 75, 108, - 66, 108, 68, 108, 81, 71, 108, 108, 74, 75, - 108, 108, 89, 90, 91, 81, 93, 94, 108, 108, + 94, 66, 108, 68, 108, 108, 71, 108, 108, 74, + 75, 76, 108, 108, 108, 108, 81, 108, 108, 84, + 108, 108, 108, 108, 89, 90, 91, 108, 93, 94, + 66, 108, 68, 108, 108, 71, 108, 108, 74, 75, + 76, 66, 108, 68, 108, 81, 71, 108, 84, 74, + 75, 76, 108, 89, 90, 91, 81, 93, 94, 84, + 108, 108, 108, 108, 89, 90, 91, 108, 93, 94, + 66, 108, 68, 108, 108, 71, 108, 108, 74, 75, + 76, 108, 108, 108, 108, 81, 108, 108, 84, 108, 108, 108, 108, 89, 90, 91, 108, 93, 94, 66, - 108, 68, 108, 73, 71, 108, 108, 74, 75, 108, - 108, 108, 108, 83, 81, 85, 86, 87, 108, 108, + 108, 68, 108, 108, 71, 108, 108, 74, 75, 76, + 66, 108, 68, 108, 81, 71, 108, 84, 74, 75, + 76, 108, 89, 90, 91, 81, 93, 94, 84, 108, + 108, 108, 108, 89, 90, 91, 108, 93, 94, 66, + 1, 68, 108, 108, 71, 108, 108, 74, 75, 108, + 108, 108, 13, 108, 81, 108, 17, 108, 108, 108, + 108, 88, 89, 90, 91, 26, 93, 94, 66, 108, + 68, 32, 108, 71, 35, 108, 74, 75, 108, 66, + 108, 68, 108, 81, 71, 108, 47, 74, 75, 108, + 88, 89, 90, 91, 81, 93, 94, 108, 108, 108, 108, 108, 89, 90, 91, 108, 93, 94, 66, 108, - 68, 108, 108, 71, 108, 108, 74, 75, 108, 66, - 108, 68, 108, 81, 71, 108, 108, 74, 75, 108, - 108, 89, 90, 91, 81, 93, 94, 108, 108, 108, - 108, 108, 89, 90, 91, 2, 93, 94, 66, 108, - 68, 108, 9, 71, 108, 12, 74, 75, 15, 16, - 17, 108, 108, 81, 108, 108, 108, 108, 108, 108, - 108, 89, 90, 91, 2, 93, 94, 108, 108, 108, - 108, 9, 108, 108, 12, 108, 108, 44, 16, 17, - 47, 2, 49, 108, 51, 108, 108, 73, 9, 108, - 108, 12, 108, 108, 15, 16, 17, 83, 108, 85, - 86, 87, 24, 108, 26, 108, 44, 108, 108, 47, - 32, 49, 108, 51, 52, 37, 38, 39, 108, 108, - 108, 108, 108, 44, 108, 108, 47, 108, 49, 108, - 51, 26, 54, 55, 56, 57, 108, 32, 2, 108, - 108, 108, 37, 38, 39, 9, 108, 108, 12, 108, - 108, 108, 16, 17, 108, 108, 2, 108, 108, 54, - 55, 56, 57, 9, 108, 108, 12, 108, 108, 108, - 16, 17, 108, 108, 108, 37, 38, 39, 108, 108, - 44, 108, 108, 47, 13, 49, 108, 51, 108, 13, - 52, 108, 54, 55, 56, 57, 108, 13, 44, 108, - 2, 47, 108, 49, 108, 51, 108, 108, 37, 38, - 39, 108, 108, 37, 38, 39, 108, 108, 108, 108, - 108, 37, 38, 39, 108, 54, 55, 56, 57, 108, - 54, 55, 56, 57, 108, 37, 38, 39, 54, 55, - 56, 57, 36, 37, 38, 39, 108, 108, 108, 108, - 108, 108, 54, 55, 56, 57, 108, 108, 108, 108, - 54, 55, 56, 57, 9, 108, 108, 12, 37, 38, - 39, 16, 17, 36, 37, 38, 39, 108, 108, 108, - 108, 108, 108, 108, 108, 54, 55, 56, 57, 108, - 108, 54, 55, 56, 57, 108, 108, 108, 108, 44, - 108, 108, 47, 108, 49, 108, 51, + 68, 108, 108, 71, 73, 108, 74, 75, 108, 108, + 108, 108, 108, 81, 83, 108, 85, 86, 87, 108, + 108, 89, 90, 91, 108, 93, 94, 66, 108, 68, + 108, 108, 71, 108, 108, 74, 75, 108, 66, 108, + 68, 108, 81, 71, 108, 108, 74, 75, 108, 108, + 89, 90, 91, 81, 93, 94, 108, 108, 108, 108, + 108, 89, 90, 91, 108, 93, 94, 66, 108, 68, + 108, 73, 71, 108, 108, 74, 75, 108, 108, 108, + 108, 83, 81, 85, 86, 87, 108, 108, 108, 108, + 89, 90, 91, 108, 93, 94, 66, 108, 68, 108, + 108, 71, 108, 108, 74, 75, 108, 66, 108, 68, + 108, 81, 71, 108, 108, 74, 75, 108, 108, 89, + 90, 91, 81, 93, 94, 108, 108, 108, 108, 108, + 89, 90, 91, 2, 93, 94, 24, 108, 26, 108, + 9, 108, 108, 12, 32, 108, 2, 16, 17, 37, + 38, 39, 108, 9, 108, 108, 12, 108, 108, 15, + 16, 17, 108, 2, 108, 108, 54, 55, 56, 57, + 108, 108, 108, 108, 27, 44, 108, 108, 47, 108, + 49, 108, 51, 52, 37, 38, 39, 108, 44, 21, + 108, 47, 108, 49, 108, 51, 35, 108, 37, 38, + 39, 54, 55, 56, 57, 37, 38, 39, 47, 108, + 108, 108, 108, 108, 108, 54, 55, 56, 57, 2, + 108, 108, 54, 55, 56, 57, 9, 108, 108, 12, + 108, 108, 2, 16, 17, 36, 37, 38, 39, 9, + 108, 108, 12, 108, 108, 108, 16, 17, 108, 108, + 108, 108, 108, 54, 55, 56, 57, 108, 108, 108, + 108, 44, 108, 108, 47, 108, 49, 108, 51, 108, + 37, 38, 39, 108, 44, 13, 108, 47, 2, 49, + 13, 51, 108, 108, 108, 52, 108, 54, 55, 56, + 57, 36, 37, 38, 39, 108, 108, 108, 108, 37, + 38, 39, 13, 108, 37, 38, 39, 108, 108, 54, + 55, 56, 57, 37, 38, 39, 54, 55, 56, 57, + 108, 54, 55, 56, 57, 13, 37, 38, 39, 108, + 54, 55, 56, 57, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 54, 55, 56, 57, 108, 108, 37, + 38, 39, 108, 9, 108, 108, 12, 37, 38, 39, + 16, 17, 108, 108, 108, 108, 54, 55, 56, 57, + 108, 108, 108, 108, 54, 55, 56, 57, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 44, 108, + 108, 47, 108, 49, 108, 51, ); - const YY_SHIFT_USE_DFLT = -22; + const YY_SHIFT_USE_DFLT = -10; const YY_SHIFT_MAX = 230; public static $yy_shift_ofst = array( - -22, 501, 501, 93, 399, 399, 450, 93, 93, 93, - 399, 450, -9, 93, 93, 93, 93, 93, 93, 144, - 93, 195, 93, 93, 93, 246, 195, 93, 93, 93, - 93, 93, 297, 93, 93, 93, 93, 348, 42, 42, - 42, 42, 42, 42, 42, 42, 1768, 1795, 1795, 701, - 758, 1521, 80, 676, 113, 790, 1927, 1828, 1896, 568, - 768, 1861, 757, 1866, 1874, 1888, 618, 518, 1921, 1921, - 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, - 1921, 1921, 1921, 1584, 636, 285, 676, 676, 346, 113, - 113, 402, 700, 1723, -8, 910, 831, 269, 1028, 51, - 3, 3, 422, 448, 352, 106, 422, 106, 458, 364, - 434, 454, 106, 166, 166, 166, 166, 565, 166, 166, - 166, 586, 565, 166, 166, -22, -22, 1752, 1769, 1826, - 1844, 1945, 145, 979, 156, 132, 284, 106, 140, 106, - 30, 140, 140, 30, 106, 106, 106, 140, 106, 106, - 140, 106, 327, 106, 106, 106, 140, 140, 106, 140, - 205, 106, 284, 166, 565, 588, 565, 588, 565, 166, - 166, -12, 166, -22, -22, -22, -22, -22, -22, 689, - 4, 44, 84, 186, 73, 881, 199, 188, 174, 286, - 48, 336, 384, 389, 332, 142, -21, 52, 154, 33, - 85, 276, 278, 233, 515, 509, 474, 516, 502, 464, - 491, 415, 417, 432, 514, 370, 463, 506, 365, 513, - -12, 517, 504, 519, 505, 511, 496, 525, 532, 330, - 358, + -10, 42, 42, 93, 144, 144, 195, 93, 93, 144, + 93, 195, -9, 246, 93, 93, 93, 246, 93, 93, + 93, 93, 93, 297, 348, 93, 93, 93, 93, 93, + 93, 93, 93, 399, 93, 93, 93, 450, 501, 501, + 501, 501, 501, 501, 501, 501, 1732, 870, 870, 92, + 708, 1549, 80, 85, 241, 740, 1788, 1767, 568, 1819, + 1853, 1875, 1882, 518, 1887, 1909, 1896, 1932, 1940, 1940, + 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, 1940, + 1940, 1940, 1940, 654, 814, 70, 102, 241, 241, 85, + 85, 114, 772, 697, 905, 317, 729, 761, 785, 360, + 360, 255, 135, 233, 135, 242, 14, 365, 371, 371, + 128, 420, 135, 27, 27, 27, 27, 27, 27, 27, + 27, 57, 57, 147, 27, -10, -10, 1751, 1764, 1837, + 1850, 1964, 196, 978, 411, 183, 135, 135, 276, 135, + 419, 135, 419, 135, 387, 387, 135, 135, 135, 135, + 387, 441, 387, 387, 387, 395, 387, 395, 387, 135, + 135, 135, 135, 27, 512, 27, 27, 512, 27, 487, + 57, 57, 57, -10, -10, -10, -10, -10, -10, 1781, + 4, 44, 146, 237, 1007, 188, 290, 171, 352, 448, + 482, 359, 116, 433, 63, 154, 318, 429, 437, 453, + 455, 461, 468, 305, 530, 525, 528, 526, 532, 534, + 537, 542, 549, 552, 502, 544, 547, 548, 550, 566, + 487, 575, 554, 559, 576, 535, 545, 584, 595, 577, + 589, ); - const YY_REDUCE_USE_DFLT = -89; + const YY_REDUCE_USE_DFLT = -78; const YY_REDUCE_MAX = 178; public static $yy_reduce_ofst = array( - 325, 527, 495, 666, 595, 560, 863, 874, 834, 805, - 762, 794, 1179, 1455, 1208, 1012, 1386, 1139, 1070, 1110, - 1150, 1219, 1248, 1277, 1288, 1317, 1346, 1357, 1415, 1426, - 1081, 1041, 1001, 972, 943, 932, 903, 1484, 1495, 1622, - 1633, 1662, 1593, 1564, 1553, 1524, 1704, 607, 1590, 178, - 74, 1027, 229, 899, 273, 212, -22, -22, -22, -22, - -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, - -22, -22, -22, 380, 329, 187, 159, 127, -52, 253, - 304, 12, 303, 152, 193, 328, 68, 68, 68, 322, - 328, 407, 405, 322, 68, 190, 335, 416, 403, 68, - 401, 354, 371, 68, 68, 68, 337, 322, 68, 68, - 68, 68, 408, 68, 68, 68, 409, 455, 455, 455, - 455, 455, 510, 480, 455, 455, 477, 482, 457, 482, - 473, 457, 457, 485, 482, 482, 482, 457, 482, 482, - 457, 482, 503, 482, 482, 482, 457, 457, 482, 457, - 520, 482, 523, -88, 498, 489, 498, 489, 498, -88, - -88, -67, -88, 111, 155, 89, 236, 230, 162, + -44, 495, 527, 560, 571, 603, 738, 768, 800, 829, + 862, 891, 902, 931, 960, 971, 1000, 1029, 1040, 1069, + 1098, 1109, 1138, 1167, 1178, 1207, 1236, 1247, 1276, 1305, + 1316, 1345, 1374, 1385, 1414, 1443, 1454, 1483, 1512, 1523, + 1552, 1581, 1592, 1621, 1650, 1661, 617, 1551, 1618, 76, + -60, 608, 229, 324, 777, 212, -73, -73, -73, -73, + -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, + -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, + -73, -73, -73, -28, 278, -33, 101, -5, 210, 243, + 396, 119, 59, -6, 86, -77, 142, 142, 142, 239, + 86, -17, 178, 214, 271, 269, 286, -17, 84, 322, + 142, 142, 343, 323, 142, 142, 142, 142, 142, 142, + 142, -17, 337, 142, 142, 153, 142, 157, 157, 157, + 157, 157, 220, 249, 157, 157, 288, 288, 304, 288, + 363, 288, 370, 288, 386, 386, 288, 288, 288, 288, + 386, 389, 386, 386, 386, 391, 386, 421, 386, 288, + 288, 288, 288, 404, 415, 404, 404, 415, 404, 428, + 425, 425, 425, 460, 445, 446, 447, 438, 440, ); public static $yyExpectedTokens = array( array(), @@ -775,21 +779,21 @@ public function mergePrefixCode($code) array(3, 9, 10, 11, 12, 14, 18, 19, 20, 25, 29, 30, 31, 59, 60, ), array(1, 13, 17, 26, 32, 35, 47, ), array(14, 16, 50, 53, ), - array(1, 26, 32, ), array(14, 35, 53, ), + array(1, 26, 32, ), array(3, 9, 10, 11, 12, 14, 18, 19, 20, 25, 29, 30, 31, 59, 60, ), + array(21, 37, 38, 39, 54, 55, 56, 57, ), + array(27, 37, 38, 39, 54, 55, 56, 57, ), + array(13, 37, 38, 39, 54, 55, 56, 57, ), array(36, 37, 38, 39, 54, 55, 56, 57, ), array(37, 38, 39, 52, 54, 55, 56, 57, ), array(36, 37, 38, 39, 54, 55, 56, 57, ), array(13, 37, 38, 39, 54, 55, 56, 57, ), - array(13, 37, 38, 39, 54, 55, 56, 57, ), - array(13, 37, 38, 39, 54, 55, 56, 57, ), - array(27, 37, 38, 39, 54, 55, 56, 57, ), + array(37, 38, 39, 54, 55, 56, 57, 60, ), array(13, 37, 38, 39, 54, 55, 56, 57, ), array(13, 37, 38, 39, 54, 55, 56, 57, ), array(2, 37, 38, 39, 54, 55, 56, 57, ), - array(21, 37, 38, 39, 54, 55, 56, 57, ), - array(37, 38, 39, 54, 55, 56, 57, 60, ), + array(13, 37, 38, 39, 54, 55, 56, 57, ), array(37, 38, 39, 54, 55, 56, 57, ), array(37, 38, 39, 54, 55, 56, 57, ), array(37, 38, 39, 54, 55, 56, 57, ), @@ -808,43 +812,43 @@ public function mergePrefixCode($code) array(9, 12, 16, 26, 28, 32, ), array(9, 12, 16, 26, 32, ), array(17, 44, 51, ), + array(15, 17, 47, ), array(1, 26, 32, ), array(1, 26, 32, ), - array(15, 17, 47, ), array(14, 35, 53, ), array(14, 35, 53, ), array(1, 2, ), array(3, 4, 5, 6, 9, 10, 11, 12, 18, 19, 20, 25, 29, 30, 31, ), array(2, 9, 12, 15, 16, 17, 44, 47, 49, 51, ), - array(12, 14, 16, 53, ), array(9, 12, 16, 49, ), + array(12, 14, 16, 53, ), array(1, 13, 26, 32, ), array(1, 13, 26, 32, ), array(1, 13, 26, 32, ), - array(15, 17, 47, ), array(9, 12, 16, ), array(9, 12, 16, ), - array(14, 16, ), - array(17, 47, ), - array(1, 28, ), + array(15, 17, 47, ), array(26, 32, ), - array(14, 16, ), + array(14, 53, ), array(26, 32, ), array(26, 32, ), - array(1, 52, ), - array(14, 53, ), array(1, 17, ), + array(17, 47, ), + array(14, 16, ), + array(14, 16, ), + array(1, 52, ), + array(1, 28, ), array(26, 32, ), array(1, ), array(1, ), array(1, ), array(1, ), - array(17, ), array(1, ), array(1, ), array(1, ), array(1, ), array(17, ), + array(17, ), array(1, ), array(1, ), array(), @@ -858,43 +862,43 @@ public function mergePrefixCode($code) array(9, 12, 16, 49, ), array(9, 12, 16, ), array(15, 44, 51, ), - array(14, 53, ), array(26, 32, ), - array(44, 51, ), array(26, 32, ), - array(44, 51, ), - array(44, 51, ), - array(44, 51, ), - array(44, 51, ), + array(15, 22, ), array(26, 32, ), + array(14, 53, ), array(26, 32, ), + array(14, 53, ), array(26, 32, ), array(44, 51, ), - array(26, 32, ), - array(26, 32, ), array(44, 51, ), array(26, 32, ), - array(15, 22, ), array(26, 32, ), array(26, 32, ), array(26, 32, ), array(44, 51, ), + array(12, 35, ), + array(44, 51, ), + array(44, 51, ), + array(44, 51, ), + array(44, 51, ), + array(44, 51, ), array(44, 51, ), - array(26, 32, ), array(44, 51, ), - array(12, 35, ), array(26, 32, ), - array(14, 53, ), + array(26, 32, ), + array(26, 32, ), + array(26, 32, ), array(1, ), - array(17, ), array(2, ), - array(17, ), - array(2, ), - array(17, ), array(1, ), array(1, ), - array(35, ), + array(2, ), array(1, ), + array(35, ), + array(17, ), + array(17, ), + array(17, ), array(), array(), array(), @@ -906,53 +910,53 @@ public function mergePrefixCode($code) array(13, 15, 26, 32, 35, 47, ), array(13, 22, 26, 32, 45, ), array(13, 22, 26, 32, 45, ), - array(35, 44, 47, 52, ), array(9, 12, 16, 49, ), - array(22, 45, 52, ), + array(35, 44, 47, 52, ), array(28, 35, 47, ), array(22, 45, 60, ), - array(35, 47, ), - array(21, 34, ), - array(34, 36, ), - array(16, 49, ), + array(22, 45, 52, ), array(6, 8, ), - array(44, 52, ), array(7, 8, ), - array(34, 52, ), + array(21, 34, ), + array(16, 49, ), + array(22, 45, ), + array(35, 47, ), array(35, 47, ), array(35, 47, ), - array(22, 45, ), array(34, 36, ), - array(15, 44, ), + array(34, 36, ), + array(34, 52, ), + array(44, 52, ), array(34, 36, ), array(34, 36, ), + array(15, 44, ), + array(7, ), array(13, ), + array(13, ), + array(14, ), array(16, ), - array(50, ), - array(7, ), array(16, ), - array(52, ), - array(23, ), - array(36, ), - array(50, ), - array(14, ), - array(13, ), - array(52, ), - array(15, ), array(16, ), - array(40, ), array(16, ), - array(35, ), array(16, ), - array(33, ), array(16, ), + array(44, ), + array(33, ), array(33, ), array(35, ), - array(44, ), + array(40, ), array(16, ), + array(35, ), array(16, ), + array(50, ), + array(50, ), array(16, ), + array(52, ), + array(52, ), array(16, ), + array(15, ), + array(36, ), + array(23, ), array(), array(), array(), @@ -1050,39 +1054,39 @@ public function mergePrefixCode($code) array(), ); public static $yy_default = array( - 336, 512, 512, 512, 497, 497, 512, 474, 474, 474, + 336, 512, 512, 512, 497, 497, 512, 474, 474, 512, + 474, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 377, 377, 356, 512, - 512, 413, 512, 377, 512, 512, 512, 512, 512, 512, - 512, 512, 382, 512, 349, 512, 512, 512, 382, 379, - 389, 388, 384, 402, 473, 397, 498, 500, 401, 361, - 472, 499, 349, 377, 377, 487, 377, 377, 429, 512, - 512, 368, 326, 428, 512, 439, 391, 391, 391, 429, - 439, 439, 512, 429, 391, 377, 512, 377, 377, 391, - 512, 371, 358, 395, 394, 396, 373, 429, 400, 404, - 391, 404, 484, 406, 405, 481, 334, 428, 428, 428, - 428, 428, 512, 441, 439, 455, 512, 363, 435, 354, - 434, 437, 433, 432, 359, 357, 364, 436, 353, 367, - 466, 365, 512, 352, 350, 360, 467, 465, 346, 464, - 439, 366, 512, 369, 461, 475, 488, 476, 485, 372, - 422, 439, 374, 480, 439, 480, 480, 439, 334, 413, - 409, 413, 403, 403, 413, 440, 403, 413, 403, 413, - 512, 512, 512, 332, 409, 512, 512, 512, 423, 403, - 512, 409, 512, 512, 512, 512, 512, 512, 512, 418, - 385, 512, 512, 512, 512, 512, 512, 512, 415, 512, - 455, 512, 512, 512, 411, 486, 409, 512, 512, 512, - 512, 419, 407, 362, 445, 418, 425, 424, 420, 339, - 460, 421, 483, 398, 416, 340, 399, 455, 378, 337, - 338, 330, 328, 329, 442, 443, 444, 438, 392, 393, - 427, 426, 386, 417, 408, 390, 410, 331, 333, 335, - 412, 470, 414, 415, 503, 478, 495, 471, 459, 458, - 375, 457, 344, 462, 508, 493, 376, 496, 456, 509, - 494, 501, 504, 511, 510, 507, 505, 502, 506, 345, - 468, 469, 446, 355, 341, 452, 450, 454, 448, 453, - 447, 489, 490, 491, 463, 449, 492, 451, 327, 342, - 343, 370, 430, 431, 479, 477, + 512, 512, 512, 512, 512, 512, 377, 356, 377, 512, + 512, 413, 512, 512, 377, 512, 512, 382, 512, 512, + 512, 512, 349, 512, 512, 512, 512, 512, 361, 473, + 397, 401, 472, 498, 500, 499, 402, 384, 388, 389, + 379, 382, 349, 377, 377, 487, 429, 377, 377, 512, + 512, 368, 326, 428, 439, 512, 391, 391, 391, 439, + 439, 429, 377, 512, 377, 377, 371, 429, 512, 512, + 391, 391, 358, 373, 391, 395, 404, 405, 406, 396, + 400, 429, 484, 404, 394, 334, 481, 428, 428, 428, + 428, 428, 512, 441, 439, 455, 346, 357, 512, 360, + 512, 365, 512, 366, 436, 437, 350, 352, 353, 354, + 465, 439, 464, 467, 466, 432, 433, 434, 435, 367, + 363, 364, 359, 369, 475, 372, 374, 476, 422, 439, + 461, 488, 485, 334, 480, 480, 480, 439, 439, 413, + 409, 413, 403, 403, 440, 413, 413, 403, 403, 332, + 512, 512, 512, 403, 413, 423, 512, 512, 512, 512, + 409, 512, 512, 409, 512, 512, 512, 512, 512, 512, + 512, 512, 512, 512, 409, 411, 512, 486, 415, 512, + 455, 512, 512, 512, 512, 512, 418, 512, 512, 512, + 385, 327, 328, 329, 330, 331, 333, 335, 337, 338, + 339, 340, 341, 342, 343, 345, 375, 355, 376, 457, + 458, 459, 479, 370, 477, 478, 407, 416, 417, 426, + 427, 438, 442, 443, 444, 392, 393, 408, 410, 412, + 414, 418, 419, 420, 398, 399, 421, 424, 425, 452, + 450, 453, 489, 490, 491, 492, 430, 431, 463, 456, + 471, 344, 462, 508, 509, 501, 502, 503, 506, 505, + 507, 510, 511, 504, 494, 496, 495, 493, 468, 451, + 449, 446, 447, 448, 454, 469, 470, 415, 445, 483, + 460, 455, 378, 362, 386, 390, ); const YYNOCODE = 109; const YYSTACKDEPTH = 500; @@ -2397,9 +2401,9 @@ public function yy_r90(){ } // line 749 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r94(){ - if ($this->security && $this->security->static_classes !== array()) { - $this->compiler->trigger_template_error('dynamic static class not allowed by security setting'); - } + if ($this->security && $this->security->static_classes !== array()) { + $this->compiler->trigger_template_error('dynamic static class not allowed by security setting'); + } $prefixVar = $this->compiler->getNewPrefixVariable(); if ($this->yystack[$this->yyidx + -2]->minor['var'] === '\'smarty\'') { $this->compiler->appendPrefixCode("compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).';?>'); @@ -2408,41 +2412,43 @@ public function yy_r94(){ } $this->_retvalue = $prefixVar .'::'.$this->yystack[$this->yyidx + 0]->minor[0].$this->yystack[$this->yyidx + 0]->minor[1]; } -// line 760 "../smarty/lexer/smarty_internal_templateparser.y" +// line 763 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r95(){ $prefixVar = $this->compiler->getNewPrefixVariable(); $tmp = $this->compiler->appendCode('', $this->yystack[$this->yyidx + 0]->minor); $this->compiler->appendPrefixCode($this->compiler->appendCode($tmp, "")); $this->_retvalue = $prefixVar; } -// line 767 "../smarty/lexer/smarty_internal_templateparser.y" +// line 770 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r96(){ $this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor)); } -// line 780 "../smarty/lexer/smarty_internal_templateparser.y" +// line 783 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r99(){ if (!in_array(strtolower($this->yystack[$this->yyidx + -2]->minor), array('self', 'parent')) && (!$this->security || $this->security->isTrustedStaticClassAccess($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor, $this->compiler))) { if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor])) { $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor].'::'.$this->yystack[$this->yyidx + 0]->minor[0].$this->yystack[$this->yyidx + 0]->minor[1]; } else { - trigger_error('Using unregistered static method "' . $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor[0] . '" in a template is deprecated and will be ' . - 'removed in a future release. Use Smarty::registerClass to explicitly register ' . - 'a class for access.', E_USER_DEPRECATED); + if ($this->yystack[$this->yyidx + 0]->minor[2] === 'method') { + trigger_error('Using unregistered static method "' . $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor[0] . '" in a template is deprecated and will be ' . + 'removed in a future release. Use Smarty::registerClass to explicitly register ' . + 'a class for access.', E_USER_DEPRECATED); + } $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor[0].$this->yystack[$this->yyidx + 0]->minor[1]; } } else { $this->compiler->trigger_template_error ('static class \''.$this->yystack[$this->yyidx + -2]->minor.'\' is undefined or not allowed by security setting'); } } -// line 799 "../smarty/lexer/smarty_internal_templateparser.y" +// line 807 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r101(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -// line 810 "../smarty/lexer/smarty_internal_templateparser.y" +// line 818 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r102(){ $this->_retvalue = $this->compiler->compileVariable('\''.substr($this->yystack[$this->yyidx + 0]->minor,1).'\''); } -// line 813 "../smarty/lexer/smarty_internal_templateparser.y" +// line 821 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r103(){ if ($this->yystack[$this->yyidx + 0]->minor['var'] === '\'smarty\'') { $smarty_var = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']); @@ -2454,104 +2460,104 @@ public function yy_r103(){ $this->_retvalue = $this->compiler->compileVariable($this->yystack[$this->yyidx + 0]->minor['var']).$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']; } } -// line 826 "../smarty/lexer/smarty_internal_templateparser.y" +// line 834 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r104(){ $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + -2]->minor .']->'.$this->yystack[$this->yyidx + 0]->minor; } -// line 836 "../smarty/lexer/smarty_internal_templateparser.y" +// line 844 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r106(){ $this->_retvalue = $this->compiler->compileConfigVariable('\'' . $this->yystack[$this->yyidx + -1]->minor . '\''); } -// line 840 "../smarty/lexer/smarty_internal_templateparser.y" +// line 848 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r107(){ $this->_retvalue = '(is_array($tmp = ' . $this->compiler->compileConfigVariable('\'' . $this->yystack[$this->yyidx + -2]->minor . '\'') . ') ? $tmp'.$this->yystack[$this->yyidx + 0]->minor.' :null)'; } -// line 844 "../smarty/lexer/smarty_internal_templateparser.y" +// line 852 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r108(){ $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + -1]->minor); } -// line 848 "../smarty/lexer/smarty_internal_templateparser.y" +// line 856 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r109(){ $this->_retvalue = '(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + -2]->minor) . ') ? $tmp'.$this->yystack[$this->yyidx + 0]->minor.' : null)'; } -// line 852 "../smarty/lexer/smarty_internal_templateparser.y" +// line 860 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r110(){ $this->_retvalue = array('var'=>'\''.substr($this->yystack[$this->yyidx + -1]->minor,1).'\'', 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); } -// line 855 "../smarty/lexer/smarty_internal_templateparser.y" +// line 863 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r111(){ $this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); } -// line 868 "../smarty/lexer/smarty_internal_templateparser.y" +// line 876 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r113(){ return; } -// line 874 "../smarty/lexer/smarty_internal_templateparser.y" +// line 882 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r114(){ $this->_retvalue = '['.$this->compiler->compileVariable('\''.substr($this->yystack[$this->yyidx + 0]->minor,1).'\'').']'; } -// line 877 "../smarty/lexer/smarty_internal_templateparser.y" +// line 885 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r115(){ $this->_retvalue = '['.$this->compiler->compileVariable($this->yystack[$this->yyidx + 0]->minor).']'; } -// line 881 "../smarty/lexer/smarty_internal_templateparser.y" +// line 889 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r116(){ $this->_retvalue = '['.$this->compiler->compileVariable($this->yystack[$this->yyidx + -2]->minor).'->'.$this->yystack[$this->yyidx + 0]->minor.']'; } -// line 885 "../smarty/lexer/smarty_internal_templateparser.y" +// line 893 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r117(){ $this->_retvalue = '[\''. $this->yystack[$this->yyidx + 0]->minor .'\']'; } -// line 889 "../smarty/lexer/smarty_internal_templateparser.y" +// line 897 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r118(){ $this->_retvalue = '['. $this->yystack[$this->yyidx + 0]->minor .']'; } -// line 894 "../smarty/lexer/smarty_internal_templateparser.y" +// line 902 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r119(){ $this->_retvalue = '['. $this->yystack[$this->yyidx + -1]->minor .']'; } -// line 899 "../smarty/lexer/smarty_internal_templateparser.y" +// line 907 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r120(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } -// line 903 "../smarty/lexer/smarty_internal_templateparser.y" +// line 911 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r121(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; } -// line 906 "../smarty/lexer/smarty_internal_templateparser.y" +// line 914 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r122(){ $this->_retvalue = '['.$this->yystack[$this->yyidx + -1]->minor.']'; } -// line 912 "../smarty/lexer/smarty_internal_templateparser.y" +// line 920 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r124(){ $this->_retvalue = '['.$this->compiler->compileVariable('\''.substr($this->yystack[$this->yyidx + -1]->minor,1).'\'').']'; } -// line 928 "../smarty/lexer/smarty_internal_templateparser.y" +// line 936 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r128(){ $this->_retvalue = '[]'; } -// line 938 "../smarty/lexer/smarty_internal_templateparser.y" +// line 946 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r129(){ $this->_retvalue = '\''.substr($this->yystack[$this->yyidx + 0]->minor,1).'\''; } -// line 942 "../smarty/lexer/smarty_internal_templateparser.y" +// line 950 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r130(){ $this->_retvalue = '\'\''; } -// line 947 "../smarty/lexer/smarty_internal_templateparser.y" +// line 955 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r131(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -// line 955 "../smarty/lexer/smarty_internal_templateparser.y" +// line 963 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r133(){ $var = trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->compiler->getLdelLength(), -$this->compiler->getRdelLength()), ' $'); $this->_retvalue = $this->compiler->compileVariable('\''.$var.'\''); } -// line 961 "../smarty/lexer/smarty_internal_templateparser.y" +// line 969 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r134(){ $this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } -// line 968 "../smarty/lexer/smarty_internal_templateparser.y" +// line 976 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r135(){ if ($this->yystack[$this->yyidx + -1]->minor['var'] === '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor; @@ -2559,58 +2565,58 @@ public function yy_r135(){ $this->_retvalue = $this->compiler->compileVariable($this->yystack[$this->yyidx + -1]->minor['var']).$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor; } } -// line 977 "../smarty/lexer/smarty_internal_templateparser.y" +// line 985 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r136(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -// line 982 "../smarty/lexer/smarty_internal_templateparser.y" +// line 990 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r137(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -// line 987 "../smarty/lexer/smarty_internal_templateparser.y" +// line 995 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r138(){ if ($this->security && substr($this->yystack[$this->yyidx + -1]->minor,0,1) === '_') { $this->compiler->trigger_template_error (self::ERR1); } $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -// line 994 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1002 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r139(){ if ($this->security) { $this->compiler->trigger_template_error (self::ERR2); } $this->_retvalue = '->{'.$this->compiler->compileVariable($this->yystack[$this->yyidx + -1]->minor).$this->yystack[$this->yyidx + 0]->minor.'}'; } -// line 1001 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1009 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r140(){ if ($this->security) { $this->compiler->trigger_template_error (self::ERR2); } $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -// line 1008 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1016 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r141(){ if ($this->security) { $this->compiler->trigger_template_error (self::ERR2); } $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}'; } -// line 1016 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1024 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r142(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } -// line 1024 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1032 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r143(){ $this->_retvalue = $this->compiler->compilePHPFunctionCall($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -1]->minor); } -// line 1032 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1040 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r144(){ if ($this->security && substr($this->yystack[$this->yyidx + -3]->minor,0,1) === '_') { $this->compiler->trigger_template_error (self::ERR1); } $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . '('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')'; } -// line 1039 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1047 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r145(){ if ($this->security) { $this->compiler->trigger_template_error (self::ERR2); @@ -2619,55 +2625,55 @@ public function yy_r145(){ $this->compiler->appendPrefixCode("compiler->compileVariable('\''.substr($this->yystack[$this->yyidx + -3]->minor,1).'\'').';?>'); $this->_retvalue = $prefixVar .'('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')'; } -// line 1050 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1058 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r146(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor)); } -// line 1067 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1075 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r149(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor))); } -// line 1071 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1079 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r150(){ $this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor)); } -// line 1079 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1087 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r152(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } -// line 1087 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1095 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r153(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } -// line 1100 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1108 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r156(){ $this->_retvalue = array(trim($this->yystack[$this->yyidx + -1]->minor).$this->yystack[$this->yyidx + 0]->minor); } -// line 1109 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1117 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r158(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, '', 'method'); } -// line 1114 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1122 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r159(){ $this->_retvalue = array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'method'); } -// line 1119 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1127 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r160(){ - $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, ''); + $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, '', 'constant'); } -// line 1124 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1132 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r161(){ $this->_retvalue = array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'property'); } -// line 1129 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1137 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r162(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor, 'property'); } -// line 1135 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1143 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r163(){ $this->_retvalue = ' '. trim($this->yystack[$this->yyidx + 0]->minor) . ' '; } -// line 1139 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1147 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r164(){ static $lops = array( 'eq' => ' == ', @@ -2687,7 +2693,7 @@ public function yy_r164(){ $op = strtolower(preg_replace('/\s*/', '', $this->yystack[$this->yyidx + 0]->minor)); $this->_retvalue = $lops[$op]; } -// line 1158 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1166 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r165(){ static $tlops = array( 'isdivby' => array('op' => ' % ', 'pre' => '!('), @@ -2700,7 +2706,7 @@ public function yy_r165(){ $op = strtolower(preg_replace('/\s*/', '', $this->yystack[$this->yyidx + 0]->minor)); $this->_retvalue = $tlops[$op]; } -// line 1171 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1179 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r166(){ static $scond = array ( 'iseven' => '!(1 & ', @@ -2711,53 +2717,53 @@ public function yy_r166(){ $op = strtolower(str_replace(' ', '', $this->yystack[$this->yyidx + 0]->minor)); $this->_retvalue = $scond[$op]; } -// line 1185 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1193 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r167(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } -// line 1196 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1204 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r170(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } -// line 1204 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1212 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r172(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } -// line 1208 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1216 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r173(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } -// line 1224 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1232 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r176(){ $this->compiler->leaveDoubleQuote(); $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php($this); } -// line 1230 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1238 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r177(){ $this->yystack[$this->yyidx + -1]->minor->append_subtree($this, $this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; } -// line 1235 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1243 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r178(){ $this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[$this->yyidx + 0]->minor); } -// line 1239 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1247 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r179(){ $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)'.$this->yystack[$this->yyidx + -1]->minor); } -// line 1243 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1251 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r180(){ $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)('.$this->yystack[$this->yyidx + -1]->minor.')'); } -// line 1247 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1255 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r181(){ $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars[\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\']->value'); } -// line 1259 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1267 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r184(){ $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[$this->yyidx + 0]->minor); } -// line 1263 "../smarty/lexer/smarty_internal_templateparser.y" +// line 1271 "../smarty/lexer/smarty_internal_templateparser.y" public function yy_r185(){ $this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack[$this->yyidx + 0]->minor); } diff --git a/tests/UnitTests/TemplateSource/ValueTests/PHPfunctions/PhpFunctionTest.php b/tests/UnitTests/TemplateSource/ValueTests/PHPfunctions/PhpFunctionTest.php index 9a3f63191..d7dcce102 100644 --- a/tests/UnitTests/TemplateSource/ValueTests/PHPfunctions/PhpFunctionTest.php +++ b/tests/UnitTests/TemplateSource/ValueTests/PHPfunctions/PhpFunctionTest.php @@ -255,8 +255,9 @@ public function testDeprecationNoticesForSmarty5($strTemplateSource, $expected = } if ($shouldTriggerDeprecationNotice) { - $this->assertStringContainsString('Using unregistered function', $errorMessage); + $this->assertStringContainsString('Using unregistered ', $errorMessage); } else { + $this->assertEquals('', $errorMessage); $this->assertEquals($expected, $output); $this->assertEquals('', $errorMessage); } @@ -295,6 +296,9 @@ public function dataDeprecationNoticesForSmarty5() ['{$a|addslashes}', '', true], ['{$a|sha1}', '', true], ['{$a|get_parent_class}', '', true], + + ['{StaticMethodsTesterClass::giveMeEmptyString($a)}', '', true], + ['{StaticMethodsTesterClass::EMPTY_STRING}', '', false], ]; } @@ -326,3 +330,12 @@ public function pass($v) { return $v; } } + +class StaticMethodsTesterClass { + + const EMPTY_STRING = ''; + + public static function giveMeEmptyString($data) { + return ''; + } +} \ No newline at end of file