guard-mthaml 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +34 -0
  3. data/lib/guard/mthaml.rb +140 -0
  4. data/lib/guard/mthaml/compiler/MtHaml.php +255 -0
  5. data/lib/guard/mthaml/templates/Guardfile +12 -0
  6. data/lib/guard/mthaml/version.rb +5 -0
  7. data/vendor/autoload.php +7 -0
  8. data/vendor/coffeescript/coffeescript/LICENSE +22 -0
  9. data/vendor/coffeescript/coffeescript/README.md +96 -0
  10. data/vendor/coffeescript/coffeescript/composer.json +23 -0
  11. data/vendor/coffeescript/coffeescript/grammar.y +309 -0
  12. data/vendor/coffeescript/coffeescript/make.php +115 -0
  13. data/vendor/coffeescript/coffeescript/src/CoffeeScript/Compiler.php +76 -0
  14. data/vendor/coffeescript/coffeescript/src/CoffeeScript/Error.php +15 -0
  15. data/vendor/coffeescript/coffeescript/src/CoffeeScript/Helpers.php +116 -0
  16. data/vendor/coffeescript/coffeescript/src/CoffeeScript/Init.php +96 -0
  17. data/vendor/coffeescript/coffeescript/src/CoffeeScript/Lexer.php +1356 -0
  18. data/vendor/coffeescript/coffeescript/src/CoffeeScript/Nodes.php +105 -0
  19. data/vendor/coffeescript/coffeescript/src/CoffeeScript/Parser.php +3326 -0
  20. data/vendor/coffeescript/coffeescript/src/CoffeeScript/Rewriter.php +552 -0
  21. data/vendor/coffeescript/coffeescript/src/CoffeeScript/Scope.php +196 -0
  22. data/vendor/coffeescript/coffeescript/src/CoffeeScript/SyntaxError.php +9 -0
  23. data/vendor/coffeescript/coffeescript/src/CoffeeScript/Value.php +20 -0
  24. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Access.php +31 -0
  25. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Arr.php +69 -0
  26. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Assign.php +353 -0
  27. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Base.php +288 -0
  28. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Block.php +294 -0
  29. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Call.php +283 -0
  30. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Class.php +282 -0
  31. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Closure.php +49 -0
  32. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Code.php +203 -0
  33. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Comment.php +39 -0
  34. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Existence.php +42 -0
  35. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Extends.php +26 -0
  36. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/For.php +250 -0
  37. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/If.php +161 -0
  38. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/In.php +99 -0
  39. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Index.php +27 -0
  40. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Literal.php +96 -0
  41. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Obj.php +126 -0
  42. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Op.php +292 -0
  43. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Param.php +119 -0
  44. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Parens.php +45 -0
  45. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Range.php +225 -0
  46. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Return.php +56 -0
  47. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Slice.php +47 -0
  48. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Splat.php +100 -0
  49. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Switch.php +121 -0
  50. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Throw.php +37 -0
  51. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Try.php +79 -0
  52. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/Value.php +210 -0
  53. data/vendor/coffeescript/coffeescript/src/CoffeeScript/yy/While.php +112 -0
  54. data/vendor/coffeescript/coffeescript/tests/cases/arrays.coffee +77 -0
  55. data/vendor/coffeescript/coffeescript/tests/cases/assignment.coffee +352 -0
  56. data/vendor/coffeescript/coffeescript/tests/cases/booleans.coffee +21 -0
  57. data/vendor/coffeescript/coffeescript/tests/cases/classes.coffee +681 -0
  58. data/vendor/coffeescript/coffeescript/tests/cases/comments.coffee +207 -0
  59. data/vendor/coffeescript/coffeescript/tests/cases/compilation.coffee +72 -0
  60. data/vendor/coffeescript/coffeescript/tests/cases/comprehensions.coffee +501 -0
  61. data/vendor/coffeescript/coffeescript/tests/cases/control_flow.coffee +430 -0
  62. data/vendor/coffeescript/coffeescript/tests/cases/eval.coffee +29 -0
  63. data/vendor/coffeescript/coffeescript/tests/cases/exception_handling.coffee +102 -0
  64. data/vendor/coffeescript/coffeescript/tests/cases/formatting.coffee +146 -0
  65. data/vendor/coffeescript/coffeescript/tests/cases/function_invocation.coffee +552 -0
  66. data/vendor/coffeescript/coffeescript/tests/cases/functions.coffee +188 -0
  67. data/vendor/coffeescript/coffeescript/tests/cases/helpers.coffee +96 -0
  68. data/vendor/coffeescript/coffeescript/tests/cases/importing.coffee +18 -0
  69. data/vendor/coffeescript/coffeescript/tests/cases/interpolation.coffee +138 -0
  70. data/vendor/coffeescript/coffeescript/tests/cases/javascript_literals.coffee +10 -0
  71. data/vendor/coffeescript/coffeescript/tests/cases/numbers.coffee +76 -0
  72. data/vendor/coffeescript/coffeescript/tests/cases/objects.coffee +271 -0
  73. data/vendor/coffeescript/coffeescript/tests/cases/operators.coffee +277 -0
  74. data/vendor/coffeescript/coffeescript/tests/cases/option_parser.coffee +43 -0
  75. data/vendor/coffeescript/coffeescript/tests/cases/ranges.coffee +88 -0
  76. data/vendor/coffeescript/coffeescript/tests/cases/regexps.coffee +63 -0
  77. data/vendor/coffeescript/coffeescript/tests/cases/scope.coffee +43 -0
  78. data/vendor/coffeescript/coffeescript/tests/cases/slicing_and_splicing.coffee +143 -0
  79. data/vendor/coffeescript/coffeescript/tests/cases/soaks.coffee +134 -0
  80. data/vendor/coffeescript/coffeescript/tests/cases/strict.coffee +155 -0
  81. data/vendor/coffeescript/coffeescript/tests/cases/strings.coffee +107 -0
  82. data/vendor/coffeescript/coffeescript/tests/css/style.css +43 -0
  83. data/vendor/coffeescript/coffeescript/tests/index.php +119 -0
  84. data/vendor/coffeescript/coffeescript/tests/js/lib/coffeescript_1.1.1.js +8 -0
  85. data/vendor/coffeescript/coffeescript/tests/js/lib/coffeescript_1.2.0.js +8 -0
  86. data/vendor/coffeescript/coffeescript/tests/js/lib/coffeescript_1.3.0.js +8 -0
  87. data/vendor/coffeescript/coffeescript/tests/js/lib/coffeescript_1.3.1.js +8 -0
  88. data/vendor/coffeescript/coffeescript/tests/js/lib/diff.js +276 -0
  89. data/vendor/coffeescript/coffeescript/tests/js/main.js +123 -0
  90. data/vendor/coffeescript/coffeescript/vendor/ParserGenerator/LICENSE.txt +10 -0
  91. data/vendor/coffeescript/coffeescript/vendor/ParserGenerator/PHP/Lempar.php +948 -0
  92. data/vendor/coffeescript/coffeescript/vendor/ParserGenerator/PHP/ParserGenerator/Action.php +257 -0
  93. data/vendor/coffeescript/coffeescript/vendor/ParserGenerator/PHP/ParserGenerator/ActionTable.php +299 -0
  94. data/vendor/coffeescript/coffeescript/vendor/ParserGenerator/PHP/ParserGenerator/Config.php +574 -0
  95. data/vendor/coffeescript/coffeescript/vendor/ParserGenerator/PHP/ParserGenerator/Data.php +1857 -0
  96. data/vendor/coffeescript/coffeescript/vendor/ParserGenerator/PHP/ParserGenerator/Parser.php +851 -0
  97. data/vendor/coffeescript/coffeescript/vendor/ParserGenerator/PHP/ParserGenerator/PropagationLink.php +126 -0
  98. data/vendor/coffeescript/coffeescript/vendor/ParserGenerator/PHP/ParserGenerator/Rule.php +144 -0
  99. data/vendor/coffeescript/coffeescript/vendor/ParserGenerator/PHP/ParserGenerator/State.php +283 -0
  100. data/vendor/coffeescript/coffeescript/vendor/ParserGenerator/PHP/ParserGenerator/Symbol.php +288 -0
  101. data/vendor/coffeescript/coffeescript/vendor/ParserGenerator/PHP/ParserGenerator/cli.php +5 -0
  102. data/vendor/coffeescript/coffeescript/vendor/ParserGenerator/ParserGenerator.php +811 -0
  103. data/vendor/composer/ClassLoader.php +383 -0
  104. data/vendor/composer/autoload_classmap.php +9 -0
  105. data/vendor/composer/autoload_namespaces.php +12 -0
  106. data/vendor/composer/autoload_psr4.php +10 -0
  107. data/vendor/composer/autoload_real.php +50 -0
  108. data/vendor/composer/installed.json +166 -0
  109. data/vendor/michelf/php-markdown/License.md +36 -0
  110. data/vendor/michelf/php-markdown/Michelf/Markdown.inc.php +10 -0
  111. data/vendor/michelf/php-markdown/Michelf/Markdown.php +3117 -0
  112. data/vendor/michelf/php-markdown/Michelf/MarkdownExtra.inc.php +11 -0
  113. data/vendor/michelf/php-markdown/Michelf/MarkdownExtra.php +38 -0
  114. data/vendor/michelf/php-markdown/Michelf/MarkdownInterface.inc.php +9 -0
  115. data/vendor/michelf/php-markdown/Michelf/MarkdownInterface.php +37 -0
  116. data/vendor/michelf/php-markdown/Readme.md +305 -0
  117. data/vendor/michelf/php-markdown/Readme.php +31 -0
  118. data/vendor/michelf/php-markdown/composer.json +31 -0
  119. data/vendor/mthaml/mthaml/CHANGELOG +48 -0
  120. data/vendor/mthaml/mthaml/LICENSE +44 -0
  121. data/vendor/mthaml/mthaml/README.markdown +262 -0
  122. data/vendor/mthaml/mthaml/composer.json +45 -0
  123. data/vendor/mthaml/mthaml/docs/Makefile +153 -0
  124. data/vendor/mthaml/mthaml/docs/_static/mthaml.css +30 -0
  125. data/vendor/mthaml/mthaml/docs/_theme/mthaml/theme.conf +4 -0
  126. data/vendor/mthaml/mthaml/docs/conf.py +242 -0
  127. data/vendor/mthaml/mthaml/docs/index.rst +18 -0
  128. data/vendor/mthaml/mthaml/docs/twig-syntax.rst +274 -0
  129. data/vendor/mthaml/mthaml/examples/README.md +5 -0
  130. data/vendor/mthaml/mthaml/examples/autoload.php +8 -0
  131. data/vendor/mthaml/mthaml/examples/example-php.haml +5 -0
  132. data/vendor/mthaml/mthaml/examples/example-php.php +37 -0
  133. data/vendor/mthaml/mthaml/examples/example-twig-noext.twig +11 -0
  134. data/vendor/mthaml/mthaml/examples/example-twig.haml +9 -0
  135. data/vendor/mthaml/mthaml/examples/example-twig.php +60 -0
  136. data/vendor/mthaml/mthaml/examples/example.twig.haml +8 -0
  137. data/vendor/mthaml/mthaml/lib/MtHaml/Autoloader.php +22 -0
  138. data/vendor/mthaml/mthaml/lib/MtHaml/Environment.php +178 -0
  139. data/vendor/mthaml/mthaml/lib/MtHaml/Escaping.php +33 -0
  140. data/vendor/mthaml/mthaml/lib/MtHaml/Exception.php +9 -0
  141. data/vendor/mthaml/mthaml/lib/MtHaml/Exception/SyntaxErrorException.php +9 -0
  142. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/AbstractFilter.php +43 -0
  143. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Cdata.php +16 -0
  144. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/CoffeeScript.php +33 -0
  145. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Css.php +26 -0
  146. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Escaped.php +22 -0
  147. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/FilterInterface.php +15 -0
  148. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Javascript.php +26 -0
  149. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Less.php +27 -0
  150. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Less/LeafoLess.php +20 -0
  151. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Less/OyejorgeLess.php +23 -0
  152. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Markdown.php +58 -0
  153. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Markdown/CebeMarkdown.php +22 -0
  154. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Markdown/Ciconia.php +21 -0
  155. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Markdown/MichelfMarkdown.php +21 -0
  156. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Markdown/Parsedown.php +21 -0
  157. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Php.php +37 -0
  158. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Plain.php +24 -0
  159. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Preserve.php +19 -0
  160. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Scss.php +37 -0
  161. data/vendor/mthaml/mthaml/lib/MtHaml/Filter/Twig.php +47 -0
  162. data/vendor/mthaml/mthaml/lib/MtHaml/Indentation/Indentation.php +96 -0
  163. data/vendor/mthaml/mthaml/lib/MtHaml/Indentation/IndentationException.php +9 -0
  164. data/vendor/mthaml/mthaml/lib/MtHaml/Indentation/IndentationInterface.php +50 -0
  165. data/vendor/mthaml/mthaml/lib/MtHaml/Indentation/Undefined.php +41 -0
  166. data/vendor/mthaml/mthaml/lib/MtHaml/Node/Comment.php +71 -0
  167. data/vendor/mthaml/mthaml/lib/MtHaml/Node/Doctype.php +96 -0
  168. data/vendor/mthaml/mthaml/lib/MtHaml/Node/EscapableAbstract.php +19 -0
  169. data/vendor/mthaml/mthaml/lib/MtHaml/Node/Filter.php +51 -0
  170. data/vendor/mthaml/mthaml/lib/MtHaml/Node/Insert.php +42 -0
  171. data/vendor/mthaml/mthaml/lib/MtHaml/Node/InterpolatedString.php +73 -0
  172. data/vendor/mthaml/mthaml/lib/MtHaml/Node/NestAbstract.php +117 -0
  173. data/vendor/mthaml/mthaml/lib/MtHaml/Node/NestInterface.php +10 -0
  174. data/vendor/mthaml/mthaml/lib/MtHaml/Node/NodeAbstract.php +77 -0
  175. data/vendor/mthaml/mthaml/lib/MtHaml/Node/ObjectRefClass.php +42 -0
  176. data/vendor/mthaml/mthaml/lib/MtHaml/Node/ObjectRefId.php +42 -0
  177. data/vendor/mthaml/mthaml/lib/MtHaml/Node/Root.php +35 -0
  178. data/vendor/mthaml/mthaml/lib/MtHaml/Node/Run.php +71 -0
  179. data/vendor/mthaml/mthaml/lib/MtHaml/Node/Statement.php +45 -0
  180. data/vendor/mthaml/mthaml/lib/MtHaml/Node/Tag.php +90 -0
  181. data/vendor/mthaml/mthaml/lib/MtHaml/Node/TagAttribute.php +62 -0
  182. data/vendor/mthaml/mthaml/lib/MtHaml/Node/TagAttributeInterpolation.php +24 -0
  183. data/vendor/mthaml/mthaml/lib/MtHaml/Node/TagAttributeList.php +24 -0
  184. data/vendor/mthaml/mthaml/lib/MtHaml/Node/Text.php +37 -0
  185. data/vendor/mthaml/mthaml/lib/MtHaml/NodeVisitor/Autoclose.php +25 -0
  186. data/vendor/mthaml/mthaml/lib/MtHaml/NodeVisitor/Escaping.php +105 -0
  187. data/vendor/mthaml/mthaml/lib/MtHaml/NodeVisitor/MergeAttrs.php +110 -0
  188. data/vendor/mthaml/mthaml/lib/MtHaml/NodeVisitor/Midblock.php +37 -0
  189. data/vendor/mthaml/mthaml/lib/MtHaml/NodeVisitor/NodeVisitorAbstract.php +226 -0
  190. data/vendor/mthaml/mthaml/lib/MtHaml/NodeVisitor/NodeVisitorInterface.php +97 -0
  191. data/vendor/mthaml/mthaml/lib/MtHaml/NodeVisitor/PhpRenderer.php +288 -0
  192. data/vendor/mthaml/mthaml/lib/MtHaml/NodeVisitor/Printer.php +265 -0
  193. data/vendor/mthaml/mthaml/lib/MtHaml/NodeVisitor/RendererAbstract.php +581 -0
  194. data/vendor/mthaml/mthaml/lib/MtHaml/NodeVisitor/TwigRenderer.php +252 -0
  195. data/vendor/mthaml/mthaml/lib/MtHaml/Parser.php +862 -0
  196. data/vendor/mthaml/mthaml/lib/MtHaml/Parser/Buffer.php +147 -0
  197. data/vendor/mthaml/mthaml/lib/MtHaml/Runtime.php +218 -0
  198. data/vendor/mthaml/mthaml/lib/MtHaml/Runtime/AttributeInterpolation.php +16 -0
  199. data/vendor/mthaml/mthaml/lib/MtHaml/Runtime/AttributeList.php +16 -0
  200. data/vendor/mthaml/mthaml/lib/MtHaml/Support/Php/Executor.php +157 -0
  201. data/vendor/mthaml/mthaml/lib/MtHaml/Support/Twig/Extension.php +47 -0
  202. data/vendor/mthaml/mthaml/lib/MtHaml/Support/Twig/Lexer.php +48 -0
  203. data/vendor/mthaml/mthaml/lib/MtHaml/Support/Twig/Loader.php +81 -0
  204. data/vendor/mthaml/mthaml/lib/MtHaml/Target/Php.php +23 -0
  205. data/vendor/mthaml/mthaml/lib/MtHaml/Target/TargetAbstract.php +87 -0
  206. data/vendor/mthaml/mthaml/lib/MtHaml/Target/TargetInterface.php +12 -0
  207. data/vendor/mthaml/mthaml/lib/MtHaml/Target/Twig.php +23 -0
  208. data/vendor/mthaml/mthaml/lib/MtHaml/TreeBuilder.php +100 -0
  209. data/vendor/mthaml/mthaml/lib/MtHaml/TreeBuilderException.php +9 -0
  210. data/vendor/mthaml/mthaml/phpunit.xml +25 -0
  211. data/vendor/mthaml/mthaml/test/MtHaml/Tests/EnvironmentTest.php +59 -0
  212. data/vendor/mthaml/mthaml/test/MtHaml/Tests/HamlSpecTest.php +83 -0
  213. data/vendor/mthaml/mthaml/test/MtHaml/Tests/IndentationTest.php +140 -0
  214. data/vendor/mthaml/mthaml/test/MtHaml/Tests/Node/DoctypeTest.php +51 -0
  215. data/vendor/mthaml/mthaml/test/MtHaml/Tests/Node/NodeTest.php +110 -0
  216. data/vendor/mthaml/mthaml/test/MtHaml/Tests/NodeVisitor/PhpRendererTest.php +113 -0
  217. data/vendor/mthaml/mthaml/test/MtHaml/Tests/NodeVisitor/TwigRendererTest.php +68 -0
  218. data/vendor/mthaml/mthaml/test/MtHaml/Tests/NodeVisitorsTest.php +44 -0
  219. data/vendor/mthaml/mthaml/test/MtHaml/Tests/Parser/BufferTest.php +77 -0
  220. data/vendor/mthaml/mthaml/test/MtHaml/Tests/ParserTest.php +47 -0
  221. data/vendor/mthaml/mthaml/test/MtHaml/Tests/RuntimeTest.php +356 -0
  222. data/vendor/mthaml/mthaml/test/MtHaml/Tests/Support/Php/ExecutorTest.php +83 -0
  223. data/vendor/mthaml/mthaml/test/MtHaml/Tests/Support/Twig/LoaderTest.php +65 -0
  224. data/vendor/mthaml/mthaml/test/MtHaml/Tests/TestCase.php +49 -0
  225. data/vendor/mthaml/mthaml/test/MtHaml/Tests/TestCaseTest.php +50 -0
  226. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/Support/Php/Executor.001.haml +1 -0
  227. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/attr_list_php.test +20 -0
  228. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/attr_list_twig.test +12 -0
  229. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/boolean_attr_php.test +16 -0
  230. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/boolean_attr_twig.test +16 -0
  231. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/bug28_php.test +15 -0
  232. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/bug28_twig.test +15 -0
  233. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/bug42.test +13 -0
  234. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/bug8_twig.test +10 -0
  235. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/coffeescript_filter.test +31 -0
  236. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/comments.test +26 -0
  237. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/cond_cmt.test +25 -0
  238. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/doctype.test +18 -0
  239. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/doctype_html4.test +20 -0
  240. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/doctype_invalid.test +12 -0
  241. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/doctype_invalid_xhtml.test +12 -0
  242. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/doctype_php.test +18 -0
  243. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/doctype_xhtml.test +30 -0
  244. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/filters.test +51 -0
  245. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/insert_non_echo_php.test +11 -0
  246. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/insert_non_echo_twig.test +11 -0
  247. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/interpolation_in_html_attrs_php.test +31 -0
  248. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/interpolation_in_html_attrs_twig.test +31 -0
  249. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/less_filter_leafo.test +33 -0
  250. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/less_filter_oyejorge.test +49 -0
  251. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/markdown_filter_cebemarkdown.test +35 -0
  252. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/markdown_filter_ciconia.test +36 -0
  253. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/markdown_filter_michelf.test +34 -0
  254. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/markdown_filter_parsedown.test +31 -0
  255. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/markdown_optimization_filter_michelf.test +23 -0
  256. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/mergeattrs.test +18 -0
  257. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/nuke_inner_whitespace.test +77 -0
  258. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/nuke_outer_whitespace.test +122 -0
  259. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/object_ref_php.test +14 -0
  260. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/object_ref_twig.test +14 -0
  261. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/php.test +109 -0
  262. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/php_autoescaping.test +22 -0
  263. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/php_autoescaping_once.test +25 -0
  264. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/php_blocks.test +29 -0
  265. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/php_filters.test +42 -0
  266. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/scss_filter.test +32 -0
  267. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/strip_inline_comments_php.test +22 -0
  268. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/test.test +24 -0
  269. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/trailing_semicolon_php.test +14 -0
  270. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/try_catch_php.test +17 -0
  271. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/twig.test +112 -0
  272. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/twig_blocks.test +29 -0
  273. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/twig_filters.test +37 -0
  274. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/twig_whitespace.test +32 -0
  275. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/environment/whitespace.test +63 -0
  276. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/nodevisitors/autoclose.test +30 -0
  277. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/nodevisitors/escaping.test +52 -0
  278. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/nodevisitors/escaping_attr_once.test +52 -0
  279. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/nodevisitors/escaping_html_false.test +52 -0
  280. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/nodevisitors/mergeattrs.test +26 -0
  281. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/nodevisitors/midblock.test +54 -0
  282. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/nodevisitors/midblock_002.test +32 -0
  283. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/attr_list.test +14 -0
  284. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/attrs.test +42 -0
  285. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/attrs_002.test +35 -0
  286. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/attrs_003.test +30 -0
  287. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/attrs_html_linebreak.test +17 -0
  288. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/blocks.test +27 -0
  289. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/blocks_002.test +15 -0
  290. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/boolean_attr.test +19 -0
  291. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/bug28.test +15 -0
  292. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/bug8.test +11 -0
  293. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/cond_cmt.test +23 -0
  294. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/doctype.test +11 -0
  295. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/double_equal.test +7 -0
  296. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/empty_line_after_multiline.test +10 -0
  297. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_001.test +8 -0
  298. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_002.test +8 -0
  299. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_003.test +8 -0
  300. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_004.test +6 -0
  301. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_005.test +5 -0
  302. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_006.test +7 -0
  303. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_007.test +7 -0
  304. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_008.test +7 -0
  305. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_009.test +5 -0
  306. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_010.test +5 -0
  307. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_013.test +5 -0
  308. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_016.test +7 -0
  309. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_017.test +8 -0
  310. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_018.test +6 -0
  311. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_019.test +6 -0
  312. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/errors_020.test +5 -0
  313. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/filters.test +20 -0
  314. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/filters_002.test +19 -0
  315. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/filters_003.test +13 -0
  316. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/filters_004.test +21 -0
  317. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/filters_005.test +22 -0
  318. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/filters_006.test +23 -0
  319. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/insertflags.test +17 -0
  320. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/interpolation.test +36 -0
  321. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/interpolation_in_html_attrs.test +17 -0
  322. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/multiline.test +18 -0
  323. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/multiline_code.test +59 -0
  324. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/multiple_attr_kinds.test +47 -0
  325. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/non_rendered_comment.test +31 -0
  326. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/ns.test +11 -0
  327. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/object_ref.test +22 -0
  328. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/object_ref_error1.test +5 -0
  329. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/object_ref_error2.test +5 -0
  330. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/quotes_in_haml.test +10 -0
  331. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/ruby19_attrs.test +11 -0
  332. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/ruby_attrs_comma.test +23 -0
  333. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/ruby_attrs_comma_errors_001.test +5 -0
  334. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/ruby_attrs_comma_errors_002.test +5 -0
  335. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/ruby_attrs_comma_errors_003.test +5 -0
  336. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/standard.test +114 -0
  337. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/parser/tagflags.test +39 -0
  338. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/runtime/php_filters.test +28 -0
  339. data/vendor/mthaml/mthaml/test/MtHaml/Tests/fixtures/runtime/twig_filters.test +31 -0
  340. data/vendor/mthaml/mthaml/test/bootstrap.php +3 -0
  341. metadata +398 -0
@@ -0,0 +1,105 @@
1
+ <?php
2
+
3
+ namespace CoffeeScript;
4
+
5
+ Init::init();
6
+
7
+ define('LEVEL_TOP', 1);
8
+ define('LEVEL_PAREN', 2);
9
+ define('LEVEL_LIST', 3);
10
+ define('LEVEL_COND', 4);
11
+ define('LEVEL_OP', 5);
12
+ define('LEVEL_ACCESS', 6);
13
+
14
+ define('TAB', ' ');
15
+
16
+ define('IDENTIFIER_STR', '[$A-Za-z_\x7f-\x{ffff}][$\w\x7f-\x{ffff}]*');
17
+ define('IDENTIFIER', '/^'.IDENTIFIER_STR.'$/u');
18
+ define('IS_STRING', '/^[\'"]/');
19
+ define('SIMPLENUM', '/^[+-]?\d+$/');
20
+ define('METHOD_DEF', '/^(?:('.IDENTIFIER_STR.')\.prototype(?:\.('.IDENTIFIER_STR.')|\[("(?:[^\\\\"\r\n]|\\\\.)*"|\'(?:[^\\\\\'\r\n]|\\\\.)*\')\]|\[(0x[\da-fA-F]+|\d*\.?\d+(?:[eE][+-]?\d+)?)\]))|('.IDENTIFIER_STR.')$/u');
21
+
22
+ class Nodes {
23
+
24
+ static function multident($code, $tab)
25
+ {
26
+ $code = preg_replace('/\n/', "\n{$tab}", $code);
27
+ return preg_replace('/\s+$/', '', $code);
28
+ }
29
+
30
+ static function unfold_soak($options, $parent, $name)
31
+ {
32
+ if ( ! (isset($parent->{$name}) && $parent->{$name} && $ifn = $parent->{$name}->unfold_soak($options)))
33
+ {
34
+ return NULL;
35
+ }
36
+
37
+ $parent->{$name} = $ifn->body;
38
+ $ifn->body = yy('Value', $parent);
39
+
40
+ return $ifn;
41
+ }
42
+
43
+ static function utility($name)
44
+ {
45
+ Scope::$root->assign($ref = "__$name", call_user_func(array(__CLASS__, "utility_$name")));
46
+
47
+ return $ref;
48
+ }
49
+
50
+ static function utility_bind()
51
+ {
52
+ return 'function(fn, me){ return function(){ return fn.apply(me, arguments); }; }';
53
+ }
54
+
55
+ static function utility_extends()
56
+ {
57
+ return 'function(child, parent) { '
58
+ . 'for (var key in parent) { '
59
+ . 'if ('.self::utility('hasProp').'.call(parent, key)) '
60
+ . 'child[key] = parent[key]; '
61
+ . '} '
62
+ . 'function ctor() { '
63
+ . 'this.constructor = child; '
64
+ . '} '
65
+ . 'ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype; '
66
+ . 'return child; '
67
+ . '}';
68
+ }
69
+
70
+ static function utility_hasProp()
71
+ {
72
+ return '{}.hasOwnProperty';
73
+ }
74
+
75
+ static function utility_indexOf()
76
+ {
77
+ return '[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }';
78
+ }
79
+
80
+ static function utility_slice()
81
+ {
82
+ return '[].slice';
83
+ }
84
+
85
+ /**
86
+ * Since PHP can't return values from __construct, and some of the node
87
+ * classes rely heavily on this feature in JavaScript, we use this function
88
+ * instead of 'new'.
89
+ */
90
+ static function yy($type)
91
+ {
92
+ $args = func_get_args();
93
+ array_shift($args);
94
+
95
+ $type = __NAMESPACE__.'\yy_'.$type;
96
+
97
+ $inst = new $type;
98
+ $inst = call_user_func_array(array($inst, 'constructor'), $args);
99
+
100
+ return $inst;
101
+ }
102
+
103
+ }
104
+
105
+ ?>
@@ -0,0 +1,3326 @@
1
+ <?php
2
+ namespace CoffeeScript;
3
+ use \ArrayAccess as ArrayAccess;
4
+ Init::init();
5
+
6
+ /* Driver template for the PHP_ParserGenerator parser generator. (PHP port of LEMON)
7
+ */
8
+
9
+ /**
10
+ * This can be used to store both the string representation of
11
+ * a token, and any useful meta-data associated with the token.
12
+ *
13
+ * meta-data should be stored as an array
14
+ */
15
+ class yyToken implements ArrayAccess
16
+ {
17
+ public $string = '';
18
+ public $metadata = array();
19
+
20
+ function __construct($s, $m = array())
21
+ {
22
+ if ($s instanceof yyToken) {
23
+ $this->string = $s->string;
24
+ $this->metadata = $s->metadata;
25
+ } else {
26
+ $this->string = (string) $s;
27
+ if ($m instanceof yyToken) {
28
+ $this->metadata = $m->metadata;
29
+ } elseif (is_array($m)) {
30
+ $this->metadata = $m;
31
+ }
32
+ }
33
+ }
34
+
35
+ function __toString()
36
+ {
37
+ return $this->string;
38
+ }
39
+
40
+ function offsetExists($offset)
41
+ {
42
+ return isset($this->metadata[$offset]);
43
+ }
44
+
45
+ function offsetGet($offset)
46
+ {
47
+ return $this->metadata[$offset];
48
+ }
49
+
50
+ function offsetSet($offset, $value)
51
+ {
52
+ if ($offset === null) {
53
+ if (isset($value[0])) {
54
+ $x = ($value instanceof yyToken) ?
55
+ $value->metadata : $value;
56
+ $this->metadata = array_merge($this->metadata, $x);
57
+ return;
58
+ }
59
+ $offset = count($this->metadata);
60
+ }
61
+ if ($value === null) {
62
+ return;
63
+ }
64
+ if ($value instanceof yyToken) {
65
+ if ($value->metadata) {
66
+ $this->metadata[$offset] = $value->metadata;
67
+ }
68
+ } elseif ($value) {
69
+ $this->metadata[$offset] = $value;
70
+ }
71
+ }
72
+
73
+ function offsetUnset($offset)
74
+ {
75
+ unset($this->metadata[$offset]);
76
+ }
77
+ }
78
+
79
+ /** The following structure represents a single element of the
80
+ * parser's stack. Information stored includes:
81
+ *
82
+ * + The state number for the parser at this level of the stack.
83
+ *
84
+ * + The value of the token stored at this level of the stack.
85
+ * (In other words, the "major" token.)
86
+ *
87
+ * + The semantic value stored at this level of the stack. This is
88
+ * the information used by the action routines in the grammar.
89
+ * It is sometimes called the "minor" token.
90
+ */
91
+ class yyStackEntry
92
+ {
93
+ public $stateno; /* The state-number */
94
+ public $major; /* The major token value. This is the code
95
+ ** number for the token at this stack level */
96
+ public $minor; /* The user-supplied minor token value. This
97
+ ** is the value of the token */
98
+ };
99
+
100
+ // code external to the class is included here
101
+
102
+ // declare_class is output here
103
+ #line 2 "/var/www/coffeescript-php/grammar.y"
104
+ class Parser #line 102 "/var/www/coffeescript-php/grammar.php"
105
+ {
106
+ static $LINE = 0;
107
+ static $FILE = 'unknown';
108
+
109
+ /* First off, code is included which follows the "include_class" declaration
110
+ ** in the input file. */
111
+
112
+ /* Next is all token values, as class constants
113
+ */
114
+ /*
115
+ ** These constants (all generated automatically by the parser generator)
116
+ ** specify the various kinds of tokens (terminals) that the parser
117
+ ** understands.
118
+ **
119
+ ** Each symbol here is a terminal symbol in the grammar.
120
+ */
121
+ const YY_POST_IF = 1;
122
+ const YY_IF = 2;
123
+ const YY_ELSE = 3;
124
+ const YY_FOR = 4;
125
+ const YY_WHILE = 5;
126
+ const YY_UNTIL = 6;
127
+ const YY_LOOP = 7;
128
+ const YY_SUPER = 8;
129
+ const YY_CLASS = 9;
130
+ const YY_FORIN = 10;
131
+ const YY_FOROF = 11;
132
+ const YY_BY = 12;
133
+ const YY_WHEN = 13;
134
+ const YY_EQUALS = 14;
135
+ const YY_COLON = 15;
136
+ const YY_COMPOUND_ASSIGN = 16;
137
+ const YY_RETURN = 17;
138
+ const YY_THROW = 18;
139
+ const YY_EXTENDS = 19;
140
+ const YY_INDENT = 20;
141
+ const YY_OUTDENT = 21;
142
+ const YY_LOGIC = 22;
143
+ const YY_COMPARE = 23;
144
+ const YY_RELATION = 24;
145
+ const YY_SHIFT = 25;
146
+ const YY_MATH = 26;
147
+ const YY_PLUS = 27;
148
+ const YY_MINUS = 28;
149
+ const YY_UNARY = 29;
150
+ const YY_EXISTENTIAL = 30;
151
+ const YY_INCREMENT = 31;
152
+ const YY_DECREMENT = 32;
153
+ const YY_CALL_START = 33;
154
+ const YY_CALL_END = 34;
155
+ const YY_ACCESSOR = 35;
156
+ const YY_EXISTENTIAL_ACCESSOR = 36;
157
+ const YY_PROTOTYPE = 37;
158
+ const YY_TERMINATOR = 38;
159
+ const YY_STATEMENT = 39;
160
+ const YY_IDENTIFIER = 40;
161
+ const YY_NUMBER = 41;
162
+ const YY_STRING = 42;
163
+ const YY_JS = 43;
164
+ const YY_REGEX = 44;
165
+ const YY_DEBUGGER = 45;
166
+ const YY_BOOL = 46;
167
+ const YY_HERECOMMENT = 47;
168
+ const YY_PARAM_START = 48;
169
+ const YY_PARAM_END = 49;
170
+ const YY_FUNC = 50;
171
+ const YY_BOUND_FUNC = 51;
172
+ const YY_COMMA = 52;
173
+ const YY_RANGE_EXCLUSIVE = 53;
174
+ const YY_INDEX_START = 54;
175
+ const YY_INDEX_END = 55;
176
+ const YY_INDEX_SOAK = 56;
177
+ const YY_OBJECT_START = 57;
178
+ const YY_OBJECT_END = 58;
179
+ const YY_FUNC_EXIST = 59;
180
+ const YY_THIS = 60;
181
+ const YY_AT_SIGN = 61;
182
+ const YY_ARRAY_START = 62;
183
+ const YY_ARRAY_END = 63;
184
+ const YY_RANGE_INCLUSIVE = 64;
185
+ const YY_TRY = 65;
186
+ const YY_FINALLY = 66;
187
+ const YY_CATCH = 67;
188
+ const YY_PAREN_START = 68;
189
+ const YY_PAREN_END = 69;
190
+ const YY_OWN = 70;
191
+ const YY_SWITCH = 71;
192
+ const YY_LEADING_WHEN = 72;
193
+ const YY_NO_ACTION = 512;
194
+ const YY_ACCEPT_ACTION = 511;
195
+ const YY_ERROR_ACTION = 510;
196
+
197
+ /* Next are that tables used to determine what action to take based on the
198
+ ** current state and lookahead token. These tables are used to implement
199
+ ** functions that take a state number and lookahead value and return an
200
+ ** action integer.
201
+ **
202
+ ** Suppose the action integer is N. Then the action is determined as
203
+ ** follows
204
+ **
205
+ ** 0 <= N < self::YYNSTATE Shift N. That is,
206
+ ** push the lookahead
207
+ ** token onto the stack
208
+ ** and goto state N.
209
+ **
210
+ ** self::YYNSTATE <= N < self::YYNSTATE+self::YYNRULE Reduce by rule N-YYNSTATE.
211
+ **
212
+ ** N == self::YYNSTATE+self::YYNRULE A syntax error has occurred.
213
+ **
214
+ ** N == self::YYNSTATE+self::YYNRULE+1 The parser accepts its
215
+ ** input. (and concludes parsing)
216
+ **
217
+ ** N == self::YYNSTATE+self::YYNRULE+2 No such action. Denotes unused
218
+ ** slots in the yy_action[] table.
219
+ **
220
+ ** The action table is constructed as a single large static array $yy_action.
221
+ ** Given state S and lookahead X, the action is computed as
222
+ **
223
+ ** self::$yy_action[self::$yy_shift_ofst[S] + X ]
224
+ **
225
+ ** If the index value self::$yy_shift_ofst[S]+X is out of range or if the value
226
+ ** self::$yy_lookahead[self::$yy_shift_ofst[S]+X] is not equal to X or if
227
+ ** self::$yy_shift_ofst[S] is equal to self::YY_SHIFT_USE_DFLT, it means that
228
+ ** the action is not in the table and that self::$yy_default[S] should be used instead.
229
+ **
230
+ ** The formula above is for computing the action when the lookahead is
231
+ ** a terminal symbol. If the lookahead is a non-terminal (as occurs after
232
+ ** a reduce action) then the static $yy_reduce_ofst array is used in place of
233
+ ** the static $yy_shift_ofst array and self::YY_REDUCE_USE_DFLT is used in place of
234
+ ** self::YY_SHIFT_USE_DFLT.
235
+ **
236
+ ** The following are the tables generated in this section:
237
+ **
238
+ ** self::$yy_action A single table containing all actions.
239
+ ** self::$yy_lookahead A table containing the lookahead for each entry in
240
+ ** yy_action. Used to detect hash collisions.
241
+ ** self::$yy_shift_ofst For each state, the offset into self::$yy_action for
242
+ ** shifting terminals.
243
+ ** self::$yy_reduce_ofst For each state, the offset into self::$yy_action for
244
+ ** shifting non-terminals after a reduce.
245
+ ** self::$yy_default Default action for each state.
246
+ */
247
+ const YY_SZ_ACTTAB = 4561;
248
+ static public $yy_action = array(
249
+ /* 0 */ 511, 181, 186, 235, 90, 118, 254, 255, 111, 109,
250
+ /* 10 */ 266, 267, 264, 263, 259, 260, 261, 262, 246, 245,
251
+ /* 20 */ 237, 232, 300, 178, 32, 34, 238, 309, 158, 304,
252
+ /* 30 */ 35, 19, 269, 299, 4, 164, 132, 301, 298, 297,
253
+ /* 40 */ 39, 21, 36, 22, 20, 32, 34, 225, 309, 226,
254
+ /* 50 */ 135, 154, 291, 147, 135, 20, 32, 34, 65, 309,
255
+ /* 60 */ 183, 70, 117, 254, 255, 111, 109, 266, 267, 264,
256
+ /* 70 */ 263, 259, 260, 261, 262, 246, 245, 237, 232, 300,
257
+ /* 80 */ 178, 151, 152, 238, 251, 158, 251, 230, 231, 269,
258
+ /* 90 */ 299, 287, 164, 234, 301, 298, 297, 21, 36, 22,
259
+ /* 100 */ 20, 32, 34, 139, 309, 283, 241, 144, 154, 291,
260
+ /* 110 */ 147, 135, 243, 13, 244, 135, 8, 183, 69, 117,
261
+ /* 120 */ 254, 255, 111, 109, 266, 267, 264, 263, 259, 260,
262
+ /* 130 */ 261, 262, 246, 245, 237, 232, 300, 178, 130, 8,
263
+ /* 140 */ 238, 66, 158, 242, 306, 200, 269, 299, 52, 164,
264
+ /* 150 */ 169, 301, 298, 297, 16, 185, 222, 45, 201, 195,
265
+ /* 160 */ 13, 44, 191, 180, 199, 154, 291, 147, 135, 268,
266
+ /* 170 */ 239, 37, 26, 159, 183, 77, 117, 254, 255, 111,
267
+ /* 180 */ 109, 266, 267, 264, 263, 259, 260, 261, 262, 246,
268
+ /* 190 */ 245, 237, 232, 300, 178, 128, 272, 238, 310, 158,
269
+ /* 200 */ 129, 272, 293, 269, 299, 287, 164, 1, 301, 298,
270
+ /* 210 */ 297, 179, 36, 22, 20, 32, 34, 138, 309, 283,
271
+ /* 220 */ 40, 292, 154, 291, 147, 135, 275, 131, 13, 240,
272
+ /* 230 */ 236, 183, 77, 117, 254, 255, 111, 109, 266, 267,
273
+ /* 240 */ 264, 263, 259, 260, 261, 262, 246, 245, 237, 232,
274
+ /* 250 */ 300, 178, 280, 277, 238, 75, 158, 205, 150, 202,
275
+ /* 260 */ 269, 299, 287, 164, 190, 301, 298, 297, 22, 20,
276
+ /* 270 */ 32, 34, 207, 309, 139, 225, 283, 226, 135, 154,
277
+ /* 280 */ 291, 147, 135, 13, 206, 198, 17, 302, 183, 77,
278
+ /* 290 */ 117, 254, 255, 111, 109, 266, 267, 264, 263, 259,
279
+ /* 300 */ 260, 261, 262, 246, 245, 237, 232, 300, 178, 220,
280
+ /* 310 */ 251, 238, 251, 158, 271, 307, 15, 269, 299, 287,
281
+ /* 320 */ 164, 165, 301, 298, 297, 305, 5, 62, 227, 62,
282
+ /* 330 */ 207, 140, 3, 283, 2, 176, 154, 291, 147, 135,
283
+ /* 340 */ 68, 187, 206, 198, 11, 183, 77, 117, 254, 255,
284
+ /* 350 */ 111, 109, 266, 267, 264, 263, 259, 260, 261, 262,
285
+ /* 360 */ 246, 245, 237, 232, 300, 178, 211, 184, 238, 286,
286
+ /* 370 */ 158, 5, 285, 248, 269, 299, 287, 164, 258, 301,
287
+ /* 380 */ 298, 297, 381, 252, 381, 381, 381, 250, 145, 11,
288
+ /* 390 */ 283, 155, 9, 154, 291, 147, 135, 166, 247, 270,
289
+ /* 400 */ 149, 308, 183, 381, 309, 381, 14, 175, 381, 235,
290
+ /* 410 */ 90, 118, 254, 255, 111, 109, 266, 267, 264, 263,
291
+ /* 420 */ 259, 260, 261, 262, 246, 245, 237, 232, 300, 178,
292
+ /* 430 */ 278, 170, 238, 295, 158, 182, 376, 249, 269, 299,
293
+ /* 440 */ 168, 164, 134, 301, 298, 297, 56, 279, 67, 47,
294
+ /* 450 */ 24, 12, 160, 58, 376, 276, 189, 154, 291, 147,
295
+ /* 460 */ 135, 57, 25, 265, 6, 167, 183, 177, 376, 333,
296
+ /* 470 */ 257, 42, 43, 50, 250, 59, 60, 28, 142, 376,
297
+ /* 480 */ 67, 47, 24, 256, 251, 230, 231, 233, 229, 228,
298
+ /* 490 */ 224, 234, 63, 61, 240, 236, 225, 333, 226, 135,
299
+ /* 500 */ 333, 62, 333, 333, 303, 153, 3, 288, 333, 148,
300
+ /* 510 */ 55, 64, 7, 333, 207, 18, 333, 333, 56, 333,
301
+ /* 520 */ 67, 47, 24, 12, 160, 58, 206, 198, 8, 221,
302
+ /* 530 */ 333, 193, 217, 57, 25, 219, 53, 333, 333, 214,
303
+ /* 540 */ 173, 204, 208, 42, 43, 50, 333, 59, 60, 333,
304
+ /* 550 */ 218, 184, 143, 333, 54, 256, 251, 230, 231, 233,
305
+ /* 560 */ 229, 228, 224, 234, 63, 212, 240, 236, 51, 333,
306
+ /* 570 */ 223, 333, 225, 62, 226, 135, 303, 153, 3, 27,
307
+ /* 580 */ 333, 148, 333, 225, 7, 226, 135, 18, 172, 333,
308
+ /* 590 */ 235, 90, 118, 254, 255, 111, 109, 266, 267, 264,
309
+ /* 600 */ 263, 259, 260, 261, 262, 246, 245, 237, 232, 300,
310
+ /* 610 */ 178, 296, 333, 238, 225, 158, 226, 135, 333, 269,
311
+ /* 620 */ 299, 14, 164, 333, 301, 298, 297, 56, 333, 67,
312
+ /* 630 */ 47, 24, 12, 160, 58, 333, 333, 5, 154, 291,
313
+ /* 640 */ 147, 135, 57, 25, 333, 6, 333, 183, 333, 333,
314
+ /* 650 */ 333, 203, 42, 43, 50, 11, 59, 60, 333, 210,
315
+ /* 660 */ 225, 141, 226, 135, 256, 251, 230, 231, 233, 229,
316
+ /* 670 */ 228, 224, 234, 63, 333, 240, 236, 333, 333, 273,
317
+ /* 680 */ 333, 333, 62, 333, 333, 303, 153, 3, 333, 333,
318
+ /* 690 */ 148, 333, 333, 7, 333, 171, 18, 235, 90, 118,
319
+ /* 700 */ 254, 255, 111, 109, 266, 267, 264, 263, 259, 260,
320
+ /* 710 */ 261, 262, 246, 245, 237, 232, 300, 178, 333, 333,
321
+ /* 720 */ 238, 333, 158, 333, 5, 284, 269, 299, 333, 164,
322
+ /* 730 */ 14, 301, 298, 297, 56, 333, 67, 47, 24, 12,
323
+ /* 740 */ 160, 58, 11, 333, 333, 154, 291, 147, 135, 57,
324
+ /* 750 */ 25, 61, 215, 333, 183, 333, 333, 333, 333, 42,
325
+ /* 760 */ 43, 50, 333, 59, 60, 333, 333, 333, 333, 64,
326
+ /* 770 */ 333, 256, 251, 230, 231, 233, 229, 228, 224, 234,
327
+ /* 780 */ 63, 333, 240, 236, 333, 213, 333, 333, 333, 62,
328
+ /* 790 */ 333, 333, 303, 153, 3, 333, 311, 148, 333, 333,
329
+ /* 800 */ 7, 333, 333, 18, 333, 77, 117, 254, 255, 111,
330
+ /* 810 */ 109, 266, 267, 264, 263, 259, 260, 261, 262, 246,
331
+ /* 820 */ 245, 237, 232, 300, 178, 333, 333, 238, 333, 158,
332
+ /* 830 */ 333, 333, 38, 269, 299, 287, 164, 333, 301, 298,
333
+ /* 840 */ 297, 333, 39, 21, 36, 22, 20, 32, 34, 290,
334
+ /* 850 */ 309, 333, 154, 291, 147, 135, 333, 333, 333, 333,
335
+ /* 860 */ 333, 183, 77, 117, 254, 255, 111, 109, 266, 267,
336
+ /* 870 */ 264, 263, 259, 260, 261, 262, 246, 245, 237, 232,
337
+ /* 880 */ 300, 178, 333, 333, 238, 333, 158, 333, 333, 333,
338
+ /* 890 */ 269, 299, 287, 164, 333, 301, 298, 297, 333, 39,
339
+ /* 900 */ 21, 36, 22, 20, 32, 34, 282, 309, 333, 154,
340
+ /* 910 */ 291, 147, 135, 221, 333, 333, 333, 333, 183, 219,
341
+ /* 920 */ 174, 333, 333, 216, 173, 204, 208, 253, 90, 118,
342
+ /* 930 */ 254, 255, 111, 109, 266, 267, 264, 263, 259, 260,
343
+ /* 940 */ 261, 262, 246, 245, 237, 232, 300, 178, 333, 333,
344
+ /* 950 */ 238, 333, 158, 333, 333, 29, 269, 299, 333, 164,
345
+ /* 960 */ 333, 301, 298, 297, 39, 21, 36, 22, 20, 32,
346
+ /* 970 */ 34, 333, 309, 333, 333, 154, 291, 147, 135, 333,
347
+ /* 980 */ 333, 333, 333, 281, 183, 94, 117, 254, 255, 111,
348
+ /* 990 */ 109, 266, 267, 264, 263, 259, 260, 261, 262, 246,
349
+ /* 1000 */ 245, 237, 232, 300, 178, 333, 333, 238, 333, 158,
350
+ /* 1010 */ 333, 333, 333, 269, 299, 333, 164, 333, 301, 298,
351
+ /* 1020 */ 297, 56, 333, 67, 47, 24, 12, 160, 58, 333,
352
+ /* 1030 */ 333, 333, 154, 291, 147, 135, 57, 25, 333, 48,
353
+ /* 1040 */ 333, 183, 333, 333, 333, 333, 42, 43, 50, 333,
354
+ /* 1050 */ 59, 60, 333, 333, 333, 333, 333, 333, 256, 251,
355
+ /* 1060 */ 230, 231, 233, 229, 228, 224, 234, 63, 333, 240,
356
+ /* 1070 */ 236, 333, 333, 333, 333, 333, 62, 333, 333, 303,
357
+ /* 1080 */ 153, 3, 333, 333, 148, 333, 333, 7, 333, 333,
358
+ /* 1090 */ 18, 333, 333, 56, 333, 67, 47, 24, 12, 160,
359
+ /* 1100 */ 58, 333, 333, 416, 333, 137, 136, 146, 57, 25,
360
+ /* 1110 */ 333, 125, 333, 333, 333, 333, 333, 333, 42, 43,
361
+ /* 1120 */ 50, 333, 59, 60, 4, 333, 132, 333, 251, 294,
362
+ /* 1130 */ 256, 251, 230, 231, 233, 229, 228, 224, 234, 63,
363
+ /* 1140 */ 333, 240, 236, 333, 333, 62, 333, 333, 62, 144,
364
+ /* 1150 */ 2, 303, 153, 3, 333, 333, 148, 333, 333, 7,
365
+ /* 1160 */ 333, 333, 18, 333, 333, 56, 333, 67, 47, 24,
366
+ /* 1170 */ 12, 160, 58, 333, 333, 333, 333, 137, 136, 146,
367
+ /* 1180 */ 57, 25, 333, 33, 333, 333, 333, 333, 333, 333,
368
+ /* 1190 */ 42, 43, 50, 333, 59, 60, 4, 333, 132, 333,
369
+ /* 1200 */ 333, 294, 256, 251, 230, 231, 233, 229, 228, 224,
370
+ /* 1210 */ 234, 63, 333, 240, 236, 333, 333, 333, 333, 333,
371
+ /* 1220 */ 62, 333, 333, 303, 153, 3, 333, 333, 148, 333,
372
+ /* 1230 */ 333, 7, 333, 333, 18, 89, 117, 254, 255, 111,
373
+ /* 1240 */ 109, 266, 267, 264, 263, 259, 260, 261, 262, 246,
374
+ /* 1250 */ 245, 237, 232, 300, 178, 333, 333, 238, 333, 158,
375
+ /* 1260 */ 333, 333, 333, 269, 299, 333, 164, 333, 301, 298,
376
+ /* 1270 */ 297, 56, 333, 67, 47, 24, 12, 160, 58, 333,
377
+ /* 1280 */ 133, 333, 154, 291, 147, 135, 57, 25, 333, 8,
378
+ /* 1290 */ 333, 183, 333, 333, 333, 333, 42, 43, 50, 333,
379
+ /* 1300 */ 59, 60, 333, 333, 333, 333, 333, 333, 256, 251,
380
+ /* 1310 */ 230, 231, 233, 229, 228, 224, 234, 63, 333, 240,
381
+ /* 1320 */ 236, 333, 333, 333, 333, 333, 62, 333, 333, 303,
382
+ /* 1330 */ 153, 3, 333, 333, 148, 333, 333, 7, 333, 333,
383
+ /* 1340 */ 18, 333, 333, 56, 333, 67, 47, 24, 12, 160,
384
+ /* 1350 */ 58, 333, 333, 333, 333, 333, 333, 333, 57, 25,
385
+ /* 1360 */ 333, 333, 188, 333, 333, 333, 333, 333, 42, 43,
386
+ /* 1370 */ 50, 333, 59, 60, 333, 333, 333, 333, 333, 333,
387
+ /* 1380 */ 256, 251, 230, 231, 233, 229, 228, 224, 234, 63,
388
+ /* 1390 */ 333, 240, 236, 333, 333, 333, 333, 333, 62, 333,
389
+ /* 1400 */ 333, 303, 153, 3, 333, 333, 148, 333, 333, 7,
390
+ /* 1410 */ 333, 333, 18, 333, 333, 56, 333, 67, 47, 24,
391
+ /* 1420 */ 12, 160, 58, 333, 333, 333, 333, 333, 333, 333,
392
+ /* 1430 */ 57, 25, 333, 10, 333, 333, 333, 333, 333, 333,
393
+ /* 1440 */ 42, 43, 50, 333, 59, 60, 333, 333, 333, 333,
394
+ /* 1450 */ 333, 333, 256, 251, 230, 231, 233, 229, 228, 224,
395
+ /* 1460 */ 234, 63, 333, 240, 236, 333, 333, 333, 333, 333,
396
+ /* 1470 */ 62, 333, 333, 303, 153, 3, 333, 333, 148, 333,
397
+ /* 1480 */ 333, 7, 333, 333, 18, 333, 333, 56, 333, 67,
398
+ /* 1490 */ 47, 24, 12, 160, 58, 333, 333, 333, 333, 333,
399
+ /* 1500 */ 333, 333, 57, 25, 333, 6, 333, 333, 333, 333,
400
+ /* 1510 */ 333, 333, 42, 43, 50, 333, 59, 60, 333, 333,
401
+ /* 1520 */ 333, 333, 333, 333, 256, 251, 230, 231, 233, 229,
402
+ /* 1530 */ 228, 224, 234, 63, 333, 240, 236, 333, 333, 333,
403
+ /* 1540 */ 333, 333, 62, 333, 333, 303, 153, 3, 333, 333,
404
+ /* 1550 */ 148, 333, 333, 7, 333, 333, 18, 123, 117, 254,
405
+ /* 1560 */ 255, 111, 109, 266, 267, 264, 263, 259, 260, 261,
406
+ /* 1570 */ 262, 246, 245, 237, 232, 300, 178, 333, 333, 238,
407
+ /* 1580 */ 333, 158, 333, 333, 333, 269, 299, 333, 164, 333,
408
+ /* 1590 */ 301, 298, 297, 56, 333, 67, 47, 24, 12, 160,
409
+ /* 1600 */ 58, 333, 333, 333, 154, 291, 147, 135, 57, 25,
410
+ /* 1610 */ 333, 333, 333, 183, 333, 333, 333, 333, 42, 43,
411
+ /* 1620 */ 50, 333, 59, 60, 333, 333, 333, 333, 333, 333,
412
+ /* 1630 */ 256, 251, 230, 231, 233, 229, 228, 224, 234, 63,
413
+ /* 1640 */ 333, 240, 236, 333, 333, 333, 333, 333, 62, 333,
414
+ /* 1650 */ 333, 303, 153, 3, 333, 333, 148, 333, 333, 7,
415
+ /* 1660 */ 333, 333, 18, 333, 122, 117, 254, 255, 111, 109,
416
+ /* 1670 */ 266, 267, 264, 263, 259, 260, 261, 262, 246, 245,
417
+ /* 1680 */ 237, 232, 300, 178, 333, 333, 238, 333, 158, 333,
418
+ /* 1690 */ 333, 31, 269, 299, 333, 164, 333, 301, 298, 297,
419
+ /* 1700 */ 39, 21, 36, 22, 20, 32, 34, 333, 309, 333,
420
+ /* 1710 */ 333, 154, 291, 147, 135, 333, 333, 333, 333, 333,
421
+ /* 1720 */ 183, 82, 117, 254, 255, 111, 109, 266, 267, 264,
422
+ /* 1730 */ 263, 259, 260, 261, 262, 246, 245, 237, 232, 300,
423
+ /* 1740 */ 178, 333, 333, 238, 200, 158, 333, 333, 333, 269,
424
+ /* 1750 */ 299, 333, 164, 333, 301, 298, 297, 201, 195, 333,
425
+ /* 1760 */ 333, 197, 180, 199, 333, 333, 333, 333, 154, 291,
426
+ /* 1770 */ 147, 135, 333, 333, 333, 333, 333, 183, 101, 117,
427
+ /* 1780 */ 254, 255, 111, 109, 266, 267, 264, 263, 259, 260,
428
+ /* 1790 */ 261, 262, 246, 245, 237, 232, 300, 178, 333, 333,
429
+ /* 1800 */ 238, 333, 158, 333, 333, 333, 269, 299, 333, 164,
430
+ /* 1810 */ 333, 301, 298, 297, 333, 333, 333, 333, 333, 333,
431
+ /* 1820 */ 333, 333, 333, 333, 333, 154, 291, 147, 135, 333,
432
+ /* 1830 */ 333, 333, 333, 333, 183, 95, 117, 254, 255, 111,
433
+ /* 1840 */ 109, 266, 267, 264, 263, 259, 260, 261, 262, 246,
434
+ /* 1850 */ 245, 237, 232, 300, 178, 333, 333, 238, 333, 158,
435
+ /* 1860 */ 333, 333, 333, 269, 299, 333, 164, 333, 301, 298,
436
+ /* 1870 */ 297, 333, 333, 333, 333, 333, 333, 333, 333, 333,
437
+ /* 1880 */ 333, 333, 154, 291, 147, 135, 333, 333, 333, 333,
438
+ /* 1890 */ 333, 183, 96, 117, 254, 255, 111, 109, 266, 267,
439
+ /* 1900 */ 264, 263, 259, 260, 261, 262, 246, 245, 237, 232,
440
+ /* 1910 */ 300, 178, 333, 333, 238, 333, 158, 333, 333, 333,
441
+ /* 1920 */ 269, 299, 333, 164, 333, 301, 298, 297, 333, 333,
442
+ /* 1930 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 154,
443
+ /* 1940 */ 291, 147, 135, 333, 333, 333, 333, 333, 183, 100,
444
+ /* 1950 */ 117, 254, 255, 111, 109, 266, 267, 264, 263, 259,
445
+ /* 1960 */ 260, 261, 262, 246, 245, 237, 232, 300, 178, 333,
446
+ /* 1970 */ 333, 238, 333, 158, 333, 333, 333, 269, 299, 333,
447
+ /* 1980 */ 164, 333, 301, 298, 297, 333, 333, 333, 333, 333,
448
+ /* 1990 */ 333, 333, 333, 333, 333, 333, 154, 291, 147, 135,
449
+ /* 2000 */ 333, 333, 333, 333, 333, 183, 115, 117, 254, 255,
450
+ /* 2010 */ 111, 109, 266, 267, 264, 263, 259, 260, 261, 262,
451
+ /* 2020 */ 246, 245, 237, 232, 300, 178, 333, 333, 238, 333,
452
+ /* 2030 */ 158, 333, 333, 333, 269, 299, 333, 164, 333, 301,
453
+ /* 2040 */ 298, 297, 333, 333, 333, 333, 333, 333, 333, 333,
454
+ /* 2050 */ 333, 333, 333, 154, 291, 147, 135, 333, 333, 333,
455
+ /* 2060 */ 333, 333, 183, 110, 117, 254, 255, 111, 109, 266,
456
+ /* 2070 */ 267, 264, 263, 259, 260, 261, 262, 246, 245, 237,
457
+ /* 2080 */ 232, 300, 178, 333, 333, 238, 333, 158, 333, 333,
458
+ /* 2090 */ 333, 269, 299, 333, 164, 333, 301, 298, 297, 333,
459
+ /* 2100 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
460
+ /* 2110 */ 154, 291, 147, 135, 333, 333, 333, 333, 333, 183,
461
+ /* 2120 */ 84, 117, 254, 255, 111, 109, 266, 267, 264, 263,
462
+ /* 2130 */ 259, 260, 261, 262, 246, 245, 237, 232, 300, 178,
463
+ /* 2140 */ 333, 333, 238, 333, 158, 333, 333, 333, 269, 299,
464
+ /* 2150 */ 333, 164, 333, 301, 298, 297, 333, 333, 333, 333,
465
+ /* 2160 */ 333, 333, 333, 333, 333, 333, 333, 154, 291, 147,
466
+ /* 2170 */ 135, 333, 333, 333, 333, 333, 183, 73, 117, 254,
467
+ /* 2180 */ 255, 111, 109, 266, 267, 264, 263, 259, 260, 261,
468
+ /* 2190 */ 262, 246, 245, 237, 232, 300, 178, 333, 333, 238,
469
+ /* 2200 */ 333, 158, 333, 333, 333, 269, 299, 333, 164, 333,
470
+ /* 2210 */ 301, 298, 297, 333, 333, 333, 333, 333, 333, 333,
471
+ /* 2220 */ 333, 333, 333, 333, 154, 291, 147, 135, 333, 333,
472
+ /* 2230 */ 333, 333, 333, 183, 81, 117, 254, 255, 111, 109,
473
+ /* 2240 */ 266, 267, 264, 263, 259, 260, 261, 262, 246, 245,
474
+ /* 2250 */ 237, 232, 300, 178, 333, 333, 238, 333, 158, 333,
475
+ /* 2260 */ 333, 333, 269, 299, 333, 164, 333, 301, 298, 297,
476
+ /* 2270 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
477
+ /* 2280 */ 333, 154, 291, 147, 135, 333, 333, 333, 333, 333,
478
+ /* 2290 */ 183, 83, 117, 254, 255, 111, 109, 266, 267, 264,
479
+ /* 2300 */ 263, 259, 260, 261, 262, 246, 245, 237, 232, 300,
480
+ /* 2310 */ 178, 333, 333, 238, 333, 158, 333, 333, 333, 269,
481
+ /* 2320 */ 299, 333, 164, 333, 301, 298, 297, 333, 333, 333,
482
+ /* 2330 */ 333, 333, 333, 333, 333, 333, 333, 333, 154, 291,
483
+ /* 2340 */ 147, 135, 333, 333, 333, 333, 333, 183, 102, 117,
484
+ /* 2350 */ 254, 255, 111, 109, 266, 267, 264, 263, 259, 260,
485
+ /* 2360 */ 261, 262, 246, 245, 237, 232, 300, 178, 333, 333,
486
+ /* 2370 */ 238, 333, 158, 333, 333, 333, 269, 299, 333, 164,
487
+ /* 2380 */ 333, 301, 298, 297, 333, 333, 333, 333, 333, 333,
488
+ /* 2390 */ 333, 333, 333, 333, 333, 154, 291, 147, 135, 333,
489
+ /* 2400 */ 333, 333, 333, 333, 183, 72, 117, 254, 255, 111,
490
+ /* 2410 */ 109, 266, 267, 264, 263, 259, 260, 261, 262, 246,
491
+ /* 2420 */ 245, 237, 232, 300, 178, 333, 333, 238, 333, 158,
492
+ /* 2430 */ 333, 333, 333, 269, 299, 333, 164, 333, 301, 298,
493
+ /* 2440 */ 297, 333, 333, 333, 333, 333, 333, 333, 333, 333,
494
+ /* 2450 */ 333, 333, 154, 291, 147, 135, 333, 333, 333, 333,
495
+ /* 2460 */ 333, 183, 104, 117, 254, 255, 111, 109, 266, 267,
496
+ /* 2470 */ 264, 263, 259, 260, 261, 262, 246, 245, 237, 232,
497
+ /* 2480 */ 300, 178, 333, 333, 238, 333, 158, 333, 333, 333,
498
+ /* 2490 */ 269, 299, 333, 164, 333, 301, 298, 297, 333, 333,
499
+ /* 2500 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 154,
500
+ /* 2510 */ 291, 147, 135, 333, 333, 333, 333, 333, 183, 71,
501
+ /* 2520 */ 117, 254, 255, 111, 109, 266, 267, 264, 263, 259,
502
+ /* 2530 */ 260, 261, 262, 246, 245, 237, 232, 300, 178, 333,
503
+ /* 2540 */ 333, 238, 333, 158, 333, 333, 333, 269, 299, 333,
504
+ /* 2550 */ 164, 333, 301, 298, 297, 333, 333, 333, 333, 333,
505
+ /* 2560 */ 333, 333, 333, 333, 333, 333, 154, 291, 147, 135,
506
+ /* 2570 */ 333, 333, 333, 333, 333, 183, 85, 117, 254, 255,
507
+ /* 2580 */ 111, 109, 266, 267, 264, 263, 259, 260, 261, 262,
508
+ /* 2590 */ 246, 245, 237, 232, 300, 178, 333, 333, 238, 333,
509
+ /* 2600 */ 158, 333, 333, 333, 269, 299, 333, 164, 333, 301,
510
+ /* 2610 */ 298, 297, 333, 333, 333, 333, 333, 333, 333, 333,
511
+ /* 2620 */ 333, 333, 333, 154, 291, 147, 135, 333, 333, 333,
512
+ /* 2630 */ 333, 333, 183, 76, 117, 254, 255, 111, 109, 266,
513
+ /* 2640 */ 267, 264, 263, 259, 260, 261, 262, 246, 245, 237,
514
+ /* 2650 */ 232, 300, 178, 333, 333, 238, 333, 158, 333, 333,
515
+ /* 2660 */ 333, 269, 299, 333, 164, 333, 301, 298, 297, 333,
516
+ /* 2670 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
517
+ /* 2680 */ 154, 291, 147, 135, 333, 333, 333, 333, 333, 183,
518
+ /* 2690 */ 88, 117, 254, 255, 111, 109, 266, 267, 264, 263,
519
+ /* 2700 */ 259, 260, 261, 262, 246, 245, 237, 232, 300, 178,
520
+ /* 2710 */ 333, 333, 238, 333, 158, 333, 333, 333, 269, 299,
521
+ /* 2720 */ 333, 164, 333, 301, 298, 297, 333, 333, 333, 333,
522
+ /* 2730 */ 333, 333, 333, 333, 333, 333, 333, 154, 291, 147,
523
+ /* 2740 */ 135, 333, 333, 333, 333, 333, 183, 93, 117, 254,
524
+ /* 2750 */ 255, 111, 109, 266, 267, 264, 263, 259, 260, 261,
525
+ /* 2760 */ 262, 246, 245, 237, 232, 300, 178, 333, 333, 238,
526
+ /* 2770 */ 333, 158, 333, 333, 333, 269, 299, 333, 164, 333,
527
+ /* 2780 */ 301, 298, 297, 333, 333, 333, 333, 333, 333, 333,
528
+ /* 2790 */ 333, 333, 333, 333, 154, 291, 147, 135, 333, 333,
529
+ /* 2800 */ 333, 333, 333, 183, 120, 117, 254, 255, 111, 109,
530
+ /* 2810 */ 266, 267, 264, 263, 259, 260, 261, 262, 246, 245,
531
+ /* 2820 */ 237, 232, 300, 178, 333, 333, 238, 333, 158, 333,
532
+ /* 2830 */ 333, 333, 269, 299, 333, 164, 333, 301, 298, 297,
533
+ /* 2840 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
534
+ /* 2850 */ 333, 154, 291, 147, 135, 333, 333, 333, 333, 333,
535
+ /* 2860 */ 183, 114, 117, 254, 255, 111, 109, 266, 267, 264,
536
+ /* 2870 */ 263, 259, 260, 261, 262, 246, 245, 237, 232, 300,
537
+ /* 2880 */ 178, 333, 333, 238, 333, 158, 333, 333, 333, 269,
538
+ /* 2890 */ 299, 333, 164, 333, 301, 298, 297, 333, 333, 333,
539
+ /* 2900 */ 333, 333, 333, 333, 333, 333, 333, 333, 154, 291,
540
+ /* 2910 */ 147, 135, 333, 333, 333, 333, 333, 183, 119, 117,
541
+ /* 2920 */ 254, 255, 111, 109, 266, 267, 264, 263, 259, 260,
542
+ /* 2930 */ 261, 262, 246, 245, 237, 232, 300, 178, 333, 333,
543
+ /* 2940 */ 238, 333, 158, 333, 333, 333, 269, 299, 333, 164,
544
+ /* 2950 */ 333, 301, 298, 297, 333, 333, 333, 333, 333, 333,
545
+ /* 2960 */ 333, 333, 333, 333, 333, 154, 291, 147, 135, 333,
546
+ /* 2970 */ 333, 333, 333, 333, 183, 116, 117, 254, 255, 111,
547
+ /* 2980 */ 109, 266, 267, 264, 263, 259, 260, 261, 262, 246,
548
+ /* 2990 */ 245, 237, 232, 300, 178, 333, 333, 238, 333, 158,
549
+ /* 3000 */ 333, 333, 333, 269, 299, 333, 164, 333, 301, 298,
550
+ /* 3010 */ 297, 333, 333, 333, 333, 333, 333, 333, 333, 333,
551
+ /* 3020 */ 333, 333, 154, 291, 147, 135, 333, 333, 333, 333,
552
+ /* 3030 */ 333, 183, 74, 117, 254, 255, 111, 109, 266, 267,
553
+ /* 3040 */ 264, 263, 259, 260, 261, 262, 246, 245, 237, 232,
554
+ /* 3050 */ 300, 178, 333, 333, 238, 333, 158, 333, 333, 333,
555
+ /* 3060 */ 269, 299, 333, 164, 333, 301, 298, 297, 333, 333,
556
+ /* 3070 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 154,
557
+ /* 3080 */ 291, 147, 135, 333, 333, 333, 333, 333, 183, 97,
558
+ /* 3090 */ 117, 254, 255, 111, 109, 266, 267, 264, 263, 259,
559
+ /* 3100 */ 260, 261, 262, 246, 245, 237, 232, 300, 178, 333,
560
+ /* 3110 */ 333, 238, 333, 158, 333, 333, 333, 269, 299, 333,
561
+ /* 3120 */ 164, 333, 301, 298, 297, 333, 333, 333, 333, 333,
562
+ /* 3130 */ 333, 333, 333, 333, 333, 333, 154, 291, 147, 135,
563
+ /* 3140 */ 333, 333, 333, 333, 333, 183, 98, 117, 254, 255,
564
+ /* 3150 */ 111, 109, 266, 267, 264, 263, 259, 260, 261, 262,
565
+ /* 3160 */ 246, 245, 237, 232, 300, 178, 333, 333, 238, 333,
566
+ /* 3170 */ 158, 333, 333, 333, 269, 299, 333, 164, 333, 301,
567
+ /* 3180 */ 298, 297, 333, 333, 333, 333, 333, 333, 333, 333,
568
+ /* 3190 */ 333, 333, 333, 154, 291, 147, 135, 333, 333, 333,
569
+ /* 3200 */ 333, 333, 183, 78, 117, 254, 255, 111, 109, 266,
570
+ /* 3210 */ 267, 264, 263, 259, 260, 261, 262, 246, 245, 237,
571
+ /* 3220 */ 232, 300, 178, 333, 333, 238, 333, 158, 333, 333,
572
+ /* 3230 */ 333, 269, 299, 333, 164, 333, 301, 298, 297, 333,
573
+ /* 3240 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
574
+ /* 3250 */ 154, 291, 147, 135, 333, 333, 333, 333, 333, 183,
575
+ /* 3260 */ 105, 117, 254, 255, 111, 109, 266, 267, 264, 263,
576
+ /* 3270 */ 259, 260, 261, 262, 246, 245, 237, 232, 300, 178,
577
+ /* 3280 */ 333, 333, 238, 333, 158, 333, 333, 333, 269, 299,
578
+ /* 3290 */ 333, 164, 333, 301, 298, 297, 333, 333, 333, 333,
579
+ /* 3300 */ 333, 333, 333, 333, 333, 333, 333, 154, 291, 147,
580
+ /* 3310 */ 135, 333, 333, 333, 333, 333, 183, 108, 117, 254,
581
+ /* 3320 */ 255, 111, 109, 266, 267, 264, 263, 259, 260, 261,
582
+ /* 3330 */ 262, 246, 245, 237, 232, 300, 178, 333, 333, 238,
583
+ /* 3340 */ 333, 158, 333, 333, 333, 269, 299, 333, 164, 333,
584
+ /* 3350 */ 301, 298, 297, 333, 333, 333, 333, 333, 333, 333,
585
+ /* 3360 */ 333, 333, 333, 333, 154, 291, 147, 135, 333, 333,
586
+ /* 3370 */ 333, 333, 333, 183, 87, 117, 254, 255, 111, 109,
587
+ /* 3380 */ 266, 267, 264, 263, 259, 260, 261, 262, 246, 245,
588
+ /* 3390 */ 237, 232, 300, 178, 333, 333, 238, 333, 158, 333,
589
+ /* 3400 */ 333, 333, 269, 299, 333, 164, 333, 301, 298, 297,
590
+ /* 3410 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
591
+ /* 3420 */ 333, 154, 291, 147, 135, 333, 333, 333, 333, 333,
592
+ /* 3430 */ 183, 92, 117, 254, 255, 111, 109, 266, 267, 264,
593
+ /* 3440 */ 263, 259, 260, 261, 262, 246, 245, 237, 232, 300,
594
+ /* 3450 */ 178, 333, 333, 238, 333, 158, 333, 333, 333, 269,
595
+ /* 3460 */ 299, 333, 164, 333, 301, 298, 297, 333, 333, 333,
596
+ /* 3470 */ 333, 333, 333, 333, 333, 333, 333, 333, 154, 291,
597
+ /* 3480 */ 147, 135, 333, 333, 333, 333, 333, 183, 121, 117,
598
+ /* 3490 */ 254, 255, 111, 109, 266, 267, 264, 263, 259, 260,
599
+ /* 3500 */ 261, 262, 246, 245, 237, 232, 300, 178, 333, 333,
600
+ /* 3510 */ 238, 333, 158, 333, 333, 333, 269, 299, 333, 164,
601
+ /* 3520 */ 333, 301, 298, 297, 333, 333, 333, 333, 333, 333,
602
+ /* 3530 */ 333, 333, 333, 333, 333, 154, 291, 147, 135, 333,
603
+ /* 3540 */ 333, 333, 333, 333, 183, 124, 117, 254, 255, 111,
604
+ /* 3550 */ 109, 266, 267, 264, 263, 259, 260, 261, 262, 246,
605
+ /* 3560 */ 245, 237, 232, 300, 178, 333, 333, 238, 333, 158,
606
+ /* 3570 */ 333, 333, 333, 269, 299, 333, 164, 333, 301, 298,
607
+ /* 3580 */ 297, 333, 333, 333, 333, 333, 333, 333, 333, 333,
608
+ /* 3590 */ 333, 333, 154, 291, 147, 135, 333, 333, 333, 333,
609
+ /* 3600 */ 333, 183, 79, 117, 254, 255, 111, 109, 266, 267,
610
+ /* 3610 */ 264, 263, 259, 260, 261, 262, 246, 245, 237, 232,
611
+ /* 3620 */ 300, 178, 333, 333, 238, 333, 158, 333, 333, 333,
612
+ /* 3630 */ 269, 299, 333, 164, 333, 301, 298, 297, 333, 333,
613
+ /* 3640 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 154,
614
+ /* 3650 */ 291, 147, 135, 333, 333, 333, 333, 333, 183, 91,
615
+ /* 3660 */ 117, 254, 255, 111, 109, 266, 267, 264, 263, 259,
616
+ /* 3670 */ 260, 261, 262, 246, 245, 237, 232, 300, 178, 333,
617
+ /* 3680 */ 333, 238, 333, 158, 333, 333, 333, 269, 299, 333,
618
+ /* 3690 */ 164, 333, 301, 298, 297, 333, 333, 333, 333, 333,
619
+ /* 3700 */ 333, 333, 333, 333, 333, 333, 154, 291, 147, 135,
620
+ /* 3710 */ 333, 333, 333, 333, 333, 183, 103, 117, 254, 255,
621
+ /* 3720 */ 111, 109, 266, 267, 264, 263, 259, 260, 261, 262,
622
+ /* 3730 */ 246, 245, 237, 232, 300, 178, 333, 333, 238, 333,
623
+ /* 3740 */ 158, 333, 333, 333, 269, 299, 333, 164, 333, 301,
624
+ /* 3750 */ 298, 297, 333, 333, 333, 333, 333, 333, 333, 333,
625
+ /* 3760 */ 333, 333, 333, 154, 291, 147, 135, 333, 333, 333,
626
+ /* 3770 */ 333, 333, 183, 106, 117, 254, 255, 111, 109, 266,
627
+ /* 3780 */ 267, 264, 263, 259, 260, 261, 262, 246, 245, 237,
628
+ /* 3790 */ 232, 300, 178, 333, 333, 238, 333, 158, 333, 333,
629
+ /* 3800 */ 333, 269, 299, 333, 164, 333, 301, 298, 297, 333,
630
+ /* 3810 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
631
+ /* 3820 */ 154, 291, 147, 135, 333, 333, 333, 333, 333, 183,
632
+ /* 3830 */ 80, 117, 254, 255, 111, 109, 266, 267, 264, 263,
633
+ /* 3840 */ 259, 260, 261, 262, 246, 245, 237, 232, 300, 178,
634
+ /* 3850 */ 333, 333, 238, 333, 158, 333, 333, 333, 269, 299,
635
+ /* 3860 */ 333, 164, 333, 301, 298, 297, 333, 333, 333, 333,
636
+ /* 3870 */ 333, 333, 333, 333, 333, 333, 333, 154, 291, 147,
637
+ /* 3880 */ 135, 333, 333, 333, 333, 333, 183, 99, 117, 254,
638
+ /* 3890 */ 255, 111, 109, 266, 267, 264, 263, 259, 260, 261,
639
+ /* 3900 */ 262, 246, 245, 237, 232, 300, 178, 333, 333, 238,
640
+ /* 3910 */ 333, 158, 333, 333, 333, 269, 299, 333, 164, 333,
641
+ /* 3920 */ 301, 298, 297, 333, 333, 333, 333, 333, 333, 333,
642
+ /* 3930 */ 333, 333, 333, 333, 154, 291, 147, 135, 333, 333,
643
+ /* 3940 */ 333, 333, 333, 183, 107, 117, 254, 255, 111, 109,
644
+ /* 3950 */ 266, 267, 264, 263, 259, 260, 261, 262, 246, 245,
645
+ /* 3960 */ 237, 232, 300, 178, 333, 333, 238, 333, 158, 333,
646
+ /* 3970 */ 333, 333, 269, 299, 333, 164, 333, 301, 298, 297,
647
+ /* 3980 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
648
+ /* 3990 */ 333, 154, 291, 147, 135, 333, 333, 333, 333, 333,
649
+ /* 4000 */ 183, 86, 117, 254, 255, 111, 109, 266, 267, 264,
650
+ /* 4010 */ 263, 259, 260, 261, 262, 246, 245, 237, 232, 300,
651
+ /* 4020 */ 178, 333, 333, 238, 333, 158, 333, 333, 333, 269,
652
+ /* 4030 */ 299, 333, 164, 333, 301, 298, 297, 56, 333, 333,
653
+ /* 4040 */ 333, 333, 12, 160, 58, 333, 333, 333, 154, 291,
654
+ /* 4050 */ 147, 135, 57, 25, 333, 333, 333, 183, 333, 333,
655
+ /* 4060 */ 333, 333, 42, 43, 50, 333, 59, 60, 333, 333,
656
+ /* 4070 */ 333, 333, 333, 333, 256, 251, 230, 231, 233, 229,
657
+ /* 4080 */ 228, 224, 234, 63, 333, 240, 236, 160, 333, 333,
658
+ /* 4090 */ 333, 333, 62, 333, 333, 303, 153, 3, 46, 8,
659
+ /* 4100 */ 148, 333, 333, 7, 333, 30, 18, 333, 67, 47,
660
+ /* 4110 */ 24, 333, 333, 333, 333, 333, 333, 333, 333, 251,
661
+ /* 4120 */ 230, 231, 233, 229, 228, 224, 39, 21, 36, 22,
662
+ /* 4130 */ 20, 32, 34, 333, 309, 333, 62, 333, 333, 303,
663
+ /* 4140 */ 153, 3, 333, 313, 333, 333, 333, 7, 333, 112,
664
+ /* 4150 */ 113, 333, 333, 333, 333, 333, 333, 213, 333, 333,
665
+ /* 4160 */ 333, 237, 232, 300, 274, 333, 30, 238, 311, 67,
666
+ /* 4170 */ 47, 24, 333, 269, 299, 333, 127, 333, 301, 298,
667
+ /* 4180 */ 297, 30, 333, 333, 67, 47, 24, 39, 21, 36,
668
+ /* 4190 */ 22, 20, 32, 34, 333, 309, 333, 333, 333, 333,
669
+ /* 4200 */ 126, 333, 39, 21, 36, 22, 20, 32, 34, 30,
670
+ /* 4210 */ 309, 333, 67, 47, 24, 333, 333, 333, 163, 333,
671
+ /* 4220 */ 30, 333, 333, 67, 47, 24, 333, 333, 333, 311,
672
+ /* 4230 */ 39, 21, 36, 22, 20, 32, 34, 333, 309, 333,
673
+ /* 4240 */ 194, 39, 21, 36, 22, 20, 32, 34, 333, 309,
674
+ /* 4250 */ 200, 30, 333, 333, 67, 47, 24, 333, 333, 333,
675
+ /* 4260 */ 333, 333, 333, 201, 195, 333, 333, 192, 180, 199,
676
+ /* 4270 */ 8, 312, 39, 21, 36, 22, 20, 32, 34, 30,
677
+ /* 4280 */ 309, 333, 67, 47, 24, 333, 156, 333, 333, 333,
678
+ /* 4290 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 209,
679
+ /* 4300 */ 39, 21, 36, 22, 20, 32, 34, 30, 309, 333,
680
+ /* 4310 */ 67, 47, 24, 333, 333, 333, 160, 333, 333, 333,
681
+ /* 4320 */ 333, 333, 333, 333, 333, 333, 333, 196, 39, 21,
682
+ /* 4330 */ 36, 22, 20, 32, 34, 30, 309, 333, 67, 47,
683
+ /* 4340 */ 24, 333, 333, 333, 333, 333, 333, 333, 251, 230,
684
+ /* 4350 */ 231, 233, 229, 228, 224, 333, 39, 21, 36, 22,
685
+ /* 4360 */ 20, 32, 34, 333, 309, 62, 112, 113, 303, 153,
686
+ /* 4370 */ 3, 333, 333, 333, 333, 333, 7, 333, 237, 232,
687
+ /* 4380 */ 300, 274, 333, 333, 238, 333, 333, 289, 333, 333,
688
+ /* 4390 */ 269, 299, 333, 161, 333, 301, 298, 297, 333, 112,
689
+ /* 4400 */ 113, 333, 333, 333, 333, 333, 333, 333, 333, 333,
690
+ /* 4410 */ 333, 237, 232, 300, 274, 30, 333, 238, 67, 47,
691
+ /* 4420 */ 24, 333, 333, 269, 299, 333, 162, 333, 301, 298,
692
+ /* 4430 */ 297, 67, 47, 24, 333, 333, 39, 21, 36, 22,
693
+ /* 4440 */ 20, 32, 34, 333, 309, 333, 333, 8, 333, 39,
694
+ /* 4450 */ 21, 36, 22, 20, 32, 34, 333, 309, 67, 47,
695
+ /* 4460 */ 24, 333, 333, 333, 333, 333, 333, 49, 333, 333,
696
+ /* 4470 */ 333, 333, 333, 333, 333, 333, 39, 21, 36, 22,
697
+ /* 4480 */ 20, 32, 34, 333, 309, 67, 47, 24, 333, 333,
698
+ /* 4490 */ 333, 333, 333, 333, 41, 333, 23, 8, 333, 67,
699
+ /* 4500 */ 47, 24, 333, 39, 21, 36, 22, 20, 32, 34,
700
+ /* 4510 */ 381, 309, 381, 381, 381, 333, 333, 39, 21, 36,
701
+ /* 4520 */ 22, 20, 32, 34, 200, 309, 333, 333, 333, 333,
702
+ /* 4530 */ 333, 381, 333, 381, 333, 333, 381, 201, 195, 333,
703
+ /* 4540 */ 333, 192, 180, 199, 333, 333, 333, 333, 333, 333,
704
+ /* 4550 */ 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
705
+ /* 4560 */ 157,
706
+ );
707
+ static public $yy_lookahead = array(
708
+ /* 0 */ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
709
+ /* 10 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
710
+ /* 20 */ 94, 95, 96, 97, 27, 28, 100, 30, 102, 76,
711
+ /* 30 */ 12, 13, 106, 107, 54, 109, 56, 111, 112, 113,
712
+ /* 40 */ 22, 23, 24, 25, 26, 27, 28, 125, 30, 127,
713
+ /* 50 */ 128, 125, 126, 127, 128, 26, 27, 28, 52, 30,
714
+ /* 60 */ 134, 78, 79, 80, 81, 82, 83, 84, 85, 86,
715
+ /* 70 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
716
+ /* 80 */ 97, 66, 67, 100, 40, 102, 40, 41, 42, 106,
717
+ /* 90 */ 107, 108, 109, 47, 111, 112, 113, 23, 24, 25,
718
+ /* 100 */ 26, 27, 28, 120, 30, 122, 76, 61, 125, 126,
719
+ /* 110 */ 127, 128, 125, 38, 127, 128, 20, 134, 78, 79,
720
+ /* 120 */ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
721
+ /* 130 */ 90, 91, 92, 93, 94, 95, 96, 97, 49, 20,
722
+ /* 140 */ 100, 52, 102, 21, 69, 81, 106, 107, 52, 109,
723
+ /* 150 */ 103, 111, 112, 113, 16, 115, 116, 19, 94, 95,
724
+ /* 160 */ 38, 121, 98, 99, 100, 125, 126, 127, 128, 31,
725
+ /* 170 */ 32, 10, 11, 94, 134, 78, 79, 80, 81, 82,
726
+ /* 180 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
727
+ /* 190 */ 93, 94, 95, 96, 97, 132, 133, 100, 94, 102,
728
+ /* 200 */ 132, 133, 119, 106, 107, 108, 109, 33, 111, 112,
729
+ /* 210 */ 113, 21, 24, 25, 26, 27, 28, 120, 30, 122,
730
+ /* 220 */ 14, 76, 125, 126, 127, 128, 76, 3, 38, 50,
731
+ /* 230 */ 51, 134, 78, 79, 80, 81, 82, 83, 84, 85,
732
+ /* 240 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
733
+ /* 250 */ 96, 97, 21, 21, 100, 52, 102, 55, 66, 53,
734
+ /* 260 */ 106, 107, 108, 109, 38, 111, 112, 113, 25, 26,
735
+ /* 270 */ 27, 28, 94, 30, 120, 125, 122, 127, 128, 125,
736
+ /* 280 */ 126, 127, 128, 38, 106, 107, 15, 119, 134, 78,
737
+ /* 290 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
738
+ /* 300 */ 89, 90, 91, 92, 93, 94, 95, 96, 97, 131,
739
+ /* 310 */ 40, 100, 40, 102, 38, 69, 14, 106, 107, 108,
740
+ /* 320 */ 109, 103, 111, 112, 113, 76, 20, 57, 129, 57,
741
+ /* 330 */ 94, 120, 62, 122, 62, 76, 125, 126, 127, 128,
742
+ /* 340 */ 70, 124, 106, 107, 38, 134, 78, 79, 80, 81,
743
+ /* 350 */ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
744
+ /* 360 */ 92, 93, 94, 95, 96, 97, 130, 131, 100, 63,
745
+ /* 370 */ 102, 20, 21, 94, 106, 107, 108, 109, 114, 111,
746
+ /* 380 */ 112, 113, 33, 110, 35, 36, 37, 114, 120, 38,
747
+ /* 390 */ 122, 118, 52, 125, 126, 127, 128, 103, 94, 76,
748
+ /* 400 */ 102, 76, 134, 54, 30, 56, 72, 75, 59, 77,
749
+ /* 410 */ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
750
+ /* 420 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
751
+ /* 430 */ 133, 103, 100, 76, 102, 76, 20, 94, 106, 107,
752
+ /* 440 */ 103, 109, 76, 111, 112, 113, 2, 76, 4, 5,
753
+ /* 450 */ 6, 7, 8, 9, 38, 76, 76, 125, 126, 127,
754
+ /* 460 */ 128, 17, 18, 119, 20, 103, 134, 76, 52, 135,
755
+ /* 470 */ 110, 27, 28, 29, 114, 31, 32, 1, 118, 63,
756
+ /* 480 */ 4, 5, 6, 39, 40, 41, 42, 43, 44, 45,
757
+ /* 490 */ 46, 47, 48, 20, 50, 51, 125, 135, 127, 128,
758
+ /* 500 */ 135, 57, 135, 135, 60, 61, 62, 63, 135, 65,
759
+ /* 510 */ 2, 38, 68, 135, 94, 71, 135, 135, 2, 135,
760
+ /* 520 */ 4, 5, 6, 7, 8, 9, 106, 107, 20, 94,
761
+ /* 530 */ 135, 58, 112, 17, 18, 100, 20, 135, 135, 104,
762
+ /* 540 */ 105, 106, 107, 27, 28, 29, 135, 31, 32, 135,
763
+ /* 550 */ 130, 131, 3, 135, 38, 39, 40, 41, 42, 43,
764
+ /* 560 */ 44, 45, 46, 47, 48, 76, 50, 51, 121, 135,
765
+ /* 570 */ 21, 135, 125, 57, 127, 128, 60, 61, 62, 121,
766
+ /* 580 */ 135, 65, 135, 125, 68, 127, 128, 71, 75, 135,
767
+ /* 590 */ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
768
+ /* 600 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
769
+ /* 610 */ 97, 76, 135, 100, 125, 102, 127, 128, 135, 106,
770
+ /* 620 */ 107, 72, 109, 135, 111, 112, 113, 2, 135, 4,
771
+ /* 630 */ 5, 6, 7, 8, 9, 135, 135, 20, 125, 126,
772
+ /* 640 */ 127, 128, 17, 18, 135, 20, 135, 134, 135, 135,
773
+ /* 650 */ 135, 34, 27, 28, 29, 38, 31, 32, 135, 34,
774
+ /* 660 */ 125, 3, 127, 128, 39, 40, 41, 42, 43, 44,
775
+ /* 670 */ 45, 46, 47, 48, 135, 50, 51, 135, 135, 21,
776
+ /* 680 */ 135, 135, 57, 135, 135, 60, 61, 62, 135, 135,
777
+ /* 690 */ 65, 135, 135, 68, 135, 75, 71, 77, 78, 79,
778
+ /* 700 */ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
779
+ /* 710 */ 90, 91, 92, 93, 94, 95, 96, 97, 135, 135,
780
+ /* 720 */ 100, 135, 102, 135, 20, 21, 106, 107, 135, 109,
781
+ /* 730 */ 72, 111, 112, 113, 2, 135, 4, 5, 6, 7,
782
+ /* 740 */ 8, 9, 38, 135, 135, 125, 126, 127, 128, 17,
783
+ /* 750 */ 18, 20, 21, 135, 134, 135, 135, 135, 135, 27,
784
+ /* 760 */ 28, 29, 135, 31, 32, 135, 135, 135, 135, 38,
785
+ /* 770 */ 135, 39, 40, 41, 42, 43, 44, 45, 46, 47,
786
+ /* 780 */ 48, 135, 50, 51, 135, 53, 135, 135, 135, 57,
787
+ /* 790 */ 135, 135, 60, 61, 62, 135, 64, 65, 135, 135,
788
+ /* 800 */ 68, 135, 135, 71, 135, 78, 79, 80, 81, 82,
789
+ /* 810 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
790
+ /* 820 */ 93, 94, 95, 96, 97, 135, 135, 100, 135, 102,
791
+ /* 830 */ 135, 135, 12, 106, 107, 108, 109, 135, 111, 112,
792
+ /* 840 */ 113, 135, 22, 23, 24, 25, 26, 27, 28, 122,
793
+ /* 850 */ 30, 135, 125, 126, 127, 128, 135, 135, 135, 135,
794
+ /* 860 */ 135, 134, 78, 79, 80, 81, 82, 83, 84, 85,
795
+ /* 870 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
796
+ /* 880 */ 96, 97, 135, 135, 100, 135, 102, 135, 135, 135,
797
+ /* 890 */ 106, 107, 108, 109, 135, 111, 112, 113, 135, 22,
798
+ /* 900 */ 23, 24, 25, 26, 27, 28, 122, 30, 135, 125,
799
+ /* 910 */ 126, 127, 128, 94, 135, 135, 135, 135, 134, 100,
800
+ /* 920 */ 101, 135, 135, 104, 105, 106, 107, 77, 78, 79,
801
+ /* 930 */ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
802
+ /* 940 */ 90, 91, 92, 93, 94, 95, 96, 97, 135, 135,
803
+ /* 950 */ 100, 135, 102, 135, 135, 13, 106, 107, 135, 109,
804
+ /* 960 */ 135, 111, 112, 113, 22, 23, 24, 25, 26, 27,
805
+ /* 970 */ 28, 135, 30, 135, 135, 125, 126, 127, 128, 135,
806
+ /* 980 */ 135, 135, 135, 76, 134, 78, 79, 80, 81, 82,
807
+ /* 990 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
808
+ /* 1000 */ 93, 94, 95, 96, 97, 135, 135, 100, 135, 102,
809
+ /* 1010 */ 135, 135, 135, 106, 107, 135, 109, 135, 111, 112,
810
+ /* 1020 */ 113, 2, 135, 4, 5, 6, 7, 8, 9, 135,
811
+ /* 1030 */ 135, 135, 125, 126, 127, 128, 17, 18, 135, 20,
812
+ /* 1040 */ 135, 134, 135, 135, 135, 135, 27, 28, 29, 135,
813
+ /* 1050 */ 31, 32, 135, 135, 135, 135, 135, 135, 39, 40,
814
+ /* 1060 */ 41, 42, 43, 44, 45, 46, 47, 48, 135, 50,
815
+ /* 1070 */ 51, 135, 135, 135, 135, 135, 57, 135, 135, 60,
816
+ /* 1080 */ 61, 62, 135, 135, 65, 135, 135, 68, 135, 135,
817
+ /* 1090 */ 71, 135, 135, 2, 135, 4, 5, 6, 7, 8,
818
+ /* 1100 */ 9, 135, 135, 33, 135, 35, 36, 37, 17, 18,
819
+ /* 1110 */ 135, 20, 135, 135, 135, 135, 135, 135, 27, 28,
820
+ /* 1120 */ 29, 135, 31, 32, 54, 135, 56, 135, 40, 59,
821
+ /* 1130 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
822
+ /* 1140 */ 135, 50, 51, 135, 135, 57, 135, 135, 57, 61,
823
+ /* 1150 */ 62, 60, 61, 62, 135, 135, 65, 135, 135, 68,
824
+ /* 1160 */ 135, 135, 71, 135, 135, 2, 135, 4, 5, 6,
825
+ /* 1170 */ 7, 8, 9, 135, 135, 135, 135, 35, 36, 37,
826
+ /* 1180 */ 17, 18, 135, 20, 135, 135, 135, 135, 135, 135,
827
+ /* 1190 */ 27, 28, 29, 135, 31, 32, 54, 135, 56, 135,
828
+ /* 1200 */ 135, 59, 39, 40, 41, 42, 43, 44, 45, 46,
829
+ /* 1210 */ 47, 48, 135, 50, 51, 135, 135, 135, 135, 135,
830
+ /* 1220 */ 57, 135, 135, 60, 61, 62, 135, 135, 65, 135,
831
+ /* 1230 */ 135, 68, 135, 135, 71, 78, 79, 80, 81, 82,
832
+ /* 1240 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
833
+ /* 1250 */ 93, 94, 95, 96, 97, 135, 135, 100, 135, 102,
834
+ /* 1260 */ 135, 135, 135, 106, 107, 135, 109, 135, 111, 112,
835
+ /* 1270 */ 113, 2, 135, 4, 5, 6, 7, 8, 9, 135,
836
+ /* 1280 */ 123, 135, 125, 126, 127, 128, 17, 18, 135, 20,
837
+ /* 1290 */ 135, 134, 135, 135, 135, 135, 27, 28, 29, 135,
838
+ /* 1300 */ 31, 32, 135, 135, 135, 135, 135, 135, 39, 40,
839
+ /* 1310 */ 41, 42, 43, 44, 45, 46, 47, 48, 135, 50,
840
+ /* 1320 */ 51, 135, 135, 135, 135, 135, 57, 135, 135, 60,
841
+ /* 1330 */ 61, 62, 135, 135, 65, 135, 135, 68, 135, 135,
842
+ /* 1340 */ 71, 135, 135, 2, 135, 4, 5, 6, 7, 8,
843
+ /* 1350 */ 9, 135, 135, 135, 135, 135, 135, 135, 17, 18,
844
+ /* 1360 */ 135, 135, 21, 135, 135, 135, 135, 135, 27, 28,
845
+ /* 1370 */ 29, 135, 31, 32, 135, 135, 135, 135, 135, 135,
846
+ /* 1380 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
847
+ /* 1390 */ 135, 50, 51, 135, 135, 135, 135, 135, 57, 135,
848
+ /* 1400 */ 135, 60, 61, 62, 135, 135, 65, 135, 135, 68,
849
+ /* 1410 */ 135, 135, 71, 135, 135, 2, 135, 4, 5, 6,
850
+ /* 1420 */ 7, 8, 9, 135, 135, 135, 135, 135, 135, 135,
851
+ /* 1430 */ 17, 18, 135, 20, 135, 135, 135, 135, 135, 135,
852
+ /* 1440 */ 27, 28, 29, 135, 31, 32, 135, 135, 135, 135,
853
+ /* 1450 */ 135, 135, 39, 40, 41, 42, 43, 44, 45, 46,
854
+ /* 1460 */ 47, 48, 135, 50, 51, 135, 135, 135, 135, 135,
855
+ /* 1470 */ 57, 135, 135, 60, 61, 62, 135, 135, 65, 135,
856
+ /* 1480 */ 135, 68, 135, 135, 71, 135, 135, 2, 135, 4,
857
+ /* 1490 */ 5, 6, 7, 8, 9, 135, 135, 135, 135, 135,
858
+ /* 1500 */ 135, 135, 17, 18, 135, 20, 135, 135, 135, 135,
859
+ /* 1510 */ 135, 135, 27, 28, 29, 135, 31, 32, 135, 135,
860
+ /* 1520 */ 135, 135, 135, 135, 39, 40, 41, 42, 43, 44,
861
+ /* 1530 */ 45, 46, 47, 48, 135, 50, 51, 135, 135, 135,
862
+ /* 1540 */ 135, 135, 57, 135, 135, 60, 61, 62, 135, 135,
863
+ /* 1550 */ 65, 135, 135, 68, 135, 135, 71, 78, 79, 80,
864
+ /* 1560 */ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
865
+ /* 1570 */ 91, 92, 93, 94, 95, 96, 97, 135, 135, 100,
866
+ /* 1580 */ 135, 102, 135, 135, 135, 106, 107, 135, 109, 135,
867
+ /* 1590 */ 111, 112, 113, 2, 135, 4, 5, 6, 7, 8,
868
+ /* 1600 */ 9, 135, 135, 135, 125, 126, 127, 128, 17, 18,
869
+ /* 1610 */ 135, 135, 135, 134, 135, 135, 135, 135, 27, 28,
870
+ /* 1620 */ 29, 135, 31, 32, 135, 135, 135, 135, 135, 135,
871
+ /* 1630 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
872
+ /* 1640 */ 135, 50, 51, 135, 135, 135, 135, 135, 57, 135,
873
+ /* 1650 */ 135, 60, 61, 62, 135, 135, 65, 135, 135, 68,
874
+ /* 1660 */ 135, 135, 71, 135, 78, 79, 80, 81, 82, 83,
875
+ /* 1670 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
876
+ /* 1680 */ 94, 95, 96, 97, 135, 135, 100, 135, 102, 135,
877
+ /* 1690 */ 135, 13, 106, 107, 135, 109, 135, 111, 112, 113,
878
+ /* 1700 */ 22, 23, 24, 25, 26, 27, 28, 135, 30, 135,
879
+ /* 1710 */ 135, 125, 126, 127, 128, 135, 135, 135, 135, 135,
880
+ /* 1720 */ 134, 78, 79, 80, 81, 82, 83, 84, 85, 86,
881
+ /* 1730 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
882
+ /* 1740 */ 97, 135, 135, 100, 81, 102, 135, 135, 135, 106,
883
+ /* 1750 */ 107, 135, 109, 135, 111, 112, 113, 94, 95, 135,
884
+ /* 1760 */ 135, 98, 99, 100, 135, 135, 135, 135, 125, 126,
885
+ /* 1770 */ 127, 128, 135, 135, 135, 135, 135, 134, 78, 79,
886
+ /* 1780 */ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
887
+ /* 1790 */ 90, 91, 92, 93, 94, 95, 96, 97, 135, 135,
888
+ /* 1800 */ 100, 135, 102, 135, 135, 135, 106, 107, 135, 109,
889
+ /* 1810 */ 135, 111, 112, 113, 135, 135, 135, 135, 135, 135,
890
+ /* 1820 */ 135, 135, 135, 135, 135, 125, 126, 127, 128, 135,
891
+ /* 1830 */ 135, 135, 135, 135, 134, 78, 79, 80, 81, 82,
892
+ /* 1840 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
893
+ /* 1850 */ 93, 94, 95, 96, 97, 135, 135, 100, 135, 102,
894
+ /* 1860 */ 135, 135, 135, 106, 107, 135, 109, 135, 111, 112,
895
+ /* 1870 */ 113, 135, 135, 135, 135, 135, 135, 135, 135, 135,
896
+ /* 1880 */ 135, 135, 125, 126, 127, 128, 135, 135, 135, 135,
897
+ /* 1890 */ 135, 134, 78, 79, 80, 81, 82, 83, 84, 85,
898
+ /* 1900 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
899
+ /* 1910 */ 96, 97, 135, 135, 100, 135, 102, 135, 135, 135,
900
+ /* 1920 */ 106, 107, 135, 109, 135, 111, 112, 113, 135, 135,
901
+ /* 1930 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 125,
902
+ /* 1940 */ 126, 127, 128, 135, 135, 135, 135, 135, 134, 78,
903
+ /* 1950 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
904
+ /* 1960 */ 89, 90, 91, 92, 93, 94, 95, 96, 97, 135,
905
+ /* 1970 */ 135, 100, 135, 102, 135, 135, 135, 106, 107, 135,
906
+ /* 1980 */ 109, 135, 111, 112, 113, 135, 135, 135, 135, 135,
907
+ /* 1990 */ 135, 135, 135, 135, 135, 135, 125, 126, 127, 128,
908
+ /* 2000 */ 135, 135, 135, 135, 135, 134, 78, 79, 80, 81,
909
+ /* 2010 */ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
910
+ /* 2020 */ 92, 93, 94, 95, 96, 97, 135, 135, 100, 135,
911
+ /* 2030 */ 102, 135, 135, 135, 106, 107, 135, 109, 135, 111,
912
+ /* 2040 */ 112, 113, 135, 135, 135, 135, 135, 135, 135, 135,
913
+ /* 2050 */ 135, 135, 135, 125, 126, 127, 128, 135, 135, 135,
914
+ /* 2060 */ 135, 135, 134, 78, 79, 80, 81, 82, 83, 84,
915
+ /* 2070 */ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
916
+ /* 2080 */ 95, 96, 97, 135, 135, 100, 135, 102, 135, 135,
917
+ /* 2090 */ 135, 106, 107, 135, 109, 135, 111, 112, 113, 135,
918
+ /* 2100 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
919
+ /* 2110 */ 125, 126, 127, 128, 135, 135, 135, 135, 135, 134,
920
+ /* 2120 */ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
921
+ /* 2130 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
922
+ /* 2140 */ 135, 135, 100, 135, 102, 135, 135, 135, 106, 107,
923
+ /* 2150 */ 135, 109, 135, 111, 112, 113, 135, 135, 135, 135,
924
+ /* 2160 */ 135, 135, 135, 135, 135, 135, 135, 125, 126, 127,
925
+ /* 2170 */ 128, 135, 135, 135, 135, 135, 134, 78, 79, 80,
926
+ /* 2180 */ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
927
+ /* 2190 */ 91, 92, 93, 94, 95, 96, 97, 135, 135, 100,
928
+ /* 2200 */ 135, 102, 135, 135, 135, 106, 107, 135, 109, 135,
929
+ /* 2210 */ 111, 112, 113, 135, 135, 135, 135, 135, 135, 135,
930
+ /* 2220 */ 135, 135, 135, 135, 125, 126, 127, 128, 135, 135,
931
+ /* 2230 */ 135, 135, 135, 134, 78, 79, 80, 81, 82, 83,
932
+ /* 2240 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
933
+ /* 2250 */ 94, 95, 96, 97, 135, 135, 100, 135, 102, 135,
934
+ /* 2260 */ 135, 135, 106, 107, 135, 109, 135, 111, 112, 113,
935
+ /* 2270 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
936
+ /* 2280 */ 135, 125, 126, 127, 128, 135, 135, 135, 135, 135,
937
+ /* 2290 */ 134, 78, 79, 80, 81, 82, 83, 84, 85, 86,
938
+ /* 2300 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
939
+ /* 2310 */ 97, 135, 135, 100, 135, 102, 135, 135, 135, 106,
940
+ /* 2320 */ 107, 135, 109, 135, 111, 112, 113, 135, 135, 135,
941
+ /* 2330 */ 135, 135, 135, 135, 135, 135, 135, 135, 125, 126,
942
+ /* 2340 */ 127, 128, 135, 135, 135, 135, 135, 134, 78, 79,
943
+ /* 2350 */ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
944
+ /* 2360 */ 90, 91, 92, 93, 94, 95, 96, 97, 135, 135,
945
+ /* 2370 */ 100, 135, 102, 135, 135, 135, 106, 107, 135, 109,
946
+ /* 2380 */ 135, 111, 112, 113, 135, 135, 135, 135, 135, 135,
947
+ /* 2390 */ 135, 135, 135, 135, 135, 125, 126, 127, 128, 135,
948
+ /* 2400 */ 135, 135, 135, 135, 134, 78, 79, 80, 81, 82,
949
+ /* 2410 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
950
+ /* 2420 */ 93, 94, 95, 96, 97, 135, 135, 100, 135, 102,
951
+ /* 2430 */ 135, 135, 135, 106, 107, 135, 109, 135, 111, 112,
952
+ /* 2440 */ 113, 135, 135, 135, 135, 135, 135, 135, 135, 135,
953
+ /* 2450 */ 135, 135, 125, 126, 127, 128, 135, 135, 135, 135,
954
+ /* 2460 */ 135, 134, 78, 79, 80, 81, 82, 83, 84, 85,
955
+ /* 2470 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
956
+ /* 2480 */ 96, 97, 135, 135, 100, 135, 102, 135, 135, 135,
957
+ /* 2490 */ 106, 107, 135, 109, 135, 111, 112, 113, 135, 135,
958
+ /* 2500 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 125,
959
+ /* 2510 */ 126, 127, 128, 135, 135, 135, 135, 135, 134, 78,
960
+ /* 2520 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
961
+ /* 2530 */ 89, 90, 91, 92, 93, 94, 95, 96, 97, 135,
962
+ /* 2540 */ 135, 100, 135, 102, 135, 135, 135, 106, 107, 135,
963
+ /* 2550 */ 109, 135, 111, 112, 113, 135, 135, 135, 135, 135,
964
+ /* 2560 */ 135, 135, 135, 135, 135, 135, 125, 126, 127, 128,
965
+ /* 2570 */ 135, 135, 135, 135, 135, 134, 78, 79, 80, 81,
966
+ /* 2580 */ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
967
+ /* 2590 */ 92, 93, 94, 95, 96, 97, 135, 135, 100, 135,
968
+ /* 2600 */ 102, 135, 135, 135, 106, 107, 135, 109, 135, 111,
969
+ /* 2610 */ 112, 113, 135, 135, 135, 135, 135, 135, 135, 135,
970
+ /* 2620 */ 135, 135, 135, 125, 126, 127, 128, 135, 135, 135,
971
+ /* 2630 */ 135, 135, 134, 78, 79, 80, 81, 82, 83, 84,
972
+ /* 2640 */ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
973
+ /* 2650 */ 95, 96, 97, 135, 135, 100, 135, 102, 135, 135,
974
+ /* 2660 */ 135, 106, 107, 135, 109, 135, 111, 112, 113, 135,
975
+ /* 2670 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
976
+ /* 2680 */ 125, 126, 127, 128, 135, 135, 135, 135, 135, 134,
977
+ /* 2690 */ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
978
+ /* 2700 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
979
+ /* 2710 */ 135, 135, 100, 135, 102, 135, 135, 135, 106, 107,
980
+ /* 2720 */ 135, 109, 135, 111, 112, 113, 135, 135, 135, 135,
981
+ /* 2730 */ 135, 135, 135, 135, 135, 135, 135, 125, 126, 127,
982
+ /* 2740 */ 128, 135, 135, 135, 135, 135, 134, 78, 79, 80,
983
+ /* 2750 */ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
984
+ /* 2760 */ 91, 92, 93, 94, 95, 96, 97, 135, 135, 100,
985
+ /* 2770 */ 135, 102, 135, 135, 135, 106, 107, 135, 109, 135,
986
+ /* 2780 */ 111, 112, 113, 135, 135, 135, 135, 135, 135, 135,
987
+ /* 2790 */ 135, 135, 135, 135, 125, 126, 127, 128, 135, 135,
988
+ /* 2800 */ 135, 135, 135, 134, 78, 79, 80, 81, 82, 83,
989
+ /* 2810 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
990
+ /* 2820 */ 94, 95, 96, 97, 135, 135, 100, 135, 102, 135,
991
+ /* 2830 */ 135, 135, 106, 107, 135, 109, 135, 111, 112, 113,
992
+ /* 2840 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
993
+ /* 2850 */ 135, 125, 126, 127, 128, 135, 135, 135, 135, 135,
994
+ /* 2860 */ 134, 78, 79, 80, 81, 82, 83, 84, 85, 86,
995
+ /* 2870 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
996
+ /* 2880 */ 97, 135, 135, 100, 135, 102, 135, 135, 135, 106,
997
+ /* 2890 */ 107, 135, 109, 135, 111, 112, 113, 135, 135, 135,
998
+ /* 2900 */ 135, 135, 135, 135, 135, 135, 135, 135, 125, 126,
999
+ /* 2910 */ 127, 128, 135, 135, 135, 135, 135, 134, 78, 79,
1000
+ /* 2920 */ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1001
+ /* 2930 */ 90, 91, 92, 93, 94, 95, 96, 97, 135, 135,
1002
+ /* 2940 */ 100, 135, 102, 135, 135, 135, 106, 107, 135, 109,
1003
+ /* 2950 */ 135, 111, 112, 113, 135, 135, 135, 135, 135, 135,
1004
+ /* 2960 */ 135, 135, 135, 135, 135, 125, 126, 127, 128, 135,
1005
+ /* 2970 */ 135, 135, 135, 135, 134, 78, 79, 80, 81, 82,
1006
+ /* 2980 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1007
+ /* 2990 */ 93, 94, 95, 96, 97, 135, 135, 100, 135, 102,
1008
+ /* 3000 */ 135, 135, 135, 106, 107, 135, 109, 135, 111, 112,
1009
+ /* 3010 */ 113, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1010
+ /* 3020 */ 135, 135, 125, 126, 127, 128, 135, 135, 135, 135,
1011
+ /* 3030 */ 135, 134, 78, 79, 80, 81, 82, 83, 84, 85,
1012
+ /* 3040 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1013
+ /* 3050 */ 96, 97, 135, 135, 100, 135, 102, 135, 135, 135,
1014
+ /* 3060 */ 106, 107, 135, 109, 135, 111, 112, 113, 135, 135,
1015
+ /* 3070 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 125,
1016
+ /* 3080 */ 126, 127, 128, 135, 135, 135, 135, 135, 134, 78,
1017
+ /* 3090 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1018
+ /* 3100 */ 89, 90, 91, 92, 93, 94, 95, 96, 97, 135,
1019
+ /* 3110 */ 135, 100, 135, 102, 135, 135, 135, 106, 107, 135,
1020
+ /* 3120 */ 109, 135, 111, 112, 113, 135, 135, 135, 135, 135,
1021
+ /* 3130 */ 135, 135, 135, 135, 135, 135, 125, 126, 127, 128,
1022
+ /* 3140 */ 135, 135, 135, 135, 135, 134, 78, 79, 80, 81,
1023
+ /* 3150 */ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1024
+ /* 3160 */ 92, 93, 94, 95, 96, 97, 135, 135, 100, 135,
1025
+ /* 3170 */ 102, 135, 135, 135, 106, 107, 135, 109, 135, 111,
1026
+ /* 3180 */ 112, 113, 135, 135, 135, 135, 135, 135, 135, 135,
1027
+ /* 3190 */ 135, 135, 135, 125, 126, 127, 128, 135, 135, 135,
1028
+ /* 3200 */ 135, 135, 134, 78, 79, 80, 81, 82, 83, 84,
1029
+ /* 3210 */ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1030
+ /* 3220 */ 95, 96, 97, 135, 135, 100, 135, 102, 135, 135,
1031
+ /* 3230 */ 135, 106, 107, 135, 109, 135, 111, 112, 113, 135,
1032
+ /* 3240 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1033
+ /* 3250 */ 125, 126, 127, 128, 135, 135, 135, 135, 135, 134,
1034
+ /* 3260 */ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1035
+ /* 3270 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1036
+ /* 3280 */ 135, 135, 100, 135, 102, 135, 135, 135, 106, 107,
1037
+ /* 3290 */ 135, 109, 135, 111, 112, 113, 135, 135, 135, 135,
1038
+ /* 3300 */ 135, 135, 135, 135, 135, 135, 135, 125, 126, 127,
1039
+ /* 3310 */ 128, 135, 135, 135, 135, 135, 134, 78, 79, 80,
1040
+ /* 3320 */ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1041
+ /* 3330 */ 91, 92, 93, 94, 95, 96, 97, 135, 135, 100,
1042
+ /* 3340 */ 135, 102, 135, 135, 135, 106, 107, 135, 109, 135,
1043
+ /* 3350 */ 111, 112, 113, 135, 135, 135, 135, 135, 135, 135,
1044
+ /* 3360 */ 135, 135, 135, 135, 125, 126, 127, 128, 135, 135,
1045
+ /* 3370 */ 135, 135, 135, 134, 78, 79, 80, 81, 82, 83,
1046
+ /* 3380 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1047
+ /* 3390 */ 94, 95, 96, 97, 135, 135, 100, 135, 102, 135,
1048
+ /* 3400 */ 135, 135, 106, 107, 135, 109, 135, 111, 112, 113,
1049
+ /* 3410 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1050
+ /* 3420 */ 135, 125, 126, 127, 128, 135, 135, 135, 135, 135,
1051
+ /* 3430 */ 134, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1052
+ /* 3440 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1053
+ /* 3450 */ 97, 135, 135, 100, 135, 102, 135, 135, 135, 106,
1054
+ /* 3460 */ 107, 135, 109, 135, 111, 112, 113, 135, 135, 135,
1055
+ /* 3470 */ 135, 135, 135, 135, 135, 135, 135, 135, 125, 126,
1056
+ /* 3480 */ 127, 128, 135, 135, 135, 135, 135, 134, 78, 79,
1057
+ /* 3490 */ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1058
+ /* 3500 */ 90, 91, 92, 93, 94, 95, 96, 97, 135, 135,
1059
+ /* 3510 */ 100, 135, 102, 135, 135, 135, 106, 107, 135, 109,
1060
+ /* 3520 */ 135, 111, 112, 113, 135, 135, 135, 135, 135, 135,
1061
+ /* 3530 */ 135, 135, 135, 135, 135, 125, 126, 127, 128, 135,
1062
+ /* 3540 */ 135, 135, 135, 135, 134, 78, 79, 80, 81, 82,
1063
+ /* 3550 */ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1064
+ /* 3560 */ 93, 94, 95, 96, 97, 135, 135, 100, 135, 102,
1065
+ /* 3570 */ 135, 135, 135, 106, 107, 135, 109, 135, 111, 112,
1066
+ /* 3580 */ 113, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1067
+ /* 3590 */ 135, 135, 125, 126, 127, 128, 135, 135, 135, 135,
1068
+ /* 3600 */ 135, 134, 78, 79, 80, 81, 82, 83, 84, 85,
1069
+ /* 3610 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1070
+ /* 3620 */ 96, 97, 135, 135, 100, 135, 102, 135, 135, 135,
1071
+ /* 3630 */ 106, 107, 135, 109, 135, 111, 112, 113, 135, 135,
1072
+ /* 3640 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 125,
1073
+ /* 3650 */ 126, 127, 128, 135, 135, 135, 135, 135, 134, 78,
1074
+ /* 3660 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1075
+ /* 3670 */ 89, 90, 91, 92, 93, 94, 95, 96, 97, 135,
1076
+ /* 3680 */ 135, 100, 135, 102, 135, 135, 135, 106, 107, 135,
1077
+ /* 3690 */ 109, 135, 111, 112, 113, 135, 135, 135, 135, 135,
1078
+ /* 3700 */ 135, 135, 135, 135, 135, 135, 125, 126, 127, 128,
1079
+ /* 3710 */ 135, 135, 135, 135, 135, 134, 78, 79, 80, 81,
1080
+ /* 3720 */ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1081
+ /* 3730 */ 92, 93, 94, 95, 96, 97, 135, 135, 100, 135,
1082
+ /* 3740 */ 102, 135, 135, 135, 106, 107, 135, 109, 135, 111,
1083
+ /* 3750 */ 112, 113, 135, 135, 135, 135, 135, 135, 135, 135,
1084
+ /* 3760 */ 135, 135, 135, 125, 126, 127, 128, 135, 135, 135,
1085
+ /* 3770 */ 135, 135, 134, 78, 79, 80, 81, 82, 83, 84,
1086
+ /* 3780 */ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1087
+ /* 3790 */ 95, 96, 97, 135, 135, 100, 135, 102, 135, 135,
1088
+ /* 3800 */ 135, 106, 107, 135, 109, 135, 111, 112, 113, 135,
1089
+ /* 3810 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1090
+ /* 3820 */ 125, 126, 127, 128, 135, 135, 135, 135, 135, 134,
1091
+ /* 3830 */ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1092
+ /* 3840 */ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1093
+ /* 3850 */ 135, 135, 100, 135, 102, 135, 135, 135, 106, 107,
1094
+ /* 3860 */ 135, 109, 135, 111, 112, 113, 135, 135, 135, 135,
1095
+ /* 3870 */ 135, 135, 135, 135, 135, 135, 135, 125, 126, 127,
1096
+ /* 3880 */ 128, 135, 135, 135, 135, 135, 134, 78, 79, 80,
1097
+ /* 3890 */ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1098
+ /* 3900 */ 91, 92, 93, 94, 95, 96, 97, 135, 135, 100,
1099
+ /* 3910 */ 135, 102, 135, 135, 135, 106, 107, 135, 109, 135,
1100
+ /* 3920 */ 111, 112, 113, 135, 135, 135, 135, 135, 135, 135,
1101
+ /* 3930 */ 135, 135, 135, 135, 125, 126, 127, 128, 135, 135,
1102
+ /* 3940 */ 135, 135, 135, 134, 78, 79, 80, 81, 82, 83,
1103
+ /* 3950 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1104
+ /* 3960 */ 94, 95, 96, 97, 135, 135, 100, 135, 102, 135,
1105
+ /* 3970 */ 135, 135, 106, 107, 135, 109, 135, 111, 112, 113,
1106
+ /* 3980 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1107
+ /* 3990 */ 135, 125, 126, 127, 128, 135, 135, 135, 135, 135,
1108
+ /* 4000 */ 134, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1109
+ /* 4010 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1110
+ /* 4020 */ 97, 135, 135, 100, 135, 102, 135, 135, 135, 106,
1111
+ /* 4030 */ 107, 135, 109, 135, 111, 112, 113, 2, 135, 135,
1112
+ /* 4040 */ 135, 135, 7, 8, 9, 135, 135, 135, 125, 126,
1113
+ /* 4050 */ 127, 128, 17, 18, 135, 135, 135, 134, 135, 135,
1114
+ /* 4060 */ 135, 135, 27, 28, 29, 135, 31, 32, 135, 135,
1115
+ /* 4070 */ 135, 135, 135, 135, 39, 40, 41, 42, 43, 44,
1116
+ /* 4080 */ 45, 46, 47, 48, 135, 50, 51, 8, 135, 135,
1117
+ /* 4090 */ 135, 135, 57, 135, 135, 60, 61, 62, 19, 20,
1118
+ /* 4100 */ 65, 135, 135, 68, 135, 1, 71, 135, 4, 5,
1119
+ /* 4110 */ 6, 135, 135, 135, 135, 135, 135, 135, 135, 40,
1120
+ /* 4120 */ 41, 42, 43, 44, 45, 46, 22, 23, 24, 25,
1121
+ /* 4130 */ 26, 27, 28, 135, 30, 135, 57, 135, 135, 60,
1122
+ /* 4140 */ 61, 62, 135, 76, 135, 135, 135, 68, 135, 82,
1123
+ /* 4150 */ 83, 135, 135, 135, 135, 135, 135, 53, 135, 135,
1124
+ /* 4160 */ 135, 94, 95, 96, 97, 135, 1, 100, 64, 4,
1125
+ /* 4170 */ 5, 6, 135, 106, 107, 135, 109, 135, 111, 112,
1126
+ /* 4180 */ 113, 1, 135, 135, 4, 5, 6, 22, 23, 24,
1127
+ /* 4190 */ 25, 26, 27, 28, 135, 30, 135, 135, 135, 135,
1128
+ /* 4200 */ 20, 135, 22, 23, 24, 25, 26, 27, 28, 1,
1129
+ /* 4210 */ 30, 135, 4, 5, 6, 135, 135, 135, 53, 135,
1130
+ /* 4220 */ 1, 135, 135, 4, 5, 6, 135, 135, 135, 64,
1131
+ /* 4230 */ 22, 23, 24, 25, 26, 27, 28, 135, 30, 135,
1132
+ /* 4240 */ 21, 22, 23, 24, 25, 26, 27, 28, 135, 30,
1133
+ /* 4250 */ 81, 1, 135, 135, 4, 5, 6, 135, 135, 135,
1134
+ /* 4260 */ 135, 135, 135, 94, 95, 135, 135, 98, 99, 100,
1135
+ /* 4270 */ 20, 63, 22, 23, 24, 25, 26, 27, 28, 1,
1136
+ /* 4280 */ 30, 135, 4, 5, 6, 135, 117, 135, 135, 135,
1137
+ /* 4290 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 21,
1138
+ /* 4300 */ 22, 23, 24, 25, 26, 27, 28, 1, 30, 135,
1139
+ /* 4310 */ 4, 5, 6, 135, 135, 135, 8, 135, 135, 135,
1140
+ /* 4320 */ 135, 135, 135, 135, 135, 135, 135, 21, 22, 23,
1141
+ /* 4330 */ 24, 25, 26, 27, 28, 1, 30, 135, 4, 5,
1142
+ /* 4340 */ 6, 135, 135, 135, 135, 135, 135, 135, 40, 41,
1143
+ /* 4350 */ 42, 43, 44, 45, 46, 135, 22, 23, 24, 25,
1144
+ /* 4360 */ 26, 27, 28, 135, 30, 57, 82, 83, 60, 61,
1145
+ /* 4370 */ 62, 135, 135, 135, 135, 135, 68, 135, 94, 95,
1146
+ /* 4380 */ 96, 97, 135, 135, 100, 135, 135, 53, 135, 135,
1147
+ /* 4390 */ 106, 107, 135, 109, 135, 111, 112, 113, 135, 82,
1148
+ /* 4400 */ 83, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1149
+ /* 4410 */ 135, 94, 95, 96, 97, 1, 135, 100, 4, 5,
1150
+ /* 4420 */ 6, 135, 135, 106, 107, 135, 109, 135, 111, 112,
1151
+ /* 4430 */ 113, 4, 5, 6, 135, 135, 22, 23, 24, 25,
1152
+ /* 4440 */ 26, 27, 28, 135, 30, 135, 135, 20, 135, 22,
1153
+ /* 4450 */ 23, 24, 25, 26, 27, 28, 135, 30, 4, 5,
1154
+ /* 4460 */ 6, 135, 135, 135, 135, 135, 135, 13, 135, 135,
1155
+ /* 4470 */ 135, 135, 135, 135, 135, 135, 22, 23, 24, 25,
1156
+ /* 4480 */ 26, 27, 28, 135, 30, 4, 5, 6, 135, 135,
1157
+ /* 4490 */ 135, 135, 135, 135, 13, 135, 19, 20, 135, 4,
1158
+ /* 4500 */ 5, 6, 135, 22, 23, 24, 25, 26, 27, 28,
1159
+ /* 4510 */ 33, 30, 35, 36, 37, 135, 135, 22, 23, 24,
1160
+ /* 4520 */ 25, 26, 27, 28, 81, 30, 135, 135, 135, 135,
1161
+ /* 4530 */ 135, 54, 135, 56, 135, 135, 59, 94, 95, 135,
1162
+ /* 4540 */ 135, 98, 99, 100, 135, 135, 135, 135, 135, 135,
1163
+ /* 4550 */ 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1164
+ /* 4560 */ 117,
1165
+ );
1166
+ const YY_SHIFT_USE_DFLT = -21;
1167
+ const YY_SHIFT_MAX = 187;
1168
+ static public $yy_shift_ofst = array(
1169
+ /* 0 */ 1269, 625, 444, 444, 732, 1485, 1485, 1413, 1341, 1591,
1170
+ /* 10 */ 1591, 1591, 1269, 1591, 1591, 516, 1019, 1163, 1091, 1591,
1171
+ /* 20 */ 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591,
1172
+ /* 30 */ 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591,
1173
+ /* 40 */ 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1591,
1174
+ /* 50 */ 1591, 1591, 1591, 1591, 1591, 1591, 1591, 4035, 4079, 4308,
1175
+ /* 60 */ 4308, 46, 46, 1088, 46, 46, 1088, 270, 272, 4104,
1176
+ /* 70 */ 4165, 4250, 4250, 4427, 4427, 272, 4306, 4334, 4180, 4219,
1177
+ /* 80 */ 4208, 4278, 4414, 4414, 4414, 4414, 4414, 4481, 4454, 4414,
1178
+ /* 90 */ 4414, 4414, 4414, 4495, 4495, 4495, 18, 820, 1678, 942,
1179
+ /* 100 */ 877, 877, 877, 877, 877, 877, 877, 877, 877, 1070,
1180
+ /* 110 */ 74, 1070, 1142, 1142, 188, 243, 29, 476, 476, -3,
1181
+ /* 120 */ 374, 374, 374, 374, 374, 334, 334, 4477, 549, 658,
1182
+ /* 130 */ 179, 508, -20, 96, 15, 161, 44, 44, 340, 340,
1183
+ /* 140 */ 340, 119, 174, 119, 44, 340, 44, 119, 119, 119,
1184
+ /* 150 */ 119, 119, 44, 44, 119, 174, 6, 6, 119, 119,
1185
+ /* 160 */ 174, 349, 349, 416, 138, 473, 351, 704, 617, 731,
1186
+ /* 170 */ 306, 190, 122, 206, 89, 75, 276, 231, 302, 246,
1187
+ /* 180 */ 271, 245, 232, 224, 203, 202, 226, 192,
1188
+ );
1189
+ const YY_REDUCE_USE_DFLT = -79;
1190
+ const YY_REDUCE_MAX = 160;
1191
+ static public $yy_reduce_ofst = array(
1192
+ /* 0 */ -74, 268, 154, -17, 40, 211, 97, 332, 513, 727,
1193
+ /* 10 */ 620, 784, 907, 850, 1157, 3239, 3182, 3353, 3125, 3011,
1194
+ /* 20 */ 2840, 2783, 2897, 2954, 3296, 3695, 3809, 3752, 3923, 3866,
1195
+ /* 30 */ 3581, 3638, 3467, 3524, 3410, 3068, 1928, 1814, 1871, 1985,
1196
+ /* 40 */ 2042, 1757, 1586, 1479, 1643, 1700, 2099, 2612, 2555, 2669,
1197
+ /* 50 */ 2726, 2498, 2213, 2156, 2270, 2327, 2441, 2384, 4067, 4317,
1198
+ /* 60 */ 4284, 4443, 4169, 819, 1663, 64, 435, 420, 236, 447,
1199
+ /* 70 */ 458, 371, 150, 489, 535, 178, -78, -78, -78, -78,
1200
+ /* 80 */ -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
1201
+ /* 90 */ -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
1202
+ /* 100 */ -78, -78, -78, -78, -78, -78, -78, -78, -78, 360,
1203
+ /* 110 */ -78, 273, 273, 360, -78, -78, -78, -13, -13, -78,
1204
+ /* 120 */ -78, -78, -78, -78, -78, 68, 63, 357, 297, 297,
1205
+ /* 130 */ 298, 323, 264, 259, 217, 199, 279, 304, 294, 328,
1206
+ /* 140 */ 362, 391, 344, 359, 104, 337, 343, 379, 366, 380,
1207
+ /* 150 */ 325, -47, 79, 104, 145, 83, 218, 47, 30, 249,
1208
+ /* 160 */ 168,
1209
+ );
1210
+ static public $yyExpectedTokens = array(
1211
+ /* 0 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 20, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1212
+ /* 1 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 20, 27, 28, 29, 31, 32, 34, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1213
+ /* 2 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 20, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 63, 65, 68, 71, ),
1214
+ /* 3 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 20, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 63, 65, 68, 71, ),
1215
+ /* 4 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 53, 57, 60, 61, 62, 64, 65, 68, 71, ),
1216
+ /* 5 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 20, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1217
+ /* 6 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 20, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1218
+ /* 7 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 20, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1219
+ /* 8 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 21, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1220
+ /* 9 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1221
+ /* 10 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1222
+ /* 11 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1223
+ /* 12 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 20, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1224
+ /* 13 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1225
+ /* 14 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1226
+ /* 15 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 20, 27, 28, 29, 31, 32, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1227
+ /* 16 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 20, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1228
+ /* 17 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 20, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1229
+ /* 18 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 20, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1230
+ /* 19 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1231
+ /* 20 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1232
+ /* 21 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1233
+ /* 22 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1234
+ /* 23 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1235
+ /* 24 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1236
+ /* 25 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1237
+ /* 26 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1238
+ /* 27 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1239
+ /* 28 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1240
+ /* 29 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1241
+ /* 30 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1242
+ /* 31 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1243
+ /* 32 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1244
+ /* 33 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1245
+ /* 34 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1246
+ /* 35 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1247
+ /* 36 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1248
+ /* 37 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1249
+ /* 38 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1250
+ /* 39 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1251
+ /* 40 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1252
+ /* 41 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1253
+ /* 42 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1254
+ /* 43 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1255
+ /* 44 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1256
+ /* 45 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1257
+ /* 46 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1258
+ /* 47 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1259
+ /* 48 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1260
+ /* 49 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1261
+ /* 50 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1262
+ /* 51 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1263
+ /* 52 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1264
+ /* 53 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1265
+ /* 54 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1266
+ /* 55 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1267
+ /* 56 */ array(2, 4, 5, 6, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1268
+ /* 57 */ array(2, 7, 8, 9, 17, 18, 27, 28, 29, 31, 32, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 57, 60, 61, 62, 65, 68, 71, ),
1269
+ /* 58 */ array(8, 19, 20, 40, 41, 42, 43, 44, 45, 46, 57, 60, 61, 62, 68, ),
1270
+ /* 59 */ array(8, 40, 41, 42, 43, 44, 45, 46, 57, 60, 61, 62, 68, ),
1271
+ /* 60 */ array(8, 40, 41, 42, 43, 44, 45, 46, 57, 60, 61, 62, 68, ),
1272
+ /* 61 */ array(40, 41, 42, 47, 61, ),
1273
+ /* 62 */ array(40, 41, 42, 47, 61, ),
1274
+ /* 63 */ array(40, 57, 61, 62, ),
1275
+ /* 64 */ array(40, 41, 42, 47, 61, ),
1276
+ /* 65 */ array(40, 41, 42, 47, 61, ),
1277
+ /* 66 */ array(40, 57, 61, 62, ),
1278
+ /* 67 */ array(40, 57, 62, 70, ),
1279
+ /* 68 */ array(40, 57, 62, ),
1280
+ /* 69 */ array(1, 4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, 53, 64, ),
1281
+ /* 70 */ array(1, 4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, 53, 64, ),
1282
+ /* 71 */ array(1, 4, 5, 6, 20, 22, 23, 24, 25, 26, 27, 28, 30, ),
1283
+ /* 72 */ array(1, 4, 5, 6, 20, 22, 23, 24, 25, 26, 27, 28, 30, ),
1284
+ /* 73 */ array(4, 5, 6, 20, 22, 23, 24, 25, 26, 27, 28, 30, ),
1285
+ /* 74 */ array(4, 5, 6, 20, 22, 23, 24, 25, 26, 27, 28, 30, ),
1286
+ /* 75 */ array(40, 57, 62, ),
1287
+ /* 76 */ array(1, 4, 5, 6, 21, 22, 23, 24, 25, 26, 27, 28, 30, ),
1288
+ /* 77 */ array(1, 4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, 53, ),
1289
+ /* 78 */ array(1, 4, 5, 6, 20, 22, 23, 24, 25, 26, 27, 28, 30, ),
1290
+ /* 79 */ array(1, 4, 5, 6, 21, 22, 23, 24, 25, 26, 27, 28, 30, ),
1291
+ /* 80 */ array(1, 4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, 63, ),
1292
+ /* 81 */ array(1, 4, 5, 6, 21, 22, 23, 24, 25, 26, 27, 28, 30, ),
1293
+ /* 82 */ array(1, 4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, ),
1294
+ /* 83 */ array(1, 4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, ),
1295
+ /* 84 */ array(1, 4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, ),
1296
+ /* 85 */ array(1, 4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, ),
1297
+ /* 86 */ array(1, 4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, ),
1298
+ /* 87 */ array(4, 5, 6, 13, 22, 23, 24, 25, 26, 27, 28, 30, ),
1299
+ /* 88 */ array(4, 5, 6, 13, 22, 23, 24, 25, 26, 27, 28, 30, ),
1300
+ /* 89 */ array(1, 4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, ),
1301
+ /* 90 */ array(1, 4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, ),
1302
+ /* 91 */ array(1, 4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, ),
1303
+ /* 92 */ array(1, 4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, ),
1304
+ /* 93 */ array(4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, ),
1305
+ /* 94 */ array(4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, ),
1306
+ /* 95 */ array(4, 5, 6, 22, 23, 24, 25, 26, 27, 28, 30, ),
1307
+ /* 96 */ array(12, 13, 22, 23, 24, 25, 26, 27, 28, 30, ),
1308
+ /* 97 */ array(12, 22, 23, 24, 25, 26, 27, 28, 30, ),
1309
+ /* 98 */ array(13, 22, 23, 24, 25, 26, 27, 28, 30, ),
1310
+ /* 99 */ array(13, 22, 23, 24, 25, 26, 27, 28, 30, ),
1311
+ /* 100 */ array(22, 23, 24, 25, 26, 27, 28, 30, ),
1312
+ /* 101 */ array(22, 23, 24, 25, 26, 27, 28, 30, ),
1313
+ /* 102 */ array(22, 23, 24, 25, 26, 27, 28, 30, ),
1314
+ /* 103 */ array(22, 23, 24, 25, 26, 27, 28, 30, ),
1315
+ /* 104 */ array(22, 23, 24, 25, 26, 27, 28, 30, ),
1316
+ /* 105 */ array(22, 23, 24, 25, 26, 27, 28, 30, ),
1317
+ /* 106 */ array(22, 23, 24, 25, 26, 27, 28, 30, ),
1318
+ /* 107 */ array(22, 23, 24, 25, 26, 27, 28, 30, ),
1319
+ /* 108 */ array(22, 23, 24, 25, 26, 27, 28, 30, ),
1320
+ /* 109 */ array(33, 35, 36, 37, 54, 56, 59, ),
1321
+ /* 110 */ array(23, 24, 25, 26, 27, 28, 30, ),
1322
+ /* 111 */ array(33, 35, 36, 37, 54, 56, 59, ),
1323
+ /* 112 */ array(35, 36, 37, 54, 56, 59, ),
1324
+ /* 113 */ array(35, 36, 37, 54, 56, 59, ),
1325
+ /* 114 */ array(24, 25, 26, 27, 28, 30, ),
1326
+ /* 115 */ array(25, 26, 27, 28, 30, ),
1327
+ /* 116 */ array(26, 27, 28, 30, ),
1328
+ /* 117 */ array(1, 4, 5, 6, ),
1329
+ /* 118 */ array(1, 4, 5, 6, ),
1330
+ /* 119 */ array(27, 28, 30, ),
1331
+ /* 120 */ array(30, ),
1332
+ /* 121 */ array(30, ),
1333
+ /* 122 */ array(30, ),
1334
+ /* 123 */ array(30, ),
1335
+ /* 124 */ array(30, ),
1336
+ /* 125 */ array(72, ),
1337
+ /* 126 */ array(72, ),
1338
+ /* 127 */ array(19, 20, 33, 35, 36, 37, 54, 56, 59, ),
1339
+ /* 128 */ array(3, 21, 72, ),
1340
+ /* 129 */ array(3, 21, 72, ),
1341
+ /* 130 */ array(50, 51, ),
1342
+ /* 131 */ array(2, 20, ),
1343
+ /* 132 */ array(54, 56, ),
1344
+ /* 133 */ array(20, 52, ),
1345
+ /* 134 */ array(66, 67, ),
1346
+ /* 135 */ array(10, 11, ),
1347
+ /* 136 */ array(40, ),
1348
+ /* 137 */ array(40, ),
1349
+ /* 138 */ array(52, ),
1350
+ /* 139 */ array(52, ),
1351
+ /* 140 */ array(52, ),
1352
+ /* 141 */ array(20, ),
1353
+ /* 142 */ array(33, ),
1354
+ /* 143 */ array(20, ),
1355
+ /* 144 */ array(40, ),
1356
+ /* 145 */ array(52, ),
1357
+ /* 146 */ array(40, ),
1358
+ /* 147 */ array(20, ),
1359
+ /* 148 */ array(20, ),
1360
+ /* 149 */ array(20, ),
1361
+ /* 150 */ array(20, ),
1362
+ /* 151 */ array(20, ),
1363
+ /* 152 */ array(40, ),
1364
+ /* 153 */ array(40, ),
1365
+ /* 154 */ array(20, ),
1366
+ /* 155 */ array(33, ),
1367
+ /* 156 */ array(52, ),
1368
+ /* 157 */ array(52, ),
1369
+ /* 158 */ array(20, ),
1370
+ /* 159 */ array(20, ),
1371
+ /* 160 */ array(33, ),
1372
+ /* 161 */ array(33, 35, 36, 37, 54, 56, 59, ),
1373
+ /* 162 */ array(33, 35, 36, 37, 54, 56, 59, ),
1374
+ /* 163 */ array(20, 38, 52, 63, ),
1375
+ /* 164 */ array(16, 19, 31, 32, ),
1376
+ /* 165 */ array(20, 38, 58, ),
1377
+ /* 166 */ array(20, 21, 38, ),
1378
+ /* 167 */ array(20, 21, 38, ),
1379
+ /* 168 */ array(20, 34, 38, ),
1380
+ /* 169 */ array(20, 21, 38, ),
1381
+ /* 170 */ array(20, 38, 63, ),
1382
+ /* 171 */ array(21, 38, ),
1383
+ /* 172 */ array(21, 38, ),
1384
+ /* 173 */ array(14, 53, ),
1385
+ /* 174 */ array(49, 52, ),
1386
+ /* 175 */ array(38, 69, ),
1387
+ /* 176 */ array(38, ),
1388
+ /* 177 */ array(21, ),
1389
+ /* 178 */ array(14, ),
1390
+ /* 179 */ array(69, ),
1391
+ /* 180 */ array(15, ),
1392
+ /* 181 */ array(38, ),
1393
+ /* 182 */ array(21, ),
1394
+ /* 183 */ array(3, ),
1395
+ /* 184 */ array(52, ),
1396
+ /* 185 */ array(55, ),
1397
+ /* 186 */ array(38, ),
1398
+ /* 187 */ array(66, ),
1399
+ /* 188 */ array(),
1400
+ /* 189 */ array(),
1401
+ /* 190 */ array(),
1402
+ /* 191 */ array(),
1403
+ /* 192 */ array(),
1404
+ /* 193 */ array(),
1405
+ /* 194 */ array(),
1406
+ /* 195 */ array(),
1407
+ /* 196 */ array(),
1408
+ /* 197 */ array(),
1409
+ /* 198 */ array(),
1410
+ /* 199 */ array(),
1411
+ /* 200 */ array(),
1412
+ /* 201 */ array(),
1413
+ /* 202 */ array(),
1414
+ /* 203 */ array(),
1415
+ /* 204 */ array(),
1416
+ /* 205 */ array(),
1417
+ /* 206 */ array(),
1418
+ /* 207 */ array(),
1419
+ /* 208 */ array(),
1420
+ /* 209 */ array(),
1421
+ /* 210 */ array(),
1422
+ /* 211 */ array(),
1423
+ /* 212 */ array(),
1424
+ /* 213 */ array(),
1425
+ /* 214 */ array(),
1426
+ /* 215 */ array(),
1427
+ /* 216 */ array(),
1428
+ /* 217 */ array(),
1429
+ /* 218 */ array(),
1430
+ /* 219 */ array(),
1431
+ /* 220 */ array(),
1432
+ /* 221 */ array(),
1433
+ /* 222 */ array(),
1434
+ /* 223 */ array(),
1435
+ /* 224 */ array(),
1436
+ /* 225 */ array(),
1437
+ /* 226 */ array(),
1438
+ /* 227 */ array(),
1439
+ /* 228 */ array(),
1440
+ /* 229 */ array(),
1441
+ /* 230 */ array(),
1442
+ /* 231 */ array(),
1443
+ /* 232 */ array(),
1444
+ /* 233 */ array(),
1445
+ /* 234 */ array(),
1446
+ /* 235 */ array(),
1447
+ /* 236 */ array(),
1448
+ /* 237 */ array(),
1449
+ /* 238 */ array(),
1450
+ /* 239 */ array(),
1451
+ /* 240 */ array(),
1452
+ /* 241 */ array(),
1453
+ /* 242 */ array(),
1454
+ /* 243 */ array(),
1455
+ /* 244 */ array(),
1456
+ /* 245 */ array(),
1457
+ /* 246 */ array(),
1458
+ /* 247 */ array(),
1459
+ /* 248 */ array(),
1460
+ /* 249 */ array(),
1461
+ /* 250 */ array(),
1462
+ /* 251 */ array(),
1463
+ /* 252 */ array(),
1464
+ /* 253 */ array(),
1465
+ /* 254 */ array(),
1466
+ /* 255 */ array(),
1467
+ /* 256 */ array(),
1468
+ /* 257 */ array(),
1469
+ /* 258 */ array(),
1470
+ /* 259 */ array(),
1471
+ /* 260 */ array(),
1472
+ /* 261 */ array(),
1473
+ /* 262 */ array(),
1474
+ /* 263 */ array(),
1475
+ /* 264 */ array(),
1476
+ /* 265 */ array(),
1477
+ /* 266 */ array(),
1478
+ /* 267 */ array(),
1479
+ /* 268 */ array(),
1480
+ /* 269 */ array(),
1481
+ /* 270 */ array(),
1482
+ /* 271 */ array(),
1483
+ /* 272 */ array(),
1484
+ /* 273 */ array(),
1485
+ /* 274 */ array(),
1486
+ /* 275 */ array(),
1487
+ /* 276 */ array(),
1488
+ /* 277 */ array(),
1489
+ /* 278 */ array(),
1490
+ /* 279 */ array(),
1491
+ /* 280 */ array(),
1492
+ /* 281 */ array(),
1493
+ /* 282 */ array(),
1494
+ /* 283 */ array(),
1495
+ /* 284 */ array(),
1496
+ /* 285 */ array(),
1497
+ /* 286 */ array(),
1498
+ /* 287 */ array(),
1499
+ /* 288 */ array(),
1500
+ /* 289 */ array(),
1501
+ /* 290 */ array(),
1502
+ /* 291 */ array(),
1503
+ /* 292 */ array(),
1504
+ /* 293 */ array(),
1505
+ /* 294 */ array(),
1506
+ /* 295 */ array(),
1507
+ /* 296 */ array(),
1508
+ /* 297 */ array(),
1509
+ /* 298 */ array(),
1510
+ /* 299 */ array(),
1511
+ /* 300 */ array(),
1512
+ /* 301 */ array(),
1513
+ /* 302 */ array(),
1514
+ /* 303 */ array(),
1515
+ /* 304 */ array(),
1516
+ /* 305 */ array(),
1517
+ /* 306 */ array(),
1518
+ /* 307 */ array(),
1519
+ /* 308 */ array(),
1520
+ /* 309 */ array(),
1521
+ /* 310 */ array(),
1522
+ /* 311 */ array(),
1523
+ /* 312 */ array(),
1524
+ /* 313 */ array(),
1525
+ );
1526
+ static public $yy_default = array(
1527
+ /* 0 */ 314, 510, 510, 510, 510, 510, 510, 510, 510, 365,
1528
+ /* 10 */ 510, 510, 510, 319, 510, 510, 510, 510, 510, 510,
1529
+ /* 20 */ 510, 510, 510, 510, 510, 510, 510, 510, 510, 510,
1530
+ /* 30 */ 510, 510, 510, 510, 510, 510, 510, 510, 510, 510,
1531
+ /* 40 */ 510, 510, 510, 510, 431, 510, 510, 510, 510, 510,
1532
+ /* 50 */ 510, 429, 510, 510, 510, 510, 510, 358, 404, 510,
1533
+ /* 60 */ 510, 399, 399, 366, 510, 365, 510, 510, 510, 396,
1534
+ /* 70 */ 437, 510, 510, 406, 410, 510, 510, 437, 510, 510,
1535
+ /* 80 */ 510, 510, 430, 440, 371, 428, 490, 451, 449, 439,
1536
+ /* 90 */ 320, 491, 351, 450, 458, 452, 471, 473, 475, 472,
1537
+ /* 100 */ 476, 509, 348, 477, 357, 507, 446, 474, 347, 326,
1538
+ /* 110 */ 505, 325, 416, 416, 504, 506, 503, 510, 321, 502,
1539
+ /* 120 */ 492, 501, 494, 493, 500, 510, 510, 408, 510, 510,
1540
+ /* 130 */ 510, 510, 510, 510, 441, 510, 510, 510, 364, 364,
1541
+ /* 140 */ 364, 510, 510, 510, 510, 364, 392, 510, 510, 510,
1542
+ /* 150 */ 510, 510, 510, 421, 510, 510, 364, 364, 510, 510,
1543
+ /* 160 */ 414, 495, 496, 426, 381, 510, 510, 510, 510, 510,
1544
+ /* 170 */ 510, 510, 510, 369, 510, 510, 484, 510, 384, 510,
1545
+ /* 180 */ 350, 315, 510, 488, 469, 510, 510, 442, 337, 360,
1546
+ /* 190 */ 316, 401, 400, 398, 352, 355, 508, 402, 468, 356,
1547
+ /* 200 */ 353, 354, 370, 419, 374, 394, 467, 466, 375, 349,
1548
+ /* 210 */ 418, 465, 407, 426, 368, 403, 367, 462, 464, 373,
1549
+ /* 220 */ 470, 372, 397, 478, 346, 455, 460, 463, 345, 344,
1550
+ /* 230 */ 340, 341, 342, 343, 359, 317, 363, 377, 380, 497,
1551
+ /* 240 */ 362, 361, 338, 454, 459, 336, 335, 389, 390, 391,
1552
+ /* 250 */ 393, 339, 378, 318, 322, 323, 324, 379, 395, 331,
1553
+ /* 260 */ 332, 333, 334, 330, 329, 413, 327, 328, 498, 382,
1554
+ /* 270 */ 489, 485, 482, 480, 384, 487, 461, 479, 483, 486,
1555
+ /* 280 */ 481, 457, 434, 432, 436, 435, 424, 438, 423, 376,
1556
+ /* 290 */ 433, 456, 453, 412, 417, 409, 411, 388, 387, 383,
1557
+ /* 300 */ 385, 386, 415, 420, 443, 445, 447, 448, 444, 499,
1558
+ /* 310 */ 422, 425, 427, 405,
1559
+ );
1560
+ /* The next thing included is series of defines which control
1561
+ ** various aspects of the generated parser.
1562
+ ** self::YYNOCODE is a number which corresponds
1563
+ ** to no legal terminal or nonterminal number. This
1564
+ ** number is used to fill in empty slots of the hash
1565
+ ** table.
1566
+ ** self::YYFALLBACK If defined, this indicates that one or more tokens
1567
+ ** have fall-back values which should be used if the
1568
+ ** original value of the token will not parse.
1569
+ ** self::YYSTACKDEPTH is the maximum depth of the parser's stack.
1570
+ ** self::YYNSTATE the combined number of states.
1571
+ ** self::YYNRULE the number of rules in the grammar
1572
+ ** self::YYERRORSYMBOL is the code number of the error symbol. If not
1573
+ ** defined, then do no error processing.
1574
+ */
1575
+ const YYNOCODE = 136;
1576
+ const YYSTACKDEPTH = 100;
1577
+ const YYNSTATE = 314;
1578
+ const YYNRULE = 196;
1579
+ const YYERRORSYMBOL = 73;
1580
+ const YYERRSYMDT = 'yy0';
1581
+ const YYFALLBACK = 0;
1582
+ /** The next table maps tokens into fallback tokens. If a construct
1583
+ * like the following:
1584
+ *
1585
+ * %fallback ID X Y Z.
1586
+ *
1587
+ * appears in the grammer, then ID becomes a fallback token for X, Y,
1588
+ * and Z. Whenever one of the tokens X, Y, or Z is input to the parser
1589
+ * but it does not parse, the type of the token is changed to ID and
1590
+ * the parse is retried before an error is thrown.
1591
+ */
1592
+ static public $yyFallback = array(
1593
+ );
1594
+ /**
1595
+ * Turn parser tracing on by giving a stream to which to write the trace
1596
+ * and a prompt to preface each trace message. Tracing is turned off
1597
+ * by making either argument NULL
1598
+ *
1599
+ * Inputs:
1600
+ *
1601
+ * - A stream resource to which trace output should be written.
1602
+ * If NULL, then tracing is turned off.
1603
+ * - A prefix string written at the beginning of every
1604
+ * line of trace output. If NULL, then tracing is
1605
+ * turned off.
1606
+ *
1607
+ * Outputs:
1608
+ *
1609
+ * - None.
1610
+ * @param resource
1611
+ * @param string
1612
+ */
1613
+ static function Trace($TraceFILE, $zTracePrompt)
1614
+ {
1615
+ if (!$TraceFILE) {
1616
+ $zTracePrompt = 0;
1617
+ } elseif (!$zTracePrompt) {
1618
+ $TraceFILE = 0;
1619
+ }
1620
+ self::$yyTraceFILE = $TraceFILE;
1621
+ self::$yyTracePrompt = $zTracePrompt;
1622
+ }
1623
+
1624
+ /**
1625
+ * Output debug information to output (php://output stream)
1626
+ */
1627
+ static function PrintTrace()
1628
+ {
1629
+ self::$yyTraceFILE = fopen('php://output', 'w');
1630
+ self::$yyTracePrompt = '';
1631
+ }
1632
+
1633
+ /**
1634
+ * @var resource|0
1635
+ */
1636
+ static public $yyTraceFILE;
1637
+ /**
1638
+ * String to prepend to debug output
1639
+ * @var string|0
1640
+ */
1641
+ static public $yyTracePrompt;
1642
+ /**
1643
+ * @var int
1644
+ */
1645
+ public $yyidx = -1; /* Index of top element in stack */
1646
+ /**
1647
+ * @var int
1648
+ */
1649
+ public $yyerrcnt; /* Shifts left before out of the error */
1650
+ /**
1651
+ * @var array
1652
+ */
1653
+ public $yystack = array(); /* The parser's stack */
1654
+
1655
+ /**
1656
+ * For tracing shifts, the names of all terminals and nonterminals
1657
+ * are required. The following table supplies these names
1658
+ * @var array
1659
+ */
1660
+ static public $yyTokenName = array(
1661
+ '$', 'YY_POST_IF', 'YY_IF', 'YY_ELSE',
1662
+ 'YY_FOR', 'YY_WHILE', 'YY_UNTIL', 'YY_LOOP',
1663
+ 'YY_SUPER', 'YY_CLASS', 'YY_FORIN', 'YY_FOROF',
1664
+ 'YY_BY', 'YY_WHEN', 'YY_EQUALS', 'YY_COLON',
1665
+ 'YY_COMPOUND_ASSIGN', 'YY_RETURN', 'YY_THROW', 'YY_EXTENDS',
1666
+ 'YY_INDENT', 'YY_OUTDENT', 'YY_LOGIC', 'YY_COMPARE',
1667
+ 'YY_RELATION', 'YY_SHIFT', 'YY_MATH', 'YY_PLUS',
1668
+ 'YY_MINUS', 'YY_UNARY', 'YY_EXISTENTIAL', 'YY_INCREMENT',
1669
+ 'YY_DECREMENT', 'YY_CALL_START', 'YY_CALL_END', 'YY_ACCESSOR',
1670
+ 'YY_EXISTENTIAL_ACCESSOR', 'YY_PROTOTYPE', 'YY_TERMINATOR', 'YY_STATEMENT',
1671
+ 'YY_IDENTIFIER', 'YY_NUMBER', 'YY_STRING', 'YY_JS',
1672
+ 'YY_REGEX', 'YY_DEBUGGER', 'YY_BOOL', 'YY_HERECOMMENT',
1673
+ 'YY_PARAM_START', 'YY_PARAM_END', 'YY_FUNC', 'YY_BOUND_FUNC',
1674
+ 'YY_COMMA', 'YY_RANGE_EXCLUSIVE', 'YY_INDEX_START', 'YY_INDEX_END',
1675
+ 'YY_INDEX_SOAK', 'YY_OBJECT_START', 'YY_OBJECT_END', 'YY_FUNC_EXIST',
1676
+ 'YY_THIS', 'YY_AT_SIGN', 'YY_ARRAY_START', 'YY_ARRAY_END',
1677
+ 'YY_RANGE_INCLUSIVE', 'YY_TRY', 'YY_FINALLY', 'YY_CATCH',
1678
+ 'YY_PAREN_START', 'YY_PAREN_END', 'YY_OWN', 'YY_SWITCH',
1679
+ 'YY_LEADING_WHEN', 'error', 'root', 'body',
1680
+ 'block', 'line', 'expression', 'statement',
1681
+ 'return', 'comment', 'value', 'invocation',
1682
+ 'code', 'operation', 'assign', 'if',
1683
+ 'try', 'while', 'for', 'switch',
1684
+ 'class', 'throw', 'identifier', 'alphanumeric',
1685
+ 'literal', 'assignable', 'assignObj', 'objAssignable',
1686
+ 'thisProperty', 'paramList', 'funcGlyph', 'optComma',
1687
+ 'param', 'paramVar', 'array', 'object',
1688
+ 'splat', 'simpleAssignable', 'accessor', 'parenthetical',
1689
+ 'range', 'this', 'index', 'indexValue',
1690
+ 'slice', 'assignList', 'optFuncExist', 'arguments',
1691
+ 'argList', 'rangeDots', 'arg', 'simpleArgs',
1692
+ 'catch', 'whileSource', 'loop', 'forBody',
1693
+ 'forStart', 'forSource', 'forVariables', 'forValue',
1694
+ 'whens', 'when', 'ifBlock',
1695
+ );
1696
+
1697
+ /**
1698
+ * For tracing reduce actions, the names of all rules are required.
1699
+ * @var array
1700
+ */
1701
+ static public $yyRuleName = array(
1702
+ /* 0 */ "root ::=",
1703
+ /* 1 */ "root ::= body",
1704
+ /* 2 */ "root ::= block YY_TERMINATOR",
1705
+ /* 3 */ "body ::= line",
1706
+ /* 4 */ "body ::= body YY_TERMINATOR line",
1707
+ /* 5 */ "body ::= body YY_TERMINATOR",
1708
+ /* 6 */ "line ::= expression",
1709
+ /* 7 */ "line ::= statement",
1710
+ /* 8 */ "statement ::= return",
1711
+ /* 9 */ "statement ::= comment",
1712
+ /* 10 */ "statement ::= YY_STATEMENT",
1713
+ /* 11 */ "expression ::= value",
1714
+ /* 12 */ "expression ::= invocation",
1715
+ /* 13 */ "expression ::= code",
1716
+ /* 14 */ "expression ::= operation",
1717
+ /* 15 */ "expression ::= assign",
1718
+ /* 16 */ "expression ::= if",
1719
+ /* 17 */ "expression ::= try",
1720
+ /* 18 */ "expression ::= while",
1721
+ /* 19 */ "expression ::= for",
1722
+ /* 20 */ "expression ::= switch",
1723
+ /* 21 */ "expression ::= class",
1724
+ /* 22 */ "expression ::= throw",
1725
+ /* 23 */ "block ::= YY_INDENT YY_OUTDENT",
1726
+ /* 24 */ "block ::= YY_INDENT body YY_OUTDENT",
1727
+ /* 25 */ "identifier ::= YY_IDENTIFIER",
1728
+ /* 26 */ "alphanumeric ::= YY_NUMBER",
1729
+ /* 27 */ "alphanumeric ::= YY_STRING",
1730
+ /* 28 */ "literal ::= alphanumeric",
1731
+ /* 29 */ "literal ::= YY_JS",
1732
+ /* 30 */ "literal ::= YY_REGEX",
1733
+ /* 31 */ "literal ::= YY_DEBUGGER",
1734
+ /* 32 */ "literal ::= YY_BOOL",
1735
+ /* 33 */ "assign ::= assignable YY_EQUALS expression",
1736
+ /* 34 */ "assign ::= assignable YY_EQUALS YY_TERMINATOR expression",
1737
+ /* 35 */ "assign ::= assignable YY_EQUALS YY_INDENT expression YY_OUTDENT",
1738
+ /* 36 */ "assignObj ::= objAssignable",
1739
+ /* 37 */ "assignObj ::= objAssignable YY_COLON expression",
1740
+ /* 38 */ "assignObj ::= objAssignable YY_COLON YY_INDENT expression YY_OUTDENT",
1741
+ /* 39 */ "assignObj ::= comment",
1742
+ /* 40 */ "objAssignable ::= identifier",
1743
+ /* 41 */ "objAssignable ::= alphanumeric",
1744
+ /* 42 */ "objAssignable ::= thisProperty",
1745
+ /* 43 */ "return ::= YY_RETURN expression",
1746
+ /* 44 */ "return ::= YY_RETURN",
1747
+ /* 45 */ "comment ::= YY_HERECOMMENT",
1748
+ /* 46 */ "code ::= YY_PARAM_START paramList YY_PARAM_END funcGlyph block",
1749
+ /* 47 */ "code ::= funcGlyph block",
1750
+ /* 48 */ "funcGlyph ::= YY_FUNC",
1751
+ /* 49 */ "funcGlyph ::= YY_BOUND_FUNC",
1752
+ /* 50 */ "optComma ::=",
1753
+ /* 51 */ "optComma ::= YY_COMMA",
1754
+ /* 52 */ "paramList ::=",
1755
+ /* 53 */ "paramList ::= param",
1756
+ /* 54 */ "paramList ::= paramList YY_COMMA param",
1757
+ /* 55 */ "param ::= paramVar",
1758
+ /* 56 */ "param ::= paramVar YY_RANGE_EXCLUSIVE",
1759
+ /* 57 */ "param ::= paramVar YY_EQUALS expression",
1760
+ /* 58 */ "paramVar ::= identifier",
1761
+ /* 59 */ "paramVar ::= thisProperty",
1762
+ /* 60 */ "paramVar ::= array",
1763
+ /* 61 */ "paramVar ::= object",
1764
+ /* 62 */ "splat ::= expression YY_RANGE_EXCLUSIVE",
1765
+ /* 63 */ "simpleAssignable ::= identifier",
1766
+ /* 64 */ "simpleAssignable ::= value accessor",
1767
+ /* 65 */ "simpleAssignable ::= invocation accessor",
1768
+ /* 66 */ "simpleAssignable ::= thisProperty",
1769
+ /* 67 */ "assignable ::= simpleAssignable",
1770
+ /* 68 */ "assignable ::= array",
1771
+ /* 69 */ "assignable ::= object",
1772
+ /* 70 */ "value ::= assignable",
1773
+ /* 71 */ "value ::= literal",
1774
+ /* 72 */ "value ::= parenthetical",
1775
+ /* 73 */ "value ::= range",
1776
+ /* 74 */ "value ::= this",
1777
+ /* 75 */ "accessor ::= YY_ACCESSOR identifier",
1778
+ /* 76 */ "accessor ::= YY_EXISTENTIAL_ACCESSOR identifier",
1779
+ /* 77 */ "accessor ::= YY_PROTOTYPE identifier",
1780
+ /* 78 */ "accessor ::= YY_PROTOTYPE",
1781
+ /* 79 */ "accessor ::= index",
1782
+ /* 80 */ "index ::= YY_INDEX_START indexValue YY_INDEX_END",
1783
+ /* 81 */ "index ::= YY_INDEX_SOAK index",
1784
+ /* 82 */ "indexValue ::= expression",
1785
+ /* 83 */ "indexValue ::= slice",
1786
+ /* 84 */ "object ::= YY_OBJECT_START assignList optComma YY_OBJECT_END",
1787
+ /* 85 */ "assignList ::=",
1788
+ /* 86 */ "assignList ::= assignObj",
1789
+ /* 87 */ "assignList ::= assignList YY_COMMA assignObj",
1790
+ /* 88 */ "assignList ::= assignList optComma YY_TERMINATOR assignObj",
1791
+ /* 89 */ "assignList ::= assignList optComma YY_INDENT assignList optComma YY_OUTDENT",
1792
+ /* 90 */ "class ::= YY_CLASS",
1793
+ /* 91 */ "class ::= YY_CLASS block",
1794
+ /* 92 */ "class ::= YY_CLASS YY_EXTENDS expression",
1795
+ /* 93 */ "class ::= YY_CLASS YY_EXTENDS expression block",
1796
+ /* 94 */ "class ::= YY_CLASS simpleAssignable",
1797
+ /* 95 */ "class ::= YY_CLASS simpleAssignable block",
1798
+ /* 96 */ "class ::= YY_CLASS simpleAssignable YY_EXTENDS expression",
1799
+ /* 97 */ "class ::= YY_CLASS simpleAssignable YY_EXTENDS expression block",
1800
+ /* 98 */ "invocation ::= value optFuncExist arguments",
1801
+ /* 99 */ "invocation ::= invocation optFuncExist arguments",
1802
+ /* 100 */ "invocation ::= YY_SUPER",
1803
+ /* 101 */ "invocation ::= YY_SUPER arguments",
1804
+ /* 102 */ "optFuncExist ::=",
1805
+ /* 103 */ "optFuncExist ::= YY_FUNC_EXIST",
1806
+ /* 104 */ "arguments ::= YY_CALL_START YY_CALL_END",
1807
+ /* 105 */ "arguments ::= YY_CALL_START argList optComma YY_CALL_END",
1808
+ /* 106 */ "this ::= YY_THIS",
1809
+ /* 107 */ "this ::= YY_AT_SIGN",
1810
+ /* 108 */ "thisProperty ::= YY_AT_SIGN identifier",
1811
+ /* 109 */ "array ::= YY_ARRAY_START YY_ARRAY_END",
1812
+ /* 110 */ "array ::= YY_ARRAY_START argList optComma YY_ARRAY_END",
1813
+ /* 111 */ "rangeDots ::= YY_RANGE_INCLUSIVE",
1814
+ /* 112 */ "rangeDots ::= YY_RANGE_EXCLUSIVE",
1815
+ /* 113 */ "range ::= YY_ARRAY_START expression rangeDots expression YY_ARRAY_END",
1816
+ /* 114 */ "slice ::= expression rangeDots expression",
1817
+ /* 115 */ "slice ::= expression rangeDots",
1818
+ /* 116 */ "slice ::= rangeDots expression",
1819
+ /* 117 */ "slice ::= rangeDots",
1820
+ /* 118 */ "argList ::= arg",
1821
+ /* 119 */ "argList ::= argList YY_COMMA arg",
1822
+ /* 120 */ "argList ::= argList optComma YY_TERMINATOR arg",
1823
+ /* 121 */ "argList ::= YY_INDENT argList optComma YY_OUTDENT",
1824
+ /* 122 */ "argList ::= argList optComma YY_INDENT argList optComma YY_OUTDENT",
1825
+ /* 123 */ "arg ::= expression",
1826
+ /* 124 */ "arg ::= splat",
1827
+ /* 125 */ "simpleArgs ::= expression",
1828
+ /* 126 */ "simpleArgs ::= simpleArgs YY_COMMA expression",
1829
+ /* 127 */ "try ::= YY_TRY block",
1830
+ /* 128 */ "try ::= YY_TRY block catch",
1831
+ /* 129 */ "try ::= YY_TRY block YY_FINALLY block",
1832
+ /* 130 */ "try ::= YY_TRY block catch YY_FINALLY block",
1833
+ /* 131 */ "catch ::= YY_CATCH identifier block",
1834
+ /* 132 */ "throw ::= YY_THROW expression",
1835
+ /* 133 */ "parenthetical ::= YY_PAREN_START body YY_PAREN_END",
1836
+ /* 134 */ "parenthetical ::= YY_PAREN_START YY_INDENT body YY_OUTDENT YY_PAREN_END",
1837
+ /* 135 */ "whileSource ::= YY_WHILE expression",
1838
+ /* 136 */ "whileSource ::= YY_WHILE expression YY_WHEN expression",
1839
+ /* 137 */ "whileSource ::= YY_UNTIL expression",
1840
+ /* 138 */ "whileSource ::= YY_UNTIL expression YY_WHEN expression",
1841
+ /* 139 */ "while ::= whileSource block",
1842
+ /* 140 */ "while ::= statement whileSource",
1843
+ /* 141 */ "while ::= expression whileSource",
1844
+ /* 142 */ "while ::= loop",
1845
+ /* 143 */ "loop ::= YY_LOOP block",
1846
+ /* 144 */ "loop ::= YY_LOOP expression",
1847
+ /* 145 */ "for ::= statement forBody",
1848
+ /* 146 */ "for ::= expression forBody",
1849
+ /* 147 */ "for ::= forBody block",
1850
+ /* 148 */ "forBody ::= YY_FOR range",
1851
+ /* 149 */ "forBody ::= forStart forSource",
1852
+ /* 150 */ "forStart ::= YY_FOR forVariables",
1853
+ /* 151 */ "forStart ::= YY_FOR YY_OWN forVariables",
1854
+ /* 152 */ "forValue ::= identifier",
1855
+ /* 153 */ "forValue ::= array",
1856
+ /* 154 */ "forValue ::= object",
1857
+ /* 155 */ "forVariables ::= forValue",
1858
+ /* 156 */ "forVariables ::= forValue YY_COMMA forValue",
1859
+ /* 157 */ "forSource ::= YY_FORIN expression",
1860
+ /* 158 */ "forSource ::= YY_FOROF expression",
1861
+ /* 159 */ "forSource ::= YY_FORIN expression YY_WHEN expression",
1862
+ /* 160 */ "forSource ::= YY_FOROF expression YY_WHEN expression",
1863
+ /* 161 */ "forSource ::= YY_FORIN expression YY_BY expression",
1864
+ /* 162 */ "forSource ::= YY_FORIN expression YY_WHEN expression YY_BY expression",
1865
+ /* 163 */ "forSource ::= YY_FORIN expression YY_BY expression YY_WHEN expression",
1866
+ /* 164 */ "switch ::= YY_SWITCH expression YY_INDENT whens YY_OUTDENT",
1867
+ /* 165 */ "switch ::= YY_SWITCH expression YY_INDENT whens YY_ELSE block YY_OUTDENT",
1868
+ /* 166 */ "switch ::= YY_SWITCH YY_INDENT whens YY_OUTDENT",
1869
+ /* 167 */ "switch ::= YY_SWITCH YY_INDENT whens YY_ELSE block YY_OUTDENT",
1870
+ /* 168 */ "whens ::= when",
1871
+ /* 169 */ "whens ::= whens when",
1872
+ /* 170 */ "when ::= YY_LEADING_WHEN simpleArgs block",
1873
+ /* 171 */ "when ::= YY_LEADING_WHEN simpleArgs block YY_TERMINATOR",
1874
+ /* 172 */ "ifBlock ::= YY_IF expression block",
1875
+ /* 173 */ "ifBlock ::= ifBlock YY_ELSE YY_IF expression block",
1876
+ /* 174 */ "if ::= ifBlock",
1877
+ /* 175 */ "if ::= ifBlock YY_ELSE block",
1878
+ /* 176 */ "if ::= statement YY_POST_IF expression",
1879
+ /* 177 */ "if ::= expression YY_POST_IF expression",
1880
+ /* 178 */ "operation ::= YY_UNARY expression",
1881
+ /* 179 */ "operation ::= YY_MINUS expression",
1882
+ /* 180 */ "operation ::= YY_PLUS expression",
1883
+ /* 181 */ "operation ::= YY_DECREMENT simpleAssignable",
1884
+ /* 182 */ "operation ::= YY_INCREMENT simpleAssignable",
1885
+ /* 183 */ "operation ::= simpleAssignable YY_DECREMENT",
1886
+ /* 184 */ "operation ::= simpleAssignable YY_INCREMENT",
1887
+ /* 185 */ "operation ::= expression YY_EXISTENTIAL",
1888
+ /* 186 */ "operation ::= expression YY_PLUS expression",
1889
+ /* 187 */ "operation ::= expression YY_MINUS expression",
1890
+ /* 188 */ "operation ::= expression YY_MATH expression",
1891
+ /* 189 */ "operation ::= expression YY_SHIFT expression",
1892
+ /* 190 */ "operation ::= expression YY_COMPARE expression",
1893
+ /* 191 */ "operation ::= expression YY_LOGIC expression",
1894
+ /* 192 */ "operation ::= expression YY_RELATION expression",
1895
+ /* 193 */ "operation ::= simpleAssignable YY_COMPOUND_ASSIGN expression",
1896
+ /* 194 */ "operation ::= simpleAssignable YY_COMPOUND_ASSIGN YY_INDENT expression YY_OUTDENT",
1897
+ /* 195 */ "operation ::= simpleAssignable YY_EXTENDS expression",
1898
+ );
1899
+
1900
+ /**
1901
+ * This function returns the symbolic name associated with a token
1902
+ * value.
1903
+ * @param int
1904
+ * @return string
1905
+ */
1906
+ static function tokenName($tokenType)
1907
+ {
1908
+ if ($tokenType === 0) {
1909
+ return 'End of Input';
1910
+ }
1911
+ if ($tokenType > 0 && $tokenType < count(self::$yyTokenName)) {
1912
+ return self::$yyTokenName[$tokenType];
1913
+ } else {
1914
+ return "Unknown";
1915
+ }
1916
+ }
1917
+
1918
+ /**
1919
+ * The following function deletes the value associated with a
1920
+ * symbol. The symbol can be either a terminal or nonterminal.
1921
+ * @param int the symbol code
1922
+ * @param mixed the symbol's value
1923
+ */
1924
+ static function yy_destructor($yymajor, $yypminor)
1925
+ {
1926
+ switch ($yymajor) {
1927
+ /* Here is inserted the actions which take place when a
1928
+ ** terminal or non-terminal is destroyed. This can happen
1929
+ ** when the symbol is popped from the stack during a
1930
+ ** reduce or during error processing or when a parser is
1931
+ ** being destroyed before it is finished parsing.
1932
+ **
1933
+ ** Note: during a reduce, the only symbols destroyed are those
1934
+ ** which appear on the RHS of the rule, but which are not used
1935
+ ** inside the C code.
1936
+ */
1937
+ default: break; /* If no destructor action specified: do nothing */
1938
+ }
1939
+ }
1940
+
1941
+ /**
1942
+ * Pop the parser's stack once.
1943
+ *
1944
+ * If there is a destructor routine associated with the token which
1945
+ * is popped from the stack, then call it.
1946
+ *
1947
+ * Return the major token number for the symbol popped.
1948
+ * @param yyParser
1949
+ * @return int
1950
+ */
1951
+ function yy_pop_parser_stack()
1952
+ {
1953
+ if (!count($this->yystack)) {
1954
+ return;
1955
+ }
1956
+ $yytos = array_pop($this->yystack);
1957
+ if (self::$yyTraceFILE && $this->yyidx >= 0) {
1958
+ fwrite(self::$yyTraceFILE,
1959
+ self::$yyTracePrompt . 'Popping ' . self::tokenName($yytos->major) .
1960
+ "\n");
1961
+ }
1962
+ $yymajor = $yytos->major;
1963
+ self::yy_destructor($yymajor, $yytos->minor);
1964
+ $this->yyidx--;
1965
+ return $yymajor;
1966
+ }
1967
+
1968
+ /**
1969
+ * Deallocate and destroy a parser. Destructors are all called for
1970
+ * all stack elements before shutting the parser down.
1971
+ */
1972
+ function __destruct()
1973
+ {
1974
+ while ($this->yyidx >= 0) {
1975
+ $this->yy_pop_parser_stack();
1976
+ }
1977
+ if (is_resource(self::$yyTraceFILE)) {
1978
+ fclose(self::$yyTraceFILE);
1979
+ }
1980
+ }
1981
+
1982
+ /**
1983
+ * Based on the current state and parser stack, get a list of all
1984
+ * possible lookahead tokens
1985
+ * @param int
1986
+ * @return array
1987
+ */
1988
+ function yy_get_expected_tokens($token)
1989
+ {
1990
+ $state = $this->yystack[$this->yyidx]->stateno;
1991
+ $expected = self::$yyExpectedTokens[$state];
1992
+ if (in_array($token, self::$yyExpectedTokens[$state], true)) {
1993
+ return $expected;
1994
+ }
1995
+ $stack = $this->yystack;
1996
+ $yyidx = $this->yyidx;
1997
+ do {
1998
+ $yyact = $this->yy_find_shift_action($token);
1999
+ if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
2000
+ // reduce action
2001
+ $done = 0;
2002
+ do {
2003
+ if ($done++ == 100) {
2004
+ $this->yyidx = $yyidx;
2005
+ $this->yystack = $stack;
2006
+ // too much recursion prevents proper detection
2007
+ // so give up
2008
+ return array_unique($expected);
2009
+ }
2010
+ $yyruleno = $yyact - self::YYNSTATE;
2011
+ $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
2012
+ $nextstate = $this->yy_find_reduce_action(
2013
+ $this->yystack[$this->yyidx]->stateno,
2014
+ self::$yyRuleInfo[$yyruleno]['lhs']);
2015
+ if (isset(self::$yyExpectedTokens[$nextstate])) {
2016
+ $expected += self::$yyExpectedTokens[$nextstate];
2017
+ if (in_array($token,
2018
+ self::$yyExpectedTokens[$nextstate], true)) {
2019
+ $this->yyidx = $yyidx;
2020
+ $this->yystack = $stack;
2021
+ return array_unique($expected);
2022
+ }
2023
+ }
2024
+ if ($nextstate < self::YYNSTATE) {
2025
+ // we need to shift a non-terminal
2026
+ $this->yyidx++;
2027
+ $x = new yyStackEntry;
2028
+ $x->stateno = $nextstate;
2029
+ $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
2030
+ $this->yystack[$this->yyidx] = $x;
2031
+ continue 2;
2032
+ } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
2033
+ $this->yyidx = $yyidx;
2034
+ $this->yystack = $stack;
2035
+ // the last token was just ignored, we can't accept
2036
+ // by ignoring input, this is in essence ignoring a
2037
+ // syntax error!
2038
+ return array_unique($expected);
2039
+ } elseif ($nextstate === self::YY_NO_ACTION) {
2040
+ $this->yyidx = $yyidx;
2041
+ $this->yystack = $stack;
2042
+ // input accepted, but not shifted (I guess)
2043
+ return $expected;
2044
+ } else {
2045
+ $yyact = $nextstate;
2046
+ }
2047
+ } while (true);
2048
+ }
2049
+ break;
2050
+ } while (true);
2051
+ return array_unique($expected);
2052
+ }
2053
+
2054
+ /**
2055
+ * Based on the parser state and current parser stack, determine whether
2056
+ * the lookahead token is possible.
2057
+ *
2058
+ * The parser will convert the token value to an error token if not. This
2059
+ * catches some unusual edge cases where the parser would fail.
2060
+ * @param int
2061
+ * @return bool
2062
+ */
2063
+ function yy_is_expected_token($token)
2064
+ {
2065
+ if ($token === 0) {
2066
+ return true; // 0 is not part of this
2067
+ }
2068
+ $state = $this->yystack[$this->yyidx]->stateno;
2069
+ if (in_array($token, self::$yyExpectedTokens[$state], true)) {
2070
+ return true;
2071
+ }
2072
+ $stack = $this->yystack;
2073
+ $yyidx = $this->yyidx;
2074
+ do {
2075
+ $yyact = $this->yy_find_shift_action($token);
2076
+ if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
2077
+ // reduce action
2078
+ $done = 0;
2079
+ do {
2080
+ if ($done++ == 100) {
2081
+ $this->yyidx = $yyidx;
2082
+ $this->yystack = $stack;
2083
+ // too much recursion prevents proper detection
2084
+ // so give up
2085
+ return true;
2086
+ }
2087
+ $yyruleno = $yyact - self::YYNSTATE;
2088
+ $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
2089
+ $nextstate = $this->yy_find_reduce_action(
2090
+ $this->yystack[$this->yyidx]->stateno,
2091
+ self::$yyRuleInfo[$yyruleno]['lhs']);
2092
+ if (isset(self::$yyExpectedTokens[$nextstate]) &&
2093
+ in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
2094
+ $this->yyidx = $yyidx;
2095
+ $this->yystack = $stack;
2096
+ return true;
2097
+ }
2098
+ if ($nextstate < self::YYNSTATE) {
2099
+ // we need to shift a non-terminal
2100
+ $this->yyidx++;
2101
+ $x = new yyStackEntry;
2102
+ $x->stateno = $nextstate;
2103
+ $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
2104
+ $this->yystack[$this->yyidx] = $x;
2105
+ continue 2;
2106
+ } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
2107
+ $this->yyidx = $yyidx;
2108
+ $this->yystack = $stack;
2109
+ if (!$token) {
2110
+ // end of input: this is valid
2111
+ return true;
2112
+ }
2113
+ // the last token was just ignored, we can't accept
2114
+ // by ignoring input, this is in essence ignoring a
2115
+ // syntax error!
2116
+ return false;
2117
+ } elseif ($nextstate === self::YY_NO_ACTION) {
2118
+ $this->yyidx = $yyidx;
2119
+ $this->yystack = $stack;
2120
+ // input accepted, but not shifted (I guess)
2121
+ return true;
2122
+ } else {
2123
+ $yyact = $nextstate;
2124
+ }
2125
+ } while (true);
2126
+ }
2127
+ break;
2128
+ } while (true);
2129
+ $this->yyidx = $yyidx;
2130
+ $this->yystack = $stack;
2131
+ return true;
2132
+ }
2133
+
2134
+ /**
2135
+ * Find the appropriate action for a parser given the terminal
2136
+ * look-ahead token iLookAhead.
2137
+ *
2138
+ * If the look-ahead token is YYNOCODE, then check to see if the action is
2139
+ * independent of the look-ahead. If it is, return the action, otherwise
2140
+ * return YY_NO_ACTION.
2141
+ * @param int The look-ahead token
2142
+ */
2143
+ function yy_find_shift_action($iLookAhead)
2144
+ {
2145
+ $stateno = $this->yystack[$this->yyidx]->stateno;
2146
+
2147
+ /* if ($this->yyidx < 0) return self::YY_NO_ACTION; */
2148
+ if (!isset(self::$yy_shift_ofst[$stateno])) {
2149
+ // no shift actions
2150
+ return self::$yy_default[$stateno];
2151
+ }
2152
+ $i = self::$yy_shift_ofst[$stateno];
2153
+ if ($i === self::YY_SHIFT_USE_DFLT) {
2154
+ return self::$yy_default[$stateno];
2155
+ }
2156
+ if ($iLookAhead == self::YYNOCODE) {
2157
+ return self::YY_NO_ACTION;
2158
+ }
2159
+ $i += $iLookAhead;
2160
+ if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
2161
+ self::$yy_lookahead[$i] != $iLookAhead) {
2162
+ if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
2163
+ && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
2164
+ if (self::$yyTraceFILE) {
2165
+ fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " .
2166
+ self::tokenName($iLookAhead) . " => " .
2167
+ self::tokenName($iFallback) . "\n");
2168
+ }
2169
+ return $this->yy_find_shift_action($iFallback);
2170
+ }
2171
+ return self::$yy_default[$stateno];
2172
+ } else {
2173
+ return self::$yy_action[$i];
2174
+ }
2175
+ }
2176
+
2177
+ /**
2178
+ * Find the appropriate action for a parser given the non-terminal
2179
+ * look-ahead token $iLookAhead.
2180
+ *
2181
+ * If the look-ahead token is self::YYNOCODE, then check to see if the action is
2182
+ * independent of the look-ahead. If it is, return the action, otherwise
2183
+ * return self::YY_NO_ACTION.
2184
+ * @param int Current state number
2185
+ * @param int The look-ahead token
2186
+ */
2187
+ function yy_find_reduce_action($stateno, $iLookAhead)
2188
+ {
2189
+ /* $stateno = $this->yystack[$this->yyidx]->stateno; */
2190
+
2191
+ if (!isset(self::$yy_reduce_ofst[$stateno])) {
2192
+ return self::$yy_default[$stateno];
2193
+ }
2194
+ $i = self::$yy_reduce_ofst[$stateno];
2195
+ if ($i == self::YY_REDUCE_USE_DFLT) {
2196
+ return self::$yy_default[$stateno];
2197
+ }
2198
+ if ($iLookAhead == self::YYNOCODE) {
2199
+ return self::YY_NO_ACTION;
2200
+ }
2201
+ $i += $iLookAhead;
2202
+ if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
2203
+ self::$yy_lookahead[$i] != $iLookAhead) {
2204
+ return self::$yy_default[$stateno];
2205
+ } else {
2206
+ return self::$yy_action[$i];
2207
+ }
2208
+ }
2209
+
2210
+ /**
2211
+ * Perform a shift action.
2212
+ * @param int The new state to shift in
2213
+ * @param int The major token to shift in
2214
+ * @param mixed the minor token to shift in
2215
+ */
2216
+ function yy_shift($yyNewState, $yyMajor, $yypMinor)
2217
+ {
2218
+ $this->yyidx++;
2219
+ if ($this->yyidx >= self::YYSTACKDEPTH) {
2220
+ $this->yyidx--;
2221
+ if (self::$yyTraceFILE) {
2222
+ fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt);
2223
+ }
2224
+ while ($this->yyidx >= 0) {
2225
+ $this->yy_pop_parser_stack();
2226
+ }
2227
+ /* Here code is inserted which will execute if the parser
2228
+ ** stack ever overflows */
2229
+ return;
2230
+ }
2231
+ $yytos = new yyStackEntry;
2232
+ $yytos->stateno = $yyNewState;
2233
+ $yytos->major = $yyMajor;
2234
+ $yytos->minor = $yypMinor;
2235
+ array_push($this->yystack, $yytos);
2236
+ if (self::$yyTraceFILE && $this->yyidx > 0) {
2237
+ fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt,
2238
+ $yyNewState);
2239
+ fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt);
2240
+ for ($i = 1; $i <= $this->yyidx; $i++) {
2241
+ fprintf(self::$yyTraceFILE, " %s",
2242
+ self::tokenName($this->yystack[$i]->major));
2243
+ }
2244
+ fwrite(self::$yyTraceFILE,"\n");
2245
+ }
2246
+ }
2247
+
2248
+ /**
2249
+ * The following table contains information about every rule that
2250
+ * is used during the reduce.
2251
+ *
2252
+ * <pre>
2253
+ * array(
2254
+ * array(
2255
+ * int $lhs; Symbol on the left-hand side of the rule
2256
+ * int $nrhs; Number of right-hand side symbols in the rule
2257
+ * ),...
2258
+ * );
2259
+ * </pre>
2260
+ */
2261
+ static public $yyRuleInfo = array(
2262
+ array( 'lhs' => 74, 'rhs' => 0 ),
2263
+ array( 'lhs' => 74, 'rhs' => 1 ),
2264
+ array( 'lhs' => 74, 'rhs' => 2 ),
2265
+ array( 'lhs' => 75, 'rhs' => 1 ),
2266
+ array( 'lhs' => 75, 'rhs' => 3 ),
2267
+ array( 'lhs' => 75, 'rhs' => 2 ),
2268
+ array( 'lhs' => 77, 'rhs' => 1 ),
2269
+ array( 'lhs' => 77, 'rhs' => 1 ),
2270
+ array( 'lhs' => 79, 'rhs' => 1 ),
2271
+ array( 'lhs' => 79, 'rhs' => 1 ),
2272
+ array( 'lhs' => 79, 'rhs' => 1 ),
2273
+ array( 'lhs' => 78, 'rhs' => 1 ),
2274
+ array( 'lhs' => 78, 'rhs' => 1 ),
2275
+ array( 'lhs' => 78, 'rhs' => 1 ),
2276
+ array( 'lhs' => 78, 'rhs' => 1 ),
2277
+ array( 'lhs' => 78, 'rhs' => 1 ),
2278
+ array( 'lhs' => 78, 'rhs' => 1 ),
2279
+ array( 'lhs' => 78, 'rhs' => 1 ),
2280
+ array( 'lhs' => 78, 'rhs' => 1 ),
2281
+ array( 'lhs' => 78, 'rhs' => 1 ),
2282
+ array( 'lhs' => 78, 'rhs' => 1 ),
2283
+ array( 'lhs' => 78, 'rhs' => 1 ),
2284
+ array( 'lhs' => 78, 'rhs' => 1 ),
2285
+ array( 'lhs' => 76, 'rhs' => 2 ),
2286
+ array( 'lhs' => 76, 'rhs' => 3 ),
2287
+ array( 'lhs' => 94, 'rhs' => 1 ),
2288
+ array( 'lhs' => 95, 'rhs' => 1 ),
2289
+ array( 'lhs' => 95, 'rhs' => 1 ),
2290
+ array( 'lhs' => 96, 'rhs' => 1 ),
2291
+ array( 'lhs' => 96, 'rhs' => 1 ),
2292
+ array( 'lhs' => 96, 'rhs' => 1 ),
2293
+ array( 'lhs' => 96, 'rhs' => 1 ),
2294
+ array( 'lhs' => 96, 'rhs' => 1 ),
2295
+ array( 'lhs' => 86, 'rhs' => 3 ),
2296
+ array( 'lhs' => 86, 'rhs' => 4 ),
2297
+ array( 'lhs' => 86, 'rhs' => 5 ),
2298
+ array( 'lhs' => 98, 'rhs' => 1 ),
2299
+ array( 'lhs' => 98, 'rhs' => 3 ),
2300
+ array( 'lhs' => 98, 'rhs' => 5 ),
2301
+ array( 'lhs' => 98, 'rhs' => 1 ),
2302
+ array( 'lhs' => 99, 'rhs' => 1 ),
2303
+ array( 'lhs' => 99, 'rhs' => 1 ),
2304
+ array( 'lhs' => 99, 'rhs' => 1 ),
2305
+ array( 'lhs' => 80, 'rhs' => 2 ),
2306
+ array( 'lhs' => 80, 'rhs' => 1 ),
2307
+ array( 'lhs' => 81, 'rhs' => 1 ),
2308
+ array( 'lhs' => 84, 'rhs' => 5 ),
2309
+ array( 'lhs' => 84, 'rhs' => 2 ),
2310
+ array( 'lhs' => 102, 'rhs' => 1 ),
2311
+ array( 'lhs' => 102, 'rhs' => 1 ),
2312
+ array( 'lhs' => 103, 'rhs' => 0 ),
2313
+ array( 'lhs' => 103, 'rhs' => 1 ),
2314
+ array( 'lhs' => 101, 'rhs' => 0 ),
2315
+ array( 'lhs' => 101, 'rhs' => 1 ),
2316
+ array( 'lhs' => 101, 'rhs' => 3 ),
2317
+ array( 'lhs' => 104, 'rhs' => 1 ),
2318
+ array( 'lhs' => 104, 'rhs' => 2 ),
2319
+ array( 'lhs' => 104, 'rhs' => 3 ),
2320
+ array( 'lhs' => 105, 'rhs' => 1 ),
2321
+ array( 'lhs' => 105, 'rhs' => 1 ),
2322
+ array( 'lhs' => 105, 'rhs' => 1 ),
2323
+ array( 'lhs' => 105, 'rhs' => 1 ),
2324
+ array( 'lhs' => 108, 'rhs' => 2 ),
2325
+ array( 'lhs' => 109, 'rhs' => 1 ),
2326
+ array( 'lhs' => 109, 'rhs' => 2 ),
2327
+ array( 'lhs' => 109, 'rhs' => 2 ),
2328
+ array( 'lhs' => 109, 'rhs' => 1 ),
2329
+ array( 'lhs' => 97, 'rhs' => 1 ),
2330
+ array( 'lhs' => 97, 'rhs' => 1 ),
2331
+ array( 'lhs' => 97, 'rhs' => 1 ),
2332
+ array( 'lhs' => 82, 'rhs' => 1 ),
2333
+ array( 'lhs' => 82, 'rhs' => 1 ),
2334
+ array( 'lhs' => 82, 'rhs' => 1 ),
2335
+ array( 'lhs' => 82, 'rhs' => 1 ),
2336
+ array( 'lhs' => 82, 'rhs' => 1 ),
2337
+ array( 'lhs' => 110, 'rhs' => 2 ),
2338
+ array( 'lhs' => 110, 'rhs' => 2 ),
2339
+ array( 'lhs' => 110, 'rhs' => 2 ),
2340
+ array( 'lhs' => 110, 'rhs' => 1 ),
2341
+ array( 'lhs' => 110, 'rhs' => 1 ),
2342
+ array( 'lhs' => 114, 'rhs' => 3 ),
2343
+ array( 'lhs' => 114, 'rhs' => 2 ),
2344
+ array( 'lhs' => 115, 'rhs' => 1 ),
2345
+ array( 'lhs' => 115, 'rhs' => 1 ),
2346
+ array( 'lhs' => 107, 'rhs' => 4 ),
2347
+ array( 'lhs' => 117, 'rhs' => 0 ),
2348
+ array( 'lhs' => 117, 'rhs' => 1 ),
2349
+ array( 'lhs' => 117, 'rhs' => 3 ),
2350
+ array( 'lhs' => 117, 'rhs' => 4 ),
2351
+ array( 'lhs' => 117, 'rhs' => 6 ),
2352
+ array( 'lhs' => 92, 'rhs' => 1 ),
2353
+ array( 'lhs' => 92, 'rhs' => 2 ),
2354
+ array( 'lhs' => 92, 'rhs' => 3 ),
2355
+ array( 'lhs' => 92, 'rhs' => 4 ),
2356
+ array( 'lhs' => 92, 'rhs' => 2 ),
2357
+ array( 'lhs' => 92, 'rhs' => 3 ),
2358
+ array( 'lhs' => 92, 'rhs' => 4 ),
2359
+ array( 'lhs' => 92, 'rhs' => 5 ),
2360
+ array( 'lhs' => 83, 'rhs' => 3 ),
2361
+ array( 'lhs' => 83, 'rhs' => 3 ),
2362
+ array( 'lhs' => 83, 'rhs' => 1 ),
2363
+ array( 'lhs' => 83, 'rhs' => 2 ),
2364
+ array( 'lhs' => 118, 'rhs' => 0 ),
2365
+ array( 'lhs' => 118, 'rhs' => 1 ),
2366
+ array( 'lhs' => 119, 'rhs' => 2 ),
2367
+ array( 'lhs' => 119, 'rhs' => 4 ),
2368
+ array( 'lhs' => 113, 'rhs' => 1 ),
2369
+ array( 'lhs' => 113, 'rhs' => 1 ),
2370
+ array( 'lhs' => 100, 'rhs' => 2 ),
2371
+ array( 'lhs' => 106, 'rhs' => 2 ),
2372
+ array( 'lhs' => 106, 'rhs' => 4 ),
2373
+ array( 'lhs' => 121, 'rhs' => 1 ),
2374
+ array( 'lhs' => 121, 'rhs' => 1 ),
2375
+ array( 'lhs' => 112, 'rhs' => 5 ),
2376
+ array( 'lhs' => 116, 'rhs' => 3 ),
2377
+ array( 'lhs' => 116, 'rhs' => 2 ),
2378
+ array( 'lhs' => 116, 'rhs' => 2 ),
2379
+ array( 'lhs' => 116, 'rhs' => 1 ),
2380
+ array( 'lhs' => 120, 'rhs' => 1 ),
2381
+ array( 'lhs' => 120, 'rhs' => 3 ),
2382
+ array( 'lhs' => 120, 'rhs' => 4 ),
2383
+ array( 'lhs' => 120, 'rhs' => 4 ),
2384
+ array( 'lhs' => 120, 'rhs' => 6 ),
2385
+ array( 'lhs' => 122, 'rhs' => 1 ),
2386
+ array( 'lhs' => 122, 'rhs' => 1 ),
2387
+ array( 'lhs' => 123, 'rhs' => 1 ),
2388
+ array( 'lhs' => 123, 'rhs' => 3 ),
2389
+ array( 'lhs' => 88, 'rhs' => 2 ),
2390
+ array( 'lhs' => 88, 'rhs' => 3 ),
2391
+ array( 'lhs' => 88, 'rhs' => 4 ),
2392
+ array( 'lhs' => 88, 'rhs' => 5 ),
2393
+ array( 'lhs' => 124, 'rhs' => 3 ),
2394
+ array( 'lhs' => 93, 'rhs' => 2 ),
2395
+ array( 'lhs' => 111, 'rhs' => 3 ),
2396
+ array( 'lhs' => 111, 'rhs' => 5 ),
2397
+ array( 'lhs' => 125, 'rhs' => 2 ),
2398
+ array( 'lhs' => 125, 'rhs' => 4 ),
2399
+ array( 'lhs' => 125, 'rhs' => 2 ),
2400
+ array( 'lhs' => 125, 'rhs' => 4 ),
2401
+ array( 'lhs' => 89, 'rhs' => 2 ),
2402
+ array( 'lhs' => 89, 'rhs' => 2 ),
2403
+ array( 'lhs' => 89, 'rhs' => 2 ),
2404
+ array( 'lhs' => 89, 'rhs' => 1 ),
2405
+ array( 'lhs' => 126, 'rhs' => 2 ),
2406
+ array( 'lhs' => 126, 'rhs' => 2 ),
2407
+ array( 'lhs' => 90, 'rhs' => 2 ),
2408
+ array( 'lhs' => 90, 'rhs' => 2 ),
2409
+ array( 'lhs' => 90, 'rhs' => 2 ),
2410
+ array( 'lhs' => 127, 'rhs' => 2 ),
2411
+ array( 'lhs' => 127, 'rhs' => 2 ),
2412
+ array( 'lhs' => 128, 'rhs' => 2 ),
2413
+ array( 'lhs' => 128, 'rhs' => 3 ),
2414
+ array( 'lhs' => 131, 'rhs' => 1 ),
2415
+ array( 'lhs' => 131, 'rhs' => 1 ),
2416
+ array( 'lhs' => 131, 'rhs' => 1 ),
2417
+ array( 'lhs' => 130, 'rhs' => 1 ),
2418
+ array( 'lhs' => 130, 'rhs' => 3 ),
2419
+ array( 'lhs' => 129, 'rhs' => 2 ),
2420
+ array( 'lhs' => 129, 'rhs' => 2 ),
2421
+ array( 'lhs' => 129, 'rhs' => 4 ),
2422
+ array( 'lhs' => 129, 'rhs' => 4 ),
2423
+ array( 'lhs' => 129, 'rhs' => 4 ),
2424
+ array( 'lhs' => 129, 'rhs' => 6 ),
2425
+ array( 'lhs' => 129, 'rhs' => 6 ),
2426
+ array( 'lhs' => 91, 'rhs' => 5 ),
2427
+ array( 'lhs' => 91, 'rhs' => 7 ),
2428
+ array( 'lhs' => 91, 'rhs' => 4 ),
2429
+ array( 'lhs' => 91, 'rhs' => 6 ),
2430
+ array( 'lhs' => 132, 'rhs' => 1 ),
2431
+ array( 'lhs' => 132, 'rhs' => 2 ),
2432
+ array( 'lhs' => 133, 'rhs' => 3 ),
2433
+ array( 'lhs' => 133, 'rhs' => 4 ),
2434
+ array( 'lhs' => 134, 'rhs' => 3 ),
2435
+ array( 'lhs' => 134, 'rhs' => 5 ),
2436
+ array( 'lhs' => 87, 'rhs' => 1 ),
2437
+ array( 'lhs' => 87, 'rhs' => 3 ),
2438
+ array( 'lhs' => 87, 'rhs' => 3 ),
2439
+ array( 'lhs' => 87, 'rhs' => 3 ),
2440
+ array( 'lhs' => 85, 'rhs' => 2 ),
2441
+ array( 'lhs' => 85, 'rhs' => 2 ),
2442
+ array( 'lhs' => 85, 'rhs' => 2 ),
2443
+ array( 'lhs' => 85, 'rhs' => 2 ),
2444
+ array( 'lhs' => 85, 'rhs' => 2 ),
2445
+ array( 'lhs' => 85, 'rhs' => 2 ),
2446
+ array( 'lhs' => 85, 'rhs' => 2 ),
2447
+ array( 'lhs' => 85, 'rhs' => 2 ),
2448
+ array( 'lhs' => 85, 'rhs' => 3 ),
2449
+ array( 'lhs' => 85, 'rhs' => 3 ),
2450
+ array( 'lhs' => 85, 'rhs' => 3 ),
2451
+ array( 'lhs' => 85, 'rhs' => 3 ),
2452
+ array( 'lhs' => 85, 'rhs' => 3 ),
2453
+ array( 'lhs' => 85, 'rhs' => 3 ),
2454
+ array( 'lhs' => 85, 'rhs' => 3 ),
2455
+ array( 'lhs' => 85, 'rhs' => 3 ),
2456
+ array( 'lhs' => 85, 'rhs' => 5 ),
2457
+ array( 'lhs' => 85, 'rhs' => 3 ),
2458
+ );
2459
+
2460
+ /**
2461
+ * The following table contains a mapping of reduce action to method name
2462
+ * that handles the reduction.
2463
+ *
2464
+ * If a rule is not set, it has no handler.
2465
+ */
2466
+ static public $yyReduceMap = array(
2467
+ 0 => 0,
2468
+ 23 => 0,
2469
+ 1 => 1,
2470
+ 6 => 1,
2471
+ 7 => 1,
2472
+ 8 => 1,
2473
+ 9 => 1,
2474
+ 11 => 1,
2475
+ 12 => 1,
2476
+ 13 => 1,
2477
+ 14 => 1,
2478
+ 15 => 1,
2479
+ 16 => 1,
2480
+ 17 => 1,
2481
+ 18 => 1,
2482
+ 19 => 1,
2483
+ 20 => 1,
2484
+ 21 => 1,
2485
+ 22 => 1,
2486
+ 28 => 1,
2487
+ 39 => 1,
2488
+ 40 => 1,
2489
+ 41 => 1,
2490
+ 42 => 1,
2491
+ 51 => 1,
2492
+ 58 => 1,
2493
+ 59 => 1,
2494
+ 60 => 1,
2495
+ 61 => 1,
2496
+ 66 => 1,
2497
+ 67 => 1,
2498
+ 70 => 1,
2499
+ 74 => 1,
2500
+ 79 => 1,
2501
+ 123 => 1,
2502
+ 124 => 1,
2503
+ 125 => 1,
2504
+ 142 => 1,
2505
+ 150 => 1,
2506
+ 152 => 1,
2507
+ 168 => 1,
2508
+ 174 => 1,
2509
+ 2 => 2,
2510
+ 5 => 2,
2511
+ 24 => 2,
2512
+ 80 => 2,
2513
+ 3 => 3,
2514
+ 4 => 4,
2515
+ 10 => 10,
2516
+ 25 => 10,
2517
+ 26 => 10,
2518
+ 27 => 10,
2519
+ 29 => 10,
2520
+ 30 => 10,
2521
+ 31 => 10,
2522
+ 32 => 32,
2523
+ 33 => 33,
2524
+ 34 => 34,
2525
+ 35 => 35,
2526
+ 36 => 36,
2527
+ 63 => 36,
2528
+ 68 => 36,
2529
+ 69 => 36,
2530
+ 71 => 36,
2531
+ 72 => 36,
2532
+ 73 => 36,
2533
+ 153 => 36,
2534
+ 154 => 36,
2535
+ 37 => 37,
2536
+ 38 => 38,
2537
+ 43 => 43,
2538
+ 44 => 44,
2539
+ 45 => 45,
2540
+ 46 => 46,
2541
+ 47 => 47,
2542
+ 48 => 48,
2543
+ 49 => 49,
2544
+ 50 => 50,
2545
+ 52 => 52,
2546
+ 85 => 52,
2547
+ 104 => 52,
2548
+ 53 => 53,
2549
+ 86 => 53,
2550
+ 118 => 53,
2551
+ 155 => 53,
2552
+ 54 => 54,
2553
+ 119 => 54,
2554
+ 55 => 55,
2555
+ 56 => 56,
2556
+ 57 => 57,
2557
+ 62 => 62,
2558
+ 64 => 64,
2559
+ 65 => 65,
2560
+ 75 => 75,
2561
+ 76 => 76,
2562
+ 77 => 77,
2563
+ 78 => 78,
2564
+ 81 => 81,
2565
+ 82 => 82,
2566
+ 83 => 83,
2567
+ 84 => 84,
2568
+ 87 => 87,
2569
+ 88 => 88,
2570
+ 89 => 89,
2571
+ 122 => 89,
2572
+ 90 => 90,
2573
+ 91 => 91,
2574
+ 92 => 92,
2575
+ 93 => 93,
2576
+ 94 => 94,
2577
+ 95 => 95,
2578
+ 96 => 96,
2579
+ 97 => 97,
2580
+ 98 => 98,
2581
+ 99 => 98,
2582
+ 100 => 100,
2583
+ 101 => 101,
2584
+ 102 => 102,
2585
+ 103 => 103,
2586
+ 105 => 105,
2587
+ 121 => 105,
2588
+ 106 => 106,
2589
+ 107 => 106,
2590
+ 108 => 108,
2591
+ 109 => 109,
2592
+ 110 => 110,
2593
+ 111 => 111,
2594
+ 112 => 112,
2595
+ 113 => 113,
2596
+ 114 => 114,
2597
+ 115 => 115,
2598
+ 116 => 116,
2599
+ 117 => 117,
2600
+ 120 => 120,
2601
+ 126 => 126,
2602
+ 156 => 126,
2603
+ 127 => 127,
2604
+ 128 => 128,
2605
+ 129 => 129,
2606
+ 130 => 130,
2607
+ 131 => 131,
2608
+ 132 => 132,
2609
+ 133 => 133,
2610
+ 134 => 134,
2611
+ 135 => 135,
2612
+ 136 => 136,
2613
+ 137 => 137,
2614
+ 138 => 138,
2615
+ 139 => 139,
2616
+ 140 => 140,
2617
+ 141 => 140,
2618
+ 143 => 143,
2619
+ 144 => 144,
2620
+ 145 => 145,
2621
+ 146 => 145,
2622
+ 147 => 147,
2623
+ 148 => 148,
2624
+ 149 => 149,
2625
+ 151 => 151,
2626
+ 157 => 157,
2627
+ 158 => 158,
2628
+ 159 => 159,
2629
+ 160 => 160,
2630
+ 161 => 161,
2631
+ 162 => 162,
2632
+ 163 => 163,
2633
+ 164 => 164,
2634
+ 165 => 165,
2635
+ 166 => 166,
2636
+ 167 => 167,
2637
+ 169 => 169,
2638
+ 170 => 170,
2639
+ 171 => 171,
2640
+ 172 => 172,
2641
+ 173 => 173,
2642
+ 175 => 175,
2643
+ 176 => 176,
2644
+ 177 => 176,
2645
+ 178 => 178,
2646
+ 181 => 178,
2647
+ 182 => 178,
2648
+ 179 => 179,
2649
+ 180 => 179,
2650
+ 183 => 183,
2651
+ 184 => 183,
2652
+ 185 => 185,
2653
+ 186 => 186,
2654
+ 187 => 186,
2655
+ 188 => 186,
2656
+ 189 => 186,
2657
+ 190 => 186,
2658
+ 191 => 186,
2659
+ 192 => 192,
2660
+ 193 => 193,
2661
+ 194 => 194,
2662
+ 195 => 195,
2663
+ );
2664
+ /* Beginning here are the reduction cases. A typical example
2665
+ ** follows:
2666
+ ** #line <lineno> <grammarfile>
2667
+ ** function yy_r0($yymsp){ ... } // User supplied code
2668
+ ** #line <lineno> <thisfile>
2669
+ */
2670
+ #line 28 "/var/www/coffeescript-php/grammar.y"
2671
+ function yy_r0(){ $this->_retvalue = yy('Block'); }
2672
+ #line 2672 "/var/www/coffeescript-php/grammar.php"
2673
+ #line 29 "/var/www/coffeescript-php/grammar.y"
2674
+ function yy_r1(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
2675
+ #line 2675 "/var/www/coffeescript-php/grammar.php"
2676
+ #line 30 "/var/www/coffeescript-php/grammar.y"
2677
+ function yy_r2(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; }
2678
+ #line 2678 "/var/www/coffeescript-php/grammar.php"
2679
+ #line 32 "/var/www/coffeescript-php/grammar.y"
2680
+ function yy_r3(){ $this->_retvalue = yy_Block::wrap(array($this->yystack[$this->yyidx + 0]->minor)); }
2681
+ #line 2681 "/var/www/coffeescript-php/grammar.php"
2682
+ #line 33 "/var/www/coffeescript-php/grammar.y"
2683
+ function yy_r4(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor->push($this->yystack[$this->yyidx + 0]->minor); }
2684
+ #line 2684 "/var/www/coffeescript-php/grammar.php"
2685
+ #line 41 "/var/www/coffeescript-php/grammar.y"
2686
+ function yy_r10(){ $this->_retvalue = yy('Literal', $this->yystack[$this->yyidx + 0]->minor); }
2687
+ #line 2687 "/var/www/coffeescript-php/grammar.php"
2688
+ #line 69 "/var/www/coffeescript-php/grammar.y"
2689
+ function yy_r32(){
2690
+ $val = yy('Literal', $this->yystack[$this->yyidx + 0]->minor);
2691
+ $val->is_undefined = $this->yystack[$this->yyidx + 0]->minor === 'undefined';
2692
+ $this->_retvalue = $val;
2693
+ }
2694
+ #line 2694 "/var/www/coffeescript-php/grammar.php"
2695
+ #line 75 "/var/www/coffeescript-php/grammar.y"
2696
+ function yy_r33(){ $this->_retvalue = yy('Assign', $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor); }
2697
+ #line 2697 "/var/www/coffeescript-php/grammar.php"
2698
+ #line 76 "/var/www/coffeescript-php/grammar.y"
2699
+ function yy_r34(){ $this->_retvalue = yy('Assign', $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + 0]->minor); }
2700
+ #line 2700 "/var/www/coffeescript-php/grammar.php"
2701
+ #line 77 "/var/www/coffeescript-php/grammar.y"
2702
+ function yy_r35(){ $this->_retvalue = yy('Assign', $this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -1]->minor); }
2703
+ #line 2703 "/var/www/coffeescript-php/grammar.php"
2704
+ #line 79 "/var/www/coffeescript-php/grammar.y"
2705
+ function yy_r36(){ $this->_retvalue = yy('Value', $this->yystack[$this->yyidx + 0]->minor); }
2706
+ #line 2706 "/var/www/coffeescript-php/grammar.php"
2707
+ #line 80 "/var/www/coffeescript-php/grammar.y"
2708
+ function yy_r37(){ $this->_retvalue = yy('Assign', yy('Value', $this->yystack[$this->yyidx + -2]->minor), $this->yystack[$this->yyidx + 0]->minor, 'object'); }
2709
+ #line 2709 "/var/www/coffeescript-php/grammar.php"
2710
+ #line 81 "/var/www/coffeescript-php/grammar.y"
2711
+ function yy_r38(){ $this->_retvalue = yy('Assign', yy('Value', $this->yystack[$this->yyidx + -4]->minor), $this->yystack[$this->yyidx + -1]->minor, 'object'); }
2712
+ #line 2712 "/var/www/coffeescript-php/grammar.php"
2713
+ #line 88 "/var/www/coffeescript-php/grammar.y"
2714
+ function yy_r43(){ $this->_retvalue = yy('Return', $this->yystack[$this->yyidx + 0]->minor); }
2715
+ #line 2715 "/var/www/coffeescript-php/grammar.php"
2716
+ #line 89 "/var/www/coffeescript-php/grammar.y"
2717
+ function yy_r44(){ $this->_retvalue = yy('Return'); }
2718
+ #line 2718 "/var/www/coffeescript-php/grammar.php"
2719
+ #line 91 "/var/www/coffeescript-php/grammar.y"
2720
+ function yy_r45(){ $this->_retvalue = yy('Comment', $this->yystack[$this->yyidx + 0]->minor); }
2721
+ #line 2721 "/var/www/coffeescript-php/grammar.php"
2722
+ #line 93 "/var/www/coffeescript-php/grammar.y"
2723
+ function yy_r46(){ $this->_retvalue = yy('Code', $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + 0]->minor, $this->yystack[$this->yyidx + -1]->minor); }
2724
+ #line 2724 "/var/www/coffeescript-php/grammar.php"
2725
+ #line 94 "/var/www/coffeescript-php/grammar.y"
2726
+ function yy_r47(){ $this->_retvalue = yy('Code', array(), $this->yystack[$this->yyidx + 0]->minor, $this->yystack[$this->yyidx + -1]->minor); }
2727
+ #line 2727 "/var/www/coffeescript-php/grammar.php"
2728
+ #line 96 "/var/www/coffeescript-php/grammar.y"
2729
+ function yy_r48(){ $this->_retvalue = 'func'; }
2730
+ #line 2730 "/var/www/coffeescript-php/grammar.php"
2731
+ #line 97 "/var/www/coffeescript-php/grammar.y"
2732
+ function yy_r49(){ $this->_retvalue = 'boundfunc'; }
2733
+ #line 2733 "/var/www/coffeescript-php/grammar.php"
2734
+ #line 99 "/var/www/coffeescript-php/grammar.y"
2735
+ function yy_r50(){ $this->_retvalue = ''; }
2736
+ #line 2736 "/var/www/coffeescript-php/grammar.php"
2737
+ #line 102 "/var/www/coffeescript-php/grammar.y"
2738
+ function yy_r52(){ $this->_retvalue = array(); }
2739
+ #line 2739 "/var/www/coffeescript-php/grammar.php"
2740
+ #line 103 "/var/www/coffeescript-php/grammar.y"
2741
+ function yy_r53(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
2742
+ #line 2742 "/var/www/coffeescript-php/grammar.php"
2743
+ #line 104 "/var/www/coffeescript-php/grammar.y"
2744
+ function yy_r54(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor, array($this->yystack[$this->yyidx + 0]->minor)); }
2745
+ #line 2745 "/var/www/coffeescript-php/grammar.php"
2746
+ #line 106 "/var/www/coffeescript-php/grammar.y"
2747
+ function yy_r55(){ $this->_retvalue = yy('Param', $this->yystack[$this->yyidx + 0]->minor); }
2748
+ #line 2748 "/var/www/coffeescript-php/grammar.php"
2749
+ #line 107 "/var/www/coffeescript-php/grammar.y"
2750
+ function yy_r56(){ $this->_retvalue = yy('Param', $this->yystack[$this->yyidx + -1]->minor, NULL, TRUE); }
2751
+ #line 2751 "/var/www/coffeescript-php/grammar.php"
2752
+ #line 108 "/var/www/coffeescript-php/grammar.y"
2753
+ function yy_r57(){ $this->_retvalue = yy('Param', $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor); }
2754
+ #line 2754 "/var/www/coffeescript-php/grammar.php"
2755
+ #line 115 "/var/www/coffeescript-php/grammar.y"
2756
+ function yy_r62(){ $this->_retvalue = yy('Splat', $this->yystack[$this->yyidx + -1]->minor); }
2757
+ #line 2757 "/var/www/coffeescript-php/grammar.php"
2758
+ #line 118 "/var/www/coffeescript-php/grammar.y"
2759
+ function yy_r64(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->add($this->yystack[$this->yyidx + 0]->minor); }
2760
+ #line 2760 "/var/www/coffeescript-php/grammar.php"
2761
+ #line 119 "/var/www/coffeescript-php/grammar.y"
2762
+ function yy_r65(){ $this->_retvalue = yy('Value', $this->yystack[$this->yyidx + -1]->minor, is_object($this->yystack[$this->yyidx + 0]->minor) ? array($this->yystack[$this->yyidx + 0]->minor) : (array) $this->yystack[$this->yyidx + 0]->minor); }
2763
+ #line 2763 "/var/www/coffeescript-php/grammar.php"
2764
+ #line 132 "/var/www/coffeescript-php/grammar.y"
2765
+ function yy_r75(){ $this->_retvalue = yy('Access', $this->yystack[$this->yyidx + 0]->minor); }
2766
+ #line 2766 "/var/www/coffeescript-php/grammar.php"
2767
+ #line 133 "/var/www/coffeescript-php/grammar.y"
2768
+ function yy_r76(){ $this->_retvalue = yy('Access', $this->yystack[$this->yyidx + 0]->minor, 'soak'); }
2769
+ #line 2769 "/var/www/coffeescript-php/grammar.php"
2770
+ #line 134 "/var/www/coffeescript-php/grammar.y"
2771
+ function yy_r77(){ $this->_retvalue = array( yy('Access', yy('Literal', 'prototype')), yy('Access', $this->yystack[$this->yyidx + 0]->minor) ); }
2772
+ #line 2772 "/var/www/coffeescript-php/grammar.php"
2773
+ #line 135 "/var/www/coffeescript-php/grammar.y"
2774
+ function yy_r78(){ $this->_retvalue = yy('Access', yy('Literal', 'prototype')); }
2775
+ #line 2775 "/var/www/coffeescript-php/grammar.php"
2776
+ #line 139 "/var/www/coffeescript-php/grammar.y"
2777
+ function yy_r81(){ $this->_retvalue = extend($this->yystack[$this->yyidx + 0]->minor, array('soak' => TRUE)); }
2778
+ #line 2778 "/var/www/coffeescript-php/grammar.php"
2779
+ #line 141 "/var/www/coffeescript-php/grammar.y"
2780
+ function yy_r82(){ $this->_retvalue = yy('Index', $this->yystack[$this->yyidx + 0]->minor); }
2781
+ #line 2781 "/var/www/coffeescript-php/grammar.php"
2782
+ #line 142 "/var/www/coffeescript-php/grammar.y"
2783
+ function yy_r83(){ $this->_retvalue = yy('Slice', $this->yystack[$this->yyidx + 0]->minor); }
2784
+ #line 2784 "/var/www/coffeescript-php/grammar.php"
2785
+ #line 144 "/var/www/coffeescript-php/grammar.y"
2786
+ function yy_r84(){
2787
+ $object_start = $this->yystack[$this->yyidx - 3]->minor;
2788
+ $generated = isset($object_start->generated) ? $object_start->generated : FALSE;
2789
+
2790
+ $this->_retvalue = yy('Obj', $this->yystack[$this->yyidx + -2]->minor, $generated);
2791
+ }
2792
+ #line 2792 "/var/www/coffeescript-php/grammar.php"
2793
+ #line 153 "/var/www/coffeescript-php/grammar.y"
2794
+ function yy_r87(){ $this->yystack[$this->yyidx + -2]->minor[] = $this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; }
2795
+ #line 2795 "/var/www/coffeescript-php/grammar.php"
2796
+ #line 154 "/var/www/coffeescript-php/grammar.y"
2797
+ function yy_r88(){ $this->yystack[$this->yyidx + -3]->minor[] = $this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor; }
2798
+ #line 2798 "/var/www/coffeescript-php/grammar.php"
2799
+ #line 155 "/var/www/coffeescript-php/grammar.y"
2800
+ function yy_r89(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -5]->minor, $this->yystack[$this->yyidx + -2]->minor); }
2801
+ #line 2801 "/var/www/coffeescript-php/grammar.php"
2802
+ #line 157 "/var/www/coffeescript-php/grammar.y"
2803
+ function yy_r90(){ $this->_retvalue = yy('Class'); }
2804
+ #line 2804 "/var/www/coffeescript-php/grammar.php"
2805
+ #line 158 "/var/www/coffeescript-php/grammar.y"
2806
+ function yy_r91(){ $this->_retvalue = yy('Class', NULL, NULL, $this->yystack[$this->yyidx + 0]->minor); }
2807
+ #line 2807 "/var/www/coffeescript-php/grammar.php"
2808
+ #line 159 "/var/www/coffeescript-php/grammar.y"
2809
+ function yy_r92(){ $this->_retvalue = yy('Class', NULL, $this->yystack[$this->yyidx + 0]->minor); }
2810
+ #line 2810 "/var/www/coffeescript-php/grammar.php"
2811
+ #line 160 "/var/www/coffeescript-php/grammar.y"
2812
+ function yy_r93(){ $this->_retvalue = yy('Class', NULL, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor); }
2813
+ #line 2813 "/var/www/coffeescript-php/grammar.php"
2814
+ #line 161 "/var/www/coffeescript-php/grammar.y"
2815
+ function yy_r94(){ $this->_retvalue = yy('Class', $this->yystack[$this->yyidx + 0]->minor); }
2816
+ #line 2816 "/var/www/coffeescript-php/grammar.php"
2817
+ #line 162 "/var/www/coffeescript-php/grammar.y"
2818
+ function yy_r95(){ $this->_retvalue = yy('Class', $this->yystack[$this->yyidx + -1]->minor, NULL, $this->yystack[$this->yyidx + 0]->minor); }
2819
+ #line 2819 "/var/www/coffeescript-php/grammar.php"
2820
+ #line 163 "/var/www/coffeescript-php/grammar.y"
2821
+ function yy_r96(){ $this->_retvalue = yy('Class', $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor); }
2822
+ #line 2822 "/var/www/coffeescript-php/grammar.php"
2823
+ #line 164 "/var/www/coffeescript-php/grammar.y"
2824
+ function yy_r97(){ $this->_retvalue = yy('Class', $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor); }
2825
+ #line 2825 "/var/www/coffeescript-php/grammar.php"
2826
+ #line 166 "/var/www/coffeescript-php/grammar.y"
2827
+ function yy_r98(){ $this->_retvalue = yy('Call', $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor, $this->yystack[$this->yyidx + -1]->minor); }
2828
+ #line 2828 "/var/www/coffeescript-php/grammar.php"
2829
+ #line 168 "/var/www/coffeescript-php/grammar.y"
2830
+ function yy_r100(){ $this->_retvalue = yy('Call', 'super', array(yy('Splat', yy('Literal', 'arguments')))); }
2831
+ #line 2831 "/var/www/coffeescript-php/grammar.php"
2832
+ #line 169 "/var/www/coffeescript-php/grammar.y"
2833
+ function yy_r101(){ $this->_retvalue = yy('Call', 'super', $this->yystack[$this->yyidx + 0]->minor); }
2834
+ #line 2834 "/var/www/coffeescript-php/grammar.php"
2835
+ #line 171 "/var/www/coffeescript-php/grammar.y"
2836
+ function yy_r102(){ $this->_retvalue = FALSE; }
2837
+ #line 2837 "/var/www/coffeescript-php/grammar.php"
2838
+ #line 172 "/var/www/coffeescript-php/grammar.y"
2839
+ function yy_r103(){ $this->_retvalue = TRUE; }
2840
+ #line 2840 "/var/www/coffeescript-php/grammar.php"
2841
+ #line 175 "/var/www/coffeescript-php/grammar.y"
2842
+ function yy_r105(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; }
2843
+ #line 2843 "/var/www/coffeescript-php/grammar.php"
2844
+ #line 177 "/var/www/coffeescript-php/grammar.y"
2845
+ function yy_r106(){ $this->_retvalue = yy('Value', yy('Literal', 'this')); }
2846
+ #line 2846 "/var/www/coffeescript-php/grammar.php"
2847
+ #line 180 "/var/www/coffeescript-php/grammar.y"
2848
+ function yy_r108(){ $this->_retvalue = yy('Value', yy('Literal', 'this'), array(yy('Access', $this->yystack[$this->yyidx + 0]->minor)), 'this'); }
2849
+ #line 2849 "/var/www/coffeescript-php/grammar.php"
2850
+ #line 182 "/var/www/coffeescript-php/grammar.y"
2851
+ function yy_r109(){ $this->_retvalue = yy('Arr', array()); }
2852
+ #line 2852 "/var/www/coffeescript-php/grammar.php"
2853
+ #line 183 "/var/www/coffeescript-php/grammar.y"
2854
+ function yy_r110(){ $this->_retvalue = yy('Arr', $this->yystack[$this->yyidx + -2]->minor); }
2855
+ #line 2855 "/var/www/coffeescript-php/grammar.php"
2856
+ #line 185 "/var/www/coffeescript-php/grammar.y"
2857
+ function yy_r111(){ $this->_retvalue = 'inclusive'; }
2858
+ #line 2858 "/var/www/coffeescript-php/grammar.php"
2859
+ #line 186 "/var/www/coffeescript-php/grammar.y"
2860
+ function yy_r112(){ $this->_retvalue = 'exclusive'; }
2861
+ #line 2861 "/var/www/coffeescript-php/grammar.php"
2862
+ #line 188 "/var/www/coffeescript-php/grammar.y"
2863
+ function yy_r113(){ $this->_retvalue = yy('Range', $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + -2]->minor); }
2864
+ #line 2864 "/var/www/coffeescript-php/grammar.php"
2865
+ #line 190 "/var/www/coffeescript-php/grammar.y"
2866
+ function yy_r114(){ $this->_retvalue = yy('Range', $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor, $this->yystack[$this->yyidx + -1]->minor); }
2867
+ #line 2867 "/var/www/coffeescript-php/grammar.php"
2868
+ #line 191 "/var/www/coffeescript-php/grammar.y"
2869
+ function yy_r115(){ $this->_retvalue = yy('Range', $this->yystack[$this->yyidx + -1]->minor, NULL, $this->yystack[$this->yyidx + 0]->minor); }
2870
+ #line 2870 "/var/www/coffeescript-php/grammar.php"
2871
+ #line 192 "/var/www/coffeescript-php/grammar.y"
2872
+ function yy_r116(){ $this->_retvalue = yy('Range', NULL, $this->yystack[$this->yyidx + 0]->minor, $this->yystack[$this->yyidx + -1]->minor); }
2873
+ #line 2873 "/var/www/coffeescript-php/grammar.php"
2874
+ #line 193 "/var/www/coffeescript-php/grammar.y"
2875
+ function yy_r117(){ $this->_retvalue = yy('Range', NULL, NULL, $this->yystack[$this->yyidx + 0]->minor); }
2876
+ #line 2876 "/var/www/coffeescript-php/grammar.php"
2877
+ #line 197 "/var/www/coffeescript-php/grammar.y"
2878
+ function yy_r120(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -3]->minor, array($this->yystack[$this->yyidx + 0]->minor)); }
2879
+ #line 2879 "/var/www/coffeescript-php/grammar.php"
2880
+ #line 205 "/var/www/coffeescript-php/grammar.y"
2881
+ function yy_r126(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor); }
2882
+ #line 2882 "/var/www/coffeescript-php/grammar.php"
2883
+ #line 207 "/var/www/coffeescript-php/grammar.y"
2884
+ function yy_r127(){ $this->_retvalue = yy('Try', $this->yystack[$this->yyidx + 0]->minor); }
2885
+ #line 2885 "/var/www/coffeescript-php/grammar.php"
2886
+ #line 208 "/var/www/coffeescript-php/grammar.y"
2887
+ function yy_r128(){ $this->_retvalue = yy('Try', $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor[0], $this->yystack[$this->yyidx + 0]->minor[1]); }
2888
+ #line 2888 "/var/www/coffeescript-php/grammar.php"
2889
+ #line 209 "/var/www/coffeescript-php/grammar.y"
2890
+ function yy_r129(){ $this->_retvalue = yy('Try', $this->yystack[$this->yyidx + -2]->minor, NULL, NULL, $this->yystack[$this->yyidx + 0]->minor); }
2891
+ #line 2891 "/var/www/coffeescript-php/grammar.php"
2892
+ #line 210 "/var/www/coffeescript-php/grammar.y"
2893
+ function yy_r130(){ $this->_retvalue = yy('Try', $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -2]->minor[0], $this->yystack[$this->yyidx + -2]->minor[1], $this->yystack[$this->yyidx + 0]->minor); }
2894
+ #line 2894 "/var/www/coffeescript-php/grammar.php"
2895
+ #line 212 "/var/www/coffeescript-php/grammar.y"
2896
+ function yy_r131(){ $this->_retvalue = array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor); }
2897
+ #line 2897 "/var/www/coffeescript-php/grammar.php"
2898
+ #line 214 "/var/www/coffeescript-php/grammar.y"
2899
+ function yy_r132(){ $this->_retvalue = yy('Throw', $this->yystack[$this->yyidx + 0]->minor); }
2900
+ #line 2900 "/var/www/coffeescript-php/grammar.php"
2901
+ #line 216 "/var/www/coffeescript-php/grammar.y"
2902
+ function yy_r133(){ $this->_retvalue = yy('Parens', $this->yystack[$this->yyidx + -1]->minor); }
2903
+ #line 2903 "/var/www/coffeescript-php/grammar.php"
2904
+ #line 217 "/var/www/coffeescript-php/grammar.y"
2905
+ function yy_r134(){ $this->_retvalue = yy('Parens', $this->yystack[$this->yyidx + -2]->minor); }
2906
+ #line 2906 "/var/www/coffeescript-php/grammar.php"
2907
+ #line 219 "/var/www/coffeescript-php/grammar.y"
2908
+ function yy_r135(){ $this->_retvalue = yy('While', $this->yystack[$this->yyidx + 0]->minor); }
2909
+ #line 2909 "/var/www/coffeescript-php/grammar.php"
2910
+ #line 220 "/var/www/coffeescript-php/grammar.y"
2911
+ function yy_r136(){ $this->_retvalue = yy('While', $this->yystack[$this->yyidx + -2]->minor, array('guard' => $this->yystack[$this->yyidx + 0]->minor)); }
2912
+ #line 2912 "/var/www/coffeescript-php/grammar.php"
2913
+ #line 221 "/var/www/coffeescript-php/grammar.y"
2914
+ function yy_r137(){ $this->_retvalue = yy('While', $this->yystack[$this->yyidx + 0]->minor, array('invert' => TRUE)); }
2915
+ #line 2915 "/var/www/coffeescript-php/grammar.php"
2916
+ #line 222 "/var/www/coffeescript-php/grammar.y"
2917
+ function yy_r138(){ $this->_retvalue = yy('While', $this->yystack[$this->yyidx + -2]->minor, array('invert' => TRUE, 'guard' => $this->yystack[$this->yyidx + 0]->minor)); }
2918
+ #line 2918 "/var/www/coffeescript-php/grammar.php"
2919
+ #line 224 "/var/www/coffeescript-php/grammar.y"
2920
+ function yy_r139(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->add_body($this->yystack[$this->yyidx + 0]->minor); }
2921
+ #line 2921 "/var/www/coffeescript-php/grammar.php"
2922
+ #line 225 "/var/www/coffeescript-php/grammar.y"
2923
+ function yy_r140(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor->add_body(yy_Block::wrap(array($this->yystack[$this->yyidx + -1]->minor))); }
2924
+ #line 2924 "/var/www/coffeescript-php/grammar.php"
2925
+ #line 229 "/var/www/coffeescript-php/grammar.y"
2926
+ function yy_r143(){ $this->_retvalue = yy('While', yy('Literal', 'true')); $this->_retvalue->add_body($this->yystack[$this->yyidx + 0]->minor); }
2927
+ #line 2927 "/var/www/coffeescript-php/grammar.php"
2928
+ #line 230 "/var/www/coffeescript-php/grammar.y"
2929
+ function yy_r144(){ $this->_retvalue = yy('While', yy('Literal', 'true')); $this->_retvalue->add_body(yy_Block::wrap($this->yystack[$this->yyidx + 0]->minor)); }
2930
+ #line 2930 "/var/www/coffeescript-php/grammar.php"
2931
+ #line 232 "/var/www/coffeescript-php/grammar.y"
2932
+ function yy_r145(){ $this->_retvalue = yy('For', $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor); }
2933
+ #line 2933 "/var/www/coffeescript-php/grammar.php"
2934
+ #line 234 "/var/www/coffeescript-php/grammar.y"
2935
+ function yy_r147(){ $this->_retvalue = yy('For', $this->yystack[$this->yyidx + 0]->minor, $this->yystack[$this->yyidx + -1]->minor); }
2936
+ #line 2936 "/var/www/coffeescript-php/grammar.php"
2937
+ #line 236 "/var/www/coffeescript-php/grammar.y"
2938
+ function yy_r148(){ $this->_retvalue = array('source' => yy('Value', $this->yystack[$this->yyidx + 0]->minor)); }
2939
+ #line 2939 "/var/www/coffeescript-php/grammar.php"
2940
+ #line 237 "/var/www/coffeescript-php/grammar.y"
2941
+ function yy_r149(){ $this->yystack[$this->yyidx + 0]->minor['own'] = isset($this->yystack[$this->yyidx + -1]->minor['own']) ? $this->yystack[$this->yyidx + -1]->minor['own'] : NULL; $this->yystack[$this->yyidx + 0]->minor['name'] = $this->yystack[$this->yyidx + -1]->minor[0]; $this->yystack[$this->yyidx + 0]->minor['index'] = isset($this->yystack[$this->yyidx + -1]->minor[1]) ? $this->yystack[$this->yyidx + -1]->minor[1] : NULL; $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
2942
+ #line 2942 "/var/www/coffeescript-php/grammar.php"
2943
+ #line 240 "/var/www/coffeescript-php/grammar.y"
2944
+ function yy_r151(){ $this->yystack[$this->yyidx + 0]->minor['own'] = TRUE; $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
2945
+ #line 2945 "/var/www/coffeescript-php/grammar.php"
2946
+ #line 249 "/var/www/coffeescript-php/grammar.y"
2947
+ function yy_r157(){ $this->_retvalue = array('source' => $this->yystack[$this->yyidx + 0]->minor); }
2948
+ #line 2948 "/var/www/coffeescript-php/grammar.php"
2949
+ #line 250 "/var/www/coffeescript-php/grammar.y"
2950
+ function yy_r158(){ $this->_retvalue = array('source' => $this->yystack[$this->yyidx + 0]->minor, 'object' => TRUE); }
2951
+ #line 2951 "/var/www/coffeescript-php/grammar.php"
2952
+ #line 251 "/var/www/coffeescript-php/grammar.y"
2953
+ function yy_r159(){ $this->_retvalue = array('source' => $this->yystack[$this->yyidx + -2]->minor, 'guard' => $this->yystack[$this->yyidx + 0]->minor); }
2954
+ #line 2954 "/var/www/coffeescript-php/grammar.php"
2955
+ #line 252 "/var/www/coffeescript-php/grammar.y"
2956
+ function yy_r160(){ $this->_retvalue = array('source' => $this->yystack[$this->yyidx + -2]->minor, 'guard' => $this->yystack[$this->yyidx + 0]->minor, 'object' => TRUE); }
2957
+ #line 2957 "/var/www/coffeescript-php/grammar.php"
2958
+ #line 253 "/var/www/coffeescript-php/grammar.y"
2959
+ function yy_r161(){ $this->_retvalue = array('source' => $this->yystack[$this->yyidx + -2]->minor, 'step' => $this->yystack[$this->yyidx + 0]->minor); }
2960
+ #line 2960 "/var/www/coffeescript-php/grammar.php"
2961
+ #line 254 "/var/www/coffeescript-php/grammar.y"
2962
+ function yy_r162(){ $this->_retvalue = array('source' => $this->yystack[$this->yyidx + -4]->minor, 'guard' => $this->yystack[$this->yyidx + -2]->minor, 'step' => $this->yystack[$this->yyidx + 0]->minor); }
2963
+ #line 2963 "/var/www/coffeescript-php/grammar.php"
2964
+ #line 255 "/var/www/coffeescript-php/grammar.y"
2965
+ function yy_r163(){ $this->_retvalue = array('source' => $this->yystack[$this->yyidx + -4]->minor, 'step' => $this->yystack[$this->yyidx + -2]->minor, 'guard' => $this->yystack[$this->yyidx + 0]->minor); }
2966
+ #line 2966 "/var/www/coffeescript-php/grammar.php"
2967
+ #line 257 "/var/www/coffeescript-php/grammar.y"
2968
+ function yy_r164(){ $this->_retvalue = yy('Switch', $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -1]->minor); }
2969
+ #line 2969 "/var/www/coffeescript-php/grammar.php"
2970
+ #line 258 "/var/www/coffeescript-php/grammar.y"
2971
+ function yy_r165(){ $this->_retvalue = yy('Switch', $this->yystack[$this->yyidx + -5]->minor, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -1]->minor); }
2972
+ #line 2972 "/var/www/coffeescript-php/grammar.php"
2973
+ #line 259 "/var/www/coffeescript-php/grammar.y"
2974
+ function yy_r166(){ $this->_retvalue = yy('Switch', NULL, $this->yystack[$this->yyidx + -1]->minor); }
2975
+ #line 2975 "/var/www/coffeescript-php/grammar.php"
2976
+ #line 260 "/var/www/coffeescript-php/grammar.y"
2977
+ function yy_r167(){ $this->_retvalue = yy('Switch', NULL, $this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + -1]->minor); }
2978
+ #line 2978 "/var/www/coffeescript-php/grammar.php"
2979
+ #line 263 "/var/www/coffeescript-php/grammar.y"
2980
+ function yy_r169(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor); }
2981
+ #line 2981 "/var/www/coffeescript-php/grammar.php"
2982
+ #line 265 "/var/www/coffeescript-php/grammar.y"
2983
+ function yy_r170(){ $this->_retvalue = array(array($this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor)); }
2984
+ #line 2984 "/var/www/coffeescript-php/grammar.php"
2985
+ #line 266 "/var/www/coffeescript-php/grammar.y"
2986
+ function yy_r171(){ $this->_retvalue = array(array($this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + -1]->minor)); }
2987
+ #line 2987 "/var/www/coffeescript-php/grammar.php"
2988
+ #line 268 "/var/www/coffeescript-php/grammar.y"
2989
+ function yy_r172(){ $this->_retvalue = yy('If', $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor, array('type' => $this->yystack[$this->yyidx + -2]->minor)); }
2990
+ #line 2990 "/var/www/coffeescript-php/grammar.php"
2991
+ #line 269 "/var/www/coffeescript-php/grammar.y"
2992
+ function yy_r173(){ $this->_retvalue = $this->yystack[$this->yyidx + -4]->minor->add_else(yy('If', $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor, array('type' => $this->yystack[$this->yyidx + -2]->minor))); }
2993
+ #line 2993 "/var/www/coffeescript-php/grammar.php"
2994
+ #line 272 "/var/www/coffeescript-php/grammar.y"
2995
+ function yy_r175(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor->add_else($this->yystack[$this->yyidx + 0]->minor); }
2996
+ #line 2996 "/var/www/coffeescript-php/grammar.php"
2997
+ #line 273 "/var/www/coffeescript-php/grammar.y"
2998
+ function yy_r176(){ $this->_retvalue = yy('If', $this->yystack[$this->yyidx + 0]->minor, yy_Block::wrap(array($this->yystack[$this->yyidx + -2]->minor)), array('type' => $this->yystack[$this->yyidx + -1]->minor, 'statement' => TRUE)); }
2999
+ #line 2999 "/var/www/coffeescript-php/grammar.php"
3000
+ #line 276 "/var/www/coffeescript-php/grammar.y"
3001
+ function yy_r178(){ $this->_retvalue = yy('Op', $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor); }
3002
+ #line 3002 "/var/www/coffeescript-php/grammar.php"
3003
+ #line 277 "/var/www/coffeescript-php/grammar.y"
3004
+ function yy_r179(){ $this->_retvalue = yy('Op', $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + 0]->minor); /* prec: 'UNARY'; */ }
3005
+ #line 3005 "/var/www/coffeescript-php/grammar.php"
3006
+ #line 282 "/var/www/coffeescript-php/grammar.y"
3007
+ function yy_r183(){ $this->_retvalue = yy('Op', $this->yystack[$this->yyidx + 0]->minor, $this->yystack[$this->yyidx + -1]->minor, NULL, TRUE); }
3008
+ #line 3008 "/var/www/coffeescript-php/grammar.php"
3009
+ #line 285 "/var/www/coffeescript-php/grammar.y"
3010
+ function yy_r185(){ $this->_retvalue = yy('Existence', $this->yystack[$this->yyidx + -1]->minor); }
3011
+ #line 3011 "/var/www/coffeescript-php/grammar.php"
3012
+ #line 287 "/var/www/coffeescript-php/grammar.y"
3013
+ function yy_r186(){ $this->_retvalue = yy('Op', $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor); }
3014
+ #line 3014 "/var/www/coffeescript-php/grammar.php"
3015
+ #line 294 "/var/www/coffeescript-php/grammar.y"
3016
+ function yy_r192(){
3017
+ if ($this->yystack[$this->yyidx + -1]->minor{0} === '!') {
3018
+ $this->_retvalue = yy('Op', substr($this->yystack[$this->yyidx + -1]->minor, 1), $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor);
3019
+ $this->_retvalue = $this->_retvalue->invert();
3020
+ }
3021
+ else {
3022
+ $this->_retvalue = yy('Op', $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor);
3023
+ }
3024
+ }
3025
+ #line 3025 "/var/www/coffeescript-php/grammar.php"
3026
+ #line 304 "/var/www/coffeescript-php/grammar.y"
3027
+ function yy_r193(){ $this->_retvalue = yy('Assign', $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor, $this->yystack[$this->yyidx + -1]->minor); }
3028
+ #line 3028 "/var/www/coffeescript-php/grammar.php"
3029
+ #line 305 "/var/www/coffeescript-php/grammar.y"
3030
+ function yy_r194(){ $this->_retvalue = yy('Assign', $this->yystack[$this->yyidx + -4]->minor, $this->yystack[$this->yyidx + -1]->minor, $this->yystack[$this->yyidx + -3]->minor); }
3031
+ #line 3031 "/var/www/coffeescript-php/grammar.php"
3032
+ #line 306 "/var/www/coffeescript-php/grammar.y"
3033
+ function yy_r195(){ $this->_retvalue = yy('Extends', $this->yystack[$this->yyidx + -2]->minor, $this->yystack[$this->yyidx + 0]->minor); }
3034
+ #line 3034 "/var/www/coffeescript-php/grammar.php"
3035
+
3036
+ /**
3037
+ * placeholder for the left hand side in a reduce operation.
3038
+ *
3039
+ * For a parser with a rule like this:
3040
+ * <pre>
3041
+ * rule(A) ::= B. { A = 1; }
3042
+ * </pre>
3043
+ *
3044
+ * The parser will translate to something like:
3045
+ *
3046
+ * <code>
3047
+ * function yy_r0(){$this->_retvalue = 1;}
3048
+ * </code>
3049
+ */
3050
+ private $_retvalue;
3051
+
3052
+ /**
3053
+ * Perform a reduce action and the shift that must immediately
3054
+ * follow the reduce.
3055
+ *
3056
+ * For a rule such as:
3057
+ *
3058
+ * <pre>
3059
+ * A ::= B blah C. { dosomething(); }
3060
+ * </pre>
3061
+ *
3062
+ * This function will first call the action, if any, ("dosomething();" in our
3063
+ * example), and then it will pop three states from the stack,
3064
+ * one for each entry on the right-hand side of the expression
3065
+ * (B, blah, and C in our example rule), and then push the result of the action
3066
+ * back on to the stack with the resulting state reduced to (as described in the .out
3067
+ * file)
3068
+ * @param int Number of the rule by which to reduce
3069
+ */
3070
+ function yy_reduce($yyruleno)
3071
+ {
3072
+ //int $yygoto; /* The next state */
3073
+ //int $yyact; /* The next action */
3074
+ //mixed $yygotominor; /* The LHS of the rule reduced */
3075
+ //yyStackEntry $yymsp; /* The top of the parser's stack */
3076
+ //int $yysize; /* Amount to pop the stack */
3077
+ $yymsp = $this->yystack[$this->yyidx];
3078
+ if (self::$yyTraceFILE && $yyruleno >= 0
3079
+ && $yyruleno < count(self::$yyRuleName)) {
3080
+ fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
3081
+ self::$yyTracePrompt, $yyruleno,
3082
+ self::$yyRuleName[$yyruleno]);
3083
+ }
3084
+
3085
+ $this->_retvalue = $yy_lefthand_side = null;
3086
+ if (array_key_exists($yyruleno, self::$yyReduceMap)) {
3087
+ // call the action
3088
+ $this->_retvalue = null;
3089
+ $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
3090
+ $yy_lefthand_side = $this->_retvalue;
3091
+ }
3092
+ $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
3093
+ $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
3094
+ $this->yyidx -= $yysize;
3095
+ for ($i = $yysize; $i; $i--) {
3096
+ // pop all of the right-hand side parameters
3097
+ array_pop($this->yystack);
3098
+ }
3099
+ $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
3100
+ if ($yyact < self::YYNSTATE) {
3101
+ /* If we are not debugging and the reduce action popped at least
3102
+ ** one element off the stack, then we can push the new element back
3103
+ ** onto the stack here, and skip the stack overflow test in yy_shift().
3104
+ ** That gives a significant speed improvement. */
3105
+ if (!self::$yyTraceFILE && $yysize) {
3106
+ $this->yyidx++;
3107
+ $x = new yyStackEntry;
3108
+ $x->stateno = $yyact;
3109
+ $x->major = $yygoto;
3110
+ $x->minor = $yy_lefthand_side;
3111
+ $this->yystack[$this->yyidx] = $x;
3112
+ } else {
3113
+ $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
3114
+ }
3115
+ } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
3116
+ $this->yy_accept();
3117
+ }
3118
+ }
3119
+
3120
+ /**
3121
+ * The following code executes when the parse fails
3122
+ *
3123
+ * Code from %parse_fail is inserted here
3124
+ */
3125
+ function yy_parse_failed()
3126
+ {
3127
+ if (self::$yyTraceFILE) {
3128
+ fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt);
3129
+ }
3130
+ while ($this->yyidx >= 0) {
3131
+ $this->yy_pop_parser_stack();
3132
+ }
3133
+ /* Here code is inserted which will be executed whenever the
3134
+ ** parser fails */
3135
+ }
3136
+
3137
+ /**
3138
+ * The following code executes when a syntax error first occurs.
3139
+ *
3140
+ * %syntax_error code is inserted here
3141
+ * @param int The major type of the error token
3142
+ * @param mixed The minor type of the error token
3143
+ */
3144
+ function yy_syntax_error($yymajor, $TOKEN)
3145
+ {
3146
+ #line 4 "/var/www/coffeescript-php/grammar.y"
3147
+
3148
+ throw new SyntaxError(
3149
+ 'unexpected '.$this->tokenName($yymajor).' in '.self::$FILE.':'
3150
+ . (self::$LINE + 1).'.'
3151
+ );
3152
+ #line 3153 "/var/www/coffeescript-php/grammar.php"
3153
+ }
3154
+
3155
+ /**
3156
+ * The following is executed when the parser accepts
3157
+ *
3158
+ * %parse_accept code is inserted here
3159
+ */
3160
+ function yy_accept()
3161
+ {
3162
+ if (self::$yyTraceFILE) {
3163
+ fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt);
3164
+ }
3165
+ while ($this->yyidx >= 0) {
3166
+ $stack = $this->yy_pop_parser_stack();
3167
+ }
3168
+ /* Here code is inserted which will be executed whenever the
3169
+ ** parser accepts */
3170
+ }
3171
+
3172
+ /**
3173
+ * The main parser program.
3174
+ *
3175
+ * The first argument is the major token number. The second is
3176
+ * the token value string as scanned from the input.
3177
+ *
3178
+ * @param int $yymajor the token number
3179
+ * @param mixed $yytokenvalue the token value
3180
+ * @param mixed ... any extra arguments that should be passed to handlers
3181
+ *
3182
+ * @return void
3183
+ */
3184
+ function parse($token)
3185
+ {
3186
+ list($yymajor, $yytokenvalue, ) = $token ? $token : array(0, 0);
3187
+ self::$LINE = isset($token[2]) ? $token[2] : -1;
3188
+
3189
+ // $yyact; /* The parser action. */
3190
+ // $yyendofinput; /* True if we are at the end of input */
3191
+ $yyerrorhit = 0; /* True if yymajor has invoked an error */
3192
+
3193
+ /* (re)initialize the parser, if necessary */
3194
+ if ($this->yyidx === null || $this->yyidx < 0) {
3195
+ /* if ($yymajor == 0) return; // not sure why this was here... */
3196
+ $this->yyidx = 0;
3197
+ $this->yyerrcnt = -1;
3198
+ $x = new yyStackEntry;
3199
+ $x->stateno = 0;
3200
+ $x->major = 0;
3201
+ $this->yystack = array();
3202
+ array_push($this->yystack, $x);
3203
+ }
3204
+ $yyendofinput = ($yymajor==0);
3205
+
3206
+ if (self::$yyTraceFILE) {
3207
+ fprintf(
3208
+ self::$yyTraceFILE,
3209
+ "%sInput %s\n",
3210
+ self::$yyTracePrompt,
3211
+ self::tokenName($yymajor)
3212
+ );
3213
+ }
3214
+
3215
+ do {
3216
+ $yyact = $this->yy_find_shift_action($yymajor);
3217
+ if ($yymajor < self::YYERRORSYMBOL
3218
+ && !$this->yy_is_expected_token($yymajor)
3219
+ ) {
3220
+ // force a syntax error
3221
+ $yyact = self::YY_ERROR_ACTION;
3222
+ }
3223
+ if ($yyact < self::YYNSTATE) {
3224
+ $this->yy_shift($yyact, $yymajor, $yytokenvalue);
3225
+ $this->yyerrcnt--;
3226
+ if ($yyendofinput && $this->yyidx >= 0) {
3227
+ $yymajor = 0;
3228
+ } else {
3229
+ $yymajor = self::YYNOCODE;
3230
+ }
3231
+ } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
3232
+ $this->yy_reduce($yyact - self::YYNSTATE);
3233
+ } elseif ($yyact == self::YY_ERROR_ACTION) {
3234
+ if (self::$yyTraceFILE) {
3235
+ fprintf(
3236
+ self::$yyTraceFILE,
3237
+ "%sSyntax Error!\n",
3238
+ self::$yyTracePrompt
3239
+ );
3240
+ }
3241
+ if (self::YYERRORSYMBOL) {
3242
+ /* A syntax error has occurred.
3243
+ ** The response to an error depends upon whether or not the
3244
+ ** grammar defines an error token "ERROR".
3245
+ **
3246
+ ** This is what we do if the grammar does define ERROR:
3247
+ **
3248
+ ** * Call the %syntax_error function.
3249
+ **
3250
+ ** * Begin popping the stack until we enter a state where
3251
+ ** it is legal to shift the error symbol, then shift
3252
+ ** the error symbol.
3253
+ **
3254
+ ** * Set the error count to three.
3255
+ **
3256
+ ** * Begin accepting and shifting new tokens. No new error
3257
+ ** processing will occur until three tokens have been
3258
+ ** shifted successfully.
3259
+ **
3260
+ */
3261
+ if ($this->yyerrcnt < 0) {
3262
+ $this->yy_syntax_error($yymajor, $yytokenvalue);
3263
+ }
3264
+ $yymx = $this->yystack[$this->yyidx]->major;
3265
+ if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ) {
3266
+ if (self::$yyTraceFILE) {
3267
+ fprintf(
3268
+ self::$yyTraceFILE,
3269
+ "%sDiscard input token %s\n",
3270
+ self::$yyTracePrompt,
3271
+ self::tokenName($yymajor)
3272
+ );
3273
+ }
3274
+ $this->yy_destructor($yymajor, $yytokenvalue);
3275
+ $yymajor = self::YYNOCODE;
3276
+ } else {
3277
+ while ($this->yyidx >= 0
3278
+ && $yymx != self::YYERRORSYMBOL
3279
+ && ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
3280
+ ) {
3281
+ $this->yy_pop_parser_stack();
3282
+ }
3283
+ if ($this->yyidx < 0 || $yymajor==0) {
3284
+ $this->yy_destructor($yymajor, $yytokenvalue);
3285
+ $this->yy_parse_failed();
3286
+ $yymajor = self::YYNOCODE;
3287
+ } elseif ($yymx != self::YYERRORSYMBOL) {
3288
+ $u2 = 0;
3289
+ $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
3290
+ }
3291
+ }
3292
+ $this->yyerrcnt = 3;
3293
+ $yyerrorhit = 1;
3294
+ } else {
3295
+ /* YYERRORSYMBOL is not defined */
3296
+ /* This is what we do if the grammar does not define ERROR:
3297
+ **
3298
+ ** * Report an error message, and throw away the input token.
3299
+ **
3300
+ ** * If the input token is $, then fail the parse.
3301
+ **
3302
+ ** As before, subsequent error messages are suppressed until
3303
+ ** three input tokens have been successfully shifted.
3304
+ */
3305
+ if ($this->yyerrcnt <= 0) {
3306
+ $this->yy_syntax_error($yymajor, $yytokenvalue);
3307
+ }
3308
+ $this->yyerrcnt = 3;
3309
+ $this->yy_destructor($yymajor, $yytokenvalue);
3310
+ if ($yyendofinput) {
3311
+ $this->yy_parse_failed();
3312
+ }
3313
+ $yymajor = self::YYNOCODE;
3314
+ }
3315
+ } else {
3316
+ $this->yy_accept();
3317
+ $yymajor = self::YYNOCODE;
3318
+ }
3319
+ } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
3320
+
3321
+ if ($token === NULL)
3322
+ {
3323
+ return $this->_retvalue;
3324
+ }
3325
+ }
3326
+ }