From 58c15c16f7501e54a95f62845cae859558ca6229 Mon Sep 17 00:00:00 2001 From: "Tobias Burdow [Kaleidox]" Date: Wed, 19 Oct 2022 21:56:34 +0200 Subject: [PATCH] update plugin --- .gitignore | 296 +- .idea/.idea.KScr.NET/.idea/.gitignore | 13 + .idea/.idea.KScr.NET/.idea/.name | 1 + .idea/.idea.KScr.NET/.idea/discord.xml | 7 + .idea/.idea.KScr.NET/.idea/encodings.xml | 4 + .idea/.idea.KScr.NET/.idea/indexLayout.xml | 14 + .idea/.idea.KScr.NET/.idea/misc.xml | 22 + .idea/.idea.KScr.NET/.idea/vcs.xml | 6 + .../org/comroid/kscr/test/PrintNumbers.kbin | Bin 0 -> 21913 bytes examples/build/compile/strings.kbin | Bin 0 -> 1727 bytes kscr-compiler/KScr/Antlr/KScrLexer.cs | 425 + kscr-compiler/KScr/Antlr/KScrLexer.interp | 365 + kscr-compiler/KScr/Antlr/KScrLexer.tokens | 224 + kscr-compiler/KScr/Antlr/KScrParser.cs | 10890 ++++++++++++++++ kscr-compiler/KScr/Antlr/KScrParser.interp | 332 + kscr-compiler/KScr/Antlr/KScrParser.tokens | 224 + .../KScr/Antlr/KScrParserBaseListener.cs | 2739 ++++ .../KScr/Antlr/KScrParserBaseVisitor.cs | 2190 ++++ .../KScr/Antlr/KScrParserListener.cs | 2317 ++++ kscr-compiler/KScr/Antlr/KScrParserVisitor.cs | 1379 ++ kscr-intellij/.gitignore | 48 +- kscr-intellij/.idea/.gitignore | 8 + kscr-intellij/.idea/.name | 1 + kscr-intellij/.idea/discord.xml | 7 + kscr-intellij/.idea/gradle.xml | 17 + kscr-intellij/.idea/misc.xml | 26 + kscr-intellij/.idea/vcs.xml | 6 + .../.run/Run IDE with Plugin.run.xml | 24 + kscr-intellij/build.gradle.kts | 47 +- .../gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 60756 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- kscr-intellij/gradlew | 257 +- kscr-intellij/settings.gradle.kts | 2 +- .../kscr/intellij/KScrBinaryFileType.java | 2 +- .../org/comroid/kscr/intellij/KScrIcons.java | 2 +- .../comroid/kscr/intellij/KScrLanguage.java | 6 +- .../kscr/intellij/KScrSourceFileType.java | 2 +- .../intellij/parser/KScrParserDefinition.java | 4 +- .../parser/KScrSyntaxHighlighter.java | 6 +- .../kscr/intellij/parser/LexerAdapter.java | 4 +- .../kscr/intellij/parser/ParserAdapter.java | 4 +- .../comroid/kscr/intellij/psi/KScrFile.java | 4 +- .../org/comroid/kscr/intellij/psi/Tokens.java | 286 +- .../psi/expressions/KScrCallExpr.java | 4 +- .../kscr/intellij/psi/stubs/StubTypes.java | 24 +- .../kscr/intellij/psi/utils/PsiUtils.java | 4 +- .../sdk/config/KScrLanguageConfiguration.java | 2 +- .../src/main/resources/META-INF/plugin.xml | 79 +- .../resources/{ => META-INF}/pluginIcon.svg | 0 .../InvalidTypeName.html | 8 - .../WrongFileNameForTypeName.html | 8 - 51 files changed, 21750 insertions(+), 592 deletions(-) create mode 100644 .idea/.idea.KScr.NET/.idea/.gitignore create mode 100644 .idea/.idea.KScr.NET/.idea/.name create mode 100644 .idea/.idea.KScr.NET/.idea/discord.xml create mode 100644 .idea/.idea.KScr.NET/.idea/encodings.xml create mode 100644 .idea/.idea.KScr.NET/.idea/indexLayout.xml create mode 100644 .idea/.idea.KScr.NET/.idea/misc.xml create mode 100644 .idea/.idea.KScr.NET/.idea/vcs.xml create mode 100644 examples/build/compile/org/comroid/kscr/test/PrintNumbers.kbin create mode 100644 examples/build/compile/strings.kbin create mode 100644 kscr-compiler/KScr/Antlr/KScrLexer.cs create mode 100644 kscr-compiler/KScr/Antlr/KScrLexer.interp create mode 100644 kscr-compiler/KScr/Antlr/KScrLexer.tokens create mode 100644 kscr-compiler/KScr/Antlr/KScrParser.cs create mode 100644 kscr-compiler/KScr/Antlr/KScrParser.interp create mode 100644 kscr-compiler/KScr/Antlr/KScrParser.tokens create mode 100644 kscr-compiler/KScr/Antlr/KScrParserBaseListener.cs create mode 100644 kscr-compiler/KScr/Antlr/KScrParserBaseVisitor.cs create mode 100644 kscr-compiler/KScr/Antlr/KScrParserListener.cs create mode 100644 kscr-compiler/KScr/Antlr/KScrParserVisitor.cs create mode 100644 kscr-intellij/.idea/.gitignore create mode 100644 kscr-intellij/.idea/.name create mode 100644 kscr-intellij/.idea/discord.xml create mode 100644 kscr-intellij/.idea/gradle.xml create mode 100644 kscr-intellij/.idea/misc.xml create mode 100644 kscr-intellij/.idea/vcs.xml create mode 100644 kscr-intellij/.run/Run IDE with Plugin.run.xml rename kscr-intellij/src/main/resources/{ => META-INF}/pluginIcon.svg (100%) delete mode 100644 kscr-intellij/src/main/resources/inspectionDescriptions/InvalidTypeName.html delete mode 100644 kscr-intellij/src/main/resources/inspectionDescriptions/WrongFileNameForTypeName.html diff --git a/.gitignore b/.gitignore index 1bc2be9..7257243 100644 --- a/.gitignore +++ b/.gitignore @@ -1,151 +1,11 @@ -# Created by https://www.toptal.com/developers/gitignore/api/visualstudio,rider,csharp,dotnetcore,c++,clion,unity -# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudio,rider,csharp,dotnetcore,c++,clion,unity - -### C++ ### -# Prerequisites -*.d - -# Compiled Object files -*.slo -*.lo -*.o -*.obj - -# Precompiled Headers -*.gch -*.pch - -# Compiled Dynamic libraries -*.so -*.dylib -*.dll - -# Fortran module files -*.mod -*.smod - -# Compiled Static libraries -*.lai -*.la -*.a -*.lib - -# Executables -*.exe -*.out -*.app - -### CLion ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# AWS User-specific -.idea/**/aws.xml - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - -### CLion Patch ### -# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 - -# *.iml -# modules.xml -# .idea/misc.xml -# *.ipr - -# Sonarlint plugin -# https://plugins.jetbrains.com/plugin/7973-sonarlint -.idea/**/sonarlint/ - -# SonarQube Plugin -# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin -.idea/**/sonarIssues.xml - -# Markdown Navigator plugin -# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced -.idea/**/markdown-navigator.xml -.idea/**/markdown-navigator-enh.xml -.idea/**/markdown-navigator/ - -# Cache file creation bug -# See https://youtrack.jetbrains.com/issue/JBR-2257 -.idea/$CACHE_FILE$ - -# CodeStream plugin -# https://plugins.jetbrains.com/plugin/12206-codestream -.idea/codestream.xml +# Created by https://www.toptal.com/developers/gitignore/api/rider,visualstudio,visualstudiocode,csharp +# Edit at https://www.toptal.com/developers/gitignore?templates=rider,visualstudio,visualstudiocode,csharp ### Csharp ### ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore # User-specific files *.rsuser @@ -218,7 +78,9 @@ StyleCopReport.xml *_h.h *.ilk *.meta +*.obj *.iobj +*.pch *.pdb *.ipdb *.pgc @@ -348,9 +210,6 @@ PublishScripts/ *.nuget.props *.nuget.targets -# Nuget personal access tokens and Credentials -nuget.config - # Microsoft Azure Build Output csx/ *.build.csdef @@ -439,6 +298,15 @@ node_modules/ # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) *.vbw +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files + # Visual Studio LightSwitch build output **/*.HTMLClient/GeneratedArtifacts **/*.DesktopClient/GeneratedArtifacts @@ -495,6 +363,9 @@ ASALocalRun/ # Local History for Visual Studio .localhistory/ +# Visual Studio History (VSHistory) files +.vshistory/ + # BeatPulse healthcheck temp database healthchecksdb @@ -526,31 +397,37 @@ FodyWeavers.xsd *.msp # JetBrains Rider -.idea/ *.sln.iml -### DotnetCore ### -# .NET Core build folders -bin/ -obj/ - -# Common node modules locations -/node_modules -/wwwroot/node_modules - ### Rider ### # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 # User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf # AWS User-specific +.idea/**/aws.xml # Generated files +.idea/**/contentModel.xml # Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml # Gradle +.idea/**/gradle.xml +.idea/**/libraries # Gradle and Maven with auto-import # When using Gradle or Maven with auto-import, you should exclude module files, @@ -566,86 +443,53 @@ obj/ # *.ipr # CMake +cmake-build-*/ # Mongo Explorer plugin +.idea/**/mongoSettings.xml # File-based project format +*.iws # IntelliJ +out/ # mpeltonen/sbt-idea plugin +.idea_modules/ # JIRA plugin +atlassian-ide-plugin.xml # Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ # Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties # Editor-based Rest Client +.idea/httpRequests # Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser -### Unity ### -# This .gitignore file should be placed at the root of your Unity project directory -# -# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore -/[Ll]ibrary/ -/[Tt]emp/ -/[Oo]bj/ -/[Bb]uild/ -/[Bb]uilds/ -/[Ll]ogs/ -/[Uu]ser[Ss]ettings/ - -# MemoryCaptures can get excessive in size. -# They also could contain extremely sensitive data -/[Mm]emoryCaptures/ - -# Asset meta data should only be ignored when the corresponding asset is also ignored -!/[Aa]ssets/**/*.meta - -# Uncomment this line if you wish to ignore the asset store tools plugin -# /[Aa]ssets/AssetStoreTools* - -# Autogenerated Jetbrains Rider plugin -/[Aa]ssets/Plugins/Editor/JetBrains* - -# Visual Studio cache directory - -# Gradle cache directory -.gradle/ - -# Autogenerated VS/MD/Consulo solution and project files -ExportedObj/ -.consulo/ -*.csproj -*.unityproj -*.sln -*.booproj -*.svd -*.mdb - -# Unity3D generated meta files -*.pidb.meta -*.pdb.meta -*.mdb.meta - -# Unity3D generated file on crash reports -sysinfo.txt - -# Builds -*.apk -*.aab -*.unitypackage +### VisualStudioCode ### +!.vscode/*.code-snippets -# Crashlytics generated file +# Local History for Visual Studio Code -# Packed Addressables -/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* +# Built Visual Studio Code Extensions +*.vsix -# Temporary auto-generated Android Assets -/[Aa]ssets/[Ss]treamingAssets/aa.meta -/[Aa]ssets/[Ss]treamingAssets/aa/* +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide ### VisualStudio ### @@ -729,8 +573,6 @@ sysinfo.txt # Uncomment if necessary however generally it will be regenerated when needed # NuGet v3's project.json files produces more ignorable files -# Nuget personal access tokens and Credentials - # Microsoft Azure Build Output # Microsoft Azure Emulator @@ -771,6 +613,12 @@ sysinfo.txt # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +# Visual Studio 6 auto-generated project file (contains which files were open etc.) + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) + +# Visual Studio 6 technical files + # Visual Studio LightSwitch build output # Paket dependency manager @@ -803,6 +651,8 @@ sysinfo.txt # Local History for Visual Studio +# Visual Studio History (VSHistory) files + # BeatPulse healthcheck temp database # Backup folder for Package Reference Convert tool in Visual Studio 2017 @@ -822,16 +672,4 @@ sysinfo.txt ### VisualStudio Patch ### # Additional files built by Visual Studio -# End of https://www.toptal.com/developers/gitignore/api/visualstudio,rider,csharp,dotnetcore,c++,clion,unity - -gen/ - -!**.sln -!**.csproj -.antlr/ -kscr-compiler/KScr/Antlr/ -gen/ -.vscode/ - -# ignore kscr build directory -build/ +# End of https://www.toptal.com/developers/gitignore/api/rider,visualstudio,visualstudiocode,csharp diff --git a/.idea/.idea.KScr.NET/.idea/.gitignore b/.idea/.idea.KScr.NET/.idea/.gitignore new file mode 100644 index 0000000..9337774 --- /dev/null +++ b/.idea/.idea.KScr.NET/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/modules.xml +/.idea.KScr.NET.iml +/contentModel.xml +/projectSettingsUpdater.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.KScr.NET/.idea/.name b/.idea/.idea.KScr.NET/.idea/.name new file mode 100644 index 0000000..a9d2e0e --- /dev/null +++ b/.idea/.idea.KScr.NET/.idea/.name @@ -0,0 +1 @@ +KScr.NET \ No newline at end of file diff --git a/.idea/.idea.KScr.NET/.idea/discord.xml b/.idea/.idea.KScr.NET/.idea/discord.xml new file mode 100644 index 0000000..d8e9561 --- /dev/null +++ b/.idea/.idea.KScr.NET/.idea/discord.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/.idea/.idea.KScr.NET/.idea/encodings.xml b/.idea/.idea.KScr.NET/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/.idea/.idea.KScr.NET/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/.idea.KScr.NET/.idea/indexLayout.xml b/.idea/.idea.KScr.NET/.idea/indexLayout.xml new file mode 100644 index 0000000..5645890 --- /dev/null +++ b/.idea/.idea.KScr.NET/.idea/indexLayout.xml @@ -0,0 +1,14 @@ + + + + + examples + grammar + + + examples + grammar + + + + \ No newline at end of file diff --git a/.idea/.idea.KScr.NET/.idea/misc.xml b/.idea/.idea.KScr.NET/.idea/misc.xml new file mode 100644 index 0000000..b13174e --- /dev/null +++ b/.idea/.idea.KScr.NET/.idea/misc.xml @@ -0,0 +1,22 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.KScr.NET/.idea/vcs.xml b/.idea/.idea.KScr.NET/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/.idea.KScr.NET/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/examples/build/compile/org/comroid/kscr/test/PrintNumbers.kbin b/examples/build/compile/org/comroid/kscr/test/PrintNumbers.kbin new file mode 100644 index 0000000000000000000000000000000000000000..bb9a65a12b232db7dca44b2c6d0a297ecfbb3543 GIT binary patch literal 21913 zcmdU1`;#3-6`r}7ke%!Ti5dhVa05}Jf<{5bM_@NWjEIU4R8$ldt?&7HZpOx4cLOn-g)^f})-{g~Npnx;9ApR-NZw2S6KgWot>op|m# zo?Cah;N>As_XzyoraL1DPJMe{C{*S1s&crvgQtuC;pol=DB5Y7qXpV(c!eKI(IJrP z_wD_7(jMsX(c&(COH2VwnCdm%(c&V(tPb$1X^wfZA^ClLdgRsUsEASH9^6?q1U5S3 zzO3`pl!e0?2~D5FO-H--EzQxg=Q7W^j{WO;oX*QCQ|$EzO5KaSBsth?n{n5`@^NZh z^35AJf?-^?u;}EsXk6OHf}g{^WlzZylKg_eO>?+d;c9WvTy#8;GvtAzSW<8)ML1?% z4P;S>L={PFui~G0dBiG%Lsz(-q2+DH`7@dkvDh-T8T#BDo6uv)&}T+Qwi|yLgdv*b zLq>4Zmcb98hC8NE_^%M*%{Oz%OR|(Kg*?-m_hJNBguK8n`p!f9K&WeYl(pC2*brl& z=?5QOv%F-H@zR61*&=8eT+Z~eTeg)}igEOL)@&=uA5xb>043R$0pm>{!4;+#_<2gk zanLN>_;oLCIu1sCtK^}Cau6&eHh+MSI3Bs6aJfo)M00Bp0y+qLgx5HR+|F7)xBm{8 zF1HgA61o%HG|PO0BZ2jM%2PtW5DW(~mJA$Nyy0-=E-^qm3i3g|P3fEGl-j&ZVLA@w zsgzN!%o+Sb({V)b2B)^I!faQAlY+iW683~^%o`l7y`Qbofqg6N5Vxuo+`Iw+e8{+Y zD6xh#DI9gYAw#AZaS@dnchRLFu5Se~4`zWoic zqAqLrS;j-STr&^syV@Yg3MdR$4SvTc$eO2OqV-z{lOCLCktSoavUdrrcpPzQRHGDi z#-#$2j61pXVb){izLlUyc^&fJHWi;Gwxl9iW+mSsxR4lFG_;zsj;X*3ddY%ujj2$i z2@PSvuMk{Pk#w-&*9jg~(d2l#z;j*k?7&lIMMI}tx zG0cm!Ix;5U_+Y^r_wdY(7f4_9u^%t~PAsEVQ~z`7Pxlz^&q?=giOUeMcW|AiVNOH+ zz`#=L2@|mYK-qql1(K{OLq&A2ffa)()vi!c{2&@47#(B_8_NQk$%5T55v_qrk(a48 zKFwAjdDdypKdF&YK^QmE4n9r-(w3g0 z%21*xo`HXZ%;jp`5em?BFt2%!e=f1s+bIXY1l09gOkth0%Xm2oq z6-RG^O7kMg6X$_4-!oaDK{uJ90Pw!Ch3C zg%Mpwt@v>&N@;x? z!KHAcYb=-)Ee>6uNWiRY{IfRgX3;=4T$MsmDn2dnuy$9>FnK8&?S6&2Y8YcO97Q_c7C+vrpl3dHn(+JLn2N~vF7IhB8 zxh7zFnh1OamE*XZc$eI>lIh}@q!zr11mq;rg2SvLn{rdh>_buVXA;SuvtV4Kg{X#! z19kAr0#9S4CJqO_)mby8B-b+XG=j5?WcKq^h&op=QsBTyyY>Xt*wEVAQ(!SNq{Q@9 zi6NQ5oIV#xX6P$0=QPE%mr5o>i;@j}CHYwk#&wCl0zW74H2P}dw-@?KaxHyNBREUn zXJB(r->7p1eFe_Z7p*MmM@-_J(+Mx6t1M&<(o=je-lwTU(W7)j*L22&{yCbePR10*<`b?z_s*^;Go7x_7%96z5>_MSKwOu z3OomWwfC?W`bu&web>NQ-h4jtCV~ftiBWNtKr?!h39Oye07eroA*o#>uxz?;};H+7{7|j~NC9{4h z0oR&UlA~F#L(FckDY%I4x*It6t!A3{;WBO;G|l~mco8_f1fum8d)l{BzN1oJLB6Bm zv3=hvs#pSxofPI}hwaxX@vkNFUWh8mwM0FQ;B35bDDw$B>RfUdiE6>4d%*l&%7VG< zu6lWqP6Cb-LDX~D6d0Lzt3S7i#YV+rR0}_Ut0qspV-uMf;;QXpIR`kVTA0s zE;Zg1nB)2iSNQ1XrnBb8+a{J+LA>*=;>uk%R|~1fm|PnTZijvBy9V|#z7fVUr}1$K)L6BsAOz&JrWS$g8R4~(a#d^o^~N7s=; zeXBVXO%rD#n1|T*O~w-V5{q#ZLenr)@P|Fvnm@N0BJd*wm$sr)$$ZZ|{xQ=6<=cZ^ zGsC?Ey(HHLeFRsSR$v8vX`mTCu<2WYAEmJh0}V-C_|D}kti`Hc3_m&v$COl~48Btw zZ%Z|jJV&b0q-G}-E!S6>zZH_?(NyyyZ0yY*!NEr;E2SENnQVEC`Dcal#mIz;^`!tg zbBADlJG${*20O9w9i17Sk0~bDP+}1KOPgNI#sILsO{9Q-SEEi*-Qnw)gqZCv+~=0xH)OesVU?%NZbojKvwS!ZaHe1)wftAbS~ zg4e*(IbF$c70^2u;RF~8Kf(eBbm?#XYixLF7o(53UI|?vp3XTve1H+n`@^` z5j^CQJCK*prrUg^!FVq-6-ln0sYGyz&t}djaP3S*U>W?K&s4q+vw9LqOyC6`PYMi; zIbjH!H83PO1cqhZDwA<`2M1P_l1P*sLN3i^FGte~tP!fh_X0aVY|mu^bEAUCl;w?v z>5dyKeXA_26$_>m!4Pm}%mPGv+6a7^%@^3mA|8i6jUhSI%?GHAZ$!CHbSljU&P6aA zQ@xT#EDT9iLSx6yhPr*LHr+yu636}kZ^{rNn(QS~B)K+H*1+<4%I9xJ(?sxKM@|V1 zLB5rMud%q~JH7EHpl>CaiLm5577gCRRVh9thND(Mi4!!DH>xC`5ImY;LPRG_ z{B|Npd&i|TY!+c^^$oTf`jZC4cTi+i{Ph}GC6Q6zO~8K?n5Xf?vI1g;Kc8h9*jRF! z1S|DMSpqS@ zSx2+JlxvpT|Fy!l#Pb@3DVLONLDPF%#Fj@#g7KVM^PfR}#5T{fxx#-2p+bd!F!BS| zWqGFoqi>@y*oy^Ig5$@OE_yQzbb#HR~q@AUoZ+5ez>G zjK`&PFYqxd;+VqdH&A~+>0XjUy3clAp^5g<`3SD)yug7jLoWS)znmnA`}XHJum3go z$X5^oGoW~^@8V(jKE}hfT|B`V6U-6W)UH4xz$+qfuxP4?g2;fi2KlyO}68 z9@EoGH3Y_HA{Pgz#$UIgOyB+j=TC`}Kkw^xyk>2iE}NR0?hm#ci%G;ae`Itu0h literal 0 HcmV?d00001 diff --git a/examples/build/compile/strings.kbin b/examples/build/compile/strings.kbin new file mode 100644 index 0000000000000000000000000000000000000000..233e1cc10e70f6df5006ccb547a4154e22cc408c GIT binary patch literal 1727 zcmaJ?YmZws5MAD29s(pJ-b{IQS7ZatW3_~(s1!c*Lo1|R!B-q#H`m11F1GL9gkR5@ zakdfaE>h%cdyZ$u=gc^N9vmE~H!%E`TquwFZfR3iA7dk?)!4)?Mc0hi*(5BI9mnNg z))e*Gjev_b#X&Ejx#;2yx!{V^-u+{fdK0Ju z?=Gw!+S0~GeRQMS(06Bd)eH56x{dF}mFo~oYZGeM?x8tpxEx_9^5mAiA$B6mEQIrS2D$3ph!*ZD6tm+^lzeg&|HHfO!E>UGRp>wTml zCf}%6u`cnv;OZ;&!FB$m7;;I9-CXMAbSUaQ%<1^}m>v`hGF)I8&3ZxVIat0Gx4&*& zxgQ&=p2ybIskiVEiq9iU!T~v(VmIX?O2Sf}IyCpf0|>D~B|NQH5bZMDAK?TLqDti9_8q6VgeEgOoXn2sN0MDS z6jqO_Z4TR9Yy#zFh01b@<#cc5WwmnEOs4FT15Tia?96yaX7i`Ex%;1fOFE#8*hjX1 z?=>a#AwMY98Hynl^)^6MA|2X|@qKoe_Ndm!Lhj>a9I0D?v7{jmv_ugNIyIS=CevVV zCrc(qzmSM`z%9Q=K#pMC>5opWs*~55i_Z46qwzH3N( z&|6R*aey1KsIM@FDBUAhrL8R^EaNRE(CB{E790kik literal 0 HcmV?d00001 diff --git a/kscr-compiler/KScr/Antlr/KScrLexer.cs b/kscr-compiler/KScr/Antlr/KScrLexer.cs new file mode 100644 index 0000000..ae37c48 --- /dev/null +++ b/kscr-compiler/KScr/Antlr/KScrLexer.cs @@ -0,0 +1,425 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.10.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from C:/dev/KScr/grammar\KScrLexer.g4 by ANTLR 4.10.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + +namespace KScr.Antlr { +using System; +using System.IO; +using System.Text; +using Antlr4.Runtime; +using Antlr4.Runtime.Atn; +using Antlr4.Runtime.Misc; +using DFA = Antlr4.Runtime.Dfa.DFA; + +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.10.1")] +[System.CLSCompliant(false)] +public partial class KScrLexer : Lexer { + protected static DFA[] decisionToDFA; + protected static PredictionContextCache sharedContextCache = new PredictionContextCache(); + public const int + PACKAGE=1, IMPORT=2, PUBLIC=3, INTERNAL=4, PROTECTED=5, PRIVATE=6, STATIC=7, + FINAL=8, ABSTRACT=9, NATIVE=10, SYNCHRONIZED=11, CLASS=12, INTERFACE=13, + ENUM=14, ANNOTATION=15, EXTENDS=16, IMPLEMENTS=17, RETURN=18, THROW=19, + NEW=20, YIELD=21, IS=22, MARK=23, JUMP=24, IF=25, ELSE=26, FOR=27, FOREACH=28, + DO=29, WHILE=30, SWITCH=31, CASE=32, DEFAULT=33, BREAK=34, CONTINUE=35, + TRY=36, CATCH=37, FINALLY=38, OBJECT=39, ARRAYIDENT=40, TUPLEIDENT=41, + TYPE=42, NUMIDENT=43, BYTE=44, SHORT=45, INT=46, LONG=47, FLOAT=48, DOUBLE=49, + VOID=50, VAR=51, NUMLIT=52, STRLIT=53, STDIOLIT=54, ENDLLIT=55, NULL=56, + TRUE=57, FALSE=58, THIS=59, SUPER=60, GET=61, SET=62, INIT=63, LPAREN=64, + RPAREN=65, LBRACE=66, RBRACE=67, LSQUAR=68, RSQUAR=69, COLON=70, SEMICOLON=71, + DOT=72, COMMA=73, EXCLAMATION=74, QUESTION=75, SHORTELIPSES=76, ELIPSES=77, + TILDE=78, ESCAPE_QUOTE=79, QUOTE=80, AND=81, OR=82, PLUSPLUS=83, MINUSMINUS=84, + BITAND=85, BITOR=86, UP=87, STAR=88, SLASH=89, PLUS=90, MINUS=91, PERCENT=92, + AT=93, LSHIFT=94, RSHIFT=95, ULSHIFT=96, URSHIFT=97, EQUAL=98, INEQUAL=99, + GREATEREQ=100, LESSEREQ=101, GREATER=102, LESSER=103, ASSIGN=104, REQARROW=105, + LDASHARROW=106, RDASHARROW=107, LLDASHARROW=108, RRDASHARROW=109, RREQARROW=110, + ID=111, DIGIT=112, LETTER=113, SING_COMMENT=114, WS=115, UNMATCHED=116; + public static string[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static string[] modeNames = { + "DEFAULT_MODE" + }; + + public static readonly string[] ruleNames = { + "PACKAGE", "IMPORT", "PUBLIC", "INTERNAL", "PROTECTED", "PRIVATE", "STATIC", + "FINAL", "ABSTRACT", "NATIVE", "SYNCHRONIZED", "CLASS", "INTERFACE", "ENUM", + "ANNOTATION", "EXTENDS", "IMPLEMENTS", "RETURN", "THROW", "NEW", "YIELD", + "IS", "MARK", "JUMP", "IF", "ELSE", "FOR", "FOREACH", "DO", "WHILE", "SWITCH", + "CASE", "DEFAULT", "BREAK", "CONTINUE", "TRY", "CATCH", "FINALLY", "OBJECT", + "ARRAYIDENT", "TUPLEIDENT", "TYPE", "NUMIDENT", "BYTE", "SHORT", "INT", + "LONG", "FLOAT", "DOUBLE", "VOID", "VAR", "NUMLIT", "STRLIT", "STDIOLIT", + "ENDLLIT", "NULL", "TRUE", "FALSE", "THIS", "SUPER", "GET", "SET", "INIT", + "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LSQUAR", "RSQUAR", "COLON", "SEMICOLON", + "DOT", "COMMA", "EXCLAMATION", "QUESTION", "SHORTELIPSES", "ELIPSES", + "TILDE", "ESCAPE_QUOTE", "QUOTE", "AND", "OR", "PLUSPLUS", "MINUSMINUS", + "BITAND", "BITOR", "UP", "STAR", "SLASH", "PLUS", "MINUS", "PERCENT", + "AT", "LSHIFT", "RSHIFT", "ULSHIFT", "URSHIFT", "EQUAL", "INEQUAL", "GREATEREQ", + "LESSEREQ", "GREATER", "LESSER", "ASSIGN", "REQARROW", "LDASHARROW", "RDASHARROW", + "LLDASHARROW", "RRDASHARROW", "RREQARROW", "ID", "DIGIT", "LETTER", "SING_COMMENT", + "WS", "UNMATCHED" + }; + + + public KScrLexer(ICharStream input) + : this(input, Console.Out, Console.Error) { } + + public KScrLexer(ICharStream input, TextWriter output, TextWriter errorOutput) + : base(input, output, errorOutput) + { + Interpreter = new LexerATNSimulator(this, _ATN, decisionToDFA, sharedContextCache); + } + + private static readonly string[] _LiteralNames = { + null, "'package'", "'import'", "'public'", "'internal'", "'protected'", + "'private'", "'static'", "'final'", "'abstract'", "'native'", "'synchronized'", + "'class'", "'interface'", "'enum'", "'annotation'", "'extends'", "'implements'", + "'return'", "'throw'", "'new'", "'yield'", "'is'", "'mark'", "'jump'", + "'if'", "'else'", "'for'", "'foreach'", "'do'", "'while'", "'switch'", + "'case'", "'default'", "'break'", "'continue'", "'try'", "'catch'", "'finally'", + "'object'", "'array'", "'tuple'", "'type'", "'num'", "'byte'", "'short'", + "'int'", "'long'", "'float'", "'double'", "'void'", "'var'", null, null, + "'stdio'", "'endl'", "'null'", "'true'", "'false'", "'this'", "'super'", + "'get'", "'set'", "'init'", "'('", "')'", "'{'", "'}'", "'['", "']'", + "':'", "';'", "'.'", "','", "'!'", "'?'", "'..'", "'...'", "'~'", "'\\\"'", + "'\"'", "'&&'", "'||'", "'++'", "'--'", "'&'", "'|'", "'^'", "'*'", "'/'", + "'+'", "'-'", "'%'", "'@'", "'<<'", "'>>'", "'<<<'", "'>>>'", "'=='", + "'!='", "'>='", "'<='", "'>'", "'<'", "'='", "'=>'", "'<-'", "'->'", "'<<-'", + "'->>'", "'=>>'" + }; + private static readonly string[] _SymbolicNames = { + null, "PACKAGE", "IMPORT", "PUBLIC", "INTERNAL", "PROTECTED", "PRIVATE", + "STATIC", "FINAL", "ABSTRACT", "NATIVE", "SYNCHRONIZED", "CLASS", "INTERFACE", + "ENUM", "ANNOTATION", "EXTENDS", "IMPLEMENTS", "RETURN", "THROW", "NEW", + "YIELD", "IS", "MARK", "JUMP", "IF", "ELSE", "FOR", "FOREACH", "DO", "WHILE", + "SWITCH", "CASE", "DEFAULT", "BREAK", "CONTINUE", "TRY", "CATCH", "FINALLY", + "OBJECT", "ARRAYIDENT", "TUPLEIDENT", "TYPE", "NUMIDENT", "BYTE", "SHORT", + "INT", "LONG", "FLOAT", "DOUBLE", "VOID", "VAR", "NUMLIT", "STRLIT", "STDIOLIT", + "ENDLLIT", "NULL", "TRUE", "FALSE", "THIS", "SUPER", "GET", "SET", "INIT", + "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LSQUAR", "RSQUAR", "COLON", "SEMICOLON", + "DOT", "COMMA", "EXCLAMATION", "QUESTION", "SHORTELIPSES", "ELIPSES", + "TILDE", "ESCAPE_QUOTE", "QUOTE", "AND", "OR", "PLUSPLUS", "MINUSMINUS", + "BITAND", "BITOR", "UP", "STAR", "SLASH", "PLUS", "MINUS", "PERCENT", + "AT", "LSHIFT", "RSHIFT", "ULSHIFT", "URSHIFT", "EQUAL", "INEQUAL", "GREATEREQ", + "LESSEREQ", "GREATER", "LESSER", "ASSIGN", "REQARROW", "LDASHARROW", "RDASHARROW", + "LLDASHARROW", "RRDASHARROW", "RREQARROW", "ID", "DIGIT", "LETTER", "SING_COMMENT", + "WS", "UNMATCHED" + }; + public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames); + + [NotNull] + public override IVocabulary Vocabulary + { + get + { + return DefaultVocabulary; + } + } + + public override string GrammarFileName { get { return "KScrLexer.g4"; } } + + public override string[] RuleNames { get { return ruleNames; } } + + public override string[] ChannelNames { get { return channelNames; } } + + public override string[] ModeNames { get { return modeNames; } } + + public override int[] SerializedAtn { get { return _serializedATN; } } + + static KScrLexer() { + decisionToDFA = new DFA[_ATN.NumberOfDecisions]; + for (int i = 0; i < _ATN.NumberOfDecisions; i++) { + decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i); + } + } + private static int[] _serializedATN = { + 4,0,116,808,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7, + 6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14, + 7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21, + 7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28, + 7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35, + 7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42, + 7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49, + 7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56, + 7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63, + 7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70, + 7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77, + 7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84, + 7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91, + 7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98, + 7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7, + 104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110, + 7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,1,0, + 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1, + 2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4, + 1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1, + 6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8, + 1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1, + 10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1, + 12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1, + 14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1, + 15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1, + 17,1,17,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1, + 19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1, + 22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1, + 25,1,25,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1, + 28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1, + 30,1,30,1,31,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1, + 32,1,33,1,33,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1, + 34,1,34,1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1, + 37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1, + 39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1, + 41,1,41,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1, + 44,1,44,1,44,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1, + 47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1, + 49,1,49,1,50,1,50,1,50,1,50,1,51,4,51,565,8,51,11,51,12,51,566,1,51,1, + 51,4,51,571,8,51,11,51,12,51,572,1,51,3,51,576,8,51,1,51,3,51,579,8,51, + 3,51,581,8,51,1,51,3,51,584,8,51,3,51,586,8,51,1,51,1,51,1,51,1,51,4,51, + 592,8,51,11,51,12,51,593,3,51,596,8,51,1,52,1,52,1,52,5,52,601,8,52,10, + 52,12,52,604,9,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1, + 54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,57,1, + 57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,59,1, + 59,1,59,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1, + 62,1,63,1,63,1,64,1,64,1,65,1,65,1,66,1,66,1,67,1,67,1,68,1,68,1,69,1, + 69,1,70,1,70,1,71,1,71,1,72,1,72,1,73,1,73,1,74,1,74,1,75,1,75,1,75,1, + 76,1,76,1,76,1,76,1,77,1,77,1,78,1,78,1,78,1,79,1,79,1,80,1,80,1,80,1, + 81,1,81,1,81,1,82,1,82,1,82,1,83,1,83,1,83,1,84,1,84,1,85,1,85,1,86,1, + 86,1,87,1,87,1,88,1,88,1,89,1,89,1,90,1,90,1,91,1,91,1,92,1,92,1,93,1, + 93,1,93,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,97,1, + 97,1,97,1,98,1,98,1,98,1,99,1,99,1,99,1,100,1,100,1,100,1,101,1,101,1, + 102,1,102,1,103,1,103,1,104,1,104,1,104,1,105,1,105,1,105,1,106,1,106, + 1,106,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,109,1,109,1,109, + 1,109,1,110,1,110,1,110,5,110,783,8,110,10,110,12,110,786,9,110,1,111, + 1,111,1,112,1,112,1,113,1,113,1,113,1,113,5,113,796,8,113,10,113,12,113, + 799,9,113,1,113,1,113,1,114,1,114,1,114,1,114,1,115,1,115,1,602,0,116, + 1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14, + 29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26, + 53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38, + 77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48,97,49,99,50, + 101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117,59,119,60, + 121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137,69,139,70, + 141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157,79,159,80, + 161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177,89,179,90, + 181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197,99,199,100, + 201,101,203,102,205,103,207,104,209,105,211,106,213,107,215,108,217,109, + 219,110,221,111,223,112,225,113,227,114,229,115,231,116,1,0,8,4,0,98,98, + 105,105,108,108,115,115,2,0,98,98,120,120,2,0,65,70,97,102,3,0,10,10,13, + 13,34,34,1,0,48,57,6,0,35,36,65,90,95,95,97,122,163,163,194,194,2,0,10, + 10,13,13,3,0,9,10,13,13,32,32,822,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0, + 0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1, + 0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0, + 0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39, + 1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0, + 0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61, + 1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0, + 0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83, + 1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0, + 0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0, + 105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0, + 115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0, + 125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0, + 135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0, + 145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0, + 155,1,0,0,0,0,157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0, + 165,1,0,0,0,0,167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0, + 175,1,0,0,0,0,177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0, + 185,1,0,0,0,0,187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0, + 195,1,0,0,0,0,197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0, + 205,1,0,0,0,0,207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0, + 215,1,0,0,0,0,217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0, + 225,1,0,0,0,0,227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,1,233,1,0,0,0,3, + 241,1,0,0,0,5,248,1,0,0,0,7,255,1,0,0,0,9,264,1,0,0,0,11,274,1,0,0,0,13, + 282,1,0,0,0,15,289,1,0,0,0,17,295,1,0,0,0,19,304,1,0,0,0,21,311,1,0,0, + 0,23,324,1,0,0,0,25,330,1,0,0,0,27,340,1,0,0,0,29,345,1,0,0,0,31,356,1, + 0,0,0,33,364,1,0,0,0,35,375,1,0,0,0,37,382,1,0,0,0,39,388,1,0,0,0,41,392, + 1,0,0,0,43,398,1,0,0,0,45,401,1,0,0,0,47,406,1,0,0,0,49,411,1,0,0,0,51, + 414,1,0,0,0,53,419,1,0,0,0,55,423,1,0,0,0,57,431,1,0,0,0,59,434,1,0,0, + 0,61,440,1,0,0,0,63,447,1,0,0,0,65,452,1,0,0,0,67,460,1,0,0,0,69,466,1, + 0,0,0,71,475,1,0,0,0,73,479,1,0,0,0,75,485,1,0,0,0,77,493,1,0,0,0,79,500, + 1,0,0,0,81,506,1,0,0,0,83,512,1,0,0,0,85,517,1,0,0,0,87,521,1,0,0,0,89, + 526,1,0,0,0,91,532,1,0,0,0,93,536,1,0,0,0,95,541,1,0,0,0,97,547,1,0,0, + 0,99,554,1,0,0,0,101,559,1,0,0,0,103,595,1,0,0,0,105,597,1,0,0,0,107,607, + 1,0,0,0,109,613,1,0,0,0,111,618,1,0,0,0,113,623,1,0,0,0,115,628,1,0,0, + 0,117,634,1,0,0,0,119,639,1,0,0,0,121,645,1,0,0,0,123,649,1,0,0,0,125, + 653,1,0,0,0,127,658,1,0,0,0,129,660,1,0,0,0,131,662,1,0,0,0,133,664,1, + 0,0,0,135,666,1,0,0,0,137,668,1,0,0,0,139,670,1,0,0,0,141,672,1,0,0,0, + 143,674,1,0,0,0,145,676,1,0,0,0,147,678,1,0,0,0,149,680,1,0,0,0,151,682, + 1,0,0,0,153,685,1,0,0,0,155,689,1,0,0,0,157,691,1,0,0,0,159,694,1,0,0, + 0,161,696,1,0,0,0,163,699,1,0,0,0,165,702,1,0,0,0,167,705,1,0,0,0,169, + 708,1,0,0,0,171,710,1,0,0,0,173,712,1,0,0,0,175,714,1,0,0,0,177,716,1, + 0,0,0,179,718,1,0,0,0,181,720,1,0,0,0,183,722,1,0,0,0,185,724,1,0,0,0, + 187,726,1,0,0,0,189,729,1,0,0,0,191,732,1,0,0,0,193,736,1,0,0,0,195,740, + 1,0,0,0,197,743,1,0,0,0,199,746,1,0,0,0,201,749,1,0,0,0,203,752,1,0,0, + 0,205,754,1,0,0,0,207,756,1,0,0,0,209,758,1,0,0,0,211,761,1,0,0,0,213, + 764,1,0,0,0,215,767,1,0,0,0,217,771,1,0,0,0,219,775,1,0,0,0,221,779,1, + 0,0,0,223,787,1,0,0,0,225,789,1,0,0,0,227,791,1,0,0,0,229,802,1,0,0,0, + 231,806,1,0,0,0,233,234,5,112,0,0,234,235,5,97,0,0,235,236,5,99,0,0,236, + 237,5,107,0,0,237,238,5,97,0,0,238,239,5,103,0,0,239,240,5,101,0,0,240, + 2,1,0,0,0,241,242,5,105,0,0,242,243,5,109,0,0,243,244,5,112,0,0,244,245, + 5,111,0,0,245,246,5,114,0,0,246,247,5,116,0,0,247,4,1,0,0,0,248,249,5, + 112,0,0,249,250,5,117,0,0,250,251,5,98,0,0,251,252,5,108,0,0,252,253,5, + 105,0,0,253,254,5,99,0,0,254,6,1,0,0,0,255,256,5,105,0,0,256,257,5,110, + 0,0,257,258,5,116,0,0,258,259,5,101,0,0,259,260,5,114,0,0,260,261,5,110, + 0,0,261,262,5,97,0,0,262,263,5,108,0,0,263,8,1,0,0,0,264,265,5,112,0,0, + 265,266,5,114,0,0,266,267,5,111,0,0,267,268,5,116,0,0,268,269,5,101,0, + 0,269,270,5,99,0,0,270,271,5,116,0,0,271,272,5,101,0,0,272,273,5,100,0, + 0,273,10,1,0,0,0,274,275,5,112,0,0,275,276,5,114,0,0,276,277,5,105,0,0, + 277,278,5,118,0,0,278,279,5,97,0,0,279,280,5,116,0,0,280,281,5,101,0,0, + 281,12,1,0,0,0,282,283,5,115,0,0,283,284,5,116,0,0,284,285,5,97,0,0,285, + 286,5,116,0,0,286,287,5,105,0,0,287,288,5,99,0,0,288,14,1,0,0,0,289,290, + 5,102,0,0,290,291,5,105,0,0,291,292,5,110,0,0,292,293,5,97,0,0,293,294, + 5,108,0,0,294,16,1,0,0,0,295,296,5,97,0,0,296,297,5,98,0,0,297,298,5,115, + 0,0,298,299,5,116,0,0,299,300,5,114,0,0,300,301,5,97,0,0,301,302,5,99, + 0,0,302,303,5,116,0,0,303,18,1,0,0,0,304,305,5,110,0,0,305,306,5,97,0, + 0,306,307,5,116,0,0,307,308,5,105,0,0,308,309,5,118,0,0,309,310,5,101, + 0,0,310,20,1,0,0,0,311,312,5,115,0,0,312,313,5,121,0,0,313,314,5,110,0, + 0,314,315,5,99,0,0,315,316,5,104,0,0,316,317,5,114,0,0,317,318,5,111,0, + 0,318,319,5,110,0,0,319,320,5,105,0,0,320,321,5,122,0,0,321,322,5,101, + 0,0,322,323,5,100,0,0,323,22,1,0,0,0,324,325,5,99,0,0,325,326,5,108,0, + 0,326,327,5,97,0,0,327,328,5,115,0,0,328,329,5,115,0,0,329,24,1,0,0,0, + 330,331,5,105,0,0,331,332,5,110,0,0,332,333,5,116,0,0,333,334,5,101,0, + 0,334,335,5,114,0,0,335,336,5,102,0,0,336,337,5,97,0,0,337,338,5,99,0, + 0,338,339,5,101,0,0,339,26,1,0,0,0,340,341,5,101,0,0,341,342,5,110,0,0, + 342,343,5,117,0,0,343,344,5,109,0,0,344,28,1,0,0,0,345,346,5,97,0,0,346, + 347,5,110,0,0,347,348,5,110,0,0,348,349,5,111,0,0,349,350,5,116,0,0,350, + 351,5,97,0,0,351,352,5,116,0,0,352,353,5,105,0,0,353,354,5,111,0,0,354, + 355,5,110,0,0,355,30,1,0,0,0,356,357,5,101,0,0,357,358,5,120,0,0,358,359, + 5,116,0,0,359,360,5,101,0,0,360,361,5,110,0,0,361,362,5,100,0,0,362,363, + 5,115,0,0,363,32,1,0,0,0,364,365,5,105,0,0,365,366,5,109,0,0,366,367,5, + 112,0,0,367,368,5,108,0,0,368,369,5,101,0,0,369,370,5,109,0,0,370,371, + 5,101,0,0,371,372,5,110,0,0,372,373,5,116,0,0,373,374,5,115,0,0,374,34, + 1,0,0,0,375,376,5,114,0,0,376,377,5,101,0,0,377,378,5,116,0,0,378,379, + 5,117,0,0,379,380,5,114,0,0,380,381,5,110,0,0,381,36,1,0,0,0,382,383,5, + 116,0,0,383,384,5,104,0,0,384,385,5,114,0,0,385,386,5,111,0,0,386,387, + 5,119,0,0,387,38,1,0,0,0,388,389,5,110,0,0,389,390,5,101,0,0,390,391,5, + 119,0,0,391,40,1,0,0,0,392,393,5,121,0,0,393,394,5,105,0,0,394,395,5,101, + 0,0,395,396,5,108,0,0,396,397,5,100,0,0,397,42,1,0,0,0,398,399,5,105,0, + 0,399,400,5,115,0,0,400,44,1,0,0,0,401,402,5,109,0,0,402,403,5,97,0,0, + 403,404,5,114,0,0,404,405,5,107,0,0,405,46,1,0,0,0,406,407,5,106,0,0,407, + 408,5,117,0,0,408,409,5,109,0,0,409,410,5,112,0,0,410,48,1,0,0,0,411,412, + 5,105,0,0,412,413,5,102,0,0,413,50,1,0,0,0,414,415,5,101,0,0,415,416,5, + 108,0,0,416,417,5,115,0,0,417,418,5,101,0,0,418,52,1,0,0,0,419,420,5,102, + 0,0,420,421,5,111,0,0,421,422,5,114,0,0,422,54,1,0,0,0,423,424,5,102,0, + 0,424,425,5,111,0,0,425,426,5,114,0,0,426,427,5,101,0,0,427,428,5,97,0, + 0,428,429,5,99,0,0,429,430,5,104,0,0,430,56,1,0,0,0,431,432,5,100,0,0, + 432,433,5,111,0,0,433,58,1,0,0,0,434,435,5,119,0,0,435,436,5,104,0,0,436, + 437,5,105,0,0,437,438,5,108,0,0,438,439,5,101,0,0,439,60,1,0,0,0,440,441, + 5,115,0,0,441,442,5,119,0,0,442,443,5,105,0,0,443,444,5,116,0,0,444,445, + 5,99,0,0,445,446,5,104,0,0,446,62,1,0,0,0,447,448,5,99,0,0,448,449,5,97, + 0,0,449,450,5,115,0,0,450,451,5,101,0,0,451,64,1,0,0,0,452,453,5,100,0, + 0,453,454,5,101,0,0,454,455,5,102,0,0,455,456,5,97,0,0,456,457,5,117,0, + 0,457,458,5,108,0,0,458,459,5,116,0,0,459,66,1,0,0,0,460,461,5,98,0,0, + 461,462,5,114,0,0,462,463,5,101,0,0,463,464,5,97,0,0,464,465,5,107,0,0, + 465,68,1,0,0,0,466,467,5,99,0,0,467,468,5,111,0,0,468,469,5,110,0,0,469, + 470,5,116,0,0,470,471,5,105,0,0,471,472,5,110,0,0,472,473,5,117,0,0,473, + 474,5,101,0,0,474,70,1,0,0,0,475,476,5,116,0,0,476,477,5,114,0,0,477,478, + 5,121,0,0,478,72,1,0,0,0,479,480,5,99,0,0,480,481,5,97,0,0,481,482,5,116, + 0,0,482,483,5,99,0,0,483,484,5,104,0,0,484,74,1,0,0,0,485,486,5,102,0, + 0,486,487,5,105,0,0,487,488,5,110,0,0,488,489,5,97,0,0,489,490,5,108,0, + 0,490,491,5,108,0,0,491,492,5,121,0,0,492,76,1,0,0,0,493,494,5,111,0,0, + 494,495,5,98,0,0,495,496,5,106,0,0,496,497,5,101,0,0,497,498,5,99,0,0, + 498,499,5,116,0,0,499,78,1,0,0,0,500,501,5,97,0,0,501,502,5,114,0,0,502, + 503,5,114,0,0,503,504,5,97,0,0,504,505,5,121,0,0,505,80,1,0,0,0,506,507, + 5,116,0,0,507,508,5,117,0,0,508,509,5,112,0,0,509,510,5,108,0,0,510,511, + 5,101,0,0,511,82,1,0,0,0,512,513,5,116,0,0,513,514,5,121,0,0,514,515,5, + 112,0,0,515,516,5,101,0,0,516,84,1,0,0,0,517,518,5,110,0,0,518,519,5,117, + 0,0,519,520,5,109,0,0,520,86,1,0,0,0,521,522,5,98,0,0,522,523,5,121,0, + 0,523,524,5,116,0,0,524,525,5,101,0,0,525,88,1,0,0,0,526,527,5,115,0,0, + 527,528,5,104,0,0,528,529,5,111,0,0,529,530,5,114,0,0,530,531,5,116,0, + 0,531,90,1,0,0,0,532,533,5,105,0,0,533,534,5,110,0,0,534,535,5,116,0,0, + 535,92,1,0,0,0,536,537,5,108,0,0,537,538,5,111,0,0,538,539,5,110,0,0,539, + 540,5,103,0,0,540,94,1,0,0,0,541,542,5,102,0,0,542,543,5,108,0,0,543,544, + 5,111,0,0,544,545,5,97,0,0,545,546,5,116,0,0,546,96,1,0,0,0,547,548,5, + 100,0,0,548,549,5,111,0,0,549,550,5,117,0,0,550,551,5,98,0,0,551,552,5, + 108,0,0,552,553,5,101,0,0,553,98,1,0,0,0,554,555,5,118,0,0,555,556,5,111, + 0,0,556,557,5,105,0,0,557,558,5,100,0,0,558,100,1,0,0,0,559,560,5,118, + 0,0,560,561,5,97,0,0,561,562,5,114,0,0,562,102,1,0,0,0,563,565,3,223,111, + 0,564,563,1,0,0,0,565,566,1,0,0,0,566,564,1,0,0,0,566,567,1,0,0,0,567, + 585,1,0,0,0,568,570,3,143,71,0,569,571,3,223,111,0,570,569,1,0,0,0,571, + 572,1,0,0,0,572,570,1,0,0,0,572,573,1,0,0,0,573,578,1,0,0,0,574,576,5, + 102,0,0,575,574,1,0,0,0,575,576,1,0,0,0,576,579,1,0,0,0,577,579,5,100, + 0,0,578,575,1,0,0,0,578,577,1,0,0,0,579,581,1,0,0,0,580,568,1,0,0,0,580, + 581,1,0,0,0,581,586,1,0,0,0,582,584,7,0,0,0,583,582,1,0,0,0,583,584,1, + 0,0,0,584,586,1,0,0,0,585,580,1,0,0,0,585,583,1,0,0,0,586,596,1,0,0,0, + 587,588,5,48,0,0,588,591,7,1,0,0,589,592,3,223,111,0,590,592,7,2,0,0,591, + 589,1,0,0,0,591,590,1,0,0,0,592,593,1,0,0,0,593,591,1,0,0,0,593,594,1, + 0,0,0,594,596,1,0,0,0,595,564,1,0,0,0,595,587,1,0,0,0,596,104,1,0,0,0, + 597,602,3,159,79,0,598,601,3,157,78,0,599,601,8,3,0,0,600,598,1,0,0,0, + 600,599,1,0,0,0,601,604,1,0,0,0,602,603,1,0,0,0,602,600,1,0,0,0,603,605, + 1,0,0,0,604,602,1,0,0,0,605,606,3,159,79,0,606,106,1,0,0,0,607,608,5,115, + 0,0,608,609,5,116,0,0,609,610,5,100,0,0,610,611,5,105,0,0,611,612,5,111, + 0,0,612,108,1,0,0,0,613,614,5,101,0,0,614,615,5,110,0,0,615,616,5,100, + 0,0,616,617,5,108,0,0,617,110,1,0,0,0,618,619,5,110,0,0,619,620,5,117, + 0,0,620,621,5,108,0,0,621,622,5,108,0,0,622,112,1,0,0,0,623,624,5,116, + 0,0,624,625,5,114,0,0,625,626,5,117,0,0,626,627,5,101,0,0,627,114,1,0, + 0,0,628,629,5,102,0,0,629,630,5,97,0,0,630,631,5,108,0,0,631,632,5,115, + 0,0,632,633,5,101,0,0,633,116,1,0,0,0,634,635,5,116,0,0,635,636,5,104, + 0,0,636,637,5,105,0,0,637,638,5,115,0,0,638,118,1,0,0,0,639,640,5,115, + 0,0,640,641,5,117,0,0,641,642,5,112,0,0,642,643,5,101,0,0,643,644,5,114, + 0,0,644,120,1,0,0,0,645,646,5,103,0,0,646,647,5,101,0,0,647,648,5,116, + 0,0,648,122,1,0,0,0,649,650,5,115,0,0,650,651,5,101,0,0,651,652,5,116, + 0,0,652,124,1,0,0,0,653,654,5,105,0,0,654,655,5,110,0,0,655,656,5,105, + 0,0,656,657,5,116,0,0,657,126,1,0,0,0,658,659,5,40,0,0,659,128,1,0,0,0, + 660,661,5,41,0,0,661,130,1,0,0,0,662,663,5,123,0,0,663,132,1,0,0,0,664, + 665,5,125,0,0,665,134,1,0,0,0,666,667,5,91,0,0,667,136,1,0,0,0,668,669, + 5,93,0,0,669,138,1,0,0,0,670,671,5,58,0,0,671,140,1,0,0,0,672,673,5,59, + 0,0,673,142,1,0,0,0,674,675,5,46,0,0,675,144,1,0,0,0,676,677,5,44,0,0, + 677,146,1,0,0,0,678,679,5,33,0,0,679,148,1,0,0,0,680,681,5,63,0,0,681, + 150,1,0,0,0,682,683,5,46,0,0,683,684,5,46,0,0,684,152,1,0,0,0,685,686, + 5,46,0,0,686,687,5,46,0,0,687,688,5,46,0,0,688,154,1,0,0,0,689,690,5,126, + 0,0,690,156,1,0,0,0,691,692,5,92,0,0,692,693,5,34,0,0,693,158,1,0,0,0, + 694,695,5,34,0,0,695,160,1,0,0,0,696,697,5,38,0,0,697,698,5,38,0,0,698, + 162,1,0,0,0,699,700,5,124,0,0,700,701,5,124,0,0,701,164,1,0,0,0,702,703, + 5,43,0,0,703,704,5,43,0,0,704,166,1,0,0,0,705,706,5,45,0,0,706,707,5,45, + 0,0,707,168,1,0,0,0,708,709,5,38,0,0,709,170,1,0,0,0,710,711,5,124,0,0, + 711,172,1,0,0,0,712,713,5,94,0,0,713,174,1,0,0,0,714,715,5,42,0,0,715, + 176,1,0,0,0,716,717,5,47,0,0,717,178,1,0,0,0,718,719,5,43,0,0,719,180, + 1,0,0,0,720,721,5,45,0,0,721,182,1,0,0,0,722,723,5,37,0,0,723,184,1,0, + 0,0,724,725,5,64,0,0,725,186,1,0,0,0,726,727,5,60,0,0,727,728,5,60,0,0, + 728,188,1,0,0,0,729,730,5,62,0,0,730,731,5,62,0,0,731,190,1,0,0,0,732, + 733,5,60,0,0,733,734,5,60,0,0,734,735,5,60,0,0,735,192,1,0,0,0,736,737, + 5,62,0,0,737,738,5,62,0,0,738,739,5,62,0,0,739,194,1,0,0,0,740,741,5,61, + 0,0,741,742,5,61,0,0,742,196,1,0,0,0,743,744,5,33,0,0,744,745,5,61,0,0, + 745,198,1,0,0,0,746,747,5,62,0,0,747,748,5,61,0,0,748,200,1,0,0,0,749, + 750,5,60,0,0,750,751,5,61,0,0,751,202,1,0,0,0,752,753,5,62,0,0,753,204, + 1,0,0,0,754,755,5,60,0,0,755,206,1,0,0,0,756,757,5,61,0,0,757,208,1,0, + 0,0,758,759,5,61,0,0,759,760,5,62,0,0,760,210,1,0,0,0,761,762,5,60,0,0, + 762,763,5,45,0,0,763,212,1,0,0,0,764,765,5,45,0,0,765,766,5,62,0,0,766, + 214,1,0,0,0,767,768,5,60,0,0,768,769,5,60,0,0,769,770,5,45,0,0,770,216, + 1,0,0,0,771,772,5,45,0,0,772,773,5,62,0,0,773,774,5,62,0,0,774,218,1,0, + 0,0,775,776,5,61,0,0,776,777,5,62,0,0,777,778,5,62,0,0,778,220,1,0,0,0, + 779,784,3,225,112,0,780,783,3,223,111,0,781,783,3,225,112,0,782,780,1, + 0,0,0,782,781,1,0,0,0,783,786,1,0,0,0,784,782,1,0,0,0,784,785,1,0,0,0, + 785,222,1,0,0,0,786,784,1,0,0,0,787,788,7,4,0,0,788,224,1,0,0,0,789,790, + 7,5,0,0,790,226,1,0,0,0,791,792,5,47,0,0,792,793,5,47,0,0,793,797,1,0, + 0,0,794,796,8,6,0,0,795,794,1,0,0,0,796,799,1,0,0,0,797,795,1,0,0,0,797, + 798,1,0,0,0,798,800,1,0,0,0,799,797,1,0,0,0,800,801,6,113,0,0,801,228, + 1,0,0,0,802,803,7,7,0,0,803,804,1,0,0,0,804,805,6,114,0,0,805,230,1,0, + 0,0,806,807,9,0,0,0,807,232,1,0,0,0,16,0,566,572,575,578,580,583,585,591, + 593,595,600,602,782,784,797,1,0,1,0 + }; + + public static readonly ATN _ATN = + new ATNDeserializer().Deserialize(_serializedATN); + + +} +} // namespace KScr.Antlr diff --git a/kscr-compiler/KScr/Antlr/KScrLexer.interp b/kscr-compiler/KScr/Antlr/KScrLexer.interp new file mode 100644 index 0000000..11c93f4 --- /dev/null +++ b/kscr-compiler/KScr/Antlr/KScrLexer.interp @@ -0,0 +1,365 @@ +token literal names: +null +'package' +'import' +'public' +'internal' +'protected' +'private' +'static' +'final' +'abstract' +'native' +'synchronized' +'class' +'interface' +'enum' +'annotation' +'extends' +'implements' +'return' +'throw' +'new' +'yield' +'is' +'mark' +'jump' +'if' +'else' +'for' +'foreach' +'do' +'while' +'switch' +'case' +'default' +'break' +'continue' +'try' +'catch' +'finally' +'object' +'array' +'tuple' +'type' +'num' +'byte' +'short' +'int' +'long' +'float' +'double' +'void' +'var' +null +null +'stdio' +'endl' +'null' +'true' +'false' +'this' +'super' +'get' +'set' +'init' +'(' +')' +'{' +'}' +'[' +']' +':' +';' +'.' +',' +'!' +'?' +'..' +'...' +'~' +'\\"' +'"' +'&&' +'||' +'++' +'--' +'&' +'|' +'^' +'*' +'/' +'+' +'-' +'%' +'@' +'<<' +'>>' +'<<<' +'>>>' +'==' +'!=' +'>=' +'<=' +'>' +'<' +'=' +'=>' +'<-' +'->' +'<<-' +'->>' +'=>>' +null +null +null +null +null +null + +token symbolic names: +null +PACKAGE +IMPORT +PUBLIC +INTERNAL +PROTECTED +PRIVATE +STATIC +FINAL +ABSTRACT +NATIVE +SYNCHRONIZED +CLASS +INTERFACE +ENUM +ANNOTATION +EXTENDS +IMPLEMENTS +RETURN +THROW +NEW +YIELD +IS +MARK +JUMP +IF +ELSE +FOR +FOREACH +DO +WHILE +SWITCH +CASE +DEFAULT +BREAK +CONTINUE +TRY +CATCH +FINALLY +OBJECT +ARRAYIDENT +TUPLEIDENT +TYPE +NUMIDENT +BYTE +SHORT +INT +LONG +FLOAT +DOUBLE +VOID +VAR +NUMLIT +STRLIT +STDIOLIT +ENDLLIT +NULL +TRUE +FALSE +THIS +SUPER +GET +SET +INIT +LPAREN +RPAREN +LBRACE +RBRACE +LSQUAR +RSQUAR +COLON +SEMICOLON +DOT +COMMA +EXCLAMATION +QUESTION +SHORTELIPSES +ELIPSES +TILDE +ESCAPE_QUOTE +QUOTE +AND +OR +PLUSPLUS +MINUSMINUS +BITAND +BITOR +UP +STAR +SLASH +PLUS +MINUS +PERCENT +AT +LSHIFT +RSHIFT +ULSHIFT +URSHIFT +EQUAL +INEQUAL +GREATEREQ +LESSEREQ +GREATER +LESSER +ASSIGN +REQARROW +LDASHARROW +RDASHARROW +LLDASHARROW +RRDASHARROW +RREQARROW +ID +DIGIT +LETTER +SING_COMMENT +WS +UNMATCHED + +rule names: +PACKAGE +IMPORT +PUBLIC +INTERNAL +PROTECTED +PRIVATE +STATIC +FINAL +ABSTRACT +NATIVE +SYNCHRONIZED +CLASS +INTERFACE +ENUM +ANNOTATION +EXTENDS +IMPLEMENTS +RETURN +THROW +NEW +YIELD +IS +MARK +JUMP +IF +ELSE +FOR +FOREACH +DO +WHILE +SWITCH +CASE +DEFAULT +BREAK +CONTINUE +TRY +CATCH +FINALLY +OBJECT +ARRAYIDENT +TUPLEIDENT +TYPE +NUMIDENT +BYTE +SHORT +INT +LONG +FLOAT +DOUBLE +VOID +VAR +NUMLIT +STRLIT +STDIOLIT +ENDLLIT +NULL +TRUE +FALSE +THIS +SUPER +GET +SET +INIT +LPAREN +RPAREN +LBRACE +RBRACE +LSQUAR +RSQUAR +COLON +SEMICOLON +DOT +COMMA +EXCLAMATION +QUESTION +SHORTELIPSES +ELIPSES +TILDE +ESCAPE_QUOTE +QUOTE +AND +OR +PLUSPLUS +MINUSMINUS +BITAND +BITOR +UP +STAR +SLASH +PLUS +MINUS +PERCENT +AT +LSHIFT +RSHIFT +ULSHIFT +URSHIFT +EQUAL +INEQUAL +GREATEREQ +LESSEREQ +GREATER +LESSER +ASSIGN +REQARROW +LDASHARROW +RDASHARROW +LLDASHARROW +RRDASHARROW +RREQARROW +ID +DIGIT +LETTER +SING_COMMENT +WS +UNMATCHED + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[4, 0, 116, 808, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 4, 51, 565, 8, 51, 11, 51, 12, 51, 566, 1, 51, 1, 51, 4, 51, 571, 8, 51, 11, 51, 12, 51, 572, 1, 51, 3, 51, 576, 8, 51, 1, 51, 3, 51, 579, 8, 51, 3, 51, 581, 8, 51, 1, 51, 3, 51, 584, 8, 51, 3, 51, 586, 8, 51, 1, 51, 1, 51, 1, 51, 1, 51, 4, 51, 592, 8, 51, 11, 51, 12, 51, 593, 3, 51, 596, 8, 51, 1, 52, 1, 52, 1, 52, 5, 52, 601, 8, 52, 10, 52, 12, 52, 604, 9, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 64, 1, 64, 1, 65, 1, 65, 1, 66, 1, 66, 1, 67, 1, 67, 1, 68, 1, 68, 1, 69, 1, 69, 1, 70, 1, 70, 1, 71, 1, 71, 1, 72, 1, 72, 1, 73, 1, 73, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 85, 1, 85, 1, 86, 1, 86, 1, 87, 1, 87, 1, 88, 1, 88, 1, 89, 1, 89, 1, 90, 1, 90, 1, 91, 1, 91, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 102, 1, 102, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 5, 110, 783, 8, 110, 10, 110, 12, 110, 786, 9, 110, 1, 111, 1, 111, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 5, 113, 796, 8, 113, 10, 113, 12, 113, 799, 9, 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, 1, 115, 1, 602, 0, 116, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 41, 83, 42, 85, 43, 87, 44, 89, 45, 91, 46, 93, 47, 95, 48, 97, 49, 99, 50, 101, 51, 103, 52, 105, 53, 107, 54, 109, 55, 111, 56, 113, 57, 115, 58, 117, 59, 119, 60, 121, 61, 123, 62, 125, 63, 127, 64, 129, 65, 131, 66, 133, 67, 135, 68, 137, 69, 139, 70, 141, 71, 143, 72, 145, 73, 147, 74, 149, 75, 151, 76, 153, 77, 155, 78, 157, 79, 159, 80, 161, 81, 163, 82, 165, 83, 167, 84, 169, 85, 171, 86, 173, 87, 175, 88, 177, 89, 179, 90, 181, 91, 183, 92, 185, 93, 187, 94, 189, 95, 191, 96, 193, 97, 195, 98, 197, 99, 199, 100, 201, 101, 203, 102, 205, 103, 207, 104, 209, 105, 211, 106, 213, 107, 215, 108, 217, 109, 219, 110, 221, 111, 223, 112, 225, 113, 227, 114, 229, 115, 231, 116, 1, 0, 8, 4, 0, 98, 98, 105, 105, 108, 108, 115, 115, 2, 0, 98, 98, 120, 120, 2, 0, 65, 70, 97, 102, 3, 0, 10, 10, 13, 13, 34, 34, 1, 0, 48, 57, 6, 0, 35, 36, 65, 90, 95, 95, 97, 122, 163, 163, 194, 194, 2, 0, 10, 10, 13, 13, 3, 0, 9, 10, 13, 13, 32, 32, 822, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, 125, 1, 0, 0, 0, 0, 127, 1, 0, 0, 0, 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, 0, 0, 133, 1, 0, 0, 0, 0, 135, 1, 0, 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, 0, 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, 147, 1, 0, 0, 0, 0, 149, 1, 0, 0, 0, 0, 151, 1, 0, 0, 0, 0, 153, 1, 0, 0, 0, 0, 155, 1, 0, 0, 0, 0, 157, 1, 0, 0, 0, 0, 159, 1, 0, 0, 0, 0, 161, 1, 0, 0, 0, 0, 163, 1, 0, 0, 0, 0, 165, 1, 0, 0, 0, 0, 167, 1, 0, 0, 0, 0, 169, 1, 0, 0, 0, 0, 171, 1, 0, 0, 0, 0, 173, 1, 0, 0, 0, 0, 175, 1, 0, 0, 0, 0, 177, 1, 0, 0, 0, 0, 179, 1, 0, 0, 0, 0, 181, 1, 0, 0, 0, 0, 183, 1, 0, 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, 1, 0, 0, 0, 0, 189, 1, 0, 0, 0, 0, 191, 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, 0, 195, 1, 0, 0, 0, 0, 197, 1, 0, 0, 0, 0, 199, 1, 0, 0, 0, 0, 201, 1, 0, 0, 0, 0, 203, 1, 0, 0, 0, 0, 205, 1, 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 209, 1, 0, 0, 0, 0, 211, 1, 0, 0, 0, 0, 213, 1, 0, 0, 0, 0, 215, 1, 0, 0, 0, 0, 217, 1, 0, 0, 0, 0, 219, 1, 0, 0, 0, 0, 221, 1, 0, 0, 0, 0, 223, 1, 0, 0, 0, 0, 225, 1, 0, 0, 0, 0, 227, 1, 0, 0, 0, 0, 229, 1, 0, 0, 0, 0, 231, 1, 0, 0, 0, 1, 233, 1, 0, 0, 0, 3, 241, 1, 0, 0, 0, 5, 248, 1, 0, 0, 0, 7, 255, 1, 0, 0, 0, 9, 264, 1, 0, 0, 0, 11, 274, 1, 0, 0, 0, 13, 282, 1, 0, 0, 0, 15, 289, 1, 0, 0, 0, 17, 295, 1, 0, 0, 0, 19, 304, 1, 0, 0, 0, 21, 311, 1, 0, 0, 0, 23, 324, 1, 0, 0, 0, 25, 330, 1, 0, 0, 0, 27, 340, 1, 0, 0, 0, 29, 345, 1, 0, 0, 0, 31, 356, 1, 0, 0, 0, 33, 364, 1, 0, 0, 0, 35, 375, 1, 0, 0, 0, 37, 382, 1, 0, 0, 0, 39, 388, 1, 0, 0, 0, 41, 392, 1, 0, 0, 0, 43, 398, 1, 0, 0, 0, 45, 401, 1, 0, 0, 0, 47, 406, 1, 0, 0, 0, 49, 411, 1, 0, 0, 0, 51, 414, 1, 0, 0, 0, 53, 419, 1, 0, 0, 0, 55, 423, 1, 0, 0, 0, 57, 431, 1, 0, 0, 0, 59, 434, 1, 0, 0, 0, 61, 440, 1, 0, 0, 0, 63, 447, 1, 0, 0, 0, 65, 452, 1, 0, 0, 0, 67, 460, 1, 0, 0, 0, 69, 466, 1, 0, 0, 0, 71, 475, 1, 0, 0, 0, 73, 479, 1, 0, 0, 0, 75, 485, 1, 0, 0, 0, 77, 493, 1, 0, 0, 0, 79, 500, 1, 0, 0, 0, 81, 506, 1, 0, 0, 0, 83, 512, 1, 0, 0, 0, 85, 517, 1, 0, 0, 0, 87, 521, 1, 0, 0, 0, 89, 526, 1, 0, 0, 0, 91, 532, 1, 0, 0, 0, 93, 536, 1, 0, 0, 0, 95, 541, 1, 0, 0, 0, 97, 547, 1, 0, 0, 0, 99, 554, 1, 0, 0, 0, 101, 559, 1, 0, 0, 0, 103, 595, 1, 0, 0, 0, 105, 597, 1, 0, 0, 0, 107, 607, 1, 0, 0, 0, 109, 613, 1, 0, 0, 0, 111, 618, 1, 0, 0, 0, 113, 623, 1, 0, 0, 0, 115, 628, 1, 0, 0, 0, 117, 634, 1, 0, 0, 0, 119, 639, 1, 0, 0, 0, 121, 645, 1, 0, 0, 0, 123, 649, 1, 0, 0, 0, 125, 653, 1, 0, 0, 0, 127, 658, 1, 0, 0, 0, 129, 660, 1, 0, 0, 0, 131, 662, 1, 0, 0, 0, 133, 664, 1, 0, 0, 0, 135, 666, 1, 0, 0, 0, 137, 668, 1, 0, 0, 0, 139, 670, 1, 0, 0, 0, 141, 672, 1, 0, 0, 0, 143, 674, 1, 0, 0, 0, 145, 676, 1, 0, 0, 0, 147, 678, 1, 0, 0, 0, 149, 680, 1, 0, 0, 0, 151, 682, 1, 0, 0, 0, 153, 685, 1, 0, 0, 0, 155, 689, 1, 0, 0, 0, 157, 691, 1, 0, 0, 0, 159, 694, 1, 0, 0, 0, 161, 696, 1, 0, 0, 0, 163, 699, 1, 0, 0, 0, 165, 702, 1, 0, 0, 0, 167, 705, 1, 0, 0, 0, 169, 708, 1, 0, 0, 0, 171, 710, 1, 0, 0, 0, 173, 712, 1, 0, 0, 0, 175, 714, 1, 0, 0, 0, 177, 716, 1, 0, 0, 0, 179, 718, 1, 0, 0, 0, 181, 720, 1, 0, 0, 0, 183, 722, 1, 0, 0, 0, 185, 724, 1, 0, 0, 0, 187, 726, 1, 0, 0, 0, 189, 729, 1, 0, 0, 0, 191, 732, 1, 0, 0, 0, 193, 736, 1, 0, 0, 0, 195, 740, 1, 0, 0, 0, 197, 743, 1, 0, 0, 0, 199, 746, 1, 0, 0, 0, 201, 749, 1, 0, 0, 0, 203, 752, 1, 0, 0, 0, 205, 754, 1, 0, 0, 0, 207, 756, 1, 0, 0, 0, 209, 758, 1, 0, 0, 0, 211, 761, 1, 0, 0, 0, 213, 764, 1, 0, 0, 0, 215, 767, 1, 0, 0, 0, 217, 771, 1, 0, 0, 0, 219, 775, 1, 0, 0, 0, 221, 779, 1, 0, 0, 0, 223, 787, 1, 0, 0, 0, 225, 789, 1, 0, 0, 0, 227, 791, 1, 0, 0, 0, 229, 802, 1, 0, 0, 0, 231, 806, 1, 0, 0, 0, 233, 234, 5, 112, 0, 0, 234, 235, 5, 97, 0, 0, 235, 236, 5, 99, 0, 0, 236, 237, 5, 107, 0, 0, 237, 238, 5, 97, 0, 0, 238, 239, 5, 103, 0, 0, 239, 240, 5, 101, 0, 0, 240, 2, 1, 0, 0, 0, 241, 242, 5, 105, 0, 0, 242, 243, 5, 109, 0, 0, 243, 244, 5, 112, 0, 0, 244, 245, 5, 111, 0, 0, 245, 246, 5, 114, 0, 0, 246, 247, 5, 116, 0, 0, 247, 4, 1, 0, 0, 0, 248, 249, 5, 112, 0, 0, 249, 250, 5, 117, 0, 0, 250, 251, 5, 98, 0, 0, 251, 252, 5, 108, 0, 0, 252, 253, 5, 105, 0, 0, 253, 254, 5, 99, 0, 0, 254, 6, 1, 0, 0, 0, 255, 256, 5, 105, 0, 0, 256, 257, 5, 110, 0, 0, 257, 258, 5, 116, 0, 0, 258, 259, 5, 101, 0, 0, 259, 260, 5, 114, 0, 0, 260, 261, 5, 110, 0, 0, 261, 262, 5, 97, 0, 0, 262, 263, 5, 108, 0, 0, 263, 8, 1, 0, 0, 0, 264, 265, 5, 112, 0, 0, 265, 266, 5, 114, 0, 0, 266, 267, 5, 111, 0, 0, 267, 268, 5, 116, 0, 0, 268, 269, 5, 101, 0, 0, 269, 270, 5, 99, 0, 0, 270, 271, 5, 116, 0, 0, 271, 272, 5, 101, 0, 0, 272, 273, 5, 100, 0, 0, 273, 10, 1, 0, 0, 0, 274, 275, 5, 112, 0, 0, 275, 276, 5, 114, 0, 0, 276, 277, 5, 105, 0, 0, 277, 278, 5, 118, 0, 0, 278, 279, 5, 97, 0, 0, 279, 280, 5, 116, 0, 0, 280, 281, 5, 101, 0, 0, 281, 12, 1, 0, 0, 0, 282, 283, 5, 115, 0, 0, 283, 284, 5, 116, 0, 0, 284, 285, 5, 97, 0, 0, 285, 286, 5, 116, 0, 0, 286, 287, 5, 105, 0, 0, 287, 288, 5, 99, 0, 0, 288, 14, 1, 0, 0, 0, 289, 290, 5, 102, 0, 0, 290, 291, 5, 105, 0, 0, 291, 292, 5, 110, 0, 0, 292, 293, 5, 97, 0, 0, 293, 294, 5, 108, 0, 0, 294, 16, 1, 0, 0, 0, 295, 296, 5, 97, 0, 0, 296, 297, 5, 98, 0, 0, 297, 298, 5, 115, 0, 0, 298, 299, 5, 116, 0, 0, 299, 300, 5, 114, 0, 0, 300, 301, 5, 97, 0, 0, 301, 302, 5, 99, 0, 0, 302, 303, 5, 116, 0, 0, 303, 18, 1, 0, 0, 0, 304, 305, 5, 110, 0, 0, 305, 306, 5, 97, 0, 0, 306, 307, 5, 116, 0, 0, 307, 308, 5, 105, 0, 0, 308, 309, 5, 118, 0, 0, 309, 310, 5, 101, 0, 0, 310, 20, 1, 0, 0, 0, 311, 312, 5, 115, 0, 0, 312, 313, 5, 121, 0, 0, 313, 314, 5, 110, 0, 0, 314, 315, 5, 99, 0, 0, 315, 316, 5, 104, 0, 0, 316, 317, 5, 114, 0, 0, 317, 318, 5, 111, 0, 0, 318, 319, 5, 110, 0, 0, 319, 320, 5, 105, 0, 0, 320, 321, 5, 122, 0, 0, 321, 322, 5, 101, 0, 0, 322, 323, 5, 100, 0, 0, 323, 22, 1, 0, 0, 0, 324, 325, 5, 99, 0, 0, 325, 326, 5, 108, 0, 0, 326, 327, 5, 97, 0, 0, 327, 328, 5, 115, 0, 0, 328, 329, 5, 115, 0, 0, 329, 24, 1, 0, 0, 0, 330, 331, 5, 105, 0, 0, 331, 332, 5, 110, 0, 0, 332, 333, 5, 116, 0, 0, 333, 334, 5, 101, 0, 0, 334, 335, 5, 114, 0, 0, 335, 336, 5, 102, 0, 0, 336, 337, 5, 97, 0, 0, 337, 338, 5, 99, 0, 0, 338, 339, 5, 101, 0, 0, 339, 26, 1, 0, 0, 0, 340, 341, 5, 101, 0, 0, 341, 342, 5, 110, 0, 0, 342, 343, 5, 117, 0, 0, 343, 344, 5, 109, 0, 0, 344, 28, 1, 0, 0, 0, 345, 346, 5, 97, 0, 0, 346, 347, 5, 110, 0, 0, 347, 348, 5, 110, 0, 0, 348, 349, 5, 111, 0, 0, 349, 350, 5, 116, 0, 0, 350, 351, 5, 97, 0, 0, 351, 352, 5, 116, 0, 0, 352, 353, 5, 105, 0, 0, 353, 354, 5, 111, 0, 0, 354, 355, 5, 110, 0, 0, 355, 30, 1, 0, 0, 0, 356, 357, 5, 101, 0, 0, 357, 358, 5, 120, 0, 0, 358, 359, 5, 116, 0, 0, 359, 360, 5, 101, 0, 0, 360, 361, 5, 110, 0, 0, 361, 362, 5, 100, 0, 0, 362, 363, 5, 115, 0, 0, 363, 32, 1, 0, 0, 0, 364, 365, 5, 105, 0, 0, 365, 366, 5, 109, 0, 0, 366, 367, 5, 112, 0, 0, 367, 368, 5, 108, 0, 0, 368, 369, 5, 101, 0, 0, 369, 370, 5, 109, 0, 0, 370, 371, 5, 101, 0, 0, 371, 372, 5, 110, 0, 0, 372, 373, 5, 116, 0, 0, 373, 374, 5, 115, 0, 0, 374, 34, 1, 0, 0, 0, 375, 376, 5, 114, 0, 0, 376, 377, 5, 101, 0, 0, 377, 378, 5, 116, 0, 0, 378, 379, 5, 117, 0, 0, 379, 380, 5, 114, 0, 0, 380, 381, 5, 110, 0, 0, 381, 36, 1, 0, 0, 0, 382, 383, 5, 116, 0, 0, 383, 384, 5, 104, 0, 0, 384, 385, 5, 114, 0, 0, 385, 386, 5, 111, 0, 0, 386, 387, 5, 119, 0, 0, 387, 38, 1, 0, 0, 0, 388, 389, 5, 110, 0, 0, 389, 390, 5, 101, 0, 0, 390, 391, 5, 119, 0, 0, 391, 40, 1, 0, 0, 0, 392, 393, 5, 121, 0, 0, 393, 394, 5, 105, 0, 0, 394, 395, 5, 101, 0, 0, 395, 396, 5, 108, 0, 0, 396, 397, 5, 100, 0, 0, 397, 42, 1, 0, 0, 0, 398, 399, 5, 105, 0, 0, 399, 400, 5, 115, 0, 0, 400, 44, 1, 0, 0, 0, 401, 402, 5, 109, 0, 0, 402, 403, 5, 97, 0, 0, 403, 404, 5, 114, 0, 0, 404, 405, 5, 107, 0, 0, 405, 46, 1, 0, 0, 0, 406, 407, 5, 106, 0, 0, 407, 408, 5, 117, 0, 0, 408, 409, 5, 109, 0, 0, 409, 410, 5, 112, 0, 0, 410, 48, 1, 0, 0, 0, 411, 412, 5, 105, 0, 0, 412, 413, 5, 102, 0, 0, 413, 50, 1, 0, 0, 0, 414, 415, 5, 101, 0, 0, 415, 416, 5, 108, 0, 0, 416, 417, 5, 115, 0, 0, 417, 418, 5, 101, 0, 0, 418, 52, 1, 0, 0, 0, 419, 420, 5, 102, 0, 0, 420, 421, 5, 111, 0, 0, 421, 422, 5, 114, 0, 0, 422, 54, 1, 0, 0, 0, 423, 424, 5, 102, 0, 0, 424, 425, 5, 111, 0, 0, 425, 426, 5, 114, 0, 0, 426, 427, 5, 101, 0, 0, 427, 428, 5, 97, 0, 0, 428, 429, 5, 99, 0, 0, 429, 430, 5, 104, 0, 0, 430, 56, 1, 0, 0, 0, 431, 432, 5, 100, 0, 0, 432, 433, 5, 111, 0, 0, 433, 58, 1, 0, 0, 0, 434, 435, 5, 119, 0, 0, 435, 436, 5, 104, 0, 0, 436, 437, 5, 105, 0, 0, 437, 438, 5, 108, 0, 0, 438, 439, 5, 101, 0, 0, 439, 60, 1, 0, 0, 0, 440, 441, 5, 115, 0, 0, 441, 442, 5, 119, 0, 0, 442, 443, 5, 105, 0, 0, 443, 444, 5, 116, 0, 0, 444, 445, 5, 99, 0, 0, 445, 446, 5, 104, 0, 0, 446, 62, 1, 0, 0, 0, 447, 448, 5, 99, 0, 0, 448, 449, 5, 97, 0, 0, 449, 450, 5, 115, 0, 0, 450, 451, 5, 101, 0, 0, 451, 64, 1, 0, 0, 0, 452, 453, 5, 100, 0, 0, 453, 454, 5, 101, 0, 0, 454, 455, 5, 102, 0, 0, 455, 456, 5, 97, 0, 0, 456, 457, 5, 117, 0, 0, 457, 458, 5, 108, 0, 0, 458, 459, 5, 116, 0, 0, 459, 66, 1, 0, 0, 0, 460, 461, 5, 98, 0, 0, 461, 462, 5, 114, 0, 0, 462, 463, 5, 101, 0, 0, 463, 464, 5, 97, 0, 0, 464, 465, 5, 107, 0, 0, 465, 68, 1, 0, 0, 0, 466, 467, 5, 99, 0, 0, 467, 468, 5, 111, 0, 0, 468, 469, 5, 110, 0, 0, 469, 470, 5, 116, 0, 0, 470, 471, 5, 105, 0, 0, 471, 472, 5, 110, 0, 0, 472, 473, 5, 117, 0, 0, 473, 474, 5, 101, 0, 0, 474, 70, 1, 0, 0, 0, 475, 476, 5, 116, 0, 0, 476, 477, 5, 114, 0, 0, 477, 478, 5, 121, 0, 0, 478, 72, 1, 0, 0, 0, 479, 480, 5, 99, 0, 0, 480, 481, 5, 97, 0, 0, 481, 482, 5, 116, 0, 0, 482, 483, 5, 99, 0, 0, 483, 484, 5, 104, 0, 0, 484, 74, 1, 0, 0, 0, 485, 486, 5, 102, 0, 0, 486, 487, 5, 105, 0, 0, 487, 488, 5, 110, 0, 0, 488, 489, 5, 97, 0, 0, 489, 490, 5, 108, 0, 0, 490, 491, 5, 108, 0, 0, 491, 492, 5, 121, 0, 0, 492, 76, 1, 0, 0, 0, 493, 494, 5, 111, 0, 0, 494, 495, 5, 98, 0, 0, 495, 496, 5, 106, 0, 0, 496, 497, 5, 101, 0, 0, 497, 498, 5, 99, 0, 0, 498, 499, 5, 116, 0, 0, 499, 78, 1, 0, 0, 0, 500, 501, 5, 97, 0, 0, 501, 502, 5, 114, 0, 0, 502, 503, 5, 114, 0, 0, 503, 504, 5, 97, 0, 0, 504, 505, 5, 121, 0, 0, 505, 80, 1, 0, 0, 0, 506, 507, 5, 116, 0, 0, 507, 508, 5, 117, 0, 0, 508, 509, 5, 112, 0, 0, 509, 510, 5, 108, 0, 0, 510, 511, 5, 101, 0, 0, 511, 82, 1, 0, 0, 0, 512, 513, 5, 116, 0, 0, 513, 514, 5, 121, 0, 0, 514, 515, 5, 112, 0, 0, 515, 516, 5, 101, 0, 0, 516, 84, 1, 0, 0, 0, 517, 518, 5, 110, 0, 0, 518, 519, 5, 117, 0, 0, 519, 520, 5, 109, 0, 0, 520, 86, 1, 0, 0, 0, 521, 522, 5, 98, 0, 0, 522, 523, 5, 121, 0, 0, 523, 524, 5, 116, 0, 0, 524, 525, 5, 101, 0, 0, 525, 88, 1, 0, 0, 0, 526, 527, 5, 115, 0, 0, 527, 528, 5, 104, 0, 0, 528, 529, 5, 111, 0, 0, 529, 530, 5, 114, 0, 0, 530, 531, 5, 116, 0, 0, 531, 90, 1, 0, 0, 0, 532, 533, 5, 105, 0, 0, 533, 534, 5, 110, 0, 0, 534, 535, 5, 116, 0, 0, 535, 92, 1, 0, 0, 0, 536, 537, 5, 108, 0, 0, 537, 538, 5, 111, 0, 0, 538, 539, 5, 110, 0, 0, 539, 540, 5, 103, 0, 0, 540, 94, 1, 0, 0, 0, 541, 542, 5, 102, 0, 0, 542, 543, 5, 108, 0, 0, 543, 544, 5, 111, 0, 0, 544, 545, 5, 97, 0, 0, 545, 546, 5, 116, 0, 0, 546, 96, 1, 0, 0, 0, 547, 548, 5, 100, 0, 0, 548, 549, 5, 111, 0, 0, 549, 550, 5, 117, 0, 0, 550, 551, 5, 98, 0, 0, 551, 552, 5, 108, 0, 0, 552, 553, 5, 101, 0, 0, 553, 98, 1, 0, 0, 0, 554, 555, 5, 118, 0, 0, 555, 556, 5, 111, 0, 0, 556, 557, 5, 105, 0, 0, 557, 558, 5, 100, 0, 0, 558, 100, 1, 0, 0, 0, 559, 560, 5, 118, 0, 0, 560, 561, 5, 97, 0, 0, 561, 562, 5, 114, 0, 0, 562, 102, 1, 0, 0, 0, 563, 565, 3, 223, 111, 0, 564, 563, 1, 0, 0, 0, 565, 566, 1, 0, 0, 0, 566, 564, 1, 0, 0, 0, 566, 567, 1, 0, 0, 0, 567, 585, 1, 0, 0, 0, 568, 570, 3, 143, 71, 0, 569, 571, 3, 223, 111, 0, 570, 569, 1, 0, 0, 0, 571, 572, 1, 0, 0, 0, 572, 570, 1, 0, 0, 0, 572, 573, 1, 0, 0, 0, 573, 578, 1, 0, 0, 0, 574, 576, 5, 102, 0, 0, 575, 574, 1, 0, 0, 0, 575, 576, 1, 0, 0, 0, 576, 579, 1, 0, 0, 0, 577, 579, 5, 100, 0, 0, 578, 575, 1, 0, 0, 0, 578, 577, 1, 0, 0, 0, 579, 581, 1, 0, 0, 0, 580, 568, 1, 0, 0, 0, 580, 581, 1, 0, 0, 0, 581, 586, 1, 0, 0, 0, 582, 584, 7, 0, 0, 0, 583, 582, 1, 0, 0, 0, 583, 584, 1, 0, 0, 0, 584, 586, 1, 0, 0, 0, 585, 580, 1, 0, 0, 0, 585, 583, 1, 0, 0, 0, 586, 596, 1, 0, 0, 0, 587, 588, 5, 48, 0, 0, 588, 591, 7, 1, 0, 0, 589, 592, 3, 223, 111, 0, 590, 592, 7, 2, 0, 0, 591, 589, 1, 0, 0, 0, 591, 590, 1, 0, 0, 0, 592, 593, 1, 0, 0, 0, 593, 591, 1, 0, 0, 0, 593, 594, 1, 0, 0, 0, 594, 596, 1, 0, 0, 0, 595, 564, 1, 0, 0, 0, 595, 587, 1, 0, 0, 0, 596, 104, 1, 0, 0, 0, 597, 602, 3, 159, 79, 0, 598, 601, 3, 157, 78, 0, 599, 601, 8, 3, 0, 0, 600, 598, 1, 0, 0, 0, 600, 599, 1, 0, 0, 0, 601, 604, 1, 0, 0, 0, 602, 603, 1, 0, 0, 0, 602, 600, 1, 0, 0, 0, 603, 605, 1, 0, 0, 0, 604, 602, 1, 0, 0, 0, 605, 606, 3, 159, 79, 0, 606, 106, 1, 0, 0, 0, 607, 608, 5, 115, 0, 0, 608, 609, 5, 116, 0, 0, 609, 610, 5, 100, 0, 0, 610, 611, 5, 105, 0, 0, 611, 612, 5, 111, 0, 0, 612, 108, 1, 0, 0, 0, 613, 614, 5, 101, 0, 0, 614, 615, 5, 110, 0, 0, 615, 616, 5, 100, 0, 0, 616, 617, 5, 108, 0, 0, 617, 110, 1, 0, 0, 0, 618, 619, 5, 110, 0, 0, 619, 620, 5, 117, 0, 0, 620, 621, 5, 108, 0, 0, 621, 622, 5, 108, 0, 0, 622, 112, 1, 0, 0, 0, 623, 624, 5, 116, 0, 0, 624, 625, 5, 114, 0, 0, 625, 626, 5, 117, 0, 0, 626, 627, 5, 101, 0, 0, 627, 114, 1, 0, 0, 0, 628, 629, 5, 102, 0, 0, 629, 630, 5, 97, 0, 0, 630, 631, 5, 108, 0, 0, 631, 632, 5, 115, 0, 0, 632, 633, 5, 101, 0, 0, 633, 116, 1, 0, 0, 0, 634, 635, 5, 116, 0, 0, 635, 636, 5, 104, 0, 0, 636, 637, 5, 105, 0, 0, 637, 638, 5, 115, 0, 0, 638, 118, 1, 0, 0, 0, 639, 640, 5, 115, 0, 0, 640, 641, 5, 117, 0, 0, 641, 642, 5, 112, 0, 0, 642, 643, 5, 101, 0, 0, 643, 644, 5, 114, 0, 0, 644, 120, 1, 0, 0, 0, 645, 646, 5, 103, 0, 0, 646, 647, 5, 101, 0, 0, 647, 648, 5, 116, 0, 0, 648, 122, 1, 0, 0, 0, 649, 650, 5, 115, 0, 0, 650, 651, 5, 101, 0, 0, 651, 652, 5, 116, 0, 0, 652, 124, 1, 0, 0, 0, 653, 654, 5, 105, 0, 0, 654, 655, 5, 110, 0, 0, 655, 656, 5, 105, 0, 0, 656, 657, 5, 116, 0, 0, 657, 126, 1, 0, 0, 0, 658, 659, 5, 40, 0, 0, 659, 128, 1, 0, 0, 0, 660, 661, 5, 41, 0, 0, 661, 130, 1, 0, 0, 0, 662, 663, 5, 123, 0, 0, 663, 132, 1, 0, 0, 0, 664, 665, 5, 125, 0, 0, 665, 134, 1, 0, 0, 0, 666, 667, 5, 91, 0, 0, 667, 136, 1, 0, 0, 0, 668, 669, 5, 93, 0, 0, 669, 138, 1, 0, 0, 0, 670, 671, 5, 58, 0, 0, 671, 140, 1, 0, 0, 0, 672, 673, 5, 59, 0, 0, 673, 142, 1, 0, 0, 0, 674, 675, 5, 46, 0, 0, 675, 144, 1, 0, 0, 0, 676, 677, 5, 44, 0, 0, 677, 146, 1, 0, 0, 0, 678, 679, 5, 33, 0, 0, 679, 148, 1, 0, 0, 0, 680, 681, 5, 63, 0, 0, 681, 150, 1, 0, 0, 0, 682, 683, 5, 46, 0, 0, 683, 684, 5, 46, 0, 0, 684, 152, 1, 0, 0, 0, 685, 686, 5, 46, 0, 0, 686, 687, 5, 46, 0, 0, 687, 688, 5, 46, 0, 0, 688, 154, 1, 0, 0, 0, 689, 690, 5, 126, 0, 0, 690, 156, 1, 0, 0, 0, 691, 692, 5, 92, 0, 0, 692, 693, 5, 34, 0, 0, 693, 158, 1, 0, 0, 0, 694, 695, 5, 34, 0, 0, 695, 160, 1, 0, 0, 0, 696, 697, 5, 38, 0, 0, 697, 698, 5, 38, 0, 0, 698, 162, 1, 0, 0, 0, 699, 700, 5, 124, 0, 0, 700, 701, 5, 124, 0, 0, 701, 164, 1, 0, 0, 0, 702, 703, 5, 43, 0, 0, 703, 704, 5, 43, 0, 0, 704, 166, 1, 0, 0, 0, 705, 706, 5, 45, 0, 0, 706, 707, 5, 45, 0, 0, 707, 168, 1, 0, 0, 0, 708, 709, 5, 38, 0, 0, 709, 170, 1, 0, 0, 0, 710, 711, 5, 124, 0, 0, 711, 172, 1, 0, 0, 0, 712, 713, 5, 94, 0, 0, 713, 174, 1, 0, 0, 0, 714, 715, 5, 42, 0, 0, 715, 176, 1, 0, 0, 0, 716, 717, 5, 47, 0, 0, 717, 178, 1, 0, 0, 0, 718, 719, 5, 43, 0, 0, 719, 180, 1, 0, 0, 0, 720, 721, 5, 45, 0, 0, 721, 182, 1, 0, 0, 0, 722, 723, 5, 37, 0, 0, 723, 184, 1, 0, 0, 0, 724, 725, 5, 64, 0, 0, 725, 186, 1, 0, 0, 0, 726, 727, 5, 60, 0, 0, 727, 728, 5, 60, 0, 0, 728, 188, 1, 0, 0, 0, 729, 730, 5, 62, 0, 0, 730, 731, 5, 62, 0, 0, 731, 190, 1, 0, 0, 0, 732, 733, 5, 60, 0, 0, 733, 734, 5, 60, 0, 0, 734, 735, 5, 60, 0, 0, 735, 192, 1, 0, 0, 0, 736, 737, 5, 62, 0, 0, 737, 738, 5, 62, 0, 0, 738, 739, 5, 62, 0, 0, 739, 194, 1, 0, 0, 0, 740, 741, 5, 61, 0, 0, 741, 742, 5, 61, 0, 0, 742, 196, 1, 0, 0, 0, 743, 744, 5, 33, 0, 0, 744, 745, 5, 61, 0, 0, 745, 198, 1, 0, 0, 0, 746, 747, 5, 62, 0, 0, 747, 748, 5, 61, 0, 0, 748, 200, 1, 0, 0, 0, 749, 750, 5, 60, 0, 0, 750, 751, 5, 61, 0, 0, 751, 202, 1, 0, 0, 0, 752, 753, 5, 62, 0, 0, 753, 204, 1, 0, 0, 0, 754, 755, 5, 60, 0, 0, 755, 206, 1, 0, 0, 0, 756, 757, 5, 61, 0, 0, 757, 208, 1, 0, 0, 0, 758, 759, 5, 61, 0, 0, 759, 760, 5, 62, 0, 0, 760, 210, 1, 0, 0, 0, 761, 762, 5, 60, 0, 0, 762, 763, 5, 45, 0, 0, 763, 212, 1, 0, 0, 0, 764, 765, 5, 45, 0, 0, 765, 766, 5, 62, 0, 0, 766, 214, 1, 0, 0, 0, 767, 768, 5, 60, 0, 0, 768, 769, 5, 60, 0, 0, 769, 770, 5, 45, 0, 0, 770, 216, 1, 0, 0, 0, 771, 772, 5, 45, 0, 0, 772, 773, 5, 62, 0, 0, 773, 774, 5, 62, 0, 0, 774, 218, 1, 0, 0, 0, 775, 776, 5, 61, 0, 0, 776, 777, 5, 62, 0, 0, 777, 778, 5, 62, 0, 0, 778, 220, 1, 0, 0, 0, 779, 784, 3, 225, 112, 0, 780, 783, 3, 223, 111, 0, 781, 783, 3, 225, 112, 0, 782, 780, 1, 0, 0, 0, 782, 781, 1, 0, 0, 0, 783, 786, 1, 0, 0, 0, 784, 782, 1, 0, 0, 0, 784, 785, 1, 0, 0, 0, 785, 222, 1, 0, 0, 0, 786, 784, 1, 0, 0, 0, 787, 788, 7, 4, 0, 0, 788, 224, 1, 0, 0, 0, 789, 790, 7, 5, 0, 0, 790, 226, 1, 0, 0, 0, 791, 792, 5, 47, 0, 0, 792, 793, 5, 47, 0, 0, 793, 797, 1, 0, 0, 0, 794, 796, 8, 6, 0, 0, 795, 794, 1, 0, 0, 0, 796, 799, 1, 0, 0, 0, 797, 795, 1, 0, 0, 0, 797, 798, 1, 0, 0, 0, 798, 800, 1, 0, 0, 0, 799, 797, 1, 0, 0, 0, 800, 801, 6, 113, 0, 0, 801, 228, 1, 0, 0, 0, 802, 803, 7, 7, 0, 0, 803, 804, 1, 0, 0, 0, 804, 805, 6, 114, 0, 0, 805, 230, 1, 0, 0, 0, 806, 807, 9, 0, 0, 0, 807, 232, 1, 0, 0, 0, 16, 0, 566, 572, 575, 578, 580, 583, 585, 591, 593, 595, 600, 602, 782, 784, 797, 1, 0, 1, 0] \ No newline at end of file diff --git a/kscr-compiler/KScr/Antlr/KScrLexer.tokens b/kscr-compiler/KScr/Antlr/KScrLexer.tokens new file mode 100644 index 0000000..7ae0813 --- /dev/null +++ b/kscr-compiler/KScr/Antlr/KScrLexer.tokens @@ -0,0 +1,224 @@ +PACKAGE=1 +IMPORT=2 +PUBLIC=3 +INTERNAL=4 +PROTECTED=5 +PRIVATE=6 +STATIC=7 +FINAL=8 +ABSTRACT=9 +NATIVE=10 +SYNCHRONIZED=11 +CLASS=12 +INTERFACE=13 +ENUM=14 +ANNOTATION=15 +EXTENDS=16 +IMPLEMENTS=17 +RETURN=18 +THROW=19 +NEW=20 +YIELD=21 +IS=22 +MARK=23 +JUMP=24 +IF=25 +ELSE=26 +FOR=27 +FOREACH=28 +DO=29 +WHILE=30 +SWITCH=31 +CASE=32 +DEFAULT=33 +BREAK=34 +CONTINUE=35 +TRY=36 +CATCH=37 +FINALLY=38 +OBJECT=39 +ARRAYIDENT=40 +TUPLEIDENT=41 +TYPE=42 +NUMIDENT=43 +BYTE=44 +SHORT=45 +INT=46 +LONG=47 +FLOAT=48 +DOUBLE=49 +VOID=50 +VAR=51 +NUMLIT=52 +STRLIT=53 +STDIOLIT=54 +ENDLLIT=55 +NULL=56 +TRUE=57 +FALSE=58 +THIS=59 +SUPER=60 +GET=61 +SET=62 +INIT=63 +LPAREN=64 +RPAREN=65 +LBRACE=66 +RBRACE=67 +LSQUAR=68 +RSQUAR=69 +COLON=70 +SEMICOLON=71 +DOT=72 +COMMA=73 +EXCLAMATION=74 +QUESTION=75 +SHORTELIPSES=76 +ELIPSES=77 +TILDE=78 +ESCAPE_QUOTE=79 +QUOTE=80 +AND=81 +OR=82 +PLUSPLUS=83 +MINUSMINUS=84 +BITAND=85 +BITOR=86 +UP=87 +STAR=88 +SLASH=89 +PLUS=90 +MINUS=91 +PERCENT=92 +AT=93 +LSHIFT=94 +RSHIFT=95 +ULSHIFT=96 +URSHIFT=97 +EQUAL=98 +INEQUAL=99 +GREATEREQ=100 +LESSEREQ=101 +GREATER=102 +LESSER=103 +ASSIGN=104 +REQARROW=105 +LDASHARROW=106 +RDASHARROW=107 +LLDASHARROW=108 +RRDASHARROW=109 +RREQARROW=110 +ID=111 +DIGIT=112 +LETTER=113 +SING_COMMENT=114 +WS=115 +UNMATCHED=116 +'package'=1 +'import'=2 +'public'=3 +'internal'=4 +'protected'=5 +'private'=6 +'static'=7 +'final'=8 +'abstract'=9 +'native'=10 +'synchronized'=11 +'class'=12 +'interface'=13 +'enum'=14 +'annotation'=15 +'extends'=16 +'implements'=17 +'return'=18 +'throw'=19 +'new'=20 +'yield'=21 +'is'=22 +'mark'=23 +'jump'=24 +'if'=25 +'else'=26 +'for'=27 +'foreach'=28 +'do'=29 +'while'=30 +'switch'=31 +'case'=32 +'default'=33 +'break'=34 +'continue'=35 +'try'=36 +'catch'=37 +'finally'=38 +'object'=39 +'array'=40 +'tuple'=41 +'type'=42 +'num'=43 +'byte'=44 +'short'=45 +'int'=46 +'long'=47 +'float'=48 +'double'=49 +'void'=50 +'var'=51 +'stdio'=54 +'endl'=55 +'null'=56 +'true'=57 +'false'=58 +'this'=59 +'super'=60 +'get'=61 +'set'=62 +'init'=63 +'('=64 +')'=65 +'{'=66 +'}'=67 +'['=68 +']'=69 +':'=70 +';'=71 +'.'=72 +','=73 +'!'=74 +'?'=75 +'..'=76 +'...'=77 +'~'=78 +'\\"'=79 +'"'=80 +'&&'=81 +'||'=82 +'++'=83 +'--'=84 +'&'=85 +'|'=86 +'^'=87 +'*'=88 +'/'=89 +'+'=90 +'-'=91 +'%'=92 +'@'=93 +'<<'=94 +'>>'=95 +'<<<'=96 +'>>>'=97 +'=='=98 +'!='=99 +'>='=100 +'<='=101 +'>'=102 +'<'=103 +'='=104 +'=>'=105 +'<-'=106 +'->'=107 +'<<-'=108 +'->>'=109 +'=>>'=110 diff --git a/kscr-compiler/KScr/Antlr/KScrParser.cs b/kscr-compiler/KScr/Antlr/KScrParser.cs new file mode 100644 index 0000000..c6d93de --- /dev/null +++ b/kscr-compiler/KScr/Antlr/KScrParser.cs @@ -0,0 +1,10890 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.10.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from C:/dev/KScr/grammar\KScrParser.g4 by ANTLR 4.10.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + +namespace KScr.Antlr { +using System; +using System.IO; +using System.Text; +using System.Diagnostics; +using System.Collections.Generic; +using Antlr4.Runtime; +using Antlr4.Runtime.Atn; +using Antlr4.Runtime.Misc; +using Antlr4.Runtime.Tree; +using DFA = Antlr4.Runtime.Dfa.DFA; + +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.10.1")] +[System.CLSCompliant(false)] +public partial class KScrParser : Parser { + protected static DFA[] decisionToDFA; + protected static PredictionContextCache sharedContextCache = new PredictionContextCache(); + public const int + PACKAGE=1, IMPORT=2, PUBLIC=3, INTERNAL=4, PROTECTED=5, PRIVATE=6, STATIC=7, + FINAL=8, ABSTRACT=9, NATIVE=10, SYNCHRONIZED=11, CLASS=12, INTERFACE=13, + ENUM=14, ANNOTATION=15, EXTENDS=16, IMPLEMENTS=17, RETURN=18, THROW=19, + NEW=20, YIELD=21, IS=22, MARK=23, JUMP=24, IF=25, ELSE=26, FOR=27, FOREACH=28, + DO=29, WHILE=30, SWITCH=31, CASE=32, DEFAULT=33, BREAK=34, CONTINUE=35, + TRY=36, CATCH=37, FINALLY=38, OBJECT=39, ARRAYIDENT=40, TUPLEIDENT=41, + TYPE=42, NUMIDENT=43, BYTE=44, SHORT=45, INT=46, LONG=47, FLOAT=48, DOUBLE=49, + VOID=50, VAR=51, NUMLIT=52, STRLIT=53, STDIOLIT=54, ENDLLIT=55, NULL=56, + TRUE=57, FALSE=58, THIS=59, SUPER=60, GET=61, SET=62, INIT=63, LPAREN=64, + RPAREN=65, LBRACE=66, RBRACE=67, LSQUAR=68, RSQUAR=69, COLON=70, SEMICOLON=71, + DOT=72, COMMA=73, EXCLAMATION=74, QUESTION=75, SHORTELIPSES=76, ELIPSES=77, + TILDE=78, ESCAPE_QUOTE=79, QUOTE=80, AND=81, OR=82, PLUSPLUS=83, MINUSMINUS=84, + BITAND=85, BITOR=86, UP=87, STAR=88, SLASH=89, PLUS=90, MINUS=91, PERCENT=92, + AT=93, LSHIFT=94, RSHIFT=95, ULSHIFT=96, URSHIFT=97, EQUAL=98, INEQUAL=99, + GREATEREQ=100, LESSEREQ=101, GREATER=102, LESSER=103, ASSIGN=104, REQARROW=105, + LDASHARROW=106, RDASHARROW=107, LLDASHARROW=108, RRDASHARROW=109, RREQARROW=110, + ID=111, DIGIT=112, LETTER=113, SING_COMMENT=114, WS=115, UNMATCHED=116; + public const int + RULE_packageDecl = 0, RULE_imports = 1, RULE_importDecl = 2, RULE_annotationArg = 3, + RULE_annotation = 4, RULE_modifier = 5, RULE_modifiers = 6, RULE_classType = 7, + RULE_genericTypeUses = 8, RULE_type = 9, RULE_rawType = 10, RULE_genericTypeDef = 11, + RULE_genericTypeDefs = 12, RULE_objectExtends = 13, RULE_objectImplements = 14, + RULE_parameter = 15, RULE_parameters = 16, RULE_arguments = 17, RULE_statements = 18, + RULE_noBlock = 19, RULE_uniformBlock = 20, RULE_normalBlock = 21, RULE_memberExpr = 22, + RULE_lambdaBlock = 23, RULE_caseBlock = 24, RULE_memberBlock = 25, RULE_codeBlock = 26, + RULE_initDecl = 27, RULE_subConstructorCall = 28, RULE_subConstructorCalls = 29, + RULE_constructorDecl = 30, RULE_methodDecl = 31, RULE_indexerMemberDecl = 32, + RULE_propGetter = 33, RULE_propSetter = 34, RULE_propInit = 35, RULE_propBlock = 36, + RULE_propertyDecl = 37, RULE_member = 38, RULE_classDecl = 39, RULE_file = 40, + RULE_inferType = 41, RULE_indexerEmpty = 42, RULE_indexerDecl = 43, RULE_indexerExpr = 44, + RULE_cast = 45, RULE_declaration = 46, RULE_mutation = 47, RULE_call = 48, + RULE_ctorCall = 49, RULE_newArray = 50, RULE_newListedArray = 51, RULE_label = 52, + RULE_lambda = 53, RULE_returnStatement = 54, RULE_throwStatement = 55, + RULE_markStatement = 56, RULE_jumpStatement = 57, RULE_tryCatchStatement = 58, + RULE_tryWithResourcesStatement = 59, RULE_catchBlocks = 60, RULE_catchBlock = 61, + RULE_finallyBlock = 62, RULE_ifStatement = 63, RULE_elseStatement = 64, + RULE_whileStatement = 65, RULE_forStatement = 66, RULE_foreachStatement = 67, + RULE_doWhile = 68, RULE_switchStatement = 69, RULE_caseClause = 70, RULE_defaultClause = 71, + RULE_statement = 72, RULE_typedExpr = 73, RULE_expr = 74, RULE_tupleDeclType = 75, + RULE_tupleDecl = 76, RULE_tupleExpr = 77, RULE_binaryop = 78, RULE_binaryop_late = 79, + RULE_prefixop = 80, RULE_postfixop = 81, RULE_id = 82, RULE_idPart = 83, + RULE_array = 84, RULE_tuple = 85, RULE_num = 86, RULE_primitiveTypeLit = 87, + RULE_primitiveLit = 88; + public static readonly string[] ruleNames = { + "packageDecl", "imports", "importDecl", "annotationArg", "annotation", + "modifier", "modifiers", "classType", "genericTypeUses", "type", "rawType", + "genericTypeDef", "genericTypeDefs", "objectExtends", "objectImplements", + "parameter", "parameters", "arguments", "statements", "noBlock", "uniformBlock", + "normalBlock", "memberExpr", "lambdaBlock", "caseBlock", "memberBlock", + "codeBlock", "initDecl", "subConstructorCall", "subConstructorCalls", + "constructorDecl", "methodDecl", "indexerMemberDecl", "propGetter", "propSetter", + "propInit", "propBlock", "propertyDecl", "member", "classDecl", "file", + "inferType", "indexerEmpty", "indexerDecl", "indexerExpr", "cast", "declaration", + "mutation", "call", "ctorCall", "newArray", "newListedArray", "label", + "lambda", "returnStatement", "throwStatement", "markStatement", "jumpStatement", + "tryCatchStatement", "tryWithResourcesStatement", "catchBlocks", "catchBlock", + "finallyBlock", "ifStatement", "elseStatement", "whileStatement", "forStatement", + "foreachStatement", "doWhile", "switchStatement", "caseClause", "defaultClause", + "statement", "typedExpr", "expr", "tupleDeclType", "tupleDecl", "tupleExpr", + "binaryop", "binaryop_late", "prefixop", "postfixop", "id", "idPart", + "array", "tuple", "num", "primitiveTypeLit", "primitiveLit" + }; + + private static readonly string[] _LiteralNames = { + null, "'package'", "'import'", "'public'", "'internal'", "'protected'", + "'private'", "'static'", "'final'", "'abstract'", "'native'", "'synchronized'", + "'class'", "'interface'", "'enum'", "'annotation'", "'extends'", "'implements'", + "'return'", "'throw'", "'new'", "'yield'", "'is'", "'mark'", "'jump'", + "'if'", "'else'", "'for'", "'foreach'", "'do'", "'while'", "'switch'", + "'case'", "'default'", "'break'", "'continue'", "'try'", "'catch'", "'finally'", + "'object'", "'array'", "'tuple'", "'type'", "'num'", "'byte'", "'short'", + "'int'", "'long'", "'float'", "'double'", "'void'", "'var'", null, null, + "'stdio'", "'endl'", "'null'", "'true'", "'false'", "'this'", "'super'", + "'get'", "'set'", "'init'", "'('", "')'", "'{'", "'}'", "'['", "']'", + "':'", "';'", "'.'", "','", "'!'", "'?'", "'..'", "'...'", "'~'", "'\\\"'", + "'\"'", "'&&'", "'||'", "'++'", "'--'", "'&'", "'|'", "'^'", "'*'", "'/'", + "'+'", "'-'", "'%'", "'@'", "'<<'", "'>>'", "'<<<'", "'>>>'", "'=='", + "'!='", "'>='", "'<='", "'>'", "'<'", "'='", "'=>'", "'<-'", "'->'", "'<<-'", + "'->>'", "'=>>'" + }; + private static readonly string[] _SymbolicNames = { + null, "PACKAGE", "IMPORT", "PUBLIC", "INTERNAL", "PROTECTED", "PRIVATE", + "STATIC", "FINAL", "ABSTRACT", "NATIVE", "SYNCHRONIZED", "CLASS", "INTERFACE", + "ENUM", "ANNOTATION", "EXTENDS", "IMPLEMENTS", "RETURN", "THROW", "NEW", + "YIELD", "IS", "MARK", "JUMP", "IF", "ELSE", "FOR", "FOREACH", "DO", "WHILE", + "SWITCH", "CASE", "DEFAULT", "BREAK", "CONTINUE", "TRY", "CATCH", "FINALLY", + "OBJECT", "ARRAYIDENT", "TUPLEIDENT", "TYPE", "NUMIDENT", "BYTE", "SHORT", + "INT", "LONG", "FLOAT", "DOUBLE", "VOID", "VAR", "NUMLIT", "STRLIT", "STDIOLIT", + "ENDLLIT", "NULL", "TRUE", "FALSE", "THIS", "SUPER", "GET", "SET", "INIT", + "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LSQUAR", "RSQUAR", "COLON", "SEMICOLON", + "DOT", "COMMA", "EXCLAMATION", "QUESTION", "SHORTELIPSES", "ELIPSES", + "TILDE", "ESCAPE_QUOTE", "QUOTE", "AND", "OR", "PLUSPLUS", "MINUSMINUS", + "BITAND", "BITOR", "UP", "STAR", "SLASH", "PLUS", "MINUS", "PERCENT", + "AT", "LSHIFT", "RSHIFT", "ULSHIFT", "URSHIFT", "EQUAL", "INEQUAL", "GREATEREQ", + "LESSEREQ", "GREATER", "LESSER", "ASSIGN", "REQARROW", "LDASHARROW", "RDASHARROW", + "LLDASHARROW", "RRDASHARROW", "RREQARROW", "ID", "DIGIT", "LETTER", "SING_COMMENT", + "WS", "UNMATCHED" + }; + public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames); + + [NotNull] + public override IVocabulary Vocabulary + { + get + { + return DefaultVocabulary; + } + } + + public override string GrammarFileName { get { return "KScrParser.g4"; } } + + public override string[] RuleNames { get { return ruleNames; } } + + public override int[] SerializedAtn { get { return _serializedATN; } } + + static KScrParser() { + decisionToDFA = new DFA[_ATN.NumberOfDecisions]; + for (int i = 0; i < _ATN.NumberOfDecisions; i++) { + decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i); + } + } + + public KScrParser(ITokenStream input) : this(input, Console.Out, Console.Error) { } + + public KScrParser(ITokenStream input, TextWriter output, TextWriter errorOutput) + : base(input, output, errorOutput) + { + Interpreter = new ParserATNSimulator(this, _ATN, decisionToDFA, sharedContextCache); + } + + public partial class PackageDeclContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PACKAGE() { return GetToken(KScrParser.PACKAGE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public IdContext id() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + public PackageDeclContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_packageDecl; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterPackageDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitPackageDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitPackageDecl(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public PackageDeclContext packageDecl() { + PackageDeclContext _localctx = new PackageDeclContext(Context, State); + EnterRule(_localctx, 0, RULE_packageDecl); + try { + EnterOuterAlt(_localctx, 1); + { + State = 178; + Match(PACKAGE); + State = 179; + id(); + State = 180; + Match(SEMICOLON); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ImportsContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ImportDeclContext[] importDecl() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ImportDeclContext importDecl(int i) { + return GetRuleContext(i); + } + public ImportsContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_imports; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterImports(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitImports(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitImports(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ImportsContext imports() { + ImportsContext _localctx = new ImportsContext(Context, State); + EnterRule(_localctx, 2, RULE_imports); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 185; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==IMPORT) { + { + { + State = 182; + importDecl(); + } + } + State = 187; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ImportDeclContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IMPORT() { return GetToken(KScrParser.IMPORT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public IdContext id() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STATIC() { return GetToken(KScrParser.STATIC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOT() { return GetToken(KScrParser.DOT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STAR() { return GetToken(KScrParser.STAR, 0); } + public ImportDeclContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_importDecl; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterImportDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitImportDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitImportDecl(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ImportDeclContext importDecl() { + ImportDeclContext _localctx = new ImportDeclContext(Context, State); + EnterRule(_localctx, 4, RULE_importDecl); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 188; + Match(IMPORT); + State = 190; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==STATIC) { + { + State = 189; + Match(STATIC); + } + } + + State = 192; + id(); + State = 195; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==DOT) { + { + State = 193; + Match(DOT); + State = 194; + Match(STAR); + } + } + + State = 197; + Match(SEMICOLON); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class AnnotationArgContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASSIGN() { return GetToken(KScrParser.ASSIGN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + public AnnotationArgContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_annotationArg; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterAnnotationArg(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitAnnotationArg(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitAnnotationArg(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public AnnotationArgContext annotationArg() { + AnnotationArgContext _localctx = new AnnotationArgContext(Context, State); + EnterRule(_localctx, 6, RULE_annotationArg); + try { + EnterOuterAlt(_localctx, 1); + { + State = 199; + idPart(); + State = 200; + Match(ASSIGN); + State = 201; + expr(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class AnnotationContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode AT() { return GetToken(KScrParser.AT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public IdContext id() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public AnnotationArgContext[] annotationArg() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AnnotationArgContext annotationArg(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public AnnotationContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_annotation; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterAnnotation(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitAnnotation(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitAnnotation(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public AnnotationContext annotation() { + AnnotationContext _localctx = new AnnotationContext(Context, State); + EnterRule(_localctx, 8, RULE_annotation); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 203; + Match(AT); + State = 204; + id(); + State = 218; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==LPAREN) { + { + State = 205; + Match(LPAREN); + State = 215; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,4,Context) ) { + case 1: + { + State = 206; + annotationArg(); + State = 211; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 207; + Match(COMMA); + State = 208; + annotationArg(); + } + } + State = 213; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + break; + case 2: + { + State = 214; + expr(0); + } + break; + } + State = 217; + Match(RPAREN); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModifierContext : ParserRuleContext { + public ModifierContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_modifier; } } + + public ModifierContext() { } + public virtual void CopyFrom(ModifierContext context) { + base.CopyFrom(context); + } + } + public partial class ModFinalContext : ModifierContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FINAL() { return GetToken(KScrParser.FINAL, 0); } + public ModFinalContext(ModifierContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterModFinal(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitModFinal(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitModFinal(this); + else return visitor.VisitChildren(this); + } + } + public partial class ModPrivateContext : ModifierContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PRIVATE() { return GetToken(KScrParser.PRIVATE, 0); } + public ModPrivateContext(ModifierContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterModPrivate(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitModPrivate(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitModPrivate(this); + else return visitor.VisitChildren(this); + } + } + public partial class ModInternalContext : ModifierContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTERNAL() { return GetToken(KScrParser.INTERNAL, 0); } + public ModInternalContext(ModifierContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterModInternal(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitModInternal(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitModInternal(this); + else return visitor.VisitChildren(this); + } + } + public partial class ModAbstractContext : ModifierContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ABSTRACT() { return GetToken(KScrParser.ABSTRACT, 0); } + public ModAbstractContext(ModifierContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterModAbstract(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitModAbstract(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitModAbstract(this); + else return visitor.VisitChildren(this); + } + } + public partial class ModProtectedContext : ModifierContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PROTECTED() { return GetToken(KScrParser.PROTECTED, 0); } + public ModProtectedContext(ModifierContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterModProtected(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitModProtected(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitModProtected(this); + else return visitor.VisitChildren(this); + } + } + public partial class ModNativeContext : ModifierContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NATIVE() { return GetToken(KScrParser.NATIVE, 0); } + public ModNativeContext(ModifierContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterModNative(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitModNative(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitModNative(this); + else return visitor.VisitChildren(this); + } + } + public partial class ModStaticContext : ModifierContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STATIC() { return GetToken(KScrParser.STATIC, 0); } + public ModStaticContext(ModifierContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterModStatic(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitModStatic(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitModStatic(this); + else return visitor.VisitChildren(this); + } + } + public partial class ModPublicContext : ModifierContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PUBLIC() { return GetToken(KScrParser.PUBLIC, 0); } + public ModPublicContext(ModifierContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterModPublic(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitModPublic(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitModPublic(this); + else return visitor.VisitChildren(this); + } + } + public partial class ModSyncronizedContext : ModifierContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SYNCHRONIZED() { return GetToken(KScrParser.SYNCHRONIZED, 0); } + public ModSyncronizedContext(ModifierContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterModSyncronized(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitModSyncronized(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitModSyncronized(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ModifierContext modifier() { + ModifierContext _localctx = new ModifierContext(Context, State); + EnterRule(_localctx, 10, RULE_modifier); + try { + State = 229; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case PUBLIC: + _localctx = new ModPublicContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 220; + Match(PUBLIC); + } + break; + case INTERNAL: + _localctx = new ModInternalContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 221; + Match(INTERNAL); + } + break; + case PROTECTED: + _localctx = new ModProtectedContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 222; + Match(PROTECTED); + } + break; + case PRIVATE: + _localctx = new ModPrivateContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 223; + Match(PRIVATE); + } + break; + case STATIC: + _localctx = new ModStaticContext(_localctx); + EnterOuterAlt(_localctx, 5); + { + State = 224; + Match(STATIC); + } + break; + case FINAL: + _localctx = new ModFinalContext(_localctx); + EnterOuterAlt(_localctx, 6); + { + State = 225; + Match(FINAL); + } + break; + case ABSTRACT: + _localctx = new ModAbstractContext(_localctx); + EnterOuterAlt(_localctx, 7); + { + State = 226; + Match(ABSTRACT); + } + break; + case SYNCHRONIZED: + _localctx = new ModSyncronizedContext(_localctx); + EnterOuterAlt(_localctx, 8); + { + State = 227; + Match(SYNCHRONIZED); + } + break; + case NATIVE: + _localctx = new ModNativeContext(_localctx); + EnterOuterAlt(_localctx, 9); + { + State = 228; + Match(NATIVE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModifiersContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ModifierContext[] modifier() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ModifierContext modifier(int i) { + return GetRuleContext(i); + } + public ModifiersContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_modifiers; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterModifiers(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitModifiers(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitModifiers(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ModifiersContext modifiers() { + ModifiersContext _localctx = new ModifiersContext(Context, State); + EnterRule(_localctx, 12, RULE_modifiers); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 234; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << PUBLIC) | (1L << INTERNAL) | (1L << PROTECTED) | (1L << PRIVATE) | (1L << STATIC) | (1L << FINAL) | (1L << ABSTRACT) | (1L << NATIVE) | (1L << SYNCHRONIZED))) != 0)) { + { + { + State = 231; + modifier(); + } + } + State = 236; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ClassTypeContext : ParserRuleContext { + public ClassTypeContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_classType; } } + + public ClassTypeContext() { } + public virtual void CopyFrom(ClassTypeContext context) { + base.CopyFrom(context); + } + } + public partial class CtEnumContext : ClassTypeContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ENUM() { return GetToken(KScrParser.ENUM, 0); } + public CtEnumContext(ClassTypeContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCtEnum(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCtEnum(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCtEnum(this); + else return visitor.VisitChildren(this); + } + } + public partial class CtAnnotationContext : ClassTypeContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ANNOTATION() { return GetToken(KScrParser.ANNOTATION, 0); } + public CtAnnotationContext(ClassTypeContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCtAnnotation(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCtAnnotation(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCtAnnotation(this); + else return visitor.VisitChildren(this); + } + } + public partial class CtInterfaceContext : ClassTypeContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTERFACE() { return GetToken(KScrParser.INTERFACE, 0); } + public CtInterfaceContext(ClassTypeContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCtInterface(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCtInterface(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCtInterface(this); + else return visitor.VisitChildren(this); + } + } + public partial class CtClassContext : ClassTypeContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLASS() { return GetToken(KScrParser.CLASS, 0); } + public CtClassContext(ClassTypeContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCtClass(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCtClass(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCtClass(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ClassTypeContext classType() { + ClassTypeContext _localctx = new ClassTypeContext(Context, State); + EnterRule(_localctx, 14, RULE_classType); + try { + State = 241; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case CLASS: + _localctx = new CtClassContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 237; + Match(CLASS); + } + break; + case INTERFACE: + _localctx = new CtInterfaceContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 238; + Match(INTERFACE); + } + break; + case ENUM: + _localctx = new CtEnumContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 239; + Match(ENUM); + } + break; + case ANNOTATION: + _localctx = new CtAnnotationContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 240; + Match(ANNOTATION); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class GenericTypeUsesContext : ParserRuleContext { + public IToken n; + public TypeContext first; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LESSER() { return GetToken(KScrParser.LESSER, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GREATER() { return GetToken(KScrParser.GREATER, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NUMLIT() { return GetToken(KScrParser.NUMLIT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext[] type() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public GenericTypeUsesContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_genericTypeUses; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterGenericTypeUses(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitGenericTypeUses(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitGenericTypeUses(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public GenericTypeUsesContext genericTypeUses() { + GenericTypeUsesContext _localctx = new GenericTypeUsesContext(Context, State); + EnterRule(_localctx, 16, RULE_genericTypeUses); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 243; + Match(LESSER); + State = 246; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case NUMLIT: + { + State = 244; + _localctx.n = Match(NUMLIT); + } + break; + case ENUM: + case ANNOTATION: + case OBJECT: + case ARRAYIDENT: + case TUPLEIDENT: + case TYPE: + case NUMIDENT: + case BYTE: + case SHORT: + case INT: + case LONG: + case FLOAT: + case DOUBLE: + case VOID: + case ID: + { + State = 245; + _localctx.first = type(); + } + break; + default: + throw new NoViableAltException(this); + } + State = 252; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 248; + Match(COMMA); + State = 249; + type(); + } + } + State = 254; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 255; + Match(GREATER); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TypeContext : ParserRuleContext { + public TypeContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_type; } } + + public TypeContext() { } + public virtual void CopyFrom(TypeContext context) { + base.CopyFrom(context); + } + } + public partial class ArrayTypeUseContext : TypeContext { + [System.Diagnostics.DebuggerNonUserCode] public RawTypeContext rawType() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public GenericTypeUsesContext genericTypeUses() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public IndexerEmptyContext indexerEmpty() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ELIPSES() { return GetToken(KScrParser.ELIPSES, 0); } + public ArrayTypeUseContext(TypeContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterArrayTypeUse(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitArrayTypeUse(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitArrayTypeUse(this); + else return visitor.VisitChildren(this); + } + } + public partial class ImportedTypeNameContext : TypeContext { + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + public ImportedTypeNameContext(TypeContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterImportedTypeName(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitImportedTypeName(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitImportedTypeName(this); + else return visitor.VisitChildren(this); + } + } + public partial class NormalTypeUseContext : TypeContext { + [System.Diagnostics.DebuggerNonUserCode] public RawTypeContext rawType() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public GenericTypeUsesContext genericTypeUses() { + return GetRuleContext(0); + } + public NormalTypeUseContext(TypeContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNormalTypeUse(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNormalTypeUse(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNormalTypeUse(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public TypeContext type() { + TypeContext _localctx = new TypeContext(Context, State); + EnterRule(_localctx, 18, RULE_type); + try { + State = 270; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,14,Context) ) { + case 1: + _localctx = new ImportedTypeNameContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 257; + idPart(); + } + break; + case 2: + _localctx = new NormalTypeUseContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 258; + rawType(); + State = 260; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,11,Context) ) { + case 1: + { + State = 259; + genericTypeUses(); + } + break; + } + } + break; + case 3: + _localctx = new ArrayTypeUseContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 262; + rawType(); + State = 264; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,12,Context) ) { + case 1: + { + State = 263; + genericTypeUses(); + } + break; + } + State = 268; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,13,Context) ) { + case 1: + { + State = 266; + indexerEmpty(); + } + break; + case 2: + { + State = 267; + Match(ELIPSES); + } + break; + } + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class RawTypeContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public PrimitiveTypeLitContext primitiveTypeLit() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public IdContext id() { + return GetRuleContext(0); + } + public RawTypeContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_rawType; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterRawType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitRawType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitRawType(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public RawTypeContext rawType() { + RawTypeContext _localctx = new RawTypeContext(Context, State); + EnterRule(_localctx, 20, RULE_rawType); + try { + State = 274; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case ENUM: + case OBJECT: + case ARRAYIDENT: + case TUPLEIDENT: + case TYPE: + case NUMIDENT: + case BYTE: + case SHORT: + case INT: + case LONG: + case FLOAT: + case DOUBLE: + case VOID: + EnterOuterAlt(_localctx, 1); + { + State = 272; + primitiveTypeLit(); + } + break; + case ANNOTATION: + case ID: + EnterOuterAlt(_localctx, 2); + { + State = 273; + id(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class GenericTypeDefContext : ParserRuleContext { + public IToken elp; + public TypeContext ext; + public TypeContext sup; + public IToken defN; + public TypeContext def; + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EXTENDS() { return GetToken(KScrParser.EXTENDS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SUPER() { return GetToken(KScrParser.SUPER, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASSIGN() { return GetToken(KScrParser.ASSIGN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ELIPSES() { return GetToken(KScrParser.ELIPSES, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext[] type() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NUMLIT() { return GetToken(KScrParser.NUMLIT, 0); } + public GenericTypeDefContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_genericTypeDef; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterGenericTypeDef(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitGenericTypeDef(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitGenericTypeDef(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public GenericTypeDefContext genericTypeDef() { + GenericTypeDefContext _localctx = new GenericTypeDefContext(Context, State); + EnterRule(_localctx, 22, RULE_genericTypeDef); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 276; + idPart(); + State = 278; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==ELIPSES) { + { + State = 277; + _localctx.elp = Match(ELIPSES); + } + } + + State = 284; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case EXTENDS: + { + State = 280; + Match(EXTENDS); + State = 281; + _localctx.ext = type(); + } + break; + case SUPER: + { + State = 282; + Match(SUPER); + State = 283; + _localctx.sup = type(); + } + break; + case COMMA: + case GREATER: + case ASSIGN: + break; + default: + break; + } + State = 291; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==ASSIGN) { + { + State = 286; + Match(ASSIGN); + State = 289; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case NUMLIT: + { + State = 287; + _localctx.defN = Match(NUMLIT); + } + break; + case ENUM: + case ANNOTATION: + case OBJECT: + case ARRAYIDENT: + case TUPLEIDENT: + case TYPE: + case NUMIDENT: + case BYTE: + case SHORT: + case INT: + case LONG: + case FLOAT: + case DOUBLE: + case VOID: + case ID: + { + State = 288; + _localctx.def = type(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class GenericTypeDefsContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LESSER() { return GetToken(KScrParser.LESSER, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GREATER() { return GetToken(KScrParser.GREATER, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NUMLIT() { return GetToken(KScrParser.NUMLIT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public GenericTypeDefContext[] genericTypeDef() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public GenericTypeDefContext genericTypeDef(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public GenericTypeDefsContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_genericTypeDefs; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterGenericTypeDefs(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitGenericTypeDefs(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitGenericTypeDefs(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public GenericTypeDefsContext genericTypeDefs() { + GenericTypeDefsContext _localctx = new GenericTypeDefsContext(Context, State); + EnterRule(_localctx, 24, RULE_genericTypeDefs); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 293; + Match(LESSER); + State = 296; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case NUMLIT: + { + State = 294; + Match(NUMLIT); + } + break; + case ANNOTATION: + case ID: + { + State = 295; + genericTypeDef(); + } + break; + default: + throw new NoViableAltException(this); + } + State = 302; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 298; + Match(COMMA); + State = 299; + genericTypeDef(); + } + } + State = 304; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 305; + Match(GREATER); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ObjectExtendsContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EXTENDS() { return GetToken(KScrParser.EXTENDS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext[] type() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public ObjectExtendsContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_objectExtends; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterObjectExtends(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitObjectExtends(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitObjectExtends(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ObjectExtendsContext objectExtends() { + ObjectExtendsContext _localctx = new ObjectExtendsContext(Context, State); + EnterRule(_localctx, 26, RULE_objectExtends); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 307; + Match(EXTENDS); + State = 308; + type(); + State = 313; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 309; + Match(COMMA); + State = 310; + type(); + } + } + State = 315; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ObjectImplementsContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IMPLEMENTS() { return GetToken(KScrParser.IMPLEMENTS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext[] type() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public ObjectImplementsContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_objectImplements; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterObjectImplements(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitObjectImplements(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitObjectImplements(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ObjectImplementsContext objectImplements() { + ObjectImplementsContext _localctx = new ObjectImplementsContext(Context, State); + EnterRule(_localctx, 28, RULE_objectImplements); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 316; + Match(IMPLEMENTS); + State = 317; + type(); + State = 322; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 318; + Match(COMMA); + State = 319; + type(); + } + } + State = 324; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ParameterContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FINAL() { return GetToken(KScrParser.FINAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASSIGN() { return GetToken(KScrParser.ASSIGN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + public ParameterContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_parameter; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterParameter(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitParameter(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitParameter(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ParameterContext parameter() { + ParameterContext _localctx = new ParameterContext(Context, State); + EnterRule(_localctx, 30, RULE_parameter); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 326; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==FINAL) { + { + State = 325; + Match(FINAL); + } + } + + State = 328; + type(); + State = 329; + idPart(); + State = 332; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==ASSIGN) { + { + State = 330; + Match(ASSIGN); + State = 331; + expr(0); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ParametersContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ParameterContext[] parameter() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ParameterContext parameter(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public ParametersContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_parameters; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterParameters(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitParameters(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitParameters(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ParametersContext parameters() { + ParametersContext _localctx = new ParametersContext(Context, State); + EnterRule(_localctx, 32, RULE_parameters); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 334; + Match(LPAREN); + State = 343; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << FINAL) | (1L << ENUM) | (1L << ANNOTATION) | (1L << OBJECT) | (1L << ARRAYIDENT) | (1L << TUPLEIDENT) | (1L << TYPE) | (1L << NUMIDENT) | (1L << BYTE) | (1L << SHORT) | (1L << INT) | (1L << LONG) | (1L << FLOAT) | (1L << DOUBLE) | (1L << VOID))) != 0) || _la==ID) { + { + State = 335; + parameter(); + State = 340; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 336; + Match(COMMA); + State = 337; + parameter(); + } + } + State = 342; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + + State = 345; + Match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ArgumentsContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext[] expr() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public ArgumentsContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_arguments; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterArguments(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitArguments(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitArguments(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ArgumentsContext arguments() { + ArgumentsContext _localctx = new ArgumentsContext(Context, State); + EnterRule(_localctx, 34, RULE_arguments); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 347; + Match(LPAREN); + State = 356; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ENUM) | (1L << ANNOTATION) | (1L << THROW) | (1L << NEW) | (1L << YIELD) | (1L << SWITCH) | (1L << OBJECT) | (1L << ARRAYIDENT) | (1L << TUPLEIDENT) | (1L << TYPE) | (1L << NUMIDENT) | (1L << BYTE) | (1L << SHORT) | (1L << INT) | (1L << LONG) | (1L << FLOAT) | (1L << DOUBLE) | (1L << VOID) | (1L << NUMLIT) | (1L << STRLIT) | (1L << STDIOLIT) | (1L << ENDLLIT) | (1L << NULL) | (1L << TRUE) | (1L << FALSE) | (1L << THIS) | (1L << SUPER))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (LPAREN - 64)) | (1L << (EXCLAMATION - 64)) | (1L << (PLUSPLUS - 64)) | (1L << (MINUSMINUS - 64)) | (1L << (MINUS - 64)) | (1L << (ID - 64)))) != 0)) { + { + State = 348; + expr(0); + State = 353; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 349; + Match(COMMA); + State = 350; + expr(0); + } + } + State = 355; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + + State = 358; + Match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class StatementsContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public StatementContext[] statement() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public StatementContext statement(int i) { + return GetRuleContext(i); + } + public StatementsContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_statements; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStatements(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStatements(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStatements(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public StatementsContext statements() { + StatementsContext _localctx = new StatementsContext(Context, State); + EnterRule(_localctx, 36, RULE_statements); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 363; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ENUM) | (1L << ANNOTATION) | (1L << RETURN) | (1L << THROW) | (1L << NEW) | (1L << YIELD) | (1L << MARK) | (1L << JUMP) | (1L << IF) | (1L << FOR) | (1L << FOREACH) | (1L << DO) | (1L << WHILE) | (1L << SWITCH) | (1L << TRY) | (1L << OBJECT) | (1L << ARRAYIDENT) | (1L << TUPLEIDENT) | (1L << TYPE) | (1L << NUMIDENT) | (1L << BYTE) | (1L << SHORT) | (1L << INT) | (1L << LONG) | (1L << FLOAT) | (1L << DOUBLE) | (1L << VOID) | (1L << NUMLIT) | (1L << STRLIT) | (1L << STDIOLIT) | (1L << ENDLLIT) | (1L << NULL) | (1L << TRUE) | (1L << FALSE) | (1L << THIS) | (1L << SUPER))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (LPAREN - 64)) | (1L << (SEMICOLON - 64)) | (1L << (EXCLAMATION - 64)) | (1L << (PLUSPLUS - 64)) | (1L << (MINUSMINUS - 64)) | (1L << (MINUS - 64)) | (1L << (ID - 64)))) != 0)) { + { + { + State = 360; + statement(); + } + } + State = 365; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class NoBlockContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + public NoBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_noBlock; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNoBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNoBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNoBlock(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public NoBlockContext noBlock() { + NoBlockContext _localctx = new NoBlockContext(Context, State); + EnterRule(_localctx, 38, RULE_noBlock); + try { + EnterOuterAlt(_localctx, 1); + { + State = 366; + Match(SEMICOLON); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class UniformBlockContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public StatementContext statement() { + return GetRuleContext(0); + } + public UniformBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_uniformBlock; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterUniformBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitUniformBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitUniformBlock(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public UniformBlockContext uniformBlock() { + UniformBlockContext _localctx = new UniformBlockContext(Context, State); + EnterRule(_localctx, 40, RULE_uniformBlock); + try { + State = 370; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,31,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 368; + expr(0); + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + State = 369; + statement(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class NormalBlockContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACE() { return GetToken(KScrParser.LBRACE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public StatementsContext statements() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACE() { return GetToken(KScrParser.RBRACE, 0); } + public NormalBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_normalBlock; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNormalBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNormalBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNormalBlock(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public NormalBlockContext normalBlock() { + NormalBlockContext _localctx = new NormalBlockContext(Context, State); + EnterRule(_localctx, 42, RULE_normalBlock); + try { + EnterOuterAlt(_localctx, 1); + { + State = 372; + Match(LBRACE); + State = 373; + statements(); + State = 374; + Match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MemberExprContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode REQARROW() { return GetToken(KScrParser.REQARROW, 0); } + [System.Diagnostics.DebuggerNonUserCode] public UniformBlockContext uniformBlock() { + return GetRuleContext(0); + } + public MemberExprContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_memberExpr; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMemberExpr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMemberExpr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMemberExpr(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public MemberExprContext memberExpr() { + MemberExprContext _localctx = new MemberExprContext(Context, State); + EnterRule(_localctx, 44, RULE_memberExpr); + try { + EnterOuterAlt(_localctx, 1); + { + State = 376; + Match(REQARROW); + State = 377; + uniformBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class LambdaBlockContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RDASHARROW() { return GetToken(KScrParser.RDASHARROW, 0); } + [System.Diagnostics.DebuggerNonUserCode] public UniformBlockContext uniformBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public NormalBlockContext normalBlock() { + return GetRuleContext(0); + } + public LambdaBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_lambdaBlock; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterLambdaBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitLambdaBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitLambdaBlock(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public LambdaBlockContext lambdaBlock() { + LambdaBlockContext _localctx = new LambdaBlockContext(Context, State); + EnterRule(_localctx, 46, RULE_lambdaBlock); + try { + EnterOuterAlt(_localctx, 1); + { + State = 379; + Match(RDASHARROW); + State = 382; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case ENUM: + case ANNOTATION: + case RETURN: + case THROW: + case NEW: + case YIELD: + case MARK: + case JUMP: + case IF: + case FOR: + case FOREACH: + case DO: + case WHILE: + case SWITCH: + case TRY: + case OBJECT: + case ARRAYIDENT: + case TUPLEIDENT: + case TYPE: + case NUMIDENT: + case BYTE: + case SHORT: + case INT: + case LONG: + case FLOAT: + case DOUBLE: + case VOID: + case NUMLIT: + case STRLIT: + case STDIOLIT: + case ENDLLIT: + case NULL: + case TRUE: + case FALSE: + case THIS: + case SUPER: + case LPAREN: + case SEMICOLON: + case EXCLAMATION: + case PLUSPLUS: + case MINUSMINUS: + case MINUS: + case ID: + { + State = 380; + uniformBlock(); + } + break; + case LBRACE: + { + State = 381; + normalBlock(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class CaseBlockContext : ParserRuleContext { + public CaseBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_caseBlock; } } + + public CaseBlockContext() { } + public virtual void CopyFrom(CaseBlockContext context) { + base.CopyFrom(context); + } + } + public partial class CaseStmtBlockContext : CaseBlockContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COLON() { return GetToken(KScrParser.COLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public StatementsContext statements() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BREAK() { return GetToken(KScrParser.BREAK, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + public CaseStmtBlockContext(CaseBlockContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCaseStmtBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCaseStmtBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCaseStmtBlock(this); + else return visitor.VisitChildren(this); + } + } + public partial class CaseExprBlockContext : CaseBlockContext { + [System.Diagnostics.DebuggerNonUserCode] public MemberExprContext memberExpr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(KScrParser.COMMA, 0); } + public CaseExprBlockContext(CaseBlockContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCaseExprBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCaseExprBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCaseExprBlock(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public CaseBlockContext caseBlock() { + CaseBlockContext _localctx = new CaseBlockContext(Context, State); + EnterRule(_localctx, 48, RULE_caseBlock); + try { + State = 392; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case COLON: + _localctx = new CaseStmtBlockContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 384; + Match(COLON); + State = 385; + statements(); + State = 386; + Match(BREAK); + State = 387; + Match(SEMICOLON); + } + break; + case REQARROW: + _localctx = new CaseExprBlockContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 389; + memberExpr(); + State = 390; + Match(COMMA); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MemberBlockContext : ParserRuleContext { + public MemberBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_memberBlock; } } + + public MemberBlockContext() { } + public virtual void CopyFrom(MemberBlockContext context) { + base.CopyFrom(context); + } + } + public partial class MemberNormalBlockContext : MemberBlockContext { + [System.Diagnostics.DebuggerNonUserCode] public NormalBlockContext normalBlock() { + return GetRuleContext(0); + } + public MemberNormalBlockContext(MemberBlockContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMemberNormalBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMemberNormalBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMemberNormalBlock(this); + else return visitor.VisitChildren(this); + } + } + public partial class MemberExprBlockContext : MemberBlockContext { + [System.Diagnostics.DebuggerNonUserCode] public MemberExprContext memberExpr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + public MemberExprBlockContext(MemberBlockContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMemberExprBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMemberExprBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMemberExprBlock(this); + else return visitor.VisitChildren(this); + } + } + public partial class MemberNoBlockContext : MemberBlockContext { + [System.Diagnostics.DebuggerNonUserCode] public NoBlockContext noBlock() { + return GetRuleContext(0); + } + public MemberNoBlockContext(MemberBlockContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMemberNoBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMemberNoBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMemberNoBlock(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public MemberBlockContext memberBlock() { + MemberBlockContext _localctx = new MemberBlockContext(Context, State); + EnterRule(_localctx, 50, RULE_memberBlock); + try { + State = 399; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case LBRACE: + _localctx = new MemberNormalBlockContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 394; + normalBlock(); + } + break; + case REQARROW: + _localctx = new MemberExprBlockContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 395; + memberExpr(); + State = 396; + Match(SEMICOLON); + } + break; + case SEMICOLON: + _localctx = new MemberNoBlockContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 398; + noBlock(); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class CodeBlockContext : ParserRuleContext { + public CodeBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_codeBlock; } } + + public CodeBlockContext() { } + public virtual void CopyFrom(CodeBlockContext context) { + base.CopyFrom(context); + } + } + public partial class CodeStmtBlockContext : CodeBlockContext { + [System.Diagnostics.DebuggerNonUserCode] public StatementContext statement() { + return GetRuleContext(0); + } + public CodeStmtBlockContext(CodeBlockContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCodeStmtBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCodeStmtBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCodeStmtBlock(this); + else return visitor.VisitChildren(this); + } + } + public partial class CodeNormalBlockContext : CodeBlockContext { + [System.Diagnostics.DebuggerNonUserCode] public NormalBlockContext normalBlock() { + return GetRuleContext(0); + } + public CodeNormalBlockContext(CodeBlockContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCodeNormalBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCodeNormalBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCodeNormalBlock(this); + else return visitor.VisitChildren(this); + } + } + public partial class CodeNoBlockContext : CodeBlockContext { + [System.Diagnostics.DebuggerNonUserCode] public NoBlockContext noBlock() { + return GetRuleContext(0); + } + public CodeNoBlockContext(CodeBlockContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCodeNoBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCodeNoBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCodeNoBlock(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public CodeBlockContext codeBlock() { + CodeBlockContext _localctx = new CodeBlockContext(Context, State); + EnterRule(_localctx, 52, RULE_codeBlock); + try { + State = 404; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,35,Context) ) { + case 1: + _localctx = new CodeNormalBlockContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 401; + normalBlock(); + } + break; + case 2: + _localctx = new CodeStmtBlockContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 402; + statement(); + } + break; + case 3: + _localctx = new CodeNoBlockContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 403; + noBlock(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class InitDeclContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STATIC() { return GetToken(KScrParser.STATIC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public MemberBlockContext memberBlock() { + return GetRuleContext(0); + } + public InitDeclContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_initDecl; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterInitDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitInitDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitInitDecl(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public InitDeclContext initDecl() { + InitDeclContext _localctx = new InitDeclContext(Context, State); + EnterRule(_localctx, 54, RULE_initDecl); + try { + EnterOuterAlt(_localctx, 1); + { + State = 406; + Match(STATIC); + State = 407; + memberBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SubConstructorCallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgumentsContext arguments() { + return GetRuleContext(0); + } + public SubConstructorCallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_subConstructorCall; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterSubConstructorCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitSubConstructorCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitSubConstructorCall(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public SubConstructorCallContext subConstructorCall() { + SubConstructorCallContext _localctx = new SubConstructorCallContext(Context, State); + EnterRule(_localctx, 56, RULE_subConstructorCall); + try { + EnterOuterAlt(_localctx, 1); + { + State = 409; + type(); + State = 410; + arguments(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SubConstructorCallsContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COLON() { return GetToken(KScrParser.COLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public SubConstructorCallContext[] subConstructorCall() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public SubConstructorCallContext subConstructorCall(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public SubConstructorCallsContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_subConstructorCalls; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterSubConstructorCalls(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitSubConstructorCalls(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitSubConstructorCalls(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public SubConstructorCallsContext subConstructorCalls() { + SubConstructorCallsContext _localctx = new SubConstructorCallsContext(Context, State); + EnterRule(_localctx, 58, RULE_subConstructorCalls); + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 412; + Match(COLON); + State = 413; + subConstructorCall(); + State = 418; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,36,Context); + while ( _alt!=1 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1+1 ) { + { + { + State = 414; + Match(COMMA); + State = 415; + subConstructorCall(); + } + } + } + State = 420; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,36,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ConstructorDeclContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ModifiersContext modifiers() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ParametersContext parameters() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public MemberBlockContext memberBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public AnnotationContext[] annotation() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AnnotationContext annotation(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public SubConstructorCallsContext subConstructorCalls() { + return GetRuleContext(0); + } + public ConstructorDeclContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_constructorDecl; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterConstructorDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitConstructorDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitConstructorDecl(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ConstructorDeclContext constructorDecl() { + ConstructorDeclContext _localctx = new ConstructorDeclContext(Context, State); + EnterRule(_localctx, 60, RULE_constructorDecl); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 424; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==AT) { + { + { + State = 421; + annotation(); + } + } + State = 426; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 427; + modifiers(); + State = 428; + type(); + State = 429; + parameters(); + State = 431; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==COLON) { + { + State = 430; + subConstructorCalls(); + } + } + + State = 433; + memberBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MethodDeclContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ModifiersContext modifiers() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ParametersContext parameters() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public MemberBlockContext memberBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public AnnotationContext[] annotation() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AnnotationContext annotation(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public GenericTypeDefsContext genericTypeDefs() { + return GetRuleContext(0); + } + public MethodDeclContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_methodDecl; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMethodDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMethodDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMethodDecl(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public MethodDeclContext methodDecl() { + MethodDeclContext _localctx = new MethodDeclContext(Context, State); + EnterRule(_localctx, 62, RULE_methodDecl); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 438; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==AT) { + { + { + State = 435; + annotation(); + } + } + State = 440; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 441; + modifiers(); + State = 443; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==LESSER) { + { + State = 442; + genericTypeDefs(); + } + } + + State = 445; + type(); + State = 446; + idPart(); + State = 447; + parameters(); + State = 448; + memberBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class IndexerMemberDeclContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ModifiersContext modifiers() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode THIS() { return GetToken(KScrParser.THIS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public IndexerDeclContext indexerDecl() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public PropBlockContext propBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public AnnotationContext[] annotation() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AnnotationContext annotation(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public GenericTypeDefsContext genericTypeDefs() { + return GetRuleContext(0); + } + public IndexerMemberDeclContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_indexerMemberDecl; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterIndexerMemberDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitIndexerMemberDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitIndexerMemberDecl(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public IndexerMemberDeclContext indexerMemberDecl() { + IndexerMemberDeclContext _localctx = new IndexerMemberDeclContext(Context, State); + EnterRule(_localctx, 64, RULE_indexerMemberDecl); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 453; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==AT) { + { + { + State = 450; + annotation(); + } + } + State = 455; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 456; + modifiers(); + State = 458; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==LESSER) { + { + State = 457; + genericTypeDefs(); + } + } + + State = 460; + type(); + State = 461; + Match(THIS); + State = 462; + indexerDecl(); + State = 463; + propBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PropGetterContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GET() { return GetToken(KScrParser.GET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public MemberBlockContext memberBlock() { + return GetRuleContext(0); + } + public PropGetterContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_propGetter; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterPropGetter(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitPropGetter(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitPropGetter(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public PropGetterContext propGetter() { + PropGetterContext _localctx = new PropGetterContext(Context, State); + EnterRule(_localctx, 66, RULE_propGetter); + try { + EnterOuterAlt(_localctx, 1); + { + State = 465; + Match(GET); + State = 466; + memberBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PropSetterContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SET() { return GetToken(KScrParser.SET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public MemberBlockContext memberBlock() { + return GetRuleContext(0); + } + public PropSetterContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_propSetter; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterPropSetter(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitPropSetter(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitPropSetter(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public PropSetterContext propSetter() { + PropSetterContext _localctx = new PropSetterContext(Context, State); + EnterRule(_localctx, 68, RULE_propSetter); + try { + EnterOuterAlt(_localctx, 1); + { + State = 468; + Match(SET); + State = 469; + memberBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PropInitContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INIT() { return GetToken(KScrParser.INIT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public MemberBlockContext memberBlock() { + return GetRuleContext(0); + } + public PropInitContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_propInit; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterPropInit(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitPropInit(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitPropInit(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public PropInitContext propInit() { + PropInitContext _localctx = new PropInitContext(Context, State); + EnterRule(_localctx, 70, RULE_propInit); + try { + EnterOuterAlt(_localctx, 1); + { + State = 471; + Match(INIT); + State = 472; + memberBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PropBlockContext : ParserRuleContext { + public PropBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_propBlock; } } + + public PropBlockContext() { } + public virtual void CopyFrom(PropBlockContext context) { + base.CopyFrom(context); + } + } + public partial class PropAccessorsContext : PropBlockContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACE() { return GetToken(KScrParser.LBRACE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public PropGetterContext propGetter() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACE() { return GetToken(KScrParser.RBRACE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public PropSetterContext propSetter() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public PropInitContext propInit() { + return GetRuleContext(0); + } + public PropAccessorsContext(PropBlockContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterPropAccessors(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitPropAccessors(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitPropAccessors(this); + else return visitor.VisitChildren(this); + } + } + public partial class PropFieldStyleContext : PropBlockContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASSIGN() { return GetToken(KScrParser.ASSIGN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + public PropFieldStyleContext(PropBlockContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterPropFieldStyle(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitPropFieldStyle(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitPropFieldStyle(this); + else return visitor.VisitChildren(this); + } + } + public partial class PropComputedContext : PropBlockContext { + [System.Diagnostics.DebuggerNonUserCode] public MemberBlockContext memberBlock() { + return GetRuleContext(0); + } + public PropComputedContext(PropBlockContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterPropComputed(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitPropComputed(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitPropComputed(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public PropBlockContext propBlock() { + PropBlockContext _localctx = new PropBlockContext(Context, State); + EnterRule(_localctx, 72, RULE_propBlock); + int _la; + try { + State = 490; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,46,Context) ) { + case 1: + _localctx = new PropComputedContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 474; + memberBlock(); + } + break; + case 2: + _localctx = new PropAccessorsContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 475; + Match(LBRACE); + State = 476; + propGetter(); + State = 478; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==SET) { + { + State = 477; + propSetter(); + } + } + + State = 481; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==INIT) { + { + State = 480; + propInit(); + } + } + + State = 483; + Match(RBRACE); + } + break; + case 3: + _localctx = new PropFieldStyleContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 487; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==ASSIGN) { + { + State = 485; + Match(ASSIGN); + State = 486; + expr(0); + } + } + + State = 489; + Match(SEMICOLON); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PropertyDeclContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ModifiersContext modifiers() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public PropBlockContext propBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public AnnotationContext[] annotation() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AnnotationContext annotation(int i) { + return GetRuleContext(i); + } + public PropertyDeclContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_propertyDecl; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterPropertyDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitPropertyDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitPropertyDecl(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public PropertyDeclContext propertyDecl() { + PropertyDeclContext _localctx = new PropertyDeclContext(Context, State); + EnterRule(_localctx, 74, RULE_propertyDecl); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 495; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==AT) { + { + { + State = 492; + annotation(); + } + } + State = 497; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 498; + modifiers(); + State = 499; + type(); + State = 500; + idPart(); + State = 501; + propBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MemberContext : ParserRuleContext { + public MemberContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_member; } } + + public MemberContext() { } + public virtual void CopyFrom(MemberContext context) { + base.CopyFrom(context); + } + } + public partial class MemInitContext : MemberContext { + [System.Diagnostics.DebuggerNonUserCode] public InitDeclContext initDecl() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CatchBlocksContext catchBlocks() { + return GetRuleContext(0); + } + public MemInitContext(MemberContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMemInit(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMemInit(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMemInit(this); + else return visitor.VisitChildren(this); + } + } + public partial class MemClsContext : MemberContext { + [System.Diagnostics.DebuggerNonUserCode] public ClassDeclContext classDecl() { + return GetRuleContext(0); + } + public MemClsContext(MemberContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMemCls(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMemCls(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMemCls(this); + else return visitor.VisitChildren(this); + } + } + public partial class MemCtorContext : MemberContext { + [System.Diagnostics.DebuggerNonUserCode] public ConstructorDeclContext constructorDecl() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CatchBlocksContext catchBlocks() { + return GetRuleContext(0); + } + public MemCtorContext(MemberContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMemCtor(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMemCtor(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMemCtor(this); + else return visitor.VisitChildren(this); + } + } + public partial class MemMtdContext : MemberContext { + [System.Diagnostics.DebuggerNonUserCode] public MethodDeclContext methodDecl() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CatchBlocksContext catchBlocks() { + return GetRuleContext(0); + } + public MemMtdContext(MemberContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMemMtd(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMemMtd(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMemMtd(this); + else return visitor.VisitChildren(this); + } + } + public partial class MemIdxContext : MemberContext { + [System.Diagnostics.DebuggerNonUserCode] public IndexerMemberDeclContext indexerMemberDecl() { + return GetRuleContext(0); + } + public MemIdxContext(MemberContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMemIdx(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMemIdx(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMemIdx(this); + else return visitor.VisitChildren(this); + } + } + public partial class MemPropContext : MemberContext { + [System.Diagnostics.DebuggerNonUserCode] public PropertyDeclContext propertyDecl() { + return GetRuleContext(0); + } + public MemPropContext(MemberContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMemProp(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMemProp(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMemProp(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public MemberContext member() { + MemberContext _localctx = new MemberContext(Context, State); + EnterRule(_localctx, 76, RULE_member); + int _la; + try { + State = 518; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,51,Context) ) { + case 1: + _localctx = new MemPropContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 503; + propertyDecl(); + } + break; + case 2: + _localctx = new MemClsContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 504; + classDecl(); + } + break; + case 3: + _localctx = new MemInitContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 505; + initDecl(); + State = 507; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==CATCH || _la==FINALLY) { + { + State = 506; + catchBlocks(); + } + } + + } + break; + case 4: + _localctx = new MemCtorContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 509; + constructorDecl(); + State = 511; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==CATCH || _la==FINALLY) { + { + State = 510; + catchBlocks(); + } + } + + } + break; + case 5: + _localctx = new MemMtdContext(_localctx); + EnterOuterAlt(_localctx, 5); + { + State = 513; + methodDecl(); + State = 515; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==CATCH || _la==FINALLY) { + { + State = 514; + catchBlocks(); + } + } + + } + break; + case 6: + _localctx = new MemIdxContext(_localctx); + EnterOuterAlt(_localctx, 6); + { + State = 517; + indexerMemberDecl(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ClassDeclContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ModifiersContext modifiers() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ClassTypeContext classType() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACE() { return GetToken(KScrParser.LBRACE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACE() { return GetToken(KScrParser.RBRACE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public AnnotationContext[] annotation() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AnnotationContext annotation(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public GenericTypeDefsContext genericTypeDefs() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ObjectExtendsContext objectExtends() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ObjectImplementsContext objectImplements() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public MemberContext[] member() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public MemberContext member(int i) { + return GetRuleContext(i); + } + public ClassDeclContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_classDecl; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterClassDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitClassDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitClassDecl(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ClassDeclContext classDecl() { + ClassDeclContext _localctx = new ClassDeclContext(Context, State); + EnterRule(_localctx, 78, RULE_classDecl); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 523; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==AT) { + { + { + State = 520; + annotation(); + } + } + State = 525; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 526; + modifiers(); + State = 527; + classType(); + State = 528; + idPart(); + State = 530; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==LESSER) { + { + State = 529; + genericTypeDefs(); + } + } + + State = 533; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==EXTENDS) { + { + State = 532; + objectExtends(); + } + } + + State = 536; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==IMPLEMENTS) { + { + State = 535; + objectImplements(); + } + } + + State = 547; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case LBRACE: + { + State = 538; + Match(LBRACE); + State = 542; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << PUBLIC) | (1L << INTERNAL) | (1L << PROTECTED) | (1L << PRIVATE) | (1L << STATIC) | (1L << FINAL) | (1L << ABSTRACT) | (1L << NATIVE) | (1L << SYNCHRONIZED) | (1L << CLASS) | (1L << INTERFACE) | (1L << ENUM) | (1L << ANNOTATION) | (1L << OBJECT) | (1L << ARRAYIDENT) | (1L << TUPLEIDENT) | (1L << TYPE) | (1L << NUMIDENT) | (1L << BYTE) | (1L << SHORT) | (1L << INT) | (1L << LONG) | (1L << FLOAT) | (1L << DOUBLE) | (1L << VOID))) != 0) || ((((_la - 93)) & ~0x3f) == 0 && ((1L << (_la - 93)) & ((1L << (AT - 93)) | (1L << (LESSER - 93)) | (1L << (ID - 93)))) != 0)) { + { + { + State = 539; + member(); + } + } + State = 544; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 545; + Match(RBRACE); + } + break; + case SEMICOLON: + { + State = 546; + Match(SEMICOLON); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class FileContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public PackageDeclContext packageDecl() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ImportsContext imports() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode Eof() { return GetToken(KScrParser.Eof, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ClassDeclContext[] classDecl() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ClassDeclContext classDecl(int i) { + return GetRuleContext(i); + } + public FileContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_file; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterFile(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitFile(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitFile(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public FileContext file() { + FileContext _localctx = new FileContext(Context, State); + EnterRule(_localctx, 80, RULE_file); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 549; + packageDecl(); + State = 550; + imports(); + State = 554; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << PUBLIC) | (1L << INTERNAL) | (1L << PROTECTED) | (1L << PRIVATE) | (1L << STATIC) | (1L << FINAL) | (1L << ABSTRACT) | (1L << NATIVE) | (1L << SYNCHRONIZED) | (1L << CLASS) | (1L << INTERFACE) | (1L << ENUM) | (1L << ANNOTATION))) != 0) || _la==AT) { + { + { + State = 551; + classDecl(); + } + } + State = 556; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 557; + Match(Eof); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class InferTypeContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VOID() { return GetToken(KScrParser.VOID, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VAR() { return GetToken(KScrParser.VAR, 0); } + public InferTypeContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_inferType; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterInferType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitInferType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitInferType(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public InferTypeContext inferType() { + InferTypeContext _localctx = new InferTypeContext(Context, State); + EnterRule(_localctx, 82, RULE_inferType); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 559; + _la = TokenStream.LA(1); + if ( !(_la==VOID || _la==VAR) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class IndexerEmptyContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LSQUAR() { return GetToken(KScrParser.LSQUAR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RSQUAR() { return GetToken(KScrParser.RSQUAR, 0); } + public IndexerEmptyContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_indexerEmpty; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterIndexerEmpty(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitIndexerEmpty(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitIndexerEmpty(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public IndexerEmptyContext indexerEmpty() { + IndexerEmptyContext _localctx = new IndexerEmptyContext(Context, State); + EnterRule(_localctx, 84, RULE_indexerEmpty); + try { + EnterOuterAlt(_localctx, 1); + { + State = 561; + Match(LSQUAR); + State = 562; + Match(RSQUAR); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class IndexerDeclContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LSQUAR() { return GetToken(KScrParser.LSQUAR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext[] type() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext[] idPart() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RSQUAR() { return GetToken(KScrParser.RSQUAR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public IndexerDeclContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_indexerDecl; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterIndexerDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitIndexerDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitIndexerDecl(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public IndexerDeclContext indexerDecl() { + IndexerDeclContext _localctx = new IndexerDeclContext(Context, State); + EnterRule(_localctx, 86, RULE_indexerDecl); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 564; + Match(LSQUAR); + State = 565; + type(); + State = 566; + idPart(); + State = 573; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 567; + Match(COMMA); + State = 568; + type(); + State = 569; + idPart(); + } + } + State = 575; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 576; + Match(RSQUAR); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class IndexerExprContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LSQUAR() { return GetToken(KScrParser.LSQUAR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext[] expr() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RSQUAR() { return GetToken(KScrParser.RSQUAR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public IndexerExprContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_indexerExpr; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterIndexerExpr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitIndexerExpr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitIndexerExpr(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public IndexerExprContext indexerExpr() { + IndexerExprContext _localctx = new IndexerExprContext(Context, State); + EnterRule(_localctx, 88, RULE_indexerExpr); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 578; + Match(LSQUAR); + State = 579; + expr(0); + State = 584; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 580; + Match(COMMA); + State = 581; + expr(0); + } + } + State = 586; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 587; + Match(RSQUAR); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class CastContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COLON() { return GetToken(KScrParser.COLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + public CastContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_cast; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCast(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCast(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCast(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public CastContext cast() { + CastContext _localctx = new CastContext(Context, State); + EnterRule(_localctx, 90, RULE_cast); + try { + EnterOuterAlt(_localctx, 1); + { + State = 589; + Match(LPAREN); + State = 590; + type(); + State = 591; + Match(COLON); + State = 592; + expr(0); + State = 593; + Match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class DeclarationContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASSIGN() { return GetToken(KScrParser.ASSIGN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + public DeclarationContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_declaration; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterDeclaration(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitDeclaration(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitDeclaration(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public DeclarationContext declaration() { + DeclarationContext _localctx = new DeclarationContext(Context, State); + EnterRule(_localctx, 92, RULE_declaration); + try { + EnterOuterAlt(_localctx, 1); + { + State = 595; + type(); + State = 596; + idPart(); + State = 599; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,61,Context) ) { + case 1: + { + State = 597; + Match(ASSIGN); + State = 598; + expr(0); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MutationContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASSIGN() { return GetToken(KScrParser.ASSIGN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public BinaryopContext binaryop() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public Binaryop_lateContext binaryop_late() { + return GetRuleContext(0); + } + public MutationContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_mutation; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMutation(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMutation(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMutation(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public MutationContext mutation() { + MutationContext _localctx = new MutationContext(Context, State); + EnterRule(_localctx, 94, RULE_mutation); + try { + EnterOuterAlt(_localctx, 1); + { + State = 603; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case EXCLAMATION: + case QUESTION: + case AND: + case OR: + case BITAND: + case BITOR: + case UP: + case STAR: + case SLASH: + case PERCENT: + case LSHIFT: + case RSHIFT: + case ULSHIFT: + case URSHIFT: + case EQUAL: + case INEQUAL: + case GREATEREQ: + case LESSEREQ: + case GREATER: + case LESSER: + { + State = 601; + binaryop(); + } + break; + case PLUS: + case MINUS: + { + State = 602; + binaryop_late(); + } + break; + case ASSIGN: + break; + default: + break; + } + State = 605; + Match(ASSIGN); + State = 606; + expr(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class CallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgumentsContext arguments() { + return GetRuleContext(0); + } + public CallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_call; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCall(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public CallContext call() { + CallContext _localctx = new CallContext(Context, State); + EnterRule(_localctx, 96, RULE_call); + try { + EnterOuterAlt(_localctx, 1); + { + State = 608; + idPart(); + State = 609; + arguments(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class CtorCallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEW() { return GetToken(KScrParser.NEW, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgumentsContext arguments() { + return GetRuleContext(0); + } + public CtorCallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_ctorCall; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCtorCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCtorCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCtorCall(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public CtorCallContext ctorCall() { + CtorCallContext _localctx = new CtorCallContext(Context, State); + EnterRule(_localctx, 98, RULE_ctorCall); + try { + EnterOuterAlt(_localctx, 1); + { + State = 611; + Match(NEW); + State = 612; + type(); + State = 613; + arguments(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class NewArrayContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEW() { return GetToken(KScrParser.NEW, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public IndexerExprContext indexerExpr() { + return GetRuleContext(0); + } + public NewArrayContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_newArray; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNewArray(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNewArray(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNewArray(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public NewArrayContext newArray() { + NewArrayContext _localctx = new NewArrayContext(Context, State); + EnterRule(_localctx, 100, RULE_newArray); + try { + EnterOuterAlt(_localctx, 1); + { + State = 615; + Match(NEW); + State = 616; + type(); + State = 617; + indexerExpr(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class NewListedArrayContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEW() { return GetToken(KScrParser.NEW, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public IndexerEmptyContext indexerEmpty() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACE() { return GetToken(KScrParser.LBRACE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACE() { return GetToken(KScrParser.RBRACE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext[] expr() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public NewListedArrayContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_newListedArray; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNewListedArray(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNewListedArray(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNewListedArray(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public NewListedArrayContext newListedArray() { + NewListedArrayContext _localctx = new NewListedArrayContext(Context, State); + EnterRule(_localctx, 102, RULE_newListedArray); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 619; + Match(NEW); + State = 620; + type(); + State = 621; + indexerEmpty(); + State = 622; + Match(LBRACE); + State = 631; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ENUM) | (1L << ANNOTATION) | (1L << THROW) | (1L << NEW) | (1L << YIELD) | (1L << SWITCH) | (1L << OBJECT) | (1L << ARRAYIDENT) | (1L << TUPLEIDENT) | (1L << TYPE) | (1L << NUMIDENT) | (1L << BYTE) | (1L << SHORT) | (1L << INT) | (1L << LONG) | (1L << FLOAT) | (1L << DOUBLE) | (1L << VOID) | (1L << NUMLIT) | (1L << STRLIT) | (1L << STDIOLIT) | (1L << ENDLLIT) | (1L << NULL) | (1L << TRUE) | (1L << FALSE) | (1L << THIS) | (1L << SUPER))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (LPAREN - 64)) | (1L << (EXCLAMATION - 64)) | (1L << (PLUSPLUS - 64)) | (1L << (MINUSMINUS - 64)) | (1L << (MINUS - 64)) | (1L << (ID - 64)))) != 0)) { + { + State = 623; + expr(0); + State = 628; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 624; + Match(COMMA); + State = 625; + expr(0); + } + } + State = 630; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + + State = 633; + Match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class LabelContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COLON() { return GetToken(KScrParser.COLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(KScrParser.WS, 0); } + public LabelContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_label; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterLabel(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitLabel(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitLabel(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public LabelContext label() { + LabelContext _localctx = new LabelContext(Context, State); + EnterRule(_localctx, 104, RULE_label); + try { + EnterOuterAlt(_localctx, 1); + { + State = 635; + idPart(); + State = 636; + Match(COLON); + State = 637; + Match(WS); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class LambdaContext : ParserRuleContext { + public LambdaContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_lambda; } } + + public LambdaContext() { } + public virtual void CopyFrom(LambdaContext context) { + base.CopyFrom(context); + } + } + public partial class LambdaExprContext : LambdaContext { + [System.Diagnostics.DebuggerNonUserCode] public TupleExprContext tupleExpr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public LambdaBlockContext lambdaBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public LabelContext label() { + return GetRuleContext(0); + } + public LambdaExprContext(LambdaContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterLambdaExpr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitLambdaExpr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitLambdaExpr(this); + else return visitor.VisitChildren(this); + } + } + public partial class MethodRefContext : LambdaContext { + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COLON() { return GetToken(KScrParser.COLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public LabelContext label() { + return GetRuleContext(0); + } + public MethodRefContext(LambdaContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMethodRef(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMethodRef(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMethodRef(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public LambdaContext lambda() { + LambdaContext _localctx = new LambdaContext(Context, State); + EnterRule(_localctx, 106, RULE_lambda); + int _la; + try { + State = 652; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,67,Context) ) { + case 1: + _localctx = new MethodRefContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 640; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,65,Context) ) { + case 1: + { + State = 639; + label(); + } + break; + } + State = 642; + type(); + State = 643; + Match(COLON); + State = 644; + idPart(); + } + break; + case 2: + _localctx = new LambdaExprContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 647; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==ANNOTATION || _la==ID) { + { + State = 646; + label(); + } + } + + State = 649; + tupleExpr(); + State = 650; + lambdaBlock(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ReturnStatementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RETURN() { return GetToken(KScrParser.RETURN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode YIELD() { return GetToken(KScrParser.YIELD, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + public ReturnStatementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_returnStatement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterReturnStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitReturnStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitReturnStatement(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ReturnStatementContext returnStatement() { + ReturnStatementContext _localctx = new ReturnStatementContext(Context, State); + EnterRule(_localctx, 108, RULE_returnStatement); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 655; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==YIELD) { + { + State = 654; + Match(YIELD); + } + } + + State = 657; + Match(RETURN); + State = 659; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << ENUM) | (1L << ANNOTATION) | (1L << THROW) | (1L << NEW) | (1L << YIELD) | (1L << SWITCH) | (1L << OBJECT) | (1L << ARRAYIDENT) | (1L << TUPLEIDENT) | (1L << TYPE) | (1L << NUMIDENT) | (1L << BYTE) | (1L << SHORT) | (1L << INT) | (1L << LONG) | (1L << FLOAT) | (1L << DOUBLE) | (1L << VOID) | (1L << NUMLIT) | (1L << STRLIT) | (1L << STDIOLIT) | (1L << ENDLLIT) | (1L << NULL) | (1L << TRUE) | (1L << FALSE) | (1L << THIS) | (1L << SUPER))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (LPAREN - 64)) | (1L << (EXCLAMATION - 64)) | (1L << (PLUSPLUS - 64)) | (1L << (MINUSMINUS - 64)) | (1L << (MINUS - 64)) | (1L << (ID - 64)))) != 0)) { + { + State = 658; + expr(0); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ThrowStatementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode THROW() { return GetToken(KScrParser.THROW, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + public ThrowStatementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_throwStatement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterThrowStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitThrowStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitThrowStatement(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ThrowStatementContext throwStatement() { + ThrowStatementContext _localctx = new ThrowStatementContext(Context, State); + EnterRule(_localctx, 110, RULE_throwStatement); + try { + EnterOuterAlt(_localctx, 1); + { + State = 661; + Match(THROW); + State = 662; + expr(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MarkStatementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MARK() { return GetToken(KScrParser.MARK, 0); } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + public MarkStatementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_markStatement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterMarkStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitMarkStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitMarkStatement(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public MarkStatementContext markStatement() { + MarkStatementContext _localctx = new MarkStatementContext(Context, State); + EnterRule(_localctx, 112, RULE_markStatement); + try { + EnterOuterAlt(_localctx, 1); + { + State = 664; + Match(MARK); + State = 665; + idPart(); + State = 666; + Match(SEMICOLON); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class JumpStatementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode JUMP() { return GetToken(KScrParser.JUMP, 0); } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + public JumpStatementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_jumpStatement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterJumpStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitJumpStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitJumpStatement(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public JumpStatementContext jumpStatement() { + JumpStatementContext _localctx = new JumpStatementContext(Context, State); + EnterRule(_localctx, 114, RULE_jumpStatement); + try { + EnterOuterAlt(_localctx, 1); + { + State = 668; + Match(JUMP); + State = 669; + idPart(); + State = 670; + Match(SEMICOLON); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TryCatchStatementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TRY() { return GetToken(KScrParser.TRY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock() { + return GetRuleContext(0); + } + public TryCatchStatementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_tryCatchStatement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTryCatchStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTryCatchStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTryCatchStatement(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public TryCatchStatementContext tryCatchStatement() { + TryCatchStatementContext _localctx = new TryCatchStatementContext(Context, State); + EnterRule(_localctx, 116, RULE_tryCatchStatement); + try { + EnterOuterAlt(_localctx, 1); + { + State = 672; + Match(TRY); + State = 673; + codeBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TryWithResourcesStatementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TRY() { return GetToken(KScrParser.TRY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public DeclarationContext[] declaration() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public DeclarationContext declaration(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public TryWithResourcesStatementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_tryWithResourcesStatement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTryWithResourcesStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTryWithResourcesStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTryWithResourcesStatement(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public TryWithResourcesStatementContext tryWithResourcesStatement() { + TryWithResourcesStatementContext _localctx = new TryWithResourcesStatementContext(Context, State); + EnterRule(_localctx, 118, RULE_tryWithResourcesStatement); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 675; + Match(TRY); + State = 676; + Match(LPAREN); + State = 677; + declaration(); + State = 682; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 678; + Match(COMMA); + State = 679; + declaration(); + } + } + State = 684; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 685; + Match(RPAREN); + State = 686; + codeBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class CatchBlocksContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public FinallyBlockContext finallyBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CatchBlockContext[] catchBlock() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public CatchBlockContext catchBlock(int i) { + return GetRuleContext(i); + } + public CatchBlocksContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_catchBlocks; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCatchBlocks(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCatchBlocks(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCatchBlocks(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public CatchBlocksContext catchBlocks() { + CatchBlocksContext _localctx = new CatchBlocksContext(Context, State); + EnterRule(_localctx, 120, RULE_catchBlocks); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 691; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==CATCH) { + { + { + State = 688; + catchBlock(); + } + } + State = 693; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 694; + finallyBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class CatchBlockContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CATCH() { return GetToken(KScrParser.CATCH, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext[] type() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public CatchBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_catchBlock; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCatchBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCatchBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCatchBlock(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public CatchBlockContext catchBlock() { + CatchBlockContext _localctx = new CatchBlockContext(Context, State); + EnterRule(_localctx, 122, RULE_catchBlock); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 696; + Match(CATCH); + State = 709; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,73,Context) ) { + case 1: + { + State = 697; + Match(LPAREN); + State = 698; + type(); + State = 703; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 699; + Match(COMMA); + State = 700; + type(); + } + } + State = 705; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 706; + idPart(); + State = 707; + Match(RPAREN); + } + break; + } + State = 711; + codeBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class FinallyBlockContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FINALLY() { return GetToken(KScrParser.FINALLY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock() { + return GetRuleContext(0); + } + public FinallyBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_finallyBlock; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterFinallyBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitFinallyBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitFinallyBlock(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public FinallyBlockContext finallyBlock() { + FinallyBlockContext _localctx = new FinallyBlockContext(Context, State); + EnterRule(_localctx, 124, RULE_finallyBlock); + try { + EnterOuterAlt(_localctx, 1); + { + State = 713; + Match(FINALLY); + State = 714; + codeBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class IfStatementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IF() { return GetToken(KScrParser.IF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ElseStatementContext elseStatement() { + return GetRuleContext(0); + } + public IfStatementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_ifStatement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterIfStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitIfStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitIfStatement(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public IfStatementContext ifStatement() { + IfStatementContext _localctx = new IfStatementContext(Context, State); + EnterRule(_localctx, 126, RULE_ifStatement); + try { + EnterOuterAlt(_localctx, 1); + { + State = 716; + Match(IF); + State = 717; + Match(LPAREN); + State = 718; + expr(0); + State = 719; + Match(RPAREN); + State = 720; + codeBlock(); + State = 722; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,74,Context) ) { + case 1: + { + State = 721; + elseStatement(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ElseStatementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ELSE() { return GetToken(KScrParser.ELSE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock() { + return GetRuleContext(0); + } + public ElseStatementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_elseStatement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterElseStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitElseStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitElseStatement(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ElseStatementContext elseStatement() { + ElseStatementContext _localctx = new ElseStatementContext(Context, State); + EnterRule(_localctx, 128, RULE_elseStatement); + try { + EnterOuterAlt(_localctx, 1); + { + State = 724; + Match(ELSE); + State = 725; + codeBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class WhileStatementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WHILE() { return GetToken(KScrParser.WHILE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock() { + return GetRuleContext(0); + } + public WhileStatementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_whileStatement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterWhileStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitWhileStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitWhileStatement(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public WhileStatementContext whileStatement() { + WhileStatementContext _localctx = new WhileStatementContext(Context, State); + EnterRule(_localctx, 130, RULE_whileStatement); + try { + EnterOuterAlt(_localctx, 1); + { + State = 727; + Match(WHILE); + State = 728; + Match(LPAREN); + State = 729; + expr(0); + State = 730; + Match(RPAREN); + State = 731; + codeBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ForStatementContext : ParserRuleContext { + public StatementContext init; + public ExprContext cond; + public ExprContext acc; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FOR() { return GetToken(KScrParser.FOR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public StatementContext statement() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext[] expr() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr(int i) { + return GetRuleContext(i); + } + public ForStatementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_forStatement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterForStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitForStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitForStatement(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ForStatementContext forStatement() { + ForStatementContext _localctx = new ForStatementContext(Context, State); + EnterRule(_localctx, 132, RULE_forStatement); + try { + EnterOuterAlt(_localctx, 1); + { + State = 733; + Match(FOR); + State = 734; + Match(LPAREN); + State = 735; + _localctx.init = statement(); + State = 736; + _localctx.cond = expr(0); + State = 737; + Match(SEMICOLON); + State = 738; + _localctx.acc = expr(0); + State = 739; + Match(RPAREN); + State = 740; + codeBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ForeachStatementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FOREACH() { return GetToken(KScrParser.FOREACH, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COLON() { return GetToken(KScrParser.COLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock() { + return GetRuleContext(0); + } + public ForeachStatementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_foreachStatement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterForeachStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitForeachStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitForeachStatement(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ForeachStatementContext foreachStatement() { + ForeachStatementContext _localctx = new ForeachStatementContext(Context, State); + EnterRule(_localctx, 134, RULE_foreachStatement); + try { + EnterOuterAlt(_localctx, 1); + { + State = 742; + Match(FOREACH); + State = 743; + Match(LPAREN); + State = 744; + idPart(); + State = 745; + Match(COLON); + State = 746; + expr(0); + State = 747; + Match(RPAREN); + State = 748; + codeBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class DoWhileContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DO() { return GetToken(KScrParser.DO, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WHILE() { return GetToken(KScrParser.WHILE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + public DoWhileContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_doWhile; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterDoWhile(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitDoWhile(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitDoWhile(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public DoWhileContext doWhile() { + DoWhileContext _localctx = new DoWhileContext(Context, State); + EnterRule(_localctx, 136, RULE_doWhile); + try { + EnterOuterAlt(_localctx, 1); + { + State = 750; + Match(DO); + State = 751; + codeBlock(); + State = 752; + Match(WHILE); + State = 753; + Match(LPAREN); + State = 754; + expr(0); + State = 755; + Match(RPAREN); + State = 756; + Match(SEMICOLON); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SwitchStatementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SWITCH() { return GetToken(KScrParser.SWITCH, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TupleExprContext tupleExpr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACE() { return GetToken(KScrParser.LBRACE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACE() { return GetToken(KScrParser.RBRACE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CaseClauseContext[] caseClause() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public CaseClauseContext caseClause(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public DefaultClauseContext defaultClause() { + return GetRuleContext(0); + } + public SwitchStatementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_switchStatement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterSwitchStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitSwitchStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitSwitchStatement(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public SwitchStatementContext switchStatement() { + SwitchStatementContext _localctx = new SwitchStatementContext(Context, State); + EnterRule(_localctx, 138, RULE_switchStatement); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 758; + Match(SWITCH); + State = 759; + tupleExpr(); + State = 760; + Match(LBRACE); + State = 764; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==CASE) { + { + { + State = 761; + caseClause(); + } + } + State = 766; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 768; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==DEFAULT) { + { + State = 767; + defaultClause(); + } + } + + State = 770; + Match(RBRACE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class CaseClauseContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CASE() { return GetToken(KScrParser.CASE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TupleExprContext tupleExpr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CaseBlockContext caseBlock() { + return GetRuleContext(0); + } + public CaseClauseContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_caseClause; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCaseClause(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCaseClause(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCaseClause(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public CaseClauseContext caseClause() { + CaseClauseContext _localctx = new CaseClauseContext(Context, State); + EnterRule(_localctx, 140, RULE_caseClause); + try { + EnterOuterAlt(_localctx, 1); + { + State = 772; + Match(CASE); + State = 773; + tupleExpr(); + State = 774; + caseBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class DefaultClauseContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFAULT() { return GetToken(KScrParser.DEFAULT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CaseBlockContext caseBlock() { + return GetRuleContext(0); + } + public DefaultClauseContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_defaultClause; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterDefaultClause(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitDefaultClause(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitDefaultClause(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public DefaultClauseContext defaultClause() { + DefaultClauseContext _localctx = new DefaultClauseContext(Context, State); + EnterRule(_localctx, 142, RULE_defaultClause); + try { + EnterOuterAlt(_localctx, 1); + { + State = 776; + Match(DEFAULT); + State = 777; + caseBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class StatementContext : ParserRuleContext { + public StatementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_statement; } } + + public StatementContext() { } + public virtual void CopyFrom(StatementContext context) { + base.CopyFrom(context); + } + } + public partial class StmtForeachContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public ForeachStatementContext foreachStatement() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CatchBlocksContext catchBlocks() { + return GetRuleContext(0); + } + public StmtForeachContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtForeach(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtForeach(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtForeach(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtTryWithResContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public TryWithResourcesStatementContext tryWithResourcesStatement() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CatchBlocksContext catchBlocks() { + return GetRuleContext(0); + } + public StmtTryWithResContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtTryWithRes(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtTryWithRes(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtTryWithRes(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtDoWhileContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public DoWhileContext doWhile() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CatchBlocksContext catchBlocks() { + return GetRuleContext(0); + } + public StmtDoWhileContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtDoWhile(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtDoWhile(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtDoWhile(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtPipeListenContext : StatementContext { + public ExprContext pipe; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] RREQARROW() { return GetTokens(KScrParser.RREQARROW); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RREQARROW(int i) { + return GetToken(KScrParser.RREQARROW, i); + } + [System.Diagnostics.DebuggerNonUserCode] public LambdaContext[] lambda() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public LambdaContext lambda(int i) { + return GetRuleContext(i); + } + public StmtPipeListenContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtPipeListen(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtPipeListen(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtPipeListen(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtThrowContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public ThrowStatementContext throwStatement() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + public StmtThrowContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtThrow(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtThrow(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtThrow(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtSwitchContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public SwitchStatementContext switchStatement() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CatchBlocksContext catchBlocks() { + return GetRuleContext(0); + } + public StmtSwitchContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtSwitch(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtSwitch(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtSwitch(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtCallMemberContext : StatementContext { + public ExprContext left; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOT() { return GetToken(KScrParser.DOT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgumentsContext arguments() { + return GetRuleContext(0); + } + public StmtCallMemberContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtCallMember(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtCallMember(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtCallMember(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtWhileContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public WhileStatementContext whileStatement() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CatchBlocksContext catchBlocks() { + return GetRuleContext(0); + } + public StmtWhileContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtWhile(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtWhile(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtWhile(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtDeclareContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public DeclarationContext declaration() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + public StmtDeclareContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtDeclare(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtDeclare(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtDeclare(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtMarkContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public MarkStatementContext markStatement() { + return GetRuleContext(0); + } + public StmtMarkContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtMark(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtMark(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtMark(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtForContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public ForStatementContext forStatement() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CatchBlocksContext catchBlocks() { + return GetRuleContext(0); + } + public StmtForContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtFor(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtFor(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtFor(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtJumpContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public JumpStatementContext jumpStatement() { + return GetRuleContext(0); + } + public StmtJumpContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtJump(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtJump(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtJump(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtIfContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public IfStatementContext ifStatement() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CatchBlocksContext catchBlocks() { + return GetRuleContext(0); + } + public StmtIfContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtIf(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtIf(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtIf(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtPipeReadContext : StatementContext { + public ExprContext pipe; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext[] expr() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] RRDASHARROW() { return GetTokens(KScrParser.RRDASHARROW); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RRDASHARROW(int i) { + return GetToken(KScrParser.RRDASHARROW, i); + } + public StmtPipeReadContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtPipeRead(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtPipeRead(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtPipeRead(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtPipeWriteContext : StatementContext { + public ExprContext pipe; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext[] expr() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] LLDASHARROW() { return GetTokens(KScrParser.LLDASHARROW); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LLDASHARROW(int i) { + return GetToken(KScrParser.LLDASHARROW, i); + } + public StmtPipeWriteContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtPipeWrite(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtPipeWrite(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtPipeWrite(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtEmptyContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + public StmtEmptyContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtEmpty(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtEmpty(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtEmpty(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtReturnContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public ReturnStatementContext returnStatement() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + public StmtReturnContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtReturn(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtReturn(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtReturn(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtAssignContext : StatementContext { + public ExprContext left; + [System.Diagnostics.DebuggerNonUserCode] public MutationContext mutation() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(KScrParser.SEMICOLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + public StmtAssignContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtAssign(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtAssign(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtAssign(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtAssignTupleContext : StatementContext { + public TupleExprContext left; + public TupleExprContext right; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASSIGN() { return GetToken(KScrParser.ASSIGN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TupleExprContext[] tupleExpr() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public TupleExprContext tupleExpr(int i) { + return GetRuleContext(i); + } + public StmtAssignTupleContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtAssignTuple(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtAssignTuple(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtAssignTuple(this); + else return visitor.VisitChildren(this); + } + } + public partial class StmtTryCatchContext : StatementContext { + [System.Diagnostics.DebuggerNonUserCode] public TryCatchStatementContext tryCatchStatement() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CatchBlocksContext catchBlocks() { + return GetRuleContext(0); + } + public StmtTryCatchContext(StatementContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterStmtTryCatch(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitStmtTryCatch(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitStmtTryCatch(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public StatementContext statement() { + StatementContext _localctx = new StatementContext(Context, State); + EnterRule(_localctx, 144, RULE_statement); + int _la; + try { + State = 864; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,89,Context) ) { + case 1: + _localctx = new StmtDeclareContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 779; + declaration(); + State = 780; + Match(SEMICOLON); + } + break; + case 2: + _localctx = new StmtAssignContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 782; + ((StmtAssignContext)_localctx).left = expr(0); + State = 783; + mutation(); + State = 784; + Match(SEMICOLON); + } + break; + case 3: + _localctx = new StmtAssignTupleContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 786; + ((StmtAssignTupleContext)_localctx).left = tupleExpr(); + State = 787; + Match(ASSIGN); + State = 788; + ((StmtAssignTupleContext)_localctx).right = tupleExpr(); + } + break; + case 4: + _localctx = new StmtCallMemberContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 790; + ((StmtCallMemberContext)_localctx).left = expr(0); + State = 791; + Match(DOT); + State = 792; + idPart(); + State = 794; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,77,Context) ) { + case 1: + { + State = 793; + arguments(); + } + break; + } + } + break; + case 5: + _localctx = new StmtReturnContext(_localctx); + EnterOuterAlt(_localctx, 5); + { + State = 796; + returnStatement(); + State = 797; + Match(SEMICOLON); + } + break; + case 6: + _localctx = new StmtThrowContext(_localctx); + EnterOuterAlt(_localctx, 6); + { + State = 799; + throwStatement(); + State = 800; + Match(SEMICOLON); + } + break; + case 7: + _localctx = new StmtMarkContext(_localctx); + EnterOuterAlt(_localctx, 7); + { + State = 802; + markStatement(); + } + break; + case 8: + _localctx = new StmtJumpContext(_localctx); + EnterOuterAlt(_localctx, 8); + { + State = 803; + jumpStatement(); + } + break; + case 9: + _localctx = new StmtTryCatchContext(_localctx); + EnterOuterAlt(_localctx, 9); + { + State = 804; + tryCatchStatement(); + State = 806; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,78,Context) ) { + case 1: + { + State = 805; + catchBlocks(); + } + break; + } + } + break; + case 10: + _localctx = new StmtTryWithResContext(_localctx); + EnterOuterAlt(_localctx, 10); + { + State = 808; + tryWithResourcesStatement(); + State = 810; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,79,Context) ) { + case 1: + { + State = 809; + catchBlocks(); + } + break; + } + } + break; + case 11: + _localctx = new StmtIfContext(_localctx); + EnterOuterAlt(_localctx, 11); + { + State = 812; + ifStatement(); + State = 814; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,80,Context) ) { + case 1: + { + State = 813; + catchBlocks(); + } + break; + } + } + break; + case 12: + _localctx = new StmtWhileContext(_localctx); + EnterOuterAlt(_localctx, 12); + { + State = 816; + whileStatement(); + State = 818; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,81,Context) ) { + case 1: + { + State = 817; + catchBlocks(); + } + break; + } + } + break; + case 13: + _localctx = new StmtDoWhileContext(_localctx); + EnterOuterAlt(_localctx, 13); + { + State = 820; + doWhile(); + State = 822; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,82,Context) ) { + case 1: + { + State = 821; + catchBlocks(); + } + break; + } + } + break; + case 14: + _localctx = new StmtForContext(_localctx); + EnterOuterAlt(_localctx, 14); + { + State = 824; + forStatement(); + State = 826; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,83,Context) ) { + case 1: + { + State = 825; + catchBlocks(); + } + break; + } + } + break; + case 15: + _localctx = new StmtForeachContext(_localctx); + EnterOuterAlt(_localctx, 15); + { + State = 828; + foreachStatement(); + State = 830; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,84,Context) ) { + case 1: + { + State = 829; + catchBlocks(); + } + break; + } + } + break; + case 16: + _localctx = new StmtSwitchContext(_localctx); + EnterOuterAlt(_localctx, 16); + { + State = 832; + switchStatement(); + State = 834; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,85,Context) ) { + case 1: + { + State = 833; + catchBlocks(); + } + break; + } + } + break; + case 17: + _localctx = new StmtPipeListenContext(_localctx); + EnterOuterAlt(_localctx, 17); + { + State = 836; + ((StmtPipeListenContext)_localctx).pipe = expr(0); + State = 839; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 837; + Match(RREQARROW); + State = 838; + lambda(); + } + } + State = 841; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==RREQARROW ); + State = 843; + Match(SEMICOLON); + } + break; + case 18: + _localctx = new StmtPipeReadContext(_localctx); + EnterOuterAlt(_localctx, 18); + { + State = 845; + ((StmtPipeReadContext)_localctx).pipe = expr(0); + State = 848; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 846; + Match(RRDASHARROW); + State = 847; + expr(0); + } + } + State = 850; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==RRDASHARROW ); + State = 852; + Match(SEMICOLON); + } + break; + case 19: + _localctx = new StmtPipeWriteContext(_localctx); + EnterOuterAlt(_localctx, 19); + { + State = 854; + ((StmtPipeWriteContext)_localctx).pipe = expr(0); + State = 857; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 855; + Match(LLDASHARROW); + State = 856; + expr(0); + } + } + State = 859; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==LLDASHARROW ); + State = 861; + Match(SEMICOLON); + } + break; + case 20: + _localctx = new StmtEmptyContext(_localctx); + EnterOuterAlt(_localctx, 20); + { + State = 863; + Match(SEMICOLON); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TypedExprContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + public TypedExprContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_typedExpr; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTypedExpr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTypedExpr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTypedExpr(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public TypedExprContext typedExpr() { + TypedExprContext _localctx = new TypedExprContext(Context, State); + EnterRule(_localctx, 146, RULE_typedExpr); + try { + EnterOuterAlt(_localctx, 1); + { + State = 867; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,90,Context) ) { + case 1: + { + State = 866; + type(); + } + break; + } + State = 869; + expr(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ExprContext : ParserRuleContext { + public ExprContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_expr; } } + + public ExprContext() { } + public virtual void CopyFrom(ExprContext context) { + base.CopyFrom(context); + } + } + public partial class ParensContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + public ParensContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterParens(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitParens(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitParens(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpPostfixContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public PostfixopContext postfixop() { + return GetRuleContext(0); + } + public OpPostfixContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpPostfix(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpPostfix(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpPostfix(this); + else return visitor.VisitChildren(this); + } + } + public partial class ExprCallMemberContext : ExprContext { + public ExprContext left; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOT() { return GetToken(KScrParser.DOT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgumentsContext arguments() { + return GetRuleContext(0); + } + public ExprCallMemberContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterExprCallMember(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitExprCallMember(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitExprCallMember(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpPrefixContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public PrefixopContext prefixop() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + public OpPrefixContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpPrefix(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpPrefix(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpPrefix(this); + else return visitor.VisitChildren(this); + } + } + public partial class ReadIndexerContext : ExprContext { + public ExprContext target; + [System.Diagnostics.DebuggerNonUserCode] public IndexerExprContext indexerExpr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + public ReadIndexerContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterReadIndexer(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitReadIndexer(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitReadIndexer(this); + else return visitor.VisitChildren(this); + } + } + public partial class NewListedArrayValueContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public NewListedArrayContext newListedArray() { + return GetRuleContext(0); + } + public NewListedArrayValueContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNewListedArrayValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNewListedArrayValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNewListedArrayValue(this); + else return visitor.VisitChildren(this); + } + } + public partial class ExprLambdaContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public LambdaContext lambda() { + return GetRuleContext(0); + } + public ExprLambdaContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterExprLambda(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitExprLambda(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitExprLambda(this); + else return visitor.VisitChildren(this); + } + } + public partial class CheckInstanceofContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IS() { return GetToken(KScrParser.IS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + public CheckInstanceofContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCheckInstanceof(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCheckInstanceof(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCheckInstanceof(this); + else return visitor.VisitChildren(this); + } + } + public partial class ExprCastContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public CastContext cast() { + return GetRuleContext(0); + } + public ExprCastContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterExprCast(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitExprCast(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitExprCast(this); + else return visitor.VisitChildren(this); + } + } + public partial class YieldExprContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode YIELD() { return GetToken(KScrParser.YIELD, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + public YieldExprContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterYieldExpr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitYieldExpr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitYieldExpr(this); + else return visitor.VisitChildren(this); + } + } + public partial class RangeInvocContext : ExprContext { + public ExprContext left; + public ExprContext right; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SHORTELIPSES() { return GetToken(KScrParser.SHORTELIPSES, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext[] expr() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr(int i) { + return GetRuleContext(i); + } + public RangeInvocContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterRangeInvoc(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitRangeInvoc(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitRangeInvoc(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpBinaryLateContext : ExprContext { + public ExprContext left; + public ExprContext right; + [System.Diagnostics.DebuggerNonUserCode] public Binaryop_lateContext binaryop_late() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext[] expr() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr(int i) { + return GetRuleContext(i); + } + public OpBinaryLateContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpBinaryLate(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpBinaryLate(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpBinaryLate(this); + else return visitor.VisitChildren(this); + } + } + public partial class NativeLitValueContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public PrimitiveLitContext primitiveLit() { + return GetRuleContext(0); + } + public NativeLitValueContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNativeLitValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNativeLitValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNativeLitValue(this); + else return visitor.VisitChildren(this); + } + } + public partial class ExprPipeListenContext : ExprContext { + public ExprContext pipe; + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] RREQARROW() { return GetTokens(KScrParser.RREQARROW); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RREQARROW(int i) { + return GetToken(KScrParser.RREQARROW, i); + } + [System.Diagnostics.DebuggerNonUserCode] public LambdaContext[] lambda() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public LambdaContext lambda(int i) { + return GetRuleContext(i); + } + public ExprPipeListenContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterExprPipeListen(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitExprPipeListen(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitExprPipeListen(this); + else return visitor.VisitChildren(this); + } + } + public partial class ExprThrowContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public ThrowStatementContext throwStatement() { + return GetRuleContext(0); + } + public ExprThrowContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterExprThrow(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitExprThrow(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitExprThrow(this); + else return visitor.VisitChildren(this); + } + } + public partial class VarAssignContext : ExprContext { + public ExprContext left; + [System.Diagnostics.DebuggerNonUserCode] public MutationContext mutation() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr() { + return GetRuleContext(0); + } + public VarAssignContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterVarAssign(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitVarAssign(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitVarAssign(this); + else return visitor.VisitChildren(this); + } + } + public partial class NewArrayValueContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public NewArrayContext newArray() { + return GetRuleContext(0); + } + public NewArrayValueContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNewArrayValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNewArrayValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNewArrayValue(this); + else return visitor.VisitChildren(this); + } + } + public partial class ExprSwitchContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public SwitchStatementContext switchStatement() { + return GetRuleContext(0); + } + public ExprSwitchContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterExprSwitch(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitExprSwitch(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitExprSwitch(this); + else return visitor.VisitChildren(this); + } + } + public partial class VarValueContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + public VarValueContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterVarValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitVarValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitVarValue(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpBinaryContext : ExprContext { + public ExprContext left; + public ExprContext right; + [System.Diagnostics.DebuggerNonUserCode] public BinaryopContext binaryop() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext[] expr() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr(int i) { + return GetRuleContext(i); + } + public OpBinaryContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpBinary(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpBinary(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpBinary(this); + else return visitor.VisitChildren(this); + } + } + public partial class VarDeclareContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public DeclarationContext declaration() { + return GetRuleContext(0); + } + public VarDeclareContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterVarDeclare(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitVarDeclare(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitVarDeclare(this); + else return visitor.VisitChildren(this); + } + } + public partial class ExprTupleContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public TupleExprContext tupleExpr() { + return GetRuleContext(0); + } + public ExprTupleContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterExprTuple(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitExprTuple(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitExprTuple(this); + else return visitor.VisitChildren(this); + } + } + public partial class TypeValueContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + public TypeValueContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTypeValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTypeValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTypeValue(this); + else return visitor.VisitChildren(this); + } + } + public partial class CallCtorContext : ExprContext { + [System.Diagnostics.DebuggerNonUserCode] public CtorCallContext ctorCall() { + return GetRuleContext(0); + } + public CallCtorContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterCallCtor(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitCallCtor(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitCallCtor(this); + else return visitor.VisitChildren(this); + } + } + public partial class TernaryContext : ExprContext { + public ExprContext cond; + public ExprContext left; + public ExprContext right; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode QUESTION() { return GetToken(KScrParser.QUESTION, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COLON() { return GetToken(KScrParser.COLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext[] expr() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ExprContext expr(int i) { + return GetRuleContext(i); + } + public TernaryContext(ExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTernary(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTernary(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTernary(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ExprContext expr() { + return expr(0); + } + + private ExprContext expr(int _p) { + ParserRuleContext _parentctx = Context; + int _parentState = State; + ExprContext _localctx = new ExprContext(Context, _parentState); + ExprContext _prevctx = _localctx; + int _startState = 148; + EnterRecursionRule(_localctx, 148, RULE_expr, _p); + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 893; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,91,Context) ) { + case 1: + { + _localctx = new VarValueContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + + State = 872; + idPart(); + } + break; + case 2: + { + _localctx = new OpPrefixContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 873; + prefixop(); + State = 874; + expr(24); + } + break; + case 3: + { + _localctx = new YieldExprContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 876; + Match(YIELD); + State = 877; + expr(20); + } + break; + case 4: + { + _localctx = new ParensContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 878; + Match(LPAREN); + State = 879; + expr(0); + State = 880; + Match(RPAREN); + } + break; + case 5: + { + _localctx = new ExprCastContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 882; + cast(); + } + break; + case 6: + { + _localctx = new NewArrayValueContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 883; + newArray(); + } + break; + case 7: + { + _localctx = new NewListedArrayValueContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 884; + newListedArray(); + } + break; + case 8: + { + _localctx = new NativeLitValueContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 885; + primitiveLit(); + } + break; + case 9: + { + _localctx = new TypeValueContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 886; + type(); + } + break; + case 10: + { + _localctx = new ExprLambdaContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 887; + lambda(); + } + break; + case 11: + { + _localctx = new VarDeclareContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 888; + declaration(); + } + break; + case 12: + { + _localctx = new CallCtorContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 889; + ctorCall(); + } + break; + case 13: + { + _localctx = new ExprThrowContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 890; + throwStatement(); + } + break; + case 14: + { + _localctx = new ExprSwitchContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 891; + switchStatement(); + } + break; + case 15: + { + _localctx = new ExprTupleContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 892; + tupleExpr(); + } + break; + } + Context.Stop = TokenStream.LT(-1); + State = 939; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,96,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( ParseListeners!=null ) + TriggerExitRuleEvent(); + _prevctx = _localctx; + { + State = 937; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,95,Context) ) { + case 1: + { + _localctx = new OpBinaryContext(new ExprContext(_parentctx, _parentState)); + ((OpBinaryContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_expr); + State = 895; + if (!(Precpred(Context, 23))) throw new FailedPredicateException(this, "Precpred(Context, 23)"); + State = 896; + binaryop(); + State = 897; + ((OpBinaryContext)_localctx).right = expr(24); + } + break; + case 2: + { + _localctx = new TernaryContext(new ExprContext(_parentctx, _parentState)); + ((TernaryContext)_localctx).cond = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_expr); + State = 899; + if (!(Precpred(Context, 17))) throw new FailedPredicateException(this, "Precpred(Context, 17)"); + State = 900; + Match(QUESTION); + State = 901; + ((TernaryContext)_localctx).left = expr(0); + State = 902; + Match(COLON); + State = 903; + ((TernaryContext)_localctx).right = expr(18); + } + break; + case 3: + { + _localctx = new RangeInvocContext(new ExprContext(_parentctx, _parentState)); + ((RangeInvocContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_expr); + State = 905; + if (!(Precpred(Context, 4))) throw new FailedPredicateException(this, "Precpred(Context, 4)"); + State = 906; + Match(SHORTELIPSES); + State = 907; + ((RangeInvocContext)_localctx).right = expr(5); + } + break; + case 4: + { + _localctx = new OpBinaryLateContext(new ExprContext(_parentctx, _parentState)); + ((OpBinaryLateContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_expr); + State = 908; + if (!(Precpred(Context, 1))) throw new FailedPredicateException(this, "Precpred(Context, 1)"); + State = 909; + binaryop_late(); + State = 910; + ((OpBinaryLateContext)_localctx).right = expr(2); + } + break; + case 5: + { + _localctx = new OpPostfixContext(new ExprContext(_parentctx, _parentState)); + PushNewRecursionContext(_localctx, _startState, RULE_expr); + State = 912; + if (!(Precpred(Context, 22))) throw new FailedPredicateException(this, "Precpred(Context, 22)"); + State = 913; + postfixop(); + } + break; + case 6: + { + _localctx = new CheckInstanceofContext(new ExprContext(_parentctx, _parentState)); + PushNewRecursionContext(_localctx, _startState, RULE_expr); + State = 914; + if (!(Precpred(Context, 21))) throw new FailedPredicateException(this, "Precpred(Context, 21)"); + State = 915; + Match(IS); + State = 916; + type(); + State = 918; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,92,Context) ) { + case 1: + { + State = 917; + idPart(); + } + break; + } + } + break; + case 7: + { + _localctx = new ReadIndexerContext(new ExprContext(_parentctx, _parentState)); + ((ReadIndexerContext)_localctx).target = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_expr); + State = 920; + if (!(Precpred(Context, 19))) throw new FailedPredicateException(this, "Precpred(Context, 19)"); + State = 921; + indexerExpr(); + } + break; + case 8: + { + _localctx = new VarAssignContext(new ExprContext(_parentctx, _parentState)); + ((VarAssignContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_expr); + State = 922; + if (!(Precpred(Context, 9))) throw new FailedPredicateException(this, "Precpred(Context, 9)"); + State = 923; + mutation(); + } + break; + case 9: + { + _localctx = new ExprCallMemberContext(new ExprContext(_parentctx, _parentState)); + ((ExprCallMemberContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_expr); + State = 924; + if (!(Precpred(Context, 8))) throw new FailedPredicateException(this, "Precpred(Context, 8)"); + State = 925; + Match(DOT); + State = 926; + idPart(); + State = 928; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,93,Context) ) { + case 1: + { + State = 927; + arguments(); + } + break; + } + } + break; + case 10: + { + _localctx = new ExprPipeListenContext(new ExprContext(_parentctx, _parentState)); + ((ExprPipeListenContext)_localctx).pipe = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_expr); + State = 930; + if (!(Precpred(Context, 3))) throw new FailedPredicateException(this, "Precpred(Context, 3)"); + State = 933; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 931; + Match(RREQARROW); + State = 932; + lambda(); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 935; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,94,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + break; + } + } + } + State = 941; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,96,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + UnrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public partial class TupleDeclTypeContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart() { + return GetRuleContext(0); + } + public TupleDeclTypeContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_tupleDeclType; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTupleDeclType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTupleDeclType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTupleDeclType(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public TupleDeclTypeContext tupleDeclType() { + TupleDeclTypeContext _localctx = new TupleDeclTypeContext(Context, State); + EnterRule(_localctx, 150, RULE_tupleDeclType); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 942; + type(); + State = 944; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==ANNOTATION || _la==ID) { + { + State = 943; + idPart(); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TupleDeclContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TupleDeclTypeContext[] tupleDeclType() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public TupleDeclTypeContext tupleDeclType(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public TupleDeclContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_tupleDecl; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTupleDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTupleDecl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTupleDecl(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public TupleDeclContext tupleDecl() { + TupleDeclContext _localctx = new TupleDeclContext(Context, State); + EnterRule(_localctx, 152, RULE_tupleDecl); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 946; + Match(LPAREN); + State = 947; + tupleDeclType(); + State = 952; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 948; + Match(COMMA); + State = 949; + tupleDeclType(); + } + } + State = 954; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 955; + Match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TupleExprContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(KScrParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypedExprContext[] typedExpr() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public TypedExprContext typedExpr(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(KScrParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(KScrParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(KScrParser.COMMA, i); + } + public TupleExprContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_tupleExpr; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTupleExpr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTupleExpr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTupleExpr(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public TupleExprContext tupleExpr() { + TupleExprContext _localctx = new TupleExprContext(Context, State); + EnterRule(_localctx, 154, RULE_tupleExpr); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 957; + Match(LPAREN); + State = 958; + typedExpr(); + State = 963; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 959; + Match(COMMA); + State = 960; + typedExpr(); + } + } + State = 965; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 966; + Match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class BinaryopContext : ParserRuleContext { + public BinaryopContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_binaryop; } } + + public BinaryopContext() { } + public virtual void CopyFrom(BinaryopContext context) { + base.CopyFrom(context); + } + } + public partial class OpEqualContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQUAL() { return GetToken(KScrParser.EQUAL, 0); } + public OpEqualContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpEqual(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpEqual(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpEqual(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpModulusContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PERCENT() { return GetToken(KScrParser.PERCENT, 0); } + public OpModulusContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpModulus(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpModulus(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpModulus(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpPowContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UP() { return GetToken(KScrParser.UP, 0); } + public OpPowContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpPow(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpPow(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpPow(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpBitOrContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BITOR() { return GetToken(KScrParser.BITOR, 0); } + public OpBitOrContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpBitOr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpBitOr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpBitOr(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpLesserEqContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LESSEREQ() { return GetToken(KScrParser.LESSEREQ, 0); } + public OpLesserEqContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpLesserEq(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpLesserEq(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpLesserEq(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpLogicOrContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OR() { return GetToken(KScrParser.OR, 0); } + public OpLogicOrContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpLogicOr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpLogicOr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpLogicOr(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpBitAndContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BITAND() { return GetToken(KScrParser.BITAND, 0); } + public OpBitAndContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpBitAnd(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpBitAnd(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpBitAnd(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpLogicAndContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode AND() { return GetToken(KScrParser.AND, 0); } + public OpLogicAndContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpLogicAnd(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpLogicAnd(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpLogicAnd(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpURShiftContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode URSHIFT() { return GetToken(KScrParser.URSHIFT, 0); } + public OpURShiftContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpURShift(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpURShift(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpURShift(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpGreaterContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GREATER() { return GetToken(KScrParser.GREATER, 0); } + public OpGreaterContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpGreater(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpGreater(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpGreater(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpLesserContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LESSER() { return GetToken(KScrParser.LESSER, 0); } + public OpLesserContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpLesser(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpLesser(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpLesser(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpLShiftContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LSHIFT() { return GetToken(KScrParser.LSHIFT, 0); } + public OpLShiftContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpLShift(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpLShift(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpLShift(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpGreaterEqContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GREATEREQ() { return GetToken(KScrParser.GREATEREQ, 0); } + public OpGreaterEqContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpGreaterEq(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpGreaterEq(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpGreaterEq(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpRShiftContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RSHIFT() { return GetToken(KScrParser.RSHIFT, 0); } + public OpRShiftContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpRShift(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpRShift(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpRShift(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpNullFallbackContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] QUESTION() { return GetTokens(KScrParser.QUESTION); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode QUESTION(int i) { + return GetToken(KScrParser.QUESTION, i); + } + public OpNullFallbackContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpNullFallback(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpNullFallback(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpNullFallback(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpMultiplyContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STAR() { return GetToken(KScrParser.STAR, 0); } + public OpMultiplyContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpMultiply(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpMultiply(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpMultiply(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpDivideContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SLASH() { return GetToken(KScrParser.SLASH, 0); } + public OpDivideContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpDivide(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpDivide(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpDivide(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpBitNotContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EXCLAMATION() { return GetToken(KScrParser.EXCLAMATION, 0); } + public OpBitNotContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpBitNot(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpBitNot(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpBitNot(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpInequalContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INEQUAL() { return GetToken(KScrParser.INEQUAL, 0); } + public OpInequalContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpInequal(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpInequal(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpInequal(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpULShiftContext : BinaryopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ULSHIFT() { return GetToken(KScrParser.ULSHIFT, 0); } + public OpULShiftContext(BinaryopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpULShift(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpULShift(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpULShift(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public BinaryopContext binaryop() { + BinaryopContext _localctx = new BinaryopContext(Context, State); + EnterRule(_localctx, 156, RULE_binaryop); + try { + State = 989; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case STAR: + _localctx = new OpMultiplyContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 968; + Match(STAR); + } + break; + case SLASH: + _localctx = new OpDivideContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 969; + Match(SLASH); + } + break; + case PERCENT: + _localctx = new OpModulusContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 970; + Match(PERCENT); + } + break; + case BITAND: + _localctx = new OpBitAndContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 971; + Match(BITAND); + } + break; + case BITOR: + _localctx = new OpBitOrContext(_localctx); + EnterOuterAlt(_localctx, 5); + { + State = 972; + Match(BITOR); + } + break; + case EXCLAMATION: + _localctx = new OpBitNotContext(_localctx); + EnterOuterAlt(_localctx, 6); + { + State = 973; + Match(EXCLAMATION); + } + break; + case AND: + _localctx = new OpLogicAndContext(_localctx); + EnterOuterAlt(_localctx, 7); + { + State = 974; + Match(AND); + } + break; + case OR: + _localctx = new OpLogicOrContext(_localctx); + EnterOuterAlt(_localctx, 8); + { + State = 975; + Match(OR); + } + break; + case UP: + _localctx = new OpPowContext(_localctx); + EnterOuterAlt(_localctx, 9); + { + State = 976; + Match(UP); + } + break; + case EQUAL: + _localctx = new OpEqualContext(_localctx); + EnterOuterAlt(_localctx, 10); + { + State = 977; + Match(EQUAL); + } + break; + case INEQUAL: + _localctx = new OpInequalContext(_localctx); + EnterOuterAlt(_localctx, 11); + { + State = 978; + Match(INEQUAL); + } + break; + case GREATEREQ: + _localctx = new OpGreaterEqContext(_localctx); + EnterOuterAlt(_localctx, 12); + { + State = 979; + Match(GREATEREQ); + } + break; + case LESSEREQ: + _localctx = new OpLesserEqContext(_localctx); + EnterOuterAlt(_localctx, 13); + { + State = 980; + Match(LESSEREQ); + } + break; + case GREATER: + _localctx = new OpGreaterContext(_localctx); + EnterOuterAlt(_localctx, 14); + { + State = 981; + Match(GREATER); + } + break; + case LESSER: + _localctx = new OpLesserContext(_localctx); + EnterOuterAlt(_localctx, 15); + { + State = 982; + Match(LESSER); + } + break; + case LSHIFT: + _localctx = new OpLShiftContext(_localctx); + EnterOuterAlt(_localctx, 16); + { + State = 983; + Match(LSHIFT); + } + break; + case RSHIFT: + _localctx = new OpRShiftContext(_localctx); + EnterOuterAlt(_localctx, 17); + { + State = 984; + Match(RSHIFT); + } + break; + case ULSHIFT: + _localctx = new OpULShiftContext(_localctx); + EnterOuterAlt(_localctx, 18); + { + State = 985; + Match(ULSHIFT); + } + break; + case URSHIFT: + _localctx = new OpURShiftContext(_localctx); + EnterOuterAlt(_localctx, 19); + { + State = 986; + Match(URSHIFT); + } + break; + case QUESTION: + _localctx = new OpNullFallbackContext(_localctx); + EnterOuterAlt(_localctx, 20); + { + State = 987; + Match(QUESTION); + State = 988; + Match(QUESTION); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class Binaryop_lateContext : ParserRuleContext { + public Binaryop_lateContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_binaryop_late; } } + + public Binaryop_lateContext() { } + public virtual void CopyFrom(Binaryop_lateContext context) { + base.CopyFrom(context); + } + } + public partial class OpPlusContext : Binaryop_lateContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PLUS() { return GetToken(KScrParser.PLUS, 0); } + public OpPlusContext(Binaryop_lateContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpPlus(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpPlus(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpPlus(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpMinusContext : Binaryop_lateContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MINUS() { return GetToken(KScrParser.MINUS, 0); } + public OpMinusContext(Binaryop_lateContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpMinus(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpMinus(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpMinus(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public Binaryop_lateContext binaryop_late() { + Binaryop_lateContext _localctx = new Binaryop_lateContext(Context, State); + EnterRule(_localctx, 158, RULE_binaryop_late); + try { + State = 993; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case PLUS: + _localctx = new OpPlusContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 991; + Match(PLUS); + } + break; + case MINUS: + _localctx = new OpMinusContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 992; + Match(MINUS); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PrefixopContext : ParserRuleContext { + public PrefixopContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_prefixop; } } + + public PrefixopContext() { } + public virtual void CopyFrom(PrefixopContext context) { + base.CopyFrom(context); + } + } + public partial class OpArithNotContext : PrefixopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MINUS() { return GetToken(KScrParser.MINUS, 0); } + public OpArithNotContext(PrefixopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpArithNot(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpArithNot(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpArithNot(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpIncrReadContext : PrefixopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PLUSPLUS() { return GetToken(KScrParser.PLUSPLUS, 0); } + public OpIncrReadContext(PrefixopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpIncrRead(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpIncrRead(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpIncrRead(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpLogicNotContext : PrefixopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EXCLAMATION() { return GetToken(KScrParser.EXCLAMATION, 0); } + public OpLogicNotContext(PrefixopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpLogicNot(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpLogicNot(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpLogicNot(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpDecrReadContext : PrefixopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MINUSMINUS() { return GetToken(KScrParser.MINUSMINUS, 0); } + public OpDecrReadContext(PrefixopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpDecrRead(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpDecrRead(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpDecrRead(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public PrefixopContext prefixop() { + PrefixopContext _localctx = new PrefixopContext(Context, State); + EnterRule(_localctx, 160, RULE_prefixop); + try { + State = 999; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case MINUS: + _localctx = new OpArithNotContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 995; + Match(MINUS); + } + break; + case EXCLAMATION: + _localctx = new OpLogicNotContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 996; + Match(EXCLAMATION); + } + break; + case PLUSPLUS: + _localctx = new OpIncrReadContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 997; + Match(PLUSPLUS); + } + break; + case MINUSMINUS: + _localctx = new OpDecrReadContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 998; + Match(MINUSMINUS); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PostfixopContext : ParserRuleContext { + public PostfixopContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_postfixop; } } + + public PostfixopContext() { } + public virtual void CopyFrom(PostfixopContext context) { + base.CopyFrom(context); + } + } + public partial class OpReadDecrContext : PostfixopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MINUSMINUS() { return GetToken(KScrParser.MINUSMINUS, 0); } + public OpReadDecrContext(PostfixopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpReadDecr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpReadDecr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpReadDecr(this); + else return visitor.VisitChildren(this); + } + } + public partial class OpReadIncrContext : PostfixopContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PLUSPLUS() { return GetToken(KScrParser.PLUSPLUS, 0); } + public OpReadIncrContext(PostfixopContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterOpReadIncr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitOpReadIncr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitOpReadIncr(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public PostfixopContext postfixop() { + PostfixopContext _localctx = new PostfixopContext(Context, State); + EnterRule(_localctx, 162, RULE_postfixop); + try { + State = 1003; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case PLUSPLUS: + _localctx = new OpReadIncrContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 1001; + Match(PLUSPLUS); + } + break; + case MINUSMINUS: + _localctx = new OpReadDecrContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 1002; + Match(MINUSMINUS); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class IdContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext[] idPart() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public IdPartContext idPart(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] DOT() { return GetTokens(KScrParser.DOT); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOT(int i) { + return GetToken(KScrParser.DOT, i); + } + public IdContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_id; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterId(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitId(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitId(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public IdContext id() { + IdContext _localctx = new IdContext(Context, State); + EnterRule(_localctx, 164, RULE_id); + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1005; + idPart(); + State = 1010; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,104,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 1006; + Match(DOT); + State = 1007; + idPart(); + } + } + } + State = 1012; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,104,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class IdPartContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ID() { return GetToken(KScrParser.ID, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ANNOTATION() { return GetToken(KScrParser.ANNOTATION, 0); } + public IdPartContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_idPart; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterIdPart(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitIdPart(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitIdPart(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public IdPartContext idPart() { + IdPartContext _localctx = new IdPartContext(Context, State); + EnterRule(_localctx, 166, RULE_idPart); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1013; + _la = TokenStream.LA(1); + if ( !(_la==ANNOTATION || _la==ID) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ArrayContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ARRAYIDENT() { return GetToken(KScrParser.ARRAYIDENT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public GenericTypeUsesContext genericTypeUses() { + return GetRuleContext(0); + } + public ArrayContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_array; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterArray(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitArray(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitArray(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ArrayContext array() { + ArrayContext _localctx = new ArrayContext(Context, State); + EnterRule(_localctx, 168, RULE_array); + try { + EnterOuterAlt(_localctx, 1); + { + State = 1015; + Match(ARRAYIDENT); + State = 1017; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,105,Context) ) { + case 1: + { + State = 1016; + genericTypeUses(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TupleContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TUPLEIDENT() { return GetToken(KScrParser.TUPLEIDENT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public GenericTypeUsesContext genericTypeUses() { + return GetRuleContext(0); + } + public TupleContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_tuple; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTuple(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTuple(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTuple(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public TupleContext tuple() { + TupleContext _localctx = new TupleContext(Context, State); + EnterRule(_localctx, 170, RULE_tuple); + try { + EnterOuterAlt(_localctx, 1); + { + State = 1019; + Match(TUPLEIDENT); + State = 1021; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,106,Context) ) { + case 1: + { + State = 1020; + genericTypeUses(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class NumContext : ParserRuleContext { + public NumContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_num; } } + + public NumContext() { } + public virtual void CopyFrom(NumContext context) { + base.CopyFrom(context); + } + } + public partial class NumTypeLitTupleContext : NumContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NUMIDENT() { return GetToken(KScrParser.NUMIDENT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INT() { return GetToken(KScrParser.INT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public GenericTypeUsesContext genericTypeUses() { + return GetRuleContext(0); + } + public NumTypeLitTupleContext(NumContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNumTypeLitTuple(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNumTypeLitTuple(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNumTypeLitTuple(this); + else return visitor.VisitChildren(this); + } + } + public partial class NumTypeLitLongContext : NumContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LONG() { return GetToken(KScrParser.LONG, 0); } + public NumTypeLitLongContext(NumContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNumTypeLitLong(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNumTypeLitLong(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNumTypeLitLong(this); + else return visitor.VisitChildren(this); + } + } + public partial class NumTypeLitDoubleContext : NumContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOUBLE() { return GetToken(KScrParser.DOUBLE, 0); } + public NumTypeLitDoubleContext(NumContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNumTypeLitDouble(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNumTypeLitDouble(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNumTypeLitDouble(this); + else return visitor.VisitChildren(this); + } + } + public partial class NumTypeLitShortContext : NumContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SHORT() { return GetToken(KScrParser.SHORT, 0); } + public NumTypeLitShortContext(NumContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNumTypeLitShort(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNumTypeLitShort(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNumTypeLitShort(this); + else return visitor.VisitChildren(this); + } + } + public partial class NumTypeLitByteContext : NumContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BYTE() { return GetToken(KScrParser.BYTE, 0); } + public NumTypeLitByteContext(NumContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNumTypeLitByte(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNumTypeLitByte(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNumTypeLitByte(this); + else return visitor.VisitChildren(this); + } + } + public partial class NumTypeLitFloatContext : NumContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FLOAT() { return GetToken(KScrParser.FLOAT, 0); } + public NumTypeLitFloatContext(NumContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNumTypeLitFloat(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNumTypeLitFloat(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNumTypeLitFloat(this); + else return visitor.VisitChildren(this); + } + } + public partial class NumTypeLitIntContext : NumContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INT() { return GetToken(KScrParser.INT, 0); } + public NumTypeLitIntContext(NumContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterNumTypeLitInt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitNumTypeLitInt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitNumTypeLitInt(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public NumContext num() { + NumContext _localctx = new NumContext(Context, State); + EnterRule(_localctx, 172, RULE_num); + int _la; + try { + State = 1033; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,108,Context) ) { + case 1: + _localctx = new NumTypeLitTupleContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 1023; + _la = TokenStream.LA(1); + if ( !(_la==NUMIDENT || _la==INT) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 1025; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,107,Context) ) { + case 1: + { + State = 1024; + genericTypeUses(); + } + break; + } + } + break; + case 2: + _localctx = new NumTypeLitByteContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 1027; + Match(BYTE); + } + break; + case 3: + _localctx = new NumTypeLitShortContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 1028; + Match(SHORT); + } + break; + case 4: + _localctx = new NumTypeLitIntContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 1029; + Match(INT); + } + break; + case 5: + _localctx = new NumTypeLitLongContext(_localctx); + EnterOuterAlt(_localctx, 5); + { + State = 1030; + Match(LONG); + } + break; + case 6: + _localctx = new NumTypeLitFloatContext(_localctx); + EnterOuterAlt(_localctx, 6); + { + State = 1031; + Match(FLOAT); + } + break; + case 7: + _localctx = new NumTypeLitDoubleContext(_localctx); + EnterOuterAlt(_localctx, 7); + { + State = 1032; + Match(DOUBLE); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PrimitiveTypeLitContext : ParserRuleContext { + public PrimitiveTypeLitContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_primitiveTypeLit; } } + + public PrimitiveTypeLitContext() { } + public virtual void CopyFrom(PrimitiveTypeLitContext context) { + base.CopyFrom(context); + } + } + public partial class TypeLitVoidContext : PrimitiveTypeLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VOID() { return GetToken(KScrParser.VOID, 0); } + public TypeLitVoidContext(PrimitiveTypeLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTypeLitVoid(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTypeLitVoid(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTypeLitVoid(this); + else return visitor.VisitChildren(this); + } + } + public partial class TypeLitTupleContext : PrimitiveTypeLitContext { + [System.Diagnostics.DebuggerNonUserCode] public TupleContext tuple() { + return GetRuleContext(0); + } + public TypeLitTupleContext(PrimitiveTypeLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTypeLitTuple(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTypeLitTuple(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTypeLitTuple(this); + else return visitor.VisitChildren(this); + } + } + public partial class TypeLitEnumContext : PrimitiveTypeLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ENUM() { return GetToken(KScrParser.ENUM, 0); } + public TypeLitEnumContext(PrimitiveTypeLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTypeLitEnum(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTypeLitEnum(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTypeLitEnum(this); + else return visitor.VisitChildren(this); + } + } + public partial class TypeLitArrayContext : PrimitiveTypeLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ArrayContext array() { + return GetRuleContext(0); + } + public TypeLitArrayContext(PrimitiveTypeLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTypeLitArray(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTypeLitArray(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTypeLitArray(this); + else return visitor.VisitChildren(this); + } + } + public partial class TypeLitTypeContext : PrimitiveTypeLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TYPE() { return GetToken(KScrParser.TYPE, 0); } + public TypeLitTypeContext(PrimitiveTypeLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTypeLitType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTypeLitType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTypeLitType(this); + else return visitor.VisitChildren(this); + } + } + public partial class TypeLitObjectContext : PrimitiveTypeLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OBJECT() { return GetToken(KScrParser.OBJECT, 0); } + public TypeLitObjectContext(PrimitiveTypeLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTypeLitObject(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTypeLitObject(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTypeLitObject(this); + else return visitor.VisitChildren(this); + } + } + public partial class TypeLitNumContext : PrimitiveTypeLitContext { + [System.Diagnostics.DebuggerNonUserCode] public NumContext num() { + return GetRuleContext(0); + } + public TypeLitNumContext(PrimitiveTypeLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterTypeLitNum(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitTypeLitNum(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTypeLitNum(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public PrimitiveTypeLitContext primitiveTypeLit() { + PrimitiveTypeLitContext _localctx = new PrimitiveTypeLitContext(Context, State); + EnterRule(_localctx, 174, RULE_primitiveTypeLit); + try { + State = 1042; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case OBJECT: + _localctx = new TypeLitObjectContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 1035; + Match(OBJECT); + } + break; + case ARRAYIDENT: + _localctx = new TypeLitArrayContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 1036; + array(); + } + break; + case TUPLEIDENT: + _localctx = new TypeLitTupleContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 1037; + tuple(); + } + break; + case NUMIDENT: + case BYTE: + case SHORT: + case INT: + case LONG: + case FLOAT: + case DOUBLE: + _localctx = new TypeLitNumContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 1038; + num(); + } + break; + case TYPE: + _localctx = new TypeLitTypeContext(_localctx); + EnterOuterAlt(_localctx, 5); + { + State = 1039; + Match(TYPE); + } + break; + case ENUM: + _localctx = new TypeLitEnumContext(_localctx); + EnterOuterAlt(_localctx, 6); + { + State = 1040; + Match(ENUM); + } + break; + case VOID: + _localctx = new TypeLitVoidContext(_localctx); + EnterOuterAlt(_localctx, 7); + { + State = 1041; + Match(VOID); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PrimitiveLitContext : ParserRuleContext { + public PrimitiveLitContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_primitiveLit; } } + + public PrimitiveLitContext() { } + public virtual void CopyFrom(PrimitiveLitContext context) { + base.CopyFrom(context); + } + } + public partial class VarLitStrContext : PrimitiveLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRLIT() { return GetToken(KScrParser.STRLIT, 0); } + public VarLitStrContext(PrimitiveLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterVarLitStr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitVarLitStr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitVarLitStr(this); + else return visitor.VisitChildren(this); + } + } + public partial class VarLitStdioContext : PrimitiveLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STDIOLIT() { return GetToken(KScrParser.STDIOLIT, 0); } + public VarLitStdioContext(PrimitiveLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterVarLitStdio(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitVarLitStdio(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitVarLitStdio(this); + else return visitor.VisitChildren(this); + } + } + public partial class VarLitTrueContext : PrimitiveLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TRUE() { return GetToken(KScrParser.TRUE, 0); } + public VarLitTrueContext(PrimitiveLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterVarLitTrue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitVarLitTrue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitVarLitTrue(this); + else return visitor.VisitChildren(this); + } + } + public partial class VarThisContext : PrimitiveLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode THIS() { return GetToken(KScrParser.THIS, 0); } + public VarThisContext(PrimitiveLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterVarThis(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitVarThis(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitVarThis(this); + else return visitor.VisitChildren(this); + } + } + public partial class VarLitNumContext : PrimitiveLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NUMLIT() { return GetToken(KScrParser.NUMLIT, 0); } + public VarLitNumContext(PrimitiveLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterVarLitNum(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitVarLitNum(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitVarLitNum(this); + else return visitor.VisitChildren(this); + } + } + public partial class VarLitEndlContext : PrimitiveLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ENDLLIT() { return GetToken(KScrParser.ENDLLIT, 0); } + public VarLitEndlContext(PrimitiveLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterVarLitEndl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitVarLitEndl(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitVarLitEndl(this); + else return visitor.VisitChildren(this); + } + } + public partial class VarLitFalseContext : PrimitiveLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FALSE() { return GetToken(KScrParser.FALSE, 0); } + public VarLitFalseContext(PrimitiveLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterVarLitFalse(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitVarLitFalse(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitVarLitFalse(this); + else return visitor.VisitChildren(this); + } + } + public partial class VarLitNullContext : PrimitiveLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NULL() { return GetToken(KScrParser.NULL, 0); } + public VarLitNullContext(PrimitiveLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterVarLitNull(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitVarLitNull(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitVarLitNull(this); + else return visitor.VisitChildren(this); + } + } + public partial class VarSuperContext : PrimitiveLitContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SUPER() { return GetToken(KScrParser.SUPER, 0); } + public VarSuperContext(PrimitiveLitContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.EnterVarSuper(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IKScrParserListener typedListener = listener as IKScrParserListener; + if (typedListener != null) typedListener.ExitVarSuper(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IKScrParserVisitor typedVisitor = visitor as IKScrParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitVarSuper(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public PrimitiveLitContext primitiveLit() { + PrimitiveLitContext _localctx = new PrimitiveLitContext(Context, State); + EnterRule(_localctx, 176, RULE_primitiveLit); + try { + State = 1053; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case THIS: + _localctx = new VarThisContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 1044; + Match(THIS); + } + break; + case SUPER: + _localctx = new VarSuperContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 1045; + Match(SUPER); + } + break; + case NUMLIT: + _localctx = new VarLitNumContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 1046; + Match(NUMLIT); + } + break; + case TRUE: + _localctx = new VarLitTrueContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 1047; + Match(TRUE); + } + break; + case FALSE: + _localctx = new VarLitFalseContext(_localctx); + EnterOuterAlt(_localctx, 5); + { + State = 1048; + Match(FALSE); + } + break; + case STRLIT: + _localctx = new VarLitStrContext(_localctx); + EnterOuterAlt(_localctx, 6); + { + State = 1049; + Match(STRLIT); + } + break; + case STDIOLIT: + _localctx = new VarLitStdioContext(_localctx); + EnterOuterAlt(_localctx, 7); + { + State = 1050; + Match(STDIOLIT); + } + break; + case ENDLLIT: + _localctx = new VarLitEndlContext(_localctx); + EnterOuterAlt(_localctx, 8); + { + State = 1051; + Match(ENDLLIT); + } + break; + case NULL: + _localctx = new VarLitNullContext(_localctx); + EnterOuterAlt(_localctx, 9); + { + State = 1052; + Match(NULL); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public override bool Sempred(RuleContext _localctx, int ruleIndex, int predIndex) { + switch (ruleIndex) { + case 74: return expr_sempred((ExprContext)_localctx, predIndex); + } + return true; + } + private bool expr_sempred(ExprContext _localctx, int predIndex) { + switch (predIndex) { + case 0: return Precpred(Context, 23); + case 1: return Precpred(Context, 17); + case 2: return Precpred(Context, 4); + case 3: return Precpred(Context, 1); + case 4: return Precpred(Context, 22); + case 5: return Precpred(Context, 21); + case 6: return Precpred(Context, 19); + case 7: return Precpred(Context, 9); + case 8: return Precpred(Context, 8); + case 9: return Precpred(Context, 3); + } + return true; + } + + private static int[] _serializedATN = { + 4,1,116,1056,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2, + 7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14, + 2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21, + 2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28, + 2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35, + 2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42, + 2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49, + 2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56, + 2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63, + 2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70, + 2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77, + 2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84, + 2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,1,0,1,0,1,0,1,0,1,1,5,1,184,8, + 1,10,1,12,1,187,9,1,1,2,1,2,3,2,191,8,2,1,2,1,2,1,2,3,2,196,8,2,1,2,1, + 2,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,5,4,210,8,4,10,4,12,4,213,9, + 4,1,4,3,4,216,8,4,1,4,3,4,219,8,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5, + 3,5,230,8,5,1,6,5,6,233,8,6,10,6,12,6,236,9,6,1,7,1,7,1,7,1,7,3,7,242, + 8,7,1,8,1,8,1,8,3,8,247,8,8,1,8,1,8,5,8,251,8,8,10,8,12,8,254,9,8,1,8, + 1,8,1,9,1,9,1,9,3,9,261,8,9,1,9,1,9,3,9,265,8,9,1,9,1,9,3,9,269,8,9,3, + 9,271,8,9,1,10,1,10,3,10,275,8,10,1,11,1,11,3,11,279,8,11,1,11,1,11,1, + 11,1,11,3,11,285,8,11,1,11,1,11,1,11,3,11,290,8,11,3,11,292,8,11,1,12, + 1,12,1,12,3,12,297,8,12,1,12,1,12,5,12,301,8,12,10,12,12,12,304,9,12,1, + 12,1,12,1,13,1,13,1,13,1,13,5,13,312,8,13,10,13,12,13,315,9,13,1,14,1, + 14,1,14,1,14,5,14,321,8,14,10,14,12,14,324,9,14,1,15,3,15,327,8,15,1,15, + 1,15,1,15,1,15,3,15,333,8,15,1,16,1,16,1,16,1,16,5,16,339,8,16,10,16,12, + 16,342,9,16,3,16,344,8,16,1,16,1,16,1,17,1,17,1,17,1,17,5,17,352,8,17, + 10,17,12,17,355,9,17,3,17,357,8,17,1,17,1,17,1,18,5,18,362,8,18,10,18, + 12,18,365,9,18,1,19,1,19,1,20,1,20,3,20,371,8,20,1,21,1,21,1,21,1,21,1, + 22,1,22,1,22,1,23,1,23,1,23,3,23,383,8,23,1,24,1,24,1,24,1,24,1,24,1,24, + 1,24,1,24,3,24,393,8,24,1,25,1,25,1,25,1,25,1,25,3,25,400,8,25,1,26,1, + 26,1,26,3,26,405,8,26,1,27,1,27,1,27,1,28,1,28,1,28,1,29,1,29,1,29,1,29, + 5,29,417,8,29,10,29,12,29,420,9,29,1,30,5,30,423,8,30,10,30,12,30,426, + 9,30,1,30,1,30,1,30,1,30,3,30,432,8,30,1,30,1,30,1,31,5,31,437,8,31,10, + 31,12,31,440,9,31,1,31,1,31,3,31,444,8,31,1,31,1,31,1,31,1,31,1,31,1,32, + 5,32,452,8,32,10,32,12,32,455,9,32,1,32,1,32,3,32,459,8,32,1,32,1,32,1, + 32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,1,34,1,35,1,35,1,35,1,36,1,36,1, + 36,1,36,3,36,479,8,36,1,36,3,36,482,8,36,1,36,1,36,1,36,1,36,3,36,488, + 8,36,1,36,3,36,491,8,36,1,37,5,37,494,8,37,10,37,12,37,497,9,37,1,37,1, + 37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,3,38,508,8,38,1,38,1,38,3,38,512, + 8,38,1,38,1,38,3,38,516,8,38,1,38,3,38,519,8,38,1,39,5,39,522,8,39,10, + 39,12,39,525,9,39,1,39,1,39,1,39,1,39,3,39,531,8,39,1,39,3,39,534,8,39, + 1,39,3,39,537,8,39,1,39,1,39,5,39,541,8,39,10,39,12,39,544,9,39,1,39,1, + 39,3,39,548,8,39,1,40,1,40,1,40,5,40,553,8,40,10,40,12,40,556,9,40,1,40, + 1,40,1,41,1,41,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,5,43, + 572,8,43,10,43,12,43,575,9,43,1,43,1,43,1,44,1,44,1,44,1,44,5,44,583,8, + 44,10,44,12,44,586,9,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1, + 46,1,46,1,46,3,46,600,8,46,1,47,1,47,3,47,604,8,47,1,47,1,47,1,47,1,48, + 1,48,1,48,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51, + 1,51,1,51,1,51,5,51,627,8,51,10,51,12,51,630,9,51,3,51,632,8,51,1,51,1, + 51,1,52,1,52,1,52,1,52,1,53,3,53,641,8,53,1,53,1,53,1,53,1,53,1,53,3,53, + 648,8,53,1,53,1,53,1,53,3,53,653,8,53,1,54,3,54,656,8,54,1,54,1,54,3,54, + 660,8,54,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,58,1, + 58,1,58,1,59,1,59,1,59,1,59,1,59,5,59,681,8,59,10,59,12,59,684,9,59,1, + 59,1,59,1,59,1,60,5,60,690,8,60,10,60,12,60,693,9,60,1,60,1,60,1,61,1, + 61,1,61,1,61,1,61,5,61,702,8,61,10,61,12,61,705,9,61,1,61,1,61,1,61,3, + 61,710,8,61,1,61,1,61,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,3,63, + 723,8,63,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,66,1,66,1,66,1, + 66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1,67,1, + 68,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,5,69,763,8,69, + 10,69,12,69,766,9,69,1,69,3,69,769,8,69,1,69,1,69,1,70,1,70,1,70,1,70, + 1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72, + 1,72,1,72,1,72,1,72,3,72,795,8,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1, + 72,1,72,1,72,3,72,807,8,72,1,72,1,72,3,72,811,8,72,1,72,1,72,3,72,815, + 8,72,1,72,1,72,3,72,819,8,72,1,72,1,72,3,72,823,8,72,1,72,1,72,3,72,827, + 8,72,1,72,1,72,3,72,831,8,72,1,72,1,72,3,72,835,8,72,1,72,1,72,1,72,4, + 72,840,8,72,11,72,12,72,841,1,72,1,72,1,72,1,72,1,72,4,72,849,8,72,11, + 72,12,72,850,1,72,1,72,1,72,1,72,1,72,4,72,858,8,72,11,72,12,72,859,1, + 72,1,72,1,72,3,72,865,8,72,1,73,3,73,868,8,73,1,73,1,73,1,74,1,74,1,74, + 1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74, + 1,74,1,74,1,74,1,74,1,74,3,74,894,8,74,1,74,1,74,1,74,1,74,1,74,1,74,1, + 74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1, + 74,1,74,1,74,3,74,919,8,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,3,74, + 929,8,74,1,74,1,74,1,74,4,74,934,8,74,11,74,12,74,935,5,74,938,8,74,10, + 74,12,74,941,9,74,1,75,1,75,3,75,945,8,75,1,76,1,76,1,76,1,76,5,76,951, + 8,76,10,76,12,76,954,9,76,1,76,1,76,1,77,1,77,1,77,1,77,5,77,962,8,77, + 10,77,12,77,965,9,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78, + 1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,3,78, + 990,8,78,1,79,1,79,3,79,994,8,79,1,80,1,80,1,80,1,80,3,80,1000,8,80,1, + 81,1,81,3,81,1004,8,81,1,82,1,82,1,82,5,82,1009,8,82,10,82,12,82,1012, + 9,82,1,83,1,83,1,84,1,84,3,84,1018,8,84,1,85,1,85,3,85,1022,8,85,1,86, + 1,86,3,86,1026,8,86,1,86,1,86,1,86,1,86,1,86,1,86,3,86,1034,8,86,1,87, + 1,87,1,87,1,87,1,87,1,87,1,87,3,87,1043,8,87,1,88,1,88,1,88,1,88,1,88, + 1,88,1,88,1,88,1,88,3,88,1054,8,88,1,88,1,418,1,148,89,0,2,4,6,8,10,12, + 14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60, + 62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106, + 108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142, + 144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,0, + 3,1,0,50,51,2,0,15,15,111,111,2,0,43,43,46,46,1174,0,178,1,0,0,0,2,185, + 1,0,0,0,4,188,1,0,0,0,6,199,1,0,0,0,8,203,1,0,0,0,10,229,1,0,0,0,12,234, + 1,0,0,0,14,241,1,0,0,0,16,243,1,0,0,0,18,270,1,0,0,0,20,274,1,0,0,0,22, + 276,1,0,0,0,24,293,1,0,0,0,26,307,1,0,0,0,28,316,1,0,0,0,30,326,1,0,0, + 0,32,334,1,0,0,0,34,347,1,0,0,0,36,363,1,0,0,0,38,366,1,0,0,0,40,370,1, + 0,0,0,42,372,1,0,0,0,44,376,1,0,0,0,46,379,1,0,0,0,48,392,1,0,0,0,50,399, + 1,0,0,0,52,404,1,0,0,0,54,406,1,0,0,0,56,409,1,0,0,0,58,412,1,0,0,0,60, + 424,1,0,0,0,62,438,1,0,0,0,64,453,1,0,0,0,66,465,1,0,0,0,68,468,1,0,0, + 0,70,471,1,0,0,0,72,490,1,0,0,0,74,495,1,0,0,0,76,518,1,0,0,0,78,523,1, + 0,0,0,80,549,1,0,0,0,82,559,1,0,0,0,84,561,1,0,0,0,86,564,1,0,0,0,88,578, + 1,0,0,0,90,589,1,0,0,0,92,595,1,0,0,0,94,603,1,0,0,0,96,608,1,0,0,0,98, + 611,1,0,0,0,100,615,1,0,0,0,102,619,1,0,0,0,104,635,1,0,0,0,106,652,1, + 0,0,0,108,655,1,0,0,0,110,661,1,0,0,0,112,664,1,0,0,0,114,668,1,0,0,0, + 116,672,1,0,0,0,118,675,1,0,0,0,120,691,1,0,0,0,122,696,1,0,0,0,124,713, + 1,0,0,0,126,716,1,0,0,0,128,724,1,0,0,0,130,727,1,0,0,0,132,733,1,0,0, + 0,134,742,1,0,0,0,136,750,1,0,0,0,138,758,1,0,0,0,140,772,1,0,0,0,142, + 776,1,0,0,0,144,864,1,0,0,0,146,867,1,0,0,0,148,893,1,0,0,0,150,942,1, + 0,0,0,152,946,1,0,0,0,154,957,1,0,0,0,156,989,1,0,0,0,158,993,1,0,0,0, + 160,999,1,0,0,0,162,1003,1,0,0,0,164,1005,1,0,0,0,166,1013,1,0,0,0,168, + 1015,1,0,0,0,170,1019,1,0,0,0,172,1033,1,0,0,0,174,1042,1,0,0,0,176,1053, + 1,0,0,0,178,179,5,1,0,0,179,180,3,164,82,0,180,181,5,71,0,0,181,1,1,0, + 0,0,182,184,3,4,2,0,183,182,1,0,0,0,184,187,1,0,0,0,185,183,1,0,0,0,185, + 186,1,0,0,0,186,3,1,0,0,0,187,185,1,0,0,0,188,190,5,2,0,0,189,191,5,7, + 0,0,190,189,1,0,0,0,190,191,1,0,0,0,191,192,1,0,0,0,192,195,3,164,82,0, + 193,194,5,72,0,0,194,196,5,88,0,0,195,193,1,0,0,0,195,196,1,0,0,0,196, + 197,1,0,0,0,197,198,5,71,0,0,198,5,1,0,0,0,199,200,3,166,83,0,200,201, + 5,104,0,0,201,202,3,148,74,0,202,7,1,0,0,0,203,204,5,93,0,0,204,218,3, + 164,82,0,205,215,5,64,0,0,206,211,3,6,3,0,207,208,5,73,0,0,208,210,3,6, + 3,0,209,207,1,0,0,0,210,213,1,0,0,0,211,209,1,0,0,0,211,212,1,0,0,0,212, + 216,1,0,0,0,213,211,1,0,0,0,214,216,3,148,74,0,215,206,1,0,0,0,215,214, + 1,0,0,0,215,216,1,0,0,0,216,217,1,0,0,0,217,219,5,65,0,0,218,205,1,0,0, + 0,218,219,1,0,0,0,219,9,1,0,0,0,220,230,5,3,0,0,221,230,5,4,0,0,222,230, + 5,5,0,0,223,230,5,6,0,0,224,230,5,7,0,0,225,230,5,8,0,0,226,230,5,9,0, + 0,227,230,5,11,0,0,228,230,5,10,0,0,229,220,1,0,0,0,229,221,1,0,0,0,229, + 222,1,0,0,0,229,223,1,0,0,0,229,224,1,0,0,0,229,225,1,0,0,0,229,226,1, + 0,0,0,229,227,1,0,0,0,229,228,1,0,0,0,230,11,1,0,0,0,231,233,3,10,5,0, + 232,231,1,0,0,0,233,236,1,0,0,0,234,232,1,0,0,0,234,235,1,0,0,0,235,13, + 1,0,0,0,236,234,1,0,0,0,237,242,5,12,0,0,238,242,5,13,0,0,239,242,5,14, + 0,0,240,242,5,15,0,0,241,237,1,0,0,0,241,238,1,0,0,0,241,239,1,0,0,0,241, + 240,1,0,0,0,242,15,1,0,0,0,243,246,5,103,0,0,244,247,5,52,0,0,245,247, + 3,18,9,0,246,244,1,0,0,0,246,245,1,0,0,0,247,252,1,0,0,0,248,249,5,73, + 0,0,249,251,3,18,9,0,250,248,1,0,0,0,251,254,1,0,0,0,252,250,1,0,0,0,252, + 253,1,0,0,0,253,255,1,0,0,0,254,252,1,0,0,0,255,256,5,102,0,0,256,17,1, + 0,0,0,257,271,3,166,83,0,258,260,3,20,10,0,259,261,3,16,8,0,260,259,1, + 0,0,0,260,261,1,0,0,0,261,271,1,0,0,0,262,264,3,20,10,0,263,265,3,16,8, + 0,264,263,1,0,0,0,264,265,1,0,0,0,265,268,1,0,0,0,266,269,3,84,42,0,267, + 269,5,77,0,0,268,266,1,0,0,0,268,267,1,0,0,0,268,269,1,0,0,0,269,271,1, + 0,0,0,270,257,1,0,0,0,270,258,1,0,0,0,270,262,1,0,0,0,271,19,1,0,0,0,272, + 275,3,174,87,0,273,275,3,164,82,0,274,272,1,0,0,0,274,273,1,0,0,0,275, + 21,1,0,0,0,276,278,3,166,83,0,277,279,5,77,0,0,278,277,1,0,0,0,278,279, + 1,0,0,0,279,284,1,0,0,0,280,281,5,16,0,0,281,285,3,18,9,0,282,283,5,60, + 0,0,283,285,3,18,9,0,284,280,1,0,0,0,284,282,1,0,0,0,284,285,1,0,0,0,285, + 291,1,0,0,0,286,289,5,104,0,0,287,290,5,52,0,0,288,290,3,18,9,0,289,287, + 1,0,0,0,289,288,1,0,0,0,290,292,1,0,0,0,291,286,1,0,0,0,291,292,1,0,0, + 0,292,23,1,0,0,0,293,296,5,103,0,0,294,297,5,52,0,0,295,297,3,22,11,0, + 296,294,1,0,0,0,296,295,1,0,0,0,297,302,1,0,0,0,298,299,5,73,0,0,299,301, + 3,22,11,0,300,298,1,0,0,0,301,304,1,0,0,0,302,300,1,0,0,0,302,303,1,0, + 0,0,303,305,1,0,0,0,304,302,1,0,0,0,305,306,5,102,0,0,306,25,1,0,0,0,307, + 308,5,16,0,0,308,313,3,18,9,0,309,310,5,73,0,0,310,312,3,18,9,0,311,309, + 1,0,0,0,312,315,1,0,0,0,313,311,1,0,0,0,313,314,1,0,0,0,314,27,1,0,0,0, + 315,313,1,0,0,0,316,317,5,17,0,0,317,322,3,18,9,0,318,319,5,73,0,0,319, + 321,3,18,9,0,320,318,1,0,0,0,321,324,1,0,0,0,322,320,1,0,0,0,322,323,1, + 0,0,0,323,29,1,0,0,0,324,322,1,0,0,0,325,327,5,8,0,0,326,325,1,0,0,0,326, + 327,1,0,0,0,327,328,1,0,0,0,328,329,3,18,9,0,329,332,3,166,83,0,330,331, + 5,104,0,0,331,333,3,148,74,0,332,330,1,0,0,0,332,333,1,0,0,0,333,31,1, + 0,0,0,334,343,5,64,0,0,335,340,3,30,15,0,336,337,5,73,0,0,337,339,3,30, + 15,0,338,336,1,0,0,0,339,342,1,0,0,0,340,338,1,0,0,0,340,341,1,0,0,0,341, + 344,1,0,0,0,342,340,1,0,0,0,343,335,1,0,0,0,343,344,1,0,0,0,344,345,1, + 0,0,0,345,346,5,65,0,0,346,33,1,0,0,0,347,356,5,64,0,0,348,353,3,148,74, + 0,349,350,5,73,0,0,350,352,3,148,74,0,351,349,1,0,0,0,352,355,1,0,0,0, + 353,351,1,0,0,0,353,354,1,0,0,0,354,357,1,0,0,0,355,353,1,0,0,0,356,348, + 1,0,0,0,356,357,1,0,0,0,357,358,1,0,0,0,358,359,5,65,0,0,359,35,1,0,0, + 0,360,362,3,144,72,0,361,360,1,0,0,0,362,365,1,0,0,0,363,361,1,0,0,0,363, + 364,1,0,0,0,364,37,1,0,0,0,365,363,1,0,0,0,366,367,5,71,0,0,367,39,1,0, + 0,0,368,371,3,148,74,0,369,371,3,144,72,0,370,368,1,0,0,0,370,369,1,0, + 0,0,371,41,1,0,0,0,372,373,5,66,0,0,373,374,3,36,18,0,374,375,5,67,0,0, + 375,43,1,0,0,0,376,377,5,105,0,0,377,378,3,40,20,0,378,45,1,0,0,0,379, + 382,5,107,0,0,380,383,3,40,20,0,381,383,3,42,21,0,382,380,1,0,0,0,382, + 381,1,0,0,0,383,47,1,0,0,0,384,385,5,70,0,0,385,386,3,36,18,0,386,387, + 5,34,0,0,387,388,5,71,0,0,388,393,1,0,0,0,389,390,3,44,22,0,390,391,5, + 73,0,0,391,393,1,0,0,0,392,384,1,0,0,0,392,389,1,0,0,0,393,49,1,0,0,0, + 394,400,3,42,21,0,395,396,3,44,22,0,396,397,5,71,0,0,397,400,1,0,0,0,398, + 400,3,38,19,0,399,394,1,0,0,0,399,395,1,0,0,0,399,398,1,0,0,0,400,51,1, + 0,0,0,401,405,3,42,21,0,402,405,3,144,72,0,403,405,3,38,19,0,404,401,1, + 0,0,0,404,402,1,0,0,0,404,403,1,0,0,0,405,53,1,0,0,0,406,407,5,7,0,0,407, + 408,3,50,25,0,408,55,1,0,0,0,409,410,3,18,9,0,410,411,3,34,17,0,411,57, + 1,0,0,0,412,413,5,70,0,0,413,418,3,56,28,0,414,415,5,73,0,0,415,417,3, + 56,28,0,416,414,1,0,0,0,417,420,1,0,0,0,418,419,1,0,0,0,418,416,1,0,0, + 0,419,59,1,0,0,0,420,418,1,0,0,0,421,423,3,8,4,0,422,421,1,0,0,0,423,426, + 1,0,0,0,424,422,1,0,0,0,424,425,1,0,0,0,425,427,1,0,0,0,426,424,1,0,0, + 0,427,428,3,12,6,0,428,429,3,18,9,0,429,431,3,32,16,0,430,432,3,58,29, + 0,431,430,1,0,0,0,431,432,1,0,0,0,432,433,1,0,0,0,433,434,3,50,25,0,434, + 61,1,0,0,0,435,437,3,8,4,0,436,435,1,0,0,0,437,440,1,0,0,0,438,436,1,0, + 0,0,438,439,1,0,0,0,439,441,1,0,0,0,440,438,1,0,0,0,441,443,3,12,6,0,442, + 444,3,24,12,0,443,442,1,0,0,0,443,444,1,0,0,0,444,445,1,0,0,0,445,446, + 3,18,9,0,446,447,3,166,83,0,447,448,3,32,16,0,448,449,3,50,25,0,449,63, + 1,0,0,0,450,452,3,8,4,0,451,450,1,0,0,0,452,455,1,0,0,0,453,451,1,0,0, + 0,453,454,1,0,0,0,454,456,1,0,0,0,455,453,1,0,0,0,456,458,3,12,6,0,457, + 459,3,24,12,0,458,457,1,0,0,0,458,459,1,0,0,0,459,460,1,0,0,0,460,461, + 3,18,9,0,461,462,5,59,0,0,462,463,3,86,43,0,463,464,3,72,36,0,464,65,1, + 0,0,0,465,466,5,61,0,0,466,467,3,50,25,0,467,67,1,0,0,0,468,469,5,62,0, + 0,469,470,3,50,25,0,470,69,1,0,0,0,471,472,5,63,0,0,472,473,3,50,25,0, + 473,71,1,0,0,0,474,491,3,50,25,0,475,476,5,66,0,0,476,478,3,66,33,0,477, + 479,3,68,34,0,478,477,1,0,0,0,478,479,1,0,0,0,479,481,1,0,0,0,480,482, + 3,70,35,0,481,480,1,0,0,0,481,482,1,0,0,0,482,483,1,0,0,0,483,484,5,67, + 0,0,484,491,1,0,0,0,485,486,5,104,0,0,486,488,3,148,74,0,487,485,1,0,0, + 0,487,488,1,0,0,0,488,489,1,0,0,0,489,491,5,71,0,0,490,474,1,0,0,0,490, + 475,1,0,0,0,490,487,1,0,0,0,491,73,1,0,0,0,492,494,3,8,4,0,493,492,1,0, + 0,0,494,497,1,0,0,0,495,493,1,0,0,0,495,496,1,0,0,0,496,498,1,0,0,0,497, + 495,1,0,0,0,498,499,3,12,6,0,499,500,3,18,9,0,500,501,3,166,83,0,501,502, + 3,72,36,0,502,75,1,0,0,0,503,519,3,74,37,0,504,519,3,78,39,0,505,507,3, + 54,27,0,506,508,3,120,60,0,507,506,1,0,0,0,507,508,1,0,0,0,508,519,1,0, + 0,0,509,511,3,60,30,0,510,512,3,120,60,0,511,510,1,0,0,0,511,512,1,0,0, + 0,512,519,1,0,0,0,513,515,3,62,31,0,514,516,3,120,60,0,515,514,1,0,0,0, + 515,516,1,0,0,0,516,519,1,0,0,0,517,519,3,64,32,0,518,503,1,0,0,0,518, + 504,1,0,0,0,518,505,1,0,0,0,518,509,1,0,0,0,518,513,1,0,0,0,518,517,1, + 0,0,0,519,77,1,0,0,0,520,522,3,8,4,0,521,520,1,0,0,0,522,525,1,0,0,0,523, + 521,1,0,0,0,523,524,1,0,0,0,524,526,1,0,0,0,525,523,1,0,0,0,526,527,3, + 12,6,0,527,528,3,14,7,0,528,530,3,166,83,0,529,531,3,24,12,0,530,529,1, + 0,0,0,530,531,1,0,0,0,531,533,1,0,0,0,532,534,3,26,13,0,533,532,1,0,0, + 0,533,534,1,0,0,0,534,536,1,0,0,0,535,537,3,28,14,0,536,535,1,0,0,0,536, + 537,1,0,0,0,537,547,1,0,0,0,538,542,5,66,0,0,539,541,3,76,38,0,540,539, + 1,0,0,0,541,544,1,0,0,0,542,540,1,0,0,0,542,543,1,0,0,0,543,545,1,0,0, + 0,544,542,1,0,0,0,545,548,5,67,0,0,546,548,5,71,0,0,547,538,1,0,0,0,547, + 546,1,0,0,0,548,79,1,0,0,0,549,550,3,0,0,0,550,554,3,2,1,0,551,553,3,78, + 39,0,552,551,1,0,0,0,553,556,1,0,0,0,554,552,1,0,0,0,554,555,1,0,0,0,555, + 557,1,0,0,0,556,554,1,0,0,0,557,558,5,0,0,1,558,81,1,0,0,0,559,560,7,0, + 0,0,560,83,1,0,0,0,561,562,5,68,0,0,562,563,5,69,0,0,563,85,1,0,0,0,564, + 565,5,68,0,0,565,566,3,18,9,0,566,573,3,166,83,0,567,568,5,73,0,0,568, + 569,3,18,9,0,569,570,3,166,83,0,570,572,1,0,0,0,571,567,1,0,0,0,572,575, + 1,0,0,0,573,571,1,0,0,0,573,574,1,0,0,0,574,576,1,0,0,0,575,573,1,0,0, + 0,576,577,5,69,0,0,577,87,1,0,0,0,578,579,5,68,0,0,579,584,3,148,74,0, + 580,581,5,73,0,0,581,583,3,148,74,0,582,580,1,0,0,0,583,586,1,0,0,0,584, + 582,1,0,0,0,584,585,1,0,0,0,585,587,1,0,0,0,586,584,1,0,0,0,587,588,5, + 69,0,0,588,89,1,0,0,0,589,590,5,64,0,0,590,591,3,18,9,0,591,592,5,70,0, + 0,592,593,3,148,74,0,593,594,5,65,0,0,594,91,1,0,0,0,595,596,3,18,9,0, + 596,599,3,166,83,0,597,598,5,104,0,0,598,600,3,148,74,0,599,597,1,0,0, + 0,599,600,1,0,0,0,600,93,1,0,0,0,601,604,3,156,78,0,602,604,3,158,79,0, + 603,601,1,0,0,0,603,602,1,0,0,0,603,604,1,0,0,0,604,605,1,0,0,0,605,606, + 5,104,0,0,606,607,3,148,74,0,607,95,1,0,0,0,608,609,3,166,83,0,609,610, + 3,34,17,0,610,97,1,0,0,0,611,612,5,20,0,0,612,613,3,18,9,0,613,614,3,34, + 17,0,614,99,1,0,0,0,615,616,5,20,0,0,616,617,3,18,9,0,617,618,3,88,44, + 0,618,101,1,0,0,0,619,620,5,20,0,0,620,621,3,18,9,0,621,622,3,84,42,0, + 622,631,5,66,0,0,623,628,3,148,74,0,624,625,5,73,0,0,625,627,3,148,74, + 0,626,624,1,0,0,0,627,630,1,0,0,0,628,626,1,0,0,0,628,629,1,0,0,0,629, + 632,1,0,0,0,630,628,1,0,0,0,631,623,1,0,0,0,631,632,1,0,0,0,632,633,1, + 0,0,0,633,634,5,67,0,0,634,103,1,0,0,0,635,636,3,166,83,0,636,637,5,70, + 0,0,637,638,5,115,0,0,638,105,1,0,0,0,639,641,3,104,52,0,640,639,1,0,0, + 0,640,641,1,0,0,0,641,642,1,0,0,0,642,643,3,18,9,0,643,644,5,70,0,0,644, + 645,3,166,83,0,645,653,1,0,0,0,646,648,3,104,52,0,647,646,1,0,0,0,647, + 648,1,0,0,0,648,649,1,0,0,0,649,650,3,154,77,0,650,651,3,46,23,0,651,653, + 1,0,0,0,652,640,1,0,0,0,652,647,1,0,0,0,653,107,1,0,0,0,654,656,5,21,0, + 0,655,654,1,0,0,0,655,656,1,0,0,0,656,657,1,0,0,0,657,659,5,18,0,0,658, + 660,3,148,74,0,659,658,1,0,0,0,659,660,1,0,0,0,660,109,1,0,0,0,661,662, + 5,19,0,0,662,663,3,148,74,0,663,111,1,0,0,0,664,665,5,23,0,0,665,666,3, + 166,83,0,666,667,5,71,0,0,667,113,1,0,0,0,668,669,5,24,0,0,669,670,3,166, + 83,0,670,671,5,71,0,0,671,115,1,0,0,0,672,673,5,36,0,0,673,674,3,52,26, + 0,674,117,1,0,0,0,675,676,5,36,0,0,676,677,5,64,0,0,677,682,3,92,46,0, + 678,679,5,73,0,0,679,681,3,92,46,0,680,678,1,0,0,0,681,684,1,0,0,0,682, + 680,1,0,0,0,682,683,1,0,0,0,683,685,1,0,0,0,684,682,1,0,0,0,685,686,5, + 65,0,0,686,687,3,52,26,0,687,119,1,0,0,0,688,690,3,122,61,0,689,688,1, + 0,0,0,690,693,1,0,0,0,691,689,1,0,0,0,691,692,1,0,0,0,692,694,1,0,0,0, + 693,691,1,0,0,0,694,695,3,124,62,0,695,121,1,0,0,0,696,709,5,37,0,0,697, + 698,5,64,0,0,698,703,3,18,9,0,699,700,5,73,0,0,700,702,3,18,9,0,701,699, + 1,0,0,0,702,705,1,0,0,0,703,701,1,0,0,0,703,704,1,0,0,0,704,706,1,0,0, + 0,705,703,1,0,0,0,706,707,3,166,83,0,707,708,5,65,0,0,708,710,1,0,0,0, + 709,697,1,0,0,0,709,710,1,0,0,0,710,711,1,0,0,0,711,712,3,52,26,0,712, + 123,1,0,0,0,713,714,5,38,0,0,714,715,3,52,26,0,715,125,1,0,0,0,716,717, + 5,25,0,0,717,718,5,64,0,0,718,719,3,148,74,0,719,720,5,65,0,0,720,722, + 3,52,26,0,721,723,3,128,64,0,722,721,1,0,0,0,722,723,1,0,0,0,723,127,1, + 0,0,0,724,725,5,26,0,0,725,726,3,52,26,0,726,129,1,0,0,0,727,728,5,30, + 0,0,728,729,5,64,0,0,729,730,3,148,74,0,730,731,5,65,0,0,731,732,3,52, + 26,0,732,131,1,0,0,0,733,734,5,27,0,0,734,735,5,64,0,0,735,736,3,144,72, + 0,736,737,3,148,74,0,737,738,5,71,0,0,738,739,3,148,74,0,739,740,5,65, + 0,0,740,741,3,52,26,0,741,133,1,0,0,0,742,743,5,28,0,0,743,744,5,64,0, + 0,744,745,3,166,83,0,745,746,5,70,0,0,746,747,3,148,74,0,747,748,5,65, + 0,0,748,749,3,52,26,0,749,135,1,0,0,0,750,751,5,29,0,0,751,752,3,52,26, + 0,752,753,5,30,0,0,753,754,5,64,0,0,754,755,3,148,74,0,755,756,5,65,0, + 0,756,757,5,71,0,0,757,137,1,0,0,0,758,759,5,31,0,0,759,760,3,154,77,0, + 760,764,5,66,0,0,761,763,3,140,70,0,762,761,1,0,0,0,763,766,1,0,0,0,764, + 762,1,0,0,0,764,765,1,0,0,0,765,768,1,0,0,0,766,764,1,0,0,0,767,769,3, + 142,71,0,768,767,1,0,0,0,768,769,1,0,0,0,769,770,1,0,0,0,770,771,5,67, + 0,0,771,139,1,0,0,0,772,773,5,32,0,0,773,774,3,154,77,0,774,775,3,48,24, + 0,775,141,1,0,0,0,776,777,5,33,0,0,777,778,3,48,24,0,778,143,1,0,0,0,779, + 780,3,92,46,0,780,781,5,71,0,0,781,865,1,0,0,0,782,783,3,148,74,0,783, + 784,3,94,47,0,784,785,5,71,0,0,785,865,1,0,0,0,786,787,3,154,77,0,787, + 788,5,104,0,0,788,789,3,154,77,0,789,865,1,0,0,0,790,791,3,148,74,0,791, + 792,5,72,0,0,792,794,3,166,83,0,793,795,3,34,17,0,794,793,1,0,0,0,794, + 795,1,0,0,0,795,865,1,0,0,0,796,797,3,108,54,0,797,798,5,71,0,0,798,865, + 1,0,0,0,799,800,3,110,55,0,800,801,5,71,0,0,801,865,1,0,0,0,802,865,3, + 112,56,0,803,865,3,114,57,0,804,806,3,116,58,0,805,807,3,120,60,0,806, + 805,1,0,0,0,806,807,1,0,0,0,807,865,1,0,0,0,808,810,3,118,59,0,809,811, + 3,120,60,0,810,809,1,0,0,0,810,811,1,0,0,0,811,865,1,0,0,0,812,814,3,126, + 63,0,813,815,3,120,60,0,814,813,1,0,0,0,814,815,1,0,0,0,815,865,1,0,0, + 0,816,818,3,130,65,0,817,819,3,120,60,0,818,817,1,0,0,0,818,819,1,0,0, + 0,819,865,1,0,0,0,820,822,3,136,68,0,821,823,3,120,60,0,822,821,1,0,0, + 0,822,823,1,0,0,0,823,865,1,0,0,0,824,826,3,132,66,0,825,827,3,120,60, + 0,826,825,1,0,0,0,826,827,1,0,0,0,827,865,1,0,0,0,828,830,3,134,67,0,829, + 831,3,120,60,0,830,829,1,0,0,0,830,831,1,0,0,0,831,865,1,0,0,0,832,834, + 3,138,69,0,833,835,3,120,60,0,834,833,1,0,0,0,834,835,1,0,0,0,835,865, + 1,0,0,0,836,839,3,148,74,0,837,838,5,110,0,0,838,840,3,106,53,0,839,837, + 1,0,0,0,840,841,1,0,0,0,841,839,1,0,0,0,841,842,1,0,0,0,842,843,1,0,0, + 0,843,844,5,71,0,0,844,865,1,0,0,0,845,848,3,148,74,0,846,847,5,109,0, + 0,847,849,3,148,74,0,848,846,1,0,0,0,849,850,1,0,0,0,850,848,1,0,0,0,850, + 851,1,0,0,0,851,852,1,0,0,0,852,853,5,71,0,0,853,865,1,0,0,0,854,857,3, + 148,74,0,855,856,5,108,0,0,856,858,3,148,74,0,857,855,1,0,0,0,858,859, + 1,0,0,0,859,857,1,0,0,0,859,860,1,0,0,0,860,861,1,0,0,0,861,862,5,71,0, + 0,862,865,1,0,0,0,863,865,5,71,0,0,864,779,1,0,0,0,864,782,1,0,0,0,864, + 786,1,0,0,0,864,790,1,0,0,0,864,796,1,0,0,0,864,799,1,0,0,0,864,802,1, + 0,0,0,864,803,1,0,0,0,864,804,1,0,0,0,864,808,1,0,0,0,864,812,1,0,0,0, + 864,816,1,0,0,0,864,820,1,0,0,0,864,824,1,0,0,0,864,828,1,0,0,0,864,832, + 1,0,0,0,864,836,1,0,0,0,864,845,1,0,0,0,864,854,1,0,0,0,864,863,1,0,0, + 0,865,145,1,0,0,0,866,868,3,18,9,0,867,866,1,0,0,0,867,868,1,0,0,0,868, + 869,1,0,0,0,869,870,3,148,74,0,870,147,1,0,0,0,871,872,6,74,-1,0,872,894, + 3,166,83,0,873,874,3,160,80,0,874,875,3,148,74,24,875,894,1,0,0,0,876, + 877,5,21,0,0,877,894,3,148,74,20,878,879,5,64,0,0,879,880,3,148,74,0,880, + 881,5,65,0,0,881,894,1,0,0,0,882,894,3,90,45,0,883,894,3,100,50,0,884, + 894,3,102,51,0,885,894,3,176,88,0,886,894,3,18,9,0,887,894,3,106,53,0, + 888,894,3,92,46,0,889,894,3,98,49,0,890,894,3,110,55,0,891,894,3,138,69, + 0,892,894,3,154,77,0,893,871,1,0,0,0,893,873,1,0,0,0,893,876,1,0,0,0,893, + 878,1,0,0,0,893,882,1,0,0,0,893,883,1,0,0,0,893,884,1,0,0,0,893,885,1, + 0,0,0,893,886,1,0,0,0,893,887,1,0,0,0,893,888,1,0,0,0,893,889,1,0,0,0, + 893,890,1,0,0,0,893,891,1,0,0,0,893,892,1,0,0,0,894,939,1,0,0,0,895,896, + 10,23,0,0,896,897,3,156,78,0,897,898,3,148,74,24,898,938,1,0,0,0,899,900, + 10,17,0,0,900,901,5,75,0,0,901,902,3,148,74,0,902,903,5,70,0,0,903,904, + 3,148,74,18,904,938,1,0,0,0,905,906,10,4,0,0,906,907,5,76,0,0,907,938, + 3,148,74,5,908,909,10,1,0,0,909,910,3,158,79,0,910,911,3,148,74,2,911, + 938,1,0,0,0,912,913,10,22,0,0,913,938,3,162,81,0,914,915,10,21,0,0,915, + 916,5,22,0,0,916,918,3,18,9,0,917,919,3,166,83,0,918,917,1,0,0,0,918,919, + 1,0,0,0,919,938,1,0,0,0,920,921,10,19,0,0,921,938,3,88,44,0,922,923,10, + 9,0,0,923,938,3,94,47,0,924,925,10,8,0,0,925,926,5,72,0,0,926,928,3,166, + 83,0,927,929,3,34,17,0,928,927,1,0,0,0,928,929,1,0,0,0,929,938,1,0,0,0, + 930,933,10,3,0,0,931,932,5,110,0,0,932,934,3,106,53,0,933,931,1,0,0,0, + 934,935,1,0,0,0,935,933,1,0,0,0,935,936,1,0,0,0,936,938,1,0,0,0,937,895, + 1,0,0,0,937,899,1,0,0,0,937,905,1,0,0,0,937,908,1,0,0,0,937,912,1,0,0, + 0,937,914,1,0,0,0,937,920,1,0,0,0,937,922,1,0,0,0,937,924,1,0,0,0,937, + 930,1,0,0,0,938,941,1,0,0,0,939,937,1,0,0,0,939,940,1,0,0,0,940,149,1, + 0,0,0,941,939,1,0,0,0,942,944,3,18,9,0,943,945,3,166,83,0,944,943,1,0, + 0,0,944,945,1,0,0,0,945,151,1,0,0,0,946,947,5,64,0,0,947,952,3,150,75, + 0,948,949,5,73,0,0,949,951,3,150,75,0,950,948,1,0,0,0,951,954,1,0,0,0, + 952,950,1,0,0,0,952,953,1,0,0,0,953,955,1,0,0,0,954,952,1,0,0,0,955,956, + 5,65,0,0,956,153,1,0,0,0,957,958,5,64,0,0,958,963,3,146,73,0,959,960,5, + 73,0,0,960,962,3,146,73,0,961,959,1,0,0,0,962,965,1,0,0,0,963,961,1,0, + 0,0,963,964,1,0,0,0,964,966,1,0,0,0,965,963,1,0,0,0,966,967,5,65,0,0,967, + 155,1,0,0,0,968,990,5,88,0,0,969,990,5,89,0,0,970,990,5,92,0,0,971,990, + 5,85,0,0,972,990,5,86,0,0,973,990,5,74,0,0,974,990,5,81,0,0,975,990,5, + 82,0,0,976,990,5,87,0,0,977,990,5,98,0,0,978,990,5,99,0,0,979,990,5,100, + 0,0,980,990,5,101,0,0,981,990,5,102,0,0,982,990,5,103,0,0,983,990,5,94, + 0,0,984,990,5,95,0,0,985,990,5,96,0,0,986,990,5,97,0,0,987,988,5,75,0, + 0,988,990,5,75,0,0,989,968,1,0,0,0,989,969,1,0,0,0,989,970,1,0,0,0,989, + 971,1,0,0,0,989,972,1,0,0,0,989,973,1,0,0,0,989,974,1,0,0,0,989,975,1, + 0,0,0,989,976,1,0,0,0,989,977,1,0,0,0,989,978,1,0,0,0,989,979,1,0,0,0, + 989,980,1,0,0,0,989,981,1,0,0,0,989,982,1,0,0,0,989,983,1,0,0,0,989,984, + 1,0,0,0,989,985,1,0,0,0,989,986,1,0,0,0,989,987,1,0,0,0,990,157,1,0,0, + 0,991,994,5,90,0,0,992,994,5,91,0,0,993,991,1,0,0,0,993,992,1,0,0,0,994, + 159,1,0,0,0,995,1000,5,91,0,0,996,1000,5,74,0,0,997,1000,5,83,0,0,998, + 1000,5,84,0,0,999,995,1,0,0,0,999,996,1,0,0,0,999,997,1,0,0,0,999,998, + 1,0,0,0,1000,161,1,0,0,0,1001,1004,5,83,0,0,1002,1004,5,84,0,0,1003,1001, + 1,0,0,0,1003,1002,1,0,0,0,1004,163,1,0,0,0,1005,1010,3,166,83,0,1006,1007, + 5,72,0,0,1007,1009,3,166,83,0,1008,1006,1,0,0,0,1009,1012,1,0,0,0,1010, + 1008,1,0,0,0,1010,1011,1,0,0,0,1011,165,1,0,0,0,1012,1010,1,0,0,0,1013, + 1014,7,1,0,0,1014,167,1,0,0,0,1015,1017,5,40,0,0,1016,1018,3,16,8,0,1017, + 1016,1,0,0,0,1017,1018,1,0,0,0,1018,169,1,0,0,0,1019,1021,5,41,0,0,1020, + 1022,3,16,8,0,1021,1020,1,0,0,0,1021,1022,1,0,0,0,1022,171,1,0,0,0,1023, + 1025,7,2,0,0,1024,1026,3,16,8,0,1025,1024,1,0,0,0,1025,1026,1,0,0,0,1026, + 1034,1,0,0,0,1027,1034,5,44,0,0,1028,1034,5,45,0,0,1029,1034,5,46,0,0, + 1030,1034,5,47,0,0,1031,1034,5,48,0,0,1032,1034,5,49,0,0,1033,1023,1,0, + 0,0,1033,1027,1,0,0,0,1033,1028,1,0,0,0,1033,1029,1,0,0,0,1033,1030,1, + 0,0,0,1033,1031,1,0,0,0,1033,1032,1,0,0,0,1034,173,1,0,0,0,1035,1043,5, + 39,0,0,1036,1043,3,168,84,0,1037,1043,3,170,85,0,1038,1043,3,172,86,0, + 1039,1043,5,42,0,0,1040,1043,5,14,0,0,1041,1043,5,50,0,0,1042,1035,1,0, + 0,0,1042,1036,1,0,0,0,1042,1037,1,0,0,0,1042,1038,1,0,0,0,1042,1039,1, + 0,0,0,1042,1040,1,0,0,0,1042,1041,1,0,0,0,1043,175,1,0,0,0,1044,1054,5, + 59,0,0,1045,1054,5,60,0,0,1046,1054,5,52,0,0,1047,1054,5,57,0,0,1048,1054, + 5,58,0,0,1049,1054,5,53,0,0,1050,1054,5,54,0,0,1051,1054,5,55,0,0,1052, + 1054,5,56,0,0,1053,1044,1,0,0,0,1053,1045,1,0,0,0,1053,1046,1,0,0,0,1053, + 1047,1,0,0,0,1053,1048,1,0,0,0,1053,1049,1,0,0,0,1053,1050,1,0,0,0,1053, + 1051,1,0,0,0,1053,1052,1,0,0,0,1054,177,1,0,0,0,111,185,190,195,211,215, + 218,229,234,241,246,252,260,264,268,270,274,278,284,289,291,296,302,313, + 322,326,332,340,343,353,356,363,370,382,392,399,404,418,424,431,438,443, + 453,458,478,481,487,490,495,507,511,515,518,523,530,533,536,542,547,554, + 573,584,599,603,628,631,640,647,652,655,659,682,691,703,709,722,764,768, + 794,806,810,814,818,822,826,830,834,841,850,859,864,867,893,918,928,935, + 937,939,944,952,963,989,993,999,1003,1010,1017,1021,1025,1033,1042,1053 + }; + + public static readonly ATN _ATN = + new ATNDeserializer().Deserialize(_serializedATN); + + +} +} // namespace KScr.Antlr diff --git a/kscr-compiler/KScr/Antlr/KScrParser.interp b/kscr-compiler/KScr/Antlr/KScrParser.interp new file mode 100644 index 0000000..be116ad --- /dev/null +++ b/kscr-compiler/KScr/Antlr/KScrParser.interp @@ -0,0 +1,332 @@ +token literal names: +null +'package' +'import' +'public' +'internal' +'protected' +'private' +'static' +'final' +'abstract' +'native' +'synchronized' +'class' +'interface' +'enum' +'annotation' +'extends' +'implements' +'return' +'throw' +'new' +'yield' +'is' +'mark' +'jump' +'if' +'else' +'for' +'foreach' +'do' +'while' +'switch' +'case' +'default' +'break' +'continue' +'try' +'catch' +'finally' +'object' +'array' +'tuple' +'type' +'num' +'byte' +'short' +'int' +'long' +'float' +'double' +'void' +'var' +null +null +'stdio' +'endl' +'null' +'true' +'false' +'this' +'super' +'get' +'set' +'init' +'(' +')' +'{' +'}' +'[' +']' +':' +';' +'.' +',' +'!' +'?' +'..' +'...' +'~' +'\\"' +'"' +'&&' +'||' +'++' +'--' +'&' +'|' +'^' +'*' +'/' +'+' +'-' +'%' +'@' +'<<' +'>>' +'<<<' +'>>>' +'==' +'!=' +'>=' +'<=' +'>' +'<' +'=' +'=>' +'<-' +'->' +'<<-' +'->>' +'=>>' +null +null +null +null +null +null + +token symbolic names: +null +PACKAGE +IMPORT +PUBLIC +INTERNAL +PROTECTED +PRIVATE +STATIC +FINAL +ABSTRACT +NATIVE +SYNCHRONIZED +CLASS +INTERFACE +ENUM +ANNOTATION +EXTENDS +IMPLEMENTS +RETURN +THROW +NEW +YIELD +IS +MARK +JUMP +IF +ELSE +FOR +FOREACH +DO +WHILE +SWITCH +CASE +DEFAULT +BREAK +CONTINUE +TRY +CATCH +FINALLY +OBJECT +ARRAYIDENT +TUPLEIDENT +TYPE +NUMIDENT +BYTE +SHORT +INT +LONG +FLOAT +DOUBLE +VOID +VAR +NUMLIT +STRLIT +STDIOLIT +ENDLLIT +NULL +TRUE +FALSE +THIS +SUPER +GET +SET +INIT +LPAREN +RPAREN +LBRACE +RBRACE +LSQUAR +RSQUAR +COLON +SEMICOLON +DOT +COMMA +EXCLAMATION +QUESTION +SHORTELIPSES +ELIPSES +TILDE +ESCAPE_QUOTE +QUOTE +AND +OR +PLUSPLUS +MINUSMINUS +BITAND +BITOR +UP +STAR +SLASH +PLUS +MINUS +PERCENT +AT +LSHIFT +RSHIFT +ULSHIFT +URSHIFT +EQUAL +INEQUAL +GREATEREQ +LESSEREQ +GREATER +LESSER +ASSIGN +REQARROW +LDASHARROW +RDASHARROW +LLDASHARROW +RRDASHARROW +RREQARROW +ID +DIGIT +LETTER +SING_COMMENT +WS +UNMATCHED + +rule names: +packageDecl +imports +importDecl +annotationArg +annotation +modifier +modifiers +classType +genericTypeUses +type +rawType +genericTypeDef +genericTypeDefs +objectExtends +objectImplements +parameter +parameters +arguments +statements +noBlock +uniformBlock +normalBlock +memberExpr +lambdaBlock +caseBlock +memberBlock +codeBlock +initDecl +subConstructorCall +subConstructorCalls +constructorDecl +methodDecl +indexerMemberDecl +propGetter +propSetter +propInit +propBlock +propertyDecl +member +classDecl +file +inferType +indexerEmpty +indexerDecl +indexerExpr +cast +declaration +mutation +call +ctorCall +newArray +newListedArray +label +lambda +returnStatement +throwStatement +markStatement +jumpStatement +tryCatchStatement +tryWithResourcesStatement +catchBlocks +catchBlock +finallyBlock +ifStatement +elseStatement +whileStatement +forStatement +foreachStatement +doWhile +switchStatement +caseClause +defaultClause +statement +typedExpr +expr +tupleDeclType +tupleDecl +tupleExpr +binaryop +binaryop_late +prefixop +postfixop +id +idPart +array +tuple +num +primitiveTypeLit +primitiveLit + + +atn: +[4, 1, 116, 1056, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 5, 1, 184, 8, 1, 10, 1, 12, 1, 187, 9, 1, 1, 2, 1, 2, 3, 2, 191, 8, 2, 1, 2, 1, 2, 1, 2, 3, 2, 196, 8, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 5, 4, 210, 8, 4, 10, 4, 12, 4, 213, 9, 4, 1, 4, 3, 4, 216, 8, 4, 1, 4, 3, 4, 219, 8, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 230, 8, 5, 1, 6, 5, 6, 233, 8, 6, 10, 6, 12, 6, 236, 9, 6, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 242, 8, 7, 1, 8, 1, 8, 1, 8, 3, 8, 247, 8, 8, 1, 8, 1, 8, 5, 8, 251, 8, 8, 10, 8, 12, 8, 254, 9, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 3, 9, 261, 8, 9, 1, 9, 1, 9, 3, 9, 265, 8, 9, 1, 9, 1, 9, 3, 9, 269, 8, 9, 3, 9, 271, 8, 9, 1, 10, 1, 10, 3, 10, 275, 8, 10, 1, 11, 1, 11, 3, 11, 279, 8, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 285, 8, 11, 1, 11, 1, 11, 1, 11, 3, 11, 290, 8, 11, 3, 11, 292, 8, 11, 1, 12, 1, 12, 1, 12, 3, 12, 297, 8, 12, 1, 12, 1, 12, 5, 12, 301, 8, 12, 10, 12, 12, 12, 304, 9, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 5, 13, 312, 8, 13, 10, 13, 12, 13, 315, 9, 13, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 321, 8, 14, 10, 14, 12, 14, 324, 9, 14, 1, 15, 3, 15, 327, 8, 15, 1, 15, 1, 15, 1, 15, 1, 15, 3, 15, 333, 8, 15, 1, 16, 1, 16, 1, 16, 1, 16, 5, 16, 339, 8, 16, 10, 16, 12, 16, 342, 9, 16, 3, 16, 344, 8, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 5, 17, 352, 8, 17, 10, 17, 12, 17, 355, 9, 17, 3, 17, 357, 8, 17, 1, 17, 1, 17, 1, 18, 5, 18, 362, 8, 18, 10, 18, 12, 18, 365, 9, 18, 1, 19, 1, 19, 1, 20, 1, 20, 3, 20, 371, 8, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 3, 23, 383, 8, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24, 393, 8, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 400, 8, 25, 1, 26, 1, 26, 1, 26, 3, 26, 405, 8, 26, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 5, 29, 417, 8, 29, 10, 29, 12, 29, 420, 9, 29, 1, 30, 5, 30, 423, 8, 30, 10, 30, 12, 30, 426, 9, 30, 1, 30, 1, 30, 1, 30, 1, 30, 3, 30, 432, 8, 30, 1, 30, 1, 30, 1, 31, 5, 31, 437, 8, 31, 10, 31, 12, 31, 440, 9, 31, 1, 31, 1, 31, 3, 31, 444, 8, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 5, 32, 452, 8, 32, 10, 32, 12, 32, 455, 9, 32, 1, 32, 1, 32, 3, 32, 459, 8, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 3, 36, 479, 8, 36, 1, 36, 3, 36, 482, 8, 36, 1, 36, 1, 36, 1, 36, 1, 36, 3, 36, 488, 8, 36, 1, 36, 3, 36, 491, 8, 36, 1, 37, 5, 37, 494, 8, 37, 10, 37, 12, 37, 497, 9, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 3, 38, 508, 8, 38, 1, 38, 1, 38, 3, 38, 512, 8, 38, 1, 38, 1, 38, 3, 38, 516, 8, 38, 1, 38, 3, 38, 519, 8, 38, 1, 39, 5, 39, 522, 8, 39, 10, 39, 12, 39, 525, 9, 39, 1, 39, 1, 39, 1, 39, 1, 39, 3, 39, 531, 8, 39, 1, 39, 3, 39, 534, 8, 39, 1, 39, 3, 39, 537, 8, 39, 1, 39, 1, 39, 5, 39, 541, 8, 39, 10, 39, 12, 39, 544, 9, 39, 1, 39, 1, 39, 3, 39, 548, 8, 39, 1, 40, 1, 40, 1, 40, 5, 40, 553, 8, 40, 10, 40, 12, 40, 556, 9, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 5, 43, 572, 8, 43, 10, 43, 12, 43, 575, 9, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 5, 44, 583, 8, 44, 10, 44, 12, 44, 586, 9, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46, 600, 8, 46, 1, 47, 1, 47, 3, 47, 604, 8, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 5, 51, 627, 8, 51, 10, 51, 12, 51, 630, 9, 51, 3, 51, 632, 8, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 3, 53, 641, 8, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 3, 53, 648, 8, 53, 1, 53, 1, 53, 1, 53, 3, 53, 653, 8, 53, 1, 54, 3, 54, 656, 8, 54, 1, 54, 1, 54, 3, 54, 660, 8, 54, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 5, 59, 681, 8, 59, 10, 59, 12, 59, 684, 9, 59, 1, 59, 1, 59, 1, 59, 1, 60, 5, 60, 690, 8, 60, 10, 60, 12, 60, 693, 9, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 5, 61, 702, 8, 61, 10, 61, 12, 61, 705, 9, 61, 1, 61, 1, 61, 1, 61, 3, 61, 710, 8, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 3, 63, 723, 8, 63, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 5, 69, 763, 8, 69, 10, 69, 12, 69, 766, 9, 69, 1, 69, 3, 69, 769, 8, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 3, 72, 795, 8, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 3, 72, 807, 8, 72, 1, 72, 1, 72, 3, 72, 811, 8, 72, 1, 72, 1, 72, 3, 72, 815, 8, 72, 1, 72, 1, 72, 3, 72, 819, 8, 72, 1, 72, 1, 72, 3, 72, 823, 8, 72, 1, 72, 1, 72, 3, 72, 827, 8, 72, 1, 72, 1, 72, 3, 72, 831, 8, 72, 1, 72, 1, 72, 3, 72, 835, 8, 72, 1, 72, 1, 72, 1, 72, 4, 72, 840, 8, 72, 11, 72, 12, 72, 841, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 4, 72, 849, 8, 72, 11, 72, 12, 72, 850, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 4, 72, 858, 8, 72, 11, 72, 12, 72, 859, 1, 72, 1, 72, 1, 72, 3, 72, 865, 8, 72, 1, 73, 3, 73, 868, 8, 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 3, 74, 894, 8, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 3, 74, 919, 8, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 3, 74, 929, 8, 74, 1, 74, 1, 74, 1, 74, 4, 74, 934, 8, 74, 11, 74, 12, 74, 935, 5, 74, 938, 8, 74, 10, 74, 12, 74, 941, 9, 74, 1, 75, 1, 75, 3, 75, 945, 8, 75, 1, 76, 1, 76, 1, 76, 1, 76, 5, 76, 951, 8, 76, 10, 76, 12, 76, 954, 9, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 77, 1, 77, 5, 77, 962, 8, 77, 10, 77, 12, 77, 965, 9, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 3, 78, 990, 8, 78, 1, 79, 1, 79, 3, 79, 994, 8, 79, 1, 80, 1, 80, 1, 80, 1, 80, 3, 80, 1000, 8, 80, 1, 81, 1, 81, 3, 81, 1004, 8, 81, 1, 82, 1, 82, 1, 82, 5, 82, 1009, 8, 82, 10, 82, 12, 82, 1012, 9, 82, 1, 83, 1, 83, 1, 84, 1, 84, 3, 84, 1018, 8, 84, 1, 85, 1, 85, 3, 85, 1022, 8, 85, 1, 86, 1, 86, 3, 86, 1026, 8, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 3, 86, 1034, 8, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 3, 87, 1043, 8, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 1, 88, 3, 88, 1054, 8, 88, 1, 88, 1, 418, 1, 148, 89, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 0, 3, 1, 0, 50, 51, 2, 0, 15, 15, 111, 111, 2, 0, 43, 43, 46, 46, 1174, 0, 178, 1, 0, 0, 0, 2, 185, 1, 0, 0, 0, 4, 188, 1, 0, 0, 0, 6, 199, 1, 0, 0, 0, 8, 203, 1, 0, 0, 0, 10, 229, 1, 0, 0, 0, 12, 234, 1, 0, 0, 0, 14, 241, 1, 0, 0, 0, 16, 243, 1, 0, 0, 0, 18, 270, 1, 0, 0, 0, 20, 274, 1, 0, 0, 0, 22, 276, 1, 0, 0, 0, 24, 293, 1, 0, 0, 0, 26, 307, 1, 0, 0, 0, 28, 316, 1, 0, 0, 0, 30, 326, 1, 0, 0, 0, 32, 334, 1, 0, 0, 0, 34, 347, 1, 0, 0, 0, 36, 363, 1, 0, 0, 0, 38, 366, 1, 0, 0, 0, 40, 370, 1, 0, 0, 0, 42, 372, 1, 0, 0, 0, 44, 376, 1, 0, 0, 0, 46, 379, 1, 0, 0, 0, 48, 392, 1, 0, 0, 0, 50, 399, 1, 0, 0, 0, 52, 404, 1, 0, 0, 0, 54, 406, 1, 0, 0, 0, 56, 409, 1, 0, 0, 0, 58, 412, 1, 0, 0, 0, 60, 424, 1, 0, 0, 0, 62, 438, 1, 0, 0, 0, 64, 453, 1, 0, 0, 0, 66, 465, 1, 0, 0, 0, 68, 468, 1, 0, 0, 0, 70, 471, 1, 0, 0, 0, 72, 490, 1, 0, 0, 0, 74, 495, 1, 0, 0, 0, 76, 518, 1, 0, 0, 0, 78, 523, 1, 0, 0, 0, 80, 549, 1, 0, 0, 0, 82, 559, 1, 0, 0, 0, 84, 561, 1, 0, 0, 0, 86, 564, 1, 0, 0, 0, 88, 578, 1, 0, 0, 0, 90, 589, 1, 0, 0, 0, 92, 595, 1, 0, 0, 0, 94, 603, 1, 0, 0, 0, 96, 608, 1, 0, 0, 0, 98, 611, 1, 0, 0, 0, 100, 615, 1, 0, 0, 0, 102, 619, 1, 0, 0, 0, 104, 635, 1, 0, 0, 0, 106, 652, 1, 0, 0, 0, 108, 655, 1, 0, 0, 0, 110, 661, 1, 0, 0, 0, 112, 664, 1, 0, 0, 0, 114, 668, 1, 0, 0, 0, 116, 672, 1, 0, 0, 0, 118, 675, 1, 0, 0, 0, 120, 691, 1, 0, 0, 0, 122, 696, 1, 0, 0, 0, 124, 713, 1, 0, 0, 0, 126, 716, 1, 0, 0, 0, 128, 724, 1, 0, 0, 0, 130, 727, 1, 0, 0, 0, 132, 733, 1, 0, 0, 0, 134, 742, 1, 0, 0, 0, 136, 750, 1, 0, 0, 0, 138, 758, 1, 0, 0, 0, 140, 772, 1, 0, 0, 0, 142, 776, 1, 0, 0, 0, 144, 864, 1, 0, 0, 0, 146, 867, 1, 0, 0, 0, 148, 893, 1, 0, 0, 0, 150, 942, 1, 0, 0, 0, 152, 946, 1, 0, 0, 0, 154, 957, 1, 0, 0, 0, 156, 989, 1, 0, 0, 0, 158, 993, 1, 0, 0, 0, 160, 999, 1, 0, 0, 0, 162, 1003, 1, 0, 0, 0, 164, 1005, 1, 0, 0, 0, 166, 1013, 1, 0, 0, 0, 168, 1015, 1, 0, 0, 0, 170, 1019, 1, 0, 0, 0, 172, 1033, 1, 0, 0, 0, 174, 1042, 1, 0, 0, 0, 176, 1053, 1, 0, 0, 0, 178, 179, 5, 1, 0, 0, 179, 180, 3, 164, 82, 0, 180, 181, 5, 71, 0, 0, 181, 1, 1, 0, 0, 0, 182, 184, 3, 4, 2, 0, 183, 182, 1, 0, 0, 0, 184, 187, 1, 0, 0, 0, 185, 183, 1, 0, 0, 0, 185, 186, 1, 0, 0, 0, 186, 3, 1, 0, 0, 0, 187, 185, 1, 0, 0, 0, 188, 190, 5, 2, 0, 0, 189, 191, 5, 7, 0, 0, 190, 189, 1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 192, 1, 0, 0, 0, 192, 195, 3, 164, 82, 0, 193, 194, 5, 72, 0, 0, 194, 196, 5, 88, 0, 0, 195, 193, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 197, 1, 0, 0, 0, 197, 198, 5, 71, 0, 0, 198, 5, 1, 0, 0, 0, 199, 200, 3, 166, 83, 0, 200, 201, 5, 104, 0, 0, 201, 202, 3, 148, 74, 0, 202, 7, 1, 0, 0, 0, 203, 204, 5, 93, 0, 0, 204, 218, 3, 164, 82, 0, 205, 215, 5, 64, 0, 0, 206, 211, 3, 6, 3, 0, 207, 208, 5, 73, 0, 0, 208, 210, 3, 6, 3, 0, 209, 207, 1, 0, 0, 0, 210, 213, 1, 0, 0, 0, 211, 209, 1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 216, 1, 0, 0, 0, 213, 211, 1, 0, 0, 0, 214, 216, 3, 148, 74, 0, 215, 206, 1, 0, 0, 0, 215, 214, 1, 0, 0, 0, 215, 216, 1, 0, 0, 0, 216, 217, 1, 0, 0, 0, 217, 219, 5, 65, 0, 0, 218, 205, 1, 0, 0, 0, 218, 219, 1, 0, 0, 0, 219, 9, 1, 0, 0, 0, 220, 230, 5, 3, 0, 0, 221, 230, 5, 4, 0, 0, 222, 230, 5, 5, 0, 0, 223, 230, 5, 6, 0, 0, 224, 230, 5, 7, 0, 0, 225, 230, 5, 8, 0, 0, 226, 230, 5, 9, 0, 0, 227, 230, 5, 11, 0, 0, 228, 230, 5, 10, 0, 0, 229, 220, 1, 0, 0, 0, 229, 221, 1, 0, 0, 0, 229, 222, 1, 0, 0, 0, 229, 223, 1, 0, 0, 0, 229, 224, 1, 0, 0, 0, 229, 225, 1, 0, 0, 0, 229, 226, 1, 0, 0, 0, 229, 227, 1, 0, 0, 0, 229, 228, 1, 0, 0, 0, 230, 11, 1, 0, 0, 0, 231, 233, 3, 10, 5, 0, 232, 231, 1, 0, 0, 0, 233, 236, 1, 0, 0, 0, 234, 232, 1, 0, 0, 0, 234, 235, 1, 0, 0, 0, 235, 13, 1, 0, 0, 0, 236, 234, 1, 0, 0, 0, 237, 242, 5, 12, 0, 0, 238, 242, 5, 13, 0, 0, 239, 242, 5, 14, 0, 0, 240, 242, 5, 15, 0, 0, 241, 237, 1, 0, 0, 0, 241, 238, 1, 0, 0, 0, 241, 239, 1, 0, 0, 0, 241, 240, 1, 0, 0, 0, 242, 15, 1, 0, 0, 0, 243, 246, 5, 103, 0, 0, 244, 247, 5, 52, 0, 0, 245, 247, 3, 18, 9, 0, 246, 244, 1, 0, 0, 0, 246, 245, 1, 0, 0, 0, 247, 252, 1, 0, 0, 0, 248, 249, 5, 73, 0, 0, 249, 251, 3, 18, 9, 0, 250, 248, 1, 0, 0, 0, 251, 254, 1, 0, 0, 0, 252, 250, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, 253, 255, 1, 0, 0, 0, 254, 252, 1, 0, 0, 0, 255, 256, 5, 102, 0, 0, 256, 17, 1, 0, 0, 0, 257, 271, 3, 166, 83, 0, 258, 260, 3, 20, 10, 0, 259, 261, 3, 16, 8, 0, 260, 259, 1, 0, 0, 0, 260, 261, 1, 0, 0, 0, 261, 271, 1, 0, 0, 0, 262, 264, 3, 20, 10, 0, 263, 265, 3, 16, 8, 0, 264, 263, 1, 0, 0, 0, 264, 265, 1, 0, 0, 0, 265, 268, 1, 0, 0, 0, 266, 269, 3, 84, 42, 0, 267, 269, 5, 77, 0, 0, 268, 266, 1, 0, 0, 0, 268, 267, 1, 0, 0, 0, 268, 269, 1, 0, 0, 0, 269, 271, 1, 0, 0, 0, 270, 257, 1, 0, 0, 0, 270, 258, 1, 0, 0, 0, 270, 262, 1, 0, 0, 0, 271, 19, 1, 0, 0, 0, 272, 275, 3, 174, 87, 0, 273, 275, 3, 164, 82, 0, 274, 272, 1, 0, 0, 0, 274, 273, 1, 0, 0, 0, 275, 21, 1, 0, 0, 0, 276, 278, 3, 166, 83, 0, 277, 279, 5, 77, 0, 0, 278, 277, 1, 0, 0, 0, 278, 279, 1, 0, 0, 0, 279, 284, 1, 0, 0, 0, 280, 281, 5, 16, 0, 0, 281, 285, 3, 18, 9, 0, 282, 283, 5, 60, 0, 0, 283, 285, 3, 18, 9, 0, 284, 280, 1, 0, 0, 0, 284, 282, 1, 0, 0, 0, 284, 285, 1, 0, 0, 0, 285, 291, 1, 0, 0, 0, 286, 289, 5, 104, 0, 0, 287, 290, 5, 52, 0, 0, 288, 290, 3, 18, 9, 0, 289, 287, 1, 0, 0, 0, 289, 288, 1, 0, 0, 0, 290, 292, 1, 0, 0, 0, 291, 286, 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292, 23, 1, 0, 0, 0, 293, 296, 5, 103, 0, 0, 294, 297, 5, 52, 0, 0, 295, 297, 3, 22, 11, 0, 296, 294, 1, 0, 0, 0, 296, 295, 1, 0, 0, 0, 297, 302, 1, 0, 0, 0, 298, 299, 5, 73, 0, 0, 299, 301, 3, 22, 11, 0, 300, 298, 1, 0, 0, 0, 301, 304, 1, 0, 0, 0, 302, 300, 1, 0, 0, 0, 302, 303, 1, 0, 0, 0, 303, 305, 1, 0, 0, 0, 304, 302, 1, 0, 0, 0, 305, 306, 5, 102, 0, 0, 306, 25, 1, 0, 0, 0, 307, 308, 5, 16, 0, 0, 308, 313, 3, 18, 9, 0, 309, 310, 5, 73, 0, 0, 310, 312, 3, 18, 9, 0, 311, 309, 1, 0, 0, 0, 312, 315, 1, 0, 0, 0, 313, 311, 1, 0, 0, 0, 313, 314, 1, 0, 0, 0, 314, 27, 1, 0, 0, 0, 315, 313, 1, 0, 0, 0, 316, 317, 5, 17, 0, 0, 317, 322, 3, 18, 9, 0, 318, 319, 5, 73, 0, 0, 319, 321, 3, 18, 9, 0, 320, 318, 1, 0, 0, 0, 321, 324, 1, 0, 0, 0, 322, 320, 1, 0, 0, 0, 322, 323, 1, 0, 0, 0, 323, 29, 1, 0, 0, 0, 324, 322, 1, 0, 0, 0, 325, 327, 5, 8, 0, 0, 326, 325, 1, 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 328, 1, 0, 0, 0, 328, 329, 3, 18, 9, 0, 329, 332, 3, 166, 83, 0, 330, 331, 5, 104, 0, 0, 331, 333, 3, 148, 74, 0, 332, 330, 1, 0, 0, 0, 332, 333, 1, 0, 0, 0, 333, 31, 1, 0, 0, 0, 334, 343, 5, 64, 0, 0, 335, 340, 3, 30, 15, 0, 336, 337, 5, 73, 0, 0, 337, 339, 3, 30, 15, 0, 338, 336, 1, 0, 0, 0, 339, 342, 1, 0, 0, 0, 340, 338, 1, 0, 0, 0, 340, 341, 1, 0, 0, 0, 341, 344, 1, 0, 0, 0, 342, 340, 1, 0, 0, 0, 343, 335, 1, 0, 0, 0, 343, 344, 1, 0, 0, 0, 344, 345, 1, 0, 0, 0, 345, 346, 5, 65, 0, 0, 346, 33, 1, 0, 0, 0, 347, 356, 5, 64, 0, 0, 348, 353, 3, 148, 74, 0, 349, 350, 5, 73, 0, 0, 350, 352, 3, 148, 74, 0, 351, 349, 1, 0, 0, 0, 352, 355, 1, 0, 0, 0, 353, 351, 1, 0, 0, 0, 353, 354, 1, 0, 0, 0, 354, 357, 1, 0, 0, 0, 355, 353, 1, 0, 0, 0, 356, 348, 1, 0, 0, 0, 356, 357, 1, 0, 0, 0, 357, 358, 1, 0, 0, 0, 358, 359, 5, 65, 0, 0, 359, 35, 1, 0, 0, 0, 360, 362, 3, 144, 72, 0, 361, 360, 1, 0, 0, 0, 362, 365, 1, 0, 0, 0, 363, 361, 1, 0, 0, 0, 363, 364, 1, 0, 0, 0, 364, 37, 1, 0, 0, 0, 365, 363, 1, 0, 0, 0, 366, 367, 5, 71, 0, 0, 367, 39, 1, 0, 0, 0, 368, 371, 3, 148, 74, 0, 369, 371, 3, 144, 72, 0, 370, 368, 1, 0, 0, 0, 370, 369, 1, 0, 0, 0, 371, 41, 1, 0, 0, 0, 372, 373, 5, 66, 0, 0, 373, 374, 3, 36, 18, 0, 374, 375, 5, 67, 0, 0, 375, 43, 1, 0, 0, 0, 376, 377, 5, 105, 0, 0, 377, 378, 3, 40, 20, 0, 378, 45, 1, 0, 0, 0, 379, 382, 5, 107, 0, 0, 380, 383, 3, 40, 20, 0, 381, 383, 3, 42, 21, 0, 382, 380, 1, 0, 0, 0, 382, 381, 1, 0, 0, 0, 383, 47, 1, 0, 0, 0, 384, 385, 5, 70, 0, 0, 385, 386, 3, 36, 18, 0, 386, 387, 5, 34, 0, 0, 387, 388, 5, 71, 0, 0, 388, 393, 1, 0, 0, 0, 389, 390, 3, 44, 22, 0, 390, 391, 5, 73, 0, 0, 391, 393, 1, 0, 0, 0, 392, 384, 1, 0, 0, 0, 392, 389, 1, 0, 0, 0, 393, 49, 1, 0, 0, 0, 394, 400, 3, 42, 21, 0, 395, 396, 3, 44, 22, 0, 396, 397, 5, 71, 0, 0, 397, 400, 1, 0, 0, 0, 398, 400, 3, 38, 19, 0, 399, 394, 1, 0, 0, 0, 399, 395, 1, 0, 0, 0, 399, 398, 1, 0, 0, 0, 400, 51, 1, 0, 0, 0, 401, 405, 3, 42, 21, 0, 402, 405, 3, 144, 72, 0, 403, 405, 3, 38, 19, 0, 404, 401, 1, 0, 0, 0, 404, 402, 1, 0, 0, 0, 404, 403, 1, 0, 0, 0, 405, 53, 1, 0, 0, 0, 406, 407, 5, 7, 0, 0, 407, 408, 3, 50, 25, 0, 408, 55, 1, 0, 0, 0, 409, 410, 3, 18, 9, 0, 410, 411, 3, 34, 17, 0, 411, 57, 1, 0, 0, 0, 412, 413, 5, 70, 0, 0, 413, 418, 3, 56, 28, 0, 414, 415, 5, 73, 0, 0, 415, 417, 3, 56, 28, 0, 416, 414, 1, 0, 0, 0, 417, 420, 1, 0, 0, 0, 418, 419, 1, 0, 0, 0, 418, 416, 1, 0, 0, 0, 419, 59, 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, 421, 423, 3, 8, 4, 0, 422, 421, 1, 0, 0, 0, 423, 426, 1, 0, 0, 0, 424, 422, 1, 0, 0, 0, 424, 425, 1, 0, 0, 0, 425, 427, 1, 0, 0, 0, 426, 424, 1, 0, 0, 0, 427, 428, 3, 12, 6, 0, 428, 429, 3, 18, 9, 0, 429, 431, 3, 32, 16, 0, 430, 432, 3, 58, 29, 0, 431, 430, 1, 0, 0, 0, 431, 432, 1, 0, 0, 0, 432, 433, 1, 0, 0, 0, 433, 434, 3, 50, 25, 0, 434, 61, 1, 0, 0, 0, 435, 437, 3, 8, 4, 0, 436, 435, 1, 0, 0, 0, 437, 440, 1, 0, 0, 0, 438, 436, 1, 0, 0, 0, 438, 439, 1, 0, 0, 0, 439, 441, 1, 0, 0, 0, 440, 438, 1, 0, 0, 0, 441, 443, 3, 12, 6, 0, 442, 444, 3, 24, 12, 0, 443, 442, 1, 0, 0, 0, 443, 444, 1, 0, 0, 0, 444, 445, 1, 0, 0, 0, 445, 446, 3, 18, 9, 0, 446, 447, 3, 166, 83, 0, 447, 448, 3, 32, 16, 0, 448, 449, 3, 50, 25, 0, 449, 63, 1, 0, 0, 0, 450, 452, 3, 8, 4, 0, 451, 450, 1, 0, 0, 0, 452, 455, 1, 0, 0, 0, 453, 451, 1, 0, 0, 0, 453, 454, 1, 0, 0, 0, 454, 456, 1, 0, 0, 0, 455, 453, 1, 0, 0, 0, 456, 458, 3, 12, 6, 0, 457, 459, 3, 24, 12, 0, 458, 457, 1, 0, 0, 0, 458, 459, 1, 0, 0, 0, 459, 460, 1, 0, 0, 0, 460, 461, 3, 18, 9, 0, 461, 462, 5, 59, 0, 0, 462, 463, 3, 86, 43, 0, 463, 464, 3, 72, 36, 0, 464, 65, 1, 0, 0, 0, 465, 466, 5, 61, 0, 0, 466, 467, 3, 50, 25, 0, 467, 67, 1, 0, 0, 0, 468, 469, 5, 62, 0, 0, 469, 470, 3, 50, 25, 0, 470, 69, 1, 0, 0, 0, 471, 472, 5, 63, 0, 0, 472, 473, 3, 50, 25, 0, 473, 71, 1, 0, 0, 0, 474, 491, 3, 50, 25, 0, 475, 476, 5, 66, 0, 0, 476, 478, 3, 66, 33, 0, 477, 479, 3, 68, 34, 0, 478, 477, 1, 0, 0, 0, 478, 479, 1, 0, 0, 0, 479, 481, 1, 0, 0, 0, 480, 482, 3, 70, 35, 0, 481, 480, 1, 0, 0, 0, 481, 482, 1, 0, 0, 0, 482, 483, 1, 0, 0, 0, 483, 484, 5, 67, 0, 0, 484, 491, 1, 0, 0, 0, 485, 486, 5, 104, 0, 0, 486, 488, 3, 148, 74, 0, 487, 485, 1, 0, 0, 0, 487, 488, 1, 0, 0, 0, 488, 489, 1, 0, 0, 0, 489, 491, 5, 71, 0, 0, 490, 474, 1, 0, 0, 0, 490, 475, 1, 0, 0, 0, 490, 487, 1, 0, 0, 0, 491, 73, 1, 0, 0, 0, 492, 494, 3, 8, 4, 0, 493, 492, 1, 0, 0, 0, 494, 497, 1, 0, 0, 0, 495, 493, 1, 0, 0, 0, 495, 496, 1, 0, 0, 0, 496, 498, 1, 0, 0, 0, 497, 495, 1, 0, 0, 0, 498, 499, 3, 12, 6, 0, 499, 500, 3, 18, 9, 0, 500, 501, 3, 166, 83, 0, 501, 502, 3, 72, 36, 0, 502, 75, 1, 0, 0, 0, 503, 519, 3, 74, 37, 0, 504, 519, 3, 78, 39, 0, 505, 507, 3, 54, 27, 0, 506, 508, 3, 120, 60, 0, 507, 506, 1, 0, 0, 0, 507, 508, 1, 0, 0, 0, 508, 519, 1, 0, 0, 0, 509, 511, 3, 60, 30, 0, 510, 512, 3, 120, 60, 0, 511, 510, 1, 0, 0, 0, 511, 512, 1, 0, 0, 0, 512, 519, 1, 0, 0, 0, 513, 515, 3, 62, 31, 0, 514, 516, 3, 120, 60, 0, 515, 514, 1, 0, 0, 0, 515, 516, 1, 0, 0, 0, 516, 519, 1, 0, 0, 0, 517, 519, 3, 64, 32, 0, 518, 503, 1, 0, 0, 0, 518, 504, 1, 0, 0, 0, 518, 505, 1, 0, 0, 0, 518, 509, 1, 0, 0, 0, 518, 513, 1, 0, 0, 0, 518, 517, 1, 0, 0, 0, 519, 77, 1, 0, 0, 0, 520, 522, 3, 8, 4, 0, 521, 520, 1, 0, 0, 0, 522, 525, 1, 0, 0, 0, 523, 521, 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 526, 1, 0, 0, 0, 525, 523, 1, 0, 0, 0, 526, 527, 3, 12, 6, 0, 527, 528, 3, 14, 7, 0, 528, 530, 3, 166, 83, 0, 529, 531, 3, 24, 12, 0, 530, 529, 1, 0, 0, 0, 530, 531, 1, 0, 0, 0, 531, 533, 1, 0, 0, 0, 532, 534, 3, 26, 13, 0, 533, 532, 1, 0, 0, 0, 533, 534, 1, 0, 0, 0, 534, 536, 1, 0, 0, 0, 535, 537, 3, 28, 14, 0, 536, 535, 1, 0, 0, 0, 536, 537, 1, 0, 0, 0, 537, 547, 1, 0, 0, 0, 538, 542, 5, 66, 0, 0, 539, 541, 3, 76, 38, 0, 540, 539, 1, 0, 0, 0, 541, 544, 1, 0, 0, 0, 542, 540, 1, 0, 0, 0, 542, 543, 1, 0, 0, 0, 543, 545, 1, 0, 0, 0, 544, 542, 1, 0, 0, 0, 545, 548, 5, 67, 0, 0, 546, 548, 5, 71, 0, 0, 547, 538, 1, 0, 0, 0, 547, 546, 1, 0, 0, 0, 548, 79, 1, 0, 0, 0, 549, 550, 3, 0, 0, 0, 550, 554, 3, 2, 1, 0, 551, 553, 3, 78, 39, 0, 552, 551, 1, 0, 0, 0, 553, 556, 1, 0, 0, 0, 554, 552, 1, 0, 0, 0, 554, 555, 1, 0, 0, 0, 555, 557, 1, 0, 0, 0, 556, 554, 1, 0, 0, 0, 557, 558, 5, 0, 0, 1, 558, 81, 1, 0, 0, 0, 559, 560, 7, 0, 0, 0, 560, 83, 1, 0, 0, 0, 561, 562, 5, 68, 0, 0, 562, 563, 5, 69, 0, 0, 563, 85, 1, 0, 0, 0, 564, 565, 5, 68, 0, 0, 565, 566, 3, 18, 9, 0, 566, 573, 3, 166, 83, 0, 567, 568, 5, 73, 0, 0, 568, 569, 3, 18, 9, 0, 569, 570, 3, 166, 83, 0, 570, 572, 1, 0, 0, 0, 571, 567, 1, 0, 0, 0, 572, 575, 1, 0, 0, 0, 573, 571, 1, 0, 0, 0, 573, 574, 1, 0, 0, 0, 574, 576, 1, 0, 0, 0, 575, 573, 1, 0, 0, 0, 576, 577, 5, 69, 0, 0, 577, 87, 1, 0, 0, 0, 578, 579, 5, 68, 0, 0, 579, 584, 3, 148, 74, 0, 580, 581, 5, 73, 0, 0, 581, 583, 3, 148, 74, 0, 582, 580, 1, 0, 0, 0, 583, 586, 1, 0, 0, 0, 584, 582, 1, 0, 0, 0, 584, 585, 1, 0, 0, 0, 585, 587, 1, 0, 0, 0, 586, 584, 1, 0, 0, 0, 587, 588, 5, 69, 0, 0, 588, 89, 1, 0, 0, 0, 589, 590, 5, 64, 0, 0, 590, 591, 3, 18, 9, 0, 591, 592, 5, 70, 0, 0, 592, 593, 3, 148, 74, 0, 593, 594, 5, 65, 0, 0, 594, 91, 1, 0, 0, 0, 595, 596, 3, 18, 9, 0, 596, 599, 3, 166, 83, 0, 597, 598, 5, 104, 0, 0, 598, 600, 3, 148, 74, 0, 599, 597, 1, 0, 0, 0, 599, 600, 1, 0, 0, 0, 600, 93, 1, 0, 0, 0, 601, 604, 3, 156, 78, 0, 602, 604, 3, 158, 79, 0, 603, 601, 1, 0, 0, 0, 603, 602, 1, 0, 0, 0, 603, 604, 1, 0, 0, 0, 604, 605, 1, 0, 0, 0, 605, 606, 5, 104, 0, 0, 606, 607, 3, 148, 74, 0, 607, 95, 1, 0, 0, 0, 608, 609, 3, 166, 83, 0, 609, 610, 3, 34, 17, 0, 610, 97, 1, 0, 0, 0, 611, 612, 5, 20, 0, 0, 612, 613, 3, 18, 9, 0, 613, 614, 3, 34, 17, 0, 614, 99, 1, 0, 0, 0, 615, 616, 5, 20, 0, 0, 616, 617, 3, 18, 9, 0, 617, 618, 3, 88, 44, 0, 618, 101, 1, 0, 0, 0, 619, 620, 5, 20, 0, 0, 620, 621, 3, 18, 9, 0, 621, 622, 3, 84, 42, 0, 622, 631, 5, 66, 0, 0, 623, 628, 3, 148, 74, 0, 624, 625, 5, 73, 0, 0, 625, 627, 3, 148, 74, 0, 626, 624, 1, 0, 0, 0, 627, 630, 1, 0, 0, 0, 628, 626, 1, 0, 0, 0, 628, 629, 1, 0, 0, 0, 629, 632, 1, 0, 0, 0, 630, 628, 1, 0, 0, 0, 631, 623, 1, 0, 0, 0, 631, 632, 1, 0, 0, 0, 632, 633, 1, 0, 0, 0, 633, 634, 5, 67, 0, 0, 634, 103, 1, 0, 0, 0, 635, 636, 3, 166, 83, 0, 636, 637, 5, 70, 0, 0, 637, 638, 5, 115, 0, 0, 638, 105, 1, 0, 0, 0, 639, 641, 3, 104, 52, 0, 640, 639, 1, 0, 0, 0, 640, 641, 1, 0, 0, 0, 641, 642, 1, 0, 0, 0, 642, 643, 3, 18, 9, 0, 643, 644, 5, 70, 0, 0, 644, 645, 3, 166, 83, 0, 645, 653, 1, 0, 0, 0, 646, 648, 3, 104, 52, 0, 647, 646, 1, 0, 0, 0, 647, 648, 1, 0, 0, 0, 648, 649, 1, 0, 0, 0, 649, 650, 3, 154, 77, 0, 650, 651, 3, 46, 23, 0, 651, 653, 1, 0, 0, 0, 652, 640, 1, 0, 0, 0, 652, 647, 1, 0, 0, 0, 653, 107, 1, 0, 0, 0, 654, 656, 5, 21, 0, 0, 655, 654, 1, 0, 0, 0, 655, 656, 1, 0, 0, 0, 656, 657, 1, 0, 0, 0, 657, 659, 5, 18, 0, 0, 658, 660, 3, 148, 74, 0, 659, 658, 1, 0, 0, 0, 659, 660, 1, 0, 0, 0, 660, 109, 1, 0, 0, 0, 661, 662, 5, 19, 0, 0, 662, 663, 3, 148, 74, 0, 663, 111, 1, 0, 0, 0, 664, 665, 5, 23, 0, 0, 665, 666, 3, 166, 83, 0, 666, 667, 5, 71, 0, 0, 667, 113, 1, 0, 0, 0, 668, 669, 5, 24, 0, 0, 669, 670, 3, 166, 83, 0, 670, 671, 5, 71, 0, 0, 671, 115, 1, 0, 0, 0, 672, 673, 5, 36, 0, 0, 673, 674, 3, 52, 26, 0, 674, 117, 1, 0, 0, 0, 675, 676, 5, 36, 0, 0, 676, 677, 5, 64, 0, 0, 677, 682, 3, 92, 46, 0, 678, 679, 5, 73, 0, 0, 679, 681, 3, 92, 46, 0, 680, 678, 1, 0, 0, 0, 681, 684, 1, 0, 0, 0, 682, 680, 1, 0, 0, 0, 682, 683, 1, 0, 0, 0, 683, 685, 1, 0, 0, 0, 684, 682, 1, 0, 0, 0, 685, 686, 5, 65, 0, 0, 686, 687, 3, 52, 26, 0, 687, 119, 1, 0, 0, 0, 688, 690, 3, 122, 61, 0, 689, 688, 1, 0, 0, 0, 690, 693, 1, 0, 0, 0, 691, 689, 1, 0, 0, 0, 691, 692, 1, 0, 0, 0, 692, 694, 1, 0, 0, 0, 693, 691, 1, 0, 0, 0, 694, 695, 3, 124, 62, 0, 695, 121, 1, 0, 0, 0, 696, 709, 5, 37, 0, 0, 697, 698, 5, 64, 0, 0, 698, 703, 3, 18, 9, 0, 699, 700, 5, 73, 0, 0, 700, 702, 3, 18, 9, 0, 701, 699, 1, 0, 0, 0, 702, 705, 1, 0, 0, 0, 703, 701, 1, 0, 0, 0, 703, 704, 1, 0, 0, 0, 704, 706, 1, 0, 0, 0, 705, 703, 1, 0, 0, 0, 706, 707, 3, 166, 83, 0, 707, 708, 5, 65, 0, 0, 708, 710, 1, 0, 0, 0, 709, 697, 1, 0, 0, 0, 709, 710, 1, 0, 0, 0, 710, 711, 1, 0, 0, 0, 711, 712, 3, 52, 26, 0, 712, 123, 1, 0, 0, 0, 713, 714, 5, 38, 0, 0, 714, 715, 3, 52, 26, 0, 715, 125, 1, 0, 0, 0, 716, 717, 5, 25, 0, 0, 717, 718, 5, 64, 0, 0, 718, 719, 3, 148, 74, 0, 719, 720, 5, 65, 0, 0, 720, 722, 3, 52, 26, 0, 721, 723, 3, 128, 64, 0, 722, 721, 1, 0, 0, 0, 722, 723, 1, 0, 0, 0, 723, 127, 1, 0, 0, 0, 724, 725, 5, 26, 0, 0, 725, 726, 3, 52, 26, 0, 726, 129, 1, 0, 0, 0, 727, 728, 5, 30, 0, 0, 728, 729, 5, 64, 0, 0, 729, 730, 3, 148, 74, 0, 730, 731, 5, 65, 0, 0, 731, 732, 3, 52, 26, 0, 732, 131, 1, 0, 0, 0, 733, 734, 5, 27, 0, 0, 734, 735, 5, 64, 0, 0, 735, 736, 3, 144, 72, 0, 736, 737, 3, 148, 74, 0, 737, 738, 5, 71, 0, 0, 738, 739, 3, 148, 74, 0, 739, 740, 5, 65, 0, 0, 740, 741, 3, 52, 26, 0, 741, 133, 1, 0, 0, 0, 742, 743, 5, 28, 0, 0, 743, 744, 5, 64, 0, 0, 744, 745, 3, 166, 83, 0, 745, 746, 5, 70, 0, 0, 746, 747, 3, 148, 74, 0, 747, 748, 5, 65, 0, 0, 748, 749, 3, 52, 26, 0, 749, 135, 1, 0, 0, 0, 750, 751, 5, 29, 0, 0, 751, 752, 3, 52, 26, 0, 752, 753, 5, 30, 0, 0, 753, 754, 5, 64, 0, 0, 754, 755, 3, 148, 74, 0, 755, 756, 5, 65, 0, 0, 756, 757, 5, 71, 0, 0, 757, 137, 1, 0, 0, 0, 758, 759, 5, 31, 0, 0, 759, 760, 3, 154, 77, 0, 760, 764, 5, 66, 0, 0, 761, 763, 3, 140, 70, 0, 762, 761, 1, 0, 0, 0, 763, 766, 1, 0, 0, 0, 764, 762, 1, 0, 0, 0, 764, 765, 1, 0, 0, 0, 765, 768, 1, 0, 0, 0, 766, 764, 1, 0, 0, 0, 767, 769, 3, 142, 71, 0, 768, 767, 1, 0, 0, 0, 768, 769, 1, 0, 0, 0, 769, 770, 1, 0, 0, 0, 770, 771, 5, 67, 0, 0, 771, 139, 1, 0, 0, 0, 772, 773, 5, 32, 0, 0, 773, 774, 3, 154, 77, 0, 774, 775, 3, 48, 24, 0, 775, 141, 1, 0, 0, 0, 776, 777, 5, 33, 0, 0, 777, 778, 3, 48, 24, 0, 778, 143, 1, 0, 0, 0, 779, 780, 3, 92, 46, 0, 780, 781, 5, 71, 0, 0, 781, 865, 1, 0, 0, 0, 782, 783, 3, 148, 74, 0, 783, 784, 3, 94, 47, 0, 784, 785, 5, 71, 0, 0, 785, 865, 1, 0, 0, 0, 786, 787, 3, 154, 77, 0, 787, 788, 5, 104, 0, 0, 788, 789, 3, 154, 77, 0, 789, 865, 1, 0, 0, 0, 790, 791, 3, 148, 74, 0, 791, 792, 5, 72, 0, 0, 792, 794, 3, 166, 83, 0, 793, 795, 3, 34, 17, 0, 794, 793, 1, 0, 0, 0, 794, 795, 1, 0, 0, 0, 795, 865, 1, 0, 0, 0, 796, 797, 3, 108, 54, 0, 797, 798, 5, 71, 0, 0, 798, 865, 1, 0, 0, 0, 799, 800, 3, 110, 55, 0, 800, 801, 5, 71, 0, 0, 801, 865, 1, 0, 0, 0, 802, 865, 3, 112, 56, 0, 803, 865, 3, 114, 57, 0, 804, 806, 3, 116, 58, 0, 805, 807, 3, 120, 60, 0, 806, 805, 1, 0, 0, 0, 806, 807, 1, 0, 0, 0, 807, 865, 1, 0, 0, 0, 808, 810, 3, 118, 59, 0, 809, 811, 3, 120, 60, 0, 810, 809, 1, 0, 0, 0, 810, 811, 1, 0, 0, 0, 811, 865, 1, 0, 0, 0, 812, 814, 3, 126, 63, 0, 813, 815, 3, 120, 60, 0, 814, 813, 1, 0, 0, 0, 814, 815, 1, 0, 0, 0, 815, 865, 1, 0, 0, 0, 816, 818, 3, 130, 65, 0, 817, 819, 3, 120, 60, 0, 818, 817, 1, 0, 0, 0, 818, 819, 1, 0, 0, 0, 819, 865, 1, 0, 0, 0, 820, 822, 3, 136, 68, 0, 821, 823, 3, 120, 60, 0, 822, 821, 1, 0, 0, 0, 822, 823, 1, 0, 0, 0, 823, 865, 1, 0, 0, 0, 824, 826, 3, 132, 66, 0, 825, 827, 3, 120, 60, 0, 826, 825, 1, 0, 0, 0, 826, 827, 1, 0, 0, 0, 827, 865, 1, 0, 0, 0, 828, 830, 3, 134, 67, 0, 829, 831, 3, 120, 60, 0, 830, 829, 1, 0, 0, 0, 830, 831, 1, 0, 0, 0, 831, 865, 1, 0, 0, 0, 832, 834, 3, 138, 69, 0, 833, 835, 3, 120, 60, 0, 834, 833, 1, 0, 0, 0, 834, 835, 1, 0, 0, 0, 835, 865, 1, 0, 0, 0, 836, 839, 3, 148, 74, 0, 837, 838, 5, 110, 0, 0, 838, 840, 3, 106, 53, 0, 839, 837, 1, 0, 0, 0, 840, 841, 1, 0, 0, 0, 841, 839, 1, 0, 0, 0, 841, 842, 1, 0, 0, 0, 842, 843, 1, 0, 0, 0, 843, 844, 5, 71, 0, 0, 844, 865, 1, 0, 0, 0, 845, 848, 3, 148, 74, 0, 846, 847, 5, 109, 0, 0, 847, 849, 3, 148, 74, 0, 848, 846, 1, 0, 0, 0, 849, 850, 1, 0, 0, 0, 850, 848, 1, 0, 0, 0, 850, 851, 1, 0, 0, 0, 851, 852, 1, 0, 0, 0, 852, 853, 5, 71, 0, 0, 853, 865, 1, 0, 0, 0, 854, 857, 3, 148, 74, 0, 855, 856, 5, 108, 0, 0, 856, 858, 3, 148, 74, 0, 857, 855, 1, 0, 0, 0, 858, 859, 1, 0, 0, 0, 859, 857, 1, 0, 0, 0, 859, 860, 1, 0, 0, 0, 860, 861, 1, 0, 0, 0, 861, 862, 5, 71, 0, 0, 862, 865, 1, 0, 0, 0, 863, 865, 5, 71, 0, 0, 864, 779, 1, 0, 0, 0, 864, 782, 1, 0, 0, 0, 864, 786, 1, 0, 0, 0, 864, 790, 1, 0, 0, 0, 864, 796, 1, 0, 0, 0, 864, 799, 1, 0, 0, 0, 864, 802, 1, 0, 0, 0, 864, 803, 1, 0, 0, 0, 864, 804, 1, 0, 0, 0, 864, 808, 1, 0, 0, 0, 864, 812, 1, 0, 0, 0, 864, 816, 1, 0, 0, 0, 864, 820, 1, 0, 0, 0, 864, 824, 1, 0, 0, 0, 864, 828, 1, 0, 0, 0, 864, 832, 1, 0, 0, 0, 864, 836, 1, 0, 0, 0, 864, 845, 1, 0, 0, 0, 864, 854, 1, 0, 0, 0, 864, 863, 1, 0, 0, 0, 865, 145, 1, 0, 0, 0, 866, 868, 3, 18, 9, 0, 867, 866, 1, 0, 0, 0, 867, 868, 1, 0, 0, 0, 868, 869, 1, 0, 0, 0, 869, 870, 3, 148, 74, 0, 870, 147, 1, 0, 0, 0, 871, 872, 6, 74, -1, 0, 872, 894, 3, 166, 83, 0, 873, 874, 3, 160, 80, 0, 874, 875, 3, 148, 74, 24, 875, 894, 1, 0, 0, 0, 876, 877, 5, 21, 0, 0, 877, 894, 3, 148, 74, 20, 878, 879, 5, 64, 0, 0, 879, 880, 3, 148, 74, 0, 880, 881, 5, 65, 0, 0, 881, 894, 1, 0, 0, 0, 882, 894, 3, 90, 45, 0, 883, 894, 3, 100, 50, 0, 884, 894, 3, 102, 51, 0, 885, 894, 3, 176, 88, 0, 886, 894, 3, 18, 9, 0, 887, 894, 3, 106, 53, 0, 888, 894, 3, 92, 46, 0, 889, 894, 3, 98, 49, 0, 890, 894, 3, 110, 55, 0, 891, 894, 3, 138, 69, 0, 892, 894, 3, 154, 77, 0, 893, 871, 1, 0, 0, 0, 893, 873, 1, 0, 0, 0, 893, 876, 1, 0, 0, 0, 893, 878, 1, 0, 0, 0, 893, 882, 1, 0, 0, 0, 893, 883, 1, 0, 0, 0, 893, 884, 1, 0, 0, 0, 893, 885, 1, 0, 0, 0, 893, 886, 1, 0, 0, 0, 893, 887, 1, 0, 0, 0, 893, 888, 1, 0, 0, 0, 893, 889, 1, 0, 0, 0, 893, 890, 1, 0, 0, 0, 893, 891, 1, 0, 0, 0, 893, 892, 1, 0, 0, 0, 894, 939, 1, 0, 0, 0, 895, 896, 10, 23, 0, 0, 896, 897, 3, 156, 78, 0, 897, 898, 3, 148, 74, 24, 898, 938, 1, 0, 0, 0, 899, 900, 10, 17, 0, 0, 900, 901, 5, 75, 0, 0, 901, 902, 3, 148, 74, 0, 902, 903, 5, 70, 0, 0, 903, 904, 3, 148, 74, 18, 904, 938, 1, 0, 0, 0, 905, 906, 10, 4, 0, 0, 906, 907, 5, 76, 0, 0, 907, 938, 3, 148, 74, 5, 908, 909, 10, 1, 0, 0, 909, 910, 3, 158, 79, 0, 910, 911, 3, 148, 74, 2, 911, 938, 1, 0, 0, 0, 912, 913, 10, 22, 0, 0, 913, 938, 3, 162, 81, 0, 914, 915, 10, 21, 0, 0, 915, 916, 5, 22, 0, 0, 916, 918, 3, 18, 9, 0, 917, 919, 3, 166, 83, 0, 918, 917, 1, 0, 0, 0, 918, 919, 1, 0, 0, 0, 919, 938, 1, 0, 0, 0, 920, 921, 10, 19, 0, 0, 921, 938, 3, 88, 44, 0, 922, 923, 10, 9, 0, 0, 923, 938, 3, 94, 47, 0, 924, 925, 10, 8, 0, 0, 925, 926, 5, 72, 0, 0, 926, 928, 3, 166, 83, 0, 927, 929, 3, 34, 17, 0, 928, 927, 1, 0, 0, 0, 928, 929, 1, 0, 0, 0, 929, 938, 1, 0, 0, 0, 930, 933, 10, 3, 0, 0, 931, 932, 5, 110, 0, 0, 932, 934, 3, 106, 53, 0, 933, 931, 1, 0, 0, 0, 934, 935, 1, 0, 0, 0, 935, 933, 1, 0, 0, 0, 935, 936, 1, 0, 0, 0, 936, 938, 1, 0, 0, 0, 937, 895, 1, 0, 0, 0, 937, 899, 1, 0, 0, 0, 937, 905, 1, 0, 0, 0, 937, 908, 1, 0, 0, 0, 937, 912, 1, 0, 0, 0, 937, 914, 1, 0, 0, 0, 937, 920, 1, 0, 0, 0, 937, 922, 1, 0, 0, 0, 937, 924, 1, 0, 0, 0, 937, 930, 1, 0, 0, 0, 938, 941, 1, 0, 0, 0, 939, 937, 1, 0, 0, 0, 939, 940, 1, 0, 0, 0, 940, 149, 1, 0, 0, 0, 941, 939, 1, 0, 0, 0, 942, 944, 3, 18, 9, 0, 943, 945, 3, 166, 83, 0, 944, 943, 1, 0, 0, 0, 944, 945, 1, 0, 0, 0, 945, 151, 1, 0, 0, 0, 946, 947, 5, 64, 0, 0, 947, 952, 3, 150, 75, 0, 948, 949, 5, 73, 0, 0, 949, 951, 3, 150, 75, 0, 950, 948, 1, 0, 0, 0, 951, 954, 1, 0, 0, 0, 952, 950, 1, 0, 0, 0, 952, 953, 1, 0, 0, 0, 953, 955, 1, 0, 0, 0, 954, 952, 1, 0, 0, 0, 955, 956, 5, 65, 0, 0, 956, 153, 1, 0, 0, 0, 957, 958, 5, 64, 0, 0, 958, 963, 3, 146, 73, 0, 959, 960, 5, 73, 0, 0, 960, 962, 3, 146, 73, 0, 961, 959, 1, 0, 0, 0, 962, 965, 1, 0, 0, 0, 963, 961, 1, 0, 0, 0, 963, 964, 1, 0, 0, 0, 964, 966, 1, 0, 0, 0, 965, 963, 1, 0, 0, 0, 966, 967, 5, 65, 0, 0, 967, 155, 1, 0, 0, 0, 968, 990, 5, 88, 0, 0, 969, 990, 5, 89, 0, 0, 970, 990, 5, 92, 0, 0, 971, 990, 5, 85, 0, 0, 972, 990, 5, 86, 0, 0, 973, 990, 5, 74, 0, 0, 974, 990, 5, 81, 0, 0, 975, 990, 5, 82, 0, 0, 976, 990, 5, 87, 0, 0, 977, 990, 5, 98, 0, 0, 978, 990, 5, 99, 0, 0, 979, 990, 5, 100, 0, 0, 980, 990, 5, 101, 0, 0, 981, 990, 5, 102, 0, 0, 982, 990, 5, 103, 0, 0, 983, 990, 5, 94, 0, 0, 984, 990, 5, 95, 0, 0, 985, 990, 5, 96, 0, 0, 986, 990, 5, 97, 0, 0, 987, 988, 5, 75, 0, 0, 988, 990, 5, 75, 0, 0, 989, 968, 1, 0, 0, 0, 989, 969, 1, 0, 0, 0, 989, 970, 1, 0, 0, 0, 989, 971, 1, 0, 0, 0, 989, 972, 1, 0, 0, 0, 989, 973, 1, 0, 0, 0, 989, 974, 1, 0, 0, 0, 989, 975, 1, 0, 0, 0, 989, 976, 1, 0, 0, 0, 989, 977, 1, 0, 0, 0, 989, 978, 1, 0, 0, 0, 989, 979, 1, 0, 0, 0, 989, 980, 1, 0, 0, 0, 989, 981, 1, 0, 0, 0, 989, 982, 1, 0, 0, 0, 989, 983, 1, 0, 0, 0, 989, 984, 1, 0, 0, 0, 989, 985, 1, 0, 0, 0, 989, 986, 1, 0, 0, 0, 989, 987, 1, 0, 0, 0, 990, 157, 1, 0, 0, 0, 991, 994, 5, 90, 0, 0, 992, 994, 5, 91, 0, 0, 993, 991, 1, 0, 0, 0, 993, 992, 1, 0, 0, 0, 994, 159, 1, 0, 0, 0, 995, 1000, 5, 91, 0, 0, 996, 1000, 5, 74, 0, 0, 997, 1000, 5, 83, 0, 0, 998, 1000, 5, 84, 0, 0, 999, 995, 1, 0, 0, 0, 999, 996, 1, 0, 0, 0, 999, 997, 1, 0, 0, 0, 999, 998, 1, 0, 0, 0, 1000, 161, 1, 0, 0, 0, 1001, 1004, 5, 83, 0, 0, 1002, 1004, 5, 84, 0, 0, 1003, 1001, 1, 0, 0, 0, 1003, 1002, 1, 0, 0, 0, 1004, 163, 1, 0, 0, 0, 1005, 1010, 3, 166, 83, 0, 1006, 1007, 5, 72, 0, 0, 1007, 1009, 3, 166, 83, 0, 1008, 1006, 1, 0, 0, 0, 1009, 1012, 1, 0, 0, 0, 1010, 1008, 1, 0, 0, 0, 1010, 1011, 1, 0, 0, 0, 1011, 165, 1, 0, 0, 0, 1012, 1010, 1, 0, 0, 0, 1013, 1014, 7, 1, 0, 0, 1014, 167, 1, 0, 0, 0, 1015, 1017, 5, 40, 0, 0, 1016, 1018, 3, 16, 8, 0, 1017, 1016, 1, 0, 0, 0, 1017, 1018, 1, 0, 0, 0, 1018, 169, 1, 0, 0, 0, 1019, 1021, 5, 41, 0, 0, 1020, 1022, 3, 16, 8, 0, 1021, 1020, 1, 0, 0, 0, 1021, 1022, 1, 0, 0, 0, 1022, 171, 1, 0, 0, 0, 1023, 1025, 7, 2, 0, 0, 1024, 1026, 3, 16, 8, 0, 1025, 1024, 1, 0, 0, 0, 1025, 1026, 1, 0, 0, 0, 1026, 1034, 1, 0, 0, 0, 1027, 1034, 5, 44, 0, 0, 1028, 1034, 5, 45, 0, 0, 1029, 1034, 5, 46, 0, 0, 1030, 1034, 5, 47, 0, 0, 1031, 1034, 5, 48, 0, 0, 1032, 1034, 5, 49, 0, 0, 1033, 1023, 1, 0, 0, 0, 1033, 1027, 1, 0, 0, 0, 1033, 1028, 1, 0, 0, 0, 1033, 1029, 1, 0, 0, 0, 1033, 1030, 1, 0, 0, 0, 1033, 1031, 1, 0, 0, 0, 1033, 1032, 1, 0, 0, 0, 1034, 173, 1, 0, 0, 0, 1035, 1043, 5, 39, 0, 0, 1036, 1043, 3, 168, 84, 0, 1037, 1043, 3, 170, 85, 0, 1038, 1043, 3, 172, 86, 0, 1039, 1043, 5, 42, 0, 0, 1040, 1043, 5, 14, 0, 0, 1041, 1043, 5, 50, 0, 0, 1042, 1035, 1, 0, 0, 0, 1042, 1036, 1, 0, 0, 0, 1042, 1037, 1, 0, 0, 0, 1042, 1038, 1, 0, 0, 0, 1042, 1039, 1, 0, 0, 0, 1042, 1040, 1, 0, 0, 0, 1042, 1041, 1, 0, 0, 0, 1043, 175, 1, 0, 0, 0, 1044, 1054, 5, 59, 0, 0, 1045, 1054, 5, 60, 0, 0, 1046, 1054, 5, 52, 0, 0, 1047, 1054, 5, 57, 0, 0, 1048, 1054, 5, 58, 0, 0, 1049, 1054, 5, 53, 0, 0, 1050, 1054, 5, 54, 0, 0, 1051, 1054, 5, 55, 0, 0, 1052, 1054, 5, 56, 0, 0, 1053, 1044, 1, 0, 0, 0, 1053, 1045, 1, 0, 0, 0, 1053, 1046, 1, 0, 0, 0, 1053, 1047, 1, 0, 0, 0, 1053, 1048, 1, 0, 0, 0, 1053, 1049, 1, 0, 0, 0, 1053, 1050, 1, 0, 0, 0, 1053, 1051, 1, 0, 0, 0, 1053, 1052, 1, 0, 0, 0, 1054, 177, 1, 0, 0, 0, 111, 185, 190, 195, 211, 215, 218, 229, 234, 241, 246, 252, 260, 264, 268, 270, 274, 278, 284, 289, 291, 296, 302, 313, 322, 326, 332, 340, 343, 353, 356, 363, 370, 382, 392, 399, 404, 418, 424, 431, 438, 443, 453, 458, 478, 481, 487, 490, 495, 507, 511, 515, 518, 523, 530, 533, 536, 542, 547, 554, 573, 584, 599, 603, 628, 631, 640, 647, 652, 655, 659, 682, 691, 703, 709, 722, 764, 768, 794, 806, 810, 814, 818, 822, 826, 830, 834, 841, 850, 859, 864, 867, 893, 918, 928, 935, 937, 939, 944, 952, 963, 989, 993, 999, 1003, 1010, 1017, 1021, 1025, 1033, 1042, 1053] \ No newline at end of file diff --git a/kscr-compiler/KScr/Antlr/KScrParser.tokens b/kscr-compiler/KScr/Antlr/KScrParser.tokens new file mode 100644 index 0000000..7ae0813 --- /dev/null +++ b/kscr-compiler/KScr/Antlr/KScrParser.tokens @@ -0,0 +1,224 @@ +PACKAGE=1 +IMPORT=2 +PUBLIC=3 +INTERNAL=4 +PROTECTED=5 +PRIVATE=6 +STATIC=7 +FINAL=8 +ABSTRACT=9 +NATIVE=10 +SYNCHRONIZED=11 +CLASS=12 +INTERFACE=13 +ENUM=14 +ANNOTATION=15 +EXTENDS=16 +IMPLEMENTS=17 +RETURN=18 +THROW=19 +NEW=20 +YIELD=21 +IS=22 +MARK=23 +JUMP=24 +IF=25 +ELSE=26 +FOR=27 +FOREACH=28 +DO=29 +WHILE=30 +SWITCH=31 +CASE=32 +DEFAULT=33 +BREAK=34 +CONTINUE=35 +TRY=36 +CATCH=37 +FINALLY=38 +OBJECT=39 +ARRAYIDENT=40 +TUPLEIDENT=41 +TYPE=42 +NUMIDENT=43 +BYTE=44 +SHORT=45 +INT=46 +LONG=47 +FLOAT=48 +DOUBLE=49 +VOID=50 +VAR=51 +NUMLIT=52 +STRLIT=53 +STDIOLIT=54 +ENDLLIT=55 +NULL=56 +TRUE=57 +FALSE=58 +THIS=59 +SUPER=60 +GET=61 +SET=62 +INIT=63 +LPAREN=64 +RPAREN=65 +LBRACE=66 +RBRACE=67 +LSQUAR=68 +RSQUAR=69 +COLON=70 +SEMICOLON=71 +DOT=72 +COMMA=73 +EXCLAMATION=74 +QUESTION=75 +SHORTELIPSES=76 +ELIPSES=77 +TILDE=78 +ESCAPE_QUOTE=79 +QUOTE=80 +AND=81 +OR=82 +PLUSPLUS=83 +MINUSMINUS=84 +BITAND=85 +BITOR=86 +UP=87 +STAR=88 +SLASH=89 +PLUS=90 +MINUS=91 +PERCENT=92 +AT=93 +LSHIFT=94 +RSHIFT=95 +ULSHIFT=96 +URSHIFT=97 +EQUAL=98 +INEQUAL=99 +GREATEREQ=100 +LESSEREQ=101 +GREATER=102 +LESSER=103 +ASSIGN=104 +REQARROW=105 +LDASHARROW=106 +RDASHARROW=107 +LLDASHARROW=108 +RRDASHARROW=109 +RREQARROW=110 +ID=111 +DIGIT=112 +LETTER=113 +SING_COMMENT=114 +WS=115 +UNMATCHED=116 +'package'=1 +'import'=2 +'public'=3 +'internal'=4 +'protected'=5 +'private'=6 +'static'=7 +'final'=8 +'abstract'=9 +'native'=10 +'synchronized'=11 +'class'=12 +'interface'=13 +'enum'=14 +'annotation'=15 +'extends'=16 +'implements'=17 +'return'=18 +'throw'=19 +'new'=20 +'yield'=21 +'is'=22 +'mark'=23 +'jump'=24 +'if'=25 +'else'=26 +'for'=27 +'foreach'=28 +'do'=29 +'while'=30 +'switch'=31 +'case'=32 +'default'=33 +'break'=34 +'continue'=35 +'try'=36 +'catch'=37 +'finally'=38 +'object'=39 +'array'=40 +'tuple'=41 +'type'=42 +'num'=43 +'byte'=44 +'short'=45 +'int'=46 +'long'=47 +'float'=48 +'double'=49 +'void'=50 +'var'=51 +'stdio'=54 +'endl'=55 +'null'=56 +'true'=57 +'false'=58 +'this'=59 +'super'=60 +'get'=61 +'set'=62 +'init'=63 +'('=64 +')'=65 +'{'=66 +'}'=67 +'['=68 +']'=69 +':'=70 +';'=71 +'.'=72 +','=73 +'!'=74 +'?'=75 +'..'=76 +'...'=77 +'~'=78 +'\\"'=79 +'"'=80 +'&&'=81 +'||'=82 +'++'=83 +'--'=84 +'&'=85 +'|'=86 +'^'=87 +'*'=88 +'/'=89 +'+'=90 +'-'=91 +'%'=92 +'@'=93 +'<<'=94 +'>>'=95 +'<<<'=96 +'>>>'=97 +'=='=98 +'!='=99 +'>='=100 +'<='=101 +'>'=102 +'<'=103 +'='=104 +'=>'=105 +'<-'=106 +'->'=107 +'<<-'=108 +'->>'=109 +'=>>'=110 diff --git a/kscr-compiler/KScr/Antlr/KScrParserBaseListener.cs b/kscr-compiler/KScr/Antlr/KScrParserBaseListener.cs new file mode 100644 index 0000000..8861747 --- /dev/null +++ b/kscr-compiler/KScr/Antlr/KScrParserBaseListener.cs @@ -0,0 +1,2739 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.10.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from C:/dev/KScr/grammar\KScrParser.g4 by ANTLR 4.10.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + +namespace KScr.Antlr { + +using Antlr4.Runtime.Misc; +using IErrorNode = Antlr4.Runtime.Tree.IErrorNode; +using ITerminalNode = Antlr4.Runtime.Tree.ITerminalNode; +using IToken = Antlr4.Runtime.IToken; +using ParserRuleContext = Antlr4.Runtime.ParserRuleContext; + +/// +/// This class provides an empty implementation of , +/// which can be extended to create a listener which only needs to handle a subset +/// of the available methods. +/// +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.10.1")] +[System.Diagnostics.DebuggerNonUserCode] +[System.CLSCompliant(false)] +public partial class KScrParserBaseListener : IKScrParserListener { + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPackageDecl([NotNull] KScrParser.PackageDeclContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPackageDecl([NotNull] KScrParser.PackageDeclContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterImports([NotNull] KScrParser.ImportsContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitImports([NotNull] KScrParser.ImportsContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterImportDecl([NotNull] KScrParser.ImportDeclContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitImportDecl([NotNull] KScrParser.ImportDeclContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterAnnotationArg([NotNull] KScrParser.AnnotationArgContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitAnnotationArg([NotNull] KScrParser.AnnotationArgContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterAnnotation([NotNull] KScrParser.AnnotationContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitAnnotation([NotNull] KScrParser.AnnotationContext context) { } + /// + /// Enter a parse tree produced by the modPublic + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModPublic([NotNull] KScrParser.ModPublicContext context) { } + /// + /// Exit a parse tree produced by the modPublic + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModPublic([NotNull] KScrParser.ModPublicContext context) { } + /// + /// Enter a parse tree produced by the modInternal + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModInternal([NotNull] KScrParser.ModInternalContext context) { } + /// + /// Exit a parse tree produced by the modInternal + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModInternal([NotNull] KScrParser.ModInternalContext context) { } + /// + /// Enter a parse tree produced by the modProtected + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModProtected([NotNull] KScrParser.ModProtectedContext context) { } + /// + /// Exit a parse tree produced by the modProtected + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModProtected([NotNull] KScrParser.ModProtectedContext context) { } + /// + /// Enter a parse tree produced by the modPrivate + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModPrivate([NotNull] KScrParser.ModPrivateContext context) { } + /// + /// Exit a parse tree produced by the modPrivate + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModPrivate([NotNull] KScrParser.ModPrivateContext context) { } + /// + /// Enter a parse tree produced by the modStatic + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModStatic([NotNull] KScrParser.ModStaticContext context) { } + /// + /// Exit a parse tree produced by the modStatic + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModStatic([NotNull] KScrParser.ModStaticContext context) { } + /// + /// Enter a parse tree produced by the modFinal + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModFinal([NotNull] KScrParser.ModFinalContext context) { } + /// + /// Exit a parse tree produced by the modFinal + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModFinal([NotNull] KScrParser.ModFinalContext context) { } + /// + /// Enter a parse tree produced by the modAbstract + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModAbstract([NotNull] KScrParser.ModAbstractContext context) { } + /// + /// Exit a parse tree produced by the modAbstract + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModAbstract([NotNull] KScrParser.ModAbstractContext context) { } + /// + /// Enter a parse tree produced by the modSyncronized + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModSyncronized([NotNull] KScrParser.ModSyncronizedContext context) { } + /// + /// Exit a parse tree produced by the modSyncronized + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModSyncronized([NotNull] KScrParser.ModSyncronizedContext context) { } + /// + /// Enter a parse tree produced by the modNative + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModNative([NotNull] KScrParser.ModNativeContext context) { } + /// + /// Exit a parse tree produced by the modNative + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModNative([NotNull] KScrParser.ModNativeContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModifiers([NotNull] KScrParser.ModifiersContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModifiers([NotNull] KScrParser.ModifiersContext context) { } + /// + /// Enter a parse tree produced by the ctClass + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCtClass([NotNull] KScrParser.CtClassContext context) { } + /// + /// Exit a parse tree produced by the ctClass + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCtClass([NotNull] KScrParser.CtClassContext context) { } + /// + /// Enter a parse tree produced by the ctInterface + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCtInterface([NotNull] KScrParser.CtInterfaceContext context) { } + /// + /// Exit a parse tree produced by the ctInterface + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCtInterface([NotNull] KScrParser.CtInterfaceContext context) { } + /// + /// Enter a parse tree produced by the ctEnum + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCtEnum([NotNull] KScrParser.CtEnumContext context) { } + /// + /// Exit a parse tree produced by the ctEnum + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCtEnum([NotNull] KScrParser.CtEnumContext context) { } + /// + /// Enter a parse tree produced by the ctAnnotation + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCtAnnotation([NotNull] KScrParser.CtAnnotationContext context) { } + /// + /// Exit a parse tree produced by the ctAnnotation + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCtAnnotation([NotNull] KScrParser.CtAnnotationContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterGenericTypeUses([NotNull] KScrParser.GenericTypeUsesContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitGenericTypeUses([NotNull] KScrParser.GenericTypeUsesContext context) { } + /// + /// Enter a parse tree produced by the importedTypeName + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterImportedTypeName([NotNull] KScrParser.ImportedTypeNameContext context) { } + /// + /// Exit a parse tree produced by the importedTypeName + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitImportedTypeName([NotNull] KScrParser.ImportedTypeNameContext context) { } + /// + /// Enter a parse tree produced by the normalTypeUse + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNormalTypeUse([NotNull] KScrParser.NormalTypeUseContext context) { } + /// + /// Exit a parse tree produced by the normalTypeUse + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNormalTypeUse([NotNull] KScrParser.NormalTypeUseContext context) { } + /// + /// Enter a parse tree produced by the arrayTypeUse + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterArrayTypeUse([NotNull] KScrParser.ArrayTypeUseContext context) { } + /// + /// Exit a parse tree produced by the arrayTypeUse + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitArrayTypeUse([NotNull] KScrParser.ArrayTypeUseContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterRawType([NotNull] KScrParser.RawTypeContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitRawType([NotNull] KScrParser.RawTypeContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterGenericTypeDef([NotNull] KScrParser.GenericTypeDefContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitGenericTypeDef([NotNull] KScrParser.GenericTypeDefContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterGenericTypeDefs([NotNull] KScrParser.GenericTypeDefsContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitGenericTypeDefs([NotNull] KScrParser.GenericTypeDefsContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterObjectExtends([NotNull] KScrParser.ObjectExtendsContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitObjectExtends([NotNull] KScrParser.ObjectExtendsContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterObjectImplements([NotNull] KScrParser.ObjectImplementsContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitObjectImplements([NotNull] KScrParser.ObjectImplementsContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterParameter([NotNull] KScrParser.ParameterContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitParameter([NotNull] KScrParser.ParameterContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterParameters([NotNull] KScrParser.ParametersContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitParameters([NotNull] KScrParser.ParametersContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterArguments([NotNull] KScrParser.ArgumentsContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitArguments([NotNull] KScrParser.ArgumentsContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStatements([NotNull] KScrParser.StatementsContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStatements([NotNull] KScrParser.StatementsContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNoBlock([NotNull] KScrParser.NoBlockContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNoBlock([NotNull] KScrParser.NoBlockContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterUniformBlock([NotNull] KScrParser.UniformBlockContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitUniformBlock([NotNull] KScrParser.UniformBlockContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNormalBlock([NotNull] KScrParser.NormalBlockContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNormalBlock([NotNull] KScrParser.NormalBlockContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMemberExpr([NotNull] KScrParser.MemberExprContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMemberExpr([NotNull] KScrParser.MemberExprContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLambdaBlock([NotNull] KScrParser.LambdaBlockContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLambdaBlock([NotNull] KScrParser.LambdaBlockContext context) { } + /// + /// Enter a parse tree produced by the caseStmtBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCaseStmtBlock([NotNull] KScrParser.CaseStmtBlockContext context) { } + /// + /// Exit a parse tree produced by the caseStmtBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCaseStmtBlock([NotNull] KScrParser.CaseStmtBlockContext context) { } + /// + /// Enter a parse tree produced by the caseExprBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCaseExprBlock([NotNull] KScrParser.CaseExprBlockContext context) { } + /// + /// Exit a parse tree produced by the caseExprBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCaseExprBlock([NotNull] KScrParser.CaseExprBlockContext context) { } + /// + /// Enter a parse tree produced by the memberNormalBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMemberNormalBlock([NotNull] KScrParser.MemberNormalBlockContext context) { } + /// + /// Exit a parse tree produced by the memberNormalBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMemberNormalBlock([NotNull] KScrParser.MemberNormalBlockContext context) { } + /// + /// Enter a parse tree produced by the memberExprBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMemberExprBlock([NotNull] KScrParser.MemberExprBlockContext context) { } + /// + /// Exit a parse tree produced by the memberExprBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMemberExprBlock([NotNull] KScrParser.MemberExprBlockContext context) { } + /// + /// Enter a parse tree produced by the memberNoBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMemberNoBlock([NotNull] KScrParser.MemberNoBlockContext context) { } + /// + /// Exit a parse tree produced by the memberNoBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMemberNoBlock([NotNull] KScrParser.MemberNoBlockContext context) { } + /// + /// Enter a parse tree produced by the codeNormalBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCodeNormalBlock([NotNull] KScrParser.CodeNormalBlockContext context) { } + /// + /// Exit a parse tree produced by the codeNormalBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCodeNormalBlock([NotNull] KScrParser.CodeNormalBlockContext context) { } + /// + /// Enter a parse tree produced by the codeStmtBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCodeStmtBlock([NotNull] KScrParser.CodeStmtBlockContext context) { } + /// + /// Exit a parse tree produced by the codeStmtBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCodeStmtBlock([NotNull] KScrParser.CodeStmtBlockContext context) { } + /// + /// Enter a parse tree produced by the codeNoBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCodeNoBlock([NotNull] KScrParser.CodeNoBlockContext context) { } + /// + /// Exit a parse tree produced by the codeNoBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCodeNoBlock([NotNull] KScrParser.CodeNoBlockContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterInitDecl([NotNull] KScrParser.InitDeclContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitInitDecl([NotNull] KScrParser.InitDeclContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSubConstructorCall([NotNull] KScrParser.SubConstructorCallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSubConstructorCall([NotNull] KScrParser.SubConstructorCallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSubConstructorCalls([NotNull] KScrParser.SubConstructorCallsContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSubConstructorCalls([NotNull] KScrParser.SubConstructorCallsContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterConstructorDecl([NotNull] KScrParser.ConstructorDeclContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitConstructorDecl([NotNull] KScrParser.ConstructorDeclContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMethodDecl([NotNull] KScrParser.MethodDeclContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMethodDecl([NotNull] KScrParser.MethodDeclContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterIndexerMemberDecl([NotNull] KScrParser.IndexerMemberDeclContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitIndexerMemberDecl([NotNull] KScrParser.IndexerMemberDeclContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPropGetter([NotNull] KScrParser.PropGetterContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPropGetter([NotNull] KScrParser.PropGetterContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPropSetter([NotNull] KScrParser.PropSetterContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPropSetter([NotNull] KScrParser.PropSetterContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPropInit([NotNull] KScrParser.PropInitContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPropInit([NotNull] KScrParser.PropInitContext context) { } + /// + /// Enter a parse tree produced by the propComputed + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPropComputed([NotNull] KScrParser.PropComputedContext context) { } + /// + /// Exit a parse tree produced by the propComputed + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPropComputed([NotNull] KScrParser.PropComputedContext context) { } + /// + /// Enter a parse tree produced by the propAccessors + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPropAccessors([NotNull] KScrParser.PropAccessorsContext context) { } + /// + /// Exit a parse tree produced by the propAccessors + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPropAccessors([NotNull] KScrParser.PropAccessorsContext context) { } + /// + /// Enter a parse tree produced by the propFieldStyle + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPropFieldStyle([NotNull] KScrParser.PropFieldStyleContext context) { } + /// + /// Exit a parse tree produced by the propFieldStyle + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPropFieldStyle([NotNull] KScrParser.PropFieldStyleContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPropertyDecl([NotNull] KScrParser.PropertyDeclContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPropertyDecl([NotNull] KScrParser.PropertyDeclContext context) { } + /// + /// Enter a parse tree produced by the memProp + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMemProp([NotNull] KScrParser.MemPropContext context) { } + /// + /// Exit a parse tree produced by the memProp + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMemProp([NotNull] KScrParser.MemPropContext context) { } + /// + /// Enter a parse tree produced by the memCls + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMemCls([NotNull] KScrParser.MemClsContext context) { } + /// + /// Exit a parse tree produced by the memCls + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMemCls([NotNull] KScrParser.MemClsContext context) { } + /// + /// Enter a parse tree produced by the memInit + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMemInit([NotNull] KScrParser.MemInitContext context) { } + /// + /// Exit a parse tree produced by the memInit + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMemInit([NotNull] KScrParser.MemInitContext context) { } + /// + /// Enter a parse tree produced by the memCtor + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMemCtor([NotNull] KScrParser.MemCtorContext context) { } + /// + /// Exit a parse tree produced by the memCtor + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMemCtor([NotNull] KScrParser.MemCtorContext context) { } + /// + /// Enter a parse tree produced by the memMtd + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMemMtd([NotNull] KScrParser.MemMtdContext context) { } + /// + /// Exit a parse tree produced by the memMtd + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMemMtd([NotNull] KScrParser.MemMtdContext context) { } + /// + /// Enter a parse tree produced by the memIdx + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMemIdx([NotNull] KScrParser.MemIdxContext context) { } + /// + /// Exit a parse tree produced by the memIdx + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMemIdx([NotNull] KScrParser.MemIdxContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterClassDecl([NotNull] KScrParser.ClassDeclContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitClassDecl([NotNull] KScrParser.ClassDeclContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterFile([NotNull] KScrParser.FileContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitFile([NotNull] KScrParser.FileContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterInferType([NotNull] KScrParser.InferTypeContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitInferType([NotNull] KScrParser.InferTypeContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterIndexerEmpty([NotNull] KScrParser.IndexerEmptyContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitIndexerEmpty([NotNull] KScrParser.IndexerEmptyContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterIndexerDecl([NotNull] KScrParser.IndexerDeclContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitIndexerDecl([NotNull] KScrParser.IndexerDeclContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterIndexerExpr([NotNull] KScrParser.IndexerExprContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitIndexerExpr([NotNull] KScrParser.IndexerExprContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCast([NotNull] KScrParser.CastContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCast([NotNull] KScrParser.CastContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterDeclaration([NotNull] KScrParser.DeclarationContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitDeclaration([NotNull] KScrParser.DeclarationContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMutation([NotNull] KScrParser.MutationContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMutation([NotNull] KScrParser.MutationContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCall([NotNull] KScrParser.CallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCall([NotNull] KScrParser.CallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCtorCall([NotNull] KScrParser.CtorCallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCtorCall([NotNull] KScrParser.CtorCallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNewArray([NotNull] KScrParser.NewArrayContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNewArray([NotNull] KScrParser.NewArrayContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNewListedArray([NotNull] KScrParser.NewListedArrayContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNewListedArray([NotNull] KScrParser.NewListedArrayContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLabel([NotNull] KScrParser.LabelContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLabel([NotNull] KScrParser.LabelContext context) { } + /// + /// Enter a parse tree produced by the methodRef + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMethodRef([NotNull] KScrParser.MethodRefContext context) { } + /// + /// Exit a parse tree produced by the methodRef + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMethodRef([NotNull] KScrParser.MethodRefContext context) { } + /// + /// Enter a parse tree produced by the lambdaExpr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLambdaExpr([NotNull] KScrParser.LambdaExprContext context) { } + /// + /// Exit a parse tree produced by the lambdaExpr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLambdaExpr([NotNull] KScrParser.LambdaExprContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterReturnStatement([NotNull] KScrParser.ReturnStatementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitReturnStatement([NotNull] KScrParser.ReturnStatementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterThrowStatement([NotNull] KScrParser.ThrowStatementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitThrowStatement([NotNull] KScrParser.ThrowStatementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMarkStatement([NotNull] KScrParser.MarkStatementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMarkStatement([NotNull] KScrParser.MarkStatementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterJumpStatement([NotNull] KScrParser.JumpStatementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitJumpStatement([NotNull] KScrParser.JumpStatementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTryCatchStatement([NotNull] KScrParser.TryCatchStatementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTryCatchStatement([NotNull] KScrParser.TryCatchStatementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTryWithResourcesStatement([NotNull] KScrParser.TryWithResourcesStatementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTryWithResourcesStatement([NotNull] KScrParser.TryWithResourcesStatementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCatchBlocks([NotNull] KScrParser.CatchBlocksContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCatchBlocks([NotNull] KScrParser.CatchBlocksContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCatchBlock([NotNull] KScrParser.CatchBlockContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCatchBlock([NotNull] KScrParser.CatchBlockContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterFinallyBlock([NotNull] KScrParser.FinallyBlockContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitFinallyBlock([NotNull] KScrParser.FinallyBlockContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterIfStatement([NotNull] KScrParser.IfStatementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitIfStatement([NotNull] KScrParser.IfStatementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterElseStatement([NotNull] KScrParser.ElseStatementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitElseStatement([NotNull] KScrParser.ElseStatementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterWhileStatement([NotNull] KScrParser.WhileStatementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitWhileStatement([NotNull] KScrParser.WhileStatementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterForStatement([NotNull] KScrParser.ForStatementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitForStatement([NotNull] KScrParser.ForStatementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterForeachStatement([NotNull] KScrParser.ForeachStatementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitForeachStatement([NotNull] KScrParser.ForeachStatementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterDoWhile([NotNull] KScrParser.DoWhileContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitDoWhile([NotNull] KScrParser.DoWhileContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSwitchStatement([NotNull] KScrParser.SwitchStatementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSwitchStatement([NotNull] KScrParser.SwitchStatementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCaseClause([NotNull] KScrParser.CaseClauseContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCaseClause([NotNull] KScrParser.CaseClauseContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterDefaultClause([NotNull] KScrParser.DefaultClauseContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitDefaultClause([NotNull] KScrParser.DefaultClauseContext context) { } + /// + /// Enter a parse tree produced by the stmtDeclare + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtDeclare([NotNull] KScrParser.StmtDeclareContext context) { } + /// + /// Exit a parse tree produced by the stmtDeclare + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtDeclare([NotNull] KScrParser.StmtDeclareContext context) { } + /// + /// Enter a parse tree produced by the stmtAssign + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtAssign([NotNull] KScrParser.StmtAssignContext context) { } + /// + /// Exit a parse tree produced by the stmtAssign + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtAssign([NotNull] KScrParser.StmtAssignContext context) { } + /// + /// Enter a parse tree produced by the stmtAssignTuple + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtAssignTuple([NotNull] KScrParser.StmtAssignTupleContext context) { } + /// + /// Exit a parse tree produced by the stmtAssignTuple + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtAssignTuple([NotNull] KScrParser.StmtAssignTupleContext context) { } + /// + /// Enter a parse tree produced by the stmtCallMember + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtCallMember([NotNull] KScrParser.StmtCallMemberContext context) { } + /// + /// Exit a parse tree produced by the stmtCallMember + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtCallMember([NotNull] KScrParser.StmtCallMemberContext context) { } + /// + /// Enter a parse tree produced by the stmtReturn + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtReturn([NotNull] KScrParser.StmtReturnContext context) { } + /// + /// Exit a parse tree produced by the stmtReturn + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtReturn([NotNull] KScrParser.StmtReturnContext context) { } + /// + /// Enter a parse tree produced by the stmtThrow + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtThrow([NotNull] KScrParser.StmtThrowContext context) { } + /// + /// Exit a parse tree produced by the stmtThrow + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtThrow([NotNull] KScrParser.StmtThrowContext context) { } + /// + /// Enter a parse tree produced by the stmtMark + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtMark([NotNull] KScrParser.StmtMarkContext context) { } + /// + /// Exit a parse tree produced by the stmtMark + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtMark([NotNull] KScrParser.StmtMarkContext context) { } + /// + /// Enter a parse tree produced by the stmtJump + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtJump([NotNull] KScrParser.StmtJumpContext context) { } + /// + /// Exit a parse tree produced by the stmtJump + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtJump([NotNull] KScrParser.StmtJumpContext context) { } + /// + /// Enter a parse tree produced by the stmtTryCatch + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtTryCatch([NotNull] KScrParser.StmtTryCatchContext context) { } + /// + /// Exit a parse tree produced by the stmtTryCatch + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtTryCatch([NotNull] KScrParser.StmtTryCatchContext context) { } + /// + /// Enter a parse tree produced by the stmtTryWithRes + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtTryWithRes([NotNull] KScrParser.StmtTryWithResContext context) { } + /// + /// Exit a parse tree produced by the stmtTryWithRes + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtTryWithRes([NotNull] KScrParser.StmtTryWithResContext context) { } + /// + /// Enter a parse tree produced by the stmtIf + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtIf([NotNull] KScrParser.StmtIfContext context) { } + /// + /// Exit a parse tree produced by the stmtIf + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtIf([NotNull] KScrParser.StmtIfContext context) { } + /// + /// Enter a parse tree produced by the stmtWhile + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtWhile([NotNull] KScrParser.StmtWhileContext context) { } + /// + /// Exit a parse tree produced by the stmtWhile + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtWhile([NotNull] KScrParser.StmtWhileContext context) { } + /// + /// Enter a parse tree produced by the stmtDoWhile + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtDoWhile([NotNull] KScrParser.StmtDoWhileContext context) { } + /// + /// Exit a parse tree produced by the stmtDoWhile + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtDoWhile([NotNull] KScrParser.StmtDoWhileContext context) { } + /// + /// Enter a parse tree produced by the stmtFor + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtFor([NotNull] KScrParser.StmtForContext context) { } + /// + /// Exit a parse tree produced by the stmtFor + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtFor([NotNull] KScrParser.StmtForContext context) { } + /// + /// Enter a parse tree produced by the stmtForeach + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtForeach([NotNull] KScrParser.StmtForeachContext context) { } + /// + /// Exit a parse tree produced by the stmtForeach + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtForeach([NotNull] KScrParser.StmtForeachContext context) { } + /// + /// Enter a parse tree produced by the stmtSwitch + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtSwitch([NotNull] KScrParser.StmtSwitchContext context) { } + /// + /// Exit a parse tree produced by the stmtSwitch + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtSwitch([NotNull] KScrParser.StmtSwitchContext context) { } + /// + /// Enter a parse tree produced by the stmtPipeListen + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtPipeListen([NotNull] KScrParser.StmtPipeListenContext context) { } + /// + /// Exit a parse tree produced by the stmtPipeListen + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtPipeListen([NotNull] KScrParser.StmtPipeListenContext context) { } + /// + /// Enter a parse tree produced by the stmtPipeRead + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtPipeRead([NotNull] KScrParser.StmtPipeReadContext context) { } + /// + /// Exit a parse tree produced by the stmtPipeRead + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtPipeRead([NotNull] KScrParser.StmtPipeReadContext context) { } + /// + /// Enter a parse tree produced by the stmtPipeWrite + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtPipeWrite([NotNull] KScrParser.StmtPipeWriteContext context) { } + /// + /// Exit a parse tree produced by the stmtPipeWrite + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtPipeWrite([NotNull] KScrParser.StmtPipeWriteContext context) { } + /// + /// Enter a parse tree produced by the stmtEmpty + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStmtEmpty([NotNull] KScrParser.StmtEmptyContext context) { } + /// + /// Exit a parse tree produced by the stmtEmpty + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStmtEmpty([NotNull] KScrParser.StmtEmptyContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTypedExpr([NotNull] KScrParser.TypedExprContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTypedExpr([NotNull] KScrParser.TypedExprContext context) { } + /// + /// Enter a parse tree produced by the parens + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterParens([NotNull] KScrParser.ParensContext context) { } + /// + /// Exit a parse tree produced by the parens + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitParens([NotNull] KScrParser.ParensContext context) { } + /// + /// Enter a parse tree produced by the opPostfix + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpPostfix([NotNull] KScrParser.OpPostfixContext context) { } + /// + /// Exit a parse tree produced by the opPostfix + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpPostfix([NotNull] KScrParser.OpPostfixContext context) { } + /// + /// Enter a parse tree produced by the exprCallMember + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterExprCallMember([NotNull] KScrParser.ExprCallMemberContext context) { } + /// + /// Exit a parse tree produced by the exprCallMember + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitExprCallMember([NotNull] KScrParser.ExprCallMemberContext context) { } + /// + /// Enter a parse tree produced by the opPrefix + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpPrefix([NotNull] KScrParser.OpPrefixContext context) { } + /// + /// Exit a parse tree produced by the opPrefix + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpPrefix([NotNull] KScrParser.OpPrefixContext context) { } + /// + /// Enter a parse tree produced by the readIndexer + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterReadIndexer([NotNull] KScrParser.ReadIndexerContext context) { } + /// + /// Exit a parse tree produced by the readIndexer + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitReadIndexer([NotNull] KScrParser.ReadIndexerContext context) { } + /// + /// Enter a parse tree produced by the newListedArrayValue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNewListedArrayValue([NotNull] KScrParser.NewListedArrayValueContext context) { } + /// + /// Exit a parse tree produced by the newListedArrayValue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNewListedArrayValue([NotNull] KScrParser.NewListedArrayValueContext context) { } + /// + /// Enter a parse tree produced by the exprLambda + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterExprLambda([NotNull] KScrParser.ExprLambdaContext context) { } + /// + /// Exit a parse tree produced by the exprLambda + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitExprLambda([NotNull] KScrParser.ExprLambdaContext context) { } + /// + /// Enter a parse tree produced by the checkInstanceof + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCheckInstanceof([NotNull] KScrParser.CheckInstanceofContext context) { } + /// + /// Exit a parse tree produced by the checkInstanceof + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCheckInstanceof([NotNull] KScrParser.CheckInstanceofContext context) { } + /// + /// Enter a parse tree produced by the exprCast + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterExprCast([NotNull] KScrParser.ExprCastContext context) { } + /// + /// Exit a parse tree produced by the exprCast + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitExprCast([NotNull] KScrParser.ExprCastContext context) { } + /// + /// Enter a parse tree produced by the yieldExpr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterYieldExpr([NotNull] KScrParser.YieldExprContext context) { } + /// + /// Exit a parse tree produced by the yieldExpr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitYieldExpr([NotNull] KScrParser.YieldExprContext context) { } + /// + /// Enter a parse tree produced by the rangeInvoc + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterRangeInvoc([NotNull] KScrParser.RangeInvocContext context) { } + /// + /// Exit a parse tree produced by the rangeInvoc + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitRangeInvoc([NotNull] KScrParser.RangeInvocContext context) { } + /// + /// Enter a parse tree produced by the opBinaryLate + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpBinaryLate([NotNull] KScrParser.OpBinaryLateContext context) { } + /// + /// Exit a parse tree produced by the opBinaryLate + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpBinaryLate([NotNull] KScrParser.OpBinaryLateContext context) { } + /// + /// Enter a parse tree produced by the nativeLitValue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNativeLitValue([NotNull] KScrParser.NativeLitValueContext context) { } + /// + /// Exit a parse tree produced by the nativeLitValue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNativeLitValue([NotNull] KScrParser.NativeLitValueContext context) { } + /// + /// Enter a parse tree produced by the exprPipeListen + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterExprPipeListen([NotNull] KScrParser.ExprPipeListenContext context) { } + /// + /// Exit a parse tree produced by the exprPipeListen + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitExprPipeListen([NotNull] KScrParser.ExprPipeListenContext context) { } + /// + /// Enter a parse tree produced by the exprThrow + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterExprThrow([NotNull] KScrParser.ExprThrowContext context) { } + /// + /// Exit a parse tree produced by the exprThrow + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitExprThrow([NotNull] KScrParser.ExprThrowContext context) { } + /// + /// Enter a parse tree produced by the varAssign + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVarAssign([NotNull] KScrParser.VarAssignContext context) { } + /// + /// Exit a parse tree produced by the varAssign + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVarAssign([NotNull] KScrParser.VarAssignContext context) { } + /// + /// Enter a parse tree produced by the newArrayValue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNewArrayValue([NotNull] KScrParser.NewArrayValueContext context) { } + /// + /// Exit a parse tree produced by the newArrayValue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNewArrayValue([NotNull] KScrParser.NewArrayValueContext context) { } + /// + /// Enter a parse tree produced by the exprSwitch + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterExprSwitch([NotNull] KScrParser.ExprSwitchContext context) { } + /// + /// Exit a parse tree produced by the exprSwitch + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitExprSwitch([NotNull] KScrParser.ExprSwitchContext context) { } + /// + /// Enter a parse tree produced by the varValue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVarValue([NotNull] KScrParser.VarValueContext context) { } + /// + /// Exit a parse tree produced by the varValue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVarValue([NotNull] KScrParser.VarValueContext context) { } + /// + /// Enter a parse tree produced by the opBinary + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpBinary([NotNull] KScrParser.OpBinaryContext context) { } + /// + /// Exit a parse tree produced by the opBinary + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpBinary([NotNull] KScrParser.OpBinaryContext context) { } + /// + /// Enter a parse tree produced by the varDeclare + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVarDeclare([NotNull] KScrParser.VarDeclareContext context) { } + /// + /// Exit a parse tree produced by the varDeclare + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVarDeclare([NotNull] KScrParser.VarDeclareContext context) { } + /// + /// Enter a parse tree produced by the exprTuple + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterExprTuple([NotNull] KScrParser.ExprTupleContext context) { } + /// + /// Exit a parse tree produced by the exprTuple + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitExprTuple([NotNull] KScrParser.ExprTupleContext context) { } + /// + /// Enter a parse tree produced by the typeValue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTypeValue([NotNull] KScrParser.TypeValueContext context) { } + /// + /// Exit a parse tree produced by the typeValue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTypeValue([NotNull] KScrParser.TypeValueContext context) { } + /// + /// Enter a parse tree produced by the callCtor + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCallCtor([NotNull] KScrParser.CallCtorContext context) { } + /// + /// Exit a parse tree produced by the callCtor + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCallCtor([NotNull] KScrParser.CallCtorContext context) { } + /// + /// Enter a parse tree produced by the ternary + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTernary([NotNull] KScrParser.TernaryContext context) { } + /// + /// Exit a parse tree produced by the ternary + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTernary([NotNull] KScrParser.TernaryContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTupleDeclType([NotNull] KScrParser.TupleDeclTypeContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTupleDeclType([NotNull] KScrParser.TupleDeclTypeContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTupleDecl([NotNull] KScrParser.TupleDeclContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTupleDecl([NotNull] KScrParser.TupleDeclContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTupleExpr([NotNull] KScrParser.TupleExprContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTupleExpr([NotNull] KScrParser.TupleExprContext context) { } + /// + /// Enter a parse tree produced by the opMultiply + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpMultiply([NotNull] KScrParser.OpMultiplyContext context) { } + /// + /// Exit a parse tree produced by the opMultiply + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpMultiply([NotNull] KScrParser.OpMultiplyContext context) { } + /// + /// Enter a parse tree produced by the opDivide + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpDivide([NotNull] KScrParser.OpDivideContext context) { } + /// + /// Exit a parse tree produced by the opDivide + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpDivide([NotNull] KScrParser.OpDivideContext context) { } + /// + /// Enter a parse tree produced by the opModulus + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpModulus([NotNull] KScrParser.OpModulusContext context) { } + /// + /// Exit a parse tree produced by the opModulus + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpModulus([NotNull] KScrParser.OpModulusContext context) { } + /// + /// Enter a parse tree produced by the opBitAnd + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpBitAnd([NotNull] KScrParser.OpBitAndContext context) { } + /// + /// Exit a parse tree produced by the opBitAnd + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpBitAnd([NotNull] KScrParser.OpBitAndContext context) { } + /// + /// Enter a parse tree produced by the opBitOr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpBitOr([NotNull] KScrParser.OpBitOrContext context) { } + /// + /// Exit a parse tree produced by the opBitOr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpBitOr([NotNull] KScrParser.OpBitOrContext context) { } + /// + /// Enter a parse tree produced by the opBitNot + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpBitNot([NotNull] KScrParser.OpBitNotContext context) { } + /// + /// Exit a parse tree produced by the opBitNot + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpBitNot([NotNull] KScrParser.OpBitNotContext context) { } + /// + /// Enter a parse tree produced by the opLogicAnd + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpLogicAnd([NotNull] KScrParser.OpLogicAndContext context) { } + /// + /// Exit a parse tree produced by the opLogicAnd + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpLogicAnd([NotNull] KScrParser.OpLogicAndContext context) { } + /// + /// Enter a parse tree produced by the opLogicOr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpLogicOr([NotNull] KScrParser.OpLogicOrContext context) { } + /// + /// Exit a parse tree produced by the opLogicOr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpLogicOr([NotNull] KScrParser.OpLogicOrContext context) { } + /// + /// Enter a parse tree produced by the opPow + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpPow([NotNull] KScrParser.OpPowContext context) { } + /// + /// Exit a parse tree produced by the opPow + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpPow([NotNull] KScrParser.OpPowContext context) { } + /// + /// Enter a parse tree produced by the opEqual + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpEqual([NotNull] KScrParser.OpEqualContext context) { } + /// + /// Exit a parse tree produced by the opEqual + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpEqual([NotNull] KScrParser.OpEqualContext context) { } + /// + /// Enter a parse tree produced by the opInequal + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpInequal([NotNull] KScrParser.OpInequalContext context) { } + /// + /// Exit a parse tree produced by the opInequal + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpInequal([NotNull] KScrParser.OpInequalContext context) { } + /// + /// Enter a parse tree produced by the opGreaterEq + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpGreaterEq([NotNull] KScrParser.OpGreaterEqContext context) { } + /// + /// Exit a parse tree produced by the opGreaterEq + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpGreaterEq([NotNull] KScrParser.OpGreaterEqContext context) { } + /// + /// Enter a parse tree produced by the opLesserEq + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpLesserEq([NotNull] KScrParser.OpLesserEqContext context) { } + /// + /// Exit a parse tree produced by the opLesserEq + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpLesserEq([NotNull] KScrParser.OpLesserEqContext context) { } + /// + /// Enter a parse tree produced by the opGreater + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpGreater([NotNull] KScrParser.OpGreaterContext context) { } + /// + /// Exit a parse tree produced by the opGreater + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpGreater([NotNull] KScrParser.OpGreaterContext context) { } + /// + /// Enter a parse tree produced by the opLesser + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpLesser([NotNull] KScrParser.OpLesserContext context) { } + /// + /// Exit a parse tree produced by the opLesser + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpLesser([NotNull] KScrParser.OpLesserContext context) { } + /// + /// Enter a parse tree produced by the opLShift + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpLShift([NotNull] KScrParser.OpLShiftContext context) { } + /// + /// Exit a parse tree produced by the opLShift + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpLShift([NotNull] KScrParser.OpLShiftContext context) { } + /// + /// Enter a parse tree produced by the opRShift + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpRShift([NotNull] KScrParser.OpRShiftContext context) { } + /// + /// Exit a parse tree produced by the opRShift + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpRShift([NotNull] KScrParser.OpRShiftContext context) { } + /// + /// Enter a parse tree produced by the opULShift + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpULShift([NotNull] KScrParser.OpULShiftContext context) { } + /// + /// Exit a parse tree produced by the opULShift + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpULShift([NotNull] KScrParser.OpULShiftContext context) { } + /// + /// Enter a parse tree produced by the opURShift + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpURShift([NotNull] KScrParser.OpURShiftContext context) { } + /// + /// Exit a parse tree produced by the opURShift + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpURShift([NotNull] KScrParser.OpURShiftContext context) { } + /// + /// Enter a parse tree produced by the opNullFallback + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpNullFallback([NotNull] KScrParser.OpNullFallbackContext context) { } + /// + /// Exit a parse tree produced by the opNullFallback + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpNullFallback([NotNull] KScrParser.OpNullFallbackContext context) { } + /// + /// Enter a parse tree produced by the opPlus + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpPlus([NotNull] KScrParser.OpPlusContext context) { } + /// + /// Exit a parse tree produced by the opPlus + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpPlus([NotNull] KScrParser.OpPlusContext context) { } + /// + /// Enter a parse tree produced by the opMinus + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpMinus([NotNull] KScrParser.OpMinusContext context) { } + /// + /// Exit a parse tree produced by the opMinus + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpMinus([NotNull] KScrParser.OpMinusContext context) { } + /// + /// Enter a parse tree produced by the opArithNot + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpArithNot([NotNull] KScrParser.OpArithNotContext context) { } + /// + /// Exit a parse tree produced by the opArithNot + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpArithNot([NotNull] KScrParser.OpArithNotContext context) { } + /// + /// Enter a parse tree produced by the opLogicNot + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpLogicNot([NotNull] KScrParser.OpLogicNotContext context) { } + /// + /// Exit a parse tree produced by the opLogicNot + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpLogicNot([NotNull] KScrParser.OpLogicNotContext context) { } + /// + /// Enter a parse tree produced by the opIncrRead + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpIncrRead([NotNull] KScrParser.OpIncrReadContext context) { } + /// + /// Exit a parse tree produced by the opIncrRead + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpIncrRead([NotNull] KScrParser.OpIncrReadContext context) { } + /// + /// Enter a parse tree produced by the opDecrRead + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpDecrRead([NotNull] KScrParser.OpDecrReadContext context) { } + /// + /// Exit a parse tree produced by the opDecrRead + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpDecrRead([NotNull] KScrParser.OpDecrReadContext context) { } + /// + /// Enter a parse tree produced by the opReadIncr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpReadIncr([NotNull] KScrParser.OpReadIncrContext context) { } + /// + /// Exit a parse tree produced by the opReadIncr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpReadIncr([NotNull] KScrParser.OpReadIncrContext context) { } + /// + /// Enter a parse tree produced by the opReadDecr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpReadDecr([NotNull] KScrParser.OpReadDecrContext context) { } + /// + /// Exit a parse tree produced by the opReadDecr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpReadDecr([NotNull] KScrParser.OpReadDecrContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterId([NotNull] KScrParser.IdContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitId([NotNull] KScrParser.IdContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterIdPart([NotNull] KScrParser.IdPartContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitIdPart([NotNull] KScrParser.IdPartContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterArray([NotNull] KScrParser.ArrayContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitArray([NotNull] KScrParser.ArrayContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTuple([NotNull] KScrParser.TupleContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTuple([NotNull] KScrParser.TupleContext context) { } + /// + /// Enter a parse tree produced by the numTypeLitTuple + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNumTypeLitTuple([NotNull] KScrParser.NumTypeLitTupleContext context) { } + /// + /// Exit a parse tree produced by the numTypeLitTuple + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNumTypeLitTuple([NotNull] KScrParser.NumTypeLitTupleContext context) { } + /// + /// Enter a parse tree produced by the numTypeLitByte + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNumTypeLitByte([NotNull] KScrParser.NumTypeLitByteContext context) { } + /// + /// Exit a parse tree produced by the numTypeLitByte + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNumTypeLitByte([NotNull] KScrParser.NumTypeLitByteContext context) { } + /// + /// Enter a parse tree produced by the numTypeLitShort + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNumTypeLitShort([NotNull] KScrParser.NumTypeLitShortContext context) { } + /// + /// Exit a parse tree produced by the numTypeLitShort + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNumTypeLitShort([NotNull] KScrParser.NumTypeLitShortContext context) { } + /// + /// Enter a parse tree produced by the numTypeLitInt + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNumTypeLitInt([NotNull] KScrParser.NumTypeLitIntContext context) { } + /// + /// Exit a parse tree produced by the numTypeLitInt + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNumTypeLitInt([NotNull] KScrParser.NumTypeLitIntContext context) { } + /// + /// Enter a parse tree produced by the numTypeLitLong + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNumTypeLitLong([NotNull] KScrParser.NumTypeLitLongContext context) { } + /// + /// Exit a parse tree produced by the numTypeLitLong + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNumTypeLitLong([NotNull] KScrParser.NumTypeLitLongContext context) { } + /// + /// Enter a parse tree produced by the numTypeLitFloat + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNumTypeLitFloat([NotNull] KScrParser.NumTypeLitFloatContext context) { } + /// + /// Exit a parse tree produced by the numTypeLitFloat + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNumTypeLitFloat([NotNull] KScrParser.NumTypeLitFloatContext context) { } + /// + /// Enter a parse tree produced by the numTypeLitDouble + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNumTypeLitDouble([NotNull] KScrParser.NumTypeLitDoubleContext context) { } + /// + /// Exit a parse tree produced by the numTypeLitDouble + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNumTypeLitDouble([NotNull] KScrParser.NumTypeLitDoubleContext context) { } + /// + /// Enter a parse tree produced by the typeLitObject + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTypeLitObject([NotNull] KScrParser.TypeLitObjectContext context) { } + /// + /// Exit a parse tree produced by the typeLitObject + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTypeLitObject([NotNull] KScrParser.TypeLitObjectContext context) { } + /// + /// Enter a parse tree produced by the typeLitArray + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTypeLitArray([NotNull] KScrParser.TypeLitArrayContext context) { } + /// + /// Exit a parse tree produced by the typeLitArray + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTypeLitArray([NotNull] KScrParser.TypeLitArrayContext context) { } + /// + /// Enter a parse tree produced by the typeLitTuple + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTypeLitTuple([NotNull] KScrParser.TypeLitTupleContext context) { } + /// + /// Exit a parse tree produced by the typeLitTuple + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTypeLitTuple([NotNull] KScrParser.TypeLitTupleContext context) { } + /// + /// Enter a parse tree produced by the typeLitNum + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTypeLitNum([NotNull] KScrParser.TypeLitNumContext context) { } + /// + /// Exit a parse tree produced by the typeLitNum + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTypeLitNum([NotNull] KScrParser.TypeLitNumContext context) { } + /// + /// Enter a parse tree produced by the typeLitType + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTypeLitType([NotNull] KScrParser.TypeLitTypeContext context) { } + /// + /// Exit a parse tree produced by the typeLitType + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTypeLitType([NotNull] KScrParser.TypeLitTypeContext context) { } + /// + /// Enter a parse tree produced by the typeLitEnum + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTypeLitEnum([NotNull] KScrParser.TypeLitEnumContext context) { } + /// + /// Exit a parse tree produced by the typeLitEnum + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTypeLitEnum([NotNull] KScrParser.TypeLitEnumContext context) { } + /// + /// Enter a parse tree produced by the typeLitVoid + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTypeLitVoid([NotNull] KScrParser.TypeLitVoidContext context) { } + /// + /// Exit a parse tree produced by the typeLitVoid + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTypeLitVoid([NotNull] KScrParser.TypeLitVoidContext context) { } + /// + /// Enter a parse tree produced by the varThis + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVarThis([NotNull] KScrParser.VarThisContext context) { } + /// + /// Exit a parse tree produced by the varThis + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVarThis([NotNull] KScrParser.VarThisContext context) { } + /// + /// Enter a parse tree produced by the varSuper + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVarSuper([NotNull] KScrParser.VarSuperContext context) { } + /// + /// Exit a parse tree produced by the varSuper + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVarSuper([NotNull] KScrParser.VarSuperContext context) { } + /// + /// Enter a parse tree produced by the varLitNum + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVarLitNum([NotNull] KScrParser.VarLitNumContext context) { } + /// + /// Exit a parse tree produced by the varLitNum + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVarLitNum([NotNull] KScrParser.VarLitNumContext context) { } + /// + /// Enter a parse tree produced by the varLitTrue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVarLitTrue([NotNull] KScrParser.VarLitTrueContext context) { } + /// + /// Exit a parse tree produced by the varLitTrue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVarLitTrue([NotNull] KScrParser.VarLitTrueContext context) { } + /// + /// Enter a parse tree produced by the varLitFalse + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVarLitFalse([NotNull] KScrParser.VarLitFalseContext context) { } + /// + /// Exit a parse tree produced by the varLitFalse + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVarLitFalse([NotNull] KScrParser.VarLitFalseContext context) { } + /// + /// Enter a parse tree produced by the varLitStr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVarLitStr([NotNull] KScrParser.VarLitStrContext context) { } + /// + /// Exit a parse tree produced by the varLitStr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVarLitStr([NotNull] KScrParser.VarLitStrContext context) { } + /// + /// Enter a parse tree produced by the varLitStdio + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVarLitStdio([NotNull] KScrParser.VarLitStdioContext context) { } + /// + /// Exit a parse tree produced by the varLitStdio + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVarLitStdio([NotNull] KScrParser.VarLitStdioContext context) { } + /// + /// Enter a parse tree produced by the varLitEndl + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVarLitEndl([NotNull] KScrParser.VarLitEndlContext context) { } + /// + /// Exit a parse tree produced by the varLitEndl + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVarLitEndl([NotNull] KScrParser.VarLitEndlContext context) { } + /// + /// Enter a parse tree produced by the varLitNull + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVarLitNull([NotNull] KScrParser.VarLitNullContext context) { } + /// + /// Exit a parse tree produced by the varLitNull + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVarLitNull([NotNull] KScrParser.VarLitNullContext context) { } + + /// + /// The default implementation does nothing. + public virtual void EnterEveryRule([NotNull] ParserRuleContext context) { } + /// + /// The default implementation does nothing. + public virtual void ExitEveryRule([NotNull] ParserRuleContext context) { } + /// + /// The default implementation does nothing. + public virtual void VisitTerminal([NotNull] ITerminalNode node) { } + /// + /// The default implementation does nothing. + public virtual void VisitErrorNode([NotNull] IErrorNode node) { } +} +} // namespace KScr.Antlr diff --git a/kscr-compiler/KScr/Antlr/KScrParserBaseVisitor.cs b/kscr-compiler/KScr/Antlr/KScrParserBaseVisitor.cs new file mode 100644 index 0000000..089bb78 --- /dev/null +++ b/kscr-compiler/KScr/Antlr/KScrParserBaseVisitor.cs @@ -0,0 +1,2190 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.10.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from C:/dev/KScr/grammar\KScrParser.g4 by ANTLR 4.10.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + +namespace KScr.Antlr { +using Antlr4.Runtime.Misc; +using Antlr4.Runtime.Tree; +using IToken = Antlr4.Runtime.IToken; +using ParserRuleContext = Antlr4.Runtime.ParserRuleContext; + +/// +/// This class provides an empty implementation of , +/// which can be extended to create a visitor which only needs to handle a subset +/// of the available methods. +/// +/// The return type of the visit operation. +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.10.1")] +[System.Diagnostics.DebuggerNonUserCode] +[System.CLSCompliant(false)] +public partial class KScrParserBaseVisitor : AbstractParseTreeVisitor, IKScrParserVisitor { + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitPackageDecl([NotNull] KScrParser.PackageDeclContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitImports([NotNull] KScrParser.ImportsContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitImportDecl([NotNull] KScrParser.ImportDeclContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitAnnotationArg([NotNull] KScrParser.AnnotationArgContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitAnnotation([NotNull] KScrParser.AnnotationContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the modPublic + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitModPublic([NotNull] KScrParser.ModPublicContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the modInternal + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitModInternal([NotNull] KScrParser.ModInternalContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the modProtected + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitModProtected([NotNull] KScrParser.ModProtectedContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the modPrivate + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitModPrivate([NotNull] KScrParser.ModPrivateContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the modStatic + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitModStatic([NotNull] KScrParser.ModStaticContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the modFinal + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitModFinal([NotNull] KScrParser.ModFinalContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the modAbstract + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitModAbstract([NotNull] KScrParser.ModAbstractContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the modSyncronized + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitModSyncronized([NotNull] KScrParser.ModSyncronizedContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the modNative + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitModNative([NotNull] KScrParser.ModNativeContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitModifiers([NotNull] KScrParser.ModifiersContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the ctClass + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCtClass([NotNull] KScrParser.CtClassContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the ctInterface + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCtInterface([NotNull] KScrParser.CtInterfaceContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the ctEnum + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCtEnum([NotNull] KScrParser.CtEnumContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the ctAnnotation + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCtAnnotation([NotNull] KScrParser.CtAnnotationContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitGenericTypeUses([NotNull] KScrParser.GenericTypeUsesContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the importedTypeName + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitImportedTypeName([NotNull] KScrParser.ImportedTypeNameContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the normalTypeUse + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNormalTypeUse([NotNull] KScrParser.NormalTypeUseContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the arrayTypeUse + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitArrayTypeUse([NotNull] KScrParser.ArrayTypeUseContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitRawType([NotNull] KScrParser.RawTypeContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitGenericTypeDef([NotNull] KScrParser.GenericTypeDefContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitGenericTypeDefs([NotNull] KScrParser.GenericTypeDefsContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitObjectExtends([NotNull] KScrParser.ObjectExtendsContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitObjectImplements([NotNull] KScrParser.ObjectImplementsContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitParameter([NotNull] KScrParser.ParameterContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitParameters([NotNull] KScrParser.ParametersContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitArguments([NotNull] KScrParser.ArgumentsContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStatements([NotNull] KScrParser.StatementsContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNoBlock([NotNull] KScrParser.NoBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitUniformBlock([NotNull] KScrParser.UniformBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNormalBlock([NotNull] KScrParser.NormalBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMemberExpr([NotNull] KScrParser.MemberExprContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitLambdaBlock([NotNull] KScrParser.LambdaBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the caseStmtBlock + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCaseStmtBlock([NotNull] KScrParser.CaseStmtBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the caseExprBlock + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCaseExprBlock([NotNull] KScrParser.CaseExprBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the memberNormalBlock + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMemberNormalBlock([NotNull] KScrParser.MemberNormalBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the memberExprBlock + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMemberExprBlock([NotNull] KScrParser.MemberExprBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the memberNoBlock + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMemberNoBlock([NotNull] KScrParser.MemberNoBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the codeNormalBlock + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCodeNormalBlock([NotNull] KScrParser.CodeNormalBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the codeStmtBlock + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCodeStmtBlock([NotNull] KScrParser.CodeStmtBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the codeNoBlock + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCodeNoBlock([NotNull] KScrParser.CodeNoBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitInitDecl([NotNull] KScrParser.InitDeclContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitSubConstructorCall([NotNull] KScrParser.SubConstructorCallContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitSubConstructorCalls([NotNull] KScrParser.SubConstructorCallsContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitConstructorDecl([NotNull] KScrParser.ConstructorDeclContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMethodDecl([NotNull] KScrParser.MethodDeclContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitIndexerMemberDecl([NotNull] KScrParser.IndexerMemberDeclContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitPropGetter([NotNull] KScrParser.PropGetterContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitPropSetter([NotNull] KScrParser.PropSetterContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitPropInit([NotNull] KScrParser.PropInitContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the propComputed + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitPropComputed([NotNull] KScrParser.PropComputedContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the propAccessors + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitPropAccessors([NotNull] KScrParser.PropAccessorsContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the propFieldStyle + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitPropFieldStyle([NotNull] KScrParser.PropFieldStyleContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitPropertyDecl([NotNull] KScrParser.PropertyDeclContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the memProp + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMemProp([NotNull] KScrParser.MemPropContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the memCls + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMemCls([NotNull] KScrParser.MemClsContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the memInit + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMemInit([NotNull] KScrParser.MemInitContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the memCtor + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMemCtor([NotNull] KScrParser.MemCtorContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the memMtd + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMemMtd([NotNull] KScrParser.MemMtdContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the memIdx + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMemIdx([NotNull] KScrParser.MemIdxContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitClassDecl([NotNull] KScrParser.ClassDeclContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitFile([NotNull] KScrParser.FileContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitInferType([NotNull] KScrParser.InferTypeContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitIndexerEmpty([NotNull] KScrParser.IndexerEmptyContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitIndexerDecl([NotNull] KScrParser.IndexerDeclContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitIndexerExpr([NotNull] KScrParser.IndexerExprContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCast([NotNull] KScrParser.CastContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitDeclaration([NotNull] KScrParser.DeclarationContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMutation([NotNull] KScrParser.MutationContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCall([NotNull] KScrParser.CallContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCtorCall([NotNull] KScrParser.CtorCallContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNewArray([NotNull] KScrParser.NewArrayContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNewListedArray([NotNull] KScrParser.NewListedArrayContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitLabel([NotNull] KScrParser.LabelContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the methodRef + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMethodRef([NotNull] KScrParser.MethodRefContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the lambdaExpr + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitLambdaExpr([NotNull] KScrParser.LambdaExprContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitReturnStatement([NotNull] KScrParser.ReturnStatementContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitThrowStatement([NotNull] KScrParser.ThrowStatementContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitMarkStatement([NotNull] KScrParser.MarkStatementContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitJumpStatement([NotNull] KScrParser.JumpStatementContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTryCatchStatement([NotNull] KScrParser.TryCatchStatementContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTryWithResourcesStatement([NotNull] KScrParser.TryWithResourcesStatementContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCatchBlocks([NotNull] KScrParser.CatchBlocksContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCatchBlock([NotNull] KScrParser.CatchBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitFinallyBlock([NotNull] KScrParser.FinallyBlockContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitIfStatement([NotNull] KScrParser.IfStatementContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitElseStatement([NotNull] KScrParser.ElseStatementContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitWhileStatement([NotNull] KScrParser.WhileStatementContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitForStatement([NotNull] KScrParser.ForStatementContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitForeachStatement([NotNull] KScrParser.ForeachStatementContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitDoWhile([NotNull] KScrParser.DoWhileContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitSwitchStatement([NotNull] KScrParser.SwitchStatementContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCaseClause([NotNull] KScrParser.CaseClauseContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitDefaultClause([NotNull] KScrParser.DefaultClauseContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtDeclare + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtDeclare([NotNull] KScrParser.StmtDeclareContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtAssign + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtAssign([NotNull] KScrParser.StmtAssignContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtAssignTuple + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtAssignTuple([NotNull] KScrParser.StmtAssignTupleContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtCallMember + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtCallMember([NotNull] KScrParser.StmtCallMemberContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtReturn + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtReturn([NotNull] KScrParser.StmtReturnContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtThrow + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtThrow([NotNull] KScrParser.StmtThrowContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtMark + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtMark([NotNull] KScrParser.StmtMarkContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtJump + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtJump([NotNull] KScrParser.StmtJumpContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtTryCatch + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtTryCatch([NotNull] KScrParser.StmtTryCatchContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtTryWithRes + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtTryWithRes([NotNull] KScrParser.StmtTryWithResContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtIf + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtIf([NotNull] KScrParser.StmtIfContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtWhile + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtWhile([NotNull] KScrParser.StmtWhileContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtDoWhile + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtDoWhile([NotNull] KScrParser.StmtDoWhileContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtFor + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtFor([NotNull] KScrParser.StmtForContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtForeach + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtForeach([NotNull] KScrParser.StmtForeachContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtSwitch + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtSwitch([NotNull] KScrParser.StmtSwitchContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtPipeListen + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtPipeListen([NotNull] KScrParser.StmtPipeListenContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtPipeRead + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtPipeRead([NotNull] KScrParser.StmtPipeReadContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtPipeWrite + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtPipeWrite([NotNull] KScrParser.StmtPipeWriteContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the stmtEmpty + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitStmtEmpty([NotNull] KScrParser.StmtEmptyContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTypedExpr([NotNull] KScrParser.TypedExprContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the parens + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitParens([NotNull] KScrParser.ParensContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opPostfix + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpPostfix([NotNull] KScrParser.OpPostfixContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the exprCallMember + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitExprCallMember([NotNull] KScrParser.ExprCallMemberContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opPrefix + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpPrefix([NotNull] KScrParser.OpPrefixContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the readIndexer + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitReadIndexer([NotNull] KScrParser.ReadIndexerContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the newListedArrayValue + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNewListedArrayValue([NotNull] KScrParser.NewListedArrayValueContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the exprLambda + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitExprLambda([NotNull] KScrParser.ExprLambdaContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the checkInstanceof + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCheckInstanceof([NotNull] KScrParser.CheckInstanceofContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the exprCast + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitExprCast([NotNull] KScrParser.ExprCastContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the yieldExpr + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitYieldExpr([NotNull] KScrParser.YieldExprContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the rangeInvoc + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitRangeInvoc([NotNull] KScrParser.RangeInvocContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opBinaryLate + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpBinaryLate([NotNull] KScrParser.OpBinaryLateContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the nativeLitValue + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNativeLitValue([NotNull] KScrParser.NativeLitValueContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the exprPipeListen + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitExprPipeListen([NotNull] KScrParser.ExprPipeListenContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the exprThrow + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitExprThrow([NotNull] KScrParser.ExprThrowContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the varAssign + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitVarAssign([NotNull] KScrParser.VarAssignContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the newArrayValue + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNewArrayValue([NotNull] KScrParser.NewArrayValueContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the exprSwitch + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitExprSwitch([NotNull] KScrParser.ExprSwitchContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the varValue + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitVarValue([NotNull] KScrParser.VarValueContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opBinary + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpBinary([NotNull] KScrParser.OpBinaryContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the varDeclare + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitVarDeclare([NotNull] KScrParser.VarDeclareContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the exprTuple + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitExprTuple([NotNull] KScrParser.ExprTupleContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the typeValue + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTypeValue([NotNull] KScrParser.TypeValueContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the callCtor + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitCallCtor([NotNull] KScrParser.CallCtorContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the ternary + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTernary([NotNull] KScrParser.TernaryContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTupleDeclType([NotNull] KScrParser.TupleDeclTypeContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTupleDecl([NotNull] KScrParser.TupleDeclContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTupleExpr([NotNull] KScrParser.TupleExprContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opMultiply + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpMultiply([NotNull] KScrParser.OpMultiplyContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opDivide + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpDivide([NotNull] KScrParser.OpDivideContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opModulus + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpModulus([NotNull] KScrParser.OpModulusContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opBitAnd + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpBitAnd([NotNull] KScrParser.OpBitAndContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opBitOr + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpBitOr([NotNull] KScrParser.OpBitOrContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opBitNot + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpBitNot([NotNull] KScrParser.OpBitNotContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opLogicAnd + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpLogicAnd([NotNull] KScrParser.OpLogicAndContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opLogicOr + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpLogicOr([NotNull] KScrParser.OpLogicOrContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opPow + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpPow([NotNull] KScrParser.OpPowContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opEqual + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpEqual([NotNull] KScrParser.OpEqualContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opInequal + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpInequal([NotNull] KScrParser.OpInequalContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opGreaterEq + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpGreaterEq([NotNull] KScrParser.OpGreaterEqContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opLesserEq + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpLesserEq([NotNull] KScrParser.OpLesserEqContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opGreater + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpGreater([NotNull] KScrParser.OpGreaterContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opLesser + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpLesser([NotNull] KScrParser.OpLesserContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opLShift + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpLShift([NotNull] KScrParser.OpLShiftContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opRShift + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpRShift([NotNull] KScrParser.OpRShiftContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opULShift + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpULShift([NotNull] KScrParser.OpULShiftContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opURShift + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpURShift([NotNull] KScrParser.OpURShiftContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opNullFallback + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpNullFallback([NotNull] KScrParser.OpNullFallbackContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opPlus + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpPlus([NotNull] KScrParser.OpPlusContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opMinus + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpMinus([NotNull] KScrParser.OpMinusContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opArithNot + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpArithNot([NotNull] KScrParser.OpArithNotContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opLogicNot + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpLogicNot([NotNull] KScrParser.OpLogicNotContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opIncrRead + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpIncrRead([NotNull] KScrParser.OpIncrReadContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opDecrRead + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpDecrRead([NotNull] KScrParser.OpDecrReadContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opReadIncr + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpReadIncr([NotNull] KScrParser.OpReadIncrContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the opReadDecr + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitOpReadDecr([NotNull] KScrParser.OpReadDecrContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitId([NotNull] KScrParser.IdContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitIdPart([NotNull] KScrParser.IdPartContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitArray([NotNull] KScrParser.ArrayContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTuple([NotNull] KScrParser.TupleContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the numTypeLitTuple + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNumTypeLitTuple([NotNull] KScrParser.NumTypeLitTupleContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the numTypeLitByte + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNumTypeLitByte([NotNull] KScrParser.NumTypeLitByteContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the numTypeLitShort + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNumTypeLitShort([NotNull] KScrParser.NumTypeLitShortContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the numTypeLitInt + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNumTypeLitInt([NotNull] KScrParser.NumTypeLitIntContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the numTypeLitLong + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNumTypeLitLong([NotNull] KScrParser.NumTypeLitLongContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the numTypeLitFloat + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNumTypeLitFloat([NotNull] KScrParser.NumTypeLitFloatContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the numTypeLitDouble + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitNumTypeLitDouble([NotNull] KScrParser.NumTypeLitDoubleContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the typeLitObject + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTypeLitObject([NotNull] KScrParser.TypeLitObjectContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the typeLitArray + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTypeLitArray([NotNull] KScrParser.TypeLitArrayContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the typeLitTuple + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTypeLitTuple([NotNull] KScrParser.TypeLitTupleContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the typeLitNum + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTypeLitNum([NotNull] KScrParser.TypeLitNumContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the typeLitType + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTypeLitType([NotNull] KScrParser.TypeLitTypeContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the typeLitEnum + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTypeLitEnum([NotNull] KScrParser.TypeLitEnumContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the typeLitVoid + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTypeLitVoid([NotNull] KScrParser.TypeLitVoidContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the varThis + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitVarThis([NotNull] KScrParser.VarThisContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the varSuper + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitVarSuper([NotNull] KScrParser.VarSuperContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the varLitNum + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitVarLitNum([NotNull] KScrParser.VarLitNumContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the varLitTrue + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitVarLitTrue([NotNull] KScrParser.VarLitTrueContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the varLitFalse + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitVarLitFalse([NotNull] KScrParser.VarLitFalseContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the varLitStr + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitVarLitStr([NotNull] KScrParser.VarLitStrContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the varLitStdio + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitVarLitStdio([NotNull] KScrParser.VarLitStdioContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the varLitEndl + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitVarLitEndl([NotNull] KScrParser.VarLitEndlContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the varLitNull + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitVarLitNull([NotNull] KScrParser.VarLitNullContext context) { return VisitChildren(context); } +} +} // namespace KScr.Antlr diff --git a/kscr-compiler/KScr/Antlr/KScrParserListener.cs b/kscr-compiler/KScr/Antlr/KScrParserListener.cs new file mode 100644 index 0000000..c0ee612 --- /dev/null +++ b/kscr-compiler/KScr/Antlr/KScrParserListener.cs @@ -0,0 +1,2317 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.10.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from C:/dev/KScr/grammar\KScrParser.g4 by ANTLR 4.10.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + +namespace KScr.Antlr { +using Antlr4.Runtime.Misc; +using IParseTreeListener = Antlr4.Runtime.Tree.IParseTreeListener; +using IToken = Antlr4.Runtime.IToken; + +/// +/// This interface defines a complete listener for a parse tree produced by +/// . +/// +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.10.1")] +[System.CLSCompliant(false)] +public interface IKScrParserListener : IParseTreeListener { + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterPackageDecl([NotNull] KScrParser.PackageDeclContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitPackageDecl([NotNull] KScrParser.PackageDeclContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterImports([NotNull] KScrParser.ImportsContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitImports([NotNull] KScrParser.ImportsContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterImportDecl([NotNull] KScrParser.ImportDeclContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitImportDecl([NotNull] KScrParser.ImportDeclContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterAnnotationArg([NotNull] KScrParser.AnnotationArgContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitAnnotationArg([NotNull] KScrParser.AnnotationArgContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterAnnotation([NotNull] KScrParser.AnnotationContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitAnnotation([NotNull] KScrParser.AnnotationContext context); + /// + /// Enter a parse tree produced by the modPublic + /// labeled alternative in . + /// + /// The parse tree. + void EnterModPublic([NotNull] KScrParser.ModPublicContext context); + /// + /// Exit a parse tree produced by the modPublic + /// labeled alternative in . + /// + /// The parse tree. + void ExitModPublic([NotNull] KScrParser.ModPublicContext context); + /// + /// Enter a parse tree produced by the modInternal + /// labeled alternative in . + /// + /// The parse tree. + void EnterModInternal([NotNull] KScrParser.ModInternalContext context); + /// + /// Exit a parse tree produced by the modInternal + /// labeled alternative in . + /// + /// The parse tree. + void ExitModInternal([NotNull] KScrParser.ModInternalContext context); + /// + /// Enter a parse tree produced by the modProtected + /// labeled alternative in . + /// + /// The parse tree. + void EnterModProtected([NotNull] KScrParser.ModProtectedContext context); + /// + /// Exit a parse tree produced by the modProtected + /// labeled alternative in . + /// + /// The parse tree. + void ExitModProtected([NotNull] KScrParser.ModProtectedContext context); + /// + /// Enter a parse tree produced by the modPrivate + /// labeled alternative in . + /// + /// The parse tree. + void EnterModPrivate([NotNull] KScrParser.ModPrivateContext context); + /// + /// Exit a parse tree produced by the modPrivate + /// labeled alternative in . + /// + /// The parse tree. + void ExitModPrivate([NotNull] KScrParser.ModPrivateContext context); + /// + /// Enter a parse tree produced by the modStatic + /// labeled alternative in . + /// + /// The parse tree. + void EnterModStatic([NotNull] KScrParser.ModStaticContext context); + /// + /// Exit a parse tree produced by the modStatic + /// labeled alternative in . + /// + /// The parse tree. + void ExitModStatic([NotNull] KScrParser.ModStaticContext context); + /// + /// Enter a parse tree produced by the modFinal + /// labeled alternative in . + /// + /// The parse tree. + void EnterModFinal([NotNull] KScrParser.ModFinalContext context); + /// + /// Exit a parse tree produced by the modFinal + /// labeled alternative in . + /// + /// The parse tree. + void ExitModFinal([NotNull] KScrParser.ModFinalContext context); + /// + /// Enter a parse tree produced by the modAbstract + /// labeled alternative in . + /// + /// The parse tree. + void EnterModAbstract([NotNull] KScrParser.ModAbstractContext context); + /// + /// Exit a parse tree produced by the modAbstract + /// labeled alternative in . + /// + /// The parse tree. + void ExitModAbstract([NotNull] KScrParser.ModAbstractContext context); + /// + /// Enter a parse tree produced by the modSyncronized + /// labeled alternative in . + /// + /// The parse tree. + void EnterModSyncronized([NotNull] KScrParser.ModSyncronizedContext context); + /// + /// Exit a parse tree produced by the modSyncronized + /// labeled alternative in . + /// + /// The parse tree. + void ExitModSyncronized([NotNull] KScrParser.ModSyncronizedContext context); + /// + /// Enter a parse tree produced by the modNative + /// labeled alternative in . + /// + /// The parse tree. + void EnterModNative([NotNull] KScrParser.ModNativeContext context); + /// + /// Exit a parse tree produced by the modNative + /// labeled alternative in . + /// + /// The parse tree. + void ExitModNative([NotNull] KScrParser.ModNativeContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModifiers([NotNull] KScrParser.ModifiersContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModifiers([NotNull] KScrParser.ModifiersContext context); + /// + /// Enter a parse tree produced by the ctClass + /// labeled alternative in . + /// + /// The parse tree. + void EnterCtClass([NotNull] KScrParser.CtClassContext context); + /// + /// Exit a parse tree produced by the ctClass + /// labeled alternative in . + /// + /// The parse tree. + void ExitCtClass([NotNull] KScrParser.CtClassContext context); + /// + /// Enter a parse tree produced by the ctInterface + /// labeled alternative in . + /// + /// The parse tree. + void EnterCtInterface([NotNull] KScrParser.CtInterfaceContext context); + /// + /// Exit a parse tree produced by the ctInterface + /// labeled alternative in . + /// + /// The parse tree. + void ExitCtInterface([NotNull] KScrParser.CtInterfaceContext context); + /// + /// Enter a parse tree produced by the ctEnum + /// labeled alternative in . + /// + /// The parse tree. + void EnterCtEnum([NotNull] KScrParser.CtEnumContext context); + /// + /// Exit a parse tree produced by the ctEnum + /// labeled alternative in . + /// + /// The parse tree. + void ExitCtEnum([NotNull] KScrParser.CtEnumContext context); + /// + /// Enter a parse tree produced by the ctAnnotation + /// labeled alternative in . + /// + /// The parse tree. + void EnterCtAnnotation([NotNull] KScrParser.CtAnnotationContext context); + /// + /// Exit a parse tree produced by the ctAnnotation + /// labeled alternative in . + /// + /// The parse tree. + void ExitCtAnnotation([NotNull] KScrParser.CtAnnotationContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterGenericTypeUses([NotNull] KScrParser.GenericTypeUsesContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitGenericTypeUses([NotNull] KScrParser.GenericTypeUsesContext context); + /// + /// Enter a parse tree produced by the importedTypeName + /// labeled alternative in . + /// + /// The parse tree. + void EnterImportedTypeName([NotNull] KScrParser.ImportedTypeNameContext context); + /// + /// Exit a parse tree produced by the importedTypeName + /// labeled alternative in . + /// + /// The parse tree. + void ExitImportedTypeName([NotNull] KScrParser.ImportedTypeNameContext context); + /// + /// Enter a parse tree produced by the normalTypeUse + /// labeled alternative in . + /// + /// The parse tree. + void EnterNormalTypeUse([NotNull] KScrParser.NormalTypeUseContext context); + /// + /// Exit a parse tree produced by the normalTypeUse + /// labeled alternative in . + /// + /// The parse tree. + void ExitNormalTypeUse([NotNull] KScrParser.NormalTypeUseContext context); + /// + /// Enter a parse tree produced by the arrayTypeUse + /// labeled alternative in . + /// + /// The parse tree. + void EnterArrayTypeUse([NotNull] KScrParser.ArrayTypeUseContext context); + /// + /// Exit a parse tree produced by the arrayTypeUse + /// labeled alternative in . + /// + /// The parse tree. + void ExitArrayTypeUse([NotNull] KScrParser.ArrayTypeUseContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterRawType([NotNull] KScrParser.RawTypeContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitRawType([NotNull] KScrParser.RawTypeContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterGenericTypeDef([NotNull] KScrParser.GenericTypeDefContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitGenericTypeDef([NotNull] KScrParser.GenericTypeDefContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterGenericTypeDefs([NotNull] KScrParser.GenericTypeDefsContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitGenericTypeDefs([NotNull] KScrParser.GenericTypeDefsContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterObjectExtends([NotNull] KScrParser.ObjectExtendsContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitObjectExtends([NotNull] KScrParser.ObjectExtendsContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterObjectImplements([NotNull] KScrParser.ObjectImplementsContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitObjectImplements([NotNull] KScrParser.ObjectImplementsContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterParameter([NotNull] KScrParser.ParameterContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitParameter([NotNull] KScrParser.ParameterContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterParameters([NotNull] KScrParser.ParametersContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitParameters([NotNull] KScrParser.ParametersContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterArguments([NotNull] KScrParser.ArgumentsContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitArguments([NotNull] KScrParser.ArgumentsContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterStatements([NotNull] KScrParser.StatementsContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitStatements([NotNull] KScrParser.StatementsContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterNoBlock([NotNull] KScrParser.NoBlockContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitNoBlock([NotNull] KScrParser.NoBlockContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterUniformBlock([NotNull] KScrParser.UniformBlockContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitUniformBlock([NotNull] KScrParser.UniformBlockContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterNormalBlock([NotNull] KScrParser.NormalBlockContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitNormalBlock([NotNull] KScrParser.NormalBlockContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMemberExpr([NotNull] KScrParser.MemberExprContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMemberExpr([NotNull] KScrParser.MemberExprContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterLambdaBlock([NotNull] KScrParser.LambdaBlockContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitLambdaBlock([NotNull] KScrParser.LambdaBlockContext context); + /// + /// Enter a parse tree produced by the caseStmtBlock + /// labeled alternative in . + /// + /// The parse tree. + void EnterCaseStmtBlock([NotNull] KScrParser.CaseStmtBlockContext context); + /// + /// Exit a parse tree produced by the caseStmtBlock + /// labeled alternative in . + /// + /// The parse tree. + void ExitCaseStmtBlock([NotNull] KScrParser.CaseStmtBlockContext context); + /// + /// Enter a parse tree produced by the caseExprBlock + /// labeled alternative in . + /// + /// The parse tree. + void EnterCaseExprBlock([NotNull] KScrParser.CaseExprBlockContext context); + /// + /// Exit a parse tree produced by the caseExprBlock + /// labeled alternative in . + /// + /// The parse tree. + void ExitCaseExprBlock([NotNull] KScrParser.CaseExprBlockContext context); + /// + /// Enter a parse tree produced by the memberNormalBlock + /// labeled alternative in . + /// + /// The parse tree. + void EnterMemberNormalBlock([NotNull] KScrParser.MemberNormalBlockContext context); + /// + /// Exit a parse tree produced by the memberNormalBlock + /// labeled alternative in . + /// + /// The parse tree. + void ExitMemberNormalBlock([NotNull] KScrParser.MemberNormalBlockContext context); + /// + /// Enter a parse tree produced by the memberExprBlock + /// labeled alternative in . + /// + /// The parse tree. + void EnterMemberExprBlock([NotNull] KScrParser.MemberExprBlockContext context); + /// + /// Exit a parse tree produced by the memberExprBlock + /// labeled alternative in . + /// + /// The parse tree. + void ExitMemberExprBlock([NotNull] KScrParser.MemberExprBlockContext context); + /// + /// Enter a parse tree produced by the memberNoBlock + /// labeled alternative in . + /// + /// The parse tree. + void EnterMemberNoBlock([NotNull] KScrParser.MemberNoBlockContext context); + /// + /// Exit a parse tree produced by the memberNoBlock + /// labeled alternative in . + /// + /// The parse tree. + void ExitMemberNoBlock([NotNull] KScrParser.MemberNoBlockContext context); + /// + /// Enter a parse tree produced by the codeNormalBlock + /// labeled alternative in . + /// + /// The parse tree. + void EnterCodeNormalBlock([NotNull] KScrParser.CodeNormalBlockContext context); + /// + /// Exit a parse tree produced by the codeNormalBlock + /// labeled alternative in . + /// + /// The parse tree. + void ExitCodeNormalBlock([NotNull] KScrParser.CodeNormalBlockContext context); + /// + /// Enter a parse tree produced by the codeStmtBlock + /// labeled alternative in . + /// + /// The parse tree. + void EnterCodeStmtBlock([NotNull] KScrParser.CodeStmtBlockContext context); + /// + /// Exit a parse tree produced by the codeStmtBlock + /// labeled alternative in . + /// + /// The parse tree. + void ExitCodeStmtBlock([NotNull] KScrParser.CodeStmtBlockContext context); + /// + /// Enter a parse tree produced by the codeNoBlock + /// labeled alternative in . + /// + /// The parse tree. + void EnterCodeNoBlock([NotNull] KScrParser.CodeNoBlockContext context); + /// + /// Exit a parse tree produced by the codeNoBlock + /// labeled alternative in . + /// + /// The parse tree. + void ExitCodeNoBlock([NotNull] KScrParser.CodeNoBlockContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterInitDecl([NotNull] KScrParser.InitDeclContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitInitDecl([NotNull] KScrParser.InitDeclContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSubConstructorCall([NotNull] KScrParser.SubConstructorCallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSubConstructorCall([NotNull] KScrParser.SubConstructorCallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSubConstructorCalls([NotNull] KScrParser.SubConstructorCallsContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSubConstructorCalls([NotNull] KScrParser.SubConstructorCallsContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterConstructorDecl([NotNull] KScrParser.ConstructorDeclContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitConstructorDecl([NotNull] KScrParser.ConstructorDeclContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMethodDecl([NotNull] KScrParser.MethodDeclContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMethodDecl([NotNull] KScrParser.MethodDeclContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterIndexerMemberDecl([NotNull] KScrParser.IndexerMemberDeclContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitIndexerMemberDecl([NotNull] KScrParser.IndexerMemberDeclContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterPropGetter([NotNull] KScrParser.PropGetterContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitPropGetter([NotNull] KScrParser.PropGetterContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterPropSetter([NotNull] KScrParser.PropSetterContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitPropSetter([NotNull] KScrParser.PropSetterContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterPropInit([NotNull] KScrParser.PropInitContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitPropInit([NotNull] KScrParser.PropInitContext context); + /// + /// Enter a parse tree produced by the propComputed + /// labeled alternative in . + /// + /// The parse tree. + void EnterPropComputed([NotNull] KScrParser.PropComputedContext context); + /// + /// Exit a parse tree produced by the propComputed + /// labeled alternative in . + /// + /// The parse tree. + void ExitPropComputed([NotNull] KScrParser.PropComputedContext context); + /// + /// Enter a parse tree produced by the propAccessors + /// labeled alternative in . + /// + /// The parse tree. + void EnterPropAccessors([NotNull] KScrParser.PropAccessorsContext context); + /// + /// Exit a parse tree produced by the propAccessors + /// labeled alternative in . + /// + /// The parse tree. + void ExitPropAccessors([NotNull] KScrParser.PropAccessorsContext context); + /// + /// Enter a parse tree produced by the propFieldStyle + /// labeled alternative in . + /// + /// The parse tree. + void EnterPropFieldStyle([NotNull] KScrParser.PropFieldStyleContext context); + /// + /// Exit a parse tree produced by the propFieldStyle + /// labeled alternative in . + /// + /// The parse tree. + void ExitPropFieldStyle([NotNull] KScrParser.PropFieldStyleContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterPropertyDecl([NotNull] KScrParser.PropertyDeclContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitPropertyDecl([NotNull] KScrParser.PropertyDeclContext context); + /// + /// Enter a parse tree produced by the memProp + /// labeled alternative in . + /// + /// The parse tree. + void EnterMemProp([NotNull] KScrParser.MemPropContext context); + /// + /// Exit a parse tree produced by the memProp + /// labeled alternative in . + /// + /// The parse tree. + void ExitMemProp([NotNull] KScrParser.MemPropContext context); + /// + /// Enter a parse tree produced by the memCls + /// labeled alternative in . + /// + /// The parse tree. + void EnterMemCls([NotNull] KScrParser.MemClsContext context); + /// + /// Exit a parse tree produced by the memCls + /// labeled alternative in . + /// + /// The parse tree. + void ExitMemCls([NotNull] KScrParser.MemClsContext context); + /// + /// Enter a parse tree produced by the memInit + /// labeled alternative in . + /// + /// The parse tree. + void EnterMemInit([NotNull] KScrParser.MemInitContext context); + /// + /// Exit a parse tree produced by the memInit + /// labeled alternative in . + /// + /// The parse tree. + void ExitMemInit([NotNull] KScrParser.MemInitContext context); + /// + /// Enter a parse tree produced by the memCtor + /// labeled alternative in . + /// + /// The parse tree. + void EnterMemCtor([NotNull] KScrParser.MemCtorContext context); + /// + /// Exit a parse tree produced by the memCtor + /// labeled alternative in . + /// + /// The parse tree. + void ExitMemCtor([NotNull] KScrParser.MemCtorContext context); + /// + /// Enter a parse tree produced by the memMtd + /// labeled alternative in . + /// + /// The parse tree. + void EnterMemMtd([NotNull] KScrParser.MemMtdContext context); + /// + /// Exit a parse tree produced by the memMtd + /// labeled alternative in . + /// + /// The parse tree. + void ExitMemMtd([NotNull] KScrParser.MemMtdContext context); + /// + /// Enter a parse tree produced by the memIdx + /// labeled alternative in . + /// + /// The parse tree. + void EnterMemIdx([NotNull] KScrParser.MemIdxContext context); + /// + /// Exit a parse tree produced by the memIdx + /// labeled alternative in . + /// + /// The parse tree. + void ExitMemIdx([NotNull] KScrParser.MemIdxContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterClassDecl([NotNull] KScrParser.ClassDeclContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitClassDecl([NotNull] KScrParser.ClassDeclContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterFile([NotNull] KScrParser.FileContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitFile([NotNull] KScrParser.FileContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterInferType([NotNull] KScrParser.InferTypeContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitInferType([NotNull] KScrParser.InferTypeContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterIndexerEmpty([NotNull] KScrParser.IndexerEmptyContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitIndexerEmpty([NotNull] KScrParser.IndexerEmptyContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterIndexerDecl([NotNull] KScrParser.IndexerDeclContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitIndexerDecl([NotNull] KScrParser.IndexerDeclContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterIndexerExpr([NotNull] KScrParser.IndexerExprContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitIndexerExpr([NotNull] KScrParser.IndexerExprContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCast([NotNull] KScrParser.CastContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCast([NotNull] KScrParser.CastContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterDeclaration([NotNull] KScrParser.DeclarationContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitDeclaration([NotNull] KScrParser.DeclarationContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMutation([NotNull] KScrParser.MutationContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMutation([NotNull] KScrParser.MutationContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCall([NotNull] KScrParser.CallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCall([NotNull] KScrParser.CallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCtorCall([NotNull] KScrParser.CtorCallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCtorCall([NotNull] KScrParser.CtorCallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterNewArray([NotNull] KScrParser.NewArrayContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitNewArray([NotNull] KScrParser.NewArrayContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterNewListedArray([NotNull] KScrParser.NewListedArrayContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitNewListedArray([NotNull] KScrParser.NewListedArrayContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterLabel([NotNull] KScrParser.LabelContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitLabel([NotNull] KScrParser.LabelContext context); + /// + /// Enter a parse tree produced by the methodRef + /// labeled alternative in . + /// + /// The parse tree. + void EnterMethodRef([NotNull] KScrParser.MethodRefContext context); + /// + /// Exit a parse tree produced by the methodRef + /// labeled alternative in . + /// + /// The parse tree. + void ExitMethodRef([NotNull] KScrParser.MethodRefContext context); + /// + /// Enter a parse tree produced by the lambdaExpr + /// labeled alternative in . + /// + /// The parse tree. + void EnterLambdaExpr([NotNull] KScrParser.LambdaExprContext context); + /// + /// Exit a parse tree produced by the lambdaExpr + /// labeled alternative in . + /// + /// The parse tree. + void ExitLambdaExpr([NotNull] KScrParser.LambdaExprContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterReturnStatement([NotNull] KScrParser.ReturnStatementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitReturnStatement([NotNull] KScrParser.ReturnStatementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterThrowStatement([NotNull] KScrParser.ThrowStatementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitThrowStatement([NotNull] KScrParser.ThrowStatementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMarkStatement([NotNull] KScrParser.MarkStatementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMarkStatement([NotNull] KScrParser.MarkStatementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterJumpStatement([NotNull] KScrParser.JumpStatementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitJumpStatement([NotNull] KScrParser.JumpStatementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterTryCatchStatement([NotNull] KScrParser.TryCatchStatementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitTryCatchStatement([NotNull] KScrParser.TryCatchStatementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterTryWithResourcesStatement([NotNull] KScrParser.TryWithResourcesStatementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitTryWithResourcesStatement([NotNull] KScrParser.TryWithResourcesStatementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCatchBlocks([NotNull] KScrParser.CatchBlocksContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCatchBlocks([NotNull] KScrParser.CatchBlocksContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCatchBlock([NotNull] KScrParser.CatchBlockContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCatchBlock([NotNull] KScrParser.CatchBlockContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterFinallyBlock([NotNull] KScrParser.FinallyBlockContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitFinallyBlock([NotNull] KScrParser.FinallyBlockContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterIfStatement([NotNull] KScrParser.IfStatementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitIfStatement([NotNull] KScrParser.IfStatementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterElseStatement([NotNull] KScrParser.ElseStatementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitElseStatement([NotNull] KScrParser.ElseStatementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterWhileStatement([NotNull] KScrParser.WhileStatementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitWhileStatement([NotNull] KScrParser.WhileStatementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterForStatement([NotNull] KScrParser.ForStatementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitForStatement([NotNull] KScrParser.ForStatementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterForeachStatement([NotNull] KScrParser.ForeachStatementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitForeachStatement([NotNull] KScrParser.ForeachStatementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterDoWhile([NotNull] KScrParser.DoWhileContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitDoWhile([NotNull] KScrParser.DoWhileContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSwitchStatement([NotNull] KScrParser.SwitchStatementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSwitchStatement([NotNull] KScrParser.SwitchStatementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCaseClause([NotNull] KScrParser.CaseClauseContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCaseClause([NotNull] KScrParser.CaseClauseContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterDefaultClause([NotNull] KScrParser.DefaultClauseContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitDefaultClause([NotNull] KScrParser.DefaultClauseContext context); + /// + /// Enter a parse tree produced by the stmtDeclare + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtDeclare([NotNull] KScrParser.StmtDeclareContext context); + /// + /// Exit a parse tree produced by the stmtDeclare + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtDeclare([NotNull] KScrParser.StmtDeclareContext context); + /// + /// Enter a parse tree produced by the stmtAssign + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtAssign([NotNull] KScrParser.StmtAssignContext context); + /// + /// Exit a parse tree produced by the stmtAssign + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtAssign([NotNull] KScrParser.StmtAssignContext context); + /// + /// Enter a parse tree produced by the stmtAssignTuple + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtAssignTuple([NotNull] KScrParser.StmtAssignTupleContext context); + /// + /// Exit a parse tree produced by the stmtAssignTuple + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtAssignTuple([NotNull] KScrParser.StmtAssignTupleContext context); + /// + /// Enter a parse tree produced by the stmtCallMember + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtCallMember([NotNull] KScrParser.StmtCallMemberContext context); + /// + /// Exit a parse tree produced by the stmtCallMember + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtCallMember([NotNull] KScrParser.StmtCallMemberContext context); + /// + /// Enter a parse tree produced by the stmtReturn + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtReturn([NotNull] KScrParser.StmtReturnContext context); + /// + /// Exit a parse tree produced by the stmtReturn + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtReturn([NotNull] KScrParser.StmtReturnContext context); + /// + /// Enter a parse tree produced by the stmtThrow + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtThrow([NotNull] KScrParser.StmtThrowContext context); + /// + /// Exit a parse tree produced by the stmtThrow + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtThrow([NotNull] KScrParser.StmtThrowContext context); + /// + /// Enter a parse tree produced by the stmtMark + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtMark([NotNull] KScrParser.StmtMarkContext context); + /// + /// Exit a parse tree produced by the stmtMark + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtMark([NotNull] KScrParser.StmtMarkContext context); + /// + /// Enter a parse tree produced by the stmtJump + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtJump([NotNull] KScrParser.StmtJumpContext context); + /// + /// Exit a parse tree produced by the stmtJump + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtJump([NotNull] KScrParser.StmtJumpContext context); + /// + /// Enter a parse tree produced by the stmtTryCatch + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtTryCatch([NotNull] KScrParser.StmtTryCatchContext context); + /// + /// Exit a parse tree produced by the stmtTryCatch + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtTryCatch([NotNull] KScrParser.StmtTryCatchContext context); + /// + /// Enter a parse tree produced by the stmtTryWithRes + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtTryWithRes([NotNull] KScrParser.StmtTryWithResContext context); + /// + /// Exit a parse tree produced by the stmtTryWithRes + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtTryWithRes([NotNull] KScrParser.StmtTryWithResContext context); + /// + /// Enter a parse tree produced by the stmtIf + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtIf([NotNull] KScrParser.StmtIfContext context); + /// + /// Exit a parse tree produced by the stmtIf + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtIf([NotNull] KScrParser.StmtIfContext context); + /// + /// Enter a parse tree produced by the stmtWhile + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtWhile([NotNull] KScrParser.StmtWhileContext context); + /// + /// Exit a parse tree produced by the stmtWhile + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtWhile([NotNull] KScrParser.StmtWhileContext context); + /// + /// Enter a parse tree produced by the stmtDoWhile + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtDoWhile([NotNull] KScrParser.StmtDoWhileContext context); + /// + /// Exit a parse tree produced by the stmtDoWhile + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtDoWhile([NotNull] KScrParser.StmtDoWhileContext context); + /// + /// Enter a parse tree produced by the stmtFor + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtFor([NotNull] KScrParser.StmtForContext context); + /// + /// Exit a parse tree produced by the stmtFor + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtFor([NotNull] KScrParser.StmtForContext context); + /// + /// Enter a parse tree produced by the stmtForeach + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtForeach([NotNull] KScrParser.StmtForeachContext context); + /// + /// Exit a parse tree produced by the stmtForeach + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtForeach([NotNull] KScrParser.StmtForeachContext context); + /// + /// Enter a parse tree produced by the stmtSwitch + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtSwitch([NotNull] KScrParser.StmtSwitchContext context); + /// + /// Exit a parse tree produced by the stmtSwitch + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtSwitch([NotNull] KScrParser.StmtSwitchContext context); + /// + /// Enter a parse tree produced by the stmtPipeListen + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtPipeListen([NotNull] KScrParser.StmtPipeListenContext context); + /// + /// Exit a parse tree produced by the stmtPipeListen + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtPipeListen([NotNull] KScrParser.StmtPipeListenContext context); + /// + /// Enter a parse tree produced by the stmtPipeRead + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtPipeRead([NotNull] KScrParser.StmtPipeReadContext context); + /// + /// Exit a parse tree produced by the stmtPipeRead + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtPipeRead([NotNull] KScrParser.StmtPipeReadContext context); + /// + /// Enter a parse tree produced by the stmtPipeWrite + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtPipeWrite([NotNull] KScrParser.StmtPipeWriteContext context); + /// + /// Exit a parse tree produced by the stmtPipeWrite + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtPipeWrite([NotNull] KScrParser.StmtPipeWriteContext context); + /// + /// Enter a parse tree produced by the stmtEmpty + /// labeled alternative in . + /// + /// The parse tree. + void EnterStmtEmpty([NotNull] KScrParser.StmtEmptyContext context); + /// + /// Exit a parse tree produced by the stmtEmpty + /// labeled alternative in . + /// + /// The parse tree. + void ExitStmtEmpty([NotNull] KScrParser.StmtEmptyContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterTypedExpr([NotNull] KScrParser.TypedExprContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitTypedExpr([NotNull] KScrParser.TypedExprContext context); + /// + /// Enter a parse tree produced by the parens + /// labeled alternative in . + /// + /// The parse tree. + void EnterParens([NotNull] KScrParser.ParensContext context); + /// + /// Exit a parse tree produced by the parens + /// labeled alternative in . + /// + /// The parse tree. + void ExitParens([NotNull] KScrParser.ParensContext context); + /// + /// Enter a parse tree produced by the opPostfix + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpPostfix([NotNull] KScrParser.OpPostfixContext context); + /// + /// Exit a parse tree produced by the opPostfix + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpPostfix([NotNull] KScrParser.OpPostfixContext context); + /// + /// Enter a parse tree produced by the exprCallMember + /// labeled alternative in . + /// + /// The parse tree. + void EnterExprCallMember([NotNull] KScrParser.ExprCallMemberContext context); + /// + /// Exit a parse tree produced by the exprCallMember + /// labeled alternative in . + /// + /// The parse tree. + void ExitExprCallMember([NotNull] KScrParser.ExprCallMemberContext context); + /// + /// Enter a parse tree produced by the opPrefix + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpPrefix([NotNull] KScrParser.OpPrefixContext context); + /// + /// Exit a parse tree produced by the opPrefix + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpPrefix([NotNull] KScrParser.OpPrefixContext context); + /// + /// Enter a parse tree produced by the readIndexer + /// labeled alternative in . + /// + /// The parse tree. + void EnterReadIndexer([NotNull] KScrParser.ReadIndexerContext context); + /// + /// Exit a parse tree produced by the readIndexer + /// labeled alternative in . + /// + /// The parse tree. + void ExitReadIndexer([NotNull] KScrParser.ReadIndexerContext context); + /// + /// Enter a parse tree produced by the newListedArrayValue + /// labeled alternative in . + /// + /// The parse tree. + void EnterNewListedArrayValue([NotNull] KScrParser.NewListedArrayValueContext context); + /// + /// Exit a parse tree produced by the newListedArrayValue + /// labeled alternative in . + /// + /// The parse tree. + void ExitNewListedArrayValue([NotNull] KScrParser.NewListedArrayValueContext context); + /// + /// Enter a parse tree produced by the exprLambda + /// labeled alternative in . + /// + /// The parse tree. + void EnterExprLambda([NotNull] KScrParser.ExprLambdaContext context); + /// + /// Exit a parse tree produced by the exprLambda + /// labeled alternative in . + /// + /// The parse tree. + void ExitExprLambda([NotNull] KScrParser.ExprLambdaContext context); + /// + /// Enter a parse tree produced by the checkInstanceof + /// labeled alternative in . + /// + /// The parse tree. + void EnterCheckInstanceof([NotNull] KScrParser.CheckInstanceofContext context); + /// + /// Exit a parse tree produced by the checkInstanceof + /// labeled alternative in . + /// + /// The parse tree. + void ExitCheckInstanceof([NotNull] KScrParser.CheckInstanceofContext context); + /// + /// Enter a parse tree produced by the exprCast + /// labeled alternative in . + /// + /// The parse tree. + void EnterExprCast([NotNull] KScrParser.ExprCastContext context); + /// + /// Exit a parse tree produced by the exprCast + /// labeled alternative in . + /// + /// The parse tree. + void ExitExprCast([NotNull] KScrParser.ExprCastContext context); + /// + /// Enter a parse tree produced by the yieldExpr + /// labeled alternative in . + /// + /// The parse tree. + void EnterYieldExpr([NotNull] KScrParser.YieldExprContext context); + /// + /// Exit a parse tree produced by the yieldExpr + /// labeled alternative in . + /// + /// The parse tree. + void ExitYieldExpr([NotNull] KScrParser.YieldExprContext context); + /// + /// Enter a parse tree produced by the rangeInvoc + /// labeled alternative in . + /// + /// The parse tree. + void EnterRangeInvoc([NotNull] KScrParser.RangeInvocContext context); + /// + /// Exit a parse tree produced by the rangeInvoc + /// labeled alternative in . + /// + /// The parse tree. + void ExitRangeInvoc([NotNull] KScrParser.RangeInvocContext context); + /// + /// Enter a parse tree produced by the opBinaryLate + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpBinaryLate([NotNull] KScrParser.OpBinaryLateContext context); + /// + /// Exit a parse tree produced by the opBinaryLate + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpBinaryLate([NotNull] KScrParser.OpBinaryLateContext context); + /// + /// Enter a parse tree produced by the nativeLitValue + /// labeled alternative in . + /// + /// The parse tree. + void EnterNativeLitValue([NotNull] KScrParser.NativeLitValueContext context); + /// + /// Exit a parse tree produced by the nativeLitValue + /// labeled alternative in . + /// + /// The parse tree. + void ExitNativeLitValue([NotNull] KScrParser.NativeLitValueContext context); + /// + /// Enter a parse tree produced by the exprPipeListen + /// labeled alternative in . + /// + /// The parse tree. + void EnterExprPipeListen([NotNull] KScrParser.ExprPipeListenContext context); + /// + /// Exit a parse tree produced by the exprPipeListen + /// labeled alternative in . + /// + /// The parse tree. + void ExitExprPipeListen([NotNull] KScrParser.ExprPipeListenContext context); + /// + /// Enter a parse tree produced by the exprThrow + /// labeled alternative in . + /// + /// The parse tree. + void EnterExprThrow([NotNull] KScrParser.ExprThrowContext context); + /// + /// Exit a parse tree produced by the exprThrow + /// labeled alternative in . + /// + /// The parse tree. + void ExitExprThrow([NotNull] KScrParser.ExprThrowContext context); + /// + /// Enter a parse tree produced by the varAssign + /// labeled alternative in . + /// + /// The parse tree. + void EnterVarAssign([NotNull] KScrParser.VarAssignContext context); + /// + /// Exit a parse tree produced by the varAssign + /// labeled alternative in . + /// + /// The parse tree. + void ExitVarAssign([NotNull] KScrParser.VarAssignContext context); + /// + /// Enter a parse tree produced by the newArrayValue + /// labeled alternative in . + /// + /// The parse tree. + void EnterNewArrayValue([NotNull] KScrParser.NewArrayValueContext context); + /// + /// Exit a parse tree produced by the newArrayValue + /// labeled alternative in . + /// + /// The parse tree. + void ExitNewArrayValue([NotNull] KScrParser.NewArrayValueContext context); + /// + /// Enter a parse tree produced by the exprSwitch + /// labeled alternative in . + /// + /// The parse tree. + void EnterExprSwitch([NotNull] KScrParser.ExprSwitchContext context); + /// + /// Exit a parse tree produced by the exprSwitch + /// labeled alternative in . + /// + /// The parse tree. + void ExitExprSwitch([NotNull] KScrParser.ExprSwitchContext context); + /// + /// Enter a parse tree produced by the varValue + /// labeled alternative in . + /// + /// The parse tree. + void EnterVarValue([NotNull] KScrParser.VarValueContext context); + /// + /// Exit a parse tree produced by the varValue + /// labeled alternative in . + /// + /// The parse tree. + void ExitVarValue([NotNull] KScrParser.VarValueContext context); + /// + /// Enter a parse tree produced by the opBinary + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpBinary([NotNull] KScrParser.OpBinaryContext context); + /// + /// Exit a parse tree produced by the opBinary + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpBinary([NotNull] KScrParser.OpBinaryContext context); + /// + /// Enter a parse tree produced by the varDeclare + /// labeled alternative in . + /// + /// The parse tree. + void EnterVarDeclare([NotNull] KScrParser.VarDeclareContext context); + /// + /// Exit a parse tree produced by the varDeclare + /// labeled alternative in . + /// + /// The parse tree. + void ExitVarDeclare([NotNull] KScrParser.VarDeclareContext context); + /// + /// Enter a parse tree produced by the exprTuple + /// labeled alternative in . + /// + /// The parse tree. + void EnterExprTuple([NotNull] KScrParser.ExprTupleContext context); + /// + /// Exit a parse tree produced by the exprTuple + /// labeled alternative in . + /// + /// The parse tree. + void ExitExprTuple([NotNull] KScrParser.ExprTupleContext context); + /// + /// Enter a parse tree produced by the typeValue + /// labeled alternative in . + /// + /// The parse tree. + void EnterTypeValue([NotNull] KScrParser.TypeValueContext context); + /// + /// Exit a parse tree produced by the typeValue + /// labeled alternative in . + /// + /// The parse tree. + void ExitTypeValue([NotNull] KScrParser.TypeValueContext context); + /// + /// Enter a parse tree produced by the callCtor + /// labeled alternative in . + /// + /// The parse tree. + void EnterCallCtor([NotNull] KScrParser.CallCtorContext context); + /// + /// Exit a parse tree produced by the callCtor + /// labeled alternative in . + /// + /// The parse tree. + void ExitCallCtor([NotNull] KScrParser.CallCtorContext context); + /// + /// Enter a parse tree produced by the ternary + /// labeled alternative in . + /// + /// The parse tree. + void EnterTernary([NotNull] KScrParser.TernaryContext context); + /// + /// Exit a parse tree produced by the ternary + /// labeled alternative in . + /// + /// The parse tree. + void ExitTernary([NotNull] KScrParser.TernaryContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterTupleDeclType([NotNull] KScrParser.TupleDeclTypeContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitTupleDeclType([NotNull] KScrParser.TupleDeclTypeContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterTupleDecl([NotNull] KScrParser.TupleDeclContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitTupleDecl([NotNull] KScrParser.TupleDeclContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterTupleExpr([NotNull] KScrParser.TupleExprContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitTupleExpr([NotNull] KScrParser.TupleExprContext context); + /// + /// Enter a parse tree produced by the opMultiply + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpMultiply([NotNull] KScrParser.OpMultiplyContext context); + /// + /// Exit a parse tree produced by the opMultiply + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpMultiply([NotNull] KScrParser.OpMultiplyContext context); + /// + /// Enter a parse tree produced by the opDivide + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpDivide([NotNull] KScrParser.OpDivideContext context); + /// + /// Exit a parse tree produced by the opDivide + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpDivide([NotNull] KScrParser.OpDivideContext context); + /// + /// Enter a parse tree produced by the opModulus + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpModulus([NotNull] KScrParser.OpModulusContext context); + /// + /// Exit a parse tree produced by the opModulus + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpModulus([NotNull] KScrParser.OpModulusContext context); + /// + /// Enter a parse tree produced by the opBitAnd + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpBitAnd([NotNull] KScrParser.OpBitAndContext context); + /// + /// Exit a parse tree produced by the opBitAnd + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpBitAnd([NotNull] KScrParser.OpBitAndContext context); + /// + /// Enter a parse tree produced by the opBitOr + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpBitOr([NotNull] KScrParser.OpBitOrContext context); + /// + /// Exit a parse tree produced by the opBitOr + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpBitOr([NotNull] KScrParser.OpBitOrContext context); + /// + /// Enter a parse tree produced by the opBitNot + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpBitNot([NotNull] KScrParser.OpBitNotContext context); + /// + /// Exit a parse tree produced by the opBitNot + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpBitNot([NotNull] KScrParser.OpBitNotContext context); + /// + /// Enter a parse tree produced by the opLogicAnd + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpLogicAnd([NotNull] KScrParser.OpLogicAndContext context); + /// + /// Exit a parse tree produced by the opLogicAnd + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpLogicAnd([NotNull] KScrParser.OpLogicAndContext context); + /// + /// Enter a parse tree produced by the opLogicOr + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpLogicOr([NotNull] KScrParser.OpLogicOrContext context); + /// + /// Exit a parse tree produced by the opLogicOr + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpLogicOr([NotNull] KScrParser.OpLogicOrContext context); + /// + /// Enter a parse tree produced by the opPow + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpPow([NotNull] KScrParser.OpPowContext context); + /// + /// Exit a parse tree produced by the opPow + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpPow([NotNull] KScrParser.OpPowContext context); + /// + /// Enter a parse tree produced by the opEqual + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpEqual([NotNull] KScrParser.OpEqualContext context); + /// + /// Exit a parse tree produced by the opEqual + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpEqual([NotNull] KScrParser.OpEqualContext context); + /// + /// Enter a parse tree produced by the opInequal + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpInequal([NotNull] KScrParser.OpInequalContext context); + /// + /// Exit a parse tree produced by the opInequal + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpInequal([NotNull] KScrParser.OpInequalContext context); + /// + /// Enter a parse tree produced by the opGreaterEq + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpGreaterEq([NotNull] KScrParser.OpGreaterEqContext context); + /// + /// Exit a parse tree produced by the opGreaterEq + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpGreaterEq([NotNull] KScrParser.OpGreaterEqContext context); + /// + /// Enter a parse tree produced by the opLesserEq + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpLesserEq([NotNull] KScrParser.OpLesserEqContext context); + /// + /// Exit a parse tree produced by the opLesserEq + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpLesserEq([NotNull] KScrParser.OpLesserEqContext context); + /// + /// Enter a parse tree produced by the opGreater + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpGreater([NotNull] KScrParser.OpGreaterContext context); + /// + /// Exit a parse tree produced by the opGreater + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpGreater([NotNull] KScrParser.OpGreaterContext context); + /// + /// Enter a parse tree produced by the opLesser + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpLesser([NotNull] KScrParser.OpLesserContext context); + /// + /// Exit a parse tree produced by the opLesser + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpLesser([NotNull] KScrParser.OpLesserContext context); + /// + /// Enter a parse tree produced by the opLShift + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpLShift([NotNull] KScrParser.OpLShiftContext context); + /// + /// Exit a parse tree produced by the opLShift + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpLShift([NotNull] KScrParser.OpLShiftContext context); + /// + /// Enter a parse tree produced by the opRShift + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpRShift([NotNull] KScrParser.OpRShiftContext context); + /// + /// Exit a parse tree produced by the opRShift + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpRShift([NotNull] KScrParser.OpRShiftContext context); + /// + /// Enter a parse tree produced by the opULShift + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpULShift([NotNull] KScrParser.OpULShiftContext context); + /// + /// Exit a parse tree produced by the opULShift + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpULShift([NotNull] KScrParser.OpULShiftContext context); + /// + /// Enter a parse tree produced by the opURShift + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpURShift([NotNull] KScrParser.OpURShiftContext context); + /// + /// Exit a parse tree produced by the opURShift + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpURShift([NotNull] KScrParser.OpURShiftContext context); + /// + /// Enter a parse tree produced by the opNullFallback + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpNullFallback([NotNull] KScrParser.OpNullFallbackContext context); + /// + /// Exit a parse tree produced by the opNullFallback + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpNullFallback([NotNull] KScrParser.OpNullFallbackContext context); + /// + /// Enter a parse tree produced by the opPlus + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpPlus([NotNull] KScrParser.OpPlusContext context); + /// + /// Exit a parse tree produced by the opPlus + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpPlus([NotNull] KScrParser.OpPlusContext context); + /// + /// Enter a parse tree produced by the opMinus + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpMinus([NotNull] KScrParser.OpMinusContext context); + /// + /// Exit a parse tree produced by the opMinus + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpMinus([NotNull] KScrParser.OpMinusContext context); + /// + /// Enter a parse tree produced by the opArithNot + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpArithNot([NotNull] KScrParser.OpArithNotContext context); + /// + /// Exit a parse tree produced by the opArithNot + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpArithNot([NotNull] KScrParser.OpArithNotContext context); + /// + /// Enter a parse tree produced by the opLogicNot + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpLogicNot([NotNull] KScrParser.OpLogicNotContext context); + /// + /// Exit a parse tree produced by the opLogicNot + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpLogicNot([NotNull] KScrParser.OpLogicNotContext context); + /// + /// Enter a parse tree produced by the opIncrRead + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpIncrRead([NotNull] KScrParser.OpIncrReadContext context); + /// + /// Exit a parse tree produced by the opIncrRead + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpIncrRead([NotNull] KScrParser.OpIncrReadContext context); + /// + /// Enter a parse tree produced by the opDecrRead + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpDecrRead([NotNull] KScrParser.OpDecrReadContext context); + /// + /// Exit a parse tree produced by the opDecrRead + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpDecrRead([NotNull] KScrParser.OpDecrReadContext context); + /// + /// Enter a parse tree produced by the opReadIncr + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpReadIncr([NotNull] KScrParser.OpReadIncrContext context); + /// + /// Exit a parse tree produced by the opReadIncr + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpReadIncr([NotNull] KScrParser.OpReadIncrContext context); + /// + /// Enter a parse tree produced by the opReadDecr + /// labeled alternative in . + /// + /// The parse tree. + void EnterOpReadDecr([NotNull] KScrParser.OpReadDecrContext context); + /// + /// Exit a parse tree produced by the opReadDecr + /// labeled alternative in . + /// + /// The parse tree. + void ExitOpReadDecr([NotNull] KScrParser.OpReadDecrContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterId([NotNull] KScrParser.IdContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitId([NotNull] KScrParser.IdContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterIdPart([NotNull] KScrParser.IdPartContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitIdPart([NotNull] KScrParser.IdPartContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterArray([NotNull] KScrParser.ArrayContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitArray([NotNull] KScrParser.ArrayContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterTuple([NotNull] KScrParser.TupleContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitTuple([NotNull] KScrParser.TupleContext context); + /// + /// Enter a parse tree produced by the numTypeLitTuple + /// labeled alternative in . + /// + /// The parse tree. + void EnterNumTypeLitTuple([NotNull] KScrParser.NumTypeLitTupleContext context); + /// + /// Exit a parse tree produced by the numTypeLitTuple + /// labeled alternative in . + /// + /// The parse tree. + void ExitNumTypeLitTuple([NotNull] KScrParser.NumTypeLitTupleContext context); + /// + /// Enter a parse tree produced by the numTypeLitByte + /// labeled alternative in . + /// + /// The parse tree. + void EnterNumTypeLitByte([NotNull] KScrParser.NumTypeLitByteContext context); + /// + /// Exit a parse tree produced by the numTypeLitByte + /// labeled alternative in . + /// + /// The parse tree. + void ExitNumTypeLitByte([NotNull] KScrParser.NumTypeLitByteContext context); + /// + /// Enter a parse tree produced by the numTypeLitShort + /// labeled alternative in . + /// + /// The parse tree. + void EnterNumTypeLitShort([NotNull] KScrParser.NumTypeLitShortContext context); + /// + /// Exit a parse tree produced by the numTypeLitShort + /// labeled alternative in . + /// + /// The parse tree. + void ExitNumTypeLitShort([NotNull] KScrParser.NumTypeLitShortContext context); + /// + /// Enter a parse tree produced by the numTypeLitInt + /// labeled alternative in . + /// + /// The parse tree. + void EnterNumTypeLitInt([NotNull] KScrParser.NumTypeLitIntContext context); + /// + /// Exit a parse tree produced by the numTypeLitInt + /// labeled alternative in . + /// + /// The parse tree. + void ExitNumTypeLitInt([NotNull] KScrParser.NumTypeLitIntContext context); + /// + /// Enter a parse tree produced by the numTypeLitLong + /// labeled alternative in . + /// + /// The parse tree. + void EnterNumTypeLitLong([NotNull] KScrParser.NumTypeLitLongContext context); + /// + /// Exit a parse tree produced by the numTypeLitLong + /// labeled alternative in . + /// + /// The parse tree. + void ExitNumTypeLitLong([NotNull] KScrParser.NumTypeLitLongContext context); + /// + /// Enter a parse tree produced by the numTypeLitFloat + /// labeled alternative in . + /// + /// The parse tree. + void EnterNumTypeLitFloat([NotNull] KScrParser.NumTypeLitFloatContext context); + /// + /// Exit a parse tree produced by the numTypeLitFloat + /// labeled alternative in . + /// + /// The parse tree. + void ExitNumTypeLitFloat([NotNull] KScrParser.NumTypeLitFloatContext context); + /// + /// Enter a parse tree produced by the numTypeLitDouble + /// labeled alternative in . + /// + /// The parse tree. + void EnterNumTypeLitDouble([NotNull] KScrParser.NumTypeLitDoubleContext context); + /// + /// Exit a parse tree produced by the numTypeLitDouble + /// labeled alternative in . + /// + /// The parse tree. + void ExitNumTypeLitDouble([NotNull] KScrParser.NumTypeLitDoubleContext context); + /// + /// Enter a parse tree produced by the typeLitObject + /// labeled alternative in . + /// + /// The parse tree. + void EnterTypeLitObject([NotNull] KScrParser.TypeLitObjectContext context); + /// + /// Exit a parse tree produced by the typeLitObject + /// labeled alternative in . + /// + /// The parse tree. + void ExitTypeLitObject([NotNull] KScrParser.TypeLitObjectContext context); + /// + /// Enter a parse tree produced by the typeLitArray + /// labeled alternative in . + /// + /// The parse tree. + void EnterTypeLitArray([NotNull] KScrParser.TypeLitArrayContext context); + /// + /// Exit a parse tree produced by the typeLitArray + /// labeled alternative in . + /// + /// The parse tree. + void ExitTypeLitArray([NotNull] KScrParser.TypeLitArrayContext context); + /// + /// Enter a parse tree produced by the typeLitTuple + /// labeled alternative in . + /// + /// The parse tree. + void EnterTypeLitTuple([NotNull] KScrParser.TypeLitTupleContext context); + /// + /// Exit a parse tree produced by the typeLitTuple + /// labeled alternative in . + /// + /// The parse tree. + void ExitTypeLitTuple([NotNull] KScrParser.TypeLitTupleContext context); + /// + /// Enter a parse tree produced by the typeLitNum + /// labeled alternative in . + /// + /// The parse tree. + void EnterTypeLitNum([NotNull] KScrParser.TypeLitNumContext context); + /// + /// Exit a parse tree produced by the typeLitNum + /// labeled alternative in . + /// + /// The parse tree. + void ExitTypeLitNum([NotNull] KScrParser.TypeLitNumContext context); + /// + /// Enter a parse tree produced by the typeLitType + /// labeled alternative in . + /// + /// The parse tree. + void EnterTypeLitType([NotNull] KScrParser.TypeLitTypeContext context); + /// + /// Exit a parse tree produced by the typeLitType + /// labeled alternative in . + /// + /// The parse tree. + void ExitTypeLitType([NotNull] KScrParser.TypeLitTypeContext context); + /// + /// Enter a parse tree produced by the typeLitEnum + /// labeled alternative in . + /// + /// The parse tree. + void EnterTypeLitEnum([NotNull] KScrParser.TypeLitEnumContext context); + /// + /// Exit a parse tree produced by the typeLitEnum + /// labeled alternative in . + /// + /// The parse tree. + void ExitTypeLitEnum([NotNull] KScrParser.TypeLitEnumContext context); + /// + /// Enter a parse tree produced by the typeLitVoid + /// labeled alternative in . + /// + /// The parse tree. + void EnterTypeLitVoid([NotNull] KScrParser.TypeLitVoidContext context); + /// + /// Exit a parse tree produced by the typeLitVoid + /// labeled alternative in . + /// + /// The parse tree. + void ExitTypeLitVoid([NotNull] KScrParser.TypeLitVoidContext context); + /// + /// Enter a parse tree produced by the varThis + /// labeled alternative in . + /// + /// The parse tree. + void EnterVarThis([NotNull] KScrParser.VarThisContext context); + /// + /// Exit a parse tree produced by the varThis + /// labeled alternative in . + /// + /// The parse tree. + void ExitVarThis([NotNull] KScrParser.VarThisContext context); + /// + /// Enter a parse tree produced by the varSuper + /// labeled alternative in . + /// + /// The parse tree. + void EnterVarSuper([NotNull] KScrParser.VarSuperContext context); + /// + /// Exit a parse tree produced by the varSuper + /// labeled alternative in . + /// + /// The parse tree. + void ExitVarSuper([NotNull] KScrParser.VarSuperContext context); + /// + /// Enter a parse tree produced by the varLitNum + /// labeled alternative in . + /// + /// The parse tree. + void EnterVarLitNum([NotNull] KScrParser.VarLitNumContext context); + /// + /// Exit a parse tree produced by the varLitNum + /// labeled alternative in . + /// + /// The parse tree. + void ExitVarLitNum([NotNull] KScrParser.VarLitNumContext context); + /// + /// Enter a parse tree produced by the varLitTrue + /// labeled alternative in . + /// + /// The parse tree. + void EnterVarLitTrue([NotNull] KScrParser.VarLitTrueContext context); + /// + /// Exit a parse tree produced by the varLitTrue + /// labeled alternative in . + /// + /// The parse tree. + void ExitVarLitTrue([NotNull] KScrParser.VarLitTrueContext context); + /// + /// Enter a parse tree produced by the varLitFalse + /// labeled alternative in . + /// + /// The parse tree. + void EnterVarLitFalse([NotNull] KScrParser.VarLitFalseContext context); + /// + /// Exit a parse tree produced by the varLitFalse + /// labeled alternative in . + /// + /// The parse tree. + void ExitVarLitFalse([NotNull] KScrParser.VarLitFalseContext context); + /// + /// Enter a parse tree produced by the varLitStr + /// labeled alternative in . + /// + /// The parse tree. + void EnterVarLitStr([NotNull] KScrParser.VarLitStrContext context); + /// + /// Exit a parse tree produced by the varLitStr + /// labeled alternative in . + /// + /// The parse tree. + void ExitVarLitStr([NotNull] KScrParser.VarLitStrContext context); + /// + /// Enter a parse tree produced by the varLitStdio + /// labeled alternative in . + /// + /// The parse tree. + void EnterVarLitStdio([NotNull] KScrParser.VarLitStdioContext context); + /// + /// Exit a parse tree produced by the varLitStdio + /// labeled alternative in . + /// + /// The parse tree. + void ExitVarLitStdio([NotNull] KScrParser.VarLitStdioContext context); + /// + /// Enter a parse tree produced by the varLitEndl + /// labeled alternative in . + /// + /// The parse tree. + void EnterVarLitEndl([NotNull] KScrParser.VarLitEndlContext context); + /// + /// Exit a parse tree produced by the varLitEndl + /// labeled alternative in . + /// + /// The parse tree. + void ExitVarLitEndl([NotNull] KScrParser.VarLitEndlContext context); + /// + /// Enter a parse tree produced by the varLitNull + /// labeled alternative in . + /// + /// The parse tree. + void EnterVarLitNull([NotNull] KScrParser.VarLitNullContext context); + /// + /// Exit a parse tree produced by the varLitNull + /// labeled alternative in . + /// + /// The parse tree. + void ExitVarLitNull([NotNull] KScrParser.VarLitNullContext context); +} +} // namespace KScr.Antlr diff --git a/kscr-compiler/KScr/Antlr/KScrParserVisitor.cs b/kscr-compiler/KScr/Antlr/KScrParserVisitor.cs new file mode 100644 index 0000000..ae42927 --- /dev/null +++ b/kscr-compiler/KScr/Antlr/KScrParserVisitor.cs @@ -0,0 +1,1379 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.10.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from C:/dev/KScr/grammar\KScrParser.g4 by ANTLR 4.10.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + +namespace KScr.Antlr { +using Antlr4.Runtime.Misc; +using Antlr4.Runtime.Tree; +using IToken = Antlr4.Runtime.IToken; + +/// +/// This interface defines a complete generic visitor for a parse tree produced +/// by . +/// +/// The return type of the visit operation. +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.10.1")] +[System.CLSCompliant(false)] +public interface IKScrParserVisitor : IParseTreeVisitor { + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitPackageDecl([NotNull] KScrParser.PackageDeclContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitImports([NotNull] KScrParser.ImportsContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitImportDecl([NotNull] KScrParser.ImportDeclContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitAnnotationArg([NotNull] KScrParser.AnnotationArgContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitAnnotation([NotNull] KScrParser.AnnotationContext context); + /// + /// Visit a parse tree produced by the modPublic + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitModPublic([NotNull] KScrParser.ModPublicContext context); + /// + /// Visit a parse tree produced by the modInternal + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitModInternal([NotNull] KScrParser.ModInternalContext context); + /// + /// Visit a parse tree produced by the modProtected + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitModProtected([NotNull] KScrParser.ModProtectedContext context); + /// + /// Visit a parse tree produced by the modPrivate + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitModPrivate([NotNull] KScrParser.ModPrivateContext context); + /// + /// Visit a parse tree produced by the modStatic + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitModStatic([NotNull] KScrParser.ModStaticContext context); + /// + /// Visit a parse tree produced by the modFinal + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitModFinal([NotNull] KScrParser.ModFinalContext context); + /// + /// Visit a parse tree produced by the modAbstract + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitModAbstract([NotNull] KScrParser.ModAbstractContext context); + /// + /// Visit a parse tree produced by the modSyncronized + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitModSyncronized([NotNull] KScrParser.ModSyncronizedContext context); + /// + /// Visit a parse tree produced by the modNative + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitModNative([NotNull] KScrParser.ModNativeContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitModifiers([NotNull] KScrParser.ModifiersContext context); + /// + /// Visit a parse tree produced by the ctClass + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitCtClass([NotNull] KScrParser.CtClassContext context); + /// + /// Visit a parse tree produced by the ctInterface + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitCtInterface([NotNull] KScrParser.CtInterfaceContext context); + /// + /// Visit a parse tree produced by the ctEnum + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitCtEnum([NotNull] KScrParser.CtEnumContext context); + /// + /// Visit a parse tree produced by the ctAnnotation + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitCtAnnotation([NotNull] KScrParser.CtAnnotationContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitGenericTypeUses([NotNull] KScrParser.GenericTypeUsesContext context); + /// + /// Visit a parse tree produced by the importedTypeName + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitImportedTypeName([NotNull] KScrParser.ImportedTypeNameContext context); + /// + /// Visit a parse tree produced by the normalTypeUse + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitNormalTypeUse([NotNull] KScrParser.NormalTypeUseContext context); + /// + /// Visit a parse tree produced by the arrayTypeUse + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitArrayTypeUse([NotNull] KScrParser.ArrayTypeUseContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitRawType([NotNull] KScrParser.RawTypeContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitGenericTypeDef([NotNull] KScrParser.GenericTypeDefContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitGenericTypeDefs([NotNull] KScrParser.GenericTypeDefsContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitObjectExtends([NotNull] KScrParser.ObjectExtendsContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitObjectImplements([NotNull] KScrParser.ObjectImplementsContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitParameter([NotNull] KScrParser.ParameterContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitParameters([NotNull] KScrParser.ParametersContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitArguments([NotNull] KScrParser.ArgumentsContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitStatements([NotNull] KScrParser.StatementsContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitNoBlock([NotNull] KScrParser.NoBlockContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitUniformBlock([NotNull] KScrParser.UniformBlockContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitNormalBlock([NotNull] KScrParser.NormalBlockContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitMemberExpr([NotNull] KScrParser.MemberExprContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitLambdaBlock([NotNull] KScrParser.LambdaBlockContext context); + /// + /// Visit a parse tree produced by the caseStmtBlock + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitCaseStmtBlock([NotNull] KScrParser.CaseStmtBlockContext context); + /// + /// Visit a parse tree produced by the caseExprBlock + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitCaseExprBlock([NotNull] KScrParser.CaseExprBlockContext context); + /// + /// Visit a parse tree produced by the memberNormalBlock + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitMemberNormalBlock([NotNull] KScrParser.MemberNormalBlockContext context); + /// + /// Visit a parse tree produced by the memberExprBlock + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitMemberExprBlock([NotNull] KScrParser.MemberExprBlockContext context); + /// + /// Visit a parse tree produced by the memberNoBlock + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitMemberNoBlock([NotNull] KScrParser.MemberNoBlockContext context); + /// + /// Visit a parse tree produced by the codeNormalBlock + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitCodeNormalBlock([NotNull] KScrParser.CodeNormalBlockContext context); + /// + /// Visit a parse tree produced by the codeStmtBlock + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitCodeStmtBlock([NotNull] KScrParser.CodeStmtBlockContext context); + /// + /// Visit a parse tree produced by the codeNoBlock + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitCodeNoBlock([NotNull] KScrParser.CodeNoBlockContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitInitDecl([NotNull] KScrParser.InitDeclContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitSubConstructorCall([NotNull] KScrParser.SubConstructorCallContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitSubConstructorCalls([NotNull] KScrParser.SubConstructorCallsContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitConstructorDecl([NotNull] KScrParser.ConstructorDeclContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitMethodDecl([NotNull] KScrParser.MethodDeclContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitIndexerMemberDecl([NotNull] KScrParser.IndexerMemberDeclContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitPropGetter([NotNull] KScrParser.PropGetterContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitPropSetter([NotNull] KScrParser.PropSetterContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitPropInit([NotNull] KScrParser.PropInitContext context); + /// + /// Visit a parse tree produced by the propComputed + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitPropComputed([NotNull] KScrParser.PropComputedContext context); + /// + /// Visit a parse tree produced by the propAccessors + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitPropAccessors([NotNull] KScrParser.PropAccessorsContext context); + /// + /// Visit a parse tree produced by the propFieldStyle + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitPropFieldStyle([NotNull] KScrParser.PropFieldStyleContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitPropertyDecl([NotNull] KScrParser.PropertyDeclContext context); + /// + /// Visit a parse tree produced by the memProp + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitMemProp([NotNull] KScrParser.MemPropContext context); + /// + /// Visit a parse tree produced by the memCls + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitMemCls([NotNull] KScrParser.MemClsContext context); + /// + /// Visit a parse tree produced by the memInit + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitMemInit([NotNull] KScrParser.MemInitContext context); + /// + /// Visit a parse tree produced by the memCtor + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitMemCtor([NotNull] KScrParser.MemCtorContext context); + /// + /// Visit a parse tree produced by the memMtd + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitMemMtd([NotNull] KScrParser.MemMtdContext context); + /// + /// Visit a parse tree produced by the memIdx + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitMemIdx([NotNull] KScrParser.MemIdxContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitClassDecl([NotNull] KScrParser.ClassDeclContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitFile([NotNull] KScrParser.FileContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitInferType([NotNull] KScrParser.InferTypeContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitIndexerEmpty([NotNull] KScrParser.IndexerEmptyContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitIndexerDecl([NotNull] KScrParser.IndexerDeclContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitIndexerExpr([NotNull] KScrParser.IndexerExprContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitCast([NotNull] KScrParser.CastContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitDeclaration([NotNull] KScrParser.DeclarationContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitMutation([NotNull] KScrParser.MutationContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitCall([NotNull] KScrParser.CallContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitCtorCall([NotNull] KScrParser.CtorCallContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitNewArray([NotNull] KScrParser.NewArrayContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitNewListedArray([NotNull] KScrParser.NewListedArrayContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitLabel([NotNull] KScrParser.LabelContext context); + /// + /// Visit a parse tree produced by the methodRef + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitMethodRef([NotNull] KScrParser.MethodRefContext context); + /// + /// Visit a parse tree produced by the lambdaExpr + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitLambdaExpr([NotNull] KScrParser.LambdaExprContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitReturnStatement([NotNull] KScrParser.ReturnStatementContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitThrowStatement([NotNull] KScrParser.ThrowStatementContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitMarkStatement([NotNull] KScrParser.MarkStatementContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitJumpStatement([NotNull] KScrParser.JumpStatementContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitTryCatchStatement([NotNull] KScrParser.TryCatchStatementContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitTryWithResourcesStatement([NotNull] KScrParser.TryWithResourcesStatementContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitCatchBlocks([NotNull] KScrParser.CatchBlocksContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitCatchBlock([NotNull] KScrParser.CatchBlockContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitFinallyBlock([NotNull] KScrParser.FinallyBlockContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitIfStatement([NotNull] KScrParser.IfStatementContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitElseStatement([NotNull] KScrParser.ElseStatementContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitWhileStatement([NotNull] KScrParser.WhileStatementContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitForStatement([NotNull] KScrParser.ForStatementContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitForeachStatement([NotNull] KScrParser.ForeachStatementContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitDoWhile([NotNull] KScrParser.DoWhileContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitSwitchStatement([NotNull] KScrParser.SwitchStatementContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitCaseClause([NotNull] KScrParser.CaseClauseContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitDefaultClause([NotNull] KScrParser.DefaultClauseContext context); + /// + /// Visit a parse tree produced by the stmtDeclare + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtDeclare([NotNull] KScrParser.StmtDeclareContext context); + /// + /// Visit a parse tree produced by the stmtAssign + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtAssign([NotNull] KScrParser.StmtAssignContext context); + /// + /// Visit a parse tree produced by the stmtAssignTuple + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtAssignTuple([NotNull] KScrParser.StmtAssignTupleContext context); + /// + /// Visit a parse tree produced by the stmtCallMember + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtCallMember([NotNull] KScrParser.StmtCallMemberContext context); + /// + /// Visit a parse tree produced by the stmtReturn + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtReturn([NotNull] KScrParser.StmtReturnContext context); + /// + /// Visit a parse tree produced by the stmtThrow + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtThrow([NotNull] KScrParser.StmtThrowContext context); + /// + /// Visit a parse tree produced by the stmtMark + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtMark([NotNull] KScrParser.StmtMarkContext context); + /// + /// Visit a parse tree produced by the stmtJump + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtJump([NotNull] KScrParser.StmtJumpContext context); + /// + /// Visit a parse tree produced by the stmtTryCatch + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtTryCatch([NotNull] KScrParser.StmtTryCatchContext context); + /// + /// Visit a parse tree produced by the stmtTryWithRes + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtTryWithRes([NotNull] KScrParser.StmtTryWithResContext context); + /// + /// Visit a parse tree produced by the stmtIf + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtIf([NotNull] KScrParser.StmtIfContext context); + /// + /// Visit a parse tree produced by the stmtWhile + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtWhile([NotNull] KScrParser.StmtWhileContext context); + /// + /// Visit a parse tree produced by the stmtDoWhile + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtDoWhile([NotNull] KScrParser.StmtDoWhileContext context); + /// + /// Visit a parse tree produced by the stmtFor + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtFor([NotNull] KScrParser.StmtForContext context); + /// + /// Visit a parse tree produced by the stmtForeach + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtForeach([NotNull] KScrParser.StmtForeachContext context); + /// + /// Visit a parse tree produced by the stmtSwitch + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtSwitch([NotNull] KScrParser.StmtSwitchContext context); + /// + /// Visit a parse tree produced by the stmtPipeListen + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtPipeListen([NotNull] KScrParser.StmtPipeListenContext context); + /// + /// Visit a parse tree produced by the stmtPipeRead + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtPipeRead([NotNull] KScrParser.StmtPipeReadContext context); + /// + /// Visit a parse tree produced by the stmtPipeWrite + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtPipeWrite([NotNull] KScrParser.StmtPipeWriteContext context); + /// + /// Visit a parse tree produced by the stmtEmpty + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitStmtEmpty([NotNull] KScrParser.StmtEmptyContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitTypedExpr([NotNull] KScrParser.TypedExprContext context); + /// + /// Visit a parse tree produced by the parens + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitParens([NotNull] KScrParser.ParensContext context); + /// + /// Visit a parse tree produced by the opPostfix + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpPostfix([NotNull] KScrParser.OpPostfixContext context); + /// + /// Visit a parse tree produced by the exprCallMember + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitExprCallMember([NotNull] KScrParser.ExprCallMemberContext context); + /// + /// Visit a parse tree produced by the opPrefix + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpPrefix([NotNull] KScrParser.OpPrefixContext context); + /// + /// Visit a parse tree produced by the readIndexer + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitReadIndexer([NotNull] KScrParser.ReadIndexerContext context); + /// + /// Visit a parse tree produced by the newListedArrayValue + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitNewListedArrayValue([NotNull] KScrParser.NewListedArrayValueContext context); + /// + /// Visit a parse tree produced by the exprLambda + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitExprLambda([NotNull] KScrParser.ExprLambdaContext context); + /// + /// Visit a parse tree produced by the checkInstanceof + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitCheckInstanceof([NotNull] KScrParser.CheckInstanceofContext context); + /// + /// Visit a parse tree produced by the exprCast + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitExprCast([NotNull] KScrParser.ExprCastContext context); + /// + /// Visit a parse tree produced by the yieldExpr + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitYieldExpr([NotNull] KScrParser.YieldExprContext context); + /// + /// Visit a parse tree produced by the rangeInvoc + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitRangeInvoc([NotNull] KScrParser.RangeInvocContext context); + /// + /// Visit a parse tree produced by the opBinaryLate + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpBinaryLate([NotNull] KScrParser.OpBinaryLateContext context); + /// + /// Visit a parse tree produced by the nativeLitValue + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitNativeLitValue([NotNull] KScrParser.NativeLitValueContext context); + /// + /// Visit a parse tree produced by the exprPipeListen + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitExprPipeListen([NotNull] KScrParser.ExprPipeListenContext context); + /// + /// Visit a parse tree produced by the exprThrow + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitExprThrow([NotNull] KScrParser.ExprThrowContext context); + /// + /// Visit a parse tree produced by the varAssign + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitVarAssign([NotNull] KScrParser.VarAssignContext context); + /// + /// Visit a parse tree produced by the newArrayValue + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitNewArrayValue([NotNull] KScrParser.NewArrayValueContext context); + /// + /// Visit a parse tree produced by the exprSwitch + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitExprSwitch([NotNull] KScrParser.ExprSwitchContext context); + /// + /// Visit a parse tree produced by the varValue + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitVarValue([NotNull] KScrParser.VarValueContext context); + /// + /// Visit a parse tree produced by the opBinary + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpBinary([NotNull] KScrParser.OpBinaryContext context); + /// + /// Visit a parse tree produced by the varDeclare + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitVarDeclare([NotNull] KScrParser.VarDeclareContext context); + /// + /// Visit a parse tree produced by the exprTuple + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitExprTuple([NotNull] KScrParser.ExprTupleContext context); + /// + /// Visit a parse tree produced by the typeValue + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTypeValue([NotNull] KScrParser.TypeValueContext context); + /// + /// Visit a parse tree produced by the callCtor + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitCallCtor([NotNull] KScrParser.CallCtorContext context); + /// + /// Visit a parse tree produced by the ternary + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTernary([NotNull] KScrParser.TernaryContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitTupleDeclType([NotNull] KScrParser.TupleDeclTypeContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitTupleDecl([NotNull] KScrParser.TupleDeclContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitTupleExpr([NotNull] KScrParser.TupleExprContext context); + /// + /// Visit a parse tree produced by the opMultiply + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpMultiply([NotNull] KScrParser.OpMultiplyContext context); + /// + /// Visit a parse tree produced by the opDivide + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpDivide([NotNull] KScrParser.OpDivideContext context); + /// + /// Visit a parse tree produced by the opModulus + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpModulus([NotNull] KScrParser.OpModulusContext context); + /// + /// Visit a parse tree produced by the opBitAnd + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpBitAnd([NotNull] KScrParser.OpBitAndContext context); + /// + /// Visit a parse tree produced by the opBitOr + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpBitOr([NotNull] KScrParser.OpBitOrContext context); + /// + /// Visit a parse tree produced by the opBitNot + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpBitNot([NotNull] KScrParser.OpBitNotContext context); + /// + /// Visit a parse tree produced by the opLogicAnd + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpLogicAnd([NotNull] KScrParser.OpLogicAndContext context); + /// + /// Visit a parse tree produced by the opLogicOr + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpLogicOr([NotNull] KScrParser.OpLogicOrContext context); + /// + /// Visit a parse tree produced by the opPow + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpPow([NotNull] KScrParser.OpPowContext context); + /// + /// Visit a parse tree produced by the opEqual + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpEqual([NotNull] KScrParser.OpEqualContext context); + /// + /// Visit a parse tree produced by the opInequal + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpInequal([NotNull] KScrParser.OpInequalContext context); + /// + /// Visit a parse tree produced by the opGreaterEq + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpGreaterEq([NotNull] KScrParser.OpGreaterEqContext context); + /// + /// Visit a parse tree produced by the opLesserEq + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpLesserEq([NotNull] KScrParser.OpLesserEqContext context); + /// + /// Visit a parse tree produced by the opGreater + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpGreater([NotNull] KScrParser.OpGreaterContext context); + /// + /// Visit a parse tree produced by the opLesser + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpLesser([NotNull] KScrParser.OpLesserContext context); + /// + /// Visit a parse tree produced by the opLShift + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpLShift([NotNull] KScrParser.OpLShiftContext context); + /// + /// Visit a parse tree produced by the opRShift + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpRShift([NotNull] KScrParser.OpRShiftContext context); + /// + /// Visit a parse tree produced by the opULShift + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpULShift([NotNull] KScrParser.OpULShiftContext context); + /// + /// Visit a parse tree produced by the opURShift + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpURShift([NotNull] KScrParser.OpURShiftContext context); + /// + /// Visit a parse tree produced by the opNullFallback + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpNullFallback([NotNull] KScrParser.OpNullFallbackContext context); + /// + /// Visit a parse tree produced by the opPlus + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpPlus([NotNull] KScrParser.OpPlusContext context); + /// + /// Visit a parse tree produced by the opMinus + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpMinus([NotNull] KScrParser.OpMinusContext context); + /// + /// Visit a parse tree produced by the opArithNot + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpArithNot([NotNull] KScrParser.OpArithNotContext context); + /// + /// Visit a parse tree produced by the opLogicNot + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpLogicNot([NotNull] KScrParser.OpLogicNotContext context); + /// + /// Visit a parse tree produced by the opIncrRead + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpIncrRead([NotNull] KScrParser.OpIncrReadContext context); + /// + /// Visit a parse tree produced by the opDecrRead + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpDecrRead([NotNull] KScrParser.OpDecrReadContext context); + /// + /// Visit a parse tree produced by the opReadIncr + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpReadIncr([NotNull] KScrParser.OpReadIncrContext context); + /// + /// Visit a parse tree produced by the opReadDecr + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitOpReadDecr([NotNull] KScrParser.OpReadDecrContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitId([NotNull] KScrParser.IdContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitIdPart([NotNull] KScrParser.IdPartContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitArray([NotNull] KScrParser.ArrayContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitTuple([NotNull] KScrParser.TupleContext context); + /// + /// Visit a parse tree produced by the numTypeLitTuple + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitNumTypeLitTuple([NotNull] KScrParser.NumTypeLitTupleContext context); + /// + /// Visit a parse tree produced by the numTypeLitByte + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitNumTypeLitByte([NotNull] KScrParser.NumTypeLitByteContext context); + /// + /// Visit a parse tree produced by the numTypeLitShort + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitNumTypeLitShort([NotNull] KScrParser.NumTypeLitShortContext context); + /// + /// Visit a parse tree produced by the numTypeLitInt + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitNumTypeLitInt([NotNull] KScrParser.NumTypeLitIntContext context); + /// + /// Visit a parse tree produced by the numTypeLitLong + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitNumTypeLitLong([NotNull] KScrParser.NumTypeLitLongContext context); + /// + /// Visit a parse tree produced by the numTypeLitFloat + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitNumTypeLitFloat([NotNull] KScrParser.NumTypeLitFloatContext context); + /// + /// Visit a parse tree produced by the numTypeLitDouble + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitNumTypeLitDouble([NotNull] KScrParser.NumTypeLitDoubleContext context); + /// + /// Visit a parse tree produced by the typeLitObject + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTypeLitObject([NotNull] KScrParser.TypeLitObjectContext context); + /// + /// Visit a parse tree produced by the typeLitArray + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTypeLitArray([NotNull] KScrParser.TypeLitArrayContext context); + /// + /// Visit a parse tree produced by the typeLitTuple + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTypeLitTuple([NotNull] KScrParser.TypeLitTupleContext context); + /// + /// Visit a parse tree produced by the typeLitNum + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTypeLitNum([NotNull] KScrParser.TypeLitNumContext context); + /// + /// Visit a parse tree produced by the typeLitType + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTypeLitType([NotNull] KScrParser.TypeLitTypeContext context); + /// + /// Visit a parse tree produced by the typeLitEnum + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTypeLitEnum([NotNull] KScrParser.TypeLitEnumContext context); + /// + /// Visit a parse tree produced by the typeLitVoid + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTypeLitVoid([NotNull] KScrParser.TypeLitVoidContext context); + /// + /// Visit a parse tree produced by the varThis + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitVarThis([NotNull] KScrParser.VarThisContext context); + /// + /// Visit a parse tree produced by the varSuper + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitVarSuper([NotNull] KScrParser.VarSuperContext context); + /// + /// Visit a parse tree produced by the varLitNum + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitVarLitNum([NotNull] KScrParser.VarLitNumContext context); + /// + /// Visit a parse tree produced by the varLitTrue + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitVarLitTrue([NotNull] KScrParser.VarLitTrueContext context); + /// + /// Visit a parse tree produced by the varLitFalse + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitVarLitFalse([NotNull] KScrParser.VarLitFalseContext context); + /// + /// Visit a parse tree produced by the varLitStr + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitVarLitStr([NotNull] KScrParser.VarLitStrContext context); + /// + /// Visit a parse tree produced by the varLitStdio + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitVarLitStdio([NotNull] KScrParser.VarLitStdioContext context); + /// + /// Visit a parse tree produced by the varLitEndl + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitVarLitEndl([NotNull] KScrParser.VarLitEndlContext context); + /// + /// Visit a parse tree produced by the varLitNull + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitVarLitNull([NotNull] KScrParser.VarLitNullContext context); +} +} // namespace KScr.Antlr diff --git a/kscr-intellij/.gitignore b/kscr-intellij/.gitignore index e63bc20..e4eb5bc 100644 --- a/kscr-intellij/.gitignore +++ b/kscr-intellij/.gitignore @@ -1,4 +1,44 @@ -/.gradle/ -/.idea/ -/build/ -/src/main/java/org/comroid/kscr/intellij/antlr_generated/ +.gradle +build/ +!gradle/wrapper/gradle-wrapper.jar +!**/src/main/**/build/ +!**/src/test/**/build/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store + +src/main/java/org/comroid/kscr/intellij/antlr_generated/ diff --git a/kscr-intellij/.idea/.gitignore b/kscr-intellij/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/kscr-intellij/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/kscr-intellij/.idea/.name b/kscr-intellij/.idea/.name new file mode 100644 index 0000000..2f928c5 --- /dev/null +++ b/kscr-intellij/.idea/.name @@ -0,0 +1 @@ +intellij \ No newline at end of file diff --git a/kscr-intellij/.idea/discord.xml b/kscr-intellij/.idea/discord.xml new file mode 100644 index 0000000..d8e9561 --- /dev/null +++ b/kscr-intellij/.idea/discord.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/kscr-intellij/.idea/gradle.xml b/kscr-intellij/.idea/gradle.xml new file mode 100644 index 0000000..611e7c8 --- /dev/null +++ b/kscr-intellij/.idea/gradle.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/kscr-intellij/.idea/misc.xml b/kscr-intellij/.idea/misc.xml new file mode 100644 index 0000000..621b8b3 --- /dev/null +++ b/kscr-intellij/.idea/misc.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/kscr-intellij/.idea/vcs.xml b/kscr-intellij/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/kscr-intellij/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/kscr-intellij/.run/Run IDE with Plugin.run.xml b/kscr-intellij/.run/Run IDE with Plugin.run.xml new file mode 100644 index 0000000..7747a29 --- /dev/null +++ b/kscr-intellij/.run/Run IDE with Plugin.run.xml @@ -0,0 +1,24 @@ + + + + + + + + true + true + false + + + \ No newline at end of file diff --git a/kscr-intellij/build.gradle.kts b/kscr-intellij/build.gradle.kts index 2eba194..f3c0ef5 100644 --- a/kscr-intellij/build.gradle.kts +++ b/kscr-intellij/build.gradle.kts @@ -1,37 +1,48 @@ plugins { - id("org.jetbrains.intellij") version "1.3.0" - id("antlr") // TODO: Use the plugin to build the parser automatically - requires splitting parser and lexer - java + id("java") + id("org.jetbrains.intellij") version "1.8.0" } group = "org.comroid.kscr" -version = "0.0.1" +version = "1.0-SNAPSHOT" repositories { mavenCentral() } dependencies { - implementation("org.antlr:antlr4-runtime:4.9.3") + implementation("org.antlr:antlr4-runtime:4.10.1") implementation("org.antlr:antlr4-intellij-adaptor:0.1") - //implementation("org.antlr:antlr4-master:4.9.3") - - testImplementation("org.junit.jupiter:junit-jupiter-api:5.6.0") - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine") } -// See https://github.com/JetBrains/gradle-intellij-plugin/ +// Configure Gradle IntelliJ Plugin +// Read more: https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html intellij { - version.set("2021.3") - plugins.add("com.intellij.java") - plugins.add("yaml") + version.set("2021.3.3") + type.set("IC") // Target IDE Platform + + plugins.set(listOf("com.intellij.java", "yaml")) } + tasks { + // Set the JVM compatibility versions + withType { + sourceCompatibility = "1.8" + targetCompatibility = "1.8" + } + patchPluginXml { - changeNotes.set(""" - First version. """.trimIndent()) + sinceBuild.set("213") + untilBuild.set("223.*") + } + + signPlugin { + certificateChain.set(System.getenv("CERTIFICATE_CHAIN")) + privateKey.set(System.getenv("PRIVATE_KEY")) + password.set(System.getenv("PRIVATE_KEY_PASSWORD")) + } + + publishPlugin { + token.set(System.getenv("PUBLISH_TOKEN")) } } -tasks.getByName("test") { - useJUnitPlatform() -} \ No newline at end of file diff --git a/kscr-intellij/gradle/wrapper/gradle-wrapper.jar b/kscr-intellij/gradle/wrapper/gradle-wrapper.jar index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..249e5832f090a2944b7473328c07c9755baa3196 100644 GIT binary patch delta 10158 zcmaKSbyOWsmn~e}-QC?axCPf>!2<-jxI0|j{UX8L-QC?axDz};a7}ppGBe+Nv*x{5 zy?WI?=j^WT(_Md5*V*xNP>X9&wM>xUvNiMuKDK=Xg!N%oM>Yru2rh7#yD-sW0Ov#$ zCKBSOD3>TM%&1T5t&#FK@|@1f)Ze+EE6(7`}J(Ek4})CD@I+W;L{ zO>K;wokKMA)EC6C|D@nz%D2L3U=Nm(qc>e4GM3WsHGu-T?l^PV6m-T-(igun?PZ8U z{qbiLDMcGSF1`FiKhlsV@qPMRm~h9@z3DZmWp;Suh%5BdP6jqHn}$-gu`_xNg|j{PSJ0n$ zbE;Azwq8z6IBlgKIEKc4V?*##hGW#t*rh=f<;~RFWotXS$vr;Mqz>A99PMH3N5BMi zWLNRjc57*z`2)gBV0o4rcGM(u*EG8_H5(|kThAnp|}u2xz>>X6tN zv)$|P2Nr1D*fk4wvqf(7;NmdRV3eL{!>DO-B98(s*-4$g{)EnRYAw+DP-C`=k)B!* zHU7!ejcbavGCYuz9k@$aZQaU%#K%6`D}=N_m?~^)IcmQZun+K)fSIoS>Ws zwvZ%Rfmw>%c!kCd~Pmf$E%LCj2r>+FzKGDm+%u88|hHprot{*OIVpi`Vd^^aumtx2L}h} zPu$v~zdHaWPF<`LVQX4i7bk82h#RwRyORx*z3I}o&>>eBDCif%s7&*vF6kU%1` zf(bvILch^~>cQ{=Y#?nx(8C-Uuv7!2_YeCfo?zkP;FK zX+KdjKS;HQ+7 zj>MCBI=d$~9KDJ1I2sb_3=T6D+Mu9{O&vcTnDA(I#<=L8csjEqsOe=&`=QBc7~>u2 zfdcO44PUOST%PcN+8PzKFYoR0;KJ$-Nwu#MgSM{_!?r&%rVM}acp>53if|vpH)q=O z;6uAi__am8g$EjZ33?PmCrg@(M!V_@(^+#wAWNu&e3*pGlfhF2<3NobAC zlusz>wMV--3ytd@S047g)-J@eOD;DMnC~@zvS=Gnw3=LnRzkeV`LH4#JGPklE4!Q3 zq&;|yGR0FiuE-|&1p2g{MG!Z3)oO9Jf4@0h*3!+RHv=SiEf*oGQCSRQf=LqT5~sajcJ8XjE>E*@q$n z!4|Rz%Lv8TgI23JV6%)N&`Otk6&RBdS|lCe7+#yAfdyEWNTfFb&*S6-;Q}d`de!}*3vM(z71&3 z37B%@GWjeQ_$lr%`m-8B&Zl4Gv^X{+N{GCsQGr!LLU4SHmLt3{B*z-HP{73G8u>nK zHxNQ4eduv>lARQfULUtIlLx#7ea+O;w?LH}FF28c9pg#*M`pB~{jQmPB*gA;Hik#e zZpz&X#O}}r#O_#oSr4f`zN^wedt>ST791bAZ5(=g<Oj)m9X8J^>Th}fznPY0T zsD9ayM7Hrlb6?jHXL<{kdA*Q#UPCYce0p`fHxoZ7_P`cF-$1YY9Pi;0QFt{CCf%C# zuF60A_NTstTQeFR3)O*ThlWKk08}7Nshh}J-sGY=gzE!?(_ZI4ovF6oZ$)&Zt~WZi z_0@Bk!~R4+<&b6CjI{nGj+P{*+9}6;{RwZ7^?H)xjhiRi;?A|wb0UxjPr?L@$^v|0= z@6d3+eU|&re3+G*XgFS}tih3;>2-R1x>`2hmUb5+Z~eM4P|$ zAxvE$l@sIhf_#YLnF|Wcfp(Gh@@dJ-yh|FhKqsyQp_>7j1)w|~5OKETx2P$~`}5huK;{gw_~HXP6=RsG)FKSZ=VYkt+0z&D zr?`R3bqVV?Zmqj&PQ`G3b^PIrd{_K|Hhqt zAUS#|*WpEOeZ{@h*j6%wYsrL`oHNV=z*^}yT1NCTgk1-Gl(&+TqZhODTKb9|0$3;| z;{UUq7X9Oz`*gwbi|?&USWH?Fr;6=@Be4w=8zu>DLUsrwf+7A`)lpdGykP`^SA8{ok{KE3sM$N@l}kB2GDe7MEN? zWcQ2I0fJ1ZK%s-YKk?QbEBO6`C{bg$%le0FTgfmSan-Kih0A7)rGy|2gd)_gRH7qp z*bNlP0u|S^5<)kFcd&wQg*6QP5;y(3ZgI%vUgWk#`g!sMf`02>@xz{Ie9_-fXllyw zh>P%cK+-HkQ;D$Jh=ig(ASN^zJ7|q*#m;}2M*T#s0a^nF_>jI(L(|*}#|$O&B^t!W zv-^-vP)kuu+b%(o3j)B@do)n*Y0x%YNy`sYj*-z2ncYoggD6l z6{1LndTQUh+GCX;7rCrT z@=vy&^1zyl{#7vRPv;R^PZPaIks8okq)To8!Cks0&`Y^Xy5iOWC+MmCg0Jl?1ufXO zaK8Q5IO~J&E|<;MnF_oXLc=LU#m{6yeomA^Ood;)fEqGPeD|fJiz(`OHF_f*{oWJq z1_$NF&Mo7@GKae#f4AD|KIkGVi~ubOj1C>>WCpQq>MeDTR_2xL01^+K1+ zr$}J>d=fW{65hi2bz&zqRKs8zpDln z*7+Gtfz6rkgfj~#{MB=49FRP;ge*e0=x#czw5N{@T1{EAl;G&@tpS!+&2&Stf<%<+55R18u2%+}`?PZo8xg|Y9Xli(fSQyC7 z+O5{;ZyW$!eYR~gy>;l6cA+e`oXN6a6t(&kUkWus*Kf<m$W7L)w5uXYF)->OeWMSUVXi;N#sY zvz4c?GkBU{D;FaQ)9|HU7$?BX8DFH%hC11a@6s4lI}y{XrB~jd{w1x&6bD?gemdlV z-+ZnCcldFanu`P=S0S7XzwXO(7N9KV?AkgZzm|J&f{l-Dp<)|-S7?*@HBIfRxmo1% zcB4`;Al{w-OFD08g=Qochf9=gb56_FPc{C9N5UAjTcJ(`$>)wVhW=A<8i#!bmKD#6~wMBak^2(p56d2vs&O6s4>#NB0UVr24K z%cw|-Yv}g5`_zcEqrZBaRSoBm;BuXJM^+W$yUVS9?u(`87t)IokPgC_bQ3g_#@0Yg zywb?u{Di7zd3XQ$y!m^c`6~t-7@g-hwnTppbOXckS-^N?w1`kRMpC!mfMY?K#^Ldm zYL>771%d{+iqh4a&4RdLNt3_(^^*{U2!A>u^b{7e@}Azd_PiZ>d~(@(Q@EYElLAx3LgQ5(ZUf*I%EbGiBTG!g#=t zXbmPhWH`*B;aZI)$+PWX+W)z?3kTOi{2UY9*b9bpSU!GWcVu+)!^b4MJhf=U9c?jj z%V)EOF8X3qC5~+!Pmmmd@gXzbycd5Jdn!N#i^50a$4u}8^O}DG2$w-U|8QkR-WU1mk4pF z#_imS#~c2~Z{>!oE?wfYc+T+g=eJL`{bL6=Gf_lat2s=|RxgP!e#L|6XA8w{#(Po(xk1~rNQ4UiG``U`eKy7`ot;xv4 zdv54BHMXIq;#^B%W(b8xt%JRueW5PZsB2eW=s3k^Pe1C$-NN8~UA~)=Oy->22yJ%e zu=(XD^5s{MkmWB)AF_qCFf&SDH%ytqpt-jgs35XK8Ez5FUj?uD3++@2%*9+-65LGQ zvu1eopeQoFW98@kzU{+He9$Yj#`vaQkqu%?1wCoBd%G=)TROYl2trZa{AZ@#^LARR zdzg-?EUnt9dK2;W=zCcVj18RTj-%w^#pREbgpD0aL@_v-XV2&Cd@JB^(}GRBU}9gV z6sWmVZmFZ9qrBN%4b?seOcOdOZ+6cx8-#R(+LYKJu~Y%pF5#85aF9$MnP7r^Bu%D? zT{b-KBujiy>7_*9{8u0|mTJ(atnnnS%qBDM_Gx5>3V+2~Wt=EeT4cXOdud$+weM(>wdBg+cV$}6%(ccP;`!~CzW{0O2aLY z?rQtBB6`ZztPP@_&`kzDzxc==?a{PUPUbbX31Vy?_(;c+>3q*!df!K(LQYZNrZ>$A*8<4M%e8vj1`%(x9)d~);ym4p zoo518$>9Pe| zZaFGj);h?khh*kgUI-Xvj+Dr#r&~FhU=eQ--$ZcOY9;x%&3U(&)q}eJs=)K5kUgi5 zNaI-m&4?wlwFO^`5l-B?17w4RFk(IKy5fpS0K%txp0qOj$e=+1EUJbLd-u>TYNna~ z+m?gU0~xlcnP>J>%m_y_*7hVMj3d&)2xV8>F%J;6ncm)ILGzF2sPAV|uYk5!-F%jL(53^51BKr zc3g7+v^w<4WIhk7a#{N6Ku_u{F`eo;X+u!C(lIaiY#*V5!sMed39%-AgV*`(nI)Im zemHE^2foBMPyIP<*yuD21{6I?Co?_{pqp-*#N6sZRQAzEBV4HQheOyZT5UBd)>G85 zw^xHvCEP4AJk<{v2kQQ;g;C)rCY=X!c8rNpNJ4mHETN}t1rwSe7=s8u&LzW-+6AEB z)LX0o7`EqC94HM{4p}d2wOwj2EB|O;?&^FeG9ZrT%c!J&x`Z3D2!cm(UZbFBb`+h ztfhjq75yuSn2~|Pc)p$Ul6=)}7cfXtBsvc15f&(K{jnEsw5Gh0GM^O=JC+X-~@r1kI$=FH=yBzsO#PxR1xU9+T{KuPx7sMe~GX zSP>AT3%(Xs@Ez**e@GAn{-GvB^oa6}5^2s+Mg~Gw?#$u&ZP;u~mP|FXsVtr>3k9O?%v>`Ha-3QsOG<7KdXlqKrsN25R|K<<;- z8kFY!&J&Yrqx3ptevOHiqPxKo_wwAPD)$DWMz{0>{T5qM%>rMqGZ!dJdK(&tP1#89 zVcu}I1I-&3%nMyF62m%MDpl~p)PM(%YoR zD)=W)E7kjwzAr!?^P*`?=fMHd1q4yjLGTTRUidem^Ocjrfgk2Jp|6SabEVHKC3c>RX@tNx=&Z7gC z0ztZoZx+#o36xH8mv6;^e{vU;G{JW17kn(RO&0L%q^fpWSYSkr1Cb92@bV->VO5P z;=V{hS5wcROQfbah6ND{2a$zFnj>@yuOcw}X~E20g7)5=Z#(y)RC878{_rObmGQ;9 zUy>&`YT^2R@jqR1z9Fx&x)WBstIE#*UhAa>WrMm<10={@$UN@Cog+#pxq{W@l0DOf zJGs^Jv?t8HgIXk(;NFHXun$J{{p})cJ^BWn4BeQo6dMNp%JO@$9z{(}qqEHuZOUQP zZiwo70Oa@lMYL(W*R4(!oj`)9kRggJns-A|w+XL=P07>QBMTEbG^gPS)H zu^@MFTFZtsKGFHgj|hupbK({r>PX3_kc@|4Jdqr@gyyKrHw8Tu<#0&32Hh?S zsVm_kQ2K`4+=gjw1mVhdOz7dI7V!Iu8J1LgI+_rF`Wgx5-XwU~$h>b$%#$U3wWC-ea0P(At2SjPAm57kd;!W5k{do1}X681o}`!c*(w!kCjtGTh7`=!M)$9 zWjTns{<-WX+Xi;&d!lyV&1KT9dKL??8)fu2(?Ox<^?EAzt_(#5bp4wAfgIADYgLU` z;J7f8g%-tfmTI1ZHjgufKcAT4SO(vx?xSo4pdWh`3#Yk;DqPGQE0GD?!_CfXb(E8WoJt6*Yutnkvmb?7H9B zVICAYowwxK;VM4(#~|}~Ooyzm*1ddU_Yg%Ax*_FcZm^AzYc$<+9bv;Eucr(SSF}*JsjTfb*DY>qmmkt z;dRkB#~SylP~Jcmr&Bl9TxHf^DcGUelG%rA{&s)5*$|-ww}Kwx-lWnNeghVm@z zqi3@-oJnN%r2O4t9`5I5Zfc;^ROHmY6C9 z1VRRX*1+aBlbO_p>B+50f1p&%?_A*16R0n+l}HKWI$yIH3oq2`k4O?tEVd~a4~>iI zo{d}b8tr+$q<%%K%Ett*i|RAJEMnk9hU7LtL!lxOB45xO1g)ycDBd=NbpaE3j?Gw& z0M&xx13EkCgNHu%Z8rBLo93XH-zQUfF3{Iy>65-KSPniqIzF+?x$3>`L?oBOBeEsv zs_y7@7>IbS&w2Vju^#vBpPWQuUv=dDRGm(-MH|l+8T?vfgD;{nE_*-h?@D;GN>4hA z9{!G@ANfHZOxMq5kkoh4h*p3+zE7z$13ocDJR$XA*7uKtG5Cn_-ibn%2h{ z;J0m5aCjg(@_!G>i2FDAvcn5-Aby8b;J0u%u)!`PK#%0FS-C3(cq9J{V`DJEbbE|| zYpTDd+ulcjEd5`&v!?=hVgz&S0|C^We?2|>9|2T6?~nn^_CpLn&kuI|VG7_E{Ofu9 zAqe0Reuq5Zunlx@zyTqEL+ssT15X|Z0LUfZAr-i$1_SJ{j}BHmBm}s8{OgK3lm%4F zzC%jz!y!8WUJo2FLkU(mVh7-uzC+gcbkV^bM}&Y6=HTTca{!7ZSoB!)l|v<(3ly!jq&P5A2q(U5~h)))aj-`-6&aM~LBySnAy zA0{Z{FHiUb8rW|Yo%kQwi`Kh>EEE$0g7UxeeeVkcY%~87yCmSjYyxoqq(%Jib*lH; zz`t5y094U`k_o{-*U^dFH~+1I@GsgwqmGsQC9-Vr0X94TLhlV;Kt#`9h-N?oKHqpx zzVAOxltd%gzb_Qu{NHnE8vPp=G$#S)Y%&6drobF_#NeY%VLzeod delta 9041 zcmY*t@kVBCBP!g$Qih>$!M(|j-I?-C8+=cK0w!?cVWy9LXH zd%I}(h%K_>9Qvap&`U=={XcolW-VA%#t9ljo~WmY8+Eb|zcKX3eyx7qiuU|a)zU5cYm5{k5IAa3ibZf_B&=YT!-XyLap%QRdebT+PIcg$KjM3HqA3uZ5|yBj2vv8$L{#$>P=xi+J&zLILkooDarGpiupEiuy`9uy&>yEr95d)64m+~`y*NClGrY|5MLlv!)d5$QEtqW)BeBhrd)W5g1{S@J-t8_J1 zthp@?CJY}$LmSecnf3aicXde(pXfeCei4=~ZN=7VoeU|rEEIW^!UBtxGc6W$x6;0fjRs7Nn)*b9JW5*9uVAwi) zj&N7W;i<Qy80(5gsyEIEQm>_+4@4Ol)F?0{YzD(6V~e=zXmc2+R~P~< zuz5pju;(akH2+w5w!vnpoikD5_{L<6T`uCCi@_Uorr`L(8zh~x!yEK*!LN02Q1Iri z>v*dEX<(+_;6ZAOIzxm@PbfY4a>ws4D82&_{9UHCfll!x`6o8*i0ZB+B#Ziv%RgtG z*S}<4!&COp)*ZMmXzl0A8mWA$)fCEzk$Wex*YdB}_-v|k9>jKy^Y>3me;{{|Ab~AL zQC(naNU=JtU3aP6P>Fm-!_k1XbhdS0t~?uJ$ZvLbvow10>nh*%_Kh>7AD#IflU8SL zMRF1fmMX#v8m=MGGb7y5r!Qf~Y}vBW}fsG<{1CHX7Yz z=w*V9(vOs6eO>CDuhurDTf3DVVF^j~rqP*7S-$MLSW7Ab>8H-80ly;9Q0BWoNV zz8Wr2CdK!rW0`sMD&y{Ue{`mEkXm0%S2k;J^iMe|sV5xQbt$ojzfQE+6aM9LWH`t& z8B;Ig7S<1Dwq`3W*w59L(opjq)ll4E-c?MivCh!4>$0^*=DKI&T2&j?;Z82_iZV$H zKmK7tEs7;MI-Vo(9wc1b)kc(t(Yk? z#Hgo8PG_jlF1^|6ge%;(MG~6fuKDFFd&}>BlhBTh&mmuKsn>2buYS=<5BWw^`ncCb zrCRWR5`IwKC@URU8^aOJjSrhvO>s}O&RBD8&V=Fk2@~zYY?$qO&!9%s>YecVY0zhK zBxKGTTyJ(uF`p27CqwPU1y7*)r}y;{|0FUO)-8dKT^>=LUoU_6P^^utg|* zuj}LBA*gS?4EeEdy$bn#FGex)`#y|vg77NVEjTUn8%t z@l|7T({SM!y$PZy9lb2N;BaF}MfGM%rZk10aqvUF`CDaC)&Av|eED$x_;qSoAka*2 z2rR+OTZTAPBx`vQ{;Z{B4Ad}}qOBqg>P4xf%ta|}9kJ2$od>@gyC6Bf&DUE>sqqBT zYA>(sA=Scl2C_EF8)9d8xwdBSnH5uL=I4hch6KCHj-{99IywUD{HR`d(vk@Kvl)WD zXC(v{ZTsyLy{rio*6Wi6Lck%L(7T~Is-F_`2R}q z!H1ylg_)Mv&_|b1{tVl!t{;PDa!0v6^Zqs_`RdxI%@vR)n|`i`7O<>CIMzqI00y{;` zhoMyy>1}>?kAk~ND6}`qlUR=B+a&bvA)BWf%`@N)gt@@Ji2`p1GzRGC$r1<2KBO3N z++YMLD9c|bxC;za_UVJ*r6&Ea;_YC>-Ebe-H=VAgDmx+?Q=DxCE4=yQXrn z7(0X#oIjyfZUd}fv2$;4?8y|0!L^ep_rMz|1gU-hcgVYIlI~o>o$K&)$rwo(KJO~R zDcGKo-@im7C<&2$6+q-xtxlR`I4vL|wFd<`a|T}*Nt;(~Vwx&2QG_j$r0DktR+6I4W)gUx*cDVBwGe00aa803ZYiwy;d{1p)y0?*IT8ddPS`E~MiS z1d%Vm0Hb4LN2*f8FZ|6xRQev@ZK-?(oPs+mT*{%NqhGL_0dJ$?rAxA{2 z`r3MBv&)xblcd>@hArncJpL~C(_HTo&D&CS!_J5Giz$^2EfR_)xjgPg`Bq^u%1C*+ z7W*HGp|{B?dOM}|E)Cs$61y8>&-rHBw;A8 zgkWw}r$nT%t(1^GLeAVyj1l@)6UkHdM!%LJg|0%BO74M593&LlrksrgoO{iEz$}HK z4V>WXgk|7Ya!Vgm#WO^ZLtVjxwZ&k5wT6RteViH3ds{VO+2xMJZ`hToOz~_+hRfY{ z%M;ZDKRNTsK5#h6goUF(h#VXSB|7byWWle*d0$IHP+FA`y)Q^5W!|&N$ndaHexdTn z{vf?T$(9b&tI&O`^+IqpCheAFth;KY(kSl2su_9|Y1B{o9`mm)z^E`Bqw!n+JCRO) zGbIpJ@spvz=*Jki{wufWm|m`)XmDsxvbJR5dLF=kuf_C>dl}{nGO(g4I$8 zSSW#5$?vqUDZHe_%`Zm?Amd^>I4SkBvy+i}wiQYBxj0F1a$*%T+6}Yz?lX&iQ}zaU zI@%8cwVGtF3!Ke3De$dL5^j-$Bh3+By zrSR3c2a>XtaE#TB}^#hq@!vnZ1(An#bk_eKR{?;Z&0cgh4$cMNU2HL=m=YjMTI zT$BRltXs4T=im;Ao+$Bk3Dz(3!C;rTqelJ?RF)d~dP9>$_6dbz=_8#MQFMMX0S$waWxY#mtDn}1U{4PGeRH5?a>{>TU@1UlucMAmzrd@PCwr|il)m1fooO7Z{Vyr z6wn=2A5z(9g9-OU10X_ei50@~)$}w4u)b+mt)z-sz0X32m}NKTt4>!O{^4wA(|3A8 zkr(DxtMnl$Hol>~XNUE?h9;*pGG&kl*q_pb z&*$lH70zI=D^s)fU~A7cg4^tUF6*Oa+3W0=7FFB*bf$Kbqw1&amO50YeZM)SDScqy zTw$-M$NA<_We!@4!|-?V3CEPnfN4t}AeM9W$iSWYz8f;5H)V$pRjMhRV@Z&jDz#FF zXyWh7UiIc7=0U9L35=$G54RjAupR&4j`(O3i?qjOk6gb!WjNtl1Fj-VmltDTos-Bl z*OLfOleS~o3`?l!jTYIG!V7?c<;Xu(&#~xf-f(-jwow-0Hv7JZG>}YKvB=rRbdMyv zmao*-!L?)##-S#V^}oRm7^Db zT5C2RFY4>ov~?w!3l_H}t=#X=vY-*LQy(w>u%r`zQ`_RukSqIv@WyGXa-ppbk-X=g zyn?TH(`-m*in(w=Ny$%dHNSVxsL|_+X=+kM+v_w{ZC(okof9k1RP5qDvcA-d&u{5U z?)a9LXht1f6|Tdy5FgXo;sqR|CKxDKruU9RjK~P6xN+4;0eAc|^x%UO^&NM4!nK_! z6X14Zkk=5tqpl&d6FYuMmlLGQZep0UE3`fT>xzgH>C*hQ2VzCQlO`^kThU6q%3&K^ zf^kfQm|7SeU#c%f8e?A<9mALLJ-;)p_bv6$pp~49_o;>Y=GyUQ)*prjFbkU;z%HkOW_*a#j^0b@GF|`6c}7>=W{Ef!#dz5lpkN>@IH+(sx~QMEFe4 z1GeKK67;&P%ExtO>}^JxBeHii)ykX8W@aWhJO!H(w)DH4sPatQ$F-Phiqx_clj`9m zK;z7X6gD2)8kG^aTr|oY>vmgOPQ4`_W+xj2j!$YT9x(DH6pF~ zd_C#8c>Gfb)k2Ku4~t=Xb>T^8KW;2HPN#%}@@hC1lNf~Xk)~oj=w-Y11a@DtIyYk8 z9^|_RIAA(1qUSs3rowxr&OuRVFL8(zSqU_rGlqHpkeYT4z7DGdS0q4V-b!3fsv$Yb zPq4UP^3XFd(G%JAN|0y>?&sLzNir30K(lyzNYvCtE2gDyy-nthPlrXXU75fhoS7kA zg%GYyBEFQ(xgdjtv+>?>Q!G!8& z3+F>)4|N+F1a^T?XC8 zxRRx7-{DV%uUYt&*$z2uQTbZDbUn)PozID*(i^{JDjNq`v?;&OW^&~{ZPE_e+?RMk z!7O5CUKJSnGZvjTbLX2$zwYRZs_$f{T!hvVHuTg77|O;zBHlA|GIUu_bh4`Bl?7KE zYB~a`b?O;0SfD?0EZiPYpVf=P4=|zr(u_w}oP0S`YOZziX9cuwpll&%QMv4bBC_JdP#rT3>MliqySv0& zh)r=vw?no&;5T}QVTkHKY%t`%{#*#J;aw!wPs}?q2$(e0Y#cdBG1T09ypI@#-y24+fzhJem1NSZ$TCAjU2|ebYG&&6p(0f>wQoNqVa#6J^W!3$gIWEw7d<^k!U~O5v=8goq$jC`p8CS zrox#Jw3w`k&Ty7UVbm35nZ}FYT5`fN)TO6R`tEUFotxr^BTXZGt|n(Ymqmr^pCu^^w?uX!ONbm?q{y9FehdmcJuV8V%A-ma zgl=n9+op{wkj-}N;6t;(JA1A#VF3S9AFh6EXRa0~7qop~3^~t1>hc6rdS_4!+D?Xh z5y?j}*p@*-pmlTb#7C0x{E(E@%eepK_YycNkhrYH^0m)YR&gRuQi4ZqJNv6Rih0zQ zqjMuSng>Ps;?M0YVyh<;D3~;60;>exDe)Vq3x@GRf!$wgFY5w4=Jo=g*E{76%~jqr zxTtb_L4Cz_E4RTfm@0eXfr1%ho?zP(>dsRarS>!^uAh~bd0lEhe2x7AEZQmBc%rU; z&FUrs&mIt8DL`L4JpiFp3NNyk3N>iL6;Nohp*XbZZn%BDhF_y{&{X3UtX(7aAyG63P zELC;>2L`jnFS#vC->A(hZ!tGi7N7^YtW7-LB6!SVdEM&7N?g}r4rW2wLn{Ni*I~$Y z@#;KwJIl0^?eX{JWiHQxDvccnNKBhHW0h6`j=)OH1`)7)69B$XNT@)l1s25M+~o2_ zpa&X<_vHxN_oR|B#ir2p*VNB~o6Z1OE&~a+_|AxS)(@Dgznq(b(|K8BN_nQ7+>N`= zXOx_@AhcmmcRvp6eX#4z6sn=V0%KonKFVY@+m&)Rx!Z5U@WdyHMCF4_qzJNpzc9Fw z7Bdzx54(e7>wcEqHKqH-Paiut;~ZVJpS6_q>ub)zD#TQ4j*i(I8DvS$BfyX~A%<#} z*=g2$8s;YYjEHl`7cKw!a9PFRt8tVR zM&X|bs?B1#ycjl>AzgbdRkr-@NmBc^ys)aoT75F(yweV&Y-3hNNXj-valA&=)G{NL zX?smr5sQWi3n;GGPW{%vW)xw-#D0QY%zjXxYj?($b4JzpW0sWY!fkwC5bJMkhTp$J z6CNVLd=-Ktt7D<^-f|=wjNjf0l%@iu2dR+zdQ&9NLa(B_okKdRy^!Q!F$Ro=hF$-r z!3@ocUs^7?cvdTMPbn*8S-o!PsF;>FcBkBkg&ET`W`lp?j`Z}4>DF|}9407lK9y~^No&pT7J|rVQ9Dh>qg|%=gxxg=! z>WX$!;7s~gDPmPF<--(?CvEnvV*E1KdXpr>XVv!DN~PyISE7d+K_9+W^pnR6cX&?E ziLr{0`JIs@NcA|;8L|p!3H~9y8mga2Dsm4I?rBS7$3wcT!_l*$^8U3hKUri|_I3N2 zz$xY`)IWA7P*Y1BJtyBEh?8EEvs8Oyl^{(+`gi{9hwpcN#I%Z0j$^yBp?z<;Ny!G$ zra3J_^i0(~LiKuITs%v)qE+YrJr?~w+)`Rcte^O=nwmPg@&!Q7FGTtjpTdI6wH&ZV z)2}VZY6(MbP`tgoew++(pt$jVj- zvPK)pSJ)U(XfUqBqZNo|za#Xx+IVEb?HGQ^wUVH&wTdWgP(z#ijyvXjwk>tFBUn*2 zuj5ENQjT{2&T`k;q54*Z>O~djuUBNwc6l(BzY?Ed4SIt9QA&8+>qaRIck?WdD0rh@ zh`VTZPwSNNCcLH3J}(q zdEtu@HfxDTpEqWruG=86m;QVO{}E&q8qYWhmA>(FjW`V&rg!CEL1oZCZcAX@yX(2tg8`>m1psG0ZpO+Rnph@Bhjj!~|+S=@+U{*ukwGrBj{5xfIHHP7|} z^7@g2;d%FMO8f(MS&6c##mrX2i(5uiX1o(=Vw89IQcHw)n{ZTS@``xT$Af@CQTP#w zl3kn6+MJP+l(;K-rWgjpdBU|CB4>W%cObZBH^Am~EvRO%D>uU^HVRXi$1 zb?Pr~ZlopLfT5l%03SjI7>YiGZZs=n(A!c;N9%%aByY~5(-hS4z_i2wgKYsG%OhhxH#^5i%&9ESb(@# zV_f5${Gf=$BK)1VY=NX#f+M}6f`OWmpC*OU3&+P@n>$Xvco*Nm$c<=`S|lY6S}Ut- z80}ztIpkV>W%^Ox`enpk<25_i7`RPiDugxHfUDBD8$bp9XR15>a?r^#&!1Ne6n{MI z){H`!jwrx}8b-w@@E8H0v)l!5!W8En=u67v+`iNoz<_h4{V*qQK+@)JP^JqsKAedZ zNh4toE+I7;^}7kkj|hzNVFWkZ$N9rxPl9|_@2kbW*4}&o%(L`WpQCN2M?gz>cyWHk zulMwRxpdpx+~P(({@%UY20LwM7sA&1M|`bEoq)Id zyUHt>@vfu**UOL9wiW*C75cc&qBX37qLd`<;$gS+mvL^v3Z8i4p6(@Wv`N|U6Exn< zd`@WxqU^8u^Aw+uw#vuDEIByaD)vucU2{4xRseczf_TJXUwaUK+E_IoItXJq88${0 z=K5jGehPa2)CnH&Lcxv&1jQ=T8>*vgp1^%)c&C2TL69;vSN)Q)e#Hj7!oS0 zlrEmJ=w4N9pID5KEY5qz;?2Q}0|4ESEio&cLrp221LTt~j3KjUB`LU?tP=p;B=WSXo;C?8(pnF6@?-ZD0m3DYZ* z#SzaXh|)hmTC|zQOG>aEMw%4&2XU?prlk5(M3ay-YC^QLRMN+TIB*;TB=wL_atpeD zh-!sS%A`3 z=^?niQx+^za_wQd2hRR=hsR0uzUoyOcrY!z7W)G2|C-_gqc`wrG5qCuU!Z?g*GL^H z?j^<_-A6BC^Dp`p(i0!1&?U{YlF@!|W{E@h=qQ&5*|U~V8wS;m!RK(Q6aX~oH9ToE zZYKXZoRV~!?P1ADJ74J-PFk2A{e&gh2o)@yZOZuBi^0+Hkp`dX;cZs9CRM+##;P!*BlA%M48TuR zWUgfD1DLsLs+-4XC>o>wbv-B)!t*47ON5wgoMX%llnmXG%L8209Vi;yZ`+N2v2Ox+ zMe7JHunQE$ckHHhEYRA+e`A3=XO5L%fMau71`XL7v)b{f1rkTY+WWSIkH#sG=pLqe zA(xZIp>_=4$zKq0t_G7q9@L zZ5D-0{8o%7f>0szA#c;rjL;4Y%hl}wYrx1R`Viq|Pz}c-{{LJY070ym@E~mt*pTyG z79bfcWTGGEje;PLD;N-XHw=`wS^howfzb$%oP8n)lN$o$ZWjZx|6iSsi2piI_7s7z zX#b$@z6kIJ^9{-Y^~wJ!s0V^Td5V7#4&pyU#NHw#9)N&qbpNFDR1jqC00W}91OnnS z{$J@GBz%bka`xsz;rb_iJ|rgmpUVyEZ)Xi*SO5U&|NFkTHb3y@e@%{WrvE&Jp#Lw^ zcj13CbsW+V>i@rj@SEfFf0@yjS@nbPB0)6D`lA;e%61nh`-qhydO!uS7jXGQd%i7opEnOL;| zDn!3EUm(V796;f?fA+RDF<@%qKlo)`0VtL74`!~516_aogYP%QfG#<2kQ!pijthz2 zpaFX3|D$%C7!bL242U?-e@2QZ`q$~lgZbvgfLLyVfT1OC5<8@6lLi=A{stK#zJmWd zlx+(HbgX)l$RGwH|2rV@P3o@xCrxch0$*z1ASpy(n+d4d2XWd~2AYjQm`xZU3af8F p+x$Nxf1895@0bJirXkdpJh+N7@Nb7x007(DEB&^Lm}dWn{T~m64-^0Z diff --git a/kscr-intellij/gradle/wrapper/gradle-wrapper.properties b/kscr-intellij/gradle/wrapper/gradle-wrapper.properties index 69a9715..ae04661 100644 --- a/kscr-intellij/gradle/wrapper/gradle-wrapper.properties +++ b/kscr-intellij/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/kscr-intellij/gradlew b/kscr-intellij/gradlew index 744e882..1b6c787 100644 --- a/kscr-intellij/gradlew +++ b/kscr-intellij/gradlew @@ -1,7 +1,7 @@ -#!/usr/bin/env sh +#!/bin/sh # -# Copyright 2015 the original author or authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,67 +17,101 @@ # ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## # Attempt to set APP_HOME + # Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +APP_BASE_NAME=${0##*/} # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MSYS* | MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -87,9 +121,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -98,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + JAVACMD=java which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -106,80 +140,95 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=`expr $i + 1` + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/kscr-intellij/settings.gradle.kts b/kscr-intellij/settings.gradle.kts index 1c542d3..d0991bd 100644 --- a/kscr-intellij/settings.gradle.kts +++ b/kscr-intellij/settings.gradle.kts @@ -1 +1 @@ -rootProject.name = "KScrIntellijPlugin" \ No newline at end of file +rootProject.name = "intellij" \ No newline at end of file diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrBinaryFileType.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrBinaryFileType.java index 8c81044..a53a000 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrBinaryFileType.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrBinaryFileType.java @@ -12,7 +12,7 @@ public class KScrBinaryFileType extends LanguageFileType implements KScrFileType public static final KScrBinaryFileType FILE_TYPE = new KScrBinaryFileType(); protected KScrBinaryFileType(){ - super(KScrLanguage.LANGUAGE); + super(KScruage.LANGUAGE); } public @NonNls @NotNull String getName(){ diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrIcons.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrIcons.java index fd542ce..423f13a 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrIcons.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrIcons.java @@ -8,6 +8,6 @@ public class KScrIcons{ // TODO: get a proper icon/branding - public static final Icon SINGLE = IconLoader.getIcon("pluginIcon.svg", KScrIcons.class); + public static final Icon SINGLE = IconLoader.getIcon("META-INF/pluginIcon.svg", KScrIcons.class); public static final Icon KScr_ICON = SINGLE; } \ No newline at end of file diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrLanguage.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrLanguage.java index e1cab7f..4eb8589 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrLanguage.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrLanguage.java @@ -2,11 +2,11 @@ import com.intellij.lang.Language; -public class KScrLanguage extends Language{ +public class KScruage extends Language{ - public static final KScrLanguage LANGUAGE = new KScrLanguage(); + public static final KScruage LANGUAGE = new KScruage(); - protected KScrLanguage(){ + protected KScruage(){ super("KScr"); } } \ No newline at end of file diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrSourceFileType.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrSourceFileType.java index 3c8a3c2..39d348a 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrSourceFileType.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/KScrSourceFileType.java @@ -12,7 +12,7 @@ public class KScrSourceFileType extends LanguageFileType implements KScrFileType public static final KScrSourceFileType FILE_TYPE = new KScrSourceFileType(); protected KScrSourceFileType(){ - super(KScrLanguage.LANGUAGE); + super(KScruage.LANGUAGE); } public @NonNls @NotNull String getName(){ diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/KScrParserDefinition.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/KScrParserDefinition.java index e956576..c72b1e3 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/KScrParserDefinition.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/KScrParserDefinition.java @@ -11,7 +11,7 @@ import com.intellij.psi.tree.IFileElementType; import com.intellij.psi.tree.IStubFileElementType; import com.intellij.psi.tree.TokenSet; -import org.comroid.kscr.intellij.KScrLanguage; +import org.comroid.kscr.intellij.KScruage; import org.comroid.kscr.intellij.antlr_generated.KScrLexer; import org.comroid.kscr.intellij.antlr_generated.KScrParser; import org.comroid.kscr.intellij.psi.Tokens; @@ -23,7 +23,7 @@ public class KScrParserDefinition implements ParserDefinition { public static final IStubFileElementType FILE = - new IStubFileElementType<>("cyclic.FILE", KScrLanguage.LANGUAGE){ + new IStubFileElementType<>("cyclic.FILE", KScruage.LANGUAGE){ public @NonNls @NotNull String getExternalId(){ return "cyclic.FILE"; } diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/KScrSyntaxHighlighter.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/KScrSyntaxHighlighter.java index 5ba0923..ad8bb7f 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/KScrSyntaxHighlighter.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/KScrSyntaxHighlighter.java @@ -8,7 +8,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.tree.IElementType; -import org.comroid.kscr.intellij.antlr_generated.KScrLangLexer; +import org.comroid.kscr.intellij.antlr_generated.KScrLexer; import org.comroid.kscr.intellij.psi.Tokens; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -26,7 +26,7 @@ public class KScrSyntaxHighlighter extends SyntaxHighlighterFactory implements S @NotNull @Override public Lexer getHighlightingLexer(){ - KScrLangLexer lexer = new KScrLangLexer(null); + KScrLexer lexer = new KScrLexer(null); return new LexerAdapter(lexer); } @@ -35,7 +35,7 @@ public class KScrSyntaxHighlighter extends SyntaxHighlighterFactory implements S return array(ID); else if(Tokens.KEYWORDS.contains(element)) return array(KEYWORD); - else if(Tokens.getFor(KScrLangLexer.STRLIT) == element) + else if(Tokens.getFor(KScrLexer.STRLIT) == element) return array(STRLIT); else if(Tokens.LITERALS.contains(element)) return array(NUMLIT); // Add boolean literal formatting diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/LexerAdapter.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/LexerAdapter.java index 9fbc9be..7c39053 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/LexerAdapter.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/LexerAdapter.java @@ -5,7 +5,7 @@ import com.intellij.lexer.LexerPosition; import com.intellij.psi.tree.IElementType; import org.antlr.intellij.adaptor.lexer.ANTLRLexerAdaptor; -import org.comroid.kscr.intellij.KScrLanguage; +import org.comroid.kscr.intellij.KScruage; import org.comroid.kscr.intellij.antlr_generated.KScrLexer; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -19,6 +19,6 @@ public class LexerAdapter extends ANTLRLexerAdaptor { * @param lexer The underlying ANTLR lexer. */ public LexerAdapter(org.antlr.v4.runtime.Lexer lexer) { - super(KScrLanguage.LANGUAGE, lexer); + super(KScruage.LANGUAGE, lexer); } } diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/ParserAdapter.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/ParserAdapter.java index 71d24e5..cea43f4 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/ParserAdapter.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/parser/ParserAdapter.java @@ -6,7 +6,7 @@ import org.antlr.intellij.adaptor.parser.ANTLRParserAdaptor; import org.antlr.v4.runtime.Parser; import org.antlr.v4.runtime.tree.ParseTree; -import org.comroid.kscr.intellij.KScrLanguage; +import org.comroid.kscr.intellij.KScruage; import org.comroid.kscr.intellij.antlr_generated.KScrParser; public class ParserAdapter extends ANTLRParserAdaptor { @@ -18,7 +18,7 @@ public class ParserAdapter extends ANTLRParserAdaptor { * @param parser */ public ParserAdapter() { - super(KScrLanguage.LANGUAGE, new KScrParser(null)); + super(KScruage.LANGUAGE, new KScrParser(null)); } @Override diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/KScrFile.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/KScrFile.java index 8821173..c0f10f0 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/KScrFile.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/KScrFile.java @@ -4,7 +4,7 @@ import com.intellij.openapi.fileTypes.FileType; import com.intellij.psi.FileViewProvider; import org.comroid.kscr.intellij.KScrFileType; -import org.comroid.kscr.intellij.KScrLanguage; +import org.comroid.kscr.intellij.KScruage; import org.comroid.kscr.intellij.KScrSourceFileType; import org.comroid.kscr.intellij.psi.ast.KScrImportStatement; import org.comroid.kscr.intellij.psi.ast.KScrPackageStatement; @@ -19,7 +19,7 @@ public class KScrFile extends PsiFileBase{ public KScrFile(@NotNull FileViewProvider viewProvider){ - super(viewProvider, KScrLanguage.LANGUAGE); + super(viewProvider, KScruage.LANGUAGE); } public @NotNull FileType getFileType(){ diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/Tokens.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/Tokens.java index 5676856..95f69b5 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/Tokens.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/Tokens.java @@ -6,9 +6,9 @@ import org.antlr.intellij.adaptor.lexer.PSIElementTypeFactory; import org.antlr.intellij.adaptor.lexer.RuleIElementType; import org.antlr.intellij.adaptor.lexer.TokenIElementType; -import org.comroid.kscr.intellij.KScrLanguage; -import org.comroid.kscr.intellij.antlr_generated.KScrLangLexer; -import org.comroid.kscr.intellij.antlr_generated.KScrLangParser; +import org.comroid.kscr.intellij.KScruage; +import org.comroid.kscr.intellij.antlr_generated.KScrLexer; +import org.comroid.kscr.intellij.antlr_generated.KScrParser; import org.jetbrains.annotations.Contract; import static org.antlr.intellij.adaptor.lexer.PSIElementTypeFactory.createTokenSet; @@ -18,173 +18,173 @@ public class Tokens { public static IElementType BAD_TOKEN_TYPE = TokenType.BAD_CHARACTER; - public static final List TOKEN_ELEMENT_TYPES = PSIElementTypeFactory.getTokenIElementTypes(KScrLanguage.LANGUAGE); - public static final List RULE_ELEMENT_TYPES = PSIElementTypeFactory.getRuleIElementTypes(KScrLanguage.LANGUAGE); + public static final List TOKEN_ELEMENT_TYPES = PSIElementTypeFactory.getTokenIElementTypes(KScruage.LANGUAGE); + public static final List RULE_ELEMENT_TYPES = PSIElementTypeFactory.getRuleIElementTypes(KScruage.LANGUAGE); public static final TokenSet KEYWORDS = createTokenSet( - KScrLanguage.LANGUAGE, - - KScrLangLexer.BOOL, - KScrLangLexer.BYTE, - KScrLangLexer.SHORT, - KScrLangLexer.CHAR, - KScrLangLexer.INT, - KScrLangLexer.LONG, - KScrLangLexer.FLOAT, - KScrLangLexer.DOUBLE, - KScrLangLexer.VOID, - - KScrLangLexer.VAR, - - KScrLangLexer.PRIVATE, - KScrLangLexer.PROTECTED, - KScrLangLexer.PUBLIC, - - KScrLangLexer.FINAL, - KScrLangLexer.STATIC, - KScrLangLexer.ABSTRACT, - KScrLangLexer.SYNCHRONISED, - KScrLangLexer.NATIVE, - - KScrLangLexer.CLASS, - KScrLangLexer.INTERFACE, - KScrLangLexer.ENUM, - KScrLangLexer.AT, - KScrLangLexer.RECORD, - KScrLangLexer.SINGLE, - - KScrLangLexer.IMPORT, - KScrLangLexer.PACKAGE, - KScrLangLexer.EXTENDS, - KScrLangLexer.IMPLEMENTS, - KScrLangLexer.PERMITS, - - KScrLangLexer.RETURN, - KScrLangLexer.THROW, - KScrLangLexer.NEW, - KScrLangLexer.ASSERT, - - KScrLangLexer.THIS, - - KScrLangLexer.SWITCH, - KScrLangLexer.DEFAULT, - KScrLangLexer.CASE, - KScrLangLexer.WHILE, - KScrLangLexer.DO, - KScrLangLexer.IF, - KScrLangLexer.FOR, - KScrLangLexer.ELSE, - - KScrLangLexer.NULL, - KScrLangLexer.TRUE, - KScrLangLexer.FALSE + KScruage.LANGUAGE, + + KScrLexer.BOOL, + KScrLexer.BYTE, + KScrLexer.SHORT, + KScrLexer.CHAR, + KScrLexer.INT, + KScrLexer.LONG, + KScrLexer.FLOAT, + KScrLexer.DOUBLE, + KScrLexer.VOID, + + KScrLexer.VAR, + + KScrLexer.PRIVATE, + KScrLexer.PROTECTED, + KScrLexer.PUBLIC, + + KScrLexer.FINAL, + KScrLexer.STATIC, + KScrLexer.ABSTRACT, + KScrLexer.SYNCHRONISED, + KScrLexer.NATIVE, + + KScrLexer.CLASS, + KScrLexer.INTERFACE, + KScrLexer.ENUM, + KScrLexer.AT, + KScrLexer.RECORD, + KScrLexer.SINGLE, + + KScrLexer.IMPORT, + KScrLexer.PACKAGE, + KScrLexer.EXTENDS, + KScrLexer.IMPLEMENTS, + KScrLexer.PERMITS, + + KScrLexer.RETURN, + KScrLexer.THROW, + KScrLexer.NEW, + KScrLexer.ASSERT, + + KScrLexer.THIS, + + KScrLexer.SWITCH, + KScrLexer.DEFAULT, + KScrLexer.CASE, + KScrLexer.WHILE, + KScrLexer.DO, + KScrLexer.IF, + KScrLexer.FOR, + KScrLexer.ELSE, + + KScrLexer.NULL, + KScrLexer.TRUE, + KScrLexer.FALSE ); public static final TokenSet OPERATORS = createTokenSet( - KScrLanguage.LANGUAGE, - - KScrLangLexer.EQUAL, - KScrLangLexer.INEQUAL, - KScrLangLexer.GREATEREQ, - KScrLangLexer.LESSEREQ, - KScrLangLexer.GREATER, - KScrLangLexer.LESSER, - - KScrLangLexer.AND, - KScrLangLexer.OR, - KScrLangLexer.BITAND, - KScrLangLexer.BITOR, - - KScrLangLexer.UP, - - KScrLangLexer.PLUSPLUS, - KScrLangLexer.MINUSMINUS, - - KScrLangLexer.STAR, - KScrLangLexer.SLASH, - KScrLangLexer.PLUS, - KScrLangLexer.MINUS, - KScrLangLexer.PERCENT + KScruage.LANGUAGE, + + KScrLexer.EQUAL, + KScrLexer.INEQUAL, + KScrLexer.GREATEREQ, + KScrLexer.LESSEREQ, + KScrLexer.GREATER, + KScrLexer.LESSER, + + KScrLexer.AND, + KScrLexer.OR, + KScrLexer.BITAND, + KScrLexer.BITOR, + + KScrLexer.UP, + + KScrLexer.PLUSPLUS, + KScrLexer.MINUSMINUS, + + KScrLexer.STAR, + KScrLexer.SLASH, + KScrLexer.PLUS, + KScrLexer.MINUS, + KScrLexer.PERCENT ); // used for syntax highlighting public static final TokenSet LITERALS = createTokenSet( - KScrLanguage.LANGUAGE, + KScruage.LANGUAGE, - KScrLangLexer.NUMLIT, - KScrLangLexer.BOOLLIT, - KScrLangLexer.STRLIT, - KScrLangLexer.RANGELIT + KScrLexer.NUMLIT, + KScrLexer.BOOLLIT, + KScrLexer.STRLIT, + KScrLexer.RANGELIT ); public static final TokenSet SYMBOLS = createTokenSet( - KScrLanguage.LANGUAGE, + KScruage.LANGUAGE, - KScrLangLexer.QUOTE, - KScrLangLexer.SEMICOLON, + KScrLexer.QUOTE, + KScrLexer.SEMICOLON, - KScrLangLexer.RDASHARROW, - KScrLangLexer.LDASHARROW, - KScrLangLexer.DEQARROW, - KScrLangLexer.REQARROW + KScrLexer.RDASHARROW, + KScrLexer.LDASHARROW, + KScrLexer.DEQARROW, + KScrLexer.REQARROW ); public static final TokenSet PUNCTUATION = createTokenSet( - KScrLanguage.LANGUAGE, + KScruage.LANGUAGE, - KScrLangLexer.DOT, - KScrLangLexer.COMMA, - KScrLangLexer.COLON, - KScrLangLexer.ASSIGN, + KScrLexer.DOT, + KScrLexer.COMMA, + KScrLexer.COLON, + KScrLexer.ASSIGN, - KScrLangLexer.EXCLAMATION, - KScrLangLexer.QUESTION + KScrLexer.EXCLAMATION, + KScrLexer.QUESTION ); - public static final TokenSet WHITESPACES = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.WS); - public static final TokenSet COMMENTS = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.SING_COMMENT); - public static final TokenSet STRING_LITERALS = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.STRLIT); - public static final TokenSet IDENTIFIERS = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.ID); + public static final TokenSet WHITESPACES = createTokenSet(KScruage.LANGUAGE, KScrLexer.WS); + public static final TokenSet COMMENTS = createTokenSet(KScruage.LANGUAGE, KScrLexer.SING_COMMENT); + public static final TokenSet STRING_LITERALS = createTokenSet(KScruage.LANGUAGE, KScrLexer.STRLIT); + public static final TokenSet IDENTIFIERS = createTokenSet(KScruage.LANGUAGE, KScrLexer.ID); // single-element sets - public static final TokenSet RULE_IMPORT = TokenSet.create(getRuleFor(KScrLangParser.RULE_importDecl)); - public static final TokenSet RULE_BIN_OP = TokenSet.create(getRuleFor(KScrLangParser.RULE_binaryop)); - public static final TokenSet RULE_CALL = TokenSet.create(getRuleFor(KScrLangParser.RULE_call)); - public static final TokenSet RULE_ID_PART = TokenSet.create(getRuleFor(KScrLangParser.RULE_idPart)); - public static final TokenSet RULE_INITIALISATION = TokenSet.create(getRuleFor(KScrLangParser.RULE_initialisation)); - public static final TokenSet RULE_CAST = TokenSet.create(getRuleFor(KScrLangParser.RULE_cast)); - public static final TokenSet RULE_NEW_ARRAY = TokenSet.create(getRuleFor(KScrLangParser.RULE_newArray)); - public static final TokenSet RULE_NEW_LIST_ARRAY = TokenSet.create(getRuleFor(KScrLangParser.RULE_newListedArray)); - - public static final TokenSet TOK_ASSIGN = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.ASSIGN); - public static final TokenSet TOK_INSTANCEOF = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.INSTANCEOF); - public static final TokenSet TOK_THIS = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.THIS); - public static final TokenSet TOK_STRING = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.STRLIT); - - public static final TokenSet TOK_CLASS = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.CLASS); - public static final TokenSet TOK_INTERFACE = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.INTERFACE); - public static final TokenSet TOK_ANNOTATION = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.ANNOTATION); - public static final TokenSet TOK_AT = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.AT); - public static final TokenSet TOK_ENUM = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.ENUM); - public static final TokenSet TOK_RECORD = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.RECORD); - public static final TokenSet TOK_SINGLE = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.SINGLE); - - public static final TokenSet TOK_NULL = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.NULL); - public static final TokenSet TOK_NUMLIT = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.NUMLIT); - public static final TokenSet TOK_RANGELIT = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.RANGELIT); - public static final TokenSet TOK_BOOLLIT = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.BOOLLIT); - - public static final TokenSet PARENTHESIS = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.LPAREN, KScrLangLexer.RPAREN); - public static final TokenSet SQ_BRACES = createTokenSet(KScrLanguage.LANGUAGE, KScrLangLexer.LSQUAR, KScrLangLexer.RSQUAR); + public static final TokenSet RULE_IMPORT = TokenSet.create(getRuleFor(KScrParser.RULE_importDecl)); + public static final TokenSet RULE_BIN_OP = TokenSet.create(getRuleFor(KScrParser.RULE_binaryop)); + public static final TokenSet RULE_CALL = TokenSet.create(getRuleFor(KScrParser.RULE_call)); + public static final TokenSet RULE_ID_PART = TokenSet.create(getRuleFor(KScrParser.RULE_idPart)); + public static final TokenSet RULE_INITIALISATION = TokenSet.create(getRuleFor(KScrParser.RULE_initialisation)); + public static final TokenSet RULE_CAST = TokenSet.create(getRuleFor(KScrParser.RULE_cast)); + public static final TokenSet RULE_NEW_ARRAY = TokenSet.create(getRuleFor(KScrParser.RULE_newArray)); + public static final TokenSet RULE_NEW_LIST_ARRAY = TokenSet.create(getRuleFor(KScrParser.RULE_newListedArray)); + + public static final TokenSet TOK_ASSIGN = createTokenSet(KScruage.LANGUAGE, KScrLexer.ASSIGN); + public static final TokenSet TOK_INSTANCEOF = createTokenSet(KScruage.LANGUAGE, KScrLexer.INSTANCEOF); + public static final TokenSet TOK_THIS = createTokenSet(KScruage.LANGUAGE, KScrLexer.THIS); + public static final TokenSet TOK_STRING = createTokenSet(KScruage.LANGUAGE, KScrLexer.STRLIT); + + public static final TokenSet TOK_CLASS = createTokenSet(KScruage.LANGUAGE, KScrLexer.CLASS); + public static final TokenSet TOK_INTERFACE = createTokenSet(KScruage.LANGUAGE, KScrLexer.INTERFACE); + public static final TokenSet TOK_ANNOTATION = createTokenSet(KScruage.LANGUAGE, KScrLexer.ANNOTATION); + public static final TokenSet TOK_AT = createTokenSet(KScruage.LANGUAGE, KScrLexer.AT); + public static final TokenSet TOK_ENUM = createTokenSet(KScruage.LANGUAGE, KScrLexer.ENUM); + public static final TokenSet TOK_RECORD = createTokenSet(KScruage.LANGUAGE, KScrLexer.RECORD); + public static final TokenSet TOK_SINGLE = createTokenSet(KScruage.LANGUAGE, KScrLexer.SINGLE); + + public static final TokenSet TOK_NULL = createTokenSet(KScruage.LANGUAGE, KScrLexer.NULL); + public static final TokenSet TOK_NUMLIT = createTokenSet(KScruage.LANGUAGE, KScrLexer.NUMLIT); + public static final TokenSet TOK_RANGELIT = createTokenSet(KScruage.LANGUAGE, KScrLexer.RANGELIT); + public static final TokenSet TOK_BOOLLIT = createTokenSet(KScruage.LANGUAGE, KScrLexer.BOOLLIT); + + public static final TokenSet PARENTHESIS = createTokenSet(KScruage.LANGUAGE, KScrLexer.LPAREN, KScrLexer.RPAREN); + public static final TokenSet SQ_BRACES = createTokenSet(KScruage.LANGUAGE, KScrLexer.LSQUAR, KScrLexer.RSQUAR); public static final TokenSet PRE_POST_OPS = TokenSet.create( - getRuleFor(KScrLangParser.RULE_prefixop), getRuleFor(KScrLangParser.RULE_postfixop)); + getRuleFor(KScrParser.RULE_prefixop), getRuleFor(KScrParser.RULE_postfixop)); // used for literal expression checking - public static final TokenSet SEM_LITERALS = createTokenSet(KScrLanguage.LANGUAGE, - KScrLangLexer.NULL, - KScrLangLexer.NUMLIT, - KScrLangLexer.RANGELIT, - KScrLangLexer.BOOLLIT + public static final TokenSet SEM_LITERALS = createTokenSet(KScruage.LANGUAGE, + KScrLexer.NULL, + KScrLexer.NUMLIT, + KScrLexer.RANGELIT, + KScrLexer.BOOLLIT ); @Contract(pure = true) public static IElementType getFor(int type){ diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/expressions/KScrCallExpr.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/expressions/KScrCallExpr.java index 146867d..ab04c95 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/expressions/KScrCallExpr.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/expressions/KScrCallExpr.java @@ -3,7 +3,7 @@ import com.intellij.lang.ASTNode; import com.intellij.lang.jvm.JvmMethod; import com.intellij.lang.jvm.types.JvmType; -import org.comroid.kscr.intellij.antlr_generated.KScrLangParser; +import org.comroid.kscr.intellij.antlr_generated.KScrParser; import org.comroid.kscr.intellij.psi.Tokens; import org.comroid.kscr.intellij.psi.utils.PsiUtils; import org.jetbrains.annotations.NotNull; @@ -26,7 +26,7 @@ public Optional on(){ } public boolean isSuperCall(){ - return !PsiUtils.matchingChildren(this, k -> k.getNode().getElementType() == Tokens.getFor(KScrLangParser.SUPER)).isEmpty(); + return !PsiUtils.matchingChildren(this, k -> k.getNode().getElementType() == Tokens.getFor(KScrParser.SUPER)).isEmpty(); } public @Nullable JvmType type(){ diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/stubs/StubTypes.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/stubs/StubTypes.java index 695f53c..15bc0a6 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/stubs/StubTypes.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/stubs/StubTypes.java @@ -3,8 +3,8 @@ import com.intellij.lang.ASTNode; import com.intellij.psi.PsiElement; import com.intellij.psi.stubs.*; -import org.comroid.kscr.intellij.KScrLanguage; -import org.comroid.kscr.intellij.antlr_generated.KScrLangParser; +import org.comroid.kscr.intellij.KScruage; +import org.comroid.kscr.intellij.antlr_generated.KScrParser; import org.comroid.kscr.intellij.psi.Tokens; import org.comroid.kscr.intellij.psi.ast.KScrMethod; import org.comroid.kscr.intellij.psi.ast.KScrModifierList; @@ -43,7 +43,7 @@ public interface StubTypes{ = new KScrClassListStubElementType<>("KScr_PERMITS_LIST", KScrPermitsClause::new); IStubElementType, KScrParametersList> KScr_PARAMETERS_LIST - = new EmptyStubElementType<>("KScr_PARAMETERS_LIST", KScrLanguage.LANGUAGE){ + = new EmptyStubElementType<>("KScr_PARAMETERS_LIST", KScruage.LANGUAGE){ @SuppressWarnings("unchecked") public KScrParametersList createPsi(@NotNull EmptyStub stub){ return new KScrParametersList((EmptyStub)stub); @@ -56,7 +56,7 @@ public KScrParametersList createPsi(@NotNull EmptyStub stub){ class KScrTypeStubElementType extends IStubElementType{ public KScrTypeStubElementType(){ - super("KScr_TYPE", KScrLanguage.LANGUAGE); + super("KScr_TYPE", KScruage.LANGUAGE); } public KScrType createPsi(@NotNull StubKScrType stub){ @@ -96,7 +96,7 @@ class KScrClassListStubElementType> extends IStubEl private final Function, CL> builder; public KScrClassListStubElementType(String name, Function, CL> builder){ - super(name, KScrLanguage.LANGUAGE); + super(name, KScruage.LANGUAGE); this.builder = builder; } @@ -139,7 +139,7 @@ public void indexStub(@NotNull StubKScrClassList stub, @NotNull IndexSink si class KScrMemberStubElementType extends IStubElementType{ public KScrMemberStubElementType(){ - super("KScr_MEMBER", KScrLanguage.LANGUAGE); + super("KScr_MEMBER", KScruage.LANGUAGE); } public KScrMemberWrapper createPsi(@NotNull StubKScrMemberWrapper stub){ @@ -166,7 +166,7 @@ public void indexStub(@NotNull StubKScrMemberWrapper stub, @NotNull IndexSink si class KScrRecordComponentsStubElementType extends IStubElementType{ public KScrRecordComponentsStubElementType(){ - super("KScr_RECORD_COMPONENTS", KScrLanguage.LANGUAGE); + super("KScr_RECORD_COMPONENTS", KScruage.LANGUAGE); } public KScrRecordComponents createPsi(@NotNull StubKScrRecordComponents stub){ @@ -193,7 +193,7 @@ public void indexStub(@NotNull StubKScrRecordComponents stub, @NotNull IndexSink class KScrParameterStubElementType extends IStubElementType{ public KScrParameterStubElementType(){ - super("KScr_PARAMETER", KScrLanguage.LANGUAGE); + super("KScr_PARAMETER", KScruage.LANGUAGE); } public KScrParameter createPsi(@NotNull StubKScrParameter stub){ @@ -231,7 +231,7 @@ public void indexStub(@NotNull StubKScrParameter stub, @NotNull IndexSink sink){ class KScrModifierListStubElementType extends IStubElementType{ public KScrModifierListStubElementType(){ - super("KScr_MODIFIER_LIST", KScrLanguage.LANGUAGE); + super("KScr_MODIFIER_LIST", KScruage.LANGUAGE); } public KScrModifierList createPsi(@NotNull StubKScrModifierList stub){ @@ -267,7 +267,7 @@ public void indexStub(@NotNull StubKScrModifierList stub, @NotNull IndexSink sin class KScrMethodStubElementType extends IStubElementType{ public KScrMethodStubElementType(){ - super("KScr_METHOD", KScrLanguage.LANGUAGE); + super("KScr_METHOD", KScruage.LANGUAGE); } public KScrMethod createPsi(@NotNull StubKScrMethod stub){ @@ -300,7 +300,7 @@ public void indexStub(@NotNull StubKScrMethod stub, @NotNull IndexSink sink){ class KScrFieldStubElementType extends IStubElementType{ public KScrFieldStubElementType(){ - super("KScr_FIELD", KScrLanguage.LANGUAGE); + super("KScr_FIELD", KScruage.LANGUAGE); } public KScrVariableDef createPsi(@NotNull StubKScrField stub){ @@ -335,7 +335,7 @@ public void indexStub(@NotNull StubKScrField stub, @NotNull IndexSink sink){ public boolean shouldCreateStub(ASTNode node){ // only fields, not locals - return node.getTreeParent().getElementType() == Tokens.getRuleFor(KScrLangParser.RULE_member); + return node.getTreeParent().getElementType() == Tokens.getRuleFor(KScrParser.RULE_member); } } } \ No newline at end of file diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/utils/PsiUtils.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/utils/PsiUtils.java index ccb2c9a..aaaebdf 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/utils/PsiUtils.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/psi/utils/PsiUtils.java @@ -5,7 +5,7 @@ import com.intellij.psi.PsiFileFactory; import com.intellij.psi.impl.PsiFileFactoryImpl; import com.intellij.psi.tree.IElementType; -import org.comroid.kscr.intellij.KScrLanguage; +import org.comroid.kscr.intellij.KScruage; import org.comroid.kscr.intellij.antlr_generated.KScrLexer; import org.comroid.kscr.intellij.antlr_generated.KScrParser; import org.comroid.kscr.intellij.psi.Tokens; @@ -23,7 +23,7 @@ public class PsiUtils{ @NotNull private static PsiElement createFromText(Project project, PsiElement context, String text, IElementType type){ PsiFileFactoryImpl factory = (PsiFileFactoryImpl)PsiFileFactory.getInstance(project); - var ret = factory.createElementFromText(text, KScrLanguage.LANGUAGE, type, context); + var ret = factory.createElementFromText(text, KScruage.LANGUAGE, type, context); assert ret != null; return ret; } diff --git a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/sdk/config/KScrLanguageConfiguration.java b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/sdk/config/KScrLanguageConfiguration.java index 22bb2c7..b88ad17 100644 --- a/kscr-intellij/src/main/java/org/comroid/kscr/intellij/sdk/config/KScrLanguageConfiguration.java +++ b/kscr-intellij/src/main/java/org/comroid/kscr/intellij/sdk/config/KScrLanguageConfiguration.java @@ -7,7 +7,7 @@ import javax.swing.*; -public class KScrLanguageConfiguration implements Configurable { +public class KScruageConfiguration implements Configurable { @Override public @NlsContexts.ConfigurableName String getDisplayName() { return "KScr"; diff --git a/kscr-intellij/src/main/resources/META-INF/plugin.xml b/kscr-intellij/src/main/resources/META-INF/plugin.xml index 33ef20c..acbd0fb 100644 --- a/kscr-intellij/src/main/resources/META-INF/plugin.xml +++ b/kscr-intellij/src/main/resources/META-INF/plugin.xml @@ -1,21 +1,30 @@ - - org.comroid.KScrIntelliJPlugin - KScr Language - comroid + + + + org.comroid.kscr.intellij + + KScr Language Support + + + comroid + + + Enter short description for your plugin here.
+ most HTML tags may be used + ]]> + com.intellij.modules.platform - com.intellij.modules.lang - com.intellij.java - - org.jetbrains.plugins.yaml + - - + instance="org.comroid.kscr.intellij.sdk.config.KScruageConfiguration"/> @@ -66,25 +71,21 @@ - + @@ -129,10 +130,4 @@ --> - - - - - -
\ No newline at end of file diff --git a/kscr-intellij/src/main/resources/pluginIcon.svg b/kscr-intellij/src/main/resources/META-INF/pluginIcon.svg similarity index 100% rename from kscr-intellij/src/main/resources/pluginIcon.svg rename to kscr-intellij/src/main/resources/META-INF/pluginIcon.svg diff --git a/kscr-intellij/src/main/resources/inspectionDescriptions/InvalidTypeName.html b/kscr-intellij/src/main/resources/inspectionDescriptions/InvalidTypeName.html deleted file mode 100644 index 045fdac..0000000 --- a/kscr-intellij/src/main/resources/inspectionDescriptions/InvalidTypeName.html +++ /dev/null @@ -1,8 +0,0 @@ - - -Reports unresolved type references, such as an occurrence of the expression `X.class` without the type `X` being visible or imported. - - - - - \ No newline at end of file diff --git a/kscr-intellij/src/main/resources/inspectionDescriptions/WrongFileNameForTypeName.html b/kscr-intellij/src/main/resources/inspectionDescriptions/WrongFileNameForTypeName.html deleted file mode 100644 index 40ad42b..0000000 --- a/kscr-intellij/src/main/resources/inspectionDescriptions/WrongFileNameForTypeName.html +++ /dev/null @@ -1,8 +0,0 @@ - - -Reports classes that have a different names to their enclosing file, such as class T; in a file named B.cyc. - - - - - \ No newline at end of file