diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a309194642e7c5d24a1d7ced2cd30f9532c3ce82..90e332a54767aaf8bb6e96e4cd51d8b40ff0c587 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -38,9 +38,9 @@ tests:jdk-21: publish: stage: deploy script: - - openssl aes-256-cbc -pass "env:ENCRYPTION_PASSWORD" -d -a -md md5 -in secring.gpg.enc -out secring.gpg - - openssl aes-256-cbc -pass "env:ENCRYPTION_PASSWORD" -d -a -md md5 -in pubring.gpg.enc -out pubring.gpg - - openssl aes-256-cbc -pass "env:ENCRYPTION_PASSWORD" -d -a -md md5 -in gradle.properties.enc -out gradle.properties + - openssl aes-256-cbc -d -base64 -pbkdf2 -pass "env:ENCRYPTION_PASSWORD" -in gradle.properties.enc -out gradle.properties + - openssl aes-256-cbc -d -base64 -pbkdf2 -pass "env:ENCRYPTION_PASSWORD" -in pubring.gpg.enc -out pubring.gpg + - openssl aes-256-cbc -d -base64 -pbkdf2 -pass "env:ENCRYPTION_PASSWORD" -in secring.gpg.enc -out secring.gpg - ./gradlew ${GRADLE_OPTIONS} publish only: - master@general/stups/sablecc-stups diff --git a/build.gradle b/build.gradle index 059f2c1239eaae07b683c7a6b79b4652287cb3da..dbf3fa55c9a6b64c5d9d8edf81fdbce4b83b9d80 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ apply plugin: 'signing' allprojects { project.group = 'de.hhu.stups' - project.version = '3.7.0' + project.version = '3.8.0' project.ext.isSnapshot = project.version.endsWith("-SNAPSHOT") ext."signing.secretKeyRingFile" = rootProject.file("secring.gpg").absolutePath diff --git a/gradle.properties.enc b/gradle.properties.enc index 83e084509404a88a304c64f23a26e07bf592c44d..c1867a27ac7d323a86ce3c5a2d8257a97a0a5b10 100644 --- a/gradle.properties.enc +++ b/gradle.properties.enc @@ -1,5 +1,4 @@ -U2FsdGVkX18nOHLNyyzYk3lwSF0IGgXp8ubFJuMWOPaMbTBmgRPWS/jQT4LO17HP -W5yqIb+NzcYqzLBohg9s9r4XFyoS5ic3TIyPp87IXzgWNh3gKV+F+DfbggwMjiyJ -0gZI+90cmkWXBDW7c3JijLOX2f0NATwuiwHFPau3FCKC0cp7uOArtqkbfZau2how -oP8hzzAue50fahPuBfg8h3OtofJW9x9UCUxxD/NXzD8VZFQabICUjI8mcjEcvaea -MqQn9JuoekIRPDUsUwZ9Er07OkzKXHB5c968S3DUP3w= +U2FsdGVkX1+BEAbjRIB+mXtm8SXf7JkI+WHnEimPW4vLHWrbGs8PY7u+B9BCqO+3 +vmUhdJFfnwJglivtRmt3ecLUpSSG3pZFXrdtnR/eHdLIkbGIIjZRcRTokF66Z2CQ +sWdDhhu2gsRxXOiKSQ/d5MknWHd+zlLoMiWJv3u+EQ3desH/cadBC1RAod7L6Kul +UtSAw5pmAJFaBrRFoOJVvw7hi5ZkpcMB3JTZL2+1Tsxs50m7XAqc5PVdCHpMqVMb diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d64cd4917707c1f8861d8cb53dd15194d4248596..e6441136f3d4ba8a0da8d277868979cfbc8ad796 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a80b22ce5cffec8b48ee79b11c67945e91f99d5f..a4413138c96c6ed29b6e2f5e147cd77426ae4409 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a4269074199e6ed2c37e8db3e0826030965..b740cf13397ab16efc23cba3d6234ff8433403b1 100755 --- a/gradlew +++ b/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/pubring.gpg.enc b/pubring.gpg.enc index fb1dfb132bd34d077723753821aefdc42be64bc2..8ad11824421415e5455b09b4fc68af040a6c190f 100644 --- a/pubring.gpg.enc +++ b/pubring.gpg.enc @@ -1,26 +1,26 @@ -U2FsdGVkX1/MdPD8TmHygEYUS49v1M2eqrSgZK0x8pZ/mIO51EnU4UUelrxxyGN5 -NvnLUPVhm63e2EtzQ3Yhq8f5rb7+2rZ/vwlL6SteBhxH5G0bwb0gCdA2rUiyWKJw -tKwAjizS1TYs1AgU4LpUIQ1iGmvg1WDmuyWpZvJ/2vR/v6rT/5OxHAKzk5MclbDq -a7HfR3XiRmH0zZKMk38zD7id04pDstDO6jfLE1OOay9Rg8qIfUbenHzBlQLiqqz+ -lDsJtzT9UZmtKK0X89TQ7dfS7cmbgpJB11ibLAi+EEJqqkEP2U5BT5qRFsehTp/X -Xh07xOnyMbQXo67cAZ6GkGhw3Wy/71JRRK2ynLg8NmxgTsTqxhcJX4bZ0gCKLome -1QR5B1fhmo2IMpWE8shgk8gm3AKtlo7v8eGzVFmpchrog5HBFclupLUVD5rLj6ei -dncq8jsJ0AlcjFsW+Cyg8/2Tncdi/uwiwsKJdligvXKECAcvuNhFBFPrlPB4Z1KY -f6SQG2LAu5746zCQ29Hpkj5UKiCqCXqdYnG6PCx2ZNkbDSR31GeqK+GbYoahKGxb -VDuBw033g5bvAIeRUuGYC5ua3LhW7Fs5ElUx3feAVjJALtA1FB9mtK2vVwVU/bmS -2f02VBKvYVfZ2asILQJ2HuC157TBbAPEJAu4M+0YR5T9fUiDGLbhDHq4E4vZp+LJ -7WKMecy+zXkvuF13TkxbzmAdh/pQvq8uhLvu24fPbHvzudasZA0n+VwRqg8whzxX -2rodf86Zk3aVPwYPq/o/j1aXRE1zPZHIeZv7mmp+dNvhqS0sjr8fPziUS/MnwzJz -J/K9Z7cXGE1wQIIHnTZGbAa6LI0keV/Ba5IgKLR0CifugjwU4vxHdHEzvo2YZIJI -AVR9oVQMcAx73GWEYlO3SG9IktHamfo76U3FAUtthRZ2D46Us0+LuNsPL92OC7o8 -2+rdgtzulCuYbcVaAFJTrpg4NTHU5uJf8CsDrQKt+1frmV/+lFye7P1OJcREPuQ4 -RA7+1V3A2x8hOiDBo1BBr0MskLu+01l+Lh4YzPd8jTcngn6T7WO5P6689O6Nk4QS -Dg9ubHo3BWdGdJ4nK44qGMa/GfZKG9pShn3Zoq2+1Y5jYCmyjs5/jtV0Zw7NDCTz -5ZBqBU7lxrc0gAUy3dH5IYTmOBNUieZKDYG/sILtBs363am7tQ3sfqgIJEA2nRxI -PnlYAy+JEYKz80zY1c4CFC2gfZzed8499pPMsSjRc8TX8wpe+iE/fL7rjpBdSRi1 -xBSK4BiSOQOLp5Rw5SHDzBpdK9aobNQECCUhkejYEfTi0Xw6v1QZ8U6tNjZQ9+M2 -56VH4wuvYXE++L3SUVEYTJPi3yYC8v+fo80hkm3KF/wIWmeZqmjsRVDHatHxEfld -vzRhO0Lb1CsJo9aq+FAd5E/Ek9skQE1dXoQLRXgFkEJGbmo9hysxz2CB89CaaREW -l/hRW/v3Zqw6giQfe8hOEpyg7yj6xGgEuCuv5Uiz3gLg4NAg8Wvbq0K40ne7ukIO -DrbAkG2+0+TyIBv/ocZJykQ974SD+w0t3qIBeW0q9cxqTtKAX8OAaJhdXx5IiCcW -KpRBcAzZBCC0hKdBTVp/50+ySfcBzHJDnxVzGaWx/DA= +U2FsdGVkX1/ecmzt62K2yKsVlvmQKkfzExhaIo9Zm8/ZobX4Q9asbrssdDbfAdpX +lyIp3wY65EPLcROlrNZqLTjAbcZrPnQyKgCYRr0+s5/0iy6noTWa52EZyPvmP3fw +vsIM/MqFjZCBUhFfvvIb2qNz5+d84lvsOojzeYm+9xSKCx8k24XupcsWuMgfiNla +vmpeUUCPHAYB1clTNn66YdChrQJCcrbnHUmBWms3lSU5waZ5i1dnteaLCLo6M58O +H/7YKOb5cg/0WFE6/l28xFk49ACcAH6i3q3pf99XyPGk+/kvG/Zx+8HvaoG26MkM +HrV60kJgh1t4LBtvadvHk0UyODZJzrH/4ka1XVJv18ZQ5pcLTI6sNEwkM9XjxaU0 +Ik7DIxf6onEaBlk1nRnhXi97gKa7+XjVR82pLXgPEn5HrAe+ObX1UL0VqfJw7EXs +Nb2ZVciC/ugfi3UiHuOtFmImo+MRLXvvqkpW49VfO5GwBBpmjM9PcXdRzdtU8USp +Z+KXXBoUPfZupCpty+ZCq8uBEMW93ifeqOLOqcr8B496LrPOC+T4D/MOh+1Pdpy+ +3YmzdfwttqKXNULhiW/loljKoKOBOjO6DDWwyEH+4LEuZYgXdC6nfedchU+F5ZQw +ORtyrkznV7baoNR/UDT33qz0c3fEtoWmPtiuiClHN12CoXWamK7dwBKP64aPL5Xy +UaYsrbjhMhW3/miVx6NgIv0iq8B/aUrJIXVdGWycVJVciRbgk1Px6z1lo3GOaZad +APqExffMHUOQZCjv8AC9tKsy2heog97Q4jUwOCHdghfmKK16ksy4plDaVN322uOG +S3mkfJLxw/2oUeAA8IFARCZ1FoCINPKxiRevPXhoizRNa7WzmQ4jT9C+BWDJeitn +LrA7fMmTpW0z7oaQez2VTSFg5liDtozp7Dp+d5MBA9Rg4B69F121FIt3MXWACHFl +5YW2+Sa6czh8P7eZQ4lRGOl8Y56NAE72n5l15HUdxrnEowwREuHAmWVdWCi16oTJ +JUqcSv3vu4WZQo3XhoB36ll0gvYZezlzoxpSqekBwlDkKCqevhncyu0UefG9fApu +g/2gDmQIVeAMfKytEyAomXCNiFriesqPBAyt3ZRivbWCMeBGT3KuMO2BIigfW7na ++BdpdeCF8KIEiOq69Ulaw6wo2lTOlP+utuD6D3iB0ATsvr18Bj9CXN7lloQD4tmw +DTUxrYBFjjtK6/SINHq0CwCgY968QdL+muk1A1xIiOK4ELNSLK16qIHUKYN5G7pr +eGNRD0KGeg64u42o+R1bZaYOWEqDHw9gWP9uuDp+M31T2uz3+NZS7JOmqpwh1VRy +4hW7BEhLO+C/A+feWeuXq5PXlMaeEE0+L8QE0nvto3N3HqsiwXIgg54AsQEkRCxp +uybDyfvAc4ni+GTd+8g0oUilzxa/oHGGzD386/aZDVWXhNiFZNXfr2LJljMW+lRT +7A5z/IIegoN5lSNy4IwbJY4WSRMaZ3jX7zM/t5IAyeB2/BXuiKspJ+XKhNwib5Mo +NKuwogypLpPux7968PkRHiOk3ndizKTUQj4RF52dWqW7ekbYelK1fcJXxILXDYi7 +8i/H7c7cUzvYvmnHe+2PArs2yVUL+fBrrsdXSaaswMs= diff --git a/sablecc-runtime/build.gradle b/sablecc-runtime/build.gradle index 04aef5c5b058f2adec7fc1c8b3f13a0736ee9e05..f70c48ac9ca1fe0a4ac21bed7b2e6802b7ffa4f7 100644 --- a/sablecc-runtime/build.gradle +++ b/sablecc-runtime/build.gradle @@ -29,6 +29,10 @@ publishing { url = 'https://gitlab.cs.uni-duesseldorf.de/general/stups/sablecc-stups' licenses { + license { + name = 'Eclipse Public License, Version 1.0' + url = 'http://www.eclipse.org/org/documents/epl-v10.html' + } license { name = 'GNU Lesser General Public License, Version 2.1' url = 'http://www.gnu.org/licenses/lgpl-2.1.html' diff --git a/sablecc-runtime/epl-v10.html b/sablecc-runtime/epl-v10.html new file mode 100644 index 0000000000000000000000000000000000000000..3998fcebeebe4d34f47c8777b4db160be1d1dec1 --- /dev/null +++ b/sablecc-runtime/epl-v10.html @@ -0,0 +1,261 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> +<title>Eclipse Public License - Version 1.0</title> +<style type="text/css"> + body { + size: 8.5in 11.0in; + margin: 0.25in 0.5in 0.25in 0.5in; + tab-interval: 0.5in; + } + p { + margin-left: auto; + margin-top: 0.5em; + margin-bottom: 0.5em; + } + p.list { + margin-left: 0.5in; + margin-top: 0.05em; + margin-bottom: 0.05em; + } + </style> + +</head> + +<body lang="EN-US"> + +<h2>Eclipse Public License - v 1.0</h2> + +<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.</p> + +<p><b>1. DEFINITIONS</b></p> + +<p>"Contribution" means:</p> + +<p class="list">a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and</p> +<p class="list">b) in the case of each subsequent Contributor:</p> +<p class="list">i) changes to the Program, and</p> +<p class="list">ii) additions to the Program;</p> +<p class="list">where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.</p> + +<p>"Contributor" means any person or entity that distributes +the Program.</p> + +<p>"Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.</p> + +<p>"Program" means the Contributions distributed in accordance +with this Agreement.</p> + +<p>"Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.</p> + +<p><b>2. GRANT OF RIGHTS</b></p> + +<p class="list">a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.</p> + +<p class="list">b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.</p> + +<p class="list">c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.</p> + +<p class="list">d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.</p> + +<p><b>3. REQUIREMENTS</b></p> + +<p>A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:</p> + +<p class="list">a) it complies with the terms and conditions of this +Agreement; and</p> + +<p class="list">b) its license agreement:</p> + +<p class="list">i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;</p> + +<p class="list">ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;</p> + +<p class="list">iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and</p> + +<p class="list">iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.</p> + +<p>When the Program is made available in source code form:</p> + +<p class="list">a) it must be made available under this Agreement; and</p> + +<p class="list">b) a copy of this Agreement must be included with each +copy of the Program.</p> + +<p>Contributors may not remove or alter any copyright notices contained +within the Program.</p> + +<p>Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.</p> + +<p><b>4. COMMERCIAL DISTRIBUTION</b></p> + +<p>Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.</p> + +<p>For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.</p> + +<p><b>5. NO WARRANTY</b></p> + +<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.</p> + +<p><b>6. DISCLAIMER OF LIABILITY</b></p> + +<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p> + +<p><b>7. GENERAL</b></p> + +<p>If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.</p> + +<p>If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.</p> + +<p>All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.</p> + +<p>Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.</p> + +<p>This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.</p> + +</body> + +</html> \ No newline at end of file diff --git a/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/PositionedNode.java b/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/PositionedNode.java index dea3bfe839585b1d5d98d425f11f6895041752da..0a4b9af4ae40e31cc8f304639f3b066bce15ae92 100644 --- a/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/PositionedNode.java +++ b/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/PositionedNode.java @@ -19,10 +19,24 @@ public class PositionedNode { this(null, null); } + @Deprecated public PositionedNode(final PositionedNode node) { this(node.startPos, node.endPos); } + /** + * Copies the {@link SourcePosition}s from the given node to this node. + * This is an internal helper method for use in {@link Object#clone()} implementations. + * + * @param node the node from which to copy the source positions + */ + protected final void initSourcePositionsFrom(PositionedNode node) { + // Intentionally do not use the accessors (getStartPos, getEndPos) here + // so that cloning a Token does not trigger lazy creation of SourcePosition objects. + this.startPos = node.startPos; + this.endPos = node.endPos; + } + public SourcePosition getStartPos() { return startPos; } diff --git a/secring.gpg.enc b/secring.gpg.enc index 048652a825198ed70f778f2b82600b83be9d5d3e..087d41d8e55ca33bbdbacc52334567604dfe3398 100644 --- a/secring.gpg.enc +++ b/secring.gpg.enc @@ -1,55 +1,55 @@ -U2FsdGVkX1+qD9zNt5PsTWUNPv0+h3MZr3LMQniTSXNJ70iaxTv8TOQ2EFQM42X0 -IKPutnofk+e17tRWJch3XTzTI95sU7s8NgtrorS9cNJQMMpZrMSNGt6jHbLGC6jL -F4AWjk3fNg4s0OVPvVD4ZXbdLm1BJaNuz094kRGNNTYPrFapxkPr6WVDjnZsh3bh -S5xhQ84hSAyfXKShs8HidN6Mf6XZvRgVsXg87SeCNQlTtyU+k8o5/COXZ35XhNjY -NUEOSaSaBbhC16fNC8rWYTqcOsrypiikuZAT+qo2ZfMw3/SYUyc9q9qPfQvITJqb -YtfQsdfQEarI0skRBZLuNs8OOWMh473YaMqicaNfOUTtPm3NPElZNAIVyM6wp3lh -36Ovib377R0IAvsSg5ktSHWbkPOY1MqDusHRHW5s5jjrjAtKyi3iWjQ4L4Mf67lj -ZJ9b2YQpdqQQOpZg8nRghk/Dqw2XGWc/84LgnaTCdSTsYSyZbDkYvLbyNzoNbcx1 -i2BOUqDaA9N3lGdgSqrHLjVdH3LegpCaEBsi3I8ZdDVfZMHckujYI7+/rDqzDxQ2 -btbHt9LKcciOpWZvrD83R5Uq4WewWrkx6vKUYwQAklKu4SkKUz/Q+P4esWWfgMcy -XXhhzMhvhx9Hsham5AznWU5oXDhCxdrdpXtI56Jepa444M9e7JaoszaQ5V0rHFhA -F2Ko7vDlk1LRjJ1f27T3Uaj26jspyCiaAi7kVBTriCVGp7yEoAJ5EBeOOPKSzzOa -pxyzYuKQlf+nQoo5t8TPpgLIPJbip70n0HNkKDc2cj8102ZeKgGWkpnNawrtgkjs -b5DK3f+SjuZCWGnXZ2pcM01NIAXOCnw7hCH06z5hXmzK/jDDbckWL/F7sVtO4n7Z -yICynW0m2EkzMpU4yPC5f5h9iNpNgV1xirjZ5F2QbiguvtAZOo0YSGtE6lO/22uI -jgXW5uMzkh3doBatbEsJYh8dGzrCqq1leC8b+MBOM8Xby4wkCgSSCOzclF9AIRe6 -axHGfFtO/wOv0Z/6CeuREvw38MIjozVIZomjddEj9KLW1/30ljksvhDnv2pS0vVm -nAvYiXvtuvMwDzmFEpsAqinyFbzS3lCMzlqRoATFbjUGAh29Xz9PHsLHb0B9KjRD -1/rz3BVhzNaYEvCMX8J0M5mzjAzTaB8eWkQnZ+wLfmUJlvt6XFxDuLbcNGmCZ2th -8NNfvly6Awbkln2R3wism0oIDUnO8KrUJmVtCcbOIiEkrsOEq62oF3Ndof5jKHUx -2KcjuzSrKiXoYoVH4uTh2HiKHVB71yZ8Fpwrbda16AMrmpA35urKeEmAjTsmT0iT -Plxnd4cPfqSxAesGOpz5jhRjPc/3FqIYvewf1eINUHteduDwLqeA0SqBcDgW6YIO -LRPQhJdsDnpmV5NKXbSHChRAsk+4CrCS68WNJ/RrY1NhuFktjHQ+mHyg886YMnmg -bYRd9CKmlYDBVsgpFJFT7wDMoCWZ132flqegu8ojsdjXD/2i18kcyZgFx/YFimz9 -u2NRVOJnU0ec5tTk0HNi3q5wG/pgIWj8et2HDSDBr2dhBc5s+s9EhL3JXDr3SoEp -bW41GA+G7l+FPKakOgDgiw2VBi5MmIPMwDRzhi/VD3mrI8SfKFDQxq1Ro91dy0sO -cQ4Ku1esMojqNJO+sPUOm0LYj3BgL+bUQdc4Vj4gvo/uDEk7SrPloDaMPjzbQsQ4 -wJ+NRuF82NvagdA25vEMxLD3O3aD7wsQA/Fsbh04GLwbGkH+Kl9QGmMVMHJU2Dn/ -1owCuIvNRYZU587HQXDitM5Be7+EixE/90PLuAioe8iNDiCHUPwiYMHge5ZNZlbk -agN4KjmkEpCh0XwOLvD9F5PDji8dAp6AOmZhQK+y0XTGGQCWD2k6tBFD94Ux4wOi -J18zIEDeRJWZA/WiyqEihVIRNcq7NZQRfv3PsSbU8wFbVg379yJftfIdXj8fJFcI -7gKK7gYv2A6K9kS6pNSN8kSWBsukiz0/njiPZH1wjyeSrONueacJ9guk9hzTeN68 -iD00zcdtukC6ZtxXRB9XOAbXTGhbyWrdb5ATCmJLFG8riUTJVo5DIyHzCg4rCRef -2yq5Pe1MVsV8960AnkE1iyin2lMebzJJL8ridlHmzhaNIRSSGxstv1tnaZL1xVWV -c2pLWkch6uEzdyC5Zyd5Xi56zyxUxxCYPEPA9lortKgW7KdYULUvTBHfRoGAUqjZ -6yHl37DF1MWFHmV4Dk1yHNP7uVazF+7c1hJTvqop/ytFkgIEhLq8SHWBEHG/sGVi -R11UfpoVHdkT3KJm6Y/tml9SLxES65ENzLGPTKVUAaHKImADXrMI9slU+lUMHDr8 -MwKx3+4xSgUUYWL2+YfayURNK6LIUskmsOlGy212z1B/pJc8DvrH9rqj6NtBaQlZ -lR6A9eiG3i88N2PvibxMuHW+ye0zlbiktqArWQAhNgt9mM05BQSb2Ce55cl8yLCD -+3eSAIFUKQhn4aHNaEutGD7q02bjX1pcUymM9NV2WxHtG5dQPa8eWRXKwJca3V6w -WKC/ve1HXsCunjW5mc2FvtsqqKUANzRjTV2fkbQlMdVfdThy+MIxJs0P8XMbyxT7 -tjwt4tuq42ZAQkj8dLL2j1z+/otzH3LtfYjl3CjDjWPlfVFJn+1lISQDBdzWPYe/ -xnhNn2Gsx0jWv1vX0dbxD8gyXP68yS3KLPTBb6DoTbjW+0LraTLlHSw2rNJ/zTsM -5hcf7PnuEr3c34bVjP2XLjrZ6qT0+TEXJ8vR6ptuUL/GFREG8ByfBG4SFphR1Nkr -iuySq+4awgKwmXrfiVdBQPrn+UWfH/UQh6Jt2J0xvRwcs7/COO5LcWqjD4bSCw9a -CfSkivrrEDmeE4aruA1eOeauVbRcqwtMuzCV7Gq282LKambmnKiWvrk9wJnF2IaQ -wV8rjmBM08sf+93/P+TbYhY4e/z27+ml844HwoNsivuvmo70z8nYNnFXKKOewZby -Vw0I3JX/2vkHllMFtLcJqnQLD8zJR2SclkUnWv4S519qR0sg9kzFvggTvB740KDu -Ohu1wIeHkTv9ZnCfu/7gK3lxNobyV2+2UhgBB4/njI/9mb4BnOJkaTG7HvJA+Pks -BpSL7jOrmTixSLzt6rsLeYpp8J+A2+uKL5Q1t97My/yhIKjC67LuWVfKovB+5/Bk -/C/FuDqeKDeLOl/lBs1ntQM4TDtb8uVNSmKKdlj4h+dp7J5ZIzHuKDRRw7HcWIPw -3ThPVLFQUoDUsnRxTkenqWA4yUov0UPwpwOBswZQFqFwoX9BQ8hqk13c9P2AhVMZ -2wR5J5cbH3sum2Np/cZUOXuqvcoQGQNyKb1t8PXsvGc3LaMraxRNUcIVJJzUr/eC -oja8ldCr68ZwD/M+CZgQNGr1/5+78tzKdD5432/pZ6W5ZOM36xzyI71b/tZkB4S6 -ATF+WE2brPM5g2Wr4T+xKA== +U2FsdGVkX1/uZ2q881m1pVQtzJ0DILJqtO2ZEJOotiBebJg4SmSM4TkLeSgTDFoD +m3fsZdrdbTrOqpNjdCySadS2IwibzJjG8cRFxnetJNUdfpWGFb67kKx/Han4QaIY +d9bvEAkg02nL3suJTa4WKVl70gjiXSheOXgWHi+L3mEGzJewORIIYBv1BE60zxjB +72SvpfrboYxFBCahZJ/GAiNvw4aqD0Wj9G5CJlM6xY0gGTn3dXuWkUC+sciQp9UI +rRSF+r/RMRvbUAPZY3F2S07wMSzIBct9INyhc9kQptRwhuy9BAAdfxVaMxEK3a2P +cM7mHacEmE242/4a28unvcDnsuyV3NW74pt7f2v+LFlPvM8Cw9tpeKtFCRXfREJR +g32dDJBo+4zSa3qLx7n4gsUFaKTDJWPtAPe0pkMLa7GrdoEVIkaIl4m1ET8+M6t4 +sKrBKP7neVnjjkSPRroxpiSQ7MLECeyj3MNUB/r/hsLg1ZLc8n90b1vPKqd4DIpJ +PtiIcamt6K8gvAIOwUZQqdpJNNTqCLV9DnKyj5I/U8RpHAXsBe5eawX2WDxA/Ywf +INzBibO9yUpg25OtlsHRqdcyHNmDRMAVUOWtzqa+5lGWIF3h0qWOY8BEqHf7TkjO +O/2qPBqLSmpRcOdgUg9G/5Snpb1xo4NXEZ2kj8GC+Rf61stI38QVScLTsPSR+QKK +9VgCSg1cQTmhQnwZLQw5pB7SdsFPtwwq62YM5E2xzZwr9f9eJVXTfIQlwjM+t7cH +nFbyC+3ywLnvlec/NEeA4DOH5QfJ2vRUQmcXuzmuBi0vGSriVd3U4CKiRKsq7umo +nFpo6y8i7qr4Vj3oIgRIj3yyzYEnaSyJXRJ2mhp3e4fqrMMD7MFrAZ4syKgAJ1Xh +qFbfovebhPbA4NtLrehmZ0r9F1ovowo1X8fwqpoqaKO1LVYQkWC1N/Tkg0ASUlTh +pF0O94r7sMv6pD7vvBvwsfZWxt6qWHVD4H6JU4ySwWHOFiFs7YWPbQIcqaw1Y9R+ +sZncQ7Aul/8HGhYhQvklsrK2Yt5nKAQCibST8UinICyAbEWnHnRLaLleB45BiAUy +injdzUjwy2PO7sOnUa7Nf37QuxZGMIMqETapc5ONIz+CAqGjfOC1BGSB6vZmUCNn +W3kpFHbznGTe0zAoPYFhsfnwOWc/m2xUJRRwovVYGQc+PLGEUsMa9JhxwEyb6EUg +bXMsyfk2RBZYEV7bWqML2Nyv71nBuMDjCkAju3gUCaWeG4OVjLTjvvTTNsKWqzKt +vevEgTteynQrUi+CvsqY1fcwyZcmqTBIen+pUYz8mK+JXfL5ppafvuRGZBWMtJW0 +Q+3x7HLGtbNO6MNoaK+dPfp5ekQ7eztRFEwTPRTuvqnVBGmgot4HkkxB3noASlCb +xEXEjSYmQJA8Y+B0OGG8CNyKnS/ZeHgqA0K9+xPLuWmJBSEGAgpe6knBdE2+5Qqp +/OgfTKnrCjaVZPeWUG+EwbnUriUKJfTM0SIixJwla9ml+8pzTU1qkRLgD1aychM7 +91mxducI9ZsbGAa9aH4SZWU8PC3EPoMOxqN88kZNcfb7AjWMLOdCcgHUm+zRZ/46 +zJaS3MAXDdxLmTweT/seL/7VhKvfMSo+qKX1ALSneXpYtAT/XjrIOidhCr9et9eu +SzPdQt24lwcyuGQPIBDYt9NuMBqjFmOE6X3O3CMr4G5d0YmDJuWDZvvCEtGrQjc1 +2fREnWTzgkIvOxlYlrR0cczUpzRiAgCfU3ujHRXV+Fqch3RpxmwWz4FGsoJfJ9+a +LNRGtMn+X9Tt/Vx9J1RlPwHJ6U3gS853MXGLXzXFKobqZL3XrMhT00kN0sONCxvc +L17s62zThzeENKZPQxSuA2GVeR3ucip4AhPgFsCCB3m/aIPNZ45/PpRMIFVbijIz +u3XTxv6DN2tp7rDyerRvhfNkVxdu0G8AZ18immyT2wkxnuM4SZODBFK32C6iY2Sx +LU5GgTCSvy/ze5/DRXFhG6mcC9iUWALpfYvCGGwpwdK0MM/Xqd4t7X/kVhcEGljF +UPN09Ja6OqYO47yZUdTUp4L+0FkHnl3wqQaL23e92mb+LpqBYUsdH9PBMAHZ6YA6 +OlDNP9n0xwoPHSz4od/6lNA93AmpVOfcrJ2N9J4GMPX44AATDLbr3Hwd8lSxvVD8 +oITXp1lZcLzpDo8AHEF/t/MkahaIxTeyjX6jAy2HB5IIXFn5IopAO5gNLS1jmT0I +4d+9u1JxArjQRCjV0c5103SLzVFrYbTVMT7iegCAXjQ0CR3RjGQNna0KMA7Yteoy +gTb7lNDrBjfVk3LkqsBH7bpCQik9lqmcWhYP+ry7wbAK99v/FtzhHqBjyQYHmEBC +Zepft6grJ1JiNOwhTs0/uLQNamuMD1qNGZfta/7CQYzLARvy78DXXyfiM0vc9HeI +cdBwm0nmn2mL3xpKZbQFUNJtzTZTUM4K+H+4Ua166Plil4Gmb2p8BM/Ulby27xDM +OvKgofUrWorPny3kPgjlNXpWAaxGPgcrC6/Zx2mwdUBSmsGAe9aGVMk1wIN/KKdz +uvpAYnlQu26JK39BVVO3OR9v7S3kALxGlN9TCxszWfHiq9wR/BHrZzud1XoCuzZA ++YNDLIWIkie5B7WkF6o+7HnO6/G7arl2gmTBK/i5f/vfZsnj077kQz6TPxt+/k6I +RLWVzUvUDtqSlAO9Wnbi0gajRcsjREVrGiS0kh120x4JRJfEdVmDs/MDPK+iM7ov +mEOgGTIa73SxZZnwqG9j6uggY6M9m/ZO0uPNTEt+jsbQ0NZ9prpI+2/6A8QAX6RE +ug7x+98jjXf7vboTEJLTHJxbuBxJLhJjOqY1Nq0I7GahpPGZMo9yo4Ty78bF4E57 +OpT/Q0/wTVSyK9fHPQrRr5zFjvwHmCCs2wWpc76Mv2OThmzVudgyJAoUPENxLSrA +RylkDiihi4PacfjaClbKJJ7K7cgU7KqJQgwS9AM4H8sRqQsZZX/f5UMAVXPRj6u0 +qnoH9gxIYAzvm6ceVklagTk09IWCiWqY0NGELL6+plxzjkJuXX2LstfXiHY7g29P +FLnneZ0kNWog2ynKUVBFkdEVdS6K0aQ0xqUFXAwbNvrcpiJeY9RufQcBUlZm/fPb +m26i9V+sL3CcHRbX4qa/QRsQ7DdjdSpOJAt0GQUco3AGfW6Z1koIjSswr0IA41no +1A35JdElJm+lt0pHA9QWBTewNfJkXPR/GHvqUdc1sTDDXa2binNHFWhb+ydX2aQ6 +z8ceydjxEt6I3mdK89GZsc/839ctCkeevrjLIC+wAxOviGNJanfyt25BirCgntpi +sLyqYz1nesHZeheyKQBw6y5oYI0EAtVX1ifwSvYgAjbFb1rUmeZl+NWgU14eskyT ++0SdoUgo7WNuJelmyRRoIwTgaV5p3boreRWmdA0oiIKowo6dFE+PzU/cy0dBZtL+ +xkXQZ8J6POdTEt4A9Vw6BQ== diff --git a/src/main/java/org/sablecc/sablecc/ConstructParserGenerationDatas.java b/src/main/java/org/sablecc/sablecc/ConstructParserGenerationDatas.java index 41e525d22071ce5ba261c752203979f98be107a7..7741f2c0122ccc66f3b42135fabf8161e941ebf9 100644 --- a/src/main/java/org/sablecc/sablecc/ConstructParserGenerationDatas.java +++ b/src/main/java/org/sablecc/sablecc/ConstructParserGenerationDatas.java @@ -19,9 +19,9 @@ public class ConstructParserGenerationDatas extends DepthFirstAdapter private boolean processingAst; private String currentProd; - private Map<String, Node> alts; + private Map<String, AAlt> alts; - public ConstructParserGenerationDatas(ResolveIds ids, Map<String, Node> alts) + public ConstructParserGenerationDatas(ResolveIds ids, Map<String, AAlt> alts) { this.ids = ids; this.alts = alts; diff --git a/src/main/java/org/sablecc/sablecc/GenParser.java b/src/main/java/org/sablecc/sablecc/GenParser.java index 98bcc81d5b59ba2fbad6f9f45743472fa86fe8f6..ba7d077181ec9039f1ddfc380ec69c6d5c099398 100644 --- a/src/main/java/org/sablecc/sablecc/GenParser.java +++ b/src/main/java/org/sablecc/sablecc/GenParser.java @@ -81,7 +81,7 @@ public class GenParser extends DepthFirstAdapter //Those transformations was specified by the grammar-writer. private final Map<String, List<PElem>> mapProductionTransformations = new HashMap<>(); - private Map<String, Node> alts; + private Map<String, AAlt> alts; public GenParser(ResolveIds ids, ResolveAltIds altIds, ResolveTransformIds transformIds, String firstProductionName, boolean processInlining, boolean prettyPrinting) @@ -382,7 +382,7 @@ public class GenParser extends DepthFirstAdapter "" + productions[i].index, productions[i].name}); - final Node node = alts.get(productions[i].name); + final AAlt node = alts.get(productions[i].name); final BufferedWriter finalFile = file; final Deque<Element> stack = new LinkedList<>(); @@ -414,7 +414,8 @@ public class GenParser extends DepthFirstAdapter file, transformIds, CG, CTP, simpleTermTransform, macros, listSimpleTermTransform, - transformIds.simpleTermOrsimpleListTermTypes); + transformIds.simpleTermOrsimpleListTermTypes, + stack.size()); node.apply(aParsedAltAdapter); } diff --git a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java index a061b73b7e4dacc4bff771f23ebc8db88c677fc2..393b2b2ebaa9fa423a71d3c298ea02ced90e807a 100644 --- a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java +++ b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java @@ -30,7 +30,6 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter private Map<Node, String> simpleTermTransformMap; private List<Node> listSimpleTermTransform; private Map<Node, String> simpleTermOrsimpleListTermTypes; - private int popCount; GenerateAlternativeCodeForParser(File pkgDir, String aParsedAltName, @@ -42,7 +41,8 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter Map<Node, String> simpleTermTransformMap, MacroExpander macros, List<Node> listSimpleTermTransform, - Map<Node, String> simpleTermOrsimpleListTermTypes) + Map<Node, String> simpleTermOrsimpleListTermTypes, + int popCount) { this.pkgDir = pkgDir; this.file = file; @@ -55,13 +55,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter this.macros = macros; this.listSimpleTermTransform = listSimpleTermTransform; this.simpleTermOrsimpleListTermTypes = simpleTermOrsimpleListTermTypes; - - this.popCount = 0; - } - - @Override - public void caseAElem(final AElem node) { - popCount++; + this.popCount = popCount; } private String lookupInternalTypeName(Node term) { @@ -92,7 +86,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter } else { - return typeName.toLowerCase() + "Node" + position; + return typeName.substring(0, 1).toLowerCase() + typeName.substring(1) + "Node" + position; } } @@ -134,27 +128,18 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter { macros.apply(file, "ParserNewTailEmpty", null); } + else if(node.getTerms().size() == 1) + { + macros.apply(file, "ParserNewTailSingle", new String[] {getVariableName(node.getTerms().get(0))}); + } else { - PTerm firstTerm = node.getTerms().get(0); - if (popCount > 0) { - // The nodeArrayList variables are numbered starting at 1, so the first popped variable has the number popCount and not popCount-1. - macros.apply(file, "ParserNewCheck", new String[] {getVariableName(firstTerm), String.valueOf(popCount)}); - } - - if(node.getTerms().size() == 1) + macros.apply(file, "ParserNewTailMultiHead"); + for(PTerm term : node.getTerms()) { - macros.apply(file, "ParserNewTailSingle", new String[] {getVariableName(firstTerm)}); - } - else - { - macros.apply(file, "ParserNewTailMultiHead"); - for(PTerm term : node.getTerms()) - { - macros.apply(file, "ParserNewTailMultiElement", new String[] {getVariableName(term)}); - } - macros.apply(file, "ParserNewTailMultiTail"); + macros.apply(file, "ParserNewTailMultiElement", new String[] {getVariableName(term)}); } + macros.apply(file, "ParserNewTailMultiTail"); } } catch(IOException e) @@ -344,12 +329,14 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter try { + file.newLine(); for(PTerm param : params) { param.apply(this); } - macros.apply(file, "ParserNewBodyNew", new String[] {newAltName, getVariableName(node)}); + String destVariableName = getVariableName(node); + macros.apply(file, "ParserNewBodyNew", new String[] {newAltName, destVariableName}); if(!params.isEmpty()) { @@ -363,6 +350,11 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter } } macros.apply(file, "ParserNewBodyNewTail"); + if (popCount > 0) { + // The popped variables are numbered starting at 1, so the first popped variable has the number popCount and not popCount-1. + macros.apply(file, "ParserNewComputePositions", new String[] {destVariableName, String.valueOf(popCount)}); + } + file.newLine(); } catch(IOException e) { diff --git a/src/main/java/org/sablecc/sablecc/ResolveAstIds.java b/src/main/java/org/sablecc/sablecc/ResolveAstIds.java index cc98cbf1ee301440d8eb02a2bd0eb8a6ae544ee4..e0a2b1a7c4cd4285c0776633b98667e6210141af 100644 --- a/src/main/java/org/sablecc/sablecc/ResolveAstIds.java +++ b/src/main/java/org/sablecc/sablecc/ResolveAstIds.java @@ -231,7 +231,7 @@ public class ResolveAstIds extends DepthFirstAdapter else { ATokenDef token = astIds.tokens.get("T" + name); - Node ignToken = astIds.ignTokens.get("T" + name); + TId ignToken = astIds.ignTokens.get("T" + name); //Object production = astIds.prods.get("P" + name); AAstProd ast_production = ast_prods.get("P" + name); //if() diff --git a/src/main/java/org/sablecc/sablecc/ResolveIds.java b/src/main/java/org/sablecc/sablecc/ResolveIds.java index 6b6c4d0e85518b6efe784971fd514612b8f221ed..c302718455edce33b1bc2658d7ca91be6501d207 100644 --- a/src/main/java/org/sablecc/sablecc/ResolveIds.java +++ b/src/main/java/org/sablecc/sablecc/ResolveIds.java @@ -20,9 +20,9 @@ import org.sablecc.sablecc.node.*; public class ResolveIds extends DepthFirstAdapter { public final Map<String, AHelperDef> helpers = new TreeMap<>(); - public final Map<String, Node> states = new TreeMap<>(); + public final Map<String, TId> states = new TreeMap<>(); public final Map<String, ATokenDef> tokens = new TreeMap<>(); - public final Map<String, Node> ignTokens = new TreeMap<>(); + public final Map<String, TId> ignTokens = new TreeMap<>(); public final Map<String, AProd> prods = new TreeMap<>(); public final Map<String, AAlt> alts = new HashMap<>(); @@ -31,8 +31,8 @@ public class ResolveIds extends DepthFirstAdapter public final Map<Node, String> names = new HashMap<>(); - public final Map<Node, String> errorNames = new HashMap<>(); - public final Map<Node, String> elemTypes = new HashMap<>(); + public final Map<ATokenDef, String> errorNames = new HashMap<>(); + public final Map<AElem, String> elemTypes = new HashMap<>(); public final Map<String, String> altsElemNameTypes = new HashMap<>(); diff --git a/src/main/java/org/sablecc/sablecc/Transitions.java b/src/main/java/org/sablecc/sablecc/Transitions.java index e612a83ae812a23fe697aa56889422b76ae02e8f..56fd8c0eac540dccf05b30aaf115b5bc90daa07a 100644 --- a/src/main/java/org/sablecc/sablecc/Transitions.java +++ b/src/main/java/org/sablecc/sablecc/Transitions.java @@ -73,13 +73,17 @@ public class Transitions extends DepthFirstAdapter @Override public void outAStateList(AStateList node) { - map.put(state, transition); + if (!state.equals(transition)) { + map.put(state, transition); + } } @Override public void outAStateListTail(AStateListTail node) { - map.put(state, transition); + if (!state.equals(transition)) { + map.put(state, transition); + } } @Override diff --git a/src/main/java/org/sablecc/sablecc/lexer/Lexer.java b/src/main/java/org/sablecc/sablecc/lexer/Lexer.java index 43c6fda5dfab8fdd431b3ac2a5e0675e8e774f16..c38142abd0ab59a90dc6849b637833b758bb01b7 100644 --- a/src/main/java/org/sablecc/sablecc/lexer/Lexer.java +++ b/src/main/java/org/sablecc/sablecc/lexer/Lexer.java @@ -61,15 +61,14 @@ public class Lexer int startPos = this.pos; int startLine = this.line; - int acceptState = -1; int acceptToken = -1; int acceptLength = -1; int acceptPos = -1; int acceptLine = -1; boolean acceptCr = false; - int[][][] gotoTable = Lexer.gotoTable[this.state.ordinal()]; - int[] accept = Lexer.accept[this.state.ordinal()]; + int[][][] gotoTableSub = Lexer.gotoTable[this.state.ordinal()]; + int[] acceptSub = Lexer.accept[this.state.ordinal()]; this.text.setLength(0); while(true) @@ -126,7 +125,7 @@ public class Lexer dfaState = -1; - int[][] tmp1 = gotoTable[oldState]; + int[][] tmp1 = gotoTableSub[oldState]; int low = 0; int high = tmp1.length - 1; @@ -160,10 +159,9 @@ public class Lexer if(dfaState >= 0) { - if(accept[dfaState] != -1) + if(acceptSub[dfaState] != -1) { - acceptState = dfaState; - acceptToken = accept[dfaState]; + acceptToken = acceptSub[dfaState]; acceptLength = this.text.length(); acceptPos = this.pos; acceptLine = this.line; @@ -172,395 +170,193 @@ public class Lexer } else { - if(acceptState != -1) + Token tok; + switch(acceptToken) { - switch(acceptToken) - { - case 0: - { - Token token = new TPkgId(getText(acceptLength), startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - switch(state.ordinal()) - { - case 1: state = State.PACKAGE; break; - } - return token; - } - case 1: - { - Token token = new TPackage(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - switch(state.ordinal()) - { - case 0: state = State.PACKAGE; break; - } - return token; - } - case 2: - { - Token token = new TStates(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 3: - { - Token token = new THelpers(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 4: - { - Token token = new TTokens(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 5: - { - Token token = new TIgnored(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 6: - { - Token token = new TProductions(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 7: - { - Token token = new TAbstract(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 8: - { - Token token = new TSyntax(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 9: - { - Token token = new TTree(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 10: - { - Token token = new TNew(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 11: - { - Token token = new TNull(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 12: - { - Token token = new TTokenSpecifier(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 13: - { - Token token = new TProductionSpecifier(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 14: - { - Token token = new TDot(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 15: - { - Token token = new TDDot(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 16: - { - Token token = new TSemicolon(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - switch(state.ordinal()) - { - case 0: state = State.NORMAL; break; - case 1: state = State.NORMAL; break; - } - return token; - } - case 17: - { - Token token = new TEqual(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 18: - { - Token token = new TLBkt(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 19: - { - Token token = new TRBkt(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 20: + case -1: + if(this.text.length() > 0) { - Token token = new TLPar(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; + throw new LexerException("[" + (startLine + 1) + "," + (startPos + 1) + "] Unknown token: " + this.text); } - case 21: - { - Token token = new TRPar(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 22: - { - Token token = new TLBrace(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 23: - { - Token token = new TRBrace(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 24: - { - Token token = new TPlus(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 25: - { - Token token = new TMinus(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 26: - { - Token token = new TQMark(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 27: - { - Token token = new TStar(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 28: - { - Token token = new TBar(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 29: - { - Token token = new TComma(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 30: - { - Token token = new TSlash(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 31: - { - Token token = new TArrow(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 32: - { - Token token = new TColon(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 33: - { - Token token = new TId(getText(acceptLength), startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 34: - { - Token token = new TChar(getText(acceptLength), startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 35: - { - Token token = new TDecChar(getText(acceptLength), startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 36: - { - Token token = new THexChar(getText(acceptLength), startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 37: - { - Token token = new TString(getText(acceptLength), startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; - } - case 38: + + return new EOF(startLine + 1, startPos + 1); + + case 0: + tok = new TPkgId(getText(acceptLength), startLine + 1, startPos + 1); + break; + + case 1: + tok = new TPackage(startLine + 1, startPos + 1); + switch(state.ordinal()) { - Token token = new TBlank(getText(acceptLength), startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; + case 0: state = State.PACKAGE; break; } - case 39: + break; + + case 2: + tok = new TStates(startLine + 1, startPos + 1); + break; + + case 3: + tok = new THelpers(startLine + 1, startPos + 1); + break; + + case 4: + tok = new TTokens(startLine + 1, startPos + 1); + break; + + case 5: + tok = new TIgnored(startLine + 1, startPos + 1); + break; + + case 6: + tok = new TProductions(startLine + 1, startPos + 1); + break; + + case 7: + tok = new TAbstract(startLine + 1, startPos + 1); + break; + + case 8: + tok = new TSyntax(startLine + 1, startPos + 1); + break; + + case 9: + tok = new TTree(startLine + 1, startPos + 1); + break; + + case 10: + tok = new TNew(startLine + 1, startPos + 1); + break; + + case 11: + tok = new TNull(startLine + 1, startPos + 1); + break; + + case 12: + tok = new TTokenSpecifier(startLine + 1, startPos + 1); + break; + + case 13: + tok = new TProductionSpecifier(startLine + 1, startPos + 1); + break; + + case 14: + tok = new TDot(startLine + 1, startPos + 1); + break; + + case 15: + tok = new TDDot(startLine + 1, startPos + 1); + break; + + case 16: + tok = new TSemicolon(startLine + 1, startPos + 1); + switch(state.ordinal()) { - Token token = new TComment(getText(acceptLength), startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; - return token; + case 1: state = State.NORMAL; break; } - } - } - else - { - if(this.text.length() > 0) - { - throw new LexerException("[" + (startLine + 1) + "," + (startPos + 1) + "] Unknown token: " + this.text); - } + break; + + case 17: + tok = new TEqual(startLine + 1, startPos + 1); + break; - EOF token = new EOF(startLine + 1, startPos + 1); - return token; + case 18: + tok = new TLBkt(startLine + 1, startPos + 1); + break; + + case 19: + tok = new TRBkt(startLine + 1, startPos + 1); + break; + + case 20: + tok = new TLPar(startLine + 1, startPos + 1); + break; + + case 21: + tok = new TRPar(startLine + 1, startPos + 1); + break; + + case 22: + tok = new TLBrace(startLine + 1, startPos + 1); + break; + + case 23: + tok = new TRBrace(startLine + 1, startPos + 1); + break; + + case 24: + tok = new TPlus(startLine + 1, startPos + 1); + break; + + case 25: + tok = new TMinus(startLine + 1, startPos + 1); + break; + + case 26: + tok = new TQMark(startLine + 1, startPos + 1); + break; + + case 27: + tok = new TStar(startLine + 1, startPos + 1); + break; + + case 28: + tok = new TBar(startLine + 1, startPos + 1); + break; + + case 29: + tok = new TComma(startLine + 1, startPos + 1); + break; + + case 30: + tok = new TSlash(startLine + 1, startPos + 1); + break; + + case 31: + tok = new TArrow(startLine + 1, startPos + 1); + break; + + case 32: + tok = new TColon(startLine + 1, startPos + 1); + break; + + case 33: + tok = new TId(getText(acceptLength), startLine + 1, startPos + 1); + break; + + case 34: + tok = new TChar(getText(acceptLength), startLine + 1, startPos + 1); + break; + + case 35: + tok = new TDecChar(getText(acceptLength), startLine + 1, startPos + 1); + break; + + case 36: + tok = new THexChar(getText(acceptLength), startLine + 1, startPos + 1); + break; + + case 37: + tok = new TString(getText(acceptLength), startLine + 1, startPos + 1); + break; + + case 38: + tok = new TBlank(getText(acceptLength), startLine + 1, startPos + 1); + break; + + case 39: + tok = new TComment(getText(acceptLength), startLine + 1, startPos + 1); + break; + + default: + throw new LexerException("[" + (startLine + 1) + "," + (startPos + 1) + "] Internal lexer error: invalid accept table entry " + acceptToken + ", current text: " + this.text); } + pushBack(acceptLength); + this.pos = acceptPos; + this.line = acceptLine; + this.cr = acceptCr; + return tok; } } } @@ -594,25 +390,36 @@ public class Lexer } /** - * @deprecated This method doesn't restore line/column info correctly in some cases - * (if a token begins in the middle of a CRLF newline pair). - * There is no planned replacement. + * <p> + * Push the given token's text back onto the input. + * Note that the lexer state is <i>not</i> restored, + * so a following {@link #next()}/{@link #peek()} call may result in a different token. + * </p> + * <p> + * <b>Note:</b> + * If the token text contains newlines, + * the caller must ensure that CR+LF pairs are unread in their entirety. + * If only one half of a CR+LF pair is unread, + * the line numbers will be incorrect when it is lexed again. + * </p> + * + * @param tok the token to push back onto the input + * @throws IOException when thrown by {@link PushbackReader#unread(int)} */ - @Deprecated - protected void unread(Token token) throws IOException + protected void unread(Token tok) throws IOException { - String text = token.getText(); - int length = text.length(); + String tokenText = tok.getText(); + int length = tokenText.length(); for(int i = length - 1; i >= 0; i--) { this.eof = false; - this.in.unread(text.charAt(i)); + this.in.unread(tokenText.charAt(i)); } - this.pos = token.getPos() - 1; - this.line = token.getLine() - 1; + this.pos = tok.getPos() - 1; + this.line = tok.getLine() - 1; } private String getText(int acceptLength) @@ -620,7 +427,7 @@ public class Lexer return this.text.substring(0, acceptLength); } - private static int[][][][] gotoTable; + private static final int[][][][] gotoTable; /* { { // NORMAL {{9, 9, 1}, {10, 10, 2}, {13, 13, 3}, {32, 32, 4}, {39, 39, 5}, {40, 40, 6}, {41, 41, 7}, {42, 42, 8}, {43, 43, 9}, {44, 44, 10}, {45, 45, 11}, {46, 46, 12}, {47, 47, 13}, {48, 48, 14}, {49, 57, 15}, {58, 58, 16}, {59, 59, 17}, {61, 61, 18}, {63, 63, 19}, {65, 65, 20}, {72, 72, 21}, {73, 73, 22}, {78, 78, 23}, {80, 80, 24}, {83, 83, 25}, {84, 84, 26}, {91, 91, 27}, {93, 93, 28}, {97, 122, 29}, {123, 123, 30}, {124, 124, 31}, {125, 125, 32}, }, @@ -872,7 +679,7 @@ public class Lexer } };*/ - private static int[][] accept; + private static final int[][] accept; /* { // NORMAL {-1, 38, 38, 38, 38, -1, 20, 21, 27, 24, 29, 25, 14, 30, 35, 35, 32, 16, 17, 26, -1, -1, -1, -1, 13, -1, 12, 18, 19, 33, 22, 28, 23, 38, -1, -1, 31, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, -1, 33, -1, 34, 34, -1, -1, -1, 39, 39, 36, -1, -1, -1, 10, -1, -1, -1, -1, -1, -1, -1, 33, 37, -1, 39, 39, -1, -1, -1, 11, -1, -1, -1, -1, -1, 9, 33, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 8, 4, -1, 3, 5, 1, -1, 7, -1, -1, -1, 6, }, @@ -905,17 +712,17 @@ public class Lexer DataInputStream s = new DataInputStream(new BufferedInputStream(resStream)); // read gotoTable - int length = s.readInt(); - gotoTable = new int[length][][][]; - for(int i = 0; i < gotoTable.length; i++) + int gotoTableLength1 = s.readInt(); + gotoTable = new int[gotoTableLength1][][][]; + for(int i = 0; i < gotoTableLength1; i++) { - length = s.readInt(); - gotoTable[i] = new int[length][][]; - for(int j = 0; j < gotoTable[i].length; j++) + int gotoTableLength2 = s.readInt(); + gotoTable[i] = new int[gotoTableLength2][][]; + for(int j = 0; j < gotoTableLength2; j++) { - length = s.readInt(); - gotoTable[i][j] = new int[length][3]; - for(int k = 0; k < gotoTable[i][j].length; k++) + int gotoTableLength3 = s.readInt(); + gotoTable[i][j] = new int[gotoTableLength3][3]; + for(int k = 0; k < gotoTableLength3; k++) { for(int l = 0; l < 3; l++) { @@ -926,13 +733,13 @@ public class Lexer } // read accept - length = s.readInt(); - accept = new int[length][]; - for(int i = 0; i < accept.length; i++) + int acceptLength1 = s.readInt(); + accept = new int[acceptLength1][]; + for(int i = 0; i < acceptLength1; i++) { - length = s.readInt(); - accept[i] = new int[length]; - for(int j = 0; j < accept[i].length; j++) + int acceptLength2 = s.readInt(); + accept[i] = new int[acceptLength2]; + for(int j = 0; j < acceptLength2; j++) { accept[i][j] = s.readInt(); } diff --git a/src/main/java/org/sablecc/sablecc/node/AAlt.java b/src/main/java/org/sablecc/sablecc/node/AAlt.java index 868516db660840f4961534721cdb6c667a06f292..85c748f4757b8bb019f1d1d2c3b2907eef751504 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/AAlt.java @@ -31,18 +31,15 @@ public final class AAlt extends PAlt } - public AAlt(AAlt node) - { - super(node); - setAltName(cloneNode(node._altName_)); - setElems(cloneList(node._elems_)); - setAltTransform(cloneNode(node._altTransform_)); - } - @Override public AAlt clone() { - return new AAlt(this); + AAlt cloned = new AAlt(); + cloned.setAltName(cloneNode(this._altName_)); + cloned.setElems(cloneList(this._elems_)); + cloned.setAltTransform(cloneNode(this._altTransform_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AAltTransform.java b/src/main/java/org/sablecc/sablecc/node/AAltTransform.java index 7a3711c2763428503b8dfce8a405def437f3d12a..d6e9126e496e6d334c4731bfa72a521958f1b4e5 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAltTransform.java +++ b/src/main/java/org/sablecc/sablecc/node/AAltTransform.java @@ -31,18 +31,15 @@ public final class AAltTransform extends PAltTransform } - public AAltTransform(AAltTransform node) - { - super(node); - setLBrace(cloneNode(node._lBrace_)); - setTerms(cloneList(node._terms_)); - setRBrace(cloneNode(node._rBrace_)); - } - @Override public AAltTransform clone() { - return new AAltTransform(this); + AAltTransform cloned = new AAltTransform(); + cloned.setLBrace(cloneNode(this._lBrace_)); + cloned.setTerms(cloneList(this._terms_)); + cloned.setRBrace(cloneNode(this._rBrace_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AAst.java b/src/main/java/org/sablecc/sablecc/node/AAst.java index a0c94e04769204e21d4711f807a0ee2dec0a3232..b373a774e504f553b589e5d1252694bb55f102a3 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAst.java +++ b/src/main/java/org/sablecc/sablecc/node/AAst.java @@ -23,16 +23,13 @@ public final class AAst extends PAst } - public AAst(AAst node) - { - super(node); - setProds(cloneList(node._prods_)); - } - @Override public AAst clone() { - return new AAst(this); + AAst cloned = new AAst(); + cloned.setProds(cloneList(this._prods_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AAstAlt.java b/src/main/java/org/sablecc/sablecc/node/AAstAlt.java index e08e5cf0de0682419983a2b1d1202cf7e6e621f4..1e7afed33ebc774d24b64ac79890c4a4b989b361 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAstAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/AAstAlt.java @@ -27,17 +27,14 @@ public final class AAstAlt extends PAstAlt } - public AAstAlt(AAstAlt node) - { - super(node); - setAltName(cloneNode(node._altName_)); - setElems(cloneList(node._elems_)); - } - @Override public AAstAlt clone() { - return new AAstAlt(this); + AAstAlt cloned = new AAstAlt(); + cloned.setAltName(cloneNode(this._altName_)); + cloned.setElems(cloneList(this._elems_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AAstProd.java b/src/main/java/org/sablecc/sablecc/node/AAstProd.java index aaa856ecbdbe2f9eddd099795e7fe325e8ab6bb5..5c15b3dc7c8e0bf9c030e07b69a5637c5143def0 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAstProd.java +++ b/src/main/java/org/sablecc/sablecc/node/AAstProd.java @@ -27,17 +27,14 @@ public final class AAstProd extends PAstProd } - public AAstProd(AAstProd node) - { - super(node); - setId(cloneNode(node._id_)); - setAlts(cloneList(node._alts_)); - } - @Override public AAstProd clone() { - return new AAstProd(this); + AAstProd cloned = new AAstProd(); + cloned.setId(cloneNode(this._id_)); + cloned.setAlts(cloneList(this._alts_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ACharBasic.java b/src/main/java/org/sablecc/sablecc/node/ACharBasic.java index 925d9381efda3224f099ffe40c66b535d3286644..30775a7f065a9c0123633b4976f3673c28f5a16a 100644 --- a/src/main/java/org/sablecc/sablecc/node/ACharBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/ACharBasic.java @@ -19,16 +19,13 @@ public final class ACharBasic extends PBasic } - public ACharBasic(ACharBasic node) - { - super(node); - setChar(cloneNode(node._char_)); - } - @Override public ACharBasic clone() { - return new ACharBasic(this); + ACharBasic cloned = new ACharBasic(); + cloned.setChar(cloneNode(this._char_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ACharChar.java b/src/main/java/org/sablecc/sablecc/node/ACharChar.java index 188050b861aa28e9180c78888efb583dd8620c6a..e8c8e61021fb918428bb83d2272cce6171cb65aa 100644 --- a/src/main/java/org/sablecc/sablecc/node/ACharChar.java +++ b/src/main/java/org/sablecc/sablecc/node/ACharChar.java @@ -19,16 +19,13 @@ public final class ACharChar extends PChar } - public ACharChar(ACharChar node) - { - super(node); - setChar(cloneNode(node._char_)); - } - @Override public ACharChar clone() { - return new ACharChar(this); + ACharChar cloned = new ACharChar(); + cloned.setChar(cloneNode(this._char_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AConcat.java b/src/main/java/org/sablecc/sablecc/node/AConcat.java index 1ade31e73081c3137f1b76b7c769fe4231b486df..c83c0f7fa13db2ed89154dfc65527c59dc3c06d8 100644 --- a/src/main/java/org/sablecc/sablecc/node/AConcat.java +++ b/src/main/java/org/sablecc/sablecc/node/AConcat.java @@ -23,16 +23,13 @@ public final class AConcat extends PConcat } - public AConcat(AConcat node) - { - super(node); - setUnExps(cloneList(node._unExps_)); - } - @Override public AConcat clone() { - return new AConcat(this); + AConcat cloned = new AConcat(); + cloned.setUnExps(cloneList(this._unExps_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ADecChar.java b/src/main/java/org/sablecc/sablecc/node/ADecChar.java index e2743bd85b4f1ceefe1ee8fc7bca2c2d9b0e7c20..41091bfc36e955f59e5e17889dac37b22bb367a5 100644 --- a/src/main/java/org/sablecc/sablecc/node/ADecChar.java +++ b/src/main/java/org/sablecc/sablecc/node/ADecChar.java @@ -19,16 +19,13 @@ public final class ADecChar extends PChar } - public ADecChar(ADecChar node) - { - super(node); - setDecChar(cloneNode(node._decChar_)); - } - @Override public ADecChar clone() { - return new ADecChar(this); + ADecChar cloned = new ADecChar(); + cloned.setDecChar(cloneNode(this._decChar_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AElem.java b/src/main/java/org/sablecc/sablecc/node/AElem.java index ef1d47c784b0c8cc31c97a9436b07f4451cf766e..5f9963f2a17f13c679528d12fbdcab5f08006736 100644 --- a/src/main/java/org/sablecc/sablecc/node/AElem.java +++ b/src/main/java/org/sablecc/sablecc/node/AElem.java @@ -31,19 +31,16 @@ public final class AElem extends PElem } - public AElem(AElem node) - { - super(node); - setElemName(cloneNode(node._elemName_)); - setSpecifier(cloneNode(node._specifier_)); - setId(cloneNode(node._id_)); - setUnOp(cloneNode(node._unOp_)); - } - @Override public AElem clone() { - return new AElem(this); + AElem cloned = new AElem(); + cloned.setElemName(cloneNode(this._elemName_)); + cloned.setSpecifier(cloneNode(this._specifier_)); + cloned.setId(cloneNode(this._id_)); + cloned.setUnOp(cloneNode(this._unOp_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AGrammar.java b/src/main/java/org/sablecc/sablecc/node/AGrammar.java index 6a2cd2adaf77c3f47e0aec2b6c1c2518d4d8ca60..07f40c987c091878d667bfff08d87a36b3fae56e 100644 --- a/src/main/java/org/sablecc/sablecc/node/AGrammar.java +++ b/src/main/java/org/sablecc/sablecc/node/AGrammar.java @@ -47,22 +47,19 @@ public final class AGrammar extends PGrammar } - public AGrammar(AGrammar node) - { - super(node); - setPackage(cloneList(node._package_)); - setHelpers(cloneNode(node._helpers_)); - setStates(cloneNode(node._states_)); - setTokens(cloneNode(node._tokens_)); - setIgnTokens(cloneNode(node._ignTokens_)); - setProductions(cloneNode(node._productions_)); - setAst(cloneNode(node._ast_)); - } - @Override public AGrammar clone() { - return new AGrammar(this); + AGrammar cloned = new AGrammar(); + cloned.setPackage(cloneList(this._package_)); + cloned.setHelpers(cloneNode(this._helpers_)); + cloned.setStates(cloneNode(this._states_)); + cloned.setTokens(cloneNode(this._tokens_)); + cloned.setIgnTokens(cloneNode(this._ignTokens_)); + cloned.setProductions(cloneNode(this._productions_)); + cloned.setAst(cloneNode(this._ast_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AHelperDef.java b/src/main/java/org/sablecc/sablecc/node/AHelperDef.java index f19e5c7c146583b3dcd1c9cfe59e7e40f515f1b0..0cea09619ba2523287b7c6d0a331117515d9512d 100644 --- a/src/main/java/org/sablecc/sablecc/node/AHelperDef.java +++ b/src/main/java/org/sablecc/sablecc/node/AHelperDef.java @@ -23,17 +23,14 @@ public final class AHelperDef extends PHelperDef } - public AHelperDef(AHelperDef node) - { - super(node); - setId(cloneNode(node._id_)); - setRegExp(cloneNode(node._regExp_)); - } - @Override public AHelperDef clone() { - return new AHelperDef(this); + AHelperDef cloned = new AHelperDef(); + cloned.setId(cloneNode(this._id_)); + cloned.setRegExp(cloneNode(this._regExp_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AHelpers.java b/src/main/java/org/sablecc/sablecc/node/AHelpers.java index 772d6b8b20974d2082367109c1e41c6cb6b053e8..1cae38c307162b358e0d0a4ddbeb49041eccb636 100644 --- a/src/main/java/org/sablecc/sablecc/node/AHelpers.java +++ b/src/main/java/org/sablecc/sablecc/node/AHelpers.java @@ -23,16 +23,13 @@ public final class AHelpers extends PHelpers } - public AHelpers(AHelpers node) - { - super(node); - setHelperDefs(cloneList(node._helperDefs_)); - } - @Override public AHelpers clone() { - return new AHelpers(this); + AHelpers cloned = new AHelpers(); + cloned.setHelperDefs(cloneList(this._helperDefs_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AHexChar.java b/src/main/java/org/sablecc/sablecc/node/AHexChar.java index bde57e7bac6547a1b218db75d8d0cd8034554bed..9bba9d50dfeaca9c4e6bafcb920998fba27d9e76 100644 --- a/src/main/java/org/sablecc/sablecc/node/AHexChar.java +++ b/src/main/java/org/sablecc/sablecc/node/AHexChar.java @@ -19,16 +19,13 @@ public final class AHexChar extends PChar } - public AHexChar(AHexChar node) - { - super(node); - setHexChar(cloneNode(node._hexChar_)); - } - @Override public AHexChar clone() { - return new AHexChar(this); + AHexChar cloned = new AHexChar(); + cloned.setHexChar(cloneNode(this._hexChar_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AIdBasic.java b/src/main/java/org/sablecc/sablecc/node/AIdBasic.java index 565e3200c6c0635c84a4f9db311fcede0765385a..7c394248f4fe07b2d0ebdb5fa8e6ba31f1f99db5 100644 --- a/src/main/java/org/sablecc/sablecc/node/AIdBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/AIdBasic.java @@ -19,16 +19,13 @@ public final class AIdBasic extends PBasic } - public AIdBasic(AIdBasic node) - { - super(node); - setId(cloneNode(node._id_)); - } - @Override public AIdBasic clone() { - return new AIdBasic(this); + AIdBasic cloned = new AIdBasic(); + cloned.setId(cloneNode(this._id_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java b/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java index 5290ee25abbc2384b93ae9462882821d7e17cd95..cd72f335b7b17e4a8536646dda1be03d9e65dee6 100644 --- a/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java @@ -23,16 +23,13 @@ public final class AIgnTokens extends PIgnTokens } - public AIgnTokens(AIgnTokens node) - { - super(node); - setListId(cloneList(node._listId_)); - } - @Override public AIgnTokens clone() { - return new AIgnTokens(this); + AIgnTokens cloned = new AIgnTokens(); + cloned.setListId(cloneList(this._listId_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AIntervalSet.java b/src/main/java/org/sablecc/sablecc/node/AIntervalSet.java index 9bff5aa293c556c43530f33f6cfcc8ce5a5f2706..2095404f049ae3485705cc1472e81fd95b586da4 100644 --- a/src/main/java/org/sablecc/sablecc/node/AIntervalSet.java +++ b/src/main/java/org/sablecc/sablecc/node/AIntervalSet.java @@ -23,17 +23,14 @@ public final class AIntervalSet extends PSet } - public AIntervalSet(AIntervalSet node) - { - super(node); - setLeft(cloneNode(node._left_)); - setRight(cloneNode(node._right_)); - } - @Override public AIntervalSet clone() { - return new AIntervalSet(this); + AIntervalSet cloned = new AIntervalSet(); + cloned.setLeft(cloneNode(this._left_)); + cloned.setRight(cloneNode(this._right_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AListTerm.java b/src/main/java/org/sablecc/sablecc/node/AListTerm.java index bfa2c59eb2bfbbe787c45463af461eb5cfa610e3..737a840ca1537602ed856b4f1733d44a21152a24 100644 --- a/src/main/java/org/sablecc/sablecc/node/AListTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/AListTerm.java @@ -27,17 +27,14 @@ public final class AListTerm extends PTerm } - public AListTerm(AListTerm node) - { - super(node); - setLBkt(cloneNode(node._lBkt_)); - setListTerms(cloneList(node._listTerms_)); - } - @Override public AListTerm clone() { - return new AListTerm(this); + AListTerm cloned = new AListTerm(); + cloned.setLBkt(cloneNode(this._lBkt_)); + cloned.setListTerms(cloneList(this._listTerms_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AMinusBinOp.java b/src/main/java/org/sablecc/sablecc/node/AMinusBinOp.java index fd1e1e56a1d82345c9369931217712c53fa28e7a..38822d8b677d2b2371b4fa87b990374ddf25e97d 100644 --- a/src/main/java/org/sablecc/sablecc/node/AMinusBinOp.java +++ b/src/main/java/org/sablecc/sablecc/node/AMinusBinOp.java @@ -11,15 +11,12 @@ public final class AMinusBinOp extends PBinOp { } - public AMinusBinOp(AMinusBinOp node) - { - super(node); - } - @Override public AMinusBinOp clone() { - return new AMinusBinOp(this); + AMinusBinOp cloned = new AMinusBinOp(); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java b/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java index b2c151bba0d1456c1839bf556146b852fb8f9db0..c630b91eb443be133da5e9ca6499622d3461aaaa 100644 --- a/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java @@ -31,18 +31,15 @@ public final class ANewListTerm extends PListTerm } - public ANewListTerm(ANewListTerm node) - { - super(node); - setProdName(cloneNode(node._prodName_)); - setLPar(cloneNode(node._lPar_)); - setParams(cloneList(node._params_)); - } - @Override public ANewListTerm clone() { - return new ANewListTerm(this); + ANewListTerm cloned = new ANewListTerm(); + cloned.setProdName(cloneNode(this._prodName_)); + cloned.setLPar(cloneNode(this._lPar_)); + cloned.setParams(cloneList(this._params_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ANewTerm.java b/src/main/java/org/sablecc/sablecc/node/ANewTerm.java index 4fb329bde1657a4b8a9dcc365ea68561c8049c1c..0c63475d9f9927768aafa2234baed8adc54a5eb8 100644 --- a/src/main/java/org/sablecc/sablecc/node/ANewTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ANewTerm.java @@ -31,18 +31,15 @@ public final class ANewTerm extends PTerm } - public ANewTerm(ANewTerm node) - { - super(node); - setProdName(cloneNode(node._prodName_)); - setLPar(cloneNode(node._lPar_)); - setParams(cloneList(node._params_)); - } - @Override public ANewTerm clone() { - return new ANewTerm(this); + ANewTerm cloned = new ANewTerm(); + cloned.setProdName(cloneNode(this._prodName_)); + cloned.setLPar(cloneNode(this._lPar_)); + cloned.setParams(cloneList(this._params_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ANullTerm.java b/src/main/java/org/sablecc/sablecc/node/ANullTerm.java index e5846fc1a9468177ecffc92d822f42b4f79f8ac0..a8fc22ebe6fe6a922603c06e57c09ff8f573b539 100644 --- a/src/main/java/org/sablecc/sablecc/node/ANullTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ANullTerm.java @@ -11,15 +11,12 @@ public final class ANullTerm extends PTerm { } - public ANullTerm(ANullTerm node) - { - super(node); - } - @Override public ANullTerm clone() { - return new ANullTerm(this); + ANullTerm cloned = new ANullTerm(); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AOperationSet.java b/src/main/java/org/sablecc/sablecc/node/AOperationSet.java index fc8b1c38ab58ee68996bd669753c5c3d52f1b00e..5ea786bc32f4d7cf639c013d3e56be9c9dcb6164 100644 --- a/src/main/java/org/sablecc/sablecc/node/AOperationSet.java +++ b/src/main/java/org/sablecc/sablecc/node/AOperationSet.java @@ -27,18 +27,15 @@ public final class AOperationSet extends PSet } - public AOperationSet(AOperationSet node) - { - super(node); - setLeft(cloneNode(node._left_)); - setBinOp(cloneNode(node._binOp_)); - setRight(cloneNode(node._right_)); - } - @Override public AOperationSet clone() { - return new AOperationSet(this); + AOperationSet cloned = new AOperationSet(); + cloned.setLeft(cloneNode(this._left_)); + cloned.setBinOp(cloneNode(this._binOp_)); + cloned.setRight(cloneNode(this._right_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/APlusBinOp.java b/src/main/java/org/sablecc/sablecc/node/APlusBinOp.java index e7ac89e687070163a6398d5ccb52d2c318cf2a97..cfcb1896c580475f0e395fbc0987c2632924bdce 100644 --- a/src/main/java/org/sablecc/sablecc/node/APlusBinOp.java +++ b/src/main/java/org/sablecc/sablecc/node/APlusBinOp.java @@ -11,15 +11,12 @@ public final class APlusBinOp extends PBinOp { } - public APlusBinOp(APlusBinOp node) - { - super(node); - } - @Override public APlusBinOp clone() { - return new APlusBinOp(this); + APlusBinOp cloned = new APlusBinOp(); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/APlusUnOp.java b/src/main/java/org/sablecc/sablecc/node/APlusUnOp.java index 06e6fa7f89f0f0f5e0e463cbcf8d43c62a1d3e28..c766c024844e316a051c8e3e7291c1c32ce138e7 100644 --- a/src/main/java/org/sablecc/sablecc/node/APlusUnOp.java +++ b/src/main/java/org/sablecc/sablecc/node/APlusUnOp.java @@ -19,16 +19,13 @@ public final class APlusUnOp extends PUnOp } - public APlusUnOp(APlusUnOp node) - { - super(node); - setPlus(cloneNode(node._plus_)); - } - @Override public APlusUnOp clone() { - return new APlusUnOp(this); + APlusUnOp cloned = new APlusUnOp(); + cloned.setPlus(cloneNode(this._plus_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AProd.java b/src/main/java/org/sablecc/sablecc/node/AProd.java index cd2f5039ba8ba6f5122d25bc152b4af7ab7a4d44..ca5a37d268273779e72a09ddb165bb028dd6db63 100644 --- a/src/main/java/org/sablecc/sablecc/node/AProd.java +++ b/src/main/java/org/sablecc/sablecc/node/AProd.java @@ -35,19 +35,16 @@ public final class AProd extends PProd } - public AProd(AProd node) - { - super(node); - setId(cloneNode(node._id_)); - setArrow(cloneNode(node._arrow_)); - setProdTransform(cloneList(node._prodTransform_)); - setAlts(cloneList(node._alts_)); - } - @Override public AProd clone() { - return new AProd(this); + AProd cloned = new AProd(); + cloned.setId(cloneNode(this._id_)); + cloned.setArrow(cloneNode(this._arrow_)); + cloned.setProdTransform(cloneList(this._prodTransform_)); + cloned.setAlts(cloneList(this._alts_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AProdName.java b/src/main/java/org/sablecc/sablecc/node/AProdName.java index a11a3803e86b1b8d6894da74c0163dd092f452f3..8e4681837fdb1cc953d5f77b3c14538212fde9bd 100644 --- a/src/main/java/org/sablecc/sablecc/node/AProdName.java +++ b/src/main/java/org/sablecc/sablecc/node/AProdName.java @@ -23,17 +23,14 @@ public final class AProdName extends PProdName } - public AProdName(AProdName node) - { - super(node); - setId(cloneNode(node._id_)); - setProdNameTail(cloneNode(node._prodNameTail_)); - } - @Override public AProdName clone() { - return new AProdName(this); + AProdName cloned = new AProdName(); + cloned.setId(cloneNode(this._id_)); + cloned.setProdNameTail(cloneNode(this._prodNameTail_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AProductionSpecifier.java b/src/main/java/org/sablecc/sablecc/node/AProductionSpecifier.java index cd822a61eb245bbb9cfa679aba3ef760477fd790..74304a394f4a62023eecf90b515c7546933017b7 100644 --- a/src/main/java/org/sablecc/sablecc/node/AProductionSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/AProductionSpecifier.java @@ -11,15 +11,12 @@ public final class AProductionSpecifier extends PSpecifier { } - public AProductionSpecifier(AProductionSpecifier node) - { - super(node); - } - @Override public AProductionSpecifier clone() { - return new AProductionSpecifier(this); + AProductionSpecifier cloned = new AProductionSpecifier(); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AProductions.java b/src/main/java/org/sablecc/sablecc/node/AProductions.java index 4e73e965ea600e0f15e424066ea88f1eb4df0f90..569464abf6dfc6b3b44aa9802c64dc948a9bd2fe 100644 --- a/src/main/java/org/sablecc/sablecc/node/AProductions.java +++ b/src/main/java/org/sablecc/sablecc/node/AProductions.java @@ -23,16 +23,13 @@ public final class AProductions extends PProductions } - public AProductions(AProductions node) - { - super(node); - setProds(cloneList(node._prods_)); - } - @Override public AProductions clone() { - return new AProductions(this); + AProductions cloned = new AProductions(); + cloned.setProds(cloneList(this._prods_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AQMarkUnOp.java b/src/main/java/org/sablecc/sablecc/node/AQMarkUnOp.java index c78c19fc5b0468841366b32a02353e0b760ae2d5..ec754fc330de4e8722aa938e3fa568797d7d52e6 100644 --- a/src/main/java/org/sablecc/sablecc/node/AQMarkUnOp.java +++ b/src/main/java/org/sablecc/sablecc/node/AQMarkUnOp.java @@ -19,16 +19,13 @@ public final class AQMarkUnOp extends PUnOp } - public AQMarkUnOp(AQMarkUnOp node) - { - super(node); - setQMark(cloneNode(node._qMark_)); - } - @Override public AQMarkUnOp clone() { - return new AQMarkUnOp(this); + AQMarkUnOp cloned = new AQMarkUnOp(); + cloned.setQMark(cloneNode(this._qMark_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ARegExp.java b/src/main/java/org/sablecc/sablecc/node/ARegExp.java index 7b604e5ddbe31e34039e8310248785e8029b45f7..6ebe5769d7747c89a3fff36fc5067b588dcb73fb 100644 --- a/src/main/java/org/sablecc/sablecc/node/ARegExp.java +++ b/src/main/java/org/sablecc/sablecc/node/ARegExp.java @@ -23,16 +23,13 @@ public final class ARegExp extends PRegExp } - public ARegExp(ARegExp node) - { - super(node); - setConcats(cloneList(node._concats_)); - } - @Override public ARegExp clone() { - return new ARegExp(this); + ARegExp cloned = new ARegExp(); + cloned.setConcats(cloneList(this._concats_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ARegExpBasic.java b/src/main/java/org/sablecc/sablecc/node/ARegExpBasic.java index 4978f8948f4f2ae400ede54cfcc72541ed16599f..3f615ba4621568df38f651475dae0afafd6ec6e1 100644 --- a/src/main/java/org/sablecc/sablecc/node/ARegExpBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/ARegExpBasic.java @@ -19,16 +19,13 @@ public final class ARegExpBasic extends PBasic } - public ARegExpBasic(ARegExpBasic node) - { - super(node); - setRegExp(cloneNode(node._regExp_)); - } - @Override public ARegExpBasic clone() { - return new ARegExpBasic(this); + ARegExpBasic cloned = new ARegExpBasic(); + cloned.setRegExp(cloneNode(this._regExp_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ASetBasic.java b/src/main/java/org/sablecc/sablecc/node/ASetBasic.java index 53a957cb18e2da018bf57bafe8c31a794bd3d1fe..b45847e9e15e5c887bd53584146fcb56cc476396 100644 --- a/src/main/java/org/sablecc/sablecc/node/ASetBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/ASetBasic.java @@ -19,16 +19,13 @@ public final class ASetBasic extends PBasic } - public ASetBasic(ASetBasic node) - { - super(node); - setSet(cloneNode(node._set_)); - } - @Override public ASetBasic clone() { - return new ASetBasic(this); + ASetBasic cloned = new ASetBasic(); + cloned.setSet(cloneNode(this._set_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ASimpleListTerm.java b/src/main/java/org/sablecc/sablecc/node/ASimpleListTerm.java index de072dddfccca3cf48bde6b7263bcc14b740dfc7..b2e1b6426a3793a9e1f0dddb7a7406b3f2219e5e 100644 --- a/src/main/java/org/sablecc/sablecc/node/ASimpleListTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ASimpleListTerm.java @@ -27,18 +27,15 @@ public final class ASimpleListTerm extends PListTerm } - public ASimpleListTerm(ASimpleListTerm node) - { - super(node); - setSpecifier(cloneNode(node._specifier_)); - setId(cloneNode(node._id_)); - setSimpleTermTail(cloneNode(node._simpleTermTail_)); - } - @Override public ASimpleListTerm clone() { - return new ASimpleListTerm(this); + ASimpleListTerm cloned = new ASimpleListTerm(); + cloned.setSpecifier(cloneNode(this._specifier_)); + cloned.setId(cloneNode(this._id_)); + cloned.setSimpleTermTail(cloneNode(this._simpleTermTail_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ASimpleTerm.java b/src/main/java/org/sablecc/sablecc/node/ASimpleTerm.java index 801c48c2137f889c56e203d6c8dc86caa6734f45..54cfa95c6cb4f81f78cb1daefec90df46e76ef10 100644 --- a/src/main/java/org/sablecc/sablecc/node/ASimpleTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ASimpleTerm.java @@ -27,18 +27,15 @@ public final class ASimpleTerm extends PTerm } - public ASimpleTerm(ASimpleTerm node) - { - super(node); - setSpecifier(cloneNode(node._specifier_)); - setId(cloneNode(node._id_)); - setSimpleTermTail(cloneNode(node._simpleTermTail_)); - } - @Override public ASimpleTerm clone() { - return new ASimpleTerm(this); + ASimpleTerm cloned = new ASimpleTerm(); + cloned.setSpecifier(cloneNode(this._specifier_)); + cloned.setId(cloneNode(this._id_)); + cloned.setSimpleTermTail(cloneNode(this._simpleTermTail_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStarUnOp.java b/src/main/java/org/sablecc/sablecc/node/AStarUnOp.java index 626ff012036ea7c35177c470a56d78b0536f5a18..429335d44413e4c4a87ecb3d47947a3c2dc2f33b 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStarUnOp.java +++ b/src/main/java/org/sablecc/sablecc/node/AStarUnOp.java @@ -19,16 +19,13 @@ public final class AStarUnOp extends PUnOp } - public AStarUnOp(AStarUnOp node) - { - super(node); - setStar(cloneNode(node._star_)); - } - @Override public AStarUnOp clone() { - return new AStarUnOp(this); + AStarUnOp cloned = new AStarUnOp(); + cloned.setStar(cloneNode(this._star_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStateList.java b/src/main/java/org/sablecc/sablecc/node/AStateList.java index 706d3c7ddeaed996c9c69bd7a0351661519fb6f4..8ac649a07461ed89a81777c55dc4c3f8a32b5d93 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStateList.java +++ b/src/main/java/org/sablecc/sablecc/node/AStateList.java @@ -31,18 +31,15 @@ public final class AStateList extends PStateList } - public AStateList(AStateList node) - { - super(node); - setId(cloneNode(node._id_)); - setTransition(cloneNode(node._transition_)); - setStateLists(cloneList(node._stateLists_)); - } - @Override public AStateList clone() { - return new AStateList(this); + AStateList cloned = new AStateList(); + cloned.setId(cloneNode(this._id_)); + cloned.setTransition(cloneNode(this._transition_)); + cloned.setStateLists(cloneList(this._stateLists_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStateListTail.java b/src/main/java/org/sablecc/sablecc/node/AStateListTail.java index 6f5222864c45d681ec832a2430f8519a444e86b8..d769f961dbdc6ef47e05da3fc4a5c6806e2c8697 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStateListTail.java +++ b/src/main/java/org/sablecc/sablecc/node/AStateListTail.java @@ -23,17 +23,14 @@ public final class AStateListTail extends PStateListTail } - public AStateListTail(AStateListTail node) - { - super(node); - setId(cloneNode(node._id_)); - setTransition(cloneNode(node._transition_)); - } - @Override public AStateListTail clone() { - return new AStateListTail(this); + AStateListTail cloned = new AStateListTail(); + cloned.setId(cloneNode(this._id_)); + cloned.setTransition(cloneNode(this._transition_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStates.java b/src/main/java/org/sablecc/sablecc/node/AStates.java index a5bd2e06f6ce99e7f00f662fc8e062c53cfab678..634dbf6e397af84e77f585052cdcd4cb3e4fc8e2 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStates.java +++ b/src/main/java/org/sablecc/sablecc/node/AStates.java @@ -23,16 +23,13 @@ public final class AStates extends PStates } - public AStates(AStates node) - { - super(node); - setListId(cloneList(node._listId_)); - } - @Override public AStates clone() { - return new AStates(this); + AStates cloned = new AStates(); + cloned.setListId(cloneList(this._listId_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStringBasic.java b/src/main/java/org/sablecc/sablecc/node/AStringBasic.java index ff1dd0a0d49bd4a47c9417cb9c8e706e8e9b8bb3..5ea18ba0f098812720737786888a10ff4d0e370d 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStringBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/AStringBasic.java @@ -19,16 +19,13 @@ public final class AStringBasic extends PBasic } - public AStringBasic(AStringBasic node) - { - super(node); - setString(cloneNode(node._string_)); - } - @Override public AStringBasic clone() { - return new AStringBasic(this); + AStringBasic cloned = new AStringBasic(); + cloned.setString(cloneNode(this._string_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ATokenDef.java b/src/main/java/org/sablecc/sablecc/node/ATokenDef.java index b7af9703df8e7beb6eb767b1ffe14b14d41b0681..85868b13476ca8a5538e62c85d9dbce74b68540b 100644 --- a/src/main/java/org/sablecc/sablecc/node/ATokenDef.java +++ b/src/main/java/org/sablecc/sablecc/node/ATokenDef.java @@ -35,20 +35,17 @@ public final class ATokenDef extends PTokenDef } - public ATokenDef(ATokenDef node) - { - super(node); - setStateList(cloneNode(node._stateList_)); - setId(cloneNode(node._id_)); - setRegExp(cloneNode(node._regExp_)); - setSlash(cloneNode(node._slash_)); - setLookAhead(cloneNode(node._lookAhead_)); - } - @Override public ATokenDef clone() { - return new ATokenDef(this); + ATokenDef cloned = new ATokenDef(); + cloned.setStateList(cloneNode(this._stateList_)); + cloned.setId(cloneNode(this._id_)); + cloned.setRegExp(cloneNode(this._regExp_)); + cloned.setSlash(cloneNode(this._slash_)); + cloned.setLookAhead(cloneNode(this._lookAhead_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ATokenSpecifier.java b/src/main/java/org/sablecc/sablecc/node/ATokenSpecifier.java index b4223d8a7e03f741fb066afc2d5f9c209fb60c6d..13242e877e8967dbd85b5bf90deaa1be5f90c316 100644 --- a/src/main/java/org/sablecc/sablecc/node/ATokenSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/ATokenSpecifier.java @@ -11,15 +11,12 @@ public final class ATokenSpecifier extends PSpecifier { } - public ATokenSpecifier(ATokenSpecifier node) - { - super(node); - } - @Override public ATokenSpecifier clone() { - return new ATokenSpecifier(this); + ATokenSpecifier cloned = new ATokenSpecifier(); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ATokens.java b/src/main/java/org/sablecc/sablecc/node/ATokens.java index d07b76d12cf03bb4245035872f64cf858325afc8..29e09905844a0b8b31211f37956b3d588936e5d9 100644 --- a/src/main/java/org/sablecc/sablecc/node/ATokens.java +++ b/src/main/java/org/sablecc/sablecc/node/ATokens.java @@ -23,16 +23,13 @@ public final class ATokens extends PTokens } - public ATokens(ATokens node) - { - super(node); - setTokenDefs(cloneList(node._tokenDefs_)); - } - @Override public ATokens clone() { - return new ATokens(this); + ATokens cloned = new ATokens(); + cloned.setTokenDefs(cloneList(this._tokenDefs_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ATransition.java b/src/main/java/org/sablecc/sablecc/node/ATransition.java index 0e5499fb16083f7fb555f486833e752fc9bf4d8e..e13d1cbd44c30a837ddbdb3c1918aed5d7e2b6bf 100644 --- a/src/main/java/org/sablecc/sablecc/node/ATransition.java +++ b/src/main/java/org/sablecc/sablecc/node/ATransition.java @@ -19,16 +19,13 @@ public final class ATransition extends PTransition } - public ATransition(ATransition node) - { - super(node); - setId(cloneNode(node._id_)); - } - @Override public ATransition clone() { - return new ATransition(this); + ATransition cloned = new ATransition(); + cloned.setId(cloneNode(this._id_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AUnExp.java b/src/main/java/org/sablecc/sablecc/node/AUnExp.java index 6d7d40d738e775435094d94a6065bcae51b2aa65..2fcf0268ddbf597fd41f470dc30d90a20a171461 100644 --- a/src/main/java/org/sablecc/sablecc/node/AUnExp.java +++ b/src/main/java/org/sablecc/sablecc/node/AUnExp.java @@ -23,17 +23,14 @@ public final class AUnExp extends PUnExp } - public AUnExp(AUnExp node) - { - super(node); - setBasic(cloneNode(node._basic_)); - setUnOp(cloneNode(node._unOp_)); - } - @Override public AUnExp clone() { - return new AUnExp(this); + AUnExp cloned = new AUnExp(); + cloned.setBasic(cloneNode(this._basic_)); + cloned.setUnOp(cloneNode(this._unOp_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/EOF.java b/src/main/java/org/sablecc/sablecc/node/EOF.java index 8d7e017e119d18af04ebeca9e6e6f910dcd7a282..7def3d3b7921c4ee689fd634a4cd043c3c2cb3e4 100644 --- a/src/main/java/org/sablecc/sablecc/node/EOF.java +++ b/src/main/java/org/sablecc/sablecc/node/EOF.java @@ -16,15 +16,12 @@ public final class EOF extends Token super("", line, pos); } - public EOF(EOF token) - { - super(token); - } - @Override public EOF clone() { - return new EOF(this); + EOF cloned = new EOF(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/Node.java b/src/main/java/org/sablecc/sablecc/node/Node.java index f37caa17aa10369ec626ddc9a28edc095347f5e2..625a97e1b9c16d16cfa072d767d4fd651a4fa26f 100644 --- a/src/main/java/org/sablecc/sablecc/node/Node.java +++ b/src/main/java/org/sablecc/sablecc/node/Node.java @@ -14,14 +14,8 @@ public abstract class Node extends PositionedNode implements Switchable, Cloneab protected Node() {} - protected Node(Node node) - { - super(node); - // Copy constructor intentionally does not keep parent! - // The new copied node is not a child of the original parent anymore. - this.parent = null; - } - + // clone intentionally does not keep parent! + // The new copied node is not a child of the original parent anymore. @Override public abstract Node clone(); diff --git a/src/main/java/org/sablecc/sablecc/node/PAlt.java b/src/main/java/org/sablecc/sablecc/node/PAlt.java index 805ab230e329fd4693a7994ac3b49cd7e3f32695..335c44afacb91a9f85d25c1c6a22d126759d4c13 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/PAlt.java @@ -7,11 +7,6 @@ public abstract class PAlt extends Node public PAlt() {} - public PAlt(PAlt node) - { - super(node); - } - @Override public abstract PAlt clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PAltTransform.java b/src/main/java/org/sablecc/sablecc/node/PAltTransform.java index f0eafa2ea20ba7bc6895e3f410c8c79566b18ac5..91fdd2ff024d0132d8856ddcc8d8eab87c355d52 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAltTransform.java +++ b/src/main/java/org/sablecc/sablecc/node/PAltTransform.java @@ -7,11 +7,6 @@ public abstract class PAltTransform extends Node public PAltTransform() {} - public PAltTransform(PAltTransform node) - { - super(node); - } - @Override public abstract PAltTransform clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PAst.java b/src/main/java/org/sablecc/sablecc/node/PAst.java index 04d7430515d9fa82ccfb32cb04b3783329803d63..7d930110c5e879d86048bb7fe2bad88bdfae3b8e 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAst.java +++ b/src/main/java/org/sablecc/sablecc/node/PAst.java @@ -7,11 +7,6 @@ public abstract class PAst extends Node public PAst() {} - public PAst(PAst node) - { - super(node); - } - @Override public abstract PAst clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PAstAlt.java b/src/main/java/org/sablecc/sablecc/node/PAstAlt.java index 7fa3763890d2b5441d693633db0c2d3526a8b452..68d31598c945084493bedad7568b43040faa6465 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAstAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/PAstAlt.java @@ -7,11 +7,6 @@ public abstract class PAstAlt extends Node public PAstAlt() {} - public PAstAlt(PAstAlt node) - { - super(node); - } - @Override public abstract PAstAlt clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PAstProd.java b/src/main/java/org/sablecc/sablecc/node/PAstProd.java index de12a50aa730b3d35c761e96a8a20b47a192de19..d472b417416ba6d542bd06612a773acd60b887ee 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAstProd.java +++ b/src/main/java/org/sablecc/sablecc/node/PAstProd.java @@ -7,11 +7,6 @@ public abstract class PAstProd extends Node public PAstProd() {} - public PAstProd(PAstProd node) - { - super(node); - } - @Override public abstract PAstProd clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PBasic.java b/src/main/java/org/sablecc/sablecc/node/PBasic.java index 2a3b4b9c02c9a6371c9a782958d8f2bd31fabd80..d2dce6ef952642bf8c18275125bb61e3adf840b0 100644 --- a/src/main/java/org/sablecc/sablecc/node/PBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/PBasic.java @@ -7,11 +7,6 @@ public abstract class PBasic extends Node public PBasic() {} - public PBasic(PBasic node) - { - super(node); - } - @Override public abstract PBasic clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PBinOp.java b/src/main/java/org/sablecc/sablecc/node/PBinOp.java index 1d35acb71ff9a10a68dfa8bf74677218ba20bd86..4e0f60584b94ca30b0ee54265420e4ed6cfaf23b 100644 --- a/src/main/java/org/sablecc/sablecc/node/PBinOp.java +++ b/src/main/java/org/sablecc/sablecc/node/PBinOp.java @@ -7,11 +7,6 @@ public abstract class PBinOp extends Node public PBinOp() {} - public PBinOp(PBinOp node) - { - super(node); - } - @Override public abstract PBinOp clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PChar.java b/src/main/java/org/sablecc/sablecc/node/PChar.java index 1e1975cc9edebdde7462b3d85320c5e4b857a8f1..429049b23b87c0d313325b9e1abccaceebe830a3 100644 --- a/src/main/java/org/sablecc/sablecc/node/PChar.java +++ b/src/main/java/org/sablecc/sablecc/node/PChar.java @@ -7,11 +7,6 @@ public abstract class PChar extends Node public PChar() {} - public PChar(PChar node) - { - super(node); - } - @Override public abstract PChar clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PConcat.java b/src/main/java/org/sablecc/sablecc/node/PConcat.java index 7c9ef83e1a5faa05761ed20a792560264a01ea72..20dce0e6b3a8dedc385ffd865acae6e38d4727b2 100644 --- a/src/main/java/org/sablecc/sablecc/node/PConcat.java +++ b/src/main/java/org/sablecc/sablecc/node/PConcat.java @@ -7,11 +7,6 @@ public abstract class PConcat extends Node public PConcat() {} - public PConcat(PConcat node) - { - super(node); - } - @Override public abstract PConcat clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PElem.java b/src/main/java/org/sablecc/sablecc/node/PElem.java index 748f1bc5ec9b069d99b54db2d2a361af026991c5..b7ec72420bce7a324a1ccd07feea281c51d43835 100644 --- a/src/main/java/org/sablecc/sablecc/node/PElem.java +++ b/src/main/java/org/sablecc/sablecc/node/PElem.java @@ -7,11 +7,6 @@ public abstract class PElem extends Node public PElem() {} - public PElem(PElem node) - { - super(node); - } - @Override public abstract PElem clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PGrammar.java b/src/main/java/org/sablecc/sablecc/node/PGrammar.java index 8501e4c0b95d2135664b18fb021ad9742313759e..aadfe6a6dd10c48823d15294ee04d10a1f64236e 100644 --- a/src/main/java/org/sablecc/sablecc/node/PGrammar.java +++ b/src/main/java/org/sablecc/sablecc/node/PGrammar.java @@ -7,11 +7,6 @@ public abstract class PGrammar extends Node public PGrammar() {} - public PGrammar(PGrammar node) - { - super(node); - } - @Override public abstract PGrammar clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PHelperDef.java b/src/main/java/org/sablecc/sablecc/node/PHelperDef.java index b9e501dc3ebc011a5faf44dd0934345c69fa6740..7a2a876ea1f7d6e3b547065e03d194d826b43449 100644 --- a/src/main/java/org/sablecc/sablecc/node/PHelperDef.java +++ b/src/main/java/org/sablecc/sablecc/node/PHelperDef.java @@ -7,11 +7,6 @@ public abstract class PHelperDef extends Node public PHelperDef() {} - public PHelperDef(PHelperDef node) - { - super(node); - } - @Override public abstract PHelperDef clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PHelpers.java b/src/main/java/org/sablecc/sablecc/node/PHelpers.java index a1ddbf2b92fa1914726da310f944720600c43a22..bbff36bc1c3559d2ae9bb3f756c8ebfba3e45a16 100644 --- a/src/main/java/org/sablecc/sablecc/node/PHelpers.java +++ b/src/main/java/org/sablecc/sablecc/node/PHelpers.java @@ -7,11 +7,6 @@ public abstract class PHelpers extends Node public PHelpers() {} - public PHelpers(PHelpers node) - { - super(node); - } - @Override public abstract PHelpers clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java b/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java index fb53108b47c422f028ac881a09990a31f790c53c..68cee2aa92ed7da9618a6f471ff3297e2e6ec16e 100644 --- a/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java @@ -7,11 +7,6 @@ public abstract class PIgnTokens extends Node public PIgnTokens() {} - public PIgnTokens(PIgnTokens node) - { - super(node); - } - @Override public abstract PIgnTokens clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PListTerm.java b/src/main/java/org/sablecc/sablecc/node/PListTerm.java index d8e7a48fc7537f0a1ca95dfc1a9eec33df44497b..5003121a98afea2aa37585c621f803d69638b38d 100644 --- a/src/main/java/org/sablecc/sablecc/node/PListTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/PListTerm.java @@ -7,11 +7,6 @@ public abstract class PListTerm extends Node public PListTerm() {} - public PListTerm(PListTerm node) - { - super(node); - } - @Override public abstract PListTerm clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PProd.java b/src/main/java/org/sablecc/sablecc/node/PProd.java index 2d9db40db2087d7b65bc2e48ba491854392625a8..74e3accd24b645260b2dfba3e96042aa058b59f6 100644 --- a/src/main/java/org/sablecc/sablecc/node/PProd.java +++ b/src/main/java/org/sablecc/sablecc/node/PProd.java @@ -7,11 +7,6 @@ public abstract class PProd extends Node public PProd() {} - public PProd(PProd node) - { - super(node); - } - @Override public abstract PProd clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PProdName.java b/src/main/java/org/sablecc/sablecc/node/PProdName.java index 380e8da86d939305a4353354040908258a3175e7..04b99c52c94d6566e06c02784525d71cefbfe329 100644 --- a/src/main/java/org/sablecc/sablecc/node/PProdName.java +++ b/src/main/java/org/sablecc/sablecc/node/PProdName.java @@ -7,11 +7,6 @@ public abstract class PProdName extends Node public PProdName() {} - public PProdName(PProdName node) - { - super(node); - } - @Override public abstract PProdName clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PProductions.java b/src/main/java/org/sablecc/sablecc/node/PProductions.java index 98da82638503ce58f7d0a5dcab776c74d0f75a45..d908b9b0352032c364b530ee25c5e77f870d8005 100644 --- a/src/main/java/org/sablecc/sablecc/node/PProductions.java +++ b/src/main/java/org/sablecc/sablecc/node/PProductions.java @@ -7,11 +7,6 @@ public abstract class PProductions extends Node public PProductions() {} - public PProductions(PProductions node) - { - super(node); - } - @Override public abstract PProductions clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PRegExp.java b/src/main/java/org/sablecc/sablecc/node/PRegExp.java index 3ebc5a202aafbe5c3b3c9eeb7876811385bff89e..93ddece2d97a84b2d1f1cd8f6b19d7810b739821 100644 --- a/src/main/java/org/sablecc/sablecc/node/PRegExp.java +++ b/src/main/java/org/sablecc/sablecc/node/PRegExp.java @@ -7,11 +7,6 @@ public abstract class PRegExp extends Node public PRegExp() {} - public PRegExp(PRegExp node) - { - super(node); - } - @Override public abstract PRegExp clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PSet.java b/src/main/java/org/sablecc/sablecc/node/PSet.java index e9d659382aa480c0e48ba2bc7cecb37981d8a5f4..a4ca9c14a66e5b4469c6b88d42786a7729b21696 100644 --- a/src/main/java/org/sablecc/sablecc/node/PSet.java +++ b/src/main/java/org/sablecc/sablecc/node/PSet.java @@ -7,11 +7,6 @@ public abstract class PSet extends Node public PSet() {} - public PSet(PSet node) - { - super(node); - } - @Override public abstract PSet clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PSpecifier.java b/src/main/java/org/sablecc/sablecc/node/PSpecifier.java index 39fc6267212ab15aa372725b0867cca14da46a45..ded4e7da3bfcffa9d05dddad0134a000c9dc3de8 100644 --- a/src/main/java/org/sablecc/sablecc/node/PSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/PSpecifier.java @@ -7,11 +7,6 @@ public abstract class PSpecifier extends Node public PSpecifier() {} - public PSpecifier(PSpecifier node) - { - super(node); - } - @Override public abstract PSpecifier clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PStateList.java b/src/main/java/org/sablecc/sablecc/node/PStateList.java index b8509d11053b69d32c20260b72b11cb4af5e9d2d..42a20d56da71d12c7dd7f5bf65d3445eff0879a8 100644 --- a/src/main/java/org/sablecc/sablecc/node/PStateList.java +++ b/src/main/java/org/sablecc/sablecc/node/PStateList.java @@ -7,11 +7,6 @@ public abstract class PStateList extends Node public PStateList() {} - public PStateList(PStateList node) - { - super(node); - } - @Override public abstract PStateList clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PStateListTail.java b/src/main/java/org/sablecc/sablecc/node/PStateListTail.java index 3968b1082c1f172e094d050aea9c395ceea9be7a..efe93dfa741c6349f4093a46554a7756511a76d6 100644 --- a/src/main/java/org/sablecc/sablecc/node/PStateListTail.java +++ b/src/main/java/org/sablecc/sablecc/node/PStateListTail.java @@ -7,11 +7,6 @@ public abstract class PStateListTail extends Node public PStateListTail() {} - public PStateListTail(PStateListTail node) - { - super(node); - } - @Override public abstract PStateListTail clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PStates.java b/src/main/java/org/sablecc/sablecc/node/PStates.java index c0f22d478a1f94a32d4197f128defd220ab886fe..d0e1df0d189d06a5504d9b8785c58538efe5ad92 100644 --- a/src/main/java/org/sablecc/sablecc/node/PStates.java +++ b/src/main/java/org/sablecc/sablecc/node/PStates.java @@ -7,11 +7,6 @@ public abstract class PStates extends Node public PStates() {} - public PStates(PStates node) - { - super(node); - } - @Override public abstract PStates clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PTerm.java b/src/main/java/org/sablecc/sablecc/node/PTerm.java index e3e93730dcc61b39ac3fa36b010370dca07f8e4f..cef531ebece54066edc765544cd10a68eaca2e88 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/PTerm.java @@ -7,11 +7,6 @@ public abstract class PTerm extends Node public PTerm() {} - public PTerm(PTerm node) - { - super(node); - } - @Override public abstract PTerm clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PTokenDef.java b/src/main/java/org/sablecc/sablecc/node/PTokenDef.java index 783f7429f527e3eedcf317914e7b161f270ee6a2..b5d33a2875891d85c22f0b33af8617b359bb9a70 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTokenDef.java +++ b/src/main/java/org/sablecc/sablecc/node/PTokenDef.java @@ -7,11 +7,6 @@ public abstract class PTokenDef extends Node public PTokenDef() {} - public PTokenDef(PTokenDef node) - { - super(node); - } - @Override public abstract PTokenDef clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PTokens.java b/src/main/java/org/sablecc/sablecc/node/PTokens.java index d0b4af8c15e5b50afc3796e6d741b82361346bb3..bf5b1007e15bed318aeead1f49dcb7fab01d2b81 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/PTokens.java @@ -7,11 +7,6 @@ public abstract class PTokens extends Node public PTokens() {} - public PTokens(PTokens node) - { - super(node); - } - @Override public abstract PTokens clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PTransition.java b/src/main/java/org/sablecc/sablecc/node/PTransition.java index d8b166d4d497dbacadd8f8227dfb0788a3d1b68d..a03a228450fd9c0832ccbebfae46daeec446d082 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTransition.java +++ b/src/main/java/org/sablecc/sablecc/node/PTransition.java @@ -7,11 +7,6 @@ public abstract class PTransition extends Node public PTransition() {} - public PTransition(PTransition node) - { - super(node); - } - @Override public abstract PTransition clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PUnExp.java b/src/main/java/org/sablecc/sablecc/node/PUnExp.java index 28f0cbadbcaa0433cdd6501c21abaeab6d660806..202c34923d65959d29d2c498596e4f0732169d4d 100644 --- a/src/main/java/org/sablecc/sablecc/node/PUnExp.java +++ b/src/main/java/org/sablecc/sablecc/node/PUnExp.java @@ -7,11 +7,6 @@ public abstract class PUnExp extends Node public PUnExp() {} - public PUnExp(PUnExp node) - { - super(node); - } - @Override public abstract PUnExp clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PUnOp.java b/src/main/java/org/sablecc/sablecc/node/PUnOp.java index fc09a3313178fcab10351741575164f30ca6bfe3..8df12aa95d50dd318c033a493cc1caa55486a54d 100644 --- a/src/main/java/org/sablecc/sablecc/node/PUnOp.java +++ b/src/main/java/org/sablecc/sablecc/node/PUnOp.java @@ -7,11 +7,6 @@ public abstract class PUnOp extends Node public PUnOp() {} - public PUnOp(PUnOp node) - { - super(node); - } - @Override public abstract PUnOp clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/Start.java b/src/main/java/org/sablecc/sablecc/node/Start.java index 751cb6f4ecd20d226a1d28f993d4b4846325ee64..a94f2e8a8b6e7a45b88077c3923a9411856f5ed8 100644 --- a/src/main/java/org/sablecc/sablecc/node/Start.java +++ b/src/main/java/org/sablecc/sablecc/node/Start.java @@ -20,17 +20,14 @@ public final class Start extends Node setEOF(_eof_); } - public Start(Start node) - { - super(node); - setPGrammar(cloneNode(node._pGrammar_)); - setEOF(cloneNode(node._eof_)); - } - @Override public Start clone() { - return new Start(this); + Start cloned = new Start(); + cloned.setPGrammar(cloneNode(this._pGrammar_)); + cloned.setEOF(cloneNode(this._eof_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TAbstract.java b/src/main/java/org/sablecc/sablecc/node/TAbstract.java index ba9a91097dae626ad254bf4d4e5d9b7f11885fa6..9eb16f496b73be1c2112d0ecde65cce6c5ee6708 100644 --- a/src/main/java/org/sablecc/sablecc/node/TAbstract.java +++ b/src/main/java/org/sablecc/sablecc/node/TAbstract.java @@ -16,15 +16,12 @@ public final class TAbstract extends Token super("Abstract", line, pos); } - public TAbstract(TAbstract token) - { - super(token); - } - @Override public TAbstract clone() { - return new TAbstract(this); + TAbstract cloned = new TAbstract(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TArrow.java b/src/main/java/org/sablecc/sablecc/node/TArrow.java index 9a2221108eff3e2ff7d6c4408d976f51f442fdb5..e57d2dd6b135339e5c1414ba5cf9b1a81ad535ec 100644 --- a/src/main/java/org/sablecc/sablecc/node/TArrow.java +++ b/src/main/java/org/sablecc/sablecc/node/TArrow.java @@ -16,15 +16,12 @@ public final class TArrow extends Token super("->", line, pos); } - public TArrow(TArrow token) - { - super(token); - } - @Override public TArrow clone() { - return new TArrow(this); + TArrow cloned = new TArrow(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TBar.java b/src/main/java/org/sablecc/sablecc/node/TBar.java index 36d967f0f6ad392ed88026d04571a2e369b8b088..a8a646b8010f150f66a951a296cdecfccc669060 100644 --- a/src/main/java/org/sablecc/sablecc/node/TBar.java +++ b/src/main/java/org/sablecc/sablecc/node/TBar.java @@ -16,15 +16,12 @@ public final class TBar extends Token super("|", line, pos); } - public TBar(TBar token) - { - super(token); - } - @Override public TBar clone() { - return new TBar(this); + TBar cloned = new TBar(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TBlank.java b/src/main/java/org/sablecc/sablecc/node/TBlank.java index de51cb91f026c3706c08738e36dad023cca4f31c..c5d52b6e2605dd4fbf2e17cc551bbf048b3a7c89 100644 --- a/src/main/java/org/sablecc/sablecc/node/TBlank.java +++ b/src/main/java/org/sablecc/sablecc/node/TBlank.java @@ -16,15 +16,12 @@ public final class TBlank extends Token super(text, line, pos); } - public TBlank(TBlank token) - { - super(token); - } - @Override public TBlank clone() { - return new TBlank(this); + TBlank cloned = new TBlank(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TChar.java b/src/main/java/org/sablecc/sablecc/node/TChar.java index aecb775ca04dbf1cb0fa709c0c80c37adbdd289e..1a7cef393bf415bf4fd60aaad4ec69eee7b5e81f 100644 --- a/src/main/java/org/sablecc/sablecc/node/TChar.java +++ b/src/main/java/org/sablecc/sablecc/node/TChar.java @@ -16,15 +16,12 @@ public final class TChar extends Token super(text, line, pos); } - public TChar(TChar token) - { - super(token); - } - @Override public TChar clone() { - return new TChar(this); + TChar cloned = new TChar(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TColon.java b/src/main/java/org/sablecc/sablecc/node/TColon.java index 76e6ae69214ea2345d1683deb945ac071769d75f..34eb313cc71856ddeb66e141b1123924f9e01008 100644 --- a/src/main/java/org/sablecc/sablecc/node/TColon.java +++ b/src/main/java/org/sablecc/sablecc/node/TColon.java @@ -16,15 +16,12 @@ public final class TColon extends Token super(":", line, pos); } - public TColon(TColon token) - { - super(token); - } - @Override public TColon clone() { - return new TColon(this); + TColon cloned = new TColon(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TComma.java b/src/main/java/org/sablecc/sablecc/node/TComma.java index 485b422a4c9a088306c527ebaab3286e13c1a010..2f21c7deaf81ac39132a6b0b76b9776bb4995a9e 100644 --- a/src/main/java/org/sablecc/sablecc/node/TComma.java +++ b/src/main/java/org/sablecc/sablecc/node/TComma.java @@ -16,15 +16,12 @@ public final class TComma extends Token super(",", line, pos); } - public TComma(TComma token) - { - super(token); - } - @Override public TComma clone() { - return new TComma(this); + TComma cloned = new TComma(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TComment.java b/src/main/java/org/sablecc/sablecc/node/TComment.java index 9f9f1a52e64a25d5f27e6d676d6c53908a02f3eb..106474b5d9682aec5334d8464f74f1b822a7326e 100644 --- a/src/main/java/org/sablecc/sablecc/node/TComment.java +++ b/src/main/java/org/sablecc/sablecc/node/TComment.java @@ -16,15 +16,12 @@ public final class TComment extends Token super(text, line, pos); } - public TComment(TComment token) - { - super(token); - } - @Override public TComment clone() { - return new TComment(this); + TComment cloned = new TComment(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TDDot.java b/src/main/java/org/sablecc/sablecc/node/TDDot.java index 0c2dd1f54cec3ca9429da62499093792f12fcec5..a3651ae666355bd895b42ec5aae0aa35d6f9907e 100644 --- a/src/main/java/org/sablecc/sablecc/node/TDDot.java +++ b/src/main/java/org/sablecc/sablecc/node/TDDot.java @@ -16,15 +16,12 @@ public final class TDDot extends Token super("..", line, pos); } - public TDDot(TDDot token) - { - super(token); - } - @Override public TDDot clone() { - return new TDDot(this); + TDDot cloned = new TDDot(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TDecChar.java b/src/main/java/org/sablecc/sablecc/node/TDecChar.java index 22104e3f91115ac6cb8f78933abdab1619c149dd..5e7204f20585ff8018dad961cccb4102a63c1094 100644 --- a/src/main/java/org/sablecc/sablecc/node/TDecChar.java +++ b/src/main/java/org/sablecc/sablecc/node/TDecChar.java @@ -16,15 +16,12 @@ public final class TDecChar extends Token super(text, line, pos); } - public TDecChar(TDecChar token) - { - super(token); - } - @Override public TDecChar clone() { - return new TDecChar(this); + TDecChar cloned = new TDecChar(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TDot.java b/src/main/java/org/sablecc/sablecc/node/TDot.java index 394e43fad398c48a2557843d1629672b62febd73..fae4247bc794ea0a10ed0e728e0b3363ada8a34b 100644 --- a/src/main/java/org/sablecc/sablecc/node/TDot.java +++ b/src/main/java/org/sablecc/sablecc/node/TDot.java @@ -16,15 +16,12 @@ public final class TDot extends Token super(".", line, pos); } - public TDot(TDot token) - { - super(token); - } - @Override public TDot clone() { - return new TDot(this); + TDot cloned = new TDot(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TEqual.java b/src/main/java/org/sablecc/sablecc/node/TEqual.java index c5b4c7c7ebfacb1cfb3fe71b159263b20eb0ad58..ae88febdc0b362698448d20da1cab3c8a126fcad 100644 --- a/src/main/java/org/sablecc/sablecc/node/TEqual.java +++ b/src/main/java/org/sablecc/sablecc/node/TEqual.java @@ -16,15 +16,12 @@ public final class TEqual extends Token super("=", line, pos); } - public TEqual(TEqual token) - { - super(token); - } - @Override public TEqual clone() { - return new TEqual(this); + TEqual cloned = new TEqual(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/THelpers.java b/src/main/java/org/sablecc/sablecc/node/THelpers.java index 27b296643b6d1d6a265ce6c282a7eaf899f833e5..9f75a089a0a0d873551a9444d7096eb8692aae06 100644 --- a/src/main/java/org/sablecc/sablecc/node/THelpers.java +++ b/src/main/java/org/sablecc/sablecc/node/THelpers.java @@ -16,15 +16,12 @@ public final class THelpers extends Token super("Helpers", line, pos); } - public THelpers(THelpers token) - { - super(token); - } - @Override public THelpers clone() { - return new THelpers(this); + THelpers cloned = new THelpers(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/THexChar.java b/src/main/java/org/sablecc/sablecc/node/THexChar.java index 2b09dc0d88ab19560397df0b41dbfab78b8c5ccc..3f1273f41fd65646feb9e9602d7380e73c6b8e9b 100644 --- a/src/main/java/org/sablecc/sablecc/node/THexChar.java +++ b/src/main/java/org/sablecc/sablecc/node/THexChar.java @@ -16,15 +16,12 @@ public final class THexChar extends Token super(text, line, pos); } - public THexChar(THexChar token) - { - super(token); - } - @Override public THexChar clone() { - return new THexChar(this); + THexChar cloned = new THexChar(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TId.java b/src/main/java/org/sablecc/sablecc/node/TId.java index 4323e68cb24f7454b0efae7c78019c850a5a2ea7..1919e4978152707e08d2cb93ba45578a5b7211e0 100644 --- a/src/main/java/org/sablecc/sablecc/node/TId.java +++ b/src/main/java/org/sablecc/sablecc/node/TId.java @@ -16,15 +16,12 @@ public final class TId extends Token super(text, line, pos); } - public TId(TId token) - { - super(token); - } - @Override public TId clone() { - return new TId(this); + TId cloned = new TId(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TIgnored.java b/src/main/java/org/sablecc/sablecc/node/TIgnored.java index 3512dee9b0c0362c7c73071d6776b4aa7d20b318..17d14137992fa72c501c48dd8524abc4d523a051 100644 --- a/src/main/java/org/sablecc/sablecc/node/TIgnored.java +++ b/src/main/java/org/sablecc/sablecc/node/TIgnored.java @@ -16,15 +16,12 @@ public final class TIgnored extends Token super("Ignored", line, pos); } - public TIgnored(TIgnored token) - { - super(token); - } - @Override public TIgnored clone() { - return new TIgnored(this); + TIgnored cloned = new TIgnored(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TLBkt.java b/src/main/java/org/sablecc/sablecc/node/TLBkt.java index 8e5a83766b396eb6532f5fc8d0f6f8a0c97fb9b2..831576ba0ce398a9809a4fc9b2e6da40ebe26fde 100644 --- a/src/main/java/org/sablecc/sablecc/node/TLBkt.java +++ b/src/main/java/org/sablecc/sablecc/node/TLBkt.java @@ -16,15 +16,12 @@ public final class TLBkt extends Token super("[", line, pos); } - public TLBkt(TLBkt token) - { - super(token); - } - @Override public TLBkt clone() { - return new TLBkt(this); + TLBkt cloned = new TLBkt(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TLBrace.java b/src/main/java/org/sablecc/sablecc/node/TLBrace.java index a3dcb1575de2416c633b7d8db73928ab2aa42c47..0647fe873bc8d00def4dc94468e17a3806b50040 100644 --- a/src/main/java/org/sablecc/sablecc/node/TLBrace.java +++ b/src/main/java/org/sablecc/sablecc/node/TLBrace.java @@ -16,15 +16,12 @@ public final class TLBrace extends Token super("{", line, pos); } - public TLBrace(TLBrace token) - { - super(token); - } - @Override public TLBrace clone() { - return new TLBrace(this); + TLBrace cloned = new TLBrace(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TLPar.java b/src/main/java/org/sablecc/sablecc/node/TLPar.java index 8ba1e87a8b3fa02e5c843ad25c5ce11c91ab1b14..3f4c1abf01f459059c288c4962c3ec67d0ff7916 100644 --- a/src/main/java/org/sablecc/sablecc/node/TLPar.java +++ b/src/main/java/org/sablecc/sablecc/node/TLPar.java @@ -16,15 +16,12 @@ public final class TLPar extends Token super("(", line, pos); } - public TLPar(TLPar token) - { - super(token); - } - @Override public TLPar clone() { - return new TLPar(this); + TLPar cloned = new TLPar(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TMinus.java b/src/main/java/org/sablecc/sablecc/node/TMinus.java index 044d65cb72357e26aff5acb55e533c398e16b61e..65589eee518ba65d7446b79b33468a99dd7016b3 100644 --- a/src/main/java/org/sablecc/sablecc/node/TMinus.java +++ b/src/main/java/org/sablecc/sablecc/node/TMinus.java @@ -16,15 +16,12 @@ public final class TMinus extends Token super("-", line, pos); } - public TMinus(TMinus token) - { - super(token); - } - @Override public TMinus clone() { - return new TMinus(this); + TMinus cloned = new TMinus(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TNew.java b/src/main/java/org/sablecc/sablecc/node/TNew.java index fcbcd3051c396bbedb10d79dcaeeba73e9f77c2b..38dff6e096eb919b51843e5d523613451766713e 100644 --- a/src/main/java/org/sablecc/sablecc/node/TNew.java +++ b/src/main/java/org/sablecc/sablecc/node/TNew.java @@ -16,15 +16,12 @@ public final class TNew extends Token super("New", line, pos); } - public TNew(TNew token) - { - super(token); - } - @Override public TNew clone() { - return new TNew(this); + TNew cloned = new TNew(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TNull.java b/src/main/java/org/sablecc/sablecc/node/TNull.java index 47800bb7583b204c45f4d5bca5239993d1678724..16042a48ef03f5f128d775b37913810296d71019 100644 --- a/src/main/java/org/sablecc/sablecc/node/TNull.java +++ b/src/main/java/org/sablecc/sablecc/node/TNull.java @@ -16,15 +16,12 @@ public final class TNull extends Token super("Null", line, pos); } - public TNull(TNull token) - { - super(token); - } - @Override public TNull clone() { - return new TNull(this); + TNull cloned = new TNull(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TPackage.java b/src/main/java/org/sablecc/sablecc/node/TPackage.java index b2854d6dd99d1a3fc4ca87afcb3917aa14a52a5e..4b9ebe82436d33e36acd9f14334719d26a3ffb72 100644 --- a/src/main/java/org/sablecc/sablecc/node/TPackage.java +++ b/src/main/java/org/sablecc/sablecc/node/TPackage.java @@ -16,15 +16,12 @@ public final class TPackage extends Token super("Package", line, pos); } - public TPackage(TPackage token) - { - super(token); - } - @Override public TPackage clone() { - return new TPackage(this); + TPackage cloned = new TPackage(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TPkgId.java b/src/main/java/org/sablecc/sablecc/node/TPkgId.java index 63fd17a18c15cba74a84fd15acf5fb0993984f36..f156efe8ea8f4b4e1e491d1ddd8be87b929f45c9 100644 --- a/src/main/java/org/sablecc/sablecc/node/TPkgId.java +++ b/src/main/java/org/sablecc/sablecc/node/TPkgId.java @@ -16,15 +16,12 @@ public final class TPkgId extends Token super(text, line, pos); } - public TPkgId(TPkgId token) - { - super(token); - } - @Override public TPkgId clone() { - return new TPkgId(this); + TPkgId cloned = new TPkgId(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TPlus.java b/src/main/java/org/sablecc/sablecc/node/TPlus.java index 5098ea0560ef1e54035439e42cf132fcb4afcc76..e12da0e1da7d34660aec1dcd49f4d6771cd1d829 100644 --- a/src/main/java/org/sablecc/sablecc/node/TPlus.java +++ b/src/main/java/org/sablecc/sablecc/node/TPlus.java @@ -16,15 +16,12 @@ public final class TPlus extends Token super("+", line, pos); } - public TPlus(TPlus token) - { - super(token); - } - @Override public TPlus clone() { - return new TPlus(this); + TPlus cloned = new TPlus(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TProductionSpecifier.java b/src/main/java/org/sablecc/sablecc/node/TProductionSpecifier.java index 35a585fa6be8e2e87fc5f860682ba4b287f3b1ef..e8a1615654d92c748326fb225597e24a30df5495 100644 --- a/src/main/java/org/sablecc/sablecc/node/TProductionSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/TProductionSpecifier.java @@ -16,15 +16,12 @@ public final class TProductionSpecifier extends Token super("P", line, pos); } - public TProductionSpecifier(TProductionSpecifier token) - { - super(token); - } - @Override public TProductionSpecifier clone() { - return new TProductionSpecifier(this); + TProductionSpecifier cloned = new TProductionSpecifier(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TProductions.java b/src/main/java/org/sablecc/sablecc/node/TProductions.java index 7f402c305d92a37de0e92f4eabe7fb87c7626215..246be7f46335b9fed24ff75d307df647f4dce0fc 100644 --- a/src/main/java/org/sablecc/sablecc/node/TProductions.java +++ b/src/main/java/org/sablecc/sablecc/node/TProductions.java @@ -16,15 +16,12 @@ public final class TProductions extends Token super("Productions", line, pos); } - public TProductions(TProductions token) - { - super(token); - } - @Override public TProductions clone() { - return new TProductions(this); + TProductions cloned = new TProductions(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TQMark.java b/src/main/java/org/sablecc/sablecc/node/TQMark.java index aebf492424c824f49c0e2c0d80dc133174d7d1e1..76b9f4de3cf8817d82a8149fde75f5c3a275d0ec 100644 --- a/src/main/java/org/sablecc/sablecc/node/TQMark.java +++ b/src/main/java/org/sablecc/sablecc/node/TQMark.java @@ -16,15 +16,12 @@ public final class TQMark extends Token super("?", line, pos); } - public TQMark(TQMark token) - { - super(token); - } - @Override public TQMark clone() { - return new TQMark(this); + TQMark cloned = new TQMark(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TRBkt.java b/src/main/java/org/sablecc/sablecc/node/TRBkt.java index 30552da69e821b2614bd4c7e1ca175c4aeac9f2e..83aafaa438825a05ea64f493fb7df2a50eb9993e 100644 --- a/src/main/java/org/sablecc/sablecc/node/TRBkt.java +++ b/src/main/java/org/sablecc/sablecc/node/TRBkt.java @@ -16,15 +16,12 @@ public final class TRBkt extends Token super("]", line, pos); } - public TRBkt(TRBkt token) - { - super(token); - } - @Override public TRBkt clone() { - return new TRBkt(this); + TRBkt cloned = new TRBkt(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TRBrace.java b/src/main/java/org/sablecc/sablecc/node/TRBrace.java index 04be2a1ce6914e3e527354e4998b865d82334a22..79868e287da33dd98c3d54fdc937a4ac2d564c4b 100644 --- a/src/main/java/org/sablecc/sablecc/node/TRBrace.java +++ b/src/main/java/org/sablecc/sablecc/node/TRBrace.java @@ -16,15 +16,12 @@ public final class TRBrace extends Token super("}", line, pos); } - public TRBrace(TRBrace token) - { - super(token); - } - @Override public TRBrace clone() { - return new TRBrace(this); + TRBrace cloned = new TRBrace(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TRPar.java b/src/main/java/org/sablecc/sablecc/node/TRPar.java index c797774a6b97505a112fcae761b2c370b85d0253..84445c248be9b23111d50f5208148c955aff3323 100644 --- a/src/main/java/org/sablecc/sablecc/node/TRPar.java +++ b/src/main/java/org/sablecc/sablecc/node/TRPar.java @@ -16,15 +16,12 @@ public final class TRPar extends Token super(")", line, pos); } - public TRPar(TRPar token) - { - super(token); - } - @Override public TRPar clone() { - return new TRPar(this); + TRPar cloned = new TRPar(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TSemicolon.java b/src/main/java/org/sablecc/sablecc/node/TSemicolon.java index 144ab07845bd29b7997b497c862c3b5eaecfa03f..92ebc8406dc51db50101dd54ae0246661dca3162 100644 --- a/src/main/java/org/sablecc/sablecc/node/TSemicolon.java +++ b/src/main/java/org/sablecc/sablecc/node/TSemicolon.java @@ -16,15 +16,12 @@ public final class TSemicolon extends Token super(";", line, pos); } - public TSemicolon(TSemicolon token) - { - super(token); - } - @Override public TSemicolon clone() { - return new TSemicolon(this); + TSemicolon cloned = new TSemicolon(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TSlash.java b/src/main/java/org/sablecc/sablecc/node/TSlash.java index 6b2fd73cabe1766d0ed39edc1709bf805171707e..91eccb84701cb02d1da835514a12b5c0fc7ffc8c 100644 --- a/src/main/java/org/sablecc/sablecc/node/TSlash.java +++ b/src/main/java/org/sablecc/sablecc/node/TSlash.java @@ -16,15 +16,12 @@ public final class TSlash extends Token super("/", line, pos); } - public TSlash(TSlash token) - { - super(token); - } - @Override public TSlash clone() { - return new TSlash(this); + TSlash cloned = new TSlash(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TStar.java b/src/main/java/org/sablecc/sablecc/node/TStar.java index c6835917372b09655346de4ac99dcb25049a9e9a..951f1b255771c30df51e2cab3833670375f27a60 100644 --- a/src/main/java/org/sablecc/sablecc/node/TStar.java +++ b/src/main/java/org/sablecc/sablecc/node/TStar.java @@ -16,15 +16,12 @@ public final class TStar extends Token super("*", line, pos); } - public TStar(TStar token) - { - super(token); - } - @Override public TStar clone() { - return new TStar(this); + TStar cloned = new TStar(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TStates.java b/src/main/java/org/sablecc/sablecc/node/TStates.java index 45a75a7d67ae34613f9fef0e7097ae668e90b4b2..44c82ac9378589fdd3a3add9b976814742068e9c 100644 --- a/src/main/java/org/sablecc/sablecc/node/TStates.java +++ b/src/main/java/org/sablecc/sablecc/node/TStates.java @@ -16,15 +16,12 @@ public final class TStates extends Token super("States", line, pos); } - public TStates(TStates token) - { - super(token); - } - @Override public TStates clone() { - return new TStates(this); + TStates cloned = new TStates(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TString.java b/src/main/java/org/sablecc/sablecc/node/TString.java index 452162ec67d17fcc5919c4dcf653914157854a8f..c48a3a0fae5f8f460827a6901220925ada1244c0 100644 --- a/src/main/java/org/sablecc/sablecc/node/TString.java +++ b/src/main/java/org/sablecc/sablecc/node/TString.java @@ -16,15 +16,12 @@ public final class TString extends Token super(text, line, pos); } - public TString(TString token) - { - super(token); - } - @Override public TString clone() { - return new TString(this); + TString cloned = new TString(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TSyntax.java b/src/main/java/org/sablecc/sablecc/node/TSyntax.java index 4e7340f7cc74d3296083ecbf6b18d32ed6c93df2..daa350432ef75c511972a90908ffebed322ed91c 100644 --- a/src/main/java/org/sablecc/sablecc/node/TSyntax.java +++ b/src/main/java/org/sablecc/sablecc/node/TSyntax.java @@ -16,15 +16,12 @@ public final class TSyntax extends Token super("Syntax", line, pos); } - public TSyntax(TSyntax token) - { - super(token); - } - @Override public TSyntax clone() { - return new TSyntax(this); + TSyntax cloned = new TSyntax(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TTokenSpecifier.java b/src/main/java/org/sablecc/sablecc/node/TTokenSpecifier.java index b37b101e402c4fa9ab8c59732cbdebfbf3d63945..c58dcb73a6f8a9b5378e11818cc10575d6e14d12 100644 --- a/src/main/java/org/sablecc/sablecc/node/TTokenSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/TTokenSpecifier.java @@ -16,15 +16,12 @@ public final class TTokenSpecifier extends Token super("T", line, pos); } - public TTokenSpecifier(TTokenSpecifier token) - { - super(token); - } - @Override public TTokenSpecifier clone() { - return new TTokenSpecifier(this); + TTokenSpecifier cloned = new TTokenSpecifier(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TTokens.java b/src/main/java/org/sablecc/sablecc/node/TTokens.java index fac6c7a7fa5c7d2d5aa8fe141bfe7efc54438817..3234e79c24c62116f5cc51fb10750aaf2b392db1 100644 --- a/src/main/java/org/sablecc/sablecc/node/TTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/TTokens.java @@ -16,15 +16,12 @@ public final class TTokens extends Token super("Tokens", line, pos); } - public TTokens(TTokens token) - { - super(token); - } - @Override public TTokens clone() { - return new TTokens(this); + TTokens cloned = new TTokens(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TTree.java b/src/main/java/org/sablecc/sablecc/node/TTree.java index 91100d31f153e753b65ce43dc2265debaae123a4..e101e4436b7d520e7d3fdfdec613ebf38404d1a0 100644 --- a/src/main/java/org/sablecc/sablecc/node/TTree.java +++ b/src/main/java/org/sablecc/sablecc/node/TTree.java @@ -16,15 +16,12 @@ public final class TTree extends Token super("Tree", line, pos); } - public TTree(TTree token) - { - super(token); - } - @Override public TTree clone() { - return new TTree(this); + TTree cloned = new TTree(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/Token.java b/src/main/java/org/sablecc/sablecc/node/Token.java index 628077f9e1f2c706c0bbed22a466a799d2ed5686..6ff16df3964fe96670987e994885616a31c83d0d 100644 --- a/src/main/java/org/sablecc/sablecc/node/Token.java +++ b/src/main/java/org/sablecc/sablecc/node/Token.java @@ -23,19 +23,6 @@ public abstract class Token extends Node implements IToken this(text, 0, 0); } - protected Token() - { - this((String)null); - } - - protected Token(Token token) - { - super(token); - this.text = token.text; - this.line = token.line; - this.pos = token.pos; - } - @Override public abstract Token clone(); diff --git a/src/main/java/org/sablecc/sablecc/parser/Parser.java b/src/main/java/org/sablecc/sablecc/parser/Parser.java index 85092dbeb734e2c16f8a831dccf3e6ca2bea0ff2..6f04f9d70c21b0cf4e7c0004b3f8fefd6ad4b23d 100644 --- a/src/main/java/org/sablecc/sablecc/parser/Parser.java +++ b/src/main/java/org/sablecc/sablecc/parser/Parser.java @@ -14,7 +14,6 @@ import java.util.ListIterator; import de.hhu.stups.sablecc.patch.IParser; import de.hhu.stups.sablecc.patch.PositionedNode; -import de.hhu.stups.sablecc.patch.SourcePosition; import org.sablecc.sablecc.lexer.Lexer; import org.sablecc.sablecc.lexer.LexerException; @@ -27,73 +26,40 @@ public class Parser implements IParser private final ListIterator<State> stack = new LinkedList<State>().listIterator(); private final TokenIndex converter = new TokenIndex(); - private final static int SHIFT = 0; - private final static int REDUCE = 1; - private final static int ACCEPT = 2; - private final static int ERROR = 3; + private static final int SHIFT = 0; + private static final int REDUCE = 1; + private static final int ACCEPT = 2; + private static final int ERROR = 3; public Parser(Lexer lexer) { this.lexer = lexer; } - private void checkResult(Object elementToCheck, List<?> beginNodeList, List<?> endNodeList) { - if (elementToCheck instanceof List<?>) { - /* - * special case: this is a list of nodes, for example an identifier - * list, so we don't want to check the list but the last element - * added to it - */ - final List<?> nodeList = (List<?>) elementToCheck; - if (nodeList.isEmpty()) { - // no positions for empty lists... - return; - } - elementToCheck = nodeList.get(nodeList.size() - 1); - } + private static void computePositions(PositionedNode node, List<?> beginNodeList, List<?> endNodeList) { + // This method should only ever be called for newly created AST nodes (that are not tokens). + assert !(node instanceof Token); + assert node.getStartPos() == null; + assert node.getEndPos() == null; - final PositionedNode node = (PositionedNode) elementToCheck; - - // Add node positions if they haven't been calculated yet. - // Tokens are skipped because they always have positions - - // this avoids creating unnecessary SourcePosition objects. - if (!(node instanceof Token) && node.getStartPos() == null) { - assert node.getEndPos() == null; - PositionedNode beginNode = findBeginNode(beginNodeList); - if (beginNode == null) { - /* - * Sometimes (haven't found out why) we get empty list here. In - * the only observed cases we were looking for the source range - * of the whole parse unit. Then the start pos is the first char. - */ - node.setStartPos(new SourcePosition(1, 1)); - } else { - node.setStartPos(beginNode.getStartPos()); - } + PositionedNode beginNode = findBeginNode(beginNodeList); + node.setStartPos(beginNode.getStartPos()); - PositionedNode endNode = findEndNode(endNodeList); - node.setEndPos(endNode.getEndPos()); - } else { - assert node.getEndPos() != null; - } + PositionedNode endNode = findEndNode(endNodeList); + node.setEndPos(endNode.getEndPos()); } - private PositionedNode findBeginNode(final List<?> list) { + private static PositionedNode findBeginNode(final List<?> list) { Object first = list.get(0); if (first instanceof List<?>) { List<?> list2 = (List<?>) first; - - if (!list2.isEmpty()) { - return (PositionedNode)list2.get(0); - } else { - return null; - } + return (PositionedNode)list2.get(0); } return (PositionedNode)first; } - private PositionedNode findEndNode(final List<?> list) { + private static PositionedNode findEndNode(final List<?> list) { Object last = list.get(list.size() - 1); if (last instanceof List<?>) { final List<?> list2 = (List<?>) last; @@ -212,11 +178,9 @@ public class Parser implements IParser switch(action) { case SHIFT: - { - List<?> list = Collections.singletonList(this.lexer.next()); - push(destination, list); - } - break; + push(destination, Collections.singletonList(this.lexer.next())); + break; + case REDUCE: switch(destination) { @@ -1834,19 +1798,23 @@ public class Parser implements IParser push(goTo(64), list); } break; + default: + throw new ParserException(lastToken, "[" + lastToken.getLine() + "," + lastToken.getPos() + "] Internal parser error: invalid action table REDUCE destination " + destination + ", current state " + state()); } break; + case ACCEPT: - { - EOF node2 = (EOF) this.lexer.next(); - PGrammar node1 = (PGrammar) pop().get(0); - Start node = new Start(node1, node2); - return node; - } + EOF eof = (EOF) this.lexer.next(); + PGrammar top = (PGrammar) pop().get(0); + return new Start(top, eof); + case ERROR: throw new ParserException(lastToken, "[" + lastToken.getLine() + "," + lastToken.getPos() + "] " , Parser.errorMessages[Parser.errors[destination]]); + + default: + throw new ParserException(lastToken, "[" + lastToken.getLine() + "," + lastToken.getPos() + "] Internal parser error: invalid action table entry " + action + ", destination " + destination + ", current state " + state()); } } } @@ -1854,3902 +1822,4057 @@ public class Parser implements IParser private List<?> new0() /* reduce AAgrammar1Grammar */ { - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, null, null); - return Collections.singletonList(pgrammarNode1); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, null, null); + + return Collections.singletonList(pGrammarNode1); } private List<?> new1() /* reduce AAgrammar2Grammar */ { - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, null, null, null); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, null, null, null); + computePositions(pGrammarNode1, popped1, popped1); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new2() /* reduce AAgrammar3Grammar */ { - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, null, null, null); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, null, null, null); + computePositions(pGrammarNode1, popped1, popped1); + + return Collections.singletonList(pGrammarNode1); } private List<?> new3() /* reduce AAgrammar4Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, null, null, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, null, null, null); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new4() /* reduce AAgrammar5Grammar */ { - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, null, null, null); + List<?> popped1 = pop(); + + PStates pStatesNode4 = (PStates)popped1.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, null, null, null); + computePositions(pGrammarNode1, popped1, popped1); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new5() /* reduce AAgrammar6Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, null, null, null); + PStates pStatesNode5 = (PStates)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, null, null, null); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new6() /* reduce AAgrammar7Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, null, null, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, null, null, null); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new7() /* reduce AAgrammar8Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, null, null, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, null, null, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new8() /* reduce AAgrammar9Grammar */ { - List<?> nodeArrayList1 = pop(); - PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, null, null, null); + List<?> popped1 = pop(); + + PTokens pTokensNode5 = (PTokens)popped1.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, null, null, null); + computePositions(pGrammarNode1, popped1, popped1); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new9() /* reduce AAgrammar10Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, null, null, null); + PTokens pTokensNode6 = (PTokens)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, null, null, null); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new10() /* reduce AAgrammar11Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, null, null, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, null, null, null); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new11() /* reduce AAgrammar12Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, null, null, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, null, null, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new12() /* reduce AAgrammar13Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, null, null, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + PStates pStatesNode4 = (PStates)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, null, null, null); + computePositions(pGrammarNode1, popped1, popped2); + + return Collections.singletonList(pGrammarNode1); } private List<?> new13() /* reduce AAgrammar14Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, null, null, null); + PStates pStatesNode5 = (PStates)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, null, null, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new14() /* reduce AAgrammar15Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, null, null, null); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PTokens pTokensNode5 = (PTokens)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, null, null, null); + computePositions(pGrammarNode1, popped1, popped3); + + return Collections.singletonList(pGrammarNode1); } private List<?> new15() /* reduce AAgrammar16Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, null, null, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PTokens pTokensNode6 = (PTokens)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, null, null, null); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new16() /* reduce AAgrammar17Grammar */ { - List<?> nodeArrayList1 = pop(); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList1.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pigntokensNode6, null, null); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pgrammarNode1); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped1.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pIgnTokensNode6, null, null); + computePositions(pGrammarNode1, popped1, popped1); + + return Collections.singletonList(pGrammarNode1); } private List<?> new17() /* reduce AAgrammar18Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, pigntokensNode7, null, null); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, pIgnTokensNode7, null, null); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new18() /* reduce AAgrammar19Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, pigntokensNode6, null, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, pIgnTokensNode6, null, null); + computePositions(pGrammarNode1, popped1, popped2); + + return Collections.singletonList(pGrammarNode1); } private List<?> new19() /* reduce AAgrammar20Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, pigntokensNode7, null, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, pIgnTokensNode7, null, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new20() /* reduce AAgrammar21Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, pigntokensNode6, null, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + PStates pStatesNode4 = (PStates)popped1.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, pIgnTokensNode6, null, null); + computePositions(pGrammarNode1, popped1, popped2); + + return Collections.singletonList(pGrammarNode1); } private List<?> new21() /* reduce AAgrammar22Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, pigntokensNode7, null, null); + PStates pStatesNode5 = (PStates)popped2.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, pIgnTokensNode7, null, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new22() /* reduce AAgrammar23Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, pigntokensNode6, null, null); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, pIgnTokensNode6, null, null); + computePositions(pGrammarNode1, popped1, popped3); + + return Collections.singletonList(pGrammarNode1); } private List<?> new23() /* reduce AAgrammar24Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, pigntokensNode7, null, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, pIgnTokensNode7, null, null); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new24() /* reduce AAgrammar25Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, pigntokensNode6, null, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + PTokens pTokensNode5 = (PTokens)popped1.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, pIgnTokensNode6, null, null); + computePositions(pGrammarNode1, popped1, popped2); + + return Collections.singletonList(pGrammarNode1); } private List<?> new25() /* reduce AAgrammar26Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, pigntokensNode7, null, null); + PTokens pTokensNode6 = (PTokens)popped2.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, pIgnTokensNode7, null, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new26() /* reduce AAgrammar27Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, pigntokensNode6, null, null); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, pIgnTokensNode6, null, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new27() /* reduce AAgrammar28Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, pigntokensNode7, null, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, pIgnTokensNode7, null, null); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new28() /* reduce AAgrammar29Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, pigntokensNode6, null, null); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PStates pStatesNode4 = (PStates)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, pIgnTokensNode6, null, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new29() /* reduce AAgrammar30Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, pigntokensNode7, null, null); + PStates pStatesNode5 = (PStates)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, pIgnTokensNode7, null, null); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new30() /* reduce AAgrammar31Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, null, null); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PTokens pTokensNode5 = (PTokens)popped3.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, pIgnTokensNode6, null, null); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new31() /* reduce AAgrammar32Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList4.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, pigntokensNode7, null, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PTokens pTokensNode6 = (PTokens)popped4.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, pIgnTokensNode7, null, null); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new32() /* reduce AAgrammar33Grammar */ { - List<?> nodeArrayList1 = pop(); - PProductions pproductionsNode7 = (PProductions)nodeArrayList1.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, pproductionsNode7, null); + List<?> popped1 = pop(); + + PProductions pProductionsNode7 = (PProductions)popped1.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped1); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new33() /* reduce AAgrammar34Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PProductions pproductionsNode8 = (PProductions)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, null, pproductionsNode8, null); + PProductions pProductionsNode8 = (PProductions)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, null, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new34() /* reduce AAgrammar35Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, null, pproductionsNode7, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PProductions pProductionsNode7 = (PProductions)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, null, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped2); + + return Collections.singletonList(pGrammarNode1); } private List<?> new35() /* reduce AAgrammar36Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, null, pproductionsNode8, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PProductions pProductionsNode8 = (PProductions)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, null, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new36() /* reduce AAgrammar37Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, null, pproductionsNode7, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + PStates pStatesNode4 = (PStates)popped1.get(0); + PProductions pProductionsNode7 = (PProductions)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, null, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped2); + + return Collections.singletonList(pGrammarNode1); } private List<?> new37() /* reduce AAgrammar38Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, null, pproductionsNode8, null); + PStates pStatesNode5 = (PStates)popped2.get(0); + PProductions pProductionsNode8 = (PProductions)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, null, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new38() /* reduce AAgrammar39Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, null, pproductionsNode7, null); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PProductions pProductionsNode7 = (PProductions)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, null, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped3); + + return Collections.singletonList(pGrammarNode1); } private List<?> new39() /* reduce AAgrammar40Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, null, pproductionsNode8, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PProductions pProductionsNode8 = (PProductions)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, null, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new40() /* reduce AAgrammar41Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, null, pproductionsNode7, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PTokens pTokensNode5 = (PTokens)popped1.get(0); + PProductions pProductionsNode7 = (PProductions)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, null, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new41() /* reduce AAgrammar42Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, null, pproductionsNode8, null); + PTokens pTokensNode6 = (PTokens)popped2.get(0); + PProductions pProductionsNode8 = (PProductions)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, null, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new42() /* reduce AAgrammar43Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, null, pproductionsNode7, null); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PProductions pProductionsNode7 = (PProductions)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, null, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new43() /* reduce AAgrammar44Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, null, pproductionsNode8, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PProductions pProductionsNode8 = (PProductions)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, null, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new44() /* reduce AAgrammar45Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, null, pproductionsNode7, null); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PStates pStatesNode4 = (PStates)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PProductions pProductionsNode7 = (PProductions)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, null, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new45() /* reduce AAgrammar46Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, null, pproductionsNode8, null); + PStates pStatesNode5 = (PStates)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PProductions pProductionsNode8 = (PProductions)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, null, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new46() /* reduce AAgrammar47Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, null, pproductionsNode7, null); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PTokens pTokensNode5 = (PTokens)popped3.get(0); + PProductions pProductionsNode7 = (PProductions)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, null, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new47() /* reduce AAgrammar48Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList4.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, null, pproductionsNode8, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PTokens pTokensNode6 = (PTokens)popped4.get(0); + PProductions pProductionsNode8 = (PProductions)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, null, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new48() /* reduce AAgrammar49Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList1.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pigntokensNode6, pproductionsNode7, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped1.get(0); + PProductions pProductionsNode7 = (PProductions)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pIgnTokensNode6, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new49() /* reduce AAgrammar50Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList2.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, pigntokensNode7, pproductionsNode8, null); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped2.get(0); + PProductions pProductionsNode8 = (PProductions)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, pIgnTokensNode7, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new50() /* reduce AAgrammar51Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, pigntokensNode6, pproductionsNode7, null); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0); + PProductions pProductionsNode7 = (PProductions)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, pIgnTokensNode6, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new51() /* reduce AAgrammar52Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, pigntokensNode7, pproductionsNode8, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0); + PProductions pProductionsNode8 = (PProductions)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, pIgnTokensNode7, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new52() /* reduce AAgrammar53Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, pigntokensNode6, pproductionsNode7, null); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PStates pStatesNode4 = (PStates)popped1.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0); + PProductions pProductionsNode7 = (PProductions)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, pIgnTokensNode6, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new53() /* reduce AAgrammar54Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, pigntokensNode7, pproductionsNode8, null); + PStates pStatesNode5 = (PStates)popped2.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0); + PProductions pProductionsNode8 = (PProductions)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, pIgnTokensNode7, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new54() /* reduce AAgrammar55Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, pigntokensNode6, pproductionsNode7, null); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0); + PProductions pProductionsNode7 = (PProductions)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, pIgnTokensNode6, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new55() /* reduce AAgrammar56Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList4.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, pigntokensNode7, pproductionsNode8, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0); + PProductions pProductionsNode8 = (PProductions)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, pIgnTokensNode7, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new56() /* reduce AAgrammar57Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, pigntokensNode6, pproductionsNode7, null); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + PTokens pTokensNode5 = (PTokens)popped1.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0); + PProductions pProductionsNode7 = (PProductions)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, pIgnTokensNode6, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped3); + + return Collections.singletonList(pGrammarNode1); } private List<?> new57() /* reduce AAgrammar58Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, pigntokensNode7, pproductionsNode8, null); + PTokens pTokensNode6 = (PTokens)popped2.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0); + PProductions pProductionsNode8 = (PProductions)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, pIgnTokensNode7, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new58() /* reduce AAgrammar59Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, pigntokensNode6, pproductionsNode7, null); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0); + PProductions pProductionsNode7 = (PProductions)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, pIgnTokensNode6, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped4); + + return Collections.singletonList(pGrammarNode1); } private List<?> new59() /* reduce AAgrammar60Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList4.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, pigntokensNode7, pproductionsNode8, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0); + PProductions pProductionsNode8 = (PProductions)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, pIgnTokensNode7, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new60() /* reduce AAgrammar61Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, null); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + PStates pStatesNode4 = (PStates)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0); + PProductions pProductionsNode7 = (PProductions)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, pIgnTokensNode6, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped4); + + return Collections.singletonList(pGrammarNode1); } private List<?> new61() /* reduce AAgrammar62Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList4.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, pigntokensNode7, pproductionsNode8, null); + PStates pStatesNode5 = (PStates)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0); + PProductions pProductionsNode8 = (PProductions)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, pIgnTokensNode7, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new62() /* reduce AAgrammar63Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList4.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, null); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PTokens pTokensNode5 = (PTokens)popped3.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped4.get(0); + PProductions pProductionsNode7 = (PProductions)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, pIgnTokensNode6, pProductionsNode7, null); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new63() /* reduce AAgrammar64Grammar */ { - List<?> nodeArrayList6 = pop(); - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped6 = pop(); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList4.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList5.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList6.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, pigntokensNode7, pproductionsNode8, null); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PTokens pTokensNode6 = (PTokens)popped4.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped5.get(0); + PProductions pProductionsNode8 = (PProductions)popped6.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, pIgnTokensNode7, pProductionsNode8, null); + computePositions(pGrammarNode1, popped1, popped6); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new64() /* reduce AAgrammar65Grammar */ { - List<?> nodeArrayList1 = pop(); - PAst pastNode8 = (PAst)nodeArrayList1.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, null, pastNode8); + List<?> popped1 = pop(); + + PAst pAstNode8 = (PAst)popped1.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped1); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new65() /* reduce AAgrammar66Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PAst pastNode9 = (PAst)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, null, null, pastNode9); + PAst pAstNode9 = (PAst)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, null, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new66() /* reduce AAgrammar67Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PAst pastNode8 = (PAst)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, null, null, pastNode8); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PAst pAstNode8 = (PAst)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, null, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new67() /* reduce AAgrammar68Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PAst pastNode9 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, null, null, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PAst pAstNode9 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, null, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new68() /* reduce AAgrammar69Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PAst pastNode8 = (PAst)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, null, null, pastNode8); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PStates pStatesNode4 = (PStates)popped1.get(0); + PAst pAstNode8 = (PAst)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, null, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new69() /* reduce AAgrammar70Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PAst pastNode9 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, null, null, pastNode9); + PStates pStatesNode5 = (PStates)popped2.get(0); + PAst pAstNode9 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, null, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new70() /* reduce AAgrammar71Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PAst pastNode8 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, null, null, pastNode8); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PAst pAstNode8 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, null, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped3); + + return Collections.singletonList(pGrammarNode1); } private List<?> new71() /* reduce AAgrammar72Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PAst pastNode9 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, null, null, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PAst pAstNode9 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, null, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new72() /* reduce AAgrammar73Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0); - PAst pastNode8 = (PAst)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, null, null, pastNode8); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + PTokens pTokensNode5 = (PTokens)popped1.get(0); + PAst pAstNode8 = (PAst)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, null, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped2); + + return Collections.singletonList(pGrammarNode1); } private List<?> new73() /* reduce AAgrammar74Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0); - PAst pastNode9 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, null, null, pastNode9); + PTokens pTokensNode6 = (PTokens)popped2.get(0); + PAst pAstNode9 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, null, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new74() /* reduce AAgrammar75Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PAst pastNode8 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, null, null, pastNode8); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PAst pAstNode8 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, null, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped3); + + return Collections.singletonList(pGrammarNode1); } private List<?> new75() /* reduce AAgrammar76Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PAst pastNode9 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, null, null, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PAst pAstNode9 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, null, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new76() /* reduce AAgrammar77Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PAst pastNode8 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, null, null, pastNode8); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PStates pStatesNode4 = (PStates)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PAst pAstNode8 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, null, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new77() /* reduce AAgrammar78Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PAst pastNode9 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, null, null, pastNode9); + PStates pStatesNode5 = (PStates)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PAst pAstNode9 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, null, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new78() /* reduce AAgrammar79Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0); - PAst pastNode8 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, null, null, pastNode8); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PTokens pTokensNode5 = (PTokens)popped3.get(0); + PAst pAstNode8 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, null, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new79() /* reduce AAgrammar80Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList4.get(0); - PAst pastNode9 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, null, null, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PTokens pTokensNode6 = (PTokens)popped4.get(0); + PAst pAstNode9 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, null, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new80() /* reduce AAgrammar81Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList1.get(0); - PAst pastNode8 = (PAst)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pigntokensNode6, null, pastNode8); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped1.get(0); + PAst pAstNode8 = (PAst)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pIgnTokensNode6, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new81() /* reduce AAgrammar82Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList2.get(0); - PAst pastNode9 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, pigntokensNode7, null, pastNode9); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped2.get(0); + PAst pAstNode9 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, pIgnTokensNode7, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new82() /* reduce AAgrammar83Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0); - PAst pastNode8 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, pigntokensNode6, null, pastNode8); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0); + PAst pAstNode8 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, pIgnTokensNode6, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new83() /* reduce AAgrammar84Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); - PAst pastNode9 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, pigntokensNode7, null, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0); + PAst pAstNode9 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, pIgnTokensNode7, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new84() /* reduce AAgrammar85Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0); - PAst pastNode8 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, pigntokensNode6, null, pastNode8); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + PStates pStatesNode4 = (PStates)popped1.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0); + PAst pAstNode8 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, pIgnTokensNode6, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped3); + + return Collections.singletonList(pGrammarNode1); } private List<?> new85() /* reduce AAgrammar86Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); - PAst pastNode9 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, pigntokensNode7, null, pastNode9); + PStates pStatesNode5 = (PStates)popped2.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0); + PAst pAstNode9 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, pIgnTokensNode7, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new86() /* reduce AAgrammar87Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0); - PAst pastNode8 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, pigntokensNode6, null, pastNode8); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0); + PAst pAstNode8 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, pIgnTokensNode6, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped4); + + return Collections.singletonList(pGrammarNode1); } private List<?> new87() /* reduce AAgrammar88Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList4.get(0); - PAst pastNode9 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, pigntokensNode7, null, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0); + PAst pAstNode9 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, pIgnTokensNode7, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new88() /* reduce AAgrammar89Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0); - PAst pastNode8 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, pigntokensNode6, null, pastNode8); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + PTokens pTokensNode5 = (PTokens)popped1.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0); + PAst pAstNode8 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, pIgnTokensNode6, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped3); + + return Collections.singletonList(pGrammarNode1); } private List<?> new89() /* reduce AAgrammar90Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); - PAst pastNode9 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, pigntokensNode7, null, pastNode9); + PTokens pTokensNode6 = (PTokens)popped2.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0); + PAst pAstNode9 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, pIgnTokensNode7, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new90() /* reduce AAgrammar91Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0); - PAst pastNode8 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, pigntokensNode6, null, pastNode8); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0); + PAst pAstNode8 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, pIgnTokensNode6, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new91() /* reduce AAgrammar92Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList4.get(0); - PAst pastNode9 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, pigntokensNode7, null, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0); + PAst pAstNode9 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, pIgnTokensNode7, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new92() /* reduce AAgrammar93Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0); - PAst pastNode8 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, pigntokensNode6, null, pastNode8); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PStates pStatesNode4 = (PStates)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0); + PAst pAstNode8 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, pIgnTokensNode6, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new93() /* reduce AAgrammar94Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList4.get(0); - PAst pastNode9 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, pigntokensNode7, null, pastNode9); + PStates pStatesNode5 = (PStates)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0); + PAst pAstNode9 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, pIgnTokensNode7, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new94() /* reduce AAgrammar95Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList4.get(0); - PAst pastNode8 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, null, pastNode8); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PTokens pTokensNode5 = (PTokens)popped3.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped4.get(0); + PAst pAstNode8 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, pIgnTokensNode6, null, pAstNode8); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new95() /* reduce AAgrammar96Grammar */ { - List<?> nodeArrayList6 = pop(); - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped6 = pop(); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList4.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList5.get(0); - PAst pastNode9 = (PAst)nodeArrayList6.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, pigntokensNode7, null, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PTokens pTokensNode6 = (PTokens)popped4.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped5.get(0); + PAst pAstNode9 = (PAst)popped6.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, pIgnTokensNode7, null, pAstNode9); + computePositions(pGrammarNode1, popped1, popped6); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new96() /* reduce AAgrammar97Grammar */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PProductions pproductionsNode7 = (PProductions)nodeArrayList1.get(0); - PAst pastNode8 = (PAst)nodeArrayList2.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, pproductionsNode7, pastNode8); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PProductions pProductionsNode7 = (PProductions)popped1.get(0); + PAst pAstNode8 = (PAst)popped2.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped2); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new97() /* reduce AAgrammar98Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PProductions pproductionsNode8 = (PProductions)nodeArrayList2.get(0); - PAst pastNode9 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, null, pproductionsNode8, pastNode9); + PProductions pProductionsNode8 = (PProductions)popped2.get(0); + PAst pAstNode9 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, null, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new98() /* reduce AAgrammar99Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0); - PAst pastNode8 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, null, pproductionsNode7, pastNode8); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PProductions pProductionsNode7 = (PProductions)popped2.get(0); + PAst pAstNode8 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, null, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped3); + + return Collections.singletonList(pGrammarNode1); } private List<?> new99() /* reduce AAgrammar100Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList3.get(0); - PAst pastNode9 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, null, pproductionsNode8, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PProductions pProductionsNode8 = (PProductions)popped3.get(0); + PAst pAstNode9 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, null, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new100() /* reduce AAgrammar101Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0); - PAst pastNode8 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, null, pproductionsNode7, pastNode8); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + PStates pStatesNode4 = (PStates)popped1.get(0); + PProductions pProductionsNode7 = (PProductions)popped2.get(0); + PAst pAstNode8 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, null, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped3); + + return Collections.singletonList(pGrammarNode1); } private List<?> new101() /* reduce AAgrammar102Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList3.get(0); - PAst pastNode9 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, null, pproductionsNode8, pastNode9); + PStates pStatesNode5 = (PStates)popped2.get(0); + PProductions pProductionsNode8 = (PProductions)popped3.get(0); + PAst pAstNode9 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, null, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new102() /* reduce AAgrammar103Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0); - PAst pastNode8 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, null, pproductionsNode7, pastNode8); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PProductions pProductionsNode7 = (PProductions)popped3.get(0); + PAst pAstNode8 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, null, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped4); + + return Collections.singletonList(pGrammarNode1); } private List<?> new103() /* reduce AAgrammar104Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList4.get(0); - PAst pastNode9 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, null, pproductionsNode8, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PProductions pProductionsNode8 = (PProductions)popped4.get(0); + PAst pAstNode9 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, null, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new104() /* reduce AAgrammar105Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0); - PAst pastNode8 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, null, pproductionsNode7, pastNode8); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + PTokens pTokensNode5 = (PTokens)popped1.get(0); + PProductions pProductionsNode7 = (PProductions)popped2.get(0); + PAst pAstNode8 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, null, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped3); + + return Collections.singletonList(pGrammarNode1); } private List<?> new105() /* reduce AAgrammar106Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList3.get(0); - PAst pastNode9 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, null, pproductionsNode8, pastNode9); + PTokens pTokensNode6 = (PTokens)popped2.get(0); + PProductions pProductionsNode8 = (PProductions)popped3.get(0); + PAst pAstNode9 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, null, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new106() /* reduce AAgrammar107Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0); - PAst pastNode8 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, null, pproductionsNode7, pastNode8); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PProductions pProductionsNode7 = (PProductions)popped3.get(0); + PAst pAstNode8 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, null, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped4); + + return Collections.singletonList(pGrammarNode1); } private List<?> new107() /* reduce AAgrammar108Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList4.get(0); - PAst pastNode9 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, null, pproductionsNode8, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PProductions pProductionsNode8 = (PProductions)popped4.get(0); + PAst pAstNode9 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, null, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new108() /* reduce AAgrammar109Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0); - PAst pastNode8 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, null, pproductionsNode7, pastNode8); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + PStates pStatesNode4 = (PStates)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PProductions pProductionsNode7 = (PProductions)popped3.get(0); + PAst pAstNode8 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, null, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped4); + + return Collections.singletonList(pGrammarNode1); } private List<?> new109() /* reduce AAgrammar110Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList4.get(0); - PAst pastNode9 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, null, pproductionsNode8, pastNode9); + PStates pStatesNode5 = (PStates)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PProductions pProductionsNode8 = (PProductions)popped4.get(0); + PAst pAstNode9 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, null, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new110() /* reduce AAgrammar111Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0); - PAst pastNode8 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, null, pproductionsNode7, pastNode8); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PTokens pTokensNode5 = (PTokens)popped3.get(0); + PProductions pProductionsNode7 = (PProductions)popped4.get(0); + PAst pAstNode8 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, null, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped5); + + return Collections.singletonList(pGrammarNode1); } private List<?> new111() /* reduce AAgrammar112Grammar */ { - List<?> nodeArrayList6 = pop(); - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped6 = pop(); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList4.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList5.get(0); - PAst pastNode9 = (PAst)nodeArrayList6.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, null, pproductionsNode8, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PTokens pTokensNode6 = (PTokens)popped4.get(0); + PProductions pProductionsNode8 = (PProductions)popped5.get(0); + PAst pAstNode9 = (PAst)popped6.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, null, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped6); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new112() /* reduce AAgrammar113Grammar */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList1.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0); - PAst pastNode8 = (PAst)nodeArrayList3.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pigntokensNode6, pproductionsNode7, pastNode8); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped1.get(0); + PProductions pProductionsNode7 = (PProductions)popped2.get(0); + PAst pAstNode8 = (PAst)popped3.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pIgnTokensNode6, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped3); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new113() /* reduce AAgrammar114Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList2.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList3.get(0); - PAst pastNode9 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, pigntokensNode7, pproductionsNode8, pastNode9); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped2.get(0); + PProductions pProductionsNode8 = (PProductions)popped3.get(0); + PAst pAstNode9 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, pIgnTokensNode7, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new114() /* reduce AAgrammar115Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0); - PAst pastNode8 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, pigntokensNode6, pproductionsNode7, pastNode8); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0); + PProductions pProductionsNode7 = (PProductions)popped3.get(0); + PAst pAstNode8 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, pIgnTokensNode6, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new115() /* reduce AAgrammar116Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList4.get(0); - PAst pastNode9 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, pigntokensNode7, pproductionsNode8, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0); + PProductions pProductionsNode8 = (PProductions)popped4.get(0); + PAst pAstNode9 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, pIgnTokensNode7, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new116() /* reduce AAgrammar117Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0); - PAst pastNode8 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, pigntokensNode6, pproductionsNode7, pastNode8); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PStates pStatesNode4 = (PStates)popped1.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0); + PProductions pProductionsNode7 = (PProductions)popped3.get(0); + PAst pAstNode8 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, pIgnTokensNode6, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped4); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new117() /* reduce AAgrammar118Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList4.get(0); - PAst pastNode9 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, pigntokensNode7, pproductionsNode8, pastNode9); + PStates pStatesNode5 = (PStates)popped2.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0); + PProductions pProductionsNode8 = (PProductions)popped4.get(0); + PAst pAstNode9 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, pIgnTokensNode7, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new118() /* reduce AAgrammar119Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0); - PAst pastNode8 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, pigntokensNode6, pproductionsNode7, pastNode8); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0); + PProductions pProductionsNode7 = (PProductions)popped4.get(0); + PAst pAstNode8 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, pIgnTokensNode6, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new119() /* reduce AAgrammar120Grammar */ { - List<?> nodeArrayList6 = pop(); - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped6 = pop(); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList4.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList5.get(0); - PAst pastNode9 = (PAst)nodeArrayList6.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, pigntokensNode7, pproductionsNode8, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0); + PProductions pProductionsNode8 = (PProductions)popped5.get(0); + PAst pAstNode9 = (PAst)popped6.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, pIgnTokensNode7, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped6); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new120() /* reduce AAgrammar121Grammar */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0); - PAst pastNode8 = (PAst)nodeArrayList4.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pgrammarNode1); + PTokens pTokensNode5 = (PTokens)popped1.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0); + PProductions pProductionsNode7 = (PProductions)popped3.get(0); + PAst pAstNode8 = (PAst)popped4.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, pIgnTokensNode6, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped4); + + return Collections.singletonList(pGrammarNode1); } private List<?> new121() /* reduce AAgrammar122Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList4.get(0); - PAst pastNode9 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, pigntokensNode7, pproductionsNode8, pastNode9); + PTokens pTokensNode6 = (PTokens)popped2.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0); + PProductions pProductionsNode8 = (PProductions)popped4.get(0); + PAst pAstNode9 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, pIgnTokensNode7, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped5); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new122() /* reduce AAgrammar123Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0); - PAst pastNode8 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0); + PProductions pProductionsNode7 = (PProductions)popped4.get(0); + PAst pAstNode8 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, pIgnTokensNode6, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped5); + + return Collections.singletonList(pGrammarNode1); } private List<?> new123() /* reduce AAgrammar124Grammar */ { - List<?> nodeArrayList6 = pop(); - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped6 = pop(); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList4.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList5.get(0); - PAst pastNode9 = (PAst)nodeArrayList6.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, pigntokensNode7, pproductionsNode8, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0); + PProductions pProductionsNode8 = (PProductions)popped5.get(0); + PAst pAstNode9 = (PAst)popped6.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, pIgnTokensNode7, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped6); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new124() /* reduce AAgrammar125Grammar */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStates pstatesNode4 = (PStates)nodeArrayList1.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0); - PAst pastNode8 = (PAst)nodeArrayList5.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pgrammarNode1); + PStates pStatesNode4 = (PStates)popped1.get(0); + PTokens pTokensNode5 = (PTokens)popped2.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0); + PProductions pProductionsNode7 = (PProductions)popped4.get(0); + PAst pAstNode8 = (PAst)popped5.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, pIgnTokensNode6, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped5); + + return Collections.singletonList(pGrammarNode1); } private List<?> new125() /* reduce AAgrammar126Grammar */ { - List<?> nodeArrayList6 = pop(); - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped6 = pop(); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PStates pstatesNode5 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList3.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList4.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList5.get(0); - PAst pastNode9 = (PAst)nodeArrayList6.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, pigntokensNode7, pproductionsNode8, pastNode9); + PStates pStatesNode5 = (PStates)popped2.get(0); + PTokens pTokensNode6 = (PTokens)popped3.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0); + PProductions pProductionsNode8 = (PProductions)popped5.get(0); + PAst pAstNode9 = (PAst)popped6.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, pIgnTokensNode7, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped6); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new126() /* reduce AAgrammar127Grammar */ { - List<?> nodeArrayList6 = pop(); - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0); - PStates pstatesNode4 = (PStates)nodeArrayList2.get(0); - PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0); - PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList4.get(0); - PProductions pproductionsNode7 = (PProductions)nodeArrayList5.get(0); - PAst pastNode8 = (PAst)nodeArrayList6.get(0); - AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8); + List<?> popped6 = pop(); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PHelpers pHelpersNode3 = (PHelpers)popped1.get(0); + PStates pStatesNode4 = (PStates)popped2.get(0); + PTokens pTokensNode5 = (PTokens)popped3.get(0); + PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped4.get(0); + PProductions pProductionsNode7 = (PProductions)popped5.get(0); + PAst pAstNode8 = (PAst)popped6.get(0); + AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, pIgnTokensNode6, pProductionsNode7, pAstNode8); + computePositions(pGrammarNode1, popped1, popped6); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new127() /* reduce AAgrammar128Grammar */ { - List<?> nodeArrayList7 = pop(); - List<?> nodeArrayList6 = pop(); - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + List<?> popped7 = pop(); + List<?> popped6 = pop(); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0); List<TPkgId> listNode3 = listNode2; - PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0); - PStates pstatesNode5 = (PStates)nodeArrayList3.get(0); - PTokens ptokensNode6 = (PTokens)nodeArrayList4.get(0); - PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList5.get(0); - PProductions pproductionsNode8 = (PProductions)nodeArrayList6.get(0); - PAst pastNode9 = (PAst)nodeArrayList7.get(0); - AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, pigntokensNode7, pproductionsNode8, pastNode9); + PHelpers pHelpersNode4 = (PHelpers)popped2.get(0); + PStates pStatesNode5 = (PStates)popped3.get(0); + PTokens pTokensNode6 = (PTokens)popped4.get(0); + PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped5.get(0); + PProductions pProductionsNode8 = (PProductions)popped6.get(0); + PAst pAstNode9 = (PAst)popped7.get(0); + AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, pIgnTokensNode7, pProductionsNode8, pAstNode9); + computePositions(pGrammarNode1, popped1, popped7); - checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList7); - return Collections.singletonList(pgrammarNode1); + return Collections.singletonList(pGrammarNode1); } private List<?> new128() /* reduce APackage */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode1 = (List<TPkgId>)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<TPkgId> listNode1 = (List<TPkgId>)popped2.get(0); List<TPkgId> listNode2 = listNode1; - checkResult(listNode2, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode2); } private List<?> new129() /* reduce AApkgname1PkgName */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TPkgId tpkgidNode1 = (TPkgId)nodeArrayList1.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + TPkgId tPkgIdNode1 = (TPkgId)popped1.get(0); List<TPkgId> listNode2; - if(tpkgidNode1 != null) { - listNode2 = Collections.singletonList(tpkgidNode1); + if(tPkgIdNode1 != null) { + listNode2 = Collections.singletonList(tPkgIdNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode2); } private List<?> new130() /* reduce AApkgname2PkgName */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TPkgId tpkgidNode1 = (TPkgId)nodeArrayList1.get(0); - List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList2.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + TPkgId tPkgIdNode1 = (TPkgId)popped1.get(0); + List<TPkgId> listNode2 = (List<TPkgId>)popped2.get(0); List<TPkgId> listNode3 = new LinkedList<>(); - if(tpkgidNode1 != null) + if(tPkgIdNode1 != null) { - listNode3.add(tpkgidNode1); + listNode3.add(tPkgIdNode1); } if (listNode3.isEmpty() && listNode2 instanceof LinkedList<?>) { listNode3 = listNode2; } else { listNode3.addAll(listNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList3); return Collections.singletonList(listNode3); } private List<?> new131() /* reduce APkgNameTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TPkgId tpkgidNode1 = (TPkgId)nodeArrayList2.get(0); - checkResult(tpkgidNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(tpkgidNode1); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + TPkgId tPkgIdNode1 = (TPkgId)popped2.get(0); + return Collections.singletonList(tPkgIdNode1); } private List<?> new132() /* reduce AHelpers */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PHelperDef> listNode2 = (List<PHelperDef>)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<PHelperDef> listNode2 = (List<PHelperDef>)popped2.get(0); List<PHelperDef> listNode3 = listNode2; - AHelpers phelpersNode1 = new AHelpers(listNode3); + AHelpers pHelpersNode1 = new AHelpers(listNode3); + computePositions(pHelpersNode1, popped1, popped2); - checkResult(phelpersNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(phelpersNode1); + return Collections.singletonList(pHelpersNode1); } private List<?> new133() /* reduce AHelperDef */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - PRegExp pregexpNode3 = (PRegExp)nodeArrayList3.get(0); - AHelperDef phelperdefNode1 = new AHelperDef(tidNode2, pregexpNode3); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(phelperdefNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(phelperdefNode1); + TId tIdNode2 = (TId)popped1.get(0); + PRegExp pRegExpNode3 = (PRegExp)popped3.get(0); + AHelperDef pHelperDefNode1 = new AHelperDef(tIdNode2, pRegExpNode3); + computePositions(pHelperDefNode1, popped1, popped4); + + return Collections.singletonList(pHelperDefNode1); } private List<?> new134() /* reduce AStates */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TId> listNode2 = (List<TId>)nodeArrayList2.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TId> listNode2 = (List<TId>)popped2.get(0); List<TId> listNode3 = listNode2; - AStates pstatesNode1 = new AStates(listNode3); + AStates pStatesNode1 = new AStates(listNode3); + computePositions(pStatesNode1, popped1, popped3); - checkResult(pstatesNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pstatesNode1); + return Collections.singletonList(pStatesNode1); } private List<?> new135() /* reduce AAidlist1IdList */ { - List<?> nodeArrayList1 = pop(); - TId tidNode1 = (TId)nodeArrayList1.get(0); + List<?> popped1 = pop(); + TId tIdNode1 = (TId)popped1.get(0); List<TId> listNode2; - if(tidNode1 != null) { - listNode2 = Collections.singletonList(tidNode1); + if(tIdNode1 != null) { + listNode2 = Collections.singletonList(tIdNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new136() /* reduce AAidlist2IdList */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode1 = (TId)nodeArrayList1.get(0); - List<TId> listNode2 = (List<TId>)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + TId tIdNode1 = (TId)popped1.get(0); + List<TId> listNode2 = (List<TId>)popped2.get(0); List<TId> listNode3 = new LinkedList<>(); - if(tidNode1 != null) + if(tIdNode1 != null) { - listNode3.add(tidNode1); + listNode3.add(tIdNode1); } if (listNode3.isEmpty() && listNode2 instanceof LinkedList<?>) { listNode3 = listNode2; } else { listNode3.addAll(listNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new137() /* reduce AIdListTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode1 = (TId)nodeArrayList2.get(0); - checkResult(tidNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(tidNode1); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + TId tIdNode1 = (TId)popped2.get(0); + return Collections.singletonList(tIdNode1); } private List<?> new138() /* reduce ATokens */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PTokenDef> listNode2 = (List<PTokenDef>)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<PTokenDef> listNode2 = (List<PTokenDef>)popped2.get(0); List<PTokenDef> listNode3 = listNode2; - ATokens ptokensNode1 = new ATokens(listNode3); + ATokens pTokensNode1 = new ATokens(listNode3); + computePositions(pTokensNode1, popped1, popped2); - checkResult(ptokensNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(ptokensNode1); + return Collections.singletonList(pTokensNode1); } private List<?> new139() /* reduce AAtokendef1TokenDef */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode3 = (TId)nodeArrayList1.get(0); - PRegExp pregexpNode4 = (PRegExp)nodeArrayList3.get(0); - ATokenDef ptokendefNode1 = new ATokenDef(null, tidNode3, pregexpNode4, null, null); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode3 = (TId)popped1.get(0); + PRegExp pRegExpNode4 = (PRegExp)popped3.get(0); + ATokenDef pTokenDefNode1 = new ATokenDef(null, tIdNode3, pRegExpNode4, null, null); + computePositions(pTokenDefNode1, popped1, popped4); - checkResult(ptokendefNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(ptokendefNode1); + return Collections.singletonList(pTokenDefNode1); } private List<?> new140() /* reduce AAtokendef2TokenDef */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStateList pstatelistNode2 = (PStateList)nodeArrayList1.get(0); - TId tidNode3 = (TId)nodeArrayList2.get(0); - PRegExp pregexpNode4 = (PRegExp)nodeArrayList4.get(0); - ATokenDef ptokendefNode1 = new ATokenDef(pstatelistNode2, tidNode3, pregexpNode4, null, null); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PStateList pStateListNode2 = (PStateList)popped1.get(0); + TId tIdNode3 = (TId)popped2.get(0); + PRegExp pRegExpNode4 = (PRegExp)popped4.get(0); + ATokenDef pTokenDefNode1 = new ATokenDef(pStateListNode2, tIdNode3, pRegExpNode4, null, null); + computePositions(pTokenDefNode1, popped1, popped5); - checkResult(ptokendefNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(ptokendefNode1); + return Collections.singletonList(pTokenDefNode1); } private List<?> new141() /* reduce AAtokendef3TokenDef */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode3 = (TId)nodeArrayList1.get(0); - PRegExp pregexpNode4 = (PRegExp)nodeArrayList3.get(0); - TSlash tslashNode5 = (TSlash)nodeArrayList4.get(0); - PRegExp pregexpNode6 = (PRegExp)nodeArrayList4.get(1); - ATokenDef ptokendefNode1 = new ATokenDef(null, tidNode3, pregexpNode4, tslashNode5, pregexpNode6); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(ptokendefNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(ptokendefNode1); + TId tIdNode3 = (TId)popped1.get(0); + PRegExp pRegExpNode4 = (PRegExp)popped3.get(0); + TSlash tSlashNode5 = (TSlash)popped4.get(0); + PRegExp pRegExpNode6 = (PRegExp)popped4.get(1); + ATokenDef pTokenDefNode1 = new ATokenDef(null, tIdNode3, pRegExpNode4, tSlashNode5, pRegExpNode6); + computePositions(pTokenDefNode1, popped1, popped5); + + return Collections.singletonList(pTokenDefNode1); } private List<?> new142() /* reduce AAtokendef4TokenDef */ { - List<?> nodeArrayList6 = pop(); - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PStateList pstatelistNode2 = (PStateList)nodeArrayList1.get(0); - TId tidNode3 = (TId)nodeArrayList2.get(0); - PRegExp pregexpNode4 = (PRegExp)nodeArrayList4.get(0); - TSlash tslashNode5 = (TSlash)nodeArrayList5.get(0); - PRegExp pregexpNode6 = (PRegExp)nodeArrayList5.get(1); - ATokenDef ptokendefNode1 = new ATokenDef(pstatelistNode2, tidNode3, pregexpNode4, tslashNode5, pregexpNode6); + List<?> popped6 = pop(); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PStateList pStateListNode2 = (PStateList)popped1.get(0); + TId tIdNode3 = (TId)popped2.get(0); + PRegExp pRegExpNode4 = (PRegExp)popped4.get(0); + TSlash tSlashNode5 = (TSlash)popped5.get(0); + PRegExp pRegExpNode6 = (PRegExp)popped5.get(1); + ATokenDef pTokenDefNode1 = new ATokenDef(pStateListNode2, tIdNode3, pRegExpNode4, tSlashNode5, pRegExpNode6); + computePositions(pTokenDefNode1, popped1, popped6); - checkResult(ptokendefNode1, nodeArrayList1, nodeArrayList6); - return Collections.singletonList(ptokendefNode1); + return Collections.singletonList(pTokenDefNode1); } private List<?> new143() /* reduce AAstatelist1StateList */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList2.get(0); - AStateList pstatelistNode1 = new AStateList(tidNode2, null, Collections.emptyList()); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pstatelistNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pstatelistNode1); + TId tIdNode2 = (TId)popped2.get(0); + AStateList pStateListNode1 = new AStateList(tIdNode2, null, Collections.emptyList()); + computePositions(pStateListNode1, popped1, popped3); + + return Collections.singletonList(pStateListNode1); } private List<?> new144() /* reduce AAstatelist2StateList */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList2.get(0); - PTransition ptransitionNode3 = (PTransition)nodeArrayList3.get(0); - AStateList pstatelistNode1 = new AStateList(tidNode2, ptransitionNode3, Collections.emptyList()); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped2.get(0); + PTransition pTransitionNode3 = (PTransition)popped3.get(0); + AStateList pStateListNode1 = new AStateList(tIdNode2, pTransitionNode3, Collections.emptyList()); + computePositions(pStateListNode1, popped1, popped4); - checkResult(pstatelistNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pstatelistNode1); + return Collections.singletonList(pStateListNode1); } private List<?> new145() /* reduce AAstatelist3StateList */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList2.get(0); - List<PStateListTail> listNode4 = (List<PStateListTail>)nodeArrayList3.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped2.get(0); + List<PStateListTail> listNode4 = (List<PStateListTail>)popped3.get(0); List<PStateListTail> listNode5 = listNode4; - AStateList pstatelistNode1 = new AStateList(tidNode2, null, listNode5); + AStateList pStateListNode1 = new AStateList(tIdNode2, null, listNode5); + computePositions(pStateListNode1, popped1, popped4); - checkResult(pstatelistNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pstatelistNode1); + return Collections.singletonList(pStateListNode1); } private List<?> new146() /* reduce AAstatelist4StateList */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList2.get(0); - PTransition ptransitionNode3 = (PTransition)nodeArrayList3.get(0); - List<PStateListTail> listNode4 = (List<PStateListTail>)nodeArrayList4.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped2.get(0); + PTransition pTransitionNode3 = (PTransition)popped3.get(0); + List<PStateListTail> listNode4 = (List<PStateListTail>)popped4.get(0); List<PStateListTail> listNode5 = listNode4; - AStateList pstatelistNode1 = new AStateList(tidNode2, ptransitionNode3, listNode5); + AStateList pStateListNode1 = new AStateList(tIdNode2, pTransitionNode3, listNode5); + computePositions(pStateListNode1, popped1, popped5); - checkResult(pstatelistNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pstatelistNode1); + return Collections.singletonList(pStateListNode1); } private List<?> new147() /* reduce AAstatelisttail1StateListTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList2.get(0); - AStateListTail pstatelisttailNode1 = new AStateListTail(tidNode2, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped2.get(0); + AStateListTail pStateListTailNode1 = new AStateListTail(tIdNode2, null); + computePositions(pStateListTailNode1, popped1, popped2); - checkResult(pstatelisttailNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pstatelisttailNode1); + return Collections.singletonList(pStateListTailNode1); } private List<?> new148() /* reduce AAstatelisttail2StateListTail */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList2.get(0); - PTransition ptransitionNode3 = (PTransition)nodeArrayList3.get(0); - AStateListTail pstatelisttailNode1 = new AStateListTail(tidNode2, ptransitionNode3); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pstatelisttailNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pstatelisttailNode1); + TId tIdNode2 = (TId)popped2.get(0); + PTransition pTransitionNode3 = (PTransition)popped3.get(0); + AStateListTail pStateListTailNode1 = new AStateListTail(tIdNode2, pTransitionNode3); + computePositions(pStateListTailNode1, popped1, popped3); + + return Collections.singletonList(pStateListTailNode1); } private List<?> new149() /* reduce ATransition */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList2.get(0); - ATransition ptransitionNode1 = new ATransition(tidNode2); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped2.get(0); + ATransition pTransitionNode1 = new ATransition(tIdNode2); + computePositions(pTransitionNode1, popped1, popped2); - checkResult(ptransitionNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(ptransitionNode1); + return Collections.singletonList(pTransitionNode1); } private List<?> new150() /* reduce AAigntokens1IgnTokens */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - AIgnTokens pigntokensNode1 = new AIgnTokens(Collections.emptyList()); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pigntokensNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pigntokensNode1); + AIgnTokens pIgnTokensNode1 = new AIgnTokens(Collections.emptyList()); + computePositions(pIgnTokensNode1, popped1, popped3); + + return Collections.singletonList(pIgnTokensNode1); } private List<?> new151() /* reduce AAigntokens2IgnTokens */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TId> listNode2 = (List<TId>)nodeArrayList3.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<TId> listNode2 = (List<TId>)popped3.get(0); List<TId> listNode3 = listNode2; - AIgnTokens pigntokensNode1 = new AIgnTokens(listNode3); + AIgnTokens pIgnTokensNode1 = new AIgnTokens(listNode3); + computePositions(pIgnTokensNode1, popped1, popped4); - checkResult(pigntokensNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pigntokensNode1); + return Collections.singletonList(pIgnTokensNode1); } private List<?> new152() /* reduce ALookAhead */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TSlash tslashNode1 = (TSlash)nodeArrayList1.get(0); - PRegExp pregexpNode2 = (PRegExp)nodeArrayList2.get(0); - checkResult(tslashNode1, nodeArrayList1, nodeArrayList2); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + TSlash tSlashNode1 = (TSlash)popped1.get(0); + PRegExp pRegExpNode2 = (PRegExp)popped2.get(0); return Arrays.asList(new Object[] { - tslashNode1, - pregexpNode2, + tSlashNode1, + pRegExpNode2, }); } private List<?> new153() /* reduce AAregexp1RegExp */ { - List<?> nodeArrayList1 = pop(); - PConcat pconcatNode2 = (PConcat)nodeArrayList1.get(0); + List<?> popped1 = pop(); + + PConcat pConcatNode2 = (PConcat)popped1.get(0); List<PConcat> listNode3; - if(pconcatNode2 != null) { - listNode3 = Collections.singletonList(pconcatNode2); + if(pConcatNode2 != null) { + listNode3 = Collections.singletonList(pConcatNode2); } else { listNode3 = Collections.emptyList(); } - ARegExp pregexpNode1 = new ARegExp(listNode3); + ARegExp pRegExpNode1 = new ARegExp(listNode3); + computePositions(pRegExpNode1, popped1, popped1); - checkResult(pregexpNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pregexpNode1); + return Collections.singletonList(pRegExpNode1); } private List<?> new154() /* reduce AAregexp2RegExp */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PConcat pconcatNode2 = (PConcat)nodeArrayList1.get(0); - List<PConcat> listNode3 = (List<PConcat>)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PConcat pConcatNode2 = (PConcat)popped1.get(0); + List<PConcat> listNode3 = (List<PConcat>)popped2.get(0); List<PConcat> listNode4 = new LinkedList<>(); - if(pconcatNode2 != null) + if(pConcatNode2 != null) { - listNode4.add(pconcatNode2); + listNode4.add(pConcatNode2); } if (listNode4.isEmpty() && listNode3 instanceof LinkedList<?>) { listNode4 = listNode3; } else { listNode4.addAll(listNode3); } - ARegExp pregexpNode1 = new ARegExp(listNode4); + ARegExp pRegExpNode1 = new ARegExp(listNode4); + computePositions(pRegExpNode1, popped1, popped2); - checkResult(pregexpNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pregexpNode1); + return Collections.singletonList(pRegExpNode1); } private List<?> new155() /* reduce ARegExpTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PConcat pconcatNode1 = (PConcat)nodeArrayList2.get(0); - checkResult(pconcatNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pconcatNode1); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + PConcat pConcatNode1 = (PConcat)popped2.get(0); + return Collections.singletonList(pConcatNode1); } private List<?> new156() /* reduce AAconcat1Concat */ { - AConcat pconcatNode1 = new AConcat(Collections.emptyList()); - return Collections.singletonList(pconcatNode1); + AConcat pConcatNode1 = new AConcat(Collections.emptyList()); + + return Collections.singletonList(pConcatNode1); } private List<?> new157() /* reduce AAconcat2Concat */ { - List<?> nodeArrayList1 = pop(); - List<PUnExp> listNode2 = (List<PUnExp>)nodeArrayList1.get(0); + List<?> popped1 = pop(); + + List<PUnExp> listNode2 = (List<PUnExp>)popped1.get(0); List<PUnExp> listNode3 = listNode2; - AConcat pconcatNode1 = new AConcat(listNode3); + AConcat pConcatNode1 = new AConcat(listNode3); + computePositions(pConcatNode1, popped1, popped1); - checkResult(pconcatNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pconcatNode1); + return Collections.singletonList(pConcatNode1); } private List<?> new158() /* reduce AAunexp1UnExp */ { - List<?> nodeArrayList1 = pop(); - PBasic pbasicNode2 = (PBasic)nodeArrayList1.get(0); - AUnExp punexpNode1 = new AUnExp(pbasicNode2, null); + List<?> popped1 = pop(); + + PBasic pBasicNode2 = (PBasic)popped1.get(0); + AUnExp pUnExpNode1 = new AUnExp(pBasicNode2, null); + computePositions(pUnExpNode1, popped1, popped1); - checkResult(punexpNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(punexpNode1); + return Collections.singletonList(pUnExpNode1); } private List<?> new159() /* reduce AAunexp2UnExp */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PBasic pbasicNode2 = (PBasic)nodeArrayList1.get(0); - PUnOp punopNode3 = (PUnOp)nodeArrayList2.get(0); - AUnExp punexpNode1 = new AUnExp(pbasicNode2, punopNode3); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(punexpNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(punexpNode1); + PBasic pBasicNode2 = (PBasic)popped1.get(0); + PUnOp pUnOpNode3 = (PUnOp)popped2.get(0); + AUnExp pUnExpNode1 = new AUnExp(pBasicNode2, pUnOpNode3); + computePositions(pUnExpNode1, popped1, popped2); + + return Collections.singletonList(pUnExpNode1); } private List<?> new160() /* reduce ACharBasic */ { - List<?> nodeArrayList1 = pop(); - PChar pcharNode2 = (PChar)nodeArrayList1.get(0); - ACharBasic pbasicNode1 = new ACharBasic(pcharNode2); + List<?> popped1 = pop(); + + PChar pCharNode2 = (PChar)popped1.get(0); + ACharBasic pBasicNode1 = new ACharBasic(pCharNode2); + computePositions(pBasicNode1, popped1, popped1); - checkResult(pbasicNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pbasicNode1); + return Collections.singletonList(pBasicNode1); } private List<?> new161() /* reduce ASetBasic */ { - List<?> nodeArrayList1 = pop(); - PSet psetNode2 = (PSet)nodeArrayList1.get(0); - ASetBasic pbasicNode1 = new ASetBasic(psetNode2); + List<?> popped1 = pop(); - checkResult(pbasicNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pbasicNode1); + PSet pSetNode2 = (PSet)popped1.get(0); + ASetBasic pBasicNode1 = new ASetBasic(pSetNode2); + computePositions(pBasicNode1, popped1, popped1); + + return Collections.singletonList(pBasicNode1); } private List<?> new162() /* reduce AStringBasic */ { - List<?> nodeArrayList1 = pop(); - TString tstringNode2 = (TString)nodeArrayList1.get(0); - AStringBasic pbasicNode1 = new AStringBasic(tstringNode2); + List<?> popped1 = pop(); + + TString tStringNode2 = (TString)popped1.get(0); + AStringBasic pBasicNode1 = new AStringBasic(tStringNode2); + computePositions(pBasicNode1, popped1, popped1); - checkResult(pbasicNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pbasicNode1); + return Collections.singletonList(pBasicNode1); } private List<?> new163() /* reduce AIdBasic */ { - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - AIdBasic pbasicNode1 = new AIdBasic(tidNode2); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped1.get(0); + AIdBasic pBasicNode1 = new AIdBasic(tIdNode2); + computePositions(pBasicNode1, popped1, popped1); - checkResult(pbasicNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pbasicNode1); + return Collections.singletonList(pBasicNode1); } private List<?> new164() /* reduce ARegExpBasic */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PRegExp pregexpNode2 = (PRegExp)nodeArrayList2.get(0); - ARegExpBasic pbasicNode1 = new ARegExpBasic(pregexpNode2); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pbasicNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pbasicNode1); + PRegExp pRegExpNode2 = (PRegExp)popped2.get(0); + ARegExpBasic pBasicNode1 = new ARegExpBasic(pRegExpNode2); + computePositions(pBasicNode1, popped1, popped3); + + return Collections.singletonList(pBasicNode1); } private List<?> new165() /* reduce ACharChar */ { - List<?> nodeArrayList1 = pop(); - TChar tcharNode2 = (TChar)nodeArrayList1.get(0); - ACharChar pcharNode1 = new ACharChar(tcharNode2); + List<?> popped1 = pop(); + + TChar tCharNode2 = (TChar)popped1.get(0); + ACharChar pCharNode1 = new ACharChar(tCharNode2); + computePositions(pCharNode1, popped1, popped1); - checkResult(pcharNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pcharNode1); + return Collections.singletonList(pCharNode1); } private List<?> new166() /* reduce ADecChar */ { - List<?> nodeArrayList1 = pop(); - TDecChar tdeccharNode2 = (TDecChar)nodeArrayList1.get(0); - ADecChar pcharNode1 = new ADecChar(tdeccharNode2); + List<?> popped1 = pop(); - checkResult(pcharNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pcharNode1); + TDecChar tDecCharNode2 = (TDecChar)popped1.get(0); + ADecChar pCharNode1 = new ADecChar(tDecCharNode2); + computePositions(pCharNode1, popped1, popped1); + + return Collections.singletonList(pCharNode1); } private List<?> new167() /* reduce AHexChar */ { - List<?> nodeArrayList1 = pop(); - THexChar thexcharNode2 = (THexChar)nodeArrayList1.get(0); - AHexChar pcharNode1 = new AHexChar(thexcharNode2); + List<?> popped1 = pop(); + + THexChar tHexCharNode2 = (THexChar)popped1.get(0); + AHexChar pCharNode1 = new AHexChar(tHexCharNode2); + computePositions(pCharNode1, popped1, popped1); - checkResult(pcharNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pcharNode1); + return Collections.singletonList(pCharNode1); } private List<?> new168() /* reduce AOperationSet */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PBasic pbasicNode2 = (PBasic)nodeArrayList2.get(0); - PBinOp pbinopNode3 = (PBinOp)nodeArrayList3.get(0); - PBasic pbasicNode4 = (PBasic)nodeArrayList4.get(0); - AOperationSet psetNode1 = new AOperationSet(pbasicNode2, pbinopNode3, pbasicNode4); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(psetNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(psetNode1); + PBasic pBasicNode2 = (PBasic)popped2.get(0); + PBinOp pBinOpNode3 = (PBinOp)popped3.get(0); + PBasic pBasicNode4 = (PBasic)popped4.get(0); + AOperationSet pSetNode1 = new AOperationSet(pBasicNode2, pBinOpNode3, pBasicNode4); + computePositions(pSetNode1, popped1, popped5); + + return Collections.singletonList(pSetNode1); } private List<?> new169() /* reduce AIntervalSet */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PChar pcharNode2 = (PChar)nodeArrayList2.get(0); - PChar pcharNode3 = (PChar)nodeArrayList4.get(0); - AIntervalSet psetNode1 = new AIntervalSet(pcharNode2, pcharNode3); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PChar pCharNode2 = (PChar)popped2.get(0); + PChar pCharNode3 = (PChar)popped4.get(0); + AIntervalSet pSetNode1 = new AIntervalSet(pCharNode2, pCharNode3); + computePositions(pSetNode1, popped1, popped5); - checkResult(psetNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(psetNode1); + return Collections.singletonList(pSetNode1); } private List<?> new170() /* reduce AStarUnOp */ { - List<?> nodeArrayList1 = pop(); - TStar tstarNode2 = (TStar)nodeArrayList1.get(0); - AStarUnOp punopNode1 = new AStarUnOp(tstarNode2); + List<?> popped1 = pop(); - checkResult(punopNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(punopNode1); + TStar tStarNode2 = (TStar)popped1.get(0); + AStarUnOp pUnOpNode1 = new AStarUnOp(tStarNode2); + computePositions(pUnOpNode1, popped1, popped1); + + return Collections.singletonList(pUnOpNode1); } private List<?> new171() /* reduce AQMarkUnOp */ { - List<?> nodeArrayList1 = pop(); - TQMark tqmarkNode2 = (TQMark)nodeArrayList1.get(0); - AQMarkUnOp punopNode1 = new AQMarkUnOp(tqmarkNode2); + List<?> popped1 = pop(); + + TQMark tQMarkNode2 = (TQMark)popped1.get(0); + AQMarkUnOp pUnOpNode1 = new AQMarkUnOp(tQMarkNode2); + computePositions(pUnOpNode1, popped1, popped1); - checkResult(punopNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(punopNode1); + return Collections.singletonList(pUnOpNode1); } private List<?> new172() /* reduce APlusUnOp */ { - List<?> nodeArrayList1 = pop(); - TPlus tplusNode2 = (TPlus)nodeArrayList1.get(0); - APlusUnOp punopNode1 = new APlusUnOp(tplusNode2); + List<?> popped1 = pop(); - checkResult(punopNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(punopNode1); + TPlus tPlusNode2 = (TPlus)popped1.get(0); + APlusUnOp pUnOpNode1 = new APlusUnOp(tPlusNode2); + computePositions(pUnOpNode1, popped1, popped1); + + return Collections.singletonList(pUnOpNode1); } private List<?> new173() /* reduce APlusBinOp */ { - List<?> nodeArrayList1 = pop(); - APlusBinOp pbinopNode1 = new APlusBinOp(); + List<?> popped1 = pop(); + + APlusBinOp pBinOpNode1 = new APlusBinOp(); + computePositions(pBinOpNode1, popped1, popped1); - checkResult(pbinopNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pbinopNode1); + return Collections.singletonList(pBinOpNode1); } private List<?> new174() /* reduce AMinusBinOp */ { - List<?> nodeArrayList1 = pop(); - AMinusBinOp pbinopNode1 = new AMinusBinOp(); + List<?> popped1 = pop(); - checkResult(pbinopNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pbinopNode1); + AMinusBinOp pBinOpNode1 = new AMinusBinOp(); + computePositions(pBinOpNode1, popped1, popped1); + + return Collections.singletonList(pBinOpNode1); } private List<?> new175() /* reduce AProductions */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PProd> listNode2 = (List<PProd>)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<PProd> listNode2 = (List<PProd>)popped2.get(0); List<PProd> listNode3 = listNode2; - AProductions pproductionsNode1 = new AProductions(listNode3); + AProductions pProductionsNode1 = new AProductions(listNode3); + computePositions(pProductionsNode1, popped1, popped2); - checkResult(pproductionsNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pproductionsNode1); + return Collections.singletonList(pProductionsNode1); } private List<?> new176() /* reduce AAprod1Prod */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - List<PAlt> listNode5 = (List<PAlt>)nodeArrayList3.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped1.get(0); + List<PAlt> listNode5 = (List<PAlt>)popped3.get(0); List<PAlt> listNode6 = listNode5; - AProd pprodNode1 = new AProd(tidNode2, null, Collections.emptyList(), listNode6); + AProd pProdNode1 = new AProd(tIdNode2, null, Collections.emptyList(), listNode6); + computePositions(pProdNode1, popped1, popped4); - checkResult(pprodNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pprodNode1); + return Collections.singletonList(pProdNode1); } private List<?> new177() /* reduce AAprod2Prod */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - TArrow tarrowNode3 = (TArrow)nodeArrayList2.get(0); - List<PElem> listNode4 = (List<PElem>)nodeArrayList2.get(1); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped1.get(0); + TArrow tArrowNode3 = (TArrow)popped2.get(0); + List<PElem> listNode4 = (List<PElem>)popped2.get(1); List<PElem> listNode5 = listNode4; - List<PAlt> listNode6 = (List<PAlt>)nodeArrayList4.get(0); + List<PAlt> listNode6 = (List<PAlt>)popped4.get(0); List<PAlt> listNode7 = listNode6; - AProd pprodNode1 = new AProd(tidNode2, tarrowNode3, listNode5, listNode7); + AProd pProdNode1 = new AProd(tIdNode2, tArrowNode3, listNode5, listNode7); + computePositions(pProdNode1, popped1, popped5); - checkResult(pprodNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(pprodNode1); + return Collections.singletonList(pProdNode1); } private List<?> new178() /* reduce AAprodtransform1ProdTransform */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TArrow tarrowNode1 = (TArrow)nodeArrayList2.get(0); - checkResult(tarrowNode1, nodeArrayList1, nodeArrayList3); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + TArrow tArrowNode1 = (TArrow)popped2.get(0); return Arrays.asList(new Object[] { - tarrowNode1, + tArrowNode1, Collections.emptyList(), }); } private List<?> new179() /* reduce AAprodtransform2ProdTransform */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TArrow tarrowNode1 = (TArrow)nodeArrayList2.get(0); - List<PElem> listNode2 = (List<PElem>)nodeArrayList3.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + TArrow tArrowNode1 = (TArrow)popped2.get(0); + List<PElem> listNode2 = (List<PElem>)popped3.get(0); List<PElem> listNode3 = listNode2; - checkResult(tarrowNode1, nodeArrayList1, nodeArrayList4); return Arrays.asList(new Object[] { - tarrowNode1, + tArrowNode1, listNode3, }); } private List<?> new180() /* reduce AAalts1Alts */ { - List<?> nodeArrayList1 = pop(); - PAlt paltNode1 = (PAlt)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PAlt pAltNode1 = (PAlt)popped1.get(0); List<PAlt> listNode2; - if(paltNode1 != null) { - listNode2 = Collections.singletonList(paltNode1); + if(pAltNode1 != null) { + listNode2 = Collections.singletonList(pAltNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new181() /* reduce AAalts2Alts */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PAlt paltNode1 = (PAlt)nodeArrayList1.get(0); - List<PAlt> listNode2 = (List<PAlt>)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + PAlt pAltNode1 = (PAlt)popped1.get(0); + List<PAlt> listNode2 = (List<PAlt>)popped2.get(0); List<PAlt> listNode3 = new LinkedList<>(); - if(paltNode1 != null) + if(pAltNode1 != null) { - listNode3.add(paltNode1); + listNode3.add(pAltNode1); } if (listNode3.isEmpty() && listNode2 instanceof LinkedList<?>) { listNode3 = listNode2; } else { listNode3.addAll(listNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new182() /* reduce AAltsTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PAlt paltNode1 = (PAlt)nodeArrayList2.get(0); - checkResult(paltNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(paltNode1); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + PAlt pAltNode1 = (PAlt)popped2.get(0); + return Collections.singletonList(pAltNode1); } private List<?> new183() /* reduce AAalt1Alt */ { - AAlt paltNode1 = new AAlt(null, Collections.emptyList(), null); - return Collections.singletonList(paltNode1); + AAlt pAltNode1 = new AAlt(null, Collections.emptyList(), null); + + return Collections.singletonList(pAltNode1); } private List<?> new184() /* reduce AAalt2Alt */ { - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - AAlt paltNode1 = new AAlt(tidNode2, Collections.emptyList(), null); + List<?> popped1 = pop(); - checkResult(paltNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(paltNode1); + TId tIdNode2 = (TId)popped1.get(0); + AAlt pAltNode1 = new AAlt(tIdNode2, Collections.emptyList(), null); + computePositions(pAltNode1, popped1, popped1); + + return Collections.singletonList(pAltNode1); } private List<?> new185() /* reduce AAalt3Alt */ { - List<?> nodeArrayList1 = pop(); - List<PElem> listNode3 = (List<PElem>)nodeArrayList1.get(0); + List<?> popped1 = pop(); + + List<PElem> listNode3 = (List<PElem>)popped1.get(0); List<PElem> listNode4 = listNode3; - AAlt paltNode1 = new AAlt(null, listNode4, null); + AAlt pAltNode1 = new AAlt(null, listNode4, null); + computePositions(pAltNode1, popped1, popped1); - checkResult(paltNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(paltNode1); + return Collections.singletonList(pAltNode1); } private List<?> new186() /* reduce AAalt4Alt */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - List<PElem> listNode3 = (List<PElem>)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped1.get(0); + List<PElem> listNode3 = (List<PElem>)popped2.get(0); List<PElem> listNode4 = listNode3; - AAlt paltNode1 = new AAlt(tidNode2, listNode4, null); + AAlt pAltNode1 = new AAlt(tIdNode2, listNode4, null); + computePositions(pAltNode1, popped1, popped2); - checkResult(paltNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(paltNode1); + return Collections.singletonList(pAltNode1); } private List<?> new187() /* reduce AAalt5Alt */ { - List<?> nodeArrayList1 = pop(); - PAltTransform palttransformNode4 = (PAltTransform)nodeArrayList1.get(0); - AAlt paltNode1 = new AAlt(null, Collections.emptyList(), palttransformNode4); + List<?> popped1 = pop(); + + PAltTransform pAltTransformNode4 = (PAltTransform)popped1.get(0); + AAlt pAltNode1 = new AAlt(null, Collections.emptyList(), pAltTransformNode4); + computePositions(pAltNode1, popped1, popped1); - checkResult(paltNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(paltNode1); + return Collections.singletonList(pAltNode1); } private List<?> new188() /* reduce AAalt6Alt */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - PAltTransform palttransformNode4 = (PAltTransform)nodeArrayList2.get(0); - AAlt paltNode1 = new AAlt(tidNode2, Collections.emptyList(), palttransformNode4); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(paltNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(paltNode1); + TId tIdNode2 = (TId)popped1.get(0); + PAltTransform pAltTransformNode4 = (PAltTransform)popped2.get(0); + AAlt pAltNode1 = new AAlt(tIdNode2, Collections.emptyList(), pAltTransformNode4); + computePositions(pAltNode1, popped1, popped2); + + return Collections.singletonList(pAltNode1); } private List<?> new189() /* reduce AAalt7Alt */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PElem> listNode3 = (List<PElem>)nodeArrayList1.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<PElem> listNode3 = (List<PElem>)popped1.get(0); List<PElem> listNode4 = listNode3; - PAltTransform palttransformNode5 = (PAltTransform)nodeArrayList2.get(0); - AAlt paltNode1 = new AAlt(null, listNode4, palttransformNode5); + PAltTransform pAltTransformNode5 = (PAltTransform)popped2.get(0); + AAlt pAltNode1 = new AAlt(null, listNode4, pAltTransformNode5); + computePositions(pAltNode1, popped1, popped2); - checkResult(paltNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(paltNode1); + return Collections.singletonList(pAltNode1); } private List<?> new190() /* reduce AAalt8Alt */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - List<PElem> listNode3 = (List<PElem>)nodeArrayList2.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped1.get(0); + List<PElem> listNode3 = (List<PElem>)popped2.get(0); List<PElem> listNode4 = listNode3; - PAltTransform palttransformNode5 = (PAltTransform)nodeArrayList3.get(0); - AAlt paltNode1 = new AAlt(tidNode2, listNode4, palttransformNode5); + PAltTransform pAltTransformNode5 = (PAltTransform)popped3.get(0); + AAlt pAltNode1 = new AAlt(tIdNode2, listNode4, pAltTransformNode5); + computePositions(pAltNode1, popped1, popped3); - checkResult(paltNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(paltNode1); + return Collections.singletonList(pAltNode1); } private List<?> new191() /* reduce AAalttransform1AltTransform */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TLBrace tlbraceNode2 = (TLBrace)nodeArrayList1.get(0); - TRBrace trbraceNode4 = (TRBrace)nodeArrayList3.get(0); - AAltTransform palttransformNode1 = new AAltTransform(tlbraceNode2, Collections.emptyList(), trbraceNode4); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(palttransformNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(palttransformNode1); + TLBrace tLBraceNode2 = (TLBrace)popped1.get(0); + TRBrace tRBraceNode4 = (TRBrace)popped3.get(0); + AAltTransform pAltTransformNode1 = new AAltTransform(tLBraceNode2, Collections.emptyList(), tRBraceNode4); + computePositions(pAltTransformNode1, popped1, popped3); + + return Collections.singletonList(pAltTransformNode1); } private List<?> new192() /* reduce AAalttransform2AltTransform */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TLBrace tlbraceNode2 = (TLBrace)nodeArrayList1.get(0); - List<PTerm> listNode3 = (List<PTerm>)nodeArrayList3.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TLBrace tLBraceNode2 = (TLBrace)popped1.get(0); + List<PTerm> listNode3 = (List<PTerm>)popped3.get(0); List<PTerm> listNode4 = listNode3; - TRBrace trbraceNode5 = (TRBrace)nodeArrayList4.get(0); - AAltTransform palttransformNode1 = new AAltTransform(tlbraceNode2, listNode4, trbraceNode5); + TRBrace tRBraceNode5 = (TRBrace)popped4.get(0); + AAltTransform pAltTransformNode1 = new AAltTransform(tLBraceNode2, listNode4, tRBraceNode5); + computePositions(pAltTransformNode1, popped1, popped4); - checkResult(palttransformNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(palttransformNode1); + return Collections.singletonList(pAltTransformNode1); } private List<?> new193() /* reduce AAnewterm1Term */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PProdName pprodnameNode2 = (PProdName)nodeArrayList2.get(0); - TLPar tlparNode3 = (TLPar)nodeArrayList3.get(0); - ANewTerm ptermNode1 = new ANewTerm(pprodnameNode2, tlparNode3, Collections.emptyList()); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(ptermNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(ptermNode1); + PProdName pProdNameNode2 = (PProdName)popped2.get(0); + TLPar tLParNode3 = (TLPar)popped3.get(0); + ANewTerm pTermNode1 = new ANewTerm(pProdNameNode2, tLParNode3, Collections.emptyList()); + computePositions(pTermNode1, popped1, popped4); + + return Collections.singletonList(pTermNode1); } private List<?> new194() /* reduce AAnewterm2Term */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PProdName pprodnameNode2 = (PProdName)nodeArrayList2.get(0); - TLPar tlparNode3 = (TLPar)nodeArrayList3.get(0); - List<PTerm> listNode4 = (List<PTerm>)nodeArrayList4.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PProdName pProdNameNode2 = (PProdName)popped2.get(0); + TLPar tLParNode3 = (TLPar)popped3.get(0); + List<PTerm> listNode4 = (List<PTerm>)popped4.get(0); List<PTerm> listNode5 = listNode4; - ANewTerm ptermNode1 = new ANewTerm(pprodnameNode2, tlparNode3, listNode5); + ANewTerm pTermNode1 = new ANewTerm(pProdNameNode2, tLParNode3, listNode5); + computePositions(pTermNode1, popped1, popped5); - checkResult(ptermNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(ptermNode1); + return Collections.singletonList(pTermNode1); } private List<?> new195() /* reduce AAlistterm1Term */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TLBkt tlbktNode2 = (TLBkt)nodeArrayList1.get(0); - AListTerm ptermNode1 = new AListTerm(tlbktNode2, Collections.emptyList()); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(ptermNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(ptermNode1); + TLBkt tLBktNode2 = (TLBkt)popped1.get(0); + AListTerm pTermNode1 = new AListTerm(tLBktNode2, Collections.emptyList()); + computePositions(pTermNode1, popped1, popped2); + + return Collections.singletonList(pTermNode1); } private List<?> new196() /* reduce AAlistterm2Term */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TLBkt tlbktNode2 = (TLBkt)nodeArrayList1.get(0); - List<PListTerm> listNode3 = (List<PListTerm>)nodeArrayList2.get(0); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TLBkt tLBktNode2 = (TLBkt)popped1.get(0); + List<PListTerm> listNode3 = (List<PListTerm>)popped2.get(0); List<PListTerm> listNode4 = listNode3; - AListTerm ptermNode1 = new AListTerm(tlbktNode2, listNode4); + AListTerm pTermNode1 = new AListTerm(tLBktNode2, listNode4); + computePositions(pTermNode1, popped1, popped3); - checkResult(ptermNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(ptermNode1); + return Collections.singletonList(pTermNode1); } private List<?> new197() /* reduce AAsimpleterm1Term */ { - List<?> nodeArrayList1 = pop(); - TId tidNode3 = (TId)nodeArrayList1.get(0); - ASimpleTerm ptermNode1 = new ASimpleTerm(null, tidNode3, null); + List<?> popped1 = pop(); + + TId tIdNode3 = (TId)popped1.get(0); + ASimpleTerm pTermNode1 = new ASimpleTerm(null, tIdNode3, null); + computePositions(pTermNode1, popped1, popped1); - checkResult(ptermNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(ptermNode1); + return Collections.singletonList(pTermNode1); } private List<?> new198() /* reduce AAsimpleterm2Term */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PSpecifier pspecifierNode2 = (PSpecifier)nodeArrayList1.get(0); - TId tidNode3 = (TId)nodeArrayList2.get(0); - ASimpleTerm ptermNode1 = new ASimpleTerm(pspecifierNode2, tidNode3, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(ptermNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(ptermNode1); + PSpecifier pSpecifierNode2 = (PSpecifier)popped1.get(0); + TId tIdNode3 = (TId)popped2.get(0); + ASimpleTerm pTermNode1 = new ASimpleTerm(pSpecifierNode2, tIdNode3, null); + computePositions(pTermNode1, popped1, popped2); + + return Collections.singletonList(pTermNode1); } private List<?> new199() /* reduce AAsimpleterm3Term */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode3 = (TId)nodeArrayList1.get(0); - TId tidNode4 = (TId)nodeArrayList2.get(0); - ASimpleTerm ptermNode1 = new ASimpleTerm(null, tidNode3, tidNode4); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode3 = (TId)popped1.get(0); + TId tIdNode4 = (TId)popped2.get(0); + ASimpleTerm pTermNode1 = new ASimpleTerm(null, tIdNode3, tIdNode4); + computePositions(pTermNode1, popped1, popped2); - checkResult(ptermNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(ptermNode1); + return Collections.singletonList(pTermNode1); } private List<?> new200() /* reduce AAsimpleterm4Term */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PSpecifier pspecifierNode2 = (PSpecifier)nodeArrayList1.get(0); - TId tidNode3 = (TId)nodeArrayList2.get(0); - TId tidNode4 = (TId)nodeArrayList3.get(0); - ASimpleTerm ptermNode1 = new ASimpleTerm(pspecifierNode2, tidNode3, tidNode4); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(ptermNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(ptermNode1); + PSpecifier pSpecifierNode2 = (PSpecifier)popped1.get(0); + TId tIdNode3 = (TId)popped2.get(0); + TId tIdNode4 = (TId)popped3.get(0); + ASimpleTerm pTermNode1 = new ASimpleTerm(pSpecifierNode2, tIdNode3, tIdNode4); + computePositions(pTermNode1, popped1, popped3); + + return Collections.singletonList(pTermNode1); } private List<?> new201() /* reduce ANullTerm */ { - List<?> nodeArrayList1 = pop(); - ANullTerm ptermNode1 = new ANullTerm(); + List<?> popped1 = pop(); + + ANullTerm pTermNode1 = new ANullTerm(); + computePositions(pTermNode1, popped1, popped1); - checkResult(ptermNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(ptermNode1); + return Collections.singletonList(pTermNode1); } private List<?> new202() /* reduce AAlistoflistterm1ListOfListTerm */ { - List<?> nodeArrayList1 = pop(); - PListTerm plisttermNode1 = (PListTerm)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PListTerm pListTermNode1 = (PListTerm)popped1.get(0); List<PListTerm> listNode2; - if(plisttermNode1 != null) { - listNode2 = Collections.singletonList(plisttermNode1); + if(pListTermNode1 != null) { + listNode2 = Collections.singletonList(pListTermNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new203() /* reduce AAlistoflistterm2ListOfListTerm */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PListTerm plisttermNode1 = (PListTerm)nodeArrayList1.get(0); - List<PListTerm> listNode2 = (List<PListTerm>)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + PListTerm pListTermNode1 = (PListTerm)popped1.get(0); + List<PListTerm> listNode2 = (List<PListTerm>)popped2.get(0); List<PListTerm> listNode3 = new LinkedList<>(); - if(plisttermNode1 != null) + if(pListTermNode1 != null) { - listNode3.add(plisttermNode1); + listNode3.add(pListTermNode1); } if (listNode3.isEmpty() && listNode2 instanceof LinkedList<?>) { listNode3 = listNode2; } else { listNode3.addAll(listNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new204() /* reduce AAnewlistterm1ListTerm */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PProdName pprodnameNode2 = (PProdName)nodeArrayList2.get(0); - TLPar tlparNode3 = (TLPar)nodeArrayList3.get(0); - ANewListTerm plisttermNode1 = new ANewListTerm(pprodnameNode2, tlparNode3, Collections.emptyList()); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(plisttermNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(plisttermNode1); + PProdName pProdNameNode2 = (PProdName)popped2.get(0); + TLPar tLParNode3 = (TLPar)popped3.get(0); + ANewListTerm pListTermNode1 = new ANewListTerm(pProdNameNode2, tLParNode3, Collections.emptyList()); + computePositions(pListTermNode1, popped1, popped4); + + return Collections.singletonList(pListTermNode1); } private List<?> new205() /* reduce AAnewlistterm2ListTerm */ { - List<?> nodeArrayList5 = pop(); - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PProdName pprodnameNode2 = (PProdName)nodeArrayList2.get(0); - TLPar tlparNode3 = (TLPar)nodeArrayList3.get(0); - List<PTerm> listNode4 = (List<PTerm>)nodeArrayList4.get(0); + List<?> popped5 = pop(); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + PProdName pProdNameNode2 = (PProdName)popped2.get(0); + TLPar tLParNode3 = (TLPar)popped3.get(0); + List<PTerm> listNode4 = (List<PTerm>)popped4.get(0); List<PTerm> listNode5 = listNode4; - ANewListTerm plisttermNode1 = new ANewListTerm(pprodnameNode2, tlparNode3, listNode5); + ANewListTerm pListTermNode1 = new ANewListTerm(pProdNameNode2, tLParNode3, listNode5); + computePositions(pListTermNode1, popped1, popped5); - checkResult(plisttermNode1, nodeArrayList1, nodeArrayList5); - return Collections.singletonList(plisttermNode1); + return Collections.singletonList(pListTermNode1); } private List<?> new206() /* reduce AAsimplelistterm1ListTerm */ { - List<?> nodeArrayList1 = pop(); - TId tidNode3 = (TId)nodeArrayList1.get(0); - ASimpleListTerm plisttermNode1 = new ASimpleListTerm(null, tidNode3, null); + List<?> popped1 = pop(); + + TId tIdNode3 = (TId)popped1.get(0); + ASimpleListTerm pListTermNode1 = new ASimpleListTerm(null, tIdNode3, null); + computePositions(pListTermNode1, popped1, popped1); - checkResult(plisttermNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(plisttermNode1); + return Collections.singletonList(pListTermNode1); } private List<?> new207() /* reduce AAsimplelistterm2ListTerm */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PSpecifier pspecifierNode2 = (PSpecifier)nodeArrayList1.get(0); - TId tidNode3 = (TId)nodeArrayList2.get(0); - ASimpleListTerm plisttermNode1 = new ASimpleListTerm(pspecifierNode2, tidNode3, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(plisttermNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(plisttermNode1); + PSpecifier pSpecifierNode2 = (PSpecifier)popped1.get(0); + TId tIdNode3 = (TId)popped2.get(0); + ASimpleListTerm pListTermNode1 = new ASimpleListTerm(pSpecifierNode2, tIdNode3, null); + computePositions(pListTermNode1, popped1, popped2); + + return Collections.singletonList(pListTermNode1); } private List<?> new208() /* reduce AAsimplelistterm3ListTerm */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode3 = (TId)nodeArrayList1.get(0); - TId tidNode4 = (TId)nodeArrayList2.get(0); - ASimpleListTerm plisttermNode1 = new ASimpleListTerm(null, tidNode3, tidNode4); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode3 = (TId)popped1.get(0); + TId tIdNode4 = (TId)popped2.get(0); + ASimpleListTerm pListTermNode1 = new ASimpleListTerm(null, tIdNode3, tIdNode4); + computePositions(pListTermNode1, popped1, popped2); - checkResult(plisttermNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(plisttermNode1); + return Collections.singletonList(pListTermNode1); } private List<?> new209() /* reduce AAsimplelistterm4ListTerm */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PSpecifier pspecifierNode2 = (PSpecifier)nodeArrayList1.get(0); - TId tidNode3 = (TId)nodeArrayList2.get(0); - TId tidNode4 = (TId)nodeArrayList3.get(0); - ASimpleListTerm plisttermNode1 = new ASimpleListTerm(pspecifierNode2, tidNode3, tidNode4); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(plisttermNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(plisttermNode1); + PSpecifier pSpecifierNode2 = (PSpecifier)popped1.get(0); + TId tIdNode3 = (TId)popped2.get(0); + TId tIdNode4 = (TId)popped3.get(0); + ASimpleListTerm pListTermNode1 = new ASimpleListTerm(pSpecifierNode2, tIdNode3, tIdNode4); + computePositions(pListTermNode1, popped1, popped3); + + return Collections.singletonList(pListTermNode1); } private List<?> new210() /* reduce AListTermTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PListTerm plisttermNode1 = (PListTerm)nodeArrayList2.get(0); - checkResult(plisttermNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(plisttermNode1); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + PListTerm pListTermNode1 = (PListTerm)popped2.get(0); + return Collections.singletonList(pListTermNode1); } private List<?> new211() /* reduce ASimpleTermTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode1 = (TId)nodeArrayList2.get(0); - checkResult(tidNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(tidNode1); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + TId tIdNode1 = (TId)popped2.get(0); + return Collections.singletonList(tIdNode1); } private List<?> new212() /* reduce AAprodname1ProdName */ { - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - AProdName pprodnameNode1 = new AProdName(tidNode2, null); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped1.get(0); + AProdName pProdNameNode1 = new AProdName(tIdNode2, null); + computePositions(pProdNameNode1, popped1, popped1); - checkResult(pprodnameNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pprodnameNode1); + return Collections.singletonList(pProdNameNode1); } private List<?> new213() /* reduce AAprodname2ProdName */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - TId tidNode3 = (TId)nodeArrayList2.get(0); - AProdName pprodnameNode1 = new AProdName(tidNode2, tidNode3); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pprodnameNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pprodnameNode1); + TId tIdNode2 = (TId)popped1.get(0); + TId tIdNode3 = (TId)popped2.get(0); + AProdName pProdNameNode1 = new AProdName(tIdNode2, tIdNode3); + computePositions(pProdNameNode1, popped1, popped2); + + return Collections.singletonList(pProdNameNode1); } private List<?> new214() /* reduce AProdNameTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode1 = (TId)nodeArrayList2.get(0); - checkResult(tidNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(tidNode1); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + TId tIdNode1 = (TId)popped2.get(0); + return Collections.singletonList(tIdNode1); } private List<?> new215() /* reduce AAparams1Params */ { - List<?> nodeArrayList1 = pop(); - PTerm ptermNode1 = (PTerm)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PTerm pTermNode1 = (PTerm)popped1.get(0); List<PTerm> listNode2; - if(ptermNode1 != null) { - listNode2 = Collections.singletonList(ptermNode1); + if(pTermNode1 != null) { + listNode2 = Collections.singletonList(pTermNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new216() /* reduce AAparams2Params */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PTerm ptermNode1 = (PTerm)nodeArrayList1.get(0); - List<PTerm> listNode2 = (List<PTerm>)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + PTerm pTermNode1 = (PTerm)popped1.get(0); + List<PTerm> listNode2 = (List<PTerm>)popped2.get(0); List<PTerm> listNode3 = new LinkedList<>(); - if(ptermNode1 != null) + if(pTermNode1 != null) { - listNode3.add(ptermNode1); + listNode3.add(pTermNode1); } if (listNode3.isEmpty() && listNode2 instanceof LinkedList<?>) { listNode3 = listNode2; } else { listNode3.addAll(listNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new217() /* reduce AParamsTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PTerm ptermNode1 = (PTerm)nodeArrayList2.get(0); - checkResult(ptermNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(ptermNode1); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + PTerm pTermNode1 = (PTerm)popped2.get(0); + return Collections.singletonList(pTermNode1); } private List<?> new218() /* reduce AAltName */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode1 = (TId)nodeArrayList2.get(0); - checkResult(tidNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(tidNode1); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + TId tIdNode1 = (TId)popped2.get(0); + return Collections.singletonList(tIdNode1); } private List<?> new219() /* reduce AAelem1Elem */ { - List<?> nodeArrayList1 = pop(); - TId tidNode4 = (TId)nodeArrayList1.get(0); - AElem pelemNode1 = new AElem(null, null, tidNode4, null); + List<?> popped1 = pop(); + + TId tIdNode4 = (TId)popped1.get(0); + AElem pElemNode1 = new AElem(null, null, tIdNode4, null); + computePositions(pElemNode1, popped1, popped1); - checkResult(pelemNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pelemNode1); + return Collections.singletonList(pElemNode1); } private List<?> new220() /* reduce AAelem2Elem */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - TId tidNode4 = (TId)nodeArrayList2.get(0); - AElem pelemNode1 = new AElem(tidNode2, null, tidNode4, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped1.get(0); + TId tIdNode4 = (TId)popped2.get(0); + AElem pElemNode1 = new AElem(tIdNode2, null, tIdNode4, null); + computePositions(pElemNode1, popped1, popped2); - checkResult(pelemNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pelemNode1); + return Collections.singletonList(pElemNode1); } private List<?> new221() /* reduce AAelem3Elem */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PSpecifier pspecifierNode3 = (PSpecifier)nodeArrayList1.get(0); - TId tidNode4 = (TId)nodeArrayList2.get(0); - AElem pelemNode1 = new AElem(null, pspecifierNode3, tidNode4, null); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pelemNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pelemNode1); + PSpecifier pSpecifierNode3 = (PSpecifier)popped1.get(0); + TId tIdNode4 = (TId)popped2.get(0); + AElem pElemNode1 = new AElem(null, pSpecifierNode3, tIdNode4, null); + computePositions(pElemNode1, popped1, popped2); + + return Collections.singletonList(pElemNode1); } private List<?> new222() /* reduce AAelem4Elem */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - PSpecifier pspecifierNode3 = (PSpecifier)nodeArrayList2.get(0); - TId tidNode4 = (TId)nodeArrayList3.get(0); - AElem pelemNode1 = new AElem(tidNode2, pspecifierNode3, tidNode4, null); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped1.get(0); + PSpecifier pSpecifierNode3 = (PSpecifier)popped2.get(0); + TId tIdNode4 = (TId)popped3.get(0); + AElem pElemNode1 = new AElem(tIdNode2, pSpecifierNode3, tIdNode4, null); + computePositions(pElemNode1, popped1, popped3); - checkResult(pelemNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pelemNode1); + return Collections.singletonList(pElemNode1); } private List<?> new223() /* reduce AAelem5Elem */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode4 = (TId)nodeArrayList1.get(0); - PUnOp punopNode5 = (PUnOp)nodeArrayList2.get(0); - AElem pelemNode1 = new AElem(null, null, tidNode4, punopNode5); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pelemNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pelemNode1); + TId tIdNode4 = (TId)popped1.get(0); + PUnOp pUnOpNode5 = (PUnOp)popped2.get(0); + AElem pElemNode1 = new AElem(null, null, tIdNode4, pUnOpNode5); + computePositions(pElemNode1, popped1, popped2); + + return Collections.singletonList(pElemNode1); } private List<?> new224() /* reduce AAelem6Elem */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - TId tidNode4 = (TId)nodeArrayList2.get(0); - PUnOp punopNode5 = (PUnOp)nodeArrayList3.get(0); - AElem pelemNode1 = new AElem(tidNode2, null, tidNode4, punopNode5); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped1.get(0); + TId tIdNode4 = (TId)popped2.get(0); + PUnOp pUnOpNode5 = (PUnOp)popped3.get(0); + AElem pElemNode1 = new AElem(tIdNode2, null, tIdNode4, pUnOpNode5); + computePositions(pElemNode1, popped1, popped3); - checkResult(pelemNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pelemNode1); + return Collections.singletonList(pElemNode1); } private List<?> new225() /* reduce AAelem7Elem */ { - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PSpecifier pspecifierNode3 = (PSpecifier)nodeArrayList1.get(0); - TId tidNode4 = (TId)nodeArrayList2.get(0); - PUnOp punopNode5 = (PUnOp)nodeArrayList3.get(0); - AElem pelemNode1 = new AElem(null, pspecifierNode3, tidNode4, punopNode5); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pelemNode1, nodeArrayList1, nodeArrayList3); - return Collections.singletonList(pelemNode1); + PSpecifier pSpecifierNode3 = (PSpecifier)popped1.get(0); + TId tIdNode4 = (TId)popped2.get(0); + PUnOp pUnOpNode5 = (PUnOp)popped3.get(0); + AElem pElemNode1 = new AElem(null, pSpecifierNode3, tIdNode4, pUnOpNode5); + computePositions(pElemNode1, popped1, popped3); + + return Collections.singletonList(pElemNode1); } private List<?> new226() /* reduce AAelem8Elem */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - PSpecifier pspecifierNode3 = (PSpecifier)nodeArrayList2.get(0); - TId tidNode4 = (TId)nodeArrayList3.get(0); - PUnOp punopNode5 = (PUnOp)nodeArrayList4.get(0); - AElem pelemNode1 = new AElem(tidNode2, pspecifierNode3, tidNode4, punopNode5); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped1.get(0); + PSpecifier pSpecifierNode3 = (PSpecifier)popped2.get(0); + TId tIdNode4 = (TId)popped3.get(0); + PUnOp pUnOpNode5 = (PUnOp)popped4.get(0); + AElem pElemNode1 = new AElem(tIdNode2, pSpecifierNode3, tIdNode4, pUnOpNode5); + computePositions(pElemNode1, popped1, popped4); - checkResult(pelemNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pelemNode1); + return Collections.singletonList(pElemNode1); } private List<?> new227() /* reduce AElemName */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode1 = (TId)nodeArrayList2.get(0); - checkResult(tidNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(tidNode1); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + TId tIdNode1 = (TId)popped2.get(0); + return Collections.singletonList(tIdNode1); } private List<?> new228() /* reduce ATokenSpecifier */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - ATokenSpecifier pspecifierNode1 = new ATokenSpecifier(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + ATokenSpecifier pSpecifierNode1 = new ATokenSpecifier(); + computePositions(pSpecifierNode1, popped1, popped2); - checkResult(pspecifierNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pspecifierNode1); + return Collections.singletonList(pSpecifierNode1); } private List<?> new229() /* reduce AProductionSpecifier */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - AProductionSpecifier pspecifierNode1 = new AProductionSpecifier(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); - checkResult(pspecifierNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pspecifierNode1); + AProductionSpecifier pSpecifierNode1 = new AProductionSpecifier(); + computePositions(pSpecifierNode1, popped1, popped2); + + return Collections.singletonList(pSpecifierNode1); } private List<?> new230() /* reduce AAst */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PAstProd> listNode2 = (List<PAstProd>)nodeArrayList4.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + List<PAstProd> listNode2 = (List<PAstProd>)popped4.get(0); List<PAstProd> listNode3 = listNode2; - AAst pastNode1 = new AAst(listNode3); + AAst pAstNode1 = new AAst(listNode3); + computePositions(pAstNode1, popped1, popped4); - checkResult(pastNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pastNode1); + return Collections.singletonList(pAstNode1); } private List<?> new231() /* reduce AAstProd */ { - List<?> nodeArrayList4 = pop(); - List<?> nodeArrayList3 = pop(); - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - List<PAstAlt> listNode3 = (List<PAstAlt>)nodeArrayList3.get(0); + List<?> popped4 = pop(); + List<?> popped3 = pop(); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped1.get(0); + List<PAstAlt> listNode3 = (List<PAstAlt>)popped3.get(0); List<PAstAlt> listNode4 = listNode3; - AAstProd pastprodNode1 = new AAstProd(tidNode2, listNode4); + AAstProd pAstProdNode1 = new AAstProd(tIdNode2, listNode4); + computePositions(pAstProdNode1, popped1, popped4); - checkResult(pastprodNode1, nodeArrayList1, nodeArrayList4); - return Collections.singletonList(pastprodNode1); + return Collections.singletonList(pAstProdNode1); } private List<?> new232() /* reduce AAastalts1AstAlts */ { - List<?> nodeArrayList1 = pop(); - PAstAlt pastaltNode1 = (PAstAlt)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PAstAlt pAstAltNode1 = (PAstAlt)popped1.get(0); List<PAstAlt> listNode2; - if(pastaltNode1 != null) { - listNode2 = Collections.singletonList(pastaltNode1); + if(pAstAltNode1 != null) { + listNode2 = Collections.singletonList(pAstAltNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new233() /* reduce AAastalts2AstAlts */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PAstAlt pastaltNode1 = (PAstAlt)nodeArrayList1.get(0); - List<PAstAlt> listNode2 = (List<PAstAlt>)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + PAstAlt pAstAltNode1 = (PAstAlt)popped1.get(0); + List<PAstAlt> listNode2 = (List<PAstAlt>)popped2.get(0); List<PAstAlt> listNode3 = new LinkedList<>(); - if(pastaltNode1 != null) + if(pAstAltNode1 != null) { - listNode3.add(pastaltNode1); + listNode3.add(pAstAltNode1); } if (listNode3.isEmpty() && listNode2 instanceof LinkedList<?>) { listNode3 = listNode2; } else { listNode3.addAll(listNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new234() /* reduce AAstAltsTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - PAstAlt pastaltNode1 = (PAstAlt)nodeArrayList2.get(0); - checkResult(pastaltNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pastaltNode1); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + PAstAlt pAstAltNode1 = (PAstAlt)popped2.get(0); + return Collections.singletonList(pAstAltNode1); } private List<?> new235() /* reduce AAastalt1AstAlt */ { - AAstAlt pastaltNode1 = new AAstAlt(null, Collections.emptyList()); - return Collections.singletonList(pastaltNode1); + AAstAlt pAstAltNode1 = new AAstAlt(null, Collections.emptyList()); + + return Collections.singletonList(pAstAltNode1); } private List<?> new236() /* reduce AAastalt2AstAlt */ { - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - AAstAlt pastaltNode1 = new AAstAlt(tidNode2, Collections.emptyList()); + List<?> popped1 = pop(); - checkResult(pastaltNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pastaltNode1); + TId tIdNode2 = (TId)popped1.get(0); + AAstAlt pAstAltNode1 = new AAstAlt(tIdNode2, Collections.emptyList()); + computePositions(pAstAltNode1, popped1, popped1); + + return Collections.singletonList(pAstAltNode1); } private List<?> new237() /* reduce AAastalt3AstAlt */ { - List<?> nodeArrayList1 = pop(); - List<PElem> listNode3 = (List<PElem>)nodeArrayList1.get(0); + List<?> popped1 = pop(); + + List<PElem> listNode3 = (List<PElem>)popped1.get(0); List<PElem> listNode4 = listNode3; - AAstAlt pastaltNode1 = new AAstAlt(null, listNode4); + AAstAlt pAstAltNode1 = new AAstAlt(null, listNode4); + computePositions(pAstAltNode1, popped1, popped1); - checkResult(pastaltNode1, nodeArrayList1, nodeArrayList1); - return Collections.singletonList(pastaltNode1); + return Collections.singletonList(pAstAltNode1); } private List<?> new238() /* reduce AAastalt4AstAlt */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - TId tidNode2 = (TId)nodeArrayList1.get(0); - List<PElem> listNode3 = (List<PElem>)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + + TId tIdNode2 = (TId)popped1.get(0); + List<PElem> listNode3 = (List<PElem>)popped2.get(0); List<PElem> listNode4 = listNode3; - AAstAlt pastaltNode1 = new AAstAlt(tidNode2, listNode4); + AAstAlt pAstAltNode1 = new AAstAlt(tIdNode2, listNode4); + computePositions(pAstAltNode1, popped1, popped2); - checkResult(pastaltNode1, nodeArrayList1, nodeArrayList2); - return Collections.singletonList(pastaltNode1); + return Collections.singletonList(pAstAltNode1); } private List<?> new239() /* reduce ATerminal$PkgNameTail */ { - List<?> nodeArrayList1 = pop(); - TPkgId tpkgidNode1 = (TPkgId)nodeArrayList1.get(0); + List<?> popped1 = pop(); + TPkgId tPkgIdNode1 = (TPkgId)popped1.get(0); List<TPkgId> listNode2; - if(tpkgidNode1 != null) { - listNode2 = Collections.singletonList(tpkgidNode1); + if(tPkgIdNode1 != null) { + listNode2 = Collections.singletonList(tPkgIdNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new240() /* reduce ANonTerminal$PkgNameTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TPkgId> listNode1 = (List<TPkgId>)nodeArrayList1.get(0); - TPkgId tpkgidNode2 = (TPkgId)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<TPkgId> listNode1 = (List<TPkgId>)popped1.get(0); + TPkgId tPkgIdNode2 = (TPkgId)popped2.get(0); List<TPkgId> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(tpkgidNode2 != null) + if(tPkgIdNode2 != null) { - listNode3.add(tpkgidNode2); + listNode3.add(tPkgIdNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new241() /* reduce ATerminal$HelperDef */ { - List<?> nodeArrayList1 = pop(); - PHelperDef phelperdefNode1 = (PHelperDef)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PHelperDef pHelperDefNode1 = (PHelperDef)popped1.get(0); List<PHelperDef> listNode2; - if(phelperdefNode1 != null) { - listNode2 = Collections.singletonList(phelperdefNode1); + if(pHelperDefNode1 != null) { + listNode2 = Collections.singletonList(pHelperDefNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new242() /* reduce ANonTerminal$HelperDef */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PHelperDef> listNode1 = (List<PHelperDef>)nodeArrayList1.get(0); - PHelperDef phelperdefNode2 = (PHelperDef)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<PHelperDef> listNode1 = (List<PHelperDef>)popped1.get(0); + PHelperDef pHelperDefNode2 = (PHelperDef)popped2.get(0); List<PHelperDef> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(phelperdefNode2 != null) + if(pHelperDefNode2 != null) { - listNode3.add(phelperdefNode2); + listNode3.add(pHelperDefNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new243() /* reduce ATerminal$IdListTail */ { - List<?> nodeArrayList1 = pop(); - TId tidNode1 = (TId)nodeArrayList1.get(0); + List<?> popped1 = pop(); + TId tIdNode1 = (TId)popped1.get(0); List<TId> listNode2; - if(tidNode1 != null) { - listNode2 = Collections.singletonList(tidNode1); + if(tIdNode1 != null) { + listNode2 = Collections.singletonList(tIdNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new244() /* reduce ANonTerminal$IdListTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<TId> listNode1 = (List<TId>)nodeArrayList1.get(0); - TId tidNode2 = (TId)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<TId> listNode1 = (List<TId>)popped1.get(0); + TId tIdNode2 = (TId)popped2.get(0); List<TId> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(tidNode2 != null) + if(tIdNode2 != null) { - listNode3.add(tidNode2); + listNode3.add(tIdNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new245() /* reduce ATerminal$TokenDef */ { - List<?> nodeArrayList1 = pop(); - PTokenDef ptokendefNode1 = (PTokenDef)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PTokenDef pTokenDefNode1 = (PTokenDef)popped1.get(0); List<PTokenDef> listNode2; - if(ptokendefNode1 != null) { - listNode2 = Collections.singletonList(ptokendefNode1); + if(pTokenDefNode1 != null) { + listNode2 = Collections.singletonList(pTokenDefNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new246() /* reduce ANonTerminal$TokenDef */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PTokenDef> listNode1 = (List<PTokenDef>)nodeArrayList1.get(0); - PTokenDef ptokendefNode2 = (PTokenDef)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<PTokenDef> listNode1 = (List<PTokenDef>)popped1.get(0); + PTokenDef pTokenDefNode2 = (PTokenDef)popped2.get(0); List<PTokenDef> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(ptokendefNode2 != null) + if(pTokenDefNode2 != null) { - listNode3.add(ptokendefNode2); + listNode3.add(pTokenDefNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new247() /* reduce ATerminal$StateListTail */ { - List<?> nodeArrayList1 = pop(); - PStateListTail pstatelisttailNode1 = (PStateListTail)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PStateListTail pStateListTailNode1 = (PStateListTail)popped1.get(0); List<PStateListTail> listNode2; - if(pstatelisttailNode1 != null) { - listNode2 = Collections.singletonList(pstatelisttailNode1); + if(pStateListTailNode1 != null) { + listNode2 = Collections.singletonList(pStateListTailNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new248() /* reduce ANonTerminal$StateListTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PStateListTail> listNode1 = (List<PStateListTail>)nodeArrayList1.get(0); - PStateListTail pstatelisttailNode2 = (PStateListTail)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<PStateListTail> listNode1 = (List<PStateListTail>)popped1.get(0); + PStateListTail pStateListTailNode2 = (PStateListTail)popped2.get(0); List<PStateListTail> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(pstatelisttailNode2 != null) + if(pStateListTailNode2 != null) { - listNode3.add(pstatelisttailNode2); + listNode3.add(pStateListTailNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new249() /* reduce ATerminal$RegExpTail */ { - List<?> nodeArrayList1 = pop(); - PConcat pconcatNode1 = (PConcat)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PConcat pConcatNode1 = (PConcat)popped1.get(0); List<PConcat> listNode2; - if(pconcatNode1 != null) { - listNode2 = Collections.singletonList(pconcatNode1); + if(pConcatNode1 != null) { + listNode2 = Collections.singletonList(pConcatNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new250() /* reduce ANonTerminal$RegExpTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PConcat> listNode1 = (List<PConcat>)nodeArrayList1.get(0); - PConcat pconcatNode2 = (PConcat)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<PConcat> listNode1 = (List<PConcat>)popped1.get(0); + PConcat pConcatNode2 = (PConcat)popped2.get(0); List<PConcat> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(pconcatNode2 != null) + if(pConcatNode2 != null) { - listNode3.add(pconcatNode2); + listNode3.add(pConcatNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new251() /* reduce ATerminal$UnExp */ { - List<?> nodeArrayList1 = pop(); - PUnExp punexpNode1 = (PUnExp)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PUnExp pUnExpNode1 = (PUnExp)popped1.get(0); List<PUnExp> listNode2; - if(punexpNode1 != null) { - listNode2 = Collections.singletonList(punexpNode1); + if(pUnExpNode1 != null) { + listNode2 = Collections.singletonList(pUnExpNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new252() /* reduce ANonTerminal$UnExp */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PUnExp> listNode1 = (List<PUnExp>)nodeArrayList1.get(0); - PUnExp punexpNode2 = (PUnExp)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<PUnExp> listNode1 = (List<PUnExp>)popped1.get(0); + PUnExp pUnExpNode2 = (PUnExp)popped2.get(0); List<PUnExp> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(punexpNode2 != null) + if(pUnExpNode2 != null) { - listNode3.add(punexpNode2); + listNode3.add(pUnExpNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new253() /* reduce ATerminal$Prod */ { - List<?> nodeArrayList1 = pop(); - PProd pprodNode1 = (PProd)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PProd pProdNode1 = (PProd)popped1.get(0); List<PProd> listNode2; - if(pprodNode1 != null) { - listNode2 = Collections.singletonList(pprodNode1); + if(pProdNode1 != null) { + listNode2 = Collections.singletonList(pProdNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new254() /* reduce ANonTerminal$Prod */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PProd> listNode1 = (List<PProd>)nodeArrayList1.get(0); - PProd pprodNode2 = (PProd)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<PProd> listNode1 = (List<PProd>)popped1.get(0); + PProd pProdNode2 = (PProd)popped2.get(0); List<PProd> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(pprodNode2 != null) + if(pProdNode2 != null) { - listNode3.add(pprodNode2); + listNode3.add(pProdNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new255() /* reduce ATerminal$Elem */ { - List<?> nodeArrayList1 = pop(); - PElem pelemNode1 = (PElem)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PElem pElemNode1 = (PElem)popped1.get(0); List<PElem> listNode2; - if(pelemNode1 != null) { - listNode2 = Collections.singletonList(pelemNode1); + if(pElemNode1 != null) { + listNode2 = Collections.singletonList(pElemNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new256() /* reduce ANonTerminal$Elem */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PElem> listNode1 = (List<PElem>)nodeArrayList1.get(0); - PElem pelemNode2 = (PElem)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<PElem> listNode1 = (List<PElem>)popped1.get(0); + PElem pElemNode2 = (PElem)popped2.get(0); List<PElem> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(pelemNode2 != null) + if(pElemNode2 != null) { - listNode3.add(pelemNode2); + listNode3.add(pElemNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new257() /* reduce ATerminal$AltsTail */ { - List<?> nodeArrayList1 = pop(); - PAlt paltNode1 = (PAlt)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PAlt pAltNode1 = (PAlt)popped1.get(0); List<PAlt> listNode2; - if(paltNode1 != null) { - listNode2 = Collections.singletonList(paltNode1); + if(pAltNode1 != null) { + listNode2 = Collections.singletonList(pAltNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new258() /* reduce ANonTerminal$AltsTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PAlt> listNode1 = (List<PAlt>)nodeArrayList1.get(0); - PAlt paltNode2 = (PAlt)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<PAlt> listNode1 = (List<PAlt>)popped1.get(0); + PAlt pAltNode2 = (PAlt)popped2.get(0); List<PAlt> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(paltNode2 != null) + if(pAltNode2 != null) { - listNode3.add(paltNode2); + listNode3.add(pAltNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new259() /* reduce ATerminal$Term */ { - List<?> nodeArrayList1 = pop(); - PTerm ptermNode1 = (PTerm)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PTerm pTermNode1 = (PTerm)popped1.get(0); List<PTerm> listNode2; - if(ptermNode1 != null) { - listNode2 = Collections.singletonList(ptermNode1); + if(pTermNode1 != null) { + listNode2 = Collections.singletonList(pTermNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new260() /* reduce ANonTerminal$Term */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PTerm> listNode1 = (List<PTerm>)nodeArrayList1.get(0); - PTerm ptermNode2 = (PTerm)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<PTerm> listNode1 = (List<PTerm>)popped1.get(0); + PTerm pTermNode2 = (PTerm)popped2.get(0); List<PTerm> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(ptermNode2 != null) + if(pTermNode2 != null) { - listNode3.add(ptermNode2); + listNode3.add(pTermNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new261() /* reduce ATerminal$ListTermTail */ { - List<?> nodeArrayList1 = pop(); - PListTerm plisttermNode1 = (PListTerm)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PListTerm pListTermNode1 = (PListTerm)popped1.get(0); List<PListTerm> listNode2; - if(plisttermNode1 != null) { - listNode2 = Collections.singletonList(plisttermNode1); + if(pListTermNode1 != null) { + listNode2 = Collections.singletonList(pListTermNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new262() /* reduce ANonTerminal$ListTermTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PListTerm> listNode1 = (List<PListTerm>)nodeArrayList1.get(0); - PListTerm plisttermNode2 = (PListTerm)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<PListTerm> listNode1 = (List<PListTerm>)popped1.get(0); + PListTerm pListTermNode2 = (PListTerm)popped2.get(0); List<PListTerm> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(plisttermNode2 != null) + if(pListTermNode2 != null) { - listNode3.add(plisttermNode2); + listNode3.add(pListTermNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new263() /* reduce ATerminal$ParamsTail */ { - List<?> nodeArrayList1 = pop(); - PTerm ptermNode1 = (PTerm)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PTerm pTermNode1 = (PTerm)popped1.get(0); List<PTerm> listNode2; - if(ptermNode1 != null) { - listNode2 = Collections.singletonList(ptermNode1); + if(pTermNode1 != null) { + listNode2 = Collections.singletonList(pTermNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new264() /* reduce ANonTerminal$ParamsTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PTerm> listNode1 = (List<PTerm>)nodeArrayList1.get(0); - PTerm ptermNode2 = (PTerm)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<PTerm> listNode1 = (List<PTerm>)popped1.get(0); + PTerm pTermNode2 = (PTerm)popped2.get(0); List<PTerm> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(ptermNode2 != null) + if(pTermNode2 != null) { - listNode3.add(ptermNode2); + listNode3.add(pTermNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new265() /* reduce ATerminal$AstProd */ { - List<?> nodeArrayList1 = pop(); - PAstProd pastprodNode1 = (PAstProd)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PAstProd pAstProdNode1 = (PAstProd)popped1.get(0); List<PAstProd> listNode2; - if(pastprodNode1 != null) { - listNode2 = Collections.singletonList(pastprodNode1); + if(pAstProdNode1 != null) { + listNode2 = Collections.singletonList(pAstProdNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new266() /* reduce ANonTerminal$AstProd */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PAstProd> listNode1 = (List<PAstProd>)nodeArrayList1.get(0); - PAstProd pastprodNode2 = (PAstProd)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<PAstProd> listNode1 = (List<PAstProd>)popped1.get(0); + PAstProd pAstProdNode2 = (PAstProd)popped2.get(0); List<PAstProd> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(pastprodNode2 != null) + if(pAstProdNode2 != null) { - listNode3.add(pastprodNode2); + listNode3.add(pAstProdNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } private List<?> new267() /* reduce ATerminal$AstAltsTail */ { - List<?> nodeArrayList1 = pop(); - PAstAlt pastaltNode1 = (PAstAlt)nodeArrayList1.get(0); + List<?> popped1 = pop(); + PAstAlt pAstAltNode1 = (PAstAlt)popped1.get(0); List<PAstAlt> listNode2; - if(pastaltNode1 != null) { - listNode2 = Collections.singletonList(pastaltNode1); + if(pAstAltNode1 != null) { + listNode2 = Collections.singletonList(pAstAltNode1); } else { listNode2 = Collections.emptyList(); } - checkResult(listNode2, nodeArrayList1, nodeArrayList1); return Collections.singletonList(listNode2); } private List<?> new268() /* reduce ANonTerminal$AstAltsTail */ { - List<?> nodeArrayList2 = pop(); - List<?> nodeArrayList1 = pop(); - List<PAstAlt> listNode1 = (List<PAstAlt>)nodeArrayList1.get(0); - PAstAlt pastaltNode2 = (PAstAlt)nodeArrayList2.get(0); + List<?> popped2 = pop(); + List<?> popped1 = pop(); + List<PAstAlt> listNode1 = (List<PAstAlt>)popped1.get(0); + PAstAlt pAstAltNode2 = (PAstAlt)popped2.get(0); List<PAstAlt> listNode3; if (listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; } else { listNode3 = new LinkedList<>(listNode1); } - if(pastaltNode2 != null) + if(pAstAltNode2 != null) { - listNode3.add(pastaltNode2); + listNode3.add(pAstAltNode2); } - checkResult(listNode3, nodeArrayList1, nodeArrayList2); return Collections.singletonList(listNode3); } @@ -6270,13 +6393,13 @@ public class Parser implements IParser DataInputStream s = new DataInputStream(new BufferedInputStream(resStream)); // read actionTable - int length = s.readInt(); - actionTable = new int[length][][]; - for(int i = 0; i < actionTable.length; i++) + int actionTableLength1 = s.readInt(); + actionTable = new int[actionTableLength1][][]; + for(int i = 0; i < actionTableLength1; i++) { - length = s.readInt(); - actionTable[i] = new int[length][3]; - for(int j = 0; j < actionTable[i].length; j++) + int actionTableLength2 = s.readInt(); + actionTable[i] = new int[actionTableLength2][3]; + for(int j = 0; j < actionTableLength2; j++) { for(int k = 0; k < 3; k++) { @@ -6286,13 +6409,13 @@ public class Parser implements IParser } // read gotoTable - length = s.readInt(); - gotoTable = new int[length][][]; - for(int i = 0; i < gotoTable.length; i++) + int gotoTableLength1 = s.readInt(); + gotoTable = new int[gotoTableLength1][][]; + for(int i = 0; i < gotoTableLength1; i++) { - length = s.readInt(); - gotoTable[i] = new int[length][2]; - for(int j = 0; j < gotoTable[i].length; j++) + int gotoTableLength2 = s.readInt(); + gotoTable[i] = new int[gotoTableLength2][2]; + for(int j = 0; j < gotoTableLength2; j++) { for(int k = 0; k < 2; k++) { @@ -6302,14 +6425,14 @@ public class Parser implements IParser } // read errorMessages - length = s.readInt(); - errorMessages = new String[length]; - for(int i = 0; i < errorMessages.length; i++) + int errorMessagesLength = s.readInt(); + errorMessages = new String[errorMessagesLength]; + for(int i = 0; i < errorMessagesLength; i++) { - length = s.readInt(); + int errorMessageLength = s.readInt(); StringBuilder buffer = new StringBuilder(); - for(int j = 0; j < length; j++) + for(int j = 0; j < errorMessageLength; j++) { buffer.append(s.readChar()); } @@ -6317,9 +6440,9 @@ public class Parser implements IParser } // read errors - length = s.readInt(); - errors = new int[length]; - for(int i = 0; i < errors.length; i++) + int errorsLength = s.readInt(); + errors = new int[errorsLength]; + for(int i = 0; i < errorsLength; i++) { errors[i] = s.readInt(); } diff --git a/src/main/resources/org/sablecc/sablecc/alternatives.txt b/src/main/resources/org/sablecc/sablecc/alternatives.txt index 3dd2fc3dd641175b3d656a986e8061e7c53bc785..bb0c56f326b075e9b9af24c33eb88fcc42349e39 100644 --- a/src/main/resources/org/sablecc/sablecc/alternatives.txt +++ b/src/main/resources/org/sablecc/sablecc/alternatives.txt @@ -79,29 +79,26 @@ $ Macro:CloneHeader - public $0$($0$ node) + @Override + public $0$ clone() { - super(node); + $0$ cloned = new $0$(); $ Macro:CloneBodyNode - set$0$(cloneNode(node._$1$_)); + cloned.set$0$(cloneNode(this._$1$_)); $ Macro:CloneBodyList - set$0$(cloneList(node._$1$_)); + cloned.set$0$(cloneList(this._$1$_)); $ Macro:CloneTail - } - - @Override - public $0$ clone() - { - return new $0$(this); + cloned.initSourcePositionsFrom(this); + return cloned; } $ diff --git a/src/main/resources/org/sablecc/sablecc/lexer.txt b/src/main/resources/org/sablecc/sablecc/lexer.txt index 5960c9fcf0df41994e2db59ba37548956b7390e0..c877b18803adbde214f1aeb8ac1584b94194fd03 100644 --- a/src/main/resources/org/sablecc/sablecc/lexer.txt +++ b/src/main/resources/org/sablecc/sablecc/lexer.txt @@ -85,15 +85,14 @@ public class Lexer int startPos = this.pos; int startLine = this.line; - int acceptState = -1; int acceptToken = -1; int acceptLength = -1; int acceptPos = -1; int acceptLine = -1; boolean acceptCr = false; - int[][][] gotoTable = Lexer.gotoTable[this.state.ordinal()]; - int[] accept = Lexer.accept[this.state.ordinal()]; + int[][][] gotoTableSub = Lexer.gotoTable[this.state.ordinal()]; + int[] acceptSub = Lexer.accept[this.state.ordinal()]; this.text.setLength(0); while(true) @@ -150,7 +149,7 @@ public class Lexer dfaState = -1; - int[][] tmp1 = gotoTable[oldState]; + int[][] tmp1 = gotoTableSub[oldState]; int low = 0; int high = tmp1.length - 1; @@ -184,10 +183,9 @@ public class Lexer if(dfaState >= 0) { - if(accept[dfaState] != -1) + if(acceptSub[dfaState] != -1) { - acceptState = dfaState; - acceptToken = accept[dfaState]; + acceptToken = acceptSub[dfaState]; acceptLength = this.text.length(); acceptPos = this.pos; acceptLine = this.line; @@ -196,70 +194,63 @@ public class Lexer } else { - if(acceptState != -1) + Token tok; + switch(acceptToken) { - switch(acceptToken) - { + case -1: + if(this.text.length() > 0) + { + throw new LexerException("[" + (startLine + 1) + "," + (startPos + 1) + "] Unknown token: " + this.text); + } + + return new EOF(startLine + 1, startPos + 1); + $ Macro:LexerVariableToken - case $0$: - { - Token token = new $1$(getText(acceptLength), startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; + case $0$: + tok = new $1$(getText(acceptLength), startLine + 1, startPos + 1); $ Macro:LexerFixedToken - case $0$: - { - Token token = new $1$(startLine + 1, startPos + 1); - pushBack(acceptLength); - this.pos = acceptPos; - this.line = acceptLine; - this.cr = acceptCr; + case $0$: + tok = new $1$(startLine + 1, startPos + 1); $ Macro:TokenSwitchHeader - switch(state.ordinal()) - { + switch(state.ordinal()) + { $ Macro:TokenCase - case $0$: state = State.$1$; break; + case $0$: state = State.$1$; break; $ Macro:TokenSwitchTail - } + } $ Macro:LexerTokenTail - return token; - } + break; + $ Macro:LexerBody - } - } - else - { - if(this.text.length() > 0) - { - throw new LexerException("[" + (startLine + 1) + "," + (startPos + 1) + "] Unknown token: " + this.text); - } - - EOF token = new EOF(startLine + 1, startPos + 1); - return token; + default: + throw new LexerException("[" + (startLine + 1) + "," + (startPos + 1) + "] Internal lexer error: invalid accept table entry " + acceptToken + ", current text: " + this.text); } + pushBack(acceptLength); + this.pos = acceptPos; + this.line = acceptLine; + this.cr = acceptCr; + return tok; } } } @@ -293,25 +284,36 @@ Macro:LexerBody } /** - * @deprecated This method doesn't restore line/column info correctly in some cases - * (if a token begins in the middle of a CRLF newline pair). - * There is no planned replacement. + * <p> + * Push the given token's text back onto the input. + * Note that the lexer state is <i>not</i> restored, + * so a following {@link #next()}/{@link #peek()} call may result in a different token. + * </p> + * <p> + * <b>Note:</b> + * If the token text contains newlines, + * the caller must ensure that CR+LF pairs are unread in their entirety. + * If only one half of a CR+LF pair is unread, + * the line numbers will be incorrect when it is lexed again. + * </p> + * + * @param tok the token to push back onto the input + * @throws IOException when thrown by {@link PushbackReader#unread(int)} */ - @Deprecated - protected void unread(Token token) throws IOException + protected void unread(Token tok) throws IOException { - String text = token.getText(); - int length = text.length(); + String tokenText = tok.getText(); + int length = tokenText.length(); for(int i = length - 1; i >= 0; i--) { this.eof = false; - this.in.unread(text.charAt(i)); + this.in.unread(tokenText.charAt(i)); } - this.pos = token.getPos() - 1; - this.line = token.getLine() - 1; + this.pos = tok.getPos() - 1; + this.line = tok.getLine() - 1; } private String getText(int acceptLength) @@ -319,7 +321,7 @@ Macro:LexerBody return this.text.substring(0, acceptLength); } - private static int[][][][] gotoTable; + private static final int[][][][] gotoTable; /* { $ @@ -327,7 +329,7 @@ $ Macro:LexerAcceptHeader };*/ - private static int[][] accept; + private static final int[][] accept; /* { $ @@ -374,17 +376,17 @@ Macro:LexerTail DataInputStream s = new DataInputStream(new BufferedInputStream(resStream)); // read gotoTable - int length = s.readInt(); - gotoTable = new int[length][][][]; - for(int i = 0; i < gotoTable.length; i++) + int gotoTableLength1 = s.readInt(); + gotoTable = new int[gotoTableLength1][][][]; + for(int i = 0; i < gotoTableLength1; i++) { - length = s.readInt(); - gotoTable[i] = new int[length][][]; - for(int j = 0; j < gotoTable[i].length; j++) + int gotoTableLength2 = s.readInt(); + gotoTable[i] = new int[gotoTableLength2][][]; + for(int j = 0; j < gotoTableLength2; j++) { - length = s.readInt(); - gotoTable[i][j] = new int[length][3]; - for(int k = 0; k < gotoTable[i][j].length; k++) + int gotoTableLength3 = s.readInt(); + gotoTable[i][j] = new int[gotoTableLength3][3]; + for(int k = 0; k < gotoTableLength3; k++) { for(int l = 0; l < 3; l++) { @@ -395,13 +397,13 @@ Macro:LexerTail } // read accept - length = s.readInt(); - accept = new int[length][]; - for(int i = 0; i < accept.length; i++) + int acceptLength1 = s.readInt(); + accept = new int[acceptLength1][]; + for(int i = 0; i < acceptLength1; i++) { - length = s.readInt(); - accept[i] = new int[length]; - for(int j = 0; j < accept[i].length; j++) + int acceptLength2 = s.readInt(); + accept[i] = new int[acceptLength2]; + for(int j = 0; j < acceptLength2; j++) { accept[i][j] = s.readInt(); } diff --git a/src/main/resources/org/sablecc/sablecc/parser.txt b/src/main/resources/org/sablecc/sablecc/parser.txt index c856e3649f72780ab682e501a261f25cc40e0fa2..72b1419148fb67793cc751dfde29c5b5ddd8053f 100644 --- a/src/main/resources/org/sablecc/sablecc/parser.txt +++ b/src/main/resources/org/sablecc/sablecc/parser.txt @@ -22,7 +22,6 @@ import java.util.ListIterator; import de.hhu.stups.sablecc.patch.IParser; import de.hhu.stups.sablecc.patch.PositionedNode; -import de.hhu.stups.sablecc.patch.SourcePosition; import $0$lexer.Lexer; import $0$lexer.LexerException; @@ -35,73 +34,40 @@ public class Parser implements IParser private final ListIterator<State> stack = new LinkedList<State>().listIterator(); private final TokenIndex converter = new TokenIndex(); - private final static int SHIFT = 0; - private final static int REDUCE = 1; - private final static int ACCEPT = 2; - private final static int ERROR = 3; + private static final int SHIFT = 0; + private static final int REDUCE = 1; + private static final int ACCEPT = 2; + private static final int ERROR = 3; public Parser(Lexer lexer) { this.lexer = lexer; } - private void checkResult(Object elementToCheck, List<?> beginNodeList, List<?> endNodeList) { - if (elementToCheck instanceof List<?>) { - /* - * special case: this is a list of nodes, for example an identifier - * list, so we don't want to check the list but the last element - * added to it - */ - final List<?> nodeList = (List<?>) elementToCheck; - if (nodeList.isEmpty()) { - // no positions for empty lists... - return; - } - elementToCheck = nodeList.get(nodeList.size() - 1); - } + private static void computePositions(PositionedNode node, List<?> beginNodeList, List<?> endNodeList) { + // This method should only ever be called for newly created AST nodes (that are not tokens). + assert !(node instanceof Token); + assert node.getStartPos() == null; + assert node.getEndPos() == null; - final PositionedNode node = (PositionedNode) elementToCheck; - - // Add node positions if they haven't been calculated yet. - // Tokens are skipped because they always have positions - - // this avoids creating unnecessary SourcePosition objects. - if (!(node instanceof Token) && node.getStartPos() == null) { - assert node.getEndPos() == null; - PositionedNode beginNode = findBeginNode(beginNodeList); - if (beginNode == null) { - /* - * Sometimes (haven't found out why) we get empty list here. In - * the only observed cases we were looking for the source range - * of the whole parse unit. Then the start pos is the first char. - */ - node.setStartPos(new SourcePosition(1, 1)); - } else { - node.setStartPos(beginNode.getStartPos()); - } + PositionedNode beginNode = findBeginNode(beginNodeList); + node.setStartPos(beginNode.getStartPos()); - PositionedNode endNode = findEndNode(endNodeList); - node.setEndPos(endNode.getEndPos()); - } else { - assert node.getEndPos() != null; - } + PositionedNode endNode = findEndNode(endNodeList); + node.setEndPos(endNode.getEndPos()); } - private PositionedNode findBeginNode(final List<?> list) { + private static PositionedNode findBeginNode(final List<?> list) { Object first = list.get(0); if (first instanceof List<?>) { List<?> list2 = (List<?>) first; - - if (!list2.isEmpty()) { - return (PositionedNode)list2.get(0); - } else { - return null; - } + return (PositionedNode)list2.get(0); } return (PositionedNode)first; } - private PositionedNode findEndNode(final List<?> list) { + private static PositionedNode findEndNode(final List<?> list) { Object last = list.get(list.size() - 1); if (last instanceof List<?>) { final List<?> list2 = (List<?>) last; @@ -220,11 +186,9 @@ public class Parser implements IParser switch(action) { case SHIFT: - { - List<?> list = Collections.singletonList(this.lexer.next()); - push(destination, list); - } - break; + push(destination, Collections.singletonList(this.lexer.next())); + break; + case REDUCE: switch(destination) { @@ -242,19 +206,23 @@ Macro:ParserParseReduce $ Macro:ParserParseTail + default: + throw new ParserException(lastToken, "[" + lastToken.getLine() + "," + lastToken.getPos() + "] Internal parser error: invalid action table REDUCE destination " + destination + ", current state " + state()); } break; + case ACCEPT: - { - EOF node2 = (EOF) this.lexer.next(); - $0$ node1 = ($0$) pop().get(0); - Start node = new Start(node1, node2); - return node; - } + EOF eof = (EOF) this.lexer.next(); + $0$ top = ($0$) pop().get(0); + return new Start(top, eof); + case ERROR: throw new ParserException(lastToken, "[" + lastToken.getLine() + "," + lastToken.getPos() + "] " , Parser.errorMessages[Parser.errors[destination]]); + + default: + throw new ParserException(lastToken, "[" + lastToken.getLine() + "," + lastToken.getPos() + "] Internal parser error: invalid action table entry " + action + ", destination " + destination + ", current state " + state()); } } } @@ -270,12 +238,12 @@ Macro:ParserNewHeader $ Macro:ParserNewBodyDecl - List<?> nodeArrayList$0$ = pop(); + List<?> popped$0$ = pop(); $ Macro:ParserSimpleTerm - $0$ $1$ = ($0$)nodeArrayList$2$.get($3$); + $0$ $1$ = ($0$)popped$2$.get($3$); $ @@ -290,7 +258,6 @@ $ Macro:ParserNewBodyNewTail ); - $ Macro:ParserTypedSingleElementList @@ -340,8 +307,8 @@ Macro:ParserTypedLinkedListAddAll $ -Macro:ParserNewCheck - checkResult($0$, nodeArrayList1, nodeArrayList$1$); +Macro:ParserNewComputePositions + computePositions($0$, popped1, popped$1$); $ @@ -434,13 +401,13 @@ Macro:ParserTail DataInputStream s = new DataInputStream(new BufferedInputStream(resStream)); // read actionTable - int length = s.readInt(); - actionTable = new int[length][][]; - for(int i = 0; i < actionTable.length; i++) + int actionTableLength1 = s.readInt(); + actionTable = new int[actionTableLength1][][]; + for(int i = 0; i < actionTableLength1; i++) { - length = s.readInt(); - actionTable[i] = new int[length][3]; - for(int j = 0; j < actionTable[i].length; j++) + int actionTableLength2 = s.readInt(); + actionTable[i] = new int[actionTableLength2][3]; + for(int j = 0; j < actionTableLength2; j++) { for(int k = 0; k < 3; k++) { @@ -450,13 +417,13 @@ Macro:ParserTail } // read gotoTable - length = s.readInt(); - gotoTable = new int[length][][]; - for(int i = 0; i < gotoTable.length; i++) + int gotoTableLength1 = s.readInt(); + gotoTable = new int[gotoTableLength1][][]; + for(int i = 0; i < gotoTableLength1; i++) { - length = s.readInt(); - gotoTable[i] = new int[length][2]; - for(int j = 0; j < gotoTable[i].length; j++) + int gotoTableLength2 = s.readInt(); + gotoTable[i] = new int[gotoTableLength2][2]; + for(int j = 0; j < gotoTableLength2; j++) { for(int k = 0; k < 2; k++) { @@ -466,14 +433,14 @@ Macro:ParserTail } // read errorMessages - length = s.readInt(); - errorMessages = new String[length]; - for(int i = 0; i < errorMessages.length; i++) + int errorMessagesLength = s.readInt(); + errorMessages = new String[errorMessagesLength]; + for(int i = 0; i < errorMessagesLength; i++) { - length = s.readInt(); + int errorMessageLength = s.readInt(); StringBuilder buffer = new StringBuilder(); - for(int j = 0; j < length; j++) + for(int j = 0; j < errorMessageLength; j++) { buffer.append(s.readChar()); } @@ -481,9 +448,9 @@ Macro:ParserTail } // read errors - length = s.readInt(); - errors = new int[length]; - for(int i = 0; i < errors.length; i++) + int errorsLength = s.readInt(); + errors = new int[errorsLength]; + for(int i = 0; i < errorsLength; i++) { errors[i] = s.readInt(); } diff --git a/src/main/resources/org/sablecc/sablecc/productions.txt b/src/main/resources/org/sablecc/sablecc/productions.txt index 2957990e5c297ab2e0b5dbcb18131f2eaf47b8eb..fc8415741dd9d8621ca9325ff06130c9d4493c6e 100644 --- a/src/main/resources/org/sablecc/sablecc/productions.txt +++ b/src/main/resources/org/sablecc/sablecc/productions.txt @@ -15,11 +15,6 @@ public abstract class $1$ extends Node public $1$() {} - public $1$($1$ node) - { - super(node); - } - @Override public abstract $1$ clone(); } diff --git a/src/main/resources/org/sablecc/sablecc/tokens.txt b/src/main/resources/org/sablecc/sablecc/tokens.txt index ce4cfbc9f63af4e19bf0140f6e7030a1b4421c31..4cf4f70ca935e22abc2ab7a15415e3ed1ff14fd4 100644 --- a/src/main/resources/org/sablecc/sablecc/tokens.txt +++ b/src/main/resources/org/sablecc/sablecc/tokens.txt @@ -24,15 +24,12 @@ public final class $1$ extends Token super(text, line, pos); } - public $1$($1$ token) - { - super(token); - } - @Override public $1$ clone() { - return new $1$(this); + $1$ cloned = new $1$(this.getText(), this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override @@ -63,15 +60,12 @@ public final class $1$ extends Token super("$2$", line, pos); } - public $1$($1$ token) - { - super(token); - } - @Override public $1$ clone() { - return new $1$(this); + $1$ cloned = new $1$(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override diff --git a/src/main/resources/org/sablecc/sablecc/utils.txt b/src/main/resources/org/sablecc/sablecc/utils.txt index b66f88376cef6ea262174bdc08c20777d2427173..c9a94081356b5fb40b94739b60d7ec0d4e255da6 100644 --- a/src/main/resources/org/sablecc/sablecc/utils.txt +++ b/src/main/resources/org/sablecc/sablecc/utils.txt @@ -28,17 +28,14 @@ public final class Start extends Node setEOF(_eof_); } - public Start(Start node) - { - super(node); - set$1$(cloneNode(node._$2$_)); - setEOF(cloneNode(node._eof_)); - } - @Override public Start clone() { - return new Start(this); + Start cloned = new Start(); + cloned.set$1$(cloneNode(this._$2$_)); + cloned.setEOF(cloneNode(this._eof_)); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override @@ -163,15 +160,12 @@ public final class EOF extends Token super("", line, pos); } - public EOF(EOF token) - { - super(token); - } - @Override public EOF clone() { - return new EOF(this); + EOF cloned = new EOF(this.getLine(), this.getPos()); + cloned.initSourcePositionsFrom(this); + return cloned; } @Override @@ -209,19 +203,6 @@ public abstract class Token extends Node implements IToken this(text, 0, 0); } - protected Token() - { - this((String)null); - } - - protected Token(Token token) - { - super(token); - this.text = token.text; - this.line = token.line; - this.pos = token.pos; - } - @Override public abstract Token clone(); @@ -334,14 +315,8 @@ public abstract class Node extends PositionedNode implements Switchable, Cloneab protected Node() {} - protected Node(Node node) - { - super(node); - // Copy constructor intentionally does not keep parent! - // The new copied node is not a child of the original parent anymore. - this.parent = null; - } - + // clone intentionally does not keep parent! + // The new copied node is not a child of the original parent anymore. @Override public abstract Node clone();