catch up with branch daily
Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl.tests/build.properties b/org.eclipse.osbp.xtext.functionlibrarydsl.tests/build.properties
index 7d9b159..2187d9d 100644
--- a/org.eclipse.osbp.xtext.functionlibrarydsl.tests/build.properties
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl.tests/build.properties
@@ -1,10 +1,8 @@
source.. = src/,\
- src-gen/
+ src-gen/\,
+ xtend-gen
bin.includes = about.properties, about.mappings, about.ini, about.html, META-INF/,\
.,\
- .classpath,\
- .project,\
- .settings/,\
LICENSE.txt,\
license.html
src.includes = about.properties, about.mappings, about.ini, about.html, LICENSE.txt,\
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl.tests/xtend-gen/org/eclipse/osbp/xtext/functionlibrarydsl/tests/FunctionLibraryDslParsingTest.java b/org.eclipse.osbp.xtext.functionlibrarydsl.tests/xtend-gen/org/eclipse/osbp/xtext/functionlibrarydsl/tests/FunctionLibraryDslParsingTest.java
index 468b497..35708a6 100644
--- a/org.eclipse.osbp.xtext.functionlibrarydsl.tests/xtend-gen/org/eclipse/osbp/xtext/functionlibrarydsl/tests/FunctionLibraryDslParsingTest.java
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl.tests/xtend-gen/org/eclipse/osbp/xtext/functionlibrarydsl/tests/FunctionLibraryDslParsingTest.java
@@ -1,16 +1,5 @@
/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ * generated by Xtext 2.11.0
*/
package org.eclipse.osbp.xtext.functionlibrarydsl.tests;
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl.ui/META-INF/MANIFEST.MF b/org.eclipse.osbp.xtext.functionlibrarydsl.ui/META-INF/MANIFEST.MF
index a40f395..a08f367 100644
--- a/org.eclipse.osbp.xtext.functionlibrarydsl.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl.ui/META-INF/MANIFEST.MF
@@ -26,7 +26,8 @@
org.eclipse.osbp.xtext.basic.ui;bundle-version="[0.9.0,0.10.0)",
org.eclipse.osbp.xtext.oxtype;bundle-version="[0.9.0,0.10.0)",
org.eclipse.osbp.xtext.oxtype.ui;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.xtend.lib;resolution:=optional
+ org.eclipse.xtend.lib;resolution:=optional,
+ com.itemis.xtext.codebuff.ui;bundle-version="1.0.0";resolution:=optional
Import-Package: javax.validation,
org.apache.log4j,
javax.annotation
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl.ui/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/ui/AbstractFunctionLibraryDslUiModule.java b/org.eclipse.osbp.xtext.functionlibrarydsl.ui/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/ui/AbstractFunctionLibraryDslUiModule.java
index a1276b5..c65f44a 100644
--- a/org.eclipse.osbp.xtext.functionlibrarydsl.ui/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/ui/AbstractFunctionLibraryDslUiModule.java
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl.ui/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/ui/AbstractFunctionLibraryDslUiModule.java
@@ -21,6 +21,7 @@
import com.google.inject.Binder;
import com.google.inject.Provider;
import com.google.inject.name.Names;
+import com.itemis.xtext.codebuff.ui.CodebuffContentFormatterFactory;
import org.eclipse.compare.IViewerCreator;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
@@ -85,6 +86,7 @@
import org.eclipse.xtext.ui.editor.contentassist.antlr.DelegatingContentAssistContextFactory;
import org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler;
import org.eclipse.xtext.ui.editor.findrefs.ReferenceQueryExecutor;
+import org.eclipse.xtext.ui.editor.formatting.IContentFormatterFactory;
import org.eclipse.xtext.ui.editor.model.XtextDocumentProvider;
import org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider;
import org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider;
@@ -407,4 +409,9 @@
return DefaultViewerCreator.class;
}
+ // contributed by com.itemis.xtext.codebuff.CodebuffGrammarGeneratorFragment
+ public Class<? extends IContentFormatterFactory> bindIContentFormatterFactory() {
+ return CodebuffContentFormatterFactory.class;
+ }
+
}
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/META-INF/MANIFEST.MF b/org.eclipse.osbp.xtext.functionlibrarydsl/META-INF/MANIFEST.MF
index f2e69b0..68a12d6 100644
--- a/org.eclipse.osbp.xtext.functionlibrarydsl/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/META-INF/MANIFEST.MF
@@ -46,7 +46,9 @@
org.eclipse.xtend.lib,
org.eclipse.osbp.bpm;bundle-version="0.9.0",
org.eclipse.osbp.bpm.api;bundle-version="0.9.0",
- org.eclipse.osbp.runtime.common;bundle-version="0.9.0"
+ org.eclipse.osbp.runtime.common;bundle-version="0.9.0",
+ com.itemis.xtext.codebuff;bundle-version="1.0.0";resolution:=optional,
+ com.itemis.xtext.codebuff.ui;bundle-version="1.0.0";resolution:=optional
Import-Package: javax.validation;version="1.1.0",
javax.validation.constraints;version="1.1.0",
org.apache.log4j,
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr-4.5.3.jar b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr-4.5.3.jar
new file mode 100644
index 0000000..8203e15
--- /dev/null
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr-4.5.3.jar
Binary files differ
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/Codebuff.tokens b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/Codebuff.tokens
new file mode 100644
index 0000000..098f59a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/Codebuff.tokens
@@ -0,0 +1,207 @@
+T__0=1
+T__1=2
+T__2=3
+T__3=4
+T__4=5
+T__5=6
+T__6=7
+T__7=8
+T__8=9
+T__9=10
+T__10=11
+T__11=12
+T__12=13
+T__13=14
+T__14=15
+T__15=16
+T__16=17
+T__17=18
+T__18=19
+T__19=20
+T__20=21
+T__21=22
+T__22=23
+T__23=24
+T__24=25
+T__25=26
+T__26=27
+T__27=28
+T__28=29
+T__29=30
+T__30=31
+T__31=32
+T__32=33
+T__33=34
+T__34=35
+T__35=36
+T__36=37
+T__37=38
+T__38=39
+T__39=40
+T__40=41
+T__41=42
+T__42=43
+T__43=44
+T__44=45
+T__45=46
+T__46=47
+T__47=48
+T__48=49
+T__49=50
+T__50=51
+T__51=52
+T__52=53
+T__53=54
+T__54=55
+T__55=56
+T__56=57
+T__57=58
+T__58=59
+T__59=60
+T__60=61
+T__61=62
+T__62=63
+T__63=64
+T__64=65
+T__65=66
+T__66=67
+T__67=68
+T__68=69
+T__69=70
+T__70=71
+T__71=72
+T__72=73
+T__73=74
+T__74=75
+T__75=76
+T__76=77
+T__77=78
+T__78=79
+T__79=80
+T__80=81
+T__81=82
+T__82=83
+T__83=84
+T__84=85
+T__85=86
+T__86=87
+T__87=88
+T__88=89
+T__89=90
+T__90=91
+T__91=92
+T__92=93
+T__93=94
+T__94=95
+T__95=96
+T__96=97
+T__97=98
+T__98=99
+RULE_HEX=100
+RULE_INT=101
+RULE_DECIMAL=102
+RULE_ID=103
+RULE_STRING=104
+RULE_ML_COMMENT=105
+RULE_SL_COMMENT=106
+RULE_WS=107
+RULE_ANY_OTHER=108
+'package'=1
+'{'=2
+'}'=3
+'group'=4
+'blip-group'=5
+'statemachine'=6
+'validation'=7
+'dialog'=8
+'action'=9
+'converter'=10
+'model-datatype'=11
+'presentation-datatype'=12
+'to-model'=13
+'to-presentation'=14
+'rating'=15
+'function'=16
+'('=17
+','=18
+')'=19
+'returns'=20
+'test'=21
+'rate'=22
+'guard'=23
+'operation'=24
+'validate'=25
+'hook'=26
+'execute'=27
+'canExecute'=28
+'import'=29
+'static'=30
+'extension'=31
+'*'=32
+'ns'=33
+';'=34
+'@'=35
+'='=36
+'#'=37
+'['=38
+']'=39
+'+='=40
+'-='=41
+'*='=42
+'/='=43
+'%='=44
+'<'=45
+'>'=46
+'>='=47
+'||'=48
+'&&'=49
+'=='=50
+'!='=51
+'==='=52
+'!=='=53
+'instanceof'=54
+'->'=55
+'..<'=56
+'..'=57
+'=>'=58
+'<>'=59
+'?:'=60
+'+'=61
+'-'=62
+'**'=63
+'/'=64
+'%'=65
+'!'=66
+'as'=67
+'++'=68
+'--'=69
+'.'=70
+'::'=71
+'?.'=72
+'|'=73
+'if'=74
+'else'=75
+'switch'=76
+':'=77
+'default'=78
+'case'=79
+'for'=80
+'while'=81
+'do'=82
+'var'=83
+'val'=84
+'extends'=85
+'super'=86
+'new'=87
+'false'=88
+'true'=89
+'null'=90
+'typeof'=91
+'throw'=92
+'return'=93
+'try'=94
+'finally'=95
+'synchronized'=96
+'catch'=97
+'?'=98
+'&'=99
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffBaseListener.java b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffBaseListener.java
new file mode 100644
index 0000000..c00101a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffBaseListener.java
@@ -0,0 +1,1299 @@
+// Generated from C:\git\org.eclipse.osbp.xtext.functionlibrary\org.eclipse.osbp.xtext.functionlibrarydsl\..\org.eclipse.osbp.xtext.functionlibrarydsl\src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4 by ANTLR 4.5.3
+package org.antlr.codebuff;
+
+import org.antlr.v4.runtime.ParserRuleContext;
+import org.antlr.v4.runtime.tree.ErrorNode;
+import org.antlr.v4.runtime.tree.TerminalNode;
+
+/**
+ * This class provides an empty implementation of {@link CodebuffListener},
+ * which can be extended to create a listener which only needs to handle a subset
+ * of the available methods.
+ */
+public class CodebuffBaseListener implements CodebuffListener {
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryModel(CodebuffParser.RuleFunctionLibraryModelContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryModel(CodebuffParser.RuleFunctionLibraryModelContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryPackage(CodebuffParser.RuleFunctionLibraryPackageContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryPackage(CodebuffParser.RuleFunctionLibraryPackageContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryGroup(CodebuffParser.RuleFunctionLibraryGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryGroup(CodebuffParser.RuleFunctionLibraryGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryBlipGroup(CodebuffParser.RuleFunctionLibraryBlipGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryBlipGroup(CodebuffParser.RuleFunctionLibraryBlipGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryStatemachineGroup(CodebuffParser.RuleFunctionLibraryStatemachineGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryStatemachineGroup(CodebuffParser.RuleFunctionLibraryStatemachineGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryValidationGroup(CodebuffParser.RuleFunctionLibraryValidationGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryValidationGroup(CodebuffParser.RuleFunctionLibraryValidationGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryDialogGroup(CodebuffParser.RuleFunctionLibraryDialogGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryDialogGroup(CodebuffParser.RuleFunctionLibraryDialogGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryActionGroup(CodebuffParser.RuleFunctionLibraryActionGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryActionGroup(CodebuffParser.RuleFunctionLibraryActionGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryConverterGroup(CodebuffParser.RuleFunctionLibraryConverterGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryConverterGroup(CodebuffParser.RuleFunctionLibraryConverterGroupContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionConvertToModel(CodebuffParser.RuleFunctionConvertToModelContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionConvertToModel(CodebuffParser.RuleFunctionConvertToModelContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionConvertToPresentation(CodebuffParser.RuleFunctionConvertToPresentationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionConvertToPresentation(CodebuffParser.RuleFunctionConvertToPresentationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryRating(CodebuffParser.RuleFunctionLibraryRatingContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryRating(CodebuffParser.RuleFunctionLibraryRatingContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryRatingItem(CodebuffParser.RuleFunctionLibraryRatingItemContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryRatingItem(CodebuffParser.RuleFunctionLibraryRatingItemContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryFunction(CodebuffParser.RuleFunctionLibraryFunctionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryFunction(CodebuffParser.RuleFunctionLibraryFunctionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryTest(CodebuffParser.RuleFunctionLibraryTestContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryTest(CodebuffParser.RuleFunctionLibraryTestContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryRate(CodebuffParser.RuleFunctionLibraryRateContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryRate(CodebuffParser.RuleFunctionLibraryRateContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryGuard(CodebuffParser.RuleFunctionLibraryGuardContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryGuard(CodebuffParser.RuleFunctionLibraryGuardContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryOperation(CodebuffParser.RuleFunctionLibraryOperationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryOperation(CodebuffParser.RuleFunctionLibraryOperationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryValidation(CodebuffParser.RuleFunctionLibraryValidationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryValidation(CodebuffParser.RuleFunctionLibraryValidationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryDialogHook(CodebuffParser.RuleFunctionLibraryDialogHookContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryDialogHook(CodebuffParser.RuleFunctionLibraryDialogHookContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryExecute(CodebuffParser.RuleFunctionLibraryExecuteContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryExecute(CodebuffParser.RuleFunctionLibraryExecuteContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryCanExecute(CodebuffParser.RuleFunctionLibraryCanExecuteContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryCanExecute(CodebuffParser.RuleFunctionLibraryCanExecuteContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFunctionLibraryParameter(CodebuffParser.RuleFunctionLibraryParameterContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFunctionLibraryParameter(CodebuffParser.RuleFunctionLibraryParameterContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleTYPE_CROSS_REFERENCE(CodebuffParser.RuleTYPE_CROSS_REFERENCEContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleTYPE_CROSS_REFERENCE(CodebuffParser.RuleTYPE_CROSS_REFERENCEContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXImportDeclaration(CodebuffParser.RuleXImportDeclarationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXImportDeclaration(CodebuffParser.RuleXImportDeclarationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXAnnotation(CodebuffParser.RuleXAnnotationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXAnnotation(CodebuffParser.RuleXAnnotationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXAnnotationElementValuePair(CodebuffParser.RuleXAnnotationElementValuePairContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXAnnotationElementValuePair(CodebuffParser.RuleXAnnotationElementValuePairContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXAnnotationElementValueOrCommaList(CodebuffParser.RuleXAnnotationElementValueOrCommaListContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXAnnotationElementValueOrCommaList(CodebuffParser.RuleXAnnotationElementValueOrCommaListContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXAnnotationElementValue(CodebuffParser.RuleXAnnotationElementValueContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXAnnotationElementValue(CodebuffParser.RuleXAnnotationElementValueContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXAnnotationOrExpression(CodebuffParser.RuleXAnnotationOrExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXAnnotationOrExpression(CodebuffParser.RuleXAnnotationOrExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXExpression(CodebuffParser.RuleXExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXExpression(CodebuffParser.RuleXExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXAssignment(CodebuffParser.RuleXAssignmentContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXAssignment(CodebuffParser.RuleXAssignmentContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleOpSingleAssign(CodebuffParser.RuleOpSingleAssignContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleOpSingleAssign(CodebuffParser.RuleOpSingleAssignContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleOpMultiAssign(CodebuffParser.RuleOpMultiAssignContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleOpMultiAssign(CodebuffParser.RuleOpMultiAssignContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXOrExpression(CodebuffParser.RuleXOrExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXOrExpression(CodebuffParser.RuleXOrExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleOpOr(CodebuffParser.RuleOpOrContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleOpOr(CodebuffParser.RuleOpOrContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXAndExpression(CodebuffParser.RuleXAndExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXAndExpression(CodebuffParser.RuleXAndExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleOpAnd(CodebuffParser.RuleOpAndContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleOpAnd(CodebuffParser.RuleOpAndContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXEqualityExpression(CodebuffParser.RuleXEqualityExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXEqualityExpression(CodebuffParser.RuleXEqualityExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleOpEquality(CodebuffParser.RuleOpEqualityContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleOpEquality(CodebuffParser.RuleOpEqualityContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXRelationalExpression(CodebuffParser.RuleXRelationalExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXRelationalExpression(CodebuffParser.RuleXRelationalExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleOpCompare(CodebuffParser.RuleOpCompareContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleOpCompare(CodebuffParser.RuleOpCompareContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXOtherOperatorExpression(CodebuffParser.RuleXOtherOperatorExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXOtherOperatorExpression(CodebuffParser.RuleXOtherOperatorExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleOpOther(CodebuffParser.RuleOpOtherContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleOpOther(CodebuffParser.RuleOpOtherContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXAdditiveExpression(CodebuffParser.RuleXAdditiveExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXAdditiveExpression(CodebuffParser.RuleXAdditiveExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleOpAdd(CodebuffParser.RuleOpAddContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleOpAdd(CodebuffParser.RuleOpAddContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXMultiplicativeExpression(CodebuffParser.RuleXMultiplicativeExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXMultiplicativeExpression(CodebuffParser.RuleXMultiplicativeExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleOpMulti(CodebuffParser.RuleOpMultiContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleOpMulti(CodebuffParser.RuleOpMultiContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXUnaryOperation(CodebuffParser.RuleXUnaryOperationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXUnaryOperation(CodebuffParser.RuleXUnaryOperationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleOpUnary(CodebuffParser.RuleOpUnaryContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleOpUnary(CodebuffParser.RuleOpUnaryContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXCastedExpression(CodebuffParser.RuleXCastedExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXCastedExpression(CodebuffParser.RuleXCastedExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXPostfixOperation(CodebuffParser.RuleXPostfixOperationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXPostfixOperation(CodebuffParser.RuleXPostfixOperationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleOpPostfix(CodebuffParser.RuleOpPostfixContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleOpPostfix(CodebuffParser.RuleOpPostfixContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXMemberFeatureCall(CodebuffParser.RuleXMemberFeatureCallContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXMemberFeatureCall(CodebuffParser.RuleXMemberFeatureCallContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXPrimaryExpression(CodebuffParser.RuleXPrimaryExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXPrimaryExpression(CodebuffParser.RuleXPrimaryExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXLiteral(CodebuffParser.RuleXLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXLiteral(CodebuffParser.RuleXLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXCollectionLiteral(CodebuffParser.RuleXCollectionLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXCollectionLiteral(CodebuffParser.RuleXCollectionLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXSetLiteral(CodebuffParser.RuleXSetLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXSetLiteral(CodebuffParser.RuleXSetLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXListLiteral(CodebuffParser.RuleXListLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXListLiteral(CodebuffParser.RuleXListLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXClosure(CodebuffParser.RuleXClosureContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXClosure(CodebuffParser.RuleXClosureContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXExpressionInClosure(CodebuffParser.RuleXExpressionInClosureContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXExpressionInClosure(CodebuffParser.RuleXExpressionInClosureContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXShortClosure(CodebuffParser.RuleXShortClosureContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXShortClosure(CodebuffParser.RuleXShortClosureContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXParenthesizedExpression(CodebuffParser.RuleXParenthesizedExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXParenthesizedExpression(CodebuffParser.RuleXParenthesizedExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXIfExpression(CodebuffParser.RuleXIfExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXIfExpression(CodebuffParser.RuleXIfExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXSwitchExpression(CodebuffParser.RuleXSwitchExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXSwitchExpression(CodebuffParser.RuleXSwitchExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXCasePart(CodebuffParser.RuleXCasePartContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXCasePart(CodebuffParser.RuleXCasePartContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXForLoopExpression(CodebuffParser.RuleXForLoopExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXForLoopExpression(CodebuffParser.RuleXForLoopExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXBasicForLoopExpression(CodebuffParser.RuleXBasicForLoopExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXBasicForLoopExpression(CodebuffParser.RuleXBasicForLoopExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXWhileExpression(CodebuffParser.RuleXWhileExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXWhileExpression(CodebuffParser.RuleXWhileExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXDoWhileExpression(CodebuffParser.RuleXDoWhileExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXDoWhileExpression(CodebuffParser.RuleXDoWhileExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXBlockExpression(CodebuffParser.RuleXBlockExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXBlockExpression(CodebuffParser.RuleXBlockExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXExpressionOrVarDeclaration(CodebuffParser.RuleXExpressionOrVarDeclarationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXExpressionOrVarDeclaration(CodebuffParser.RuleXExpressionOrVarDeclarationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXVariableDeclaration(CodebuffParser.RuleXVariableDeclarationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXVariableDeclaration(CodebuffParser.RuleXVariableDeclarationContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleJvmFormalParameter(CodebuffParser.RuleJvmFormalParameterContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleJvmFormalParameter(CodebuffParser.RuleJvmFormalParameterContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFullJvmFormalParameter(CodebuffParser.RuleFullJvmFormalParameterContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFullJvmFormalParameter(CodebuffParser.RuleFullJvmFormalParameterContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXFeatureCall(CodebuffParser.RuleXFeatureCallContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXFeatureCall(CodebuffParser.RuleXFeatureCallContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleFeatureCallID(CodebuffParser.RuleFeatureCallIDContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleFeatureCallID(CodebuffParser.RuleFeatureCallIDContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleIdOrSuper(CodebuffParser.RuleIdOrSuperContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleIdOrSuper(CodebuffParser.RuleIdOrSuperContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXConstructorCall(CodebuffParser.RuleXConstructorCallContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXConstructorCall(CodebuffParser.RuleXConstructorCallContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXBooleanLiteral(CodebuffParser.RuleXBooleanLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXBooleanLiteral(CodebuffParser.RuleXBooleanLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXNullLiteral(CodebuffParser.RuleXNullLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXNullLiteral(CodebuffParser.RuleXNullLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXNumberLiteral(CodebuffParser.RuleXNumberLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXNumberLiteral(CodebuffParser.RuleXNumberLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXStringLiteral(CodebuffParser.RuleXStringLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXStringLiteral(CodebuffParser.RuleXStringLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXTypeLiteral(CodebuffParser.RuleXTypeLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXTypeLiteral(CodebuffParser.RuleXTypeLiteralContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXThrowExpression(CodebuffParser.RuleXThrowExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXThrowExpression(CodebuffParser.RuleXThrowExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXReturnExpression(CodebuffParser.RuleXReturnExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXReturnExpression(CodebuffParser.RuleXReturnExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXTryCatchFinallyExpression(CodebuffParser.RuleXTryCatchFinallyExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXTryCatchFinallyExpression(CodebuffParser.RuleXTryCatchFinallyExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXSynchronizedExpression(CodebuffParser.RuleXSynchronizedExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXSynchronizedExpression(CodebuffParser.RuleXSynchronizedExpressionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXCatchClause(CodebuffParser.RuleXCatchClauseContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXCatchClause(CodebuffParser.RuleXCatchClauseContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleQualifiedName(CodebuffParser.RuleQualifiedNameContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleQualifiedName(CodebuffParser.RuleQualifiedNameContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleNumber(CodebuffParser.RuleNumberContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleNumber(CodebuffParser.RuleNumberContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleJvmTypeReference(CodebuffParser.RuleJvmTypeReferenceContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleJvmTypeReference(CodebuffParser.RuleJvmTypeReferenceContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleArrayBrackets(CodebuffParser.RuleArrayBracketsContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleArrayBrackets(CodebuffParser.RuleArrayBracketsContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXFunctionTypeRef(CodebuffParser.RuleXFunctionTypeRefContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXFunctionTypeRef(CodebuffParser.RuleXFunctionTypeRefContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleJvmParameterizedTypeReference(CodebuffParser.RuleJvmParameterizedTypeReferenceContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleJvmParameterizedTypeReference(CodebuffParser.RuleJvmParameterizedTypeReferenceContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleJvmArgumentTypeReference(CodebuffParser.RuleJvmArgumentTypeReferenceContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleJvmArgumentTypeReference(CodebuffParser.RuleJvmArgumentTypeReferenceContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleJvmWildcardTypeReference(CodebuffParser.RuleJvmWildcardTypeReferenceContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleJvmWildcardTypeReference(CodebuffParser.RuleJvmWildcardTypeReferenceContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleJvmUpperBound(CodebuffParser.RuleJvmUpperBoundContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleJvmUpperBound(CodebuffParser.RuleJvmUpperBoundContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleJvmUpperBoundAnded(CodebuffParser.RuleJvmUpperBoundAndedContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleJvmUpperBoundAnded(CodebuffParser.RuleJvmUpperBoundAndedContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleJvmLowerBound(CodebuffParser.RuleJvmLowerBoundContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleJvmLowerBound(CodebuffParser.RuleJvmLowerBoundContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleJvmLowerBoundAnded(CodebuffParser.RuleJvmLowerBoundAndedContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleJvmLowerBoundAnded(CodebuffParser.RuleJvmLowerBoundAndedContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleQualifiedNameWithWildcard(CodebuffParser.RuleQualifiedNameWithWildcardContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleQualifiedNameWithWildcard(CodebuffParser.RuleQualifiedNameWithWildcardContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleValidID(CodebuffParser.RuleValidIDContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleValidID(CodebuffParser.RuleValidIDContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleXImportSection(CodebuffParser.RuleXImportSectionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleXImportSection(CodebuffParser.RuleXImportSectionContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterRuleQualifiedNameInStaticImport(CodebuffParser.RuleQualifiedNameInStaticImportContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitRuleQualifiedNameInStaticImport(CodebuffParser.RuleQualifiedNameInStaticImportContext ctx) { }
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void enterEveryRule(ParserRuleContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void exitEveryRule(ParserRuleContext ctx) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void visitTerminal(TerminalNode node) { }
+ /**
+ * {@inheritDoc}
+ *
+ * <p>The default implementation does nothing.</p>
+ */
+ @Override public void visitErrorNode(ErrorNode node) { }
+}
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffLexer.java b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffLexer.java
new file mode 100644
index 0000000..3677db9
--- /dev/null
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffLexer.java
@@ -0,0 +1,431 @@
+// Generated from C:\git\org.eclipse.osbp.xtext.functionlibrary\org.eclipse.osbp.xtext.functionlibrarydsl\..\org.eclipse.osbp.xtext.functionlibrarydsl\src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4 by ANTLR 4.5.3
+package org.antlr.codebuff;
+import org.antlr.v4.runtime.Lexer;
+import org.antlr.v4.runtime.CharStream;
+import org.antlr.v4.runtime.Token;
+import org.antlr.v4.runtime.TokenStream;
+import org.antlr.v4.runtime.*;
+import org.antlr.v4.runtime.atn.*;
+import org.antlr.v4.runtime.dfa.DFA;
+import org.antlr.v4.runtime.misc.*;
+
+@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
+public class CodebuffLexer extends Lexer {
+ static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); }
+
+ protected static final DFA[] _decisionToDFA;
+ protected static final PredictionContextCache _sharedContextCache =
+ new PredictionContextCache();
+ public static final int
+ T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9,
+ T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17,
+ T__17=18, T__18=19, T__19=20, T__20=21, T__21=22, T__22=23, T__23=24,
+ T__24=25, T__25=26, T__26=27, T__27=28, T__28=29, T__29=30, T__30=31,
+ T__31=32, T__32=33, T__33=34, T__34=35, T__35=36, T__36=37, T__37=38,
+ T__38=39, T__39=40, T__40=41, T__41=42, T__42=43, T__43=44, T__44=45,
+ T__45=46, T__46=47, T__47=48, T__48=49, T__49=50, T__50=51, T__51=52,
+ T__52=53, T__53=54, T__54=55, T__55=56, T__56=57, T__57=58, T__58=59,
+ T__59=60, T__60=61, T__61=62, T__62=63, T__63=64, T__64=65, T__65=66,
+ T__66=67, T__67=68, T__68=69, T__69=70, T__70=71, T__71=72, T__72=73,
+ T__73=74, T__74=75, T__75=76, T__76=77, T__77=78, T__78=79, T__79=80,
+ T__80=81, T__81=82, T__82=83, T__83=84, T__84=85, T__85=86, T__86=87,
+ T__87=88, T__88=89, T__89=90, T__90=91, T__91=92, T__92=93, T__93=94,
+ T__94=95, T__95=96, T__96=97, T__97=98, T__98=99, RULE_HEX=100, RULE_INT=101,
+ RULE_DECIMAL=102, RULE_ID=103, RULE_STRING=104, RULE_ML_COMMENT=105, RULE_SL_COMMENT=106,
+ RULE_WS=107, RULE_ANY_OTHER=108;
+ public static String[] modeNames = {
+ "DEFAULT_MODE"
+ };
+
+ public static final String[] ruleNames = {
+ "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8",
+ "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16",
+ "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24",
+ "T__25", "T__26", "T__27", "T__28", "T__29", "T__30", "T__31", "T__32",
+ "T__33", "T__34", "T__35", "T__36", "T__37", "T__38", "T__39", "T__40",
+ "T__41", "T__42", "T__43", "T__44", "T__45", "T__46", "T__47", "T__48",
+ "T__49", "T__50", "T__51", "T__52", "T__53", "T__54", "T__55", "T__56",
+ "T__57", "T__58", "T__59", "T__60", "T__61", "T__62", "T__63", "T__64",
+ "T__65", "T__66", "T__67", "T__68", "T__69", "T__70", "T__71", "T__72",
+ "T__73", "T__74", "T__75", "T__76", "T__77", "T__78", "T__79", "T__80",
+ "T__81", "T__82", "T__83", "T__84", "T__85", "T__86", "T__87", "T__88",
+ "T__89", "T__90", "T__91", "T__92", "T__93", "T__94", "T__95", "T__96",
+ "T__97", "T__98", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ID", "RULE_STRING",
+ "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER"
+ };
+
+ private static final String[] _LITERAL_NAMES = {
+ null, "'package'", "'{'", "'}'", "'group'", "'blip-group'", "'statemachine'",
+ "'validation'", "'dialog'", "'action'", "'converter'", "'model-datatype'",
+ "'presentation-datatype'", "'to-model'", "'to-presentation'", "'rating'",
+ "'function'", "'('", "','", "')'", "'returns'", "'test'", "'rate'", "'guard'",
+ "'operation'", "'validate'", "'hook'", "'execute'", "'canExecute'", "'import'",
+ "'static'", "'extension'", "'*'", "'ns'", "';'", "'@'", "'='", "'#'",
+ "'['", "']'", "'+='", "'-='", "'*='", "'/='", "'%='", "'<'", "'>'", "'>='",
+ "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'",
+ "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'**'", "'/'",
+ "'%'", "'!'", "'as'", "'++'", "'--'", "'.'", "'::'", "'?.'", "'|'", "'if'",
+ "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'",
+ "'do'", "'var'", "'val'", "'extends'", "'super'", "'new'", "'false'",
+ "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'",
+ "'synchronized'", "'catch'", "'?'", "'&'"
+ };
+ private static final String[] _SYMBOLIC_NAMES = {
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ID",
+ "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER"
+ };
+ public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
+
+ /**
+ * @deprecated Use {@link #VOCABULARY} instead.
+ */
+ @Deprecated
+ public static final String[] tokenNames;
+ static {
+ tokenNames = new String[_SYMBOLIC_NAMES.length];
+ for (int i = 0; i < tokenNames.length; i++) {
+ tokenNames[i] = VOCABULARY.getLiteralName(i);
+ if (tokenNames[i] == null) {
+ tokenNames[i] = VOCABULARY.getSymbolicName(i);
+ }
+
+ if (tokenNames[i] == null) {
+ tokenNames[i] = "<INVALID>";
+ }
+ }
+ }
+
+ @Override
+ @Deprecated
+ public String[] getTokenNames() {
+ return tokenNames;
+ }
+
+ @Override
+
+ public Vocabulary getVocabulary() {
+ return VOCABULARY;
+ }
+
+
+ public CodebuffLexer(CharStream input) {
+ super(input);
+ _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
+ }
+
+ @Override
+ public String getGrammarFileName() { return "Codebuff.g4"; }
+
+ @Override
+ public String[] getRuleNames() { return ruleNames; }
+
+ @Override
+ public String getSerializedATN() { return _serializedATN; }
+
+ @Override
+ public String[] getModeNames() { return modeNames; }
+
+ @Override
+ public ATN getATN() { return _ATN; }
+
+ public static final String _serializedATN =
+ "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2n\u034d\b\1\4\2\t"+
+ "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+
+ "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+
+ "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+
+ "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+
+ "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+
+ ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+
+ "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+
+ "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+
+ "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+
+ "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+
+ "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+
+ "k\4l\tl\4m\tm\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\3\3\3\3\4\3\4\3\5\3\5"+
+ "\3\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3"+
+ "\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3\b\3\b\3\b"+
+ "\3\b\3\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\n\3"+
+ "\n\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3"+
+ "\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\r\3\r\3\r"+
+ "\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\16\3\16"+
+ "\3\16\3\16\3\16\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
+ "\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\20\3\20\3\20\3\20\3\20"+
+ "\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\22\3\22\3\23"+
+ "\3\23\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\25\3\26\3\26\3\26"+
+ "\3\26\3\26\3\27\3\27\3\27\3\27\3\27\3\30\3\30\3\30\3\30\3\30\3\30\3\31"+
+ "\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\32\3\32\3\32\3\32\3\32"+
+ "\3\32\3\32\3\32\3\32\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3\34\3\34\3\34"+
+ "\3\34\3\34\3\34\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35"+
+ "\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37\3\37"+
+ "\3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3!\3!\3\"\3\"\3\"\3#\3#\3$\3$\3%\3%\3&"+
+ "\3&\3\'\3\'\3(\3(\3)\3)\3)\3*\3*\3*\3+\3+\3+\3,\3,\3,\3-\3-\3-\3.\3.\3"+
+ "/\3/\3\60\3\60\3\60\3\61\3\61\3\61\3\62\3\62\3\62\3\63\3\63\3\63\3\64"+
+ "\3\64\3\64\3\65\3\65\3\65\3\65\3\66\3\66\3\66\3\66\3\67\3\67\3\67\3\67"+
+ "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\38\38\38\39\39\39\39\3:\3:\3:\3;\3"+
+ ";\3;\3<\3<\3<\3=\3=\3=\3>\3>\3?\3?\3@\3@\3@\3A\3A\3B\3B\3C\3C\3D\3D\3"+
+ "D\3E\3E\3E\3F\3F\3F\3G\3G\3H\3H\3H\3I\3I\3I\3J\3J\3K\3K\3K\3L\3L\3L\3"+
+ "L\3L\3M\3M\3M\3M\3M\3M\3M\3N\3N\3O\3O\3O\3O\3O\3O\3O\3O\3P\3P\3P\3P\3"+
+ "P\3Q\3Q\3Q\3Q\3R\3R\3R\3R\3R\3R\3S\3S\3S\3T\3T\3T\3T\3U\3U\3U\3U\3V\3"+
+ "V\3V\3V\3V\3V\3V\3V\3W\3W\3W\3W\3W\3W\3X\3X\3X\3X\3Y\3Y\3Y\3Y\3Y\3Y\3"+
+ "Z\3Z\3Z\3Z\3Z\3[\3[\3[\3[\3[\3\\\3\\\3\\\3\\\3\\\3\\\3\\\3]\3]\3]\3]\3"+
+ "]\3]\3^\3^\3^\3^\3^\3^\3^\3_\3_\3_\3_\3`\3`\3`\3`\3`\3`\3`\3`\3a\3a\3"+
+ "a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3a\3b\3b\3b\3b\3b\3b\3c\3c\3d\3d\3e\3e\3"+
+ "e\3e\5e\u02e1\ne\3e\6e\u02e4\ne\re\16e\u02e5\3e\3e\3e\3e\5e\u02ec\ne\5"+
+ "e\u02ee\ne\3f\3f\7f\u02f2\nf\ff\16f\u02f5\13f\3g\3g\3g\5g\u02fa\ng\3g"+
+ "\5g\u02fd\ng\3g\3g\3g\5g\u0302\ng\3h\5h\u0305\nh\3h\3h\7h\u0309\nh\fh"+
+ "\16h\u030c\13h\3i\3i\3i\3i\7i\u0312\ni\fi\16i\u0315\13i\3i\5i\u0318\n"+
+ "i\3i\3i\3i\3i\7i\u031e\ni\fi\16i\u0321\13i\3i\5i\u0324\ni\5i\u0326\ni"+
+ "\3j\3j\7j\u032a\nj\fj\16j\u032d\13j\3j\3j\3j\3j\3j\3k\3k\3k\3k\7k\u0338"+
+ "\nk\fk\16k\u033b\13k\3k\5k\u033e\nk\3k\5k\u0341\nk\3k\3k\3l\6l\u0346\n"+
+ "l\rl\16l\u0347\3l\3l\3m\3m\3\u032b\2n\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21"+
+ "\n\23\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30"+
+ "/\31\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.["+
+ "/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s;u<w=y>{?}@\177A\u0081B\u0083"+
+ "C\u0085D\u0087E\u0089F\u008bG\u008dH\u008fI\u0091J\u0093K\u0095L\u0097"+
+ "M\u0099N\u009bO\u009dP\u009fQ\u00a1R\u00a3S\u00a5T\u00a7U\u00a9V\u00ab"+
+ "W\u00adX\u00afY\u00b1Z\u00b3[\u00b5\\\u00b7]\u00b9^\u00bb_\u00bd`\u00bf"+
+ "a\u00c1b\u00c3c\u00c5d\u00c7e\u00c9f\u00cbg\u00cdh\u00cfi\u00d1j\u00d3"+
+ "k\u00d5l\u00d7m\u00d9n\3\2\21\6\2\62;CHaach\4\2DDdd\4\2KKkk\4\2NNnn\4"+
+ "\2\62;aa\4\2GGgg\4\2--//\6\2FFKKffkk\b\2FFHHNNffhhnn\6\2&&C\\aac|\7\2"+
+ "&&\62;C\\aac|\4\2$$^^\4\2))^^\4\2\f\f\17\17\5\2\13\f\17\17\"\"\u0363\2"+
+ "\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2"+
+ "\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2"+
+ "\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2"+
+ "\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\3\2\2\2"+
+ "\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2\2\2\2;\3\2"+
+ "\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2"+
+ "\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U"+
+ "\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2"+
+ "\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2"+
+ "\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{"+
+ "\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2\2\2\2\u0085"+
+ "\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2\2\u008b\3\2\2\2\2\u008d\3\2\2"+
+ "\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\2\u0093\3\2\2\2\2\u0095\3\2\2\2\2\u0097"+
+ "\3\2\2\2\2\u0099\3\2\2\2\2\u009b\3\2\2\2\2\u009d\3\2\2\2\2\u009f\3\2\2"+
+ "\2\2\u00a1\3\2\2\2\2\u00a3\3\2\2\2\2\u00a5\3\2\2\2\2\u00a7\3\2\2\2\2\u00a9"+
+ "\3\2\2\2\2\u00ab\3\2\2\2\2\u00ad\3\2\2\2\2\u00af\3\2\2\2\2\u00b1\3\2\2"+
+ "\2\2\u00b3\3\2\2\2\2\u00b5\3\2\2\2\2\u00b7\3\2\2\2\2\u00b9\3\2\2\2\2\u00bb"+
+ "\3\2\2\2\2\u00bd\3\2\2\2\2\u00bf\3\2\2\2\2\u00c1\3\2\2\2\2\u00c3\3\2\2"+
+ "\2\2\u00c5\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9\3\2\2\2\2\u00cb\3\2\2\2\2\u00cd"+
+ "\3\2\2\2\2\u00cf\3\2\2\2\2\u00d1\3\2\2\2\2\u00d3\3\2\2\2\2\u00d5\3\2\2"+
+ "\2\2\u00d7\3\2\2\2\2\u00d9\3\2\2\2\3\u00db\3\2\2\2\5\u00e3\3\2\2\2\7\u00e5"+
+ "\3\2\2\2\t\u00e7\3\2\2\2\13\u00ed\3\2\2\2\r\u00f8\3\2\2\2\17\u0105\3\2"+
+ "\2\2\21\u0110\3\2\2\2\23\u0117\3\2\2\2\25\u011e\3\2\2\2\27\u0128\3\2\2"+
+ "\2\31\u0137\3\2\2\2\33\u014d\3\2\2\2\35\u0156\3\2\2\2\37\u0166\3\2\2\2"+
+ "!\u016d\3\2\2\2#\u0176\3\2\2\2%\u0178\3\2\2\2\'\u017a\3\2\2\2)\u017c\3"+
+ "\2\2\2+\u0184\3\2\2\2-\u0189\3\2\2\2/\u018e\3\2\2\2\61\u0194\3\2\2\2\63"+
+ "\u019e\3\2\2\2\65\u01a7\3\2\2\2\67\u01ac\3\2\2\29\u01b4\3\2\2\2;\u01bf"+
+ "\3\2\2\2=\u01c6\3\2\2\2?\u01cd\3\2\2\2A\u01d7\3\2\2\2C\u01d9\3\2\2\2E"+
+ "\u01dc\3\2\2\2G\u01de\3\2\2\2I\u01e0\3\2\2\2K\u01e2\3\2\2\2M\u01e4\3\2"+
+ "\2\2O\u01e6\3\2\2\2Q\u01e8\3\2\2\2S\u01eb\3\2\2\2U\u01ee\3\2\2\2W\u01f1"+
+ "\3\2\2\2Y\u01f4\3\2\2\2[\u01f7\3\2\2\2]\u01f9\3\2\2\2_\u01fb\3\2\2\2a"+
+ "\u01fe\3\2\2\2c\u0201\3\2\2\2e\u0204\3\2\2\2g\u0207\3\2\2\2i\u020a\3\2"+
+ "\2\2k\u020e\3\2\2\2m\u0212\3\2\2\2o\u021d\3\2\2\2q\u0220\3\2\2\2s\u0224"+
+ "\3\2\2\2u\u0227\3\2\2\2w\u022a\3\2\2\2y\u022d\3\2\2\2{\u0230\3\2\2\2}"+
+ "\u0232\3\2\2\2\177\u0234\3\2\2\2\u0081\u0237\3\2\2\2\u0083\u0239\3\2\2"+
+ "\2\u0085\u023b\3\2\2\2\u0087\u023d\3\2\2\2\u0089\u0240\3\2\2\2\u008b\u0243"+
+ "\3\2\2\2\u008d\u0246\3\2\2\2\u008f\u0248\3\2\2\2\u0091\u024b\3\2\2\2\u0093"+
+ "\u024e\3\2\2\2\u0095\u0250\3\2\2\2\u0097\u0253\3\2\2\2\u0099\u0258\3\2"+
+ "\2\2\u009b\u025f\3\2\2\2\u009d\u0261\3\2\2\2\u009f\u0269\3\2\2\2\u00a1"+
+ "\u026e\3\2\2\2\u00a3\u0272\3\2\2\2\u00a5\u0278\3\2\2\2\u00a7\u027b\3\2"+
+ "\2\2\u00a9\u027f\3\2\2\2\u00ab\u0283\3\2\2\2\u00ad\u028b\3\2\2\2\u00af"+
+ "\u0291\3\2\2\2\u00b1\u0295\3\2\2\2\u00b3\u029b\3\2\2\2\u00b5\u02a0\3\2"+
+ "\2\2\u00b7\u02a5\3\2\2\2\u00b9\u02ac\3\2\2\2\u00bb\u02b2\3\2\2\2\u00bd"+
+ "\u02b9\3\2\2\2\u00bf\u02bd\3\2\2\2\u00c1\u02c5\3\2\2\2\u00c3\u02d2\3\2"+
+ "\2\2\u00c5\u02d8\3\2\2\2\u00c7\u02da\3\2\2\2\u00c9\u02e0\3\2\2\2\u00cb"+
+ "\u02ef\3\2\2\2\u00cd\u02f6\3\2\2\2\u00cf\u0304\3\2\2\2\u00d1\u0325\3\2"+
+ "\2\2\u00d3\u032b\3\2\2\2\u00d5\u0333\3\2\2\2\u00d7\u0345\3\2\2\2\u00d9"+
+ "\u034b\3\2\2\2\u00db\u00dc\7r\2\2\u00dc\u00dd\7c\2\2\u00dd\u00de\7e\2"+
+ "\2\u00de\u00df\7m\2\2\u00df\u00e0\7c\2\2\u00e0\u00e1\7i\2\2\u00e1\u00e2"+
+ "\7g\2\2\u00e2\4\3\2\2\2\u00e3\u00e4\7}\2\2\u00e4\6\3\2\2\2\u00e5\u00e6"+
+ "\7\177\2\2\u00e6\b\3\2\2\2\u00e7\u00e8\7i\2\2\u00e8\u00e9\7t\2\2\u00e9"+
+ "\u00ea\7q\2\2\u00ea\u00eb\7w\2\2\u00eb\u00ec\7r\2\2\u00ec\n\3\2\2\2\u00ed"+
+ "\u00ee\7d\2\2\u00ee\u00ef\7n\2\2\u00ef\u00f0\7k\2\2\u00f0\u00f1\7r\2\2"+
+ "\u00f1\u00f2\7/\2\2\u00f2\u00f3\7i\2\2\u00f3\u00f4\7t\2\2\u00f4\u00f5"+
+ "\7q\2\2\u00f5\u00f6\7w\2\2\u00f6\u00f7\7r\2\2\u00f7\f\3\2\2\2\u00f8\u00f9"+
+ "\7u\2\2\u00f9\u00fa\7v\2\2\u00fa\u00fb\7c\2\2\u00fb\u00fc\7v\2\2\u00fc"+
+ "\u00fd\7g\2\2\u00fd\u00fe\7o\2\2\u00fe\u00ff\7c\2\2\u00ff\u0100\7e\2\2"+
+ "\u0100\u0101\7j\2\2\u0101\u0102\7k\2\2\u0102\u0103\7p\2\2\u0103\u0104"+
+ "\7g\2\2\u0104\16\3\2\2\2\u0105\u0106\7x\2\2\u0106\u0107\7c\2\2\u0107\u0108"+
+ "\7n\2\2\u0108\u0109\7k\2\2\u0109\u010a\7f\2\2\u010a\u010b\7c\2\2\u010b"+
+ "\u010c\7v\2\2\u010c\u010d\7k\2\2\u010d\u010e\7q\2\2\u010e\u010f\7p\2\2"+
+ "\u010f\20\3\2\2\2\u0110\u0111\7f\2\2\u0111\u0112\7k\2\2\u0112\u0113\7"+
+ "c\2\2\u0113\u0114\7n\2\2\u0114\u0115\7q\2\2\u0115\u0116\7i\2\2\u0116\22"+
+ "\3\2\2\2\u0117\u0118\7c\2\2\u0118\u0119\7e\2\2\u0119\u011a\7v\2\2\u011a"+
+ "\u011b\7k\2\2\u011b\u011c\7q\2\2\u011c\u011d\7p\2\2\u011d\24\3\2\2\2\u011e"+
+ "\u011f\7e\2\2\u011f\u0120\7q\2\2\u0120\u0121\7p\2\2\u0121\u0122\7x\2\2"+
+ "\u0122\u0123\7g\2\2\u0123\u0124\7t\2\2\u0124\u0125\7v\2\2\u0125\u0126"+
+ "\7g\2\2\u0126\u0127\7t\2\2\u0127\26\3\2\2\2\u0128\u0129\7o\2\2\u0129\u012a"+
+ "\7q\2\2\u012a\u012b\7f\2\2\u012b\u012c\7g\2\2\u012c\u012d\7n\2\2\u012d"+
+ "\u012e\7/\2\2\u012e\u012f\7f\2\2\u012f\u0130\7c\2\2\u0130\u0131\7v\2\2"+
+ "\u0131\u0132\7c\2\2\u0132\u0133\7v\2\2\u0133\u0134\7{\2\2\u0134\u0135"+
+ "\7r\2\2\u0135\u0136\7g\2\2\u0136\30\3\2\2\2\u0137\u0138\7r\2\2\u0138\u0139"+
+ "\7t\2\2\u0139\u013a\7g\2\2\u013a\u013b\7u\2\2\u013b\u013c\7g\2\2\u013c"+
+ "\u013d\7p\2\2\u013d\u013e\7v\2\2\u013e\u013f\7c\2\2\u013f\u0140\7v\2\2"+
+ "\u0140\u0141\7k\2\2\u0141\u0142\7q\2\2\u0142\u0143\7p\2\2\u0143\u0144"+
+ "\7/\2\2\u0144\u0145\7f\2\2\u0145\u0146\7c\2\2\u0146\u0147\7v\2\2\u0147"+
+ "\u0148\7c\2\2\u0148\u0149\7v\2\2\u0149\u014a\7{\2\2\u014a\u014b\7r\2\2"+
+ "\u014b\u014c\7g\2\2\u014c\32\3\2\2\2\u014d\u014e\7v\2\2\u014e\u014f\7"+
+ "q\2\2\u014f\u0150\7/\2\2\u0150\u0151\7o\2\2\u0151\u0152\7q\2\2\u0152\u0153"+
+ "\7f\2\2\u0153\u0154\7g\2\2\u0154\u0155\7n\2\2\u0155\34\3\2\2\2\u0156\u0157"+
+ "\7v\2\2\u0157\u0158\7q\2\2\u0158\u0159\7/\2\2\u0159\u015a\7r\2\2\u015a"+
+ "\u015b\7t\2\2\u015b\u015c\7g\2\2\u015c\u015d\7u\2\2\u015d\u015e\7g\2\2"+
+ "\u015e\u015f\7p\2\2\u015f\u0160\7v\2\2\u0160\u0161\7c\2\2\u0161\u0162"+
+ "\7v\2\2\u0162\u0163\7k\2\2\u0163\u0164\7q\2\2\u0164\u0165\7p\2\2\u0165"+
+ "\36\3\2\2\2\u0166\u0167\7t\2\2\u0167\u0168\7c\2\2\u0168\u0169\7v\2\2\u0169"+
+ "\u016a\7k\2\2\u016a\u016b\7p\2\2\u016b\u016c\7i\2\2\u016c \3\2\2\2\u016d"+
+ "\u016e\7h\2\2\u016e\u016f\7w\2\2\u016f\u0170\7p\2\2\u0170\u0171\7e\2\2"+
+ "\u0171\u0172\7v\2\2\u0172\u0173\7k\2\2\u0173\u0174\7q\2\2\u0174\u0175"+
+ "\7p\2\2\u0175\"\3\2\2\2\u0176\u0177\7*\2\2\u0177$\3\2\2\2\u0178\u0179"+
+ "\7.\2\2\u0179&\3\2\2\2\u017a\u017b\7+\2\2\u017b(\3\2\2\2\u017c\u017d\7"+
+ "t\2\2\u017d\u017e\7g\2\2\u017e\u017f\7v\2\2\u017f\u0180\7w\2\2\u0180\u0181"+
+ "\7t\2\2\u0181\u0182\7p\2\2\u0182\u0183\7u\2\2\u0183*\3\2\2\2\u0184\u0185"+
+ "\7v\2\2\u0185\u0186\7g\2\2\u0186\u0187\7u\2\2\u0187\u0188\7v\2\2\u0188"+
+ ",\3\2\2\2\u0189\u018a\7t\2\2\u018a\u018b\7c\2\2\u018b\u018c\7v\2\2\u018c"+
+ "\u018d\7g\2\2\u018d.\3\2\2\2\u018e\u018f\7i\2\2\u018f\u0190\7w\2\2\u0190"+
+ "\u0191\7c\2\2\u0191\u0192\7t\2\2\u0192\u0193\7f\2\2\u0193\60\3\2\2\2\u0194"+
+ "\u0195\7q\2\2\u0195\u0196\7r\2\2\u0196\u0197\7g\2\2\u0197\u0198\7t\2\2"+
+ "\u0198\u0199\7c\2\2\u0199\u019a\7v\2\2\u019a\u019b\7k\2\2\u019b\u019c"+
+ "\7q\2\2\u019c\u019d\7p\2\2\u019d\62\3\2\2\2\u019e\u019f\7x\2\2\u019f\u01a0"+
+ "\7c\2\2\u01a0\u01a1\7n\2\2\u01a1\u01a2\7k\2\2\u01a2\u01a3\7f\2\2\u01a3"+
+ "\u01a4\7c\2\2\u01a4\u01a5\7v\2\2\u01a5\u01a6\7g\2\2\u01a6\64\3\2\2\2\u01a7"+
+ "\u01a8\7j\2\2\u01a8\u01a9\7q\2\2\u01a9\u01aa\7q\2\2\u01aa\u01ab\7m\2\2"+
+ "\u01ab\66\3\2\2\2\u01ac\u01ad\7g\2\2\u01ad\u01ae\7z\2\2\u01ae\u01af\7"+
+ "g\2\2\u01af\u01b0\7e\2\2\u01b0\u01b1\7w\2\2\u01b1\u01b2\7v\2\2\u01b2\u01b3"+
+ "\7g\2\2\u01b38\3\2\2\2\u01b4\u01b5\7e\2\2\u01b5\u01b6\7c\2\2\u01b6\u01b7"+
+ "\7p\2\2\u01b7\u01b8\7G\2\2\u01b8\u01b9\7z\2\2\u01b9\u01ba\7g\2\2\u01ba"+
+ "\u01bb\7e\2\2\u01bb\u01bc\7w\2\2\u01bc\u01bd\7v\2\2\u01bd\u01be\7g\2\2"+
+ "\u01be:\3\2\2\2\u01bf\u01c0\7k\2\2\u01c0\u01c1\7o\2\2\u01c1\u01c2\7r\2"+
+ "\2\u01c2\u01c3\7q\2\2\u01c3\u01c4\7t\2\2\u01c4\u01c5\7v\2\2\u01c5<\3\2"+
+ "\2\2\u01c6\u01c7\7u\2\2\u01c7\u01c8\7v\2\2\u01c8\u01c9\7c\2\2\u01c9\u01ca"+
+ "\7v\2\2\u01ca\u01cb\7k\2\2\u01cb\u01cc\7e\2\2\u01cc>\3\2\2\2\u01cd\u01ce"+
+ "\7g\2\2\u01ce\u01cf\7z\2\2\u01cf\u01d0\7v\2\2\u01d0\u01d1\7g\2\2\u01d1"+
+ "\u01d2\7p\2\2\u01d2\u01d3\7u\2\2\u01d3\u01d4\7k\2\2\u01d4\u01d5\7q\2\2"+
+ "\u01d5\u01d6\7p\2\2\u01d6@\3\2\2\2\u01d7\u01d8\7,\2\2\u01d8B\3\2\2\2\u01d9"+
+ "\u01da\7p\2\2\u01da\u01db\7u\2\2\u01dbD\3\2\2\2\u01dc\u01dd\7=\2\2\u01dd"+
+ "F\3\2\2\2\u01de\u01df\7B\2\2\u01dfH\3\2\2\2\u01e0\u01e1\7?\2\2\u01e1J"+
+ "\3\2\2\2\u01e2\u01e3\7%\2\2\u01e3L\3\2\2\2\u01e4\u01e5\7]\2\2\u01e5N\3"+
+ "\2\2\2\u01e6\u01e7\7_\2\2\u01e7P\3\2\2\2\u01e8\u01e9\7-\2\2\u01e9\u01ea"+
+ "\7?\2\2\u01eaR\3\2\2\2\u01eb\u01ec\7/\2\2\u01ec\u01ed\7?\2\2\u01edT\3"+
+ "\2\2\2\u01ee\u01ef\7,\2\2\u01ef\u01f0\7?\2\2\u01f0V\3\2\2\2\u01f1\u01f2"+
+ "\7\61\2\2\u01f2\u01f3\7?\2\2\u01f3X\3\2\2\2\u01f4\u01f5\7\'\2\2\u01f5"+
+ "\u01f6\7?\2\2\u01f6Z\3\2\2\2\u01f7\u01f8\7>\2\2\u01f8\\\3\2\2\2\u01f9"+
+ "\u01fa\7@\2\2\u01fa^\3\2\2\2\u01fb\u01fc\7@\2\2\u01fc\u01fd\7?\2\2\u01fd"+
+ "`\3\2\2\2\u01fe\u01ff\7~\2\2\u01ff\u0200\7~\2\2\u0200b\3\2\2\2\u0201\u0202"+
+ "\7(\2\2\u0202\u0203\7(\2\2\u0203d\3\2\2\2\u0204\u0205\7?\2\2\u0205\u0206"+
+ "\7?\2\2\u0206f\3\2\2\2\u0207\u0208\7#\2\2\u0208\u0209\7?\2\2\u0209h\3"+
+ "\2\2\2\u020a\u020b\7?\2\2\u020b\u020c\7?\2\2\u020c\u020d\7?\2\2\u020d"+
+ "j\3\2\2\2\u020e\u020f\7#\2\2\u020f\u0210\7?\2\2\u0210\u0211\7?\2\2\u0211"+
+ "l\3\2\2\2\u0212\u0213\7k\2\2\u0213\u0214\7p\2\2\u0214\u0215\7u\2\2\u0215"+
+ "\u0216\7v\2\2\u0216\u0217\7c\2\2\u0217\u0218\7p\2\2\u0218\u0219\7e\2\2"+
+ "\u0219\u021a\7g\2\2\u021a\u021b\7q\2\2\u021b\u021c\7h\2\2\u021cn\3\2\2"+
+ "\2\u021d\u021e\7/\2\2\u021e\u021f\7@\2\2\u021fp\3\2\2\2\u0220\u0221\7"+
+ "\60\2\2\u0221\u0222\7\60\2\2\u0222\u0223\7>\2\2\u0223r\3\2\2\2\u0224\u0225"+
+ "\7\60\2\2\u0225\u0226\7\60\2\2\u0226t\3\2\2\2\u0227\u0228\7?\2\2\u0228"+
+ "\u0229\7@\2\2\u0229v\3\2\2\2\u022a\u022b\7>\2\2\u022b\u022c\7@\2\2\u022c"+
+ "x\3\2\2\2\u022d\u022e\7A\2\2\u022e\u022f\7<\2\2\u022fz\3\2\2\2\u0230\u0231"+
+ "\7-\2\2\u0231|\3\2\2\2\u0232\u0233\7/\2\2\u0233~\3\2\2\2\u0234\u0235\7"+
+ ",\2\2\u0235\u0236\7,\2\2\u0236\u0080\3\2\2\2\u0237\u0238\7\61\2\2\u0238"+
+ "\u0082\3\2\2\2\u0239\u023a\7\'\2\2\u023a\u0084\3\2\2\2\u023b\u023c\7#"+
+ "\2\2\u023c\u0086\3\2\2\2\u023d\u023e\7c\2\2\u023e\u023f\7u\2\2\u023f\u0088"+
+ "\3\2\2\2\u0240\u0241\7-\2\2\u0241\u0242\7-\2\2\u0242\u008a\3\2\2\2\u0243"+
+ "\u0244\7/\2\2\u0244\u0245\7/\2\2\u0245\u008c\3\2\2\2\u0246\u0247\7\60"+
+ "\2\2\u0247\u008e\3\2\2\2\u0248\u0249\7<\2\2\u0249\u024a\7<\2\2\u024a\u0090"+
+ "\3\2\2\2\u024b\u024c\7A\2\2\u024c\u024d\7\60\2\2\u024d\u0092\3\2\2\2\u024e"+
+ "\u024f\7~\2\2\u024f\u0094\3\2\2\2\u0250\u0251\7k\2\2\u0251\u0252\7h\2"+
+ "\2\u0252\u0096\3\2\2\2\u0253\u0254\7g\2\2\u0254\u0255\7n\2\2\u0255\u0256"+
+ "\7u\2\2\u0256\u0257\7g\2\2\u0257\u0098\3\2\2\2\u0258\u0259\7u\2\2\u0259"+
+ "\u025a\7y\2\2\u025a\u025b\7k\2\2\u025b\u025c\7v\2\2\u025c\u025d\7e\2\2"+
+ "\u025d\u025e\7j\2\2\u025e\u009a\3\2\2\2\u025f\u0260\7<\2\2\u0260\u009c"+
+ "\3\2\2\2\u0261\u0262\7f\2\2\u0262\u0263\7g\2\2\u0263\u0264\7h\2\2\u0264"+
+ "\u0265\7c\2\2\u0265\u0266\7w\2\2\u0266\u0267\7n\2\2\u0267\u0268\7v\2\2"+
+ "\u0268\u009e\3\2\2\2\u0269\u026a\7e\2\2\u026a\u026b\7c\2\2\u026b\u026c"+
+ "\7u\2\2\u026c\u026d\7g\2\2\u026d\u00a0\3\2\2\2\u026e\u026f\7h\2\2\u026f"+
+ "\u0270\7q\2\2\u0270\u0271\7t\2\2\u0271\u00a2\3\2\2\2\u0272\u0273\7y\2"+
+ "\2\u0273\u0274\7j\2\2\u0274\u0275\7k\2\2\u0275\u0276\7n\2\2\u0276\u0277"+
+ "\7g\2\2\u0277\u00a4\3\2\2\2\u0278\u0279\7f\2\2\u0279\u027a\7q\2\2\u027a"+
+ "\u00a6\3\2\2\2\u027b\u027c\7x\2\2\u027c\u027d\7c\2\2\u027d\u027e\7t\2"+
+ "\2\u027e\u00a8\3\2\2\2\u027f\u0280\7x\2\2\u0280\u0281\7c\2\2\u0281\u0282"+
+ "\7n\2\2\u0282\u00aa\3\2\2\2\u0283\u0284\7g\2\2\u0284\u0285\7z\2\2\u0285"+
+ "\u0286\7v\2\2\u0286\u0287\7g\2\2\u0287\u0288\7p\2\2\u0288\u0289\7f\2\2"+
+ "\u0289\u028a\7u\2\2\u028a\u00ac\3\2\2\2\u028b\u028c\7u\2\2\u028c\u028d"+
+ "\7w\2\2\u028d\u028e\7r\2\2\u028e\u028f\7g\2\2\u028f\u0290\7t\2\2\u0290"+
+ "\u00ae\3\2\2\2\u0291\u0292\7p\2\2\u0292\u0293\7g\2\2\u0293\u0294\7y\2"+
+ "\2\u0294\u00b0\3\2\2\2\u0295\u0296\7h\2\2\u0296\u0297\7c\2\2\u0297\u0298"+
+ "\7n\2\2\u0298\u0299\7u\2\2\u0299\u029a\7g\2\2\u029a\u00b2\3\2\2\2\u029b"+
+ "\u029c\7v\2\2\u029c\u029d\7t\2\2\u029d\u029e\7w\2\2\u029e\u029f\7g\2\2"+
+ "\u029f\u00b4\3\2\2\2\u02a0\u02a1\7p\2\2\u02a1\u02a2\7w\2\2\u02a2\u02a3"+
+ "\7n\2\2\u02a3\u02a4\7n\2\2\u02a4\u00b6\3\2\2\2\u02a5\u02a6\7v\2\2\u02a6"+
+ "\u02a7\7{\2\2\u02a7\u02a8\7r\2\2\u02a8\u02a9\7g\2\2\u02a9\u02aa\7q\2\2"+
+ "\u02aa\u02ab\7h\2\2\u02ab\u00b8\3\2\2\2\u02ac\u02ad\7v\2\2\u02ad\u02ae"+
+ "\7j\2\2\u02ae\u02af\7t\2\2\u02af\u02b0\7q\2\2\u02b0\u02b1\7y\2\2\u02b1"+
+ "\u00ba\3\2\2\2\u02b2\u02b3\7t\2\2\u02b3\u02b4\7g\2\2\u02b4\u02b5\7v\2"+
+ "\2\u02b5\u02b6\7w\2\2\u02b6\u02b7\7t\2\2\u02b7\u02b8\7p\2\2\u02b8\u00bc"+
+ "\3\2\2\2\u02b9\u02ba\7v\2\2\u02ba\u02bb\7t\2\2\u02bb\u02bc\7{\2\2\u02bc"+
+ "\u00be\3\2\2\2\u02bd\u02be\7h\2\2\u02be\u02bf\7k\2\2\u02bf\u02c0\7p\2"+
+ "\2\u02c0\u02c1\7c\2\2\u02c1\u02c2\7n\2\2\u02c2\u02c3\7n\2\2\u02c3\u02c4"+
+ "\7{\2\2\u02c4\u00c0\3\2\2\2\u02c5\u02c6\7u\2\2\u02c6\u02c7\7{\2\2\u02c7"+
+ "\u02c8\7p\2\2\u02c8\u02c9\7e\2\2\u02c9\u02ca\7j\2\2\u02ca\u02cb\7t\2\2"+
+ "\u02cb\u02cc\7q\2\2\u02cc\u02cd\7p\2\2\u02cd\u02ce\7k\2\2\u02ce\u02cf"+
+ "\7|\2\2\u02cf\u02d0\7g\2\2\u02d0\u02d1\7f\2\2\u02d1\u00c2\3\2\2\2\u02d2"+
+ "\u02d3\7e\2\2\u02d3\u02d4\7c\2\2\u02d4\u02d5\7v\2\2\u02d5\u02d6\7e\2\2"+
+ "\u02d6\u02d7\7j\2\2\u02d7\u00c4\3\2\2\2\u02d8\u02d9\7A\2\2\u02d9\u00c6"+
+ "\3\2\2\2\u02da\u02db\7(\2\2\u02db\u00c8\3\2\2\2\u02dc\u02dd\7\62\2\2\u02dd"+
+ "\u02e1\7z\2\2\u02de\u02df\7\62\2\2\u02df\u02e1\7Z\2\2\u02e0\u02dc\3\2"+
+ "\2\2\u02e0\u02de\3\2\2\2\u02e1\u02e3\3\2\2\2\u02e2\u02e4\t\2\2\2\u02e3"+
+ "\u02e2\3\2\2\2\u02e4\u02e5\3\2\2\2\u02e5\u02e3\3\2\2\2\u02e5\u02e6\3\2"+
+ "\2\2\u02e6\u02ed\3\2\2\2\u02e7\u02eb\7%\2\2\u02e8\u02e9\t\3\2\2\u02e9"+
+ "\u02ec\t\4\2\2\u02ea\u02ec\t\5\2\2\u02eb\u02e8\3\2\2\2\u02eb\u02ea\3\2"+
+ "\2\2\u02ec\u02ee\3\2\2\2\u02ed\u02e7\3\2\2\2\u02ed\u02ee\3\2\2\2\u02ee"+
+ "\u00ca\3\2\2\2\u02ef\u02f3\4\62;\2\u02f0\u02f2\t\6\2\2\u02f1\u02f0\3\2"+
+ "\2\2\u02f2\u02f5\3\2\2\2\u02f3\u02f1\3\2\2\2\u02f3\u02f4\3\2\2\2\u02f4"+
+ "\u00cc\3\2\2\2\u02f5\u02f3\3\2\2\2\u02f6\u02fc\5\u00cbf\2\u02f7\u02f9"+
+ "\t\7\2\2\u02f8\u02fa\t\b\2\2\u02f9\u02f8\3\2\2\2\u02f9\u02fa\3\2\2\2\u02fa"+
+ "\u02fb\3\2\2\2\u02fb\u02fd\5\u00cbf\2\u02fc\u02f7\3\2\2\2\u02fc\u02fd"+
+ "\3\2\2\2\u02fd\u0301\3\2\2\2\u02fe\u02ff\t\3\2\2\u02ff\u0302\t\t\2\2\u0300"+
+ "\u0302\t\n\2\2\u0301\u02fe\3\2\2\2\u0301\u0300\3\2\2\2\u0301\u0302\3\2"+
+ "\2\2\u0302\u00ce\3\2\2\2\u0303\u0305\7`\2\2\u0304\u0303\3\2\2\2\u0304"+
+ "\u0305\3\2\2\2\u0305\u0306\3\2\2\2\u0306\u030a\t\13\2\2\u0307\u0309\t"+
+ "\f\2\2\u0308\u0307\3\2\2\2\u0309\u030c\3\2\2\2\u030a\u0308\3\2\2\2\u030a"+
+ "\u030b\3\2\2\2\u030b\u00d0\3\2\2\2\u030c\u030a\3\2\2\2\u030d\u0313\7$"+
+ "\2\2\u030e\u030f\7^\2\2\u030f\u0312\13\2\2\2\u0310\u0312\n\r\2\2\u0311"+
+ "\u030e\3\2\2\2\u0311\u0310\3\2\2\2\u0312\u0315\3\2\2\2\u0313\u0311\3\2"+
+ "\2\2\u0313\u0314\3\2\2\2\u0314\u0317\3\2\2\2\u0315\u0313\3\2\2\2\u0316"+
+ "\u0318\7$\2\2\u0317\u0316\3\2\2\2\u0317\u0318\3\2\2\2\u0318\u0326\3\2"+
+ "\2\2\u0319\u031f\7)\2\2\u031a\u031b\7^\2\2\u031b\u031e\13\2\2\2\u031c"+
+ "\u031e\n\16\2\2\u031d\u031a\3\2\2\2\u031d\u031c\3\2\2\2\u031e\u0321\3"+
+ "\2\2\2\u031f\u031d\3\2\2\2\u031f\u0320\3\2\2\2\u0320\u0323\3\2\2\2\u0321"+
+ "\u031f\3\2\2\2\u0322\u0324\7)\2\2\u0323\u0322\3\2\2\2\u0323\u0324\3\2"+
+ "\2\2\u0324\u0326\3\2\2\2\u0325\u030d\3\2\2\2\u0325\u0319\3\2\2\2\u0326"+
+ "\u00d2\3\2\2\2\u0327\u0328\7\61\2\2\u0328\u032a\7,\2\2\u0329\u0327\3\2"+
+ "\2\2\u032a\u032d\3\2\2\2\u032b\u032c\3\2\2\2\u032b\u0329\3\2\2\2\u032c"+
+ "\u032e\3\2\2\2\u032d\u032b\3\2\2\2\u032e\u032f\7,\2\2\u032f\u0330\7\61"+
+ "\2\2\u0330\u0331\3\2\2\2\u0331\u0332\bj\2\2\u0332\u00d4\3\2\2\2\u0333"+
+ "\u0334\7\61\2\2\u0334\u0335\7\61\2\2\u0335\u0339\3\2\2\2\u0336\u0338\n"+
+ "\17\2\2\u0337\u0336\3\2\2\2\u0338\u033b\3\2\2\2\u0339\u0337\3\2\2\2\u0339"+
+ "\u033a\3\2\2\2\u033a\u0340\3\2\2\2\u033b\u0339\3\2\2\2\u033c\u033e\7\17"+
+ "\2\2\u033d\u033c\3\2\2\2\u033d\u033e\3\2\2\2\u033e\u033f\3\2\2\2\u033f"+
+ "\u0341\7\f\2\2\u0340\u033d\3\2\2\2\u0340\u0341\3\2\2\2\u0341\u0342\3\2"+
+ "\2\2\u0342\u0343\bk\2\2\u0343\u00d6\3\2\2\2\u0344\u0346\t\20\2\2\u0345"+
+ "\u0344\3\2\2\2\u0346\u0347\3\2\2\2\u0347\u0345\3\2\2\2\u0347\u0348\3\2"+
+ "\2\2\u0348\u0349\3\2\2\2\u0349\u034a\bl\2\2\u034a\u00d8\3\2\2\2\u034b"+
+ "\u034c\13\2\2\2\u034c\u00da\3\2\2\2\31\2\u02e0\u02e5\u02eb\u02ed\u02f3"+
+ "\u02f9\u02fc\u0301\u0304\u030a\u0311\u0313\u0317\u031d\u031f\u0323\u0325"+
+ "\u032b\u0339\u033d\u0340\u0347\3\2\3\2";
+ public static final ATN _ATN =
+ new ATNDeserializer().deserialize(_serializedATN.toCharArray());
+ static {
+ _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
+ for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
+ _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
+ }
+ }
+}
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffLexer.tokens b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffLexer.tokens
new file mode 100644
index 0000000..098f59a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffLexer.tokens
@@ -0,0 +1,207 @@
+T__0=1
+T__1=2
+T__2=3
+T__3=4
+T__4=5
+T__5=6
+T__6=7
+T__7=8
+T__8=9
+T__9=10
+T__10=11
+T__11=12
+T__12=13
+T__13=14
+T__14=15
+T__15=16
+T__16=17
+T__17=18
+T__18=19
+T__19=20
+T__20=21
+T__21=22
+T__22=23
+T__23=24
+T__24=25
+T__25=26
+T__26=27
+T__27=28
+T__28=29
+T__29=30
+T__30=31
+T__31=32
+T__32=33
+T__33=34
+T__34=35
+T__35=36
+T__36=37
+T__37=38
+T__38=39
+T__39=40
+T__40=41
+T__41=42
+T__42=43
+T__43=44
+T__44=45
+T__45=46
+T__46=47
+T__47=48
+T__48=49
+T__49=50
+T__50=51
+T__51=52
+T__52=53
+T__53=54
+T__54=55
+T__55=56
+T__56=57
+T__57=58
+T__58=59
+T__59=60
+T__60=61
+T__61=62
+T__62=63
+T__63=64
+T__64=65
+T__65=66
+T__66=67
+T__67=68
+T__68=69
+T__69=70
+T__70=71
+T__71=72
+T__72=73
+T__73=74
+T__74=75
+T__75=76
+T__76=77
+T__77=78
+T__78=79
+T__79=80
+T__80=81
+T__81=82
+T__82=83
+T__83=84
+T__84=85
+T__85=86
+T__86=87
+T__87=88
+T__88=89
+T__89=90
+T__90=91
+T__91=92
+T__92=93
+T__93=94
+T__94=95
+T__95=96
+T__96=97
+T__97=98
+T__98=99
+RULE_HEX=100
+RULE_INT=101
+RULE_DECIMAL=102
+RULE_ID=103
+RULE_STRING=104
+RULE_ML_COMMENT=105
+RULE_SL_COMMENT=106
+RULE_WS=107
+RULE_ANY_OTHER=108
+'package'=1
+'{'=2
+'}'=3
+'group'=4
+'blip-group'=5
+'statemachine'=6
+'validation'=7
+'dialog'=8
+'action'=9
+'converter'=10
+'model-datatype'=11
+'presentation-datatype'=12
+'to-model'=13
+'to-presentation'=14
+'rating'=15
+'function'=16
+'('=17
+','=18
+')'=19
+'returns'=20
+'test'=21
+'rate'=22
+'guard'=23
+'operation'=24
+'validate'=25
+'hook'=26
+'execute'=27
+'canExecute'=28
+'import'=29
+'static'=30
+'extension'=31
+'*'=32
+'ns'=33
+';'=34
+'@'=35
+'='=36
+'#'=37
+'['=38
+']'=39
+'+='=40
+'-='=41
+'*='=42
+'/='=43
+'%='=44
+'<'=45
+'>'=46
+'>='=47
+'||'=48
+'&&'=49
+'=='=50
+'!='=51
+'==='=52
+'!=='=53
+'instanceof'=54
+'->'=55
+'..<'=56
+'..'=57
+'=>'=58
+'<>'=59
+'?:'=60
+'+'=61
+'-'=62
+'**'=63
+'/'=64
+'%'=65
+'!'=66
+'as'=67
+'++'=68
+'--'=69
+'.'=70
+'::'=71
+'?.'=72
+'|'=73
+'if'=74
+'else'=75
+'switch'=76
+':'=77
+'default'=78
+'case'=79
+'for'=80
+'while'=81
+'do'=82
+'var'=83
+'val'=84
+'extends'=85
+'super'=86
+'new'=87
+'false'=88
+'true'=89
+'null'=90
+'typeof'=91
+'throw'=92
+'return'=93
+'try'=94
+'finally'=95
+'synchronized'=96
+'catch'=97
+'?'=98
+'&'=99
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffListener.java b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffListener.java
new file mode 100644
index 0000000..8e3c434
--- /dev/null
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffListener.java
@@ -0,0 +1,1060 @@
+// Generated from C:\git\org.eclipse.osbp.xtext.functionlibrary\org.eclipse.osbp.xtext.functionlibrarydsl\..\org.eclipse.osbp.xtext.functionlibrarydsl\src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4 by ANTLR 4.5.3
+package org.antlr.codebuff;
+import org.antlr.v4.runtime.tree.ParseTreeListener;
+
+/**
+ * This interface defines a complete listener for a parse tree produced by
+ * {@link CodebuffParser}.
+ */
+public interface CodebuffListener extends ParseTreeListener {
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryModel}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryModel(CodebuffParser.RuleFunctionLibraryModelContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryModel}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryModel(CodebuffParser.RuleFunctionLibraryModelContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryPackage}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryPackage(CodebuffParser.RuleFunctionLibraryPackageContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryPackage}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryPackage(CodebuffParser.RuleFunctionLibraryPackageContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryGroup}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryGroup(CodebuffParser.RuleFunctionLibraryGroupContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryGroup}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryGroup(CodebuffParser.RuleFunctionLibraryGroupContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryBlipGroup}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryBlipGroup(CodebuffParser.RuleFunctionLibraryBlipGroupContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryBlipGroup}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryBlipGroup(CodebuffParser.RuleFunctionLibraryBlipGroupContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryStatemachineGroup}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryStatemachineGroup(CodebuffParser.RuleFunctionLibraryStatemachineGroupContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryStatemachineGroup}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryStatemachineGroup(CodebuffParser.RuleFunctionLibraryStatemachineGroupContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryValidationGroup}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryValidationGroup(CodebuffParser.RuleFunctionLibraryValidationGroupContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryValidationGroup}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryValidationGroup(CodebuffParser.RuleFunctionLibraryValidationGroupContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryDialogGroup}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryDialogGroup(CodebuffParser.RuleFunctionLibraryDialogGroupContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryDialogGroup}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryDialogGroup(CodebuffParser.RuleFunctionLibraryDialogGroupContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryActionGroup}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryActionGroup(CodebuffParser.RuleFunctionLibraryActionGroupContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryActionGroup}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryActionGroup(CodebuffParser.RuleFunctionLibraryActionGroupContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryConverterGroup}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryConverterGroup(CodebuffParser.RuleFunctionLibraryConverterGroupContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryConverterGroup}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryConverterGroup(CodebuffParser.RuleFunctionLibraryConverterGroupContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionConvertToModel}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionConvertToModel(CodebuffParser.RuleFunctionConvertToModelContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionConvertToModel}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionConvertToModel(CodebuffParser.RuleFunctionConvertToModelContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionConvertToPresentation}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionConvertToPresentation(CodebuffParser.RuleFunctionConvertToPresentationContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionConvertToPresentation}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionConvertToPresentation(CodebuffParser.RuleFunctionConvertToPresentationContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryRating}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryRating(CodebuffParser.RuleFunctionLibraryRatingContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryRating}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryRating(CodebuffParser.RuleFunctionLibraryRatingContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryRatingItem}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryRatingItem(CodebuffParser.RuleFunctionLibraryRatingItemContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryRatingItem}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryRatingItem(CodebuffParser.RuleFunctionLibraryRatingItemContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryFunction}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryFunction(CodebuffParser.RuleFunctionLibraryFunctionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryFunction}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryFunction(CodebuffParser.RuleFunctionLibraryFunctionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryTest}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryTest(CodebuffParser.RuleFunctionLibraryTestContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryTest}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryTest(CodebuffParser.RuleFunctionLibraryTestContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryRate}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryRate(CodebuffParser.RuleFunctionLibraryRateContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryRate}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryRate(CodebuffParser.RuleFunctionLibraryRateContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryGuard}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryGuard(CodebuffParser.RuleFunctionLibraryGuardContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryGuard}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryGuard(CodebuffParser.RuleFunctionLibraryGuardContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryOperation}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryOperation(CodebuffParser.RuleFunctionLibraryOperationContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryOperation}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryOperation(CodebuffParser.RuleFunctionLibraryOperationContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryValidation}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryValidation(CodebuffParser.RuleFunctionLibraryValidationContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryValidation}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryValidation(CodebuffParser.RuleFunctionLibraryValidationContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryDialogHook}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryDialogHook(CodebuffParser.RuleFunctionLibraryDialogHookContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryDialogHook}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryDialogHook(CodebuffParser.RuleFunctionLibraryDialogHookContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryExecute}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryExecute(CodebuffParser.RuleFunctionLibraryExecuteContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryExecute}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryExecute(CodebuffParser.RuleFunctionLibraryExecuteContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryCanExecute}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryCanExecute(CodebuffParser.RuleFunctionLibraryCanExecuteContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryCanExecute}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryCanExecute(CodebuffParser.RuleFunctionLibraryCanExecuteContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryParameter}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFunctionLibraryParameter(CodebuffParser.RuleFunctionLibraryParameterContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFunctionLibraryParameter}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFunctionLibraryParameter(CodebuffParser.RuleFunctionLibraryParameterContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleTYPE_CROSS_REFERENCE}.
+ * @param ctx the parse tree
+ */
+ void enterRuleTYPE_CROSS_REFERENCE(CodebuffParser.RuleTYPE_CROSS_REFERENCEContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleTYPE_CROSS_REFERENCE}.
+ * @param ctx the parse tree
+ */
+ void exitRuleTYPE_CROSS_REFERENCE(CodebuffParser.RuleTYPE_CROSS_REFERENCEContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXImportDeclaration}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXImportDeclaration(CodebuffParser.RuleXImportDeclarationContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXImportDeclaration}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXImportDeclaration(CodebuffParser.RuleXImportDeclarationContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXAnnotation}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXAnnotation(CodebuffParser.RuleXAnnotationContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXAnnotation}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXAnnotation(CodebuffParser.RuleXAnnotationContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXAnnotationElementValuePair}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXAnnotationElementValuePair(CodebuffParser.RuleXAnnotationElementValuePairContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXAnnotationElementValuePair}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXAnnotationElementValuePair(CodebuffParser.RuleXAnnotationElementValuePairContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXAnnotationElementValueOrCommaList}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXAnnotationElementValueOrCommaList(CodebuffParser.RuleXAnnotationElementValueOrCommaListContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXAnnotationElementValueOrCommaList}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXAnnotationElementValueOrCommaList(CodebuffParser.RuleXAnnotationElementValueOrCommaListContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXAnnotationElementValue}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXAnnotationElementValue(CodebuffParser.RuleXAnnotationElementValueContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXAnnotationElementValue}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXAnnotationElementValue(CodebuffParser.RuleXAnnotationElementValueContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXAnnotationOrExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXAnnotationOrExpression(CodebuffParser.RuleXAnnotationOrExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXAnnotationOrExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXAnnotationOrExpression(CodebuffParser.RuleXAnnotationOrExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXExpression(CodebuffParser.RuleXExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXExpression(CodebuffParser.RuleXExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXAssignment}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXAssignment(CodebuffParser.RuleXAssignmentContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXAssignment}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXAssignment(CodebuffParser.RuleXAssignmentContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleOpSingleAssign}.
+ * @param ctx the parse tree
+ */
+ void enterRuleOpSingleAssign(CodebuffParser.RuleOpSingleAssignContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleOpSingleAssign}.
+ * @param ctx the parse tree
+ */
+ void exitRuleOpSingleAssign(CodebuffParser.RuleOpSingleAssignContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleOpMultiAssign}.
+ * @param ctx the parse tree
+ */
+ void enterRuleOpMultiAssign(CodebuffParser.RuleOpMultiAssignContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleOpMultiAssign}.
+ * @param ctx the parse tree
+ */
+ void exitRuleOpMultiAssign(CodebuffParser.RuleOpMultiAssignContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXOrExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXOrExpression(CodebuffParser.RuleXOrExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXOrExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXOrExpression(CodebuffParser.RuleXOrExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleOpOr}.
+ * @param ctx the parse tree
+ */
+ void enterRuleOpOr(CodebuffParser.RuleOpOrContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleOpOr}.
+ * @param ctx the parse tree
+ */
+ void exitRuleOpOr(CodebuffParser.RuleOpOrContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXAndExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXAndExpression(CodebuffParser.RuleXAndExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXAndExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXAndExpression(CodebuffParser.RuleXAndExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleOpAnd}.
+ * @param ctx the parse tree
+ */
+ void enterRuleOpAnd(CodebuffParser.RuleOpAndContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleOpAnd}.
+ * @param ctx the parse tree
+ */
+ void exitRuleOpAnd(CodebuffParser.RuleOpAndContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXEqualityExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXEqualityExpression(CodebuffParser.RuleXEqualityExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXEqualityExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXEqualityExpression(CodebuffParser.RuleXEqualityExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleOpEquality}.
+ * @param ctx the parse tree
+ */
+ void enterRuleOpEquality(CodebuffParser.RuleOpEqualityContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleOpEquality}.
+ * @param ctx the parse tree
+ */
+ void exitRuleOpEquality(CodebuffParser.RuleOpEqualityContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXRelationalExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXRelationalExpression(CodebuffParser.RuleXRelationalExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXRelationalExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXRelationalExpression(CodebuffParser.RuleXRelationalExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleOpCompare}.
+ * @param ctx the parse tree
+ */
+ void enterRuleOpCompare(CodebuffParser.RuleOpCompareContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleOpCompare}.
+ * @param ctx the parse tree
+ */
+ void exitRuleOpCompare(CodebuffParser.RuleOpCompareContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXOtherOperatorExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXOtherOperatorExpression(CodebuffParser.RuleXOtherOperatorExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXOtherOperatorExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXOtherOperatorExpression(CodebuffParser.RuleXOtherOperatorExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleOpOther}.
+ * @param ctx the parse tree
+ */
+ void enterRuleOpOther(CodebuffParser.RuleOpOtherContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleOpOther}.
+ * @param ctx the parse tree
+ */
+ void exitRuleOpOther(CodebuffParser.RuleOpOtherContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXAdditiveExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXAdditiveExpression(CodebuffParser.RuleXAdditiveExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXAdditiveExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXAdditiveExpression(CodebuffParser.RuleXAdditiveExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleOpAdd}.
+ * @param ctx the parse tree
+ */
+ void enterRuleOpAdd(CodebuffParser.RuleOpAddContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleOpAdd}.
+ * @param ctx the parse tree
+ */
+ void exitRuleOpAdd(CodebuffParser.RuleOpAddContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXMultiplicativeExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXMultiplicativeExpression(CodebuffParser.RuleXMultiplicativeExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXMultiplicativeExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXMultiplicativeExpression(CodebuffParser.RuleXMultiplicativeExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleOpMulti}.
+ * @param ctx the parse tree
+ */
+ void enterRuleOpMulti(CodebuffParser.RuleOpMultiContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleOpMulti}.
+ * @param ctx the parse tree
+ */
+ void exitRuleOpMulti(CodebuffParser.RuleOpMultiContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXUnaryOperation}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXUnaryOperation(CodebuffParser.RuleXUnaryOperationContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXUnaryOperation}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXUnaryOperation(CodebuffParser.RuleXUnaryOperationContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleOpUnary}.
+ * @param ctx the parse tree
+ */
+ void enterRuleOpUnary(CodebuffParser.RuleOpUnaryContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleOpUnary}.
+ * @param ctx the parse tree
+ */
+ void exitRuleOpUnary(CodebuffParser.RuleOpUnaryContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXCastedExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXCastedExpression(CodebuffParser.RuleXCastedExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXCastedExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXCastedExpression(CodebuffParser.RuleXCastedExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXPostfixOperation}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXPostfixOperation(CodebuffParser.RuleXPostfixOperationContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXPostfixOperation}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXPostfixOperation(CodebuffParser.RuleXPostfixOperationContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleOpPostfix}.
+ * @param ctx the parse tree
+ */
+ void enterRuleOpPostfix(CodebuffParser.RuleOpPostfixContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleOpPostfix}.
+ * @param ctx the parse tree
+ */
+ void exitRuleOpPostfix(CodebuffParser.RuleOpPostfixContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXMemberFeatureCall}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXMemberFeatureCall(CodebuffParser.RuleXMemberFeatureCallContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXMemberFeatureCall}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXMemberFeatureCall(CodebuffParser.RuleXMemberFeatureCallContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXPrimaryExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXPrimaryExpression(CodebuffParser.RuleXPrimaryExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXPrimaryExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXPrimaryExpression(CodebuffParser.RuleXPrimaryExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXLiteral}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXLiteral(CodebuffParser.RuleXLiteralContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXLiteral}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXLiteral(CodebuffParser.RuleXLiteralContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXCollectionLiteral}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXCollectionLiteral(CodebuffParser.RuleXCollectionLiteralContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXCollectionLiteral}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXCollectionLiteral(CodebuffParser.RuleXCollectionLiteralContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXSetLiteral}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXSetLiteral(CodebuffParser.RuleXSetLiteralContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXSetLiteral}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXSetLiteral(CodebuffParser.RuleXSetLiteralContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXListLiteral}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXListLiteral(CodebuffParser.RuleXListLiteralContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXListLiteral}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXListLiteral(CodebuffParser.RuleXListLiteralContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXClosure}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXClosure(CodebuffParser.RuleXClosureContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXClosure}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXClosure(CodebuffParser.RuleXClosureContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXExpressionInClosure}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXExpressionInClosure(CodebuffParser.RuleXExpressionInClosureContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXExpressionInClosure}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXExpressionInClosure(CodebuffParser.RuleXExpressionInClosureContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXShortClosure}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXShortClosure(CodebuffParser.RuleXShortClosureContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXShortClosure}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXShortClosure(CodebuffParser.RuleXShortClosureContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXParenthesizedExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXParenthesizedExpression(CodebuffParser.RuleXParenthesizedExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXParenthesizedExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXParenthesizedExpression(CodebuffParser.RuleXParenthesizedExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXIfExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXIfExpression(CodebuffParser.RuleXIfExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXIfExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXIfExpression(CodebuffParser.RuleXIfExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXSwitchExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXSwitchExpression(CodebuffParser.RuleXSwitchExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXSwitchExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXSwitchExpression(CodebuffParser.RuleXSwitchExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXCasePart}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXCasePart(CodebuffParser.RuleXCasePartContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXCasePart}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXCasePart(CodebuffParser.RuleXCasePartContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXForLoopExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXForLoopExpression(CodebuffParser.RuleXForLoopExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXForLoopExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXForLoopExpression(CodebuffParser.RuleXForLoopExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXBasicForLoopExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXBasicForLoopExpression(CodebuffParser.RuleXBasicForLoopExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXBasicForLoopExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXBasicForLoopExpression(CodebuffParser.RuleXBasicForLoopExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXWhileExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXWhileExpression(CodebuffParser.RuleXWhileExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXWhileExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXWhileExpression(CodebuffParser.RuleXWhileExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXDoWhileExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXDoWhileExpression(CodebuffParser.RuleXDoWhileExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXDoWhileExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXDoWhileExpression(CodebuffParser.RuleXDoWhileExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXBlockExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXBlockExpression(CodebuffParser.RuleXBlockExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXBlockExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXBlockExpression(CodebuffParser.RuleXBlockExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXExpressionOrVarDeclaration}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXExpressionOrVarDeclaration(CodebuffParser.RuleXExpressionOrVarDeclarationContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXExpressionOrVarDeclaration}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXExpressionOrVarDeclaration(CodebuffParser.RuleXExpressionOrVarDeclarationContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXVariableDeclaration}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXVariableDeclaration(CodebuffParser.RuleXVariableDeclarationContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXVariableDeclaration}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXVariableDeclaration(CodebuffParser.RuleXVariableDeclarationContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleJvmFormalParameter}.
+ * @param ctx the parse tree
+ */
+ void enterRuleJvmFormalParameter(CodebuffParser.RuleJvmFormalParameterContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleJvmFormalParameter}.
+ * @param ctx the parse tree
+ */
+ void exitRuleJvmFormalParameter(CodebuffParser.RuleJvmFormalParameterContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFullJvmFormalParameter}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFullJvmFormalParameter(CodebuffParser.RuleFullJvmFormalParameterContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFullJvmFormalParameter}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFullJvmFormalParameter(CodebuffParser.RuleFullJvmFormalParameterContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXFeatureCall}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXFeatureCall(CodebuffParser.RuleXFeatureCallContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXFeatureCall}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXFeatureCall(CodebuffParser.RuleXFeatureCallContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleFeatureCallID}.
+ * @param ctx the parse tree
+ */
+ void enterRuleFeatureCallID(CodebuffParser.RuleFeatureCallIDContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleFeatureCallID}.
+ * @param ctx the parse tree
+ */
+ void exitRuleFeatureCallID(CodebuffParser.RuleFeatureCallIDContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleIdOrSuper}.
+ * @param ctx the parse tree
+ */
+ void enterRuleIdOrSuper(CodebuffParser.RuleIdOrSuperContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleIdOrSuper}.
+ * @param ctx the parse tree
+ */
+ void exitRuleIdOrSuper(CodebuffParser.RuleIdOrSuperContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXConstructorCall}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXConstructorCall(CodebuffParser.RuleXConstructorCallContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXConstructorCall}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXConstructorCall(CodebuffParser.RuleXConstructorCallContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXBooleanLiteral}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXBooleanLiteral(CodebuffParser.RuleXBooleanLiteralContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXBooleanLiteral}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXBooleanLiteral(CodebuffParser.RuleXBooleanLiteralContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXNullLiteral}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXNullLiteral(CodebuffParser.RuleXNullLiteralContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXNullLiteral}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXNullLiteral(CodebuffParser.RuleXNullLiteralContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXNumberLiteral}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXNumberLiteral(CodebuffParser.RuleXNumberLiteralContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXNumberLiteral}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXNumberLiteral(CodebuffParser.RuleXNumberLiteralContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXStringLiteral}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXStringLiteral(CodebuffParser.RuleXStringLiteralContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXStringLiteral}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXStringLiteral(CodebuffParser.RuleXStringLiteralContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXTypeLiteral}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXTypeLiteral(CodebuffParser.RuleXTypeLiteralContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXTypeLiteral}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXTypeLiteral(CodebuffParser.RuleXTypeLiteralContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXThrowExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXThrowExpression(CodebuffParser.RuleXThrowExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXThrowExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXThrowExpression(CodebuffParser.RuleXThrowExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXReturnExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXReturnExpression(CodebuffParser.RuleXReturnExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXReturnExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXReturnExpression(CodebuffParser.RuleXReturnExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXTryCatchFinallyExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXTryCatchFinallyExpression(CodebuffParser.RuleXTryCatchFinallyExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXTryCatchFinallyExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXTryCatchFinallyExpression(CodebuffParser.RuleXTryCatchFinallyExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXSynchronizedExpression}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXSynchronizedExpression(CodebuffParser.RuleXSynchronizedExpressionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXSynchronizedExpression}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXSynchronizedExpression(CodebuffParser.RuleXSynchronizedExpressionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXCatchClause}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXCatchClause(CodebuffParser.RuleXCatchClauseContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXCatchClause}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXCatchClause(CodebuffParser.RuleXCatchClauseContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleQualifiedName}.
+ * @param ctx the parse tree
+ */
+ void enterRuleQualifiedName(CodebuffParser.RuleQualifiedNameContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleQualifiedName}.
+ * @param ctx the parse tree
+ */
+ void exitRuleQualifiedName(CodebuffParser.RuleQualifiedNameContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleNumber}.
+ * @param ctx the parse tree
+ */
+ void enterRuleNumber(CodebuffParser.RuleNumberContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleNumber}.
+ * @param ctx the parse tree
+ */
+ void exitRuleNumber(CodebuffParser.RuleNumberContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleJvmTypeReference}.
+ * @param ctx the parse tree
+ */
+ void enterRuleJvmTypeReference(CodebuffParser.RuleJvmTypeReferenceContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleJvmTypeReference}.
+ * @param ctx the parse tree
+ */
+ void exitRuleJvmTypeReference(CodebuffParser.RuleJvmTypeReferenceContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleArrayBrackets}.
+ * @param ctx the parse tree
+ */
+ void enterRuleArrayBrackets(CodebuffParser.RuleArrayBracketsContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleArrayBrackets}.
+ * @param ctx the parse tree
+ */
+ void exitRuleArrayBrackets(CodebuffParser.RuleArrayBracketsContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXFunctionTypeRef}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXFunctionTypeRef(CodebuffParser.RuleXFunctionTypeRefContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXFunctionTypeRef}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXFunctionTypeRef(CodebuffParser.RuleXFunctionTypeRefContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleJvmParameterizedTypeReference}.
+ * @param ctx the parse tree
+ */
+ void enterRuleJvmParameterizedTypeReference(CodebuffParser.RuleJvmParameterizedTypeReferenceContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleJvmParameterizedTypeReference}.
+ * @param ctx the parse tree
+ */
+ void exitRuleJvmParameterizedTypeReference(CodebuffParser.RuleJvmParameterizedTypeReferenceContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleJvmArgumentTypeReference}.
+ * @param ctx the parse tree
+ */
+ void enterRuleJvmArgumentTypeReference(CodebuffParser.RuleJvmArgumentTypeReferenceContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleJvmArgumentTypeReference}.
+ * @param ctx the parse tree
+ */
+ void exitRuleJvmArgumentTypeReference(CodebuffParser.RuleJvmArgumentTypeReferenceContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleJvmWildcardTypeReference}.
+ * @param ctx the parse tree
+ */
+ void enterRuleJvmWildcardTypeReference(CodebuffParser.RuleJvmWildcardTypeReferenceContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleJvmWildcardTypeReference}.
+ * @param ctx the parse tree
+ */
+ void exitRuleJvmWildcardTypeReference(CodebuffParser.RuleJvmWildcardTypeReferenceContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleJvmUpperBound}.
+ * @param ctx the parse tree
+ */
+ void enterRuleJvmUpperBound(CodebuffParser.RuleJvmUpperBoundContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleJvmUpperBound}.
+ * @param ctx the parse tree
+ */
+ void exitRuleJvmUpperBound(CodebuffParser.RuleJvmUpperBoundContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleJvmUpperBoundAnded}.
+ * @param ctx the parse tree
+ */
+ void enterRuleJvmUpperBoundAnded(CodebuffParser.RuleJvmUpperBoundAndedContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleJvmUpperBoundAnded}.
+ * @param ctx the parse tree
+ */
+ void exitRuleJvmUpperBoundAnded(CodebuffParser.RuleJvmUpperBoundAndedContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleJvmLowerBound}.
+ * @param ctx the parse tree
+ */
+ void enterRuleJvmLowerBound(CodebuffParser.RuleJvmLowerBoundContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleJvmLowerBound}.
+ * @param ctx the parse tree
+ */
+ void exitRuleJvmLowerBound(CodebuffParser.RuleJvmLowerBoundContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleJvmLowerBoundAnded}.
+ * @param ctx the parse tree
+ */
+ void enterRuleJvmLowerBoundAnded(CodebuffParser.RuleJvmLowerBoundAndedContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleJvmLowerBoundAnded}.
+ * @param ctx the parse tree
+ */
+ void exitRuleJvmLowerBoundAnded(CodebuffParser.RuleJvmLowerBoundAndedContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleQualifiedNameWithWildcard}.
+ * @param ctx the parse tree
+ */
+ void enterRuleQualifiedNameWithWildcard(CodebuffParser.RuleQualifiedNameWithWildcardContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleQualifiedNameWithWildcard}.
+ * @param ctx the parse tree
+ */
+ void exitRuleQualifiedNameWithWildcard(CodebuffParser.RuleQualifiedNameWithWildcardContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleValidID}.
+ * @param ctx the parse tree
+ */
+ void enterRuleValidID(CodebuffParser.RuleValidIDContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleValidID}.
+ * @param ctx the parse tree
+ */
+ void exitRuleValidID(CodebuffParser.RuleValidIDContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleXImportSection}.
+ * @param ctx the parse tree
+ */
+ void enterRuleXImportSection(CodebuffParser.RuleXImportSectionContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleXImportSection}.
+ * @param ctx the parse tree
+ */
+ void exitRuleXImportSection(CodebuffParser.RuleXImportSectionContext ctx);
+ /**
+ * Enter a parse tree produced by {@link CodebuffParser#ruleQualifiedNameInStaticImport}.
+ * @param ctx the parse tree
+ */
+ void enterRuleQualifiedNameInStaticImport(CodebuffParser.RuleQualifiedNameInStaticImportContext ctx);
+ /**
+ * Exit a parse tree produced by {@link CodebuffParser#ruleQualifiedNameInStaticImport}.
+ * @param ctx the parse tree
+ */
+ void exitRuleQualifiedNameInStaticImport(CodebuffParser.RuleQualifiedNameInStaticImportContext ctx);
+}
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffParser.java b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffParser.java
new file mode 100644
index 0000000..9a3b67b
--- /dev/null
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/antlr4gen/src-gen/CodebuffParser.java
@@ -0,0 +1,8369 @@
+// Generated from C:\git\org.eclipse.osbp.xtext.functionlibrary\org.eclipse.osbp.xtext.functionlibrarydsl\..\org.eclipse.osbp.xtext.functionlibrarydsl\src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4 by ANTLR 4.5.3
+package org.antlr.codebuff;
+import org.antlr.v4.runtime.atn.*;
+import org.antlr.v4.runtime.dfa.DFA;
+import org.antlr.v4.runtime.*;
+import org.antlr.v4.runtime.misc.*;
+import org.antlr.v4.runtime.tree.*;
+import java.util.List;
+import java.util.Iterator;
+import java.util.ArrayList;
+
+@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
+public class CodebuffParser extends Parser {
+ static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); }
+
+ protected static final DFA[] _decisionToDFA;
+ protected static final PredictionContextCache _sharedContextCache =
+ new PredictionContextCache();
+ public static final int
+ T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9,
+ T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17,
+ T__17=18, T__18=19, T__19=20, T__20=21, T__21=22, T__22=23, T__23=24,
+ T__24=25, T__25=26, T__26=27, T__27=28, T__28=29, T__29=30, T__30=31,
+ T__31=32, T__32=33, T__33=34, T__34=35, T__35=36, T__36=37, T__37=38,
+ T__38=39, T__39=40, T__40=41, T__41=42, T__42=43, T__43=44, T__44=45,
+ T__45=46, T__46=47, T__47=48, T__48=49, T__49=50, T__50=51, T__51=52,
+ T__52=53, T__53=54, T__54=55, T__55=56, T__56=57, T__57=58, T__58=59,
+ T__59=60, T__60=61, T__61=62, T__62=63, T__63=64, T__64=65, T__65=66,
+ T__66=67, T__67=68, T__68=69, T__69=70, T__70=71, T__71=72, T__72=73,
+ T__73=74, T__74=75, T__75=76, T__76=77, T__77=78, T__78=79, T__79=80,
+ T__80=81, T__81=82, T__82=83, T__83=84, T__84=85, T__85=86, T__86=87,
+ T__87=88, T__88=89, T__89=90, T__90=91, T__91=92, T__92=93, T__93=94,
+ T__94=95, T__95=96, T__96=97, T__97=98, T__98=99, RULE_HEX=100, RULE_INT=101,
+ RULE_DECIMAL=102, RULE_ID=103, RULE_STRING=104, RULE_ML_COMMENT=105, RULE_SL_COMMENT=106,
+ RULE_WS=107, RULE_ANY_OTHER=108;
+ public static final int
+ RULE_ruleFunctionLibraryModel = 0, RULE_ruleFunctionLibraryPackage = 1,
+ RULE_ruleFunctionLibraryGroup = 2, RULE_ruleFunctionLibraryBlipGroup = 3,
+ RULE_ruleFunctionLibraryStatemachineGroup = 4, RULE_ruleFunctionLibraryValidationGroup = 5,
+ RULE_ruleFunctionLibraryDialogGroup = 6, RULE_ruleFunctionLibraryActionGroup = 7,
+ RULE_ruleFunctionLibraryConverterGroup = 8, RULE_ruleFunctionConvertToModel = 9,
+ RULE_ruleFunctionConvertToPresentation = 10, RULE_ruleFunctionLibraryRating = 11,
+ RULE_ruleFunctionLibraryRatingItem = 12, RULE_ruleFunctionLibraryFunction = 13,
+ RULE_ruleFunctionLibraryTest = 14, RULE_ruleFunctionLibraryRate = 15,
+ RULE_ruleFunctionLibraryGuard = 16, RULE_ruleFunctionLibraryOperation = 17,
+ RULE_ruleFunctionLibraryValidation = 18, RULE_ruleFunctionLibraryDialogHook = 19,
+ RULE_ruleFunctionLibraryExecute = 20, RULE_ruleFunctionLibraryCanExecute = 21,
+ RULE_ruleFunctionLibraryParameter = 22, RULE_ruleTYPE_CROSS_REFERENCE = 23,
+ RULE_ruleXImportDeclaration = 24, RULE_ruleXAnnotation = 25, RULE_ruleXAnnotationElementValuePair = 26,
+ RULE_ruleXAnnotationElementValueOrCommaList = 27, RULE_ruleXAnnotationElementValue = 28,
+ RULE_ruleXAnnotationOrExpression = 29, RULE_ruleXExpression = 30, RULE_ruleXAssignment = 31,
+ RULE_ruleOpSingleAssign = 32, RULE_ruleOpMultiAssign = 33, RULE_ruleXOrExpression = 34,
+ RULE_ruleOpOr = 35, RULE_ruleXAndExpression = 36, RULE_ruleOpAnd = 37,
+ RULE_ruleXEqualityExpression = 38, RULE_ruleOpEquality = 39, RULE_ruleXRelationalExpression = 40,
+ RULE_ruleOpCompare = 41, RULE_ruleXOtherOperatorExpression = 42, RULE_ruleOpOther = 43,
+ RULE_ruleXAdditiveExpression = 44, RULE_ruleOpAdd = 45, RULE_ruleXMultiplicativeExpression = 46,
+ RULE_ruleOpMulti = 47, RULE_ruleXUnaryOperation = 48, RULE_ruleOpUnary = 49,
+ RULE_ruleXCastedExpression = 50, RULE_ruleXPostfixOperation = 51, RULE_ruleOpPostfix = 52,
+ RULE_ruleXMemberFeatureCall = 53, RULE_ruleXPrimaryExpression = 54, RULE_ruleXLiteral = 55,
+ RULE_ruleXCollectionLiteral = 56, RULE_ruleXSetLiteral = 57, RULE_ruleXListLiteral = 58,
+ RULE_ruleXClosure = 59, RULE_ruleXExpressionInClosure = 60, RULE_ruleXShortClosure = 61,
+ RULE_ruleXParenthesizedExpression = 62, RULE_ruleXIfExpression = 63, RULE_ruleXSwitchExpression = 64,
+ RULE_ruleXCasePart = 65, RULE_ruleXForLoopExpression = 66, RULE_ruleXBasicForLoopExpression = 67,
+ RULE_ruleXWhileExpression = 68, RULE_ruleXDoWhileExpression = 69, RULE_ruleXBlockExpression = 70,
+ RULE_ruleXExpressionOrVarDeclaration = 71, RULE_ruleXVariableDeclaration = 72,
+ RULE_ruleJvmFormalParameter = 73, RULE_ruleFullJvmFormalParameter = 74,
+ RULE_ruleXFeatureCall = 75, RULE_ruleFeatureCallID = 76, RULE_ruleIdOrSuper = 77,
+ RULE_ruleXConstructorCall = 78, RULE_ruleXBooleanLiteral = 79, RULE_ruleXNullLiteral = 80,
+ RULE_ruleXNumberLiteral = 81, RULE_ruleXStringLiteral = 82, RULE_ruleXTypeLiteral = 83,
+ RULE_ruleXThrowExpression = 84, RULE_ruleXReturnExpression = 85, RULE_ruleXTryCatchFinallyExpression = 86,
+ RULE_ruleXSynchronizedExpression = 87, RULE_ruleXCatchClause = 88, RULE_ruleQualifiedName = 89,
+ RULE_ruleNumber = 90, RULE_ruleJvmTypeReference = 91, RULE_ruleArrayBrackets = 92,
+ RULE_ruleXFunctionTypeRef = 93, RULE_ruleJvmParameterizedTypeReference = 94,
+ RULE_ruleJvmArgumentTypeReference = 95, RULE_ruleJvmWildcardTypeReference = 96,
+ RULE_ruleJvmUpperBound = 97, RULE_ruleJvmUpperBoundAnded = 98, RULE_ruleJvmLowerBound = 99,
+ RULE_ruleJvmLowerBoundAnded = 100, RULE_ruleQualifiedNameWithWildcard = 101,
+ RULE_ruleValidID = 102, RULE_ruleXImportSection = 103, RULE_ruleQualifiedNameInStaticImport = 104;
+ public static final String[] ruleNames = {
+ "ruleFunctionLibraryModel", "ruleFunctionLibraryPackage", "ruleFunctionLibraryGroup",
+ "ruleFunctionLibraryBlipGroup", "ruleFunctionLibraryStatemachineGroup",
+ "ruleFunctionLibraryValidationGroup", "ruleFunctionLibraryDialogGroup",
+ "ruleFunctionLibraryActionGroup", "ruleFunctionLibraryConverterGroup",
+ "ruleFunctionConvertToModel", "ruleFunctionConvertToPresentation", "ruleFunctionLibraryRating",
+ "ruleFunctionLibraryRatingItem", "ruleFunctionLibraryFunction", "ruleFunctionLibraryTest",
+ "ruleFunctionLibraryRate", "ruleFunctionLibraryGuard", "ruleFunctionLibraryOperation",
+ "ruleFunctionLibraryValidation", "ruleFunctionLibraryDialogHook", "ruleFunctionLibraryExecute",
+ "ruleFunctionLibraryCanExecute", "ruleFunctionLibraryParameter", "ruleTYPE_CROSS_REFERENCE",
+ "ruleXImportDeclaration", "ruleXAnnotation", "ruleXAnnotationElementValuePair",
+ "ruleXAnnotationElementValueOrCommaList", "ruleXAnnotationElementValue",
+ "ruleXAnnotationOrExpression", "ruleXExpression", "ruleXAssignment", "ruleOpSingleAssign",
+ "ruleOpMultiAssign", "ruleXOrExpression", "ruleOpOr", "ruleXAndExpression",
+ "ruleOpAnd", "ruleXEqualityExpression", "ruleOpEquality", "ruleXRelationalExpression",
+ "ruleOpCompare", "ruleXOtherOperatorExpression", "ruleOpOther", "ruleXAdditiveExpression",
+ "ruleOpAdd", "ruleXMultiplicativeExpression", "ruleOpMulti", "ruleXUnaryOperation",
+ "ruleOpUnary", "ruleXCastedExpression", "ruleXPostfixOperation", "ruleOpPostfix",
+ "ruleXMemberFeatureCall", "ruleXPrimaryExpression", "ruleXLiteral", "ruleXCollectionLiteral",
+ "ruleXSetLiteral", "ruleXListLiteral", "ruleXClosure", "ruleXExpressionInClosure",
+ "ruleXShortClosure", "ruleXParenthesizedExpression", "ruleXIfExpression",
+ "ruleXSwitchExpression", "ruleXCasePart", "ruleXForLoopExpression", "ruleXBasicForLoopExpression",
+ "ruleXWhileExpression", "ruleXDoWhileExpression", "ruleXBlockExpression",
+ "ruleXExpressionOrVarDeclaration", "ruleXVariableDeclaration", "ruleJvmFormalParameter",
+ "ruleFullJvmFormalParameter", "ruleXFeatureCall", "ruleFeatureCallID",
+ "ruleIdOrSuper", "ruleXConstructorCall", "ruleXBooleanLiteral", "ruleXNullLiteral",
+ "ruleXNumberLiteral", "ruleXStringLiteral", "ruleXTypeLiteral", "ruleXThrowExpression",
+ "ruleXReturnExpression", "ruleXTryCatchFinallyExpression", "ruleXSynchronizedExpression",
+ "ruleXCatchClause", "ruleQualifiedName", "ruleNumber", "ruleJvmTypeReference",
+ "ruleArrayBrackets", "ruleXFunctionTypeRef", "ruleJvmParameterizedTypeReference",
+ "ruleJvmArgumentTypeReference", "ruleJvmWildcardTypeReference", "ruleJvmUpperBound",
+ "ruleJvmUpperBoundAnded", "ruleJvmLowerBound", "ruleJvmLowerBoundAnded",
+ "ruleQualifiedNameWithWildcard", "ruleValidID", "ruleXImportSection",
+ "ruleQualifiedNameInStaticImport"
+ };
+
+ private static final String[] _LITERAL_NAMES = {
+ null, "'package'", "'{'", "'}'", "'group'", "'blip-group'", "'statemachine'",
+ "'validation'", "'dialog'", "'action'", "'converter'", "'model-datatype'",
+ "'presentation-datatype'", "'to-model'", "'to-presentation'", "'rating'",
+ "'function'", "'('", "','", "')'", "'returns'", "'test'", "'rate'", "'guard'",
+ "'operation'", "'validate'", "'hook'", "'execute'", "'canExecute'", "'import'",
+ "'static'", "'extension'", "'*'", "'ns'", "';'", "'@'", "'='", "'#'",
+ "'['", "']'", "'+='", "'-='", "'*='", "'/='", "'%='", "'<'", "'>'", "'>='",
+ "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'",
+ "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'**'", "'/'",
+ "'%'", "'!'", "'as'", "'++'", "'--'", "'.'", "'::'", "'?.'", "'|'", "'if'",
+ "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'",
+ "'do'", "'var'", "'val'", "'extends'", "'super'", "'new'", "'false'",
+ "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'",
+ "'synchronized'", "'catch'", "'?'", "'&'"
+ };
+ private static final String[] _SYMBOLIC_NAMES = {
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ID",
+ "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER"
+ };
+ public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
+
+ /**
+ * @deprecated Use {@link #VOCABULARY} instead.
+ */
+ @Deprecated
+ public static final String[] tokenNames;
+ static {
+ tokenNames = new String[_SYMBOLIC_NAMES.length];
+ for (int i = 0; i < tokenNames.length; i++) {
+ tokenNames[i] = VOCABULARY.getLiteralName(i);
+ if (tokenNames[i] == null) {
+ tokenNames[i] = VOCABULARY.getSymbolicName(i);
+ }
+
+ if (tokenNames[i] == null) {
+ tokenNames[i] = "<INVALID>";
+ }
+ }
+ }
+
+ @Override
+ @Deprecated
+ public String[] getTokenNames() {
+ return tokenNames;
+ }
+
+ @Override
+
+ public Vocabulary getVocabulary() {
+ return VOCABULARY;
+ }
+
+ @Override
+ public String getGrammarFileName() { return "Codebuff.g4"; }
+
+ @Override
+ public String[] getRuleNames() { return ruleNames; }
+
+ @Override
+ public String getSerializedATN() { return _serializedATN; }
+
+ @Override
+ public ATN getATN() { return _ATN; }
+
+ public CodebuffParser(TokenStream input) {
+ super(input);
+ _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
+ }
+ public static class RuleFunctionLibraryModelContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleFunctionLibraryPackageContext ruleFunctionLibraryPackage() {
+ return getRuleContext(RuleFunctionLibraryPackageContext.class,0);
+ }
+ public RuleXImportSectionContext ruleXImportSection() {
+ return getRuleContext(RuleXImportSectionContext.class,0);
+ }
+ public RuleFunctionLibraryModelContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryModel; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryModel(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryModel(this);
+ }
+ }
+
+ public final RuleFunctionLibraryModelContext ruleFunctionLibraryModel() throws RecognitionException {
+ RuleFunctionLibraryModelContext _localctx = new RuleFunctionLibraryModelContext(_ctx, getState());
+ enterRule(_localctx, 0, RULE_ruleFunctionLibraryModel);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(211);
+ _la = _input.LA(1);
+ if (_la==T__28) {
+ {
+ setState(210);
+ ruleXImportSection();
+ }
+ }
+
+ setState(213);
+ ruleFunctionLibraryPackage();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryPackageContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleQualifiedNameContext ruleQualifiedName() {
+ return getRuleContext(RuleQualifiedNameContext.class,0);
+ }
+ public List<RuleFunctionLibraryRatingContext> ruleFunctionLibraryRating() {
+ return getRuleContexts(RuleFunctionLibraryRatingContext.class);
+ }
+ public RuleFunctionLibraryRatingContext ruleFunctionLibraryRating(int i) {
+ return getRuleContext(RuleFunctionLibraryRatingContext.class,i);
+ }
+ public List<RuleFunctionLibraryGroupContext> ruleFunctionLibraryGroup() {
+ return getRuleContexts(RuleFunctionLibraryGroupContext.class);
+ }
+ public RuleFunctionLibraryGroupContext ruleFunctionLibraryGroup(int i) {
+ return getRuleContext(RuleFunctionLibraryGroupContext.class,i);
+ }
+ public List<RuleFunctionLibraryBlipGroupContext> ruleFunctionLibraryBlipGroup() {
+ return getRuleContexts(RuleFunctionLibraryBlipGroupContext.class);
+ }
+ public RuleFunctionLibraryBlipGroupContext ruleFunctionLibraryBlipGroup(int i) {
+ return getRuleContext(RuleFunctionLibraryBlipGroupContext.class,i);
+ }
+ public List<RuleFunctionLibraryConverterGroupContext> ruleFunctionLibraryConverterGroup() {
+ return getRuleContexts(RuleFunctionLibraryConverterGroupContext.class);
+ }
+ public RuleFunctionLibraryConverterGroupContext ruleFunctionLibraryConverterGroup(int i) {
+ return getRuleContext(RuleFunctionLibraryConverterGroupContext.class,i);
+ }
+ public List<RuleFunctionLibraryStatemachineGroupContext> ruleFunctionLibraryStatemachineGroup() {
+ return getRuleContexts(RuleFunctionLibraryStatemachineGroupContext.class);
+ }
+ public RuleFunctionLibraryStatemachineGroupContext ruleFunctionLibraryStatemachineGroup(int i) {
+ return getRuleContext(RuleFunctionLibraryStatemachineGroupContext.class,i);
+ }
+ public List<RuleFunctionLibraryActionGroupContext> ruleFunctionLibraryActionGroup() {
+ return getRuleContexts(RuleFunctionLibraryActionGroupContext.class);
+ }
+ public RuleFunctionLibraryActionGroupContext ruleFunctionLibraryActionGroup(int i) {
+ return getRuleContext(RuleFunctionLibraryActionGroupContext.class,i);
+ }
+ public List<RuleFunctionLibraryValidationGroupContext> ruleFunctionLibraryValidationGroup() {
+ return getRuleContexts(RuleFunctionLibraryValidationGroupContext.class);
+ }
+ public RuleFunctionLibraryValidationGroupContext ruleFunctionLibraryValidationGroup(int i) {
+ return getRuleContext(RuleFunctionLibraryValidationGroupContext.class,i);
+ }
+ public List<RuleFunctionLibraryDialogGroupContext> ruleFunctionLibraryDialogGroup() {
+ return getRuleContexts(RuleFunctionLibraryDialogGroupContext.class);
+ }
+ public RuleFunctionLibraryDialogGroupContext ruleFunctionLibraryDialogGroup(int i) {
+ return getRuleContext(RuleFunctionLibraryDialogGroupContext.class,i);
+ }
+ public RuleFunctionLibraryPackageContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryPackage; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryPackage(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryPackage(this);
+ }
+ }
+
+ public final RuleFunctionLibraryPackageContext ruleFunctionLibraryPackage() throws RecognitionException {
+ RuleFunctionLibraryPackageContext _localctx = new RuleFunctionLibraryPackageContext(_ctx, getState());
+ enterRule(_localctx, 2, RULE_ruleFunctionLibraryPackage);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(215);
+ match(T__0);
+ setState(216);
+ ruleQualifiedName();
+ setState(217);
+ match(T__1);
+ setState(230);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__3) | (1L << T__4) | (1L << T__5) | (1L << T__6) | (1L << T__7) | (1L << T__8) | (1L << T__9) | (1L << T__14))) != 0)) {
+ {
+ setState(228);
+ switch (_input.LA(1)) {
+ case T__3:
+ case T__4:
+ case T__5:
+ case T__6:
+ case T__7:
+ case T__8:
+ case T__9:
+ {
+ setState(225);
+ switch (_input.LA(1)) {
+ case T__3:
+ {
+ setState(218);
+ ruleFunctionLibraryGroup();
+ }
+ break;
+ case T__4:
+ {
+ setState(219);
+ ruleFunctionLibraryBlipGroup();
+ }
+ break;
+ case T__9:
+ {
+ setState(220);
+ ruleFunctionLibraryConverterGroup();
+ }
+ break;
+ case T__5:
+ {
+ setState(221);
+ ruleFunctionLibraryStatemachineGroup();
+ }
+ break;
+ case T__8:
+ {
+ setState(222);
+ ruleFunctionLibraryActionGroup();
+ }
+ break;
+ case T__6:
+ {
+ setState(223);
+ ruleFunctionLibraryValidationGroup();
+ }
+ break;
+ case T__7:
+ {
+ setState(224);
+ ruleFunctionLibraryDialogGroup();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ break;
+ case T__14:
+ {
+ setState(227);
+ ruleFunctionLibraryRating();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ setState(232);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(233);
+ match(T__2);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public List<RuleFunctionLibraryFunctionContext> ruleFunctionLibraryFunction() {
+ return getRuleContexts(RuleFunctionLibraryFunctionContext.class);
+ }
+ public RuleFunctionLibraryFunctionContext ruleFunctionLibraryFunction(int i) {
+ return getRuleContext(RuleFunctionLibraryFunctionContext.class,i);
+ }
+ public List<RuleFunctionLibraryTestContext> ruleFunctionLibraryTest() {
+ return getRuleContexts(RuleFunctionLibraryTestContext.class);
+ }
+ public RuleFunctionLibraryTestContext ruleFunctionLibraryTest(int i) {
+ return getRuleContext(RuleFunctionLibraryTestContext.class,i);
+ }
+ public List<RuleFunctionLibraryRateContext> ruleFunctionLibraryRate() {
+ return getRuleContexts(RuleFunctionLibraryRateContext.class);
+ }
+ public RuleFunctionLibraryRateContext ruleFunctionLibraryRate(int i) {
+ return getRuleContext(RuleFunctionLibraryRateContext.class,i);
+ }
+ public RuleFunctionLibraryGroupContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryGroup; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryGroup(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryGroup(this);
+ }
+ }
+
+ public final RuleFunctionLibraryGroupContext ruleFunctionLibraryGroup() throws RecognitionException {
+ RuleFunctionLibraryGroupContext _localctx = new RuleFunctionLibraryGroupContext(_ctx, getState());
+ enterRule(_localctx, 4, RULE_ruleFunctionLibraryGroup);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(235);
+ match(T__3);
+ setState(236);
+ ruleValidID();
+ setState(237);
+ match(T__1);
+ setState(243);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__15) | (1L << T__20) | (1L << T__21))) != 0)) {
+ {
+ setState(241);
+ switch (_input.LA(1)) {
+ case T__15:
+ {
+ setState(238);
+ ruleFunctionLibraryFunction();
+ }
+ break;
+ case T__20:
+ {
+ setState(239);
+ ruleFunctionLibraryTest();
+ }
+ break;
+ case T__21:
+ {
+ setState(240);
+ ruleFunctionLibraryRate();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ setState(245);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(246);
+ match(T__2);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryBlipGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public List<RuleFunctionLibraryFunctionContext> ruleFunctionLibraryFunction() {
+ return getRuleContexts(RuleFunctionLibraryFunctionContext.class);
+ }
+ public RuleFunctionLibraryFunctionContext ruleFunctionLibraryFunction(int i) {
+ return getRuleContext(RuleFunctionLibraryFunctionContext.class,i);
+ }
+ public List<RuleFunctionLibraryTestContext> ruleFunctionLibraryTest() {
+ return getRuleContexts(RuleFunctionLibraryTestContext.class);
+ }
+ public RuleFunctionLibraryTestContext ruleFunctionLibraryTest(int i) {
+ return getRuleContext(RuleFunctionLibraryTestContext.class,i);
+ }
+ public List<RuleFunctionLibraryRateContext> ruleFunctionLibraryRate() {
+ return getRuleContexts(RuleFunctionLibraryRateContext.class);
+ }
+ public RuleFunctionLibraryRateContext ruleFunctionLibraryRate(int i) {
+ return getRuleContext(RuleFunctionLibraryRateContext.class,i);
+ }
+ public RuleFunctionLibraryBlipGroupContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryBlipGroup; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryBlipGroup(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryBlipGroup(this);
+ }
+ }
+
+ public final RuleFunctionLibraryBlipGroupContext ruleFunctionLibraryBlipGroup() throws RecognitionException {
+ RuleFunctionLibraryBlipGroupContext _localctx = new RuleFunctionLibraryBlipGroupContext(_ctx, getState());
+ enterRule(_localctx, 6, RULE_ruleFunctionLibraryBlipGroup);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(248);
+ match(T__4);
+ setState(249);
+ ruleValidID();
+ setState(250);
+ match(T__1);
+ setState(256);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__15) | (1L << T__20) | (1L << T__21))) != 0)) {
+ {
+ setState(254);
+ switch (_input.LA(1)) {
+ case T__15:
+ {
+ setState(251);
+ ruleFunctionLibraryFunction();
+ }
+ break;
+ case T__20:
+ {
+ setState(252);
+ ruleFunctionLibraryTest();
+ }
+ break;
+ case T__21:
+ {
+ setState(253);
+ ruleFunctionLibraryRate();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ setState(258);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(259);
+ match(T__2);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryStatemachineGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public List<RuleFunctionLibraryOperationContext> ruleFunctionLibraryOperation() {
+ return getRuleContexts(RuleFunctionLibraryOperationContext.class);
+ }
+ public RuleFunctionLibraryOperationContext ruleFunctionLibraryOperation(int i) {
+ return getRuleContext(RuleFunctionLibraryOperationContext.class,i);
+ }
+ public List<RuleFunctionLibraryGuardContext> ruleFunctionLibraryGuard() {
+ return getRuleContexts(RuleFunctionLibraryGuardContext.class);
+ }
+ public RuleFunctionLibraryGuardContext ruleFunctionLibraryGuard(int i) {
+ return getRuleContext(RuleFunctionLibraryGuardContext.class,i);
+ }
+ public List<RuleFunctionLibraryFunctionContext> ruleFunctionLibraryFunction() {
+ return getRuleContexts(RuleFunctionLibraryFunctionContext.class);
+ }
+ public RuleFunctionLibraryFunctionContext ruleFunctionLibraryFunction(int i) {
+ return getRuleContext(RuleFunctionLibraryFunctionContext.class,i);
+ }
+ public RuleFunctionLibraryStatemachineGroupContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryStatemachineGroup; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryStatemachineGroup(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryStatemachineGroup(this);
+ }
+ }
+
+ public final RuleFunctionLibraryStatemachineGroupContext ruleFunctionLibraryStatemachineGroup() throws RecognitionException {
+ RuleFunctionLibraryStatemachineGroupContext _localctx = new RuleFunctionLibraryStatemachineGroupContext(_ctx, getState());
+ enterRule(_localctx, 8, RULE_ruleFunctionLibraryStatemachineGroup);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(261);
+ match(T__5);
+ setState(262);
+ ruleValidID();
+ setState(263);
+ match(T__1);
+ setState(269);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__15) | (1L << T__22) | (1L << T__23))) != 0)) {
+ {
+ setState(267);
+ switch (_input.LA(1)) {
+ case T__23:
+ {
+ setState(264);
+ ruleFunctionLibraryOperation();
+ }
+ break;
+ case T__22:
+ {
+ setState(265);
+ ruleFunctionLibraryGuard();
+ }
+ break;
+ case T__15:
+ {
+ setState(266);
+ ruleFunctionLibraryFunction();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ setState(271);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(272);
+ match(T__2);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryValidationGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public List<RuleFunctionLibraryValidationContext> ruleFunctionLibraryValidation() {
+ return getRuleContexts(RuleFunctionLibraryValidationContext.class);
+ }
+ public RuleFunctionLibraryValidationContext ruleFunctionLibraryValidation(int i) {
+ return getRuleContext(RuleFunctionLibraryValidationContext.class,i);
+ }
+ public List<RuleFunctionLibraryFunctionContext> ruleFunctionLibraryFunction() {
+ return getRuleContexts(RuleFunctionLibraryFunctionContext.class);
+ }
+ public RuleFunctionLibraryFunctionContext ruleFunctionLibraryFunction(int i) {
+ return getRuleContext(RuleFunctionLibraryFunctionContext.class,i);
+ }
+ public RuleFunctionLibraryValidationGroupContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryValidationGroup; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryValidationGroup(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryValidationGroup(this);
+ }
+ }
+
+ public final RuleFunctionLibraryValidationGroupContext ruleFunctionLibraryValidationGroup() throws RecognitionException {
+ RuleFunctionLibraryValidationGroupContext _localctx = new RuleFunctionLibraryValidationGroupContext(_ctx, getState());
+ enterRule(_localctx, 10, RULE_ruleFunctionLibraryValidationGroup);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(274);
+ match(T__6);
+ setState(275);
+ ruleValidID();
+ setState(276);
+ match(T__1);
+ setState(281);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__15 || _la==T__24) {
+ {
+ setState(279);
+ switch (_input.LA(1)) {
+ case T__24:
+ {
+ setState(277);
+ ruleFunctionLibraryValidation();
+ }
+ break;
+ case T__15:
+ {
+ setState(278);
+ ruleFunctionLibraryFunction();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ setState(283);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(284);
+ match(T__2);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryDialogGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public List<RuleFunctionLibraryDialogHookContext> ruleFunctionLibraryDialogHook() {
+ return getRuleContexts(RuleFunctionLibraryDialogHookContext.class);
+ }
+ public RuleFunctionLibraryDialogHookContext ruleFunctionLibraryDialogHook(int i) {
+ return getRuleContext(RuleFunctionLibraryDialogHookContext.class,i);
+ }
+ public List<RuleFunctionLibraryFunctionContext> ruleFunctionLibraryFunction() {
+ return getRuleContexts(RuleFunctionLibraryFunctionContext.class);
+ }
+ public RuleFunctionLibraryFunctionContext ruleFunctionLibraryFunction(int i) {
+ return getRuleContext(RuleFunctionLibraryFunctionContext.class,i);
+ }
+ public RuleFunctionLibraryDialogGroupContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryDialogGroup; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryDialogGroup(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryDialogGroup(this);
+ }
+ }
+
+ public final RuleFunctionLibraryDialogGroupContext ruleFunctionLibraryDialogGroup() throws RecognitionException {
+ RuleFunctionLibraryDialogGroupContext _localctx = new RuleFunctionLibraryDialogGroupContext(_ctx, getState());
+ enterRule(_localctx, 12, RULE_ruleFunctionLibraryDialogGroup);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(286);
+ match(T__7);
+ setState(287);
+ ruleValidID();
+ setState(288);
+ match(T__1);
+ setState(293);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__15 || _la==T__25) {
+ {
+ setState(291);
+ switch (_input.LA(1)) {
+ case T__25:
+ {
+ setState(289);
+ ruleFunctionLibraryDialogHook();
+ }
+ break;
+ case T__15:
+ {
+ setState(290);
+ ruleFunctionLibraryFunction();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ setState(295);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(296);
+ match(T__2);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryActionGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public List<RuleFunctionLibraryExecuteContext> ruleFunctionLibraryExecute() {
+ return getRuleContexts(RuleFunctionLibraryExecuteContext.class);
+ }
+ public RuleFunctionLibraryExecuteContext ruleFunctionLibraryExecute(int i) {
+ return getRuleContext(RuleFunctionLibraryExecuteContext.class,i);
+ }
+ public List<RuleFunctionLibraryCanExecuteContext> ruleFunctionLibraryCanExecute() {
+ return getRuleContexts(RuleFunctionLibraryCanExecuteContext.class);
+ }
+ public RuleFunctionLibraryCanExecuteContext ruleFunctionLibraryCanExecute(int i) {
+ return getRuleContext(RuleFunctionLibraryCanExecuteContext.class,i);
+ }
+ public RuleFunctionLibraryActionGroupContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryActionGroup; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryActionGroup(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryActionGroup(this);
+ }
+ }
+
+ public final RuleFunctionLibraryActionGroupContext ruleFunctionLibraryActionGroup() throws RecognitionException {
+ RuleFunctionLibraryActionGroupContext _localctx = new RuleFunctionLibraryActionGroupContext(_ctx, getState());
+ enterRule(_localctx, 14, RULE_ruleFunctionLibraryActionGroup);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(298);
+ match(T__8);
+ setState(299);
+ ruleValidID();
+ setState(300);
+ match(T__1);
+ setState(305);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__26 || _la==T__27) {
+ {
+ setState(303);
+ switch (_input.LA(1)) {
+ case T__26:
+ {
+ setState(301);
+ ruleFunctionLibraryExecute();
+ }
+ break;
+ case T__27:
+ {
+ setState(302);
+ ruleFunctionLibraryCanExecute();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ setState(307);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(308);
+ match(T__2);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryConverterGroupContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public List<RuleTYPE_CROSS_REFERENCEContext> ruleTYPE_CROSS_REFERENCE() {
+ return getRuleContexts(RuleTYPE_CROSS_REFERENCEContext.class);
+ }
+ public RuleTYPE_CROSS_REFERENCEContext ruleTYPE_CROSS_REFERENCE(int i) {
+ return getRuleContext(RuleTYPE_CROSS_REFERENCEContext.class,i);
+ }
+ public RuleFunctionConvertToModelContext ruleFunctionConvertToModel() {
+ return getRuleContext(RuleFunctionConvertToModelContext.class,0);
+ }
+ public RuleFunctionConvertToPresentationContext ruleFunctionConvertToPresentation() {
+ return getRuleContext(RuleFunctionConvertToPresentationContext.class,0);
+ }
+ public RuleFunctionLibraryConverterGroupContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryConverterGroup; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryConverterGroup(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryConverterGroup(this);
+ }
+ }
+
+ public final RuleFunctionLibraryConverterGroupContext ruleFunctionLibraryConverterGroup() throws RecognitionException {
+ RuleFunctionLibraryConverterGroupContext _localctx = new RuleFunctionLibraryConverterGroupContext(_ctx, getState());
+ enterRule(_localctx, 16, RULE_ruleFunctionLibraryConverterGroup);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(310);
+ match(T__9);
+ setState(311);
+ ruleValidID();
+ setState(312);
+ match(T__1);
+ setState(313);
+ match(T__10);
+ setState(314);
+ ruleTYPE_CROSS_REFERENCE();
+ setState(315);
+ match(T__11);
+ setState(316);
+ ruleTYPE_CROSS_REFERENCE();
+ setState(317);
+ ruleFunctionConvertToModel();
+ setState(318);
+ ruleFunctionConvertToPresentation();
+ setState(319);
+ match(T__2);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionConvertToModelContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXBlockExpressionContext ruleXBlockExpression() {
+ return getRuleContext(RuleXBlockExpressionContext.class,0);
+ }
+ public RuleFunctionConvertToModelContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionConvertToModel; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionConvertToModel(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionConvertToModel(this);
+ }
+ }
+
+ public final RuleFunctionConvertToModelContext ruleFunctionConvertToModel() throws RecognitionException {
+ RuleFunctionConvertToModelContext _localctx = new RuleFunctionConvertToModelContext(_ctx, getState());
+ enterRule(_localctx, 18, RULE_ruleFunctionConvertToModel);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(321);
+ match(T__12);
+ setState(322);
+ ruleXBlockExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionConvertToPresentationContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXBlockExpressionContext ruleXBlockExpression() {
+ return getRuleContext(RuleXBlockExpressionContext.class,0);
+ }
+ public RuleFunctionConvertToPresentationContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionConvertToPresentation; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionConvertToPresentation(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionConvertToPresentation(this);
+ }
+ }
+
+ public final RuleFunctionConvertToPresentationContext ruleFunctionConvertToPresentation() throws RecognitionException {
+ RuleFunctionConvertToPresentationContext _localctx = new RuleFunctionConvertToPresentationContext(_ctx, getState());
+ enterRule(_localctx, 20, RULE_ruleFunctionConvertToPresentation);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(324);
+ match(T__13);
+ setState(325);
+ ruleXBlockExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryRatingContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public List<RuleFunctionLibraryRatingItemContext> ruleFunctionLibraryRatingItem() {
+ return getRuleContexts(RuleFunctionLibraryRatingItemContext.class);
+ }
+ public RuleFunctionLibraryRatingItemContext ruleFunctionLibraryRatingItem(int i) {
+ return getRuleContext(RuleFunctionLibraryRatingItemContext.class,i);
+ }
+ public RuleFunctionLibraryRatingContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryRating; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryRating(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryRating(this);
+ }
+ }
+
+ public final RuleFunctionLibraryRatingContext ruleFunctionLibraryRating() throws RecognitionException {
+ RuleFunctionLibraryRatingContext _localctx = new RuleFunctionLibraryRatingContext(_ctx, getState());
+ enterRule(_localctx, 22, RULE_ruleFunctionLibraryRating);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(327);
+ match(T__14);
+ setState(328);
+ ruleValidID();
+ setState(329);
+ match(T__1);
+ setState(333);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==RULE_ID) {
+ {
+ {
+ setState(330);
+ ruleFunctionLibraryRatingItem();
+ }
+ }
+ setState(335);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(336);
+ match(T__2);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryRatingItemContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleFunctionLibraryRatingItemContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryRatingItem; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryRatingItem(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryRatingItem(this);
+ }
+ }
+
+ public final RuleFunctionLibraryRatingItemContext ruleFunctionLibraryRatingItem() throws RecognitionException {
+ RuleFunctionLibraryRatingItemContext _localctx = new RuleFunctionLibraryRatingItemContext(_ctx, getState());
+ enterRule(_localctx, 24, RULE_ruleFunctionLibraryRatingItem);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(338);
+ ruleValidID();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryFunctionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleJvmParameterizedTypeReferenceContext ruleJvmParameterizedTypeReference() {
+ return getRuleContext(RuleJvmParameterizedTypeReferenceContext.class,0);
+ }
+ public RuleXBlockExpressionContext ruleXBlockExpression() {
+ return getRuleContext(RuleXBlockExpressionContext.class,0);
+ }
+ public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() {
+ return getRuleContexts(RuleFunctionLibraryParameterContext.class);
+ }
+ public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) {
+ return getRuleContext(RuleFunctionLibraryParameterContext.class,i);
+ }
+ public RuleFunctionLibraryFunctionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryFunction; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryFunction(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryFunction(this);
+ }
+ }
+
+ public final RuleFunctionLibraryFunctionContext ruleFunctionLibraryFunction() throws RecognitionException {
+ RuleFunctionLibraryFunctionContext _localctx = new RuleFunctionLibraryFunctionContext(_ctx, getState());
+ enterRule(_localctx, 26, RULE_ruleFunctionLibraryFunction);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(340);
+ match(T__15);
+ setState(341);
+ ruleValidID();
+ setState(342);
+ match(T__16);
+ setState(351);
+ _la = _input.LA(1);
+ if (_la==T__16 || _la==T__57 || _la==RULE_ID) {
+ {
+ setState(343);
+ ruleFunctionLibraryParameter();
+ setState(348);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(344);
+ match(T__17);
+ setState(345);
+ ruleFunctionLibraryParameter();
+ }
+ }
+ setState(350);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(353);
+ match(T__18);
+ setState(354);
+ match(T__19);
+ setState(355);
+ ruleJvmParameterizedTypeReference();
+ setState(356);
+ ruleXBlockExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryTestContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleXBlockExpressionContext ruleXBlockExpression() {
+ return getRuleContext(RuleXBlockExpressionContext.class,0);
+ }
+ public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() {
+ return getRuleContexts(RuleFunctionLibraryParameterContext.class);
+ }
+ public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) {
+ return getRuleContext(RuleFunctionLibraryParameterContext.class,i);
+ }
+ public RuleFunctionLibraryTestContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryTest; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryTest(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryTest(this);
+ }
+ }
+
+ public final RuleFunctionLibraryTestContext ruleFunctionLibraryTest() throws RecognitionException {
+ RuleFunctionLibraryTestContext _localctx = new RuleFunctionLibraryTestContext(_ctx, getState());
+ enterRule(_localctx, 28, RULE_ruleFunctionLibraryTest);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(358);
+ match(T__20);
+ setState(359);
+ ruleValidID();
+ setState(360);
+ match(T__16);
+ setState(369);
+ _la = _input.LA(1);
+ if (_la==T__16 || _la==T__57 || _la==RULE_ID) {
+ {
+ setState(361);
+ ruleFunctionLibraryParameter();
+ setState(366);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(362);
+ match(T__17);
+ setState(363);
+ ruleFunctionLibraryParameter();
+ }
+ }
+ setState(368);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(371);
+ match(T__18);
+ setState(372);
+ ruleXBlockExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryRateContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public TerminalNode RULE_ID() { return getToken(CodebuffParser.RULE_ID, 0); }
+ public RuleXBlockExpressionContext ruleXBlockExpression() {
+ return getRuleContext(RuleXBlockExpressionContext.class,0);
+ }
+ public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() {
+ return getRuleContexts(RuleFunctionLibraryParameterContext.class);
+ }
+ public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) {
+ return getRuleContext(RuleFunctionLibraryParameterContext.class,i);
+ }
+ public RuleFunctionLibraryRateContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryRate; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryRate(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryRate(this);
+ }
+ }
+
+ public final RuleFunctionLibraryRateContext ruleFunctionLibraryRate() throws RecognitionException {
+ RuleFunctionLibraryRateContext _localctx = new RuleFunctionLibraryRateContext(_ctx, getState());
+ enterRule(_localctx, 30, RULE_ruleFunctionLibraryRate);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(374);
+ match(T__21);
+ setState(375);
+ ruleValidID();
+ setState(376);
+ match(T__16);
+ setState(385);
+ _la = _input.LA(1);
+ if (_la==T__16 || _la==T__57 || _la==RULE_ID) {
+ {
+ setState(377);
+ ruleFunctionLibraryParameter();
+ setState(382);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(378);
+ match(T__17);
+ setState(379);
+ ruleFunctionLibraryParameter();
+ }
+ }
+ setState(384);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(387);
+ match(T__18);
+ setState(388);
+ match(T__19);
+ setState(389);
+ match(RULE_ID);
+ setState(390);
+ ruleXBlockExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryGuardContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleXBlockExpressionContext ruleXBlockExpression() {
+ return getRuleContext(RuleXBlockExpressionContext.class,0);
+ }
+ public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() {
+ return getRuleContexts(RuleFunctionLibraryParameterContext.class);
+ }
+ public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) {
+ return getRuleContext(RuleFunctionLibraryParameterContext.class,i);
+ }
+ public RuleFunctionLibraryGuardContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryGuard; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryGuard(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryGuard(this);
+ }
+ }
+
+ public final RuleFunctionLibraryGuardContext ruleFunctionLibraryGuard() throws RecognitionException {
+ RuleFunctionLibraryGuardContext _localctx = new RuleFunctionLibraryGuardContext(_ctx, getState());
+ enterRule(_localctx, 32, RULE_ruleFunctionLibraryGuard);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(392);
+ match(T__22);
+ setState(393);
+ ruleValidID();
+ setState(394);
+ match(T__16);
+ setState(403);
+ _la = _input.LA(1);
+ if (_la==T__16 || _la==T__57 || _la==RULE_ID) {
+ {
+ setState(395);
+ ruleFunctionLibraryParameter();
+ setState(400);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(396);
+ match(T__17);
+ setState(397);
+ ruleFunctionLibraryParameter();
+ }
+ }
+ setState(402);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(405);
+ match(T__18);
+ setState(406);
+ ruleXBlockExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryOperationContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleXBlockExpressionContext ruleXBlockExpression() {
+ return getRuleContext(RuleXBlockExpressionContext.class,0);
+ }
+ public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() {
+ return getRuleContexts(RuleFunctionLibraryParameterContext.class);
+ }
+ public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) {
+ return getRuleContext(RuleFunctionLibraryParameterContext.class,i);
+ }
+ public RuleFunctionLibraryOperationContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryOperation; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryOperation(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryOperation(this);
+ }
+ }
+
+ public final RuleFunctionLibraryOperationContext ruleFunctionLibraryOperation() throws RecognitionException {
+ RuleFunctionLibraryOperationContext _localctx = new RuleFunctionLibraryOperationContext(_ctx, getState());
+ enterRule(_localctx, 34, RULE_ruleFunctionLibraryOperation);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(408);
+ match(T__23);
+ setState(409);
+ ruleValidID();
+ setState(410);
+ match(T__16);
+ setState(419);
+ _la = _input.LA(1);
+ if (_la==T__16 || _la==T__57 || _la==RULE_ID) {
+ {
+ setState(411);
+ ruleFunctionLibraryParameter();
+ setState(416);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(412);
+ match(T__17);
+ setState(413);
+ ruleFunctionLibraryParameter();
+ }
+ }
+ setState(418);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(421);
+ match(T__18);
+ setState(422);
+ ruleXBlockExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryValidationContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleXBlockExpressionContext ruleXBlockExpression() {
+ return getRuleContext(RuleXBlockExpressionContext.class,0);
+ }
+ public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() {
+ return getRuleContexts(RuleFunctionLibraryParameterContext.class);
+ }
+ public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) {
+ return getRuleContext(RuleFunctionLibraryParameterContext.class,i);
+ }
+ public RuleFunctionLibraryValidationContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryValidation; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryValidation(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryValidation(this);
+ }
+ }
+
+ public final RuleFunctionLibraryValidationContext ruleFunctionLibraryValidation() throws RecognitionException {
+ RuleFunctionLibraryValidationContext _localctx = new RuleFunctionLibraryValidationContext(_ctx, getState());
+ enterRule(_localctx, 36, RULE_ruleFunctionLibraryValidation);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(424);
+ match(T__24);
+ setState(425);
+ ruleValidID();
+ setState(426);
+ match(T__16);
+ setState(435);
+ _la = _input.LA(1);
+ if (_la==T__16 || _la==T__57 || _la==RULE_ID) {
+ {
+ setState(427);
+ ruleFunctionLibraryParameter();
+ setState(432);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(428);
+ match(T__17);
+ setState(429);
+ ruleFunctionLibraryParameter();
+ }
+ }
+ setState(434);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(437);
+ match(T__18);
+ setState(438);
+ ruleXBlockExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryDialogHookContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleXBlockExpressionContext ruleXBlockExpression() {
+ return getRuleContext(RuleXBlockExpressionContext.class,0);
+ }
+ public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() {
+ return getRuleContexts(RuleFunctionLibraryParameterContext.class);
+ }
+ public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) {
+ return getRuleContext(RuleFunctionLibraryParameterContext.class,i);
+ }
+ public RuleFunctionLibraryDialogHookContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryDialogHook; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryDialogHook(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryDialogHook(this);
+ }
+ }
+
+ public final RuleFunctionLibraryDialogHookContext ruleFunctionLibraryDialogHook() throws RecognitionException {
+ RuleFunctionLibraryDialogHookContext _localctx = new RuleFunctionLibraryDialogHookContext(_ctx, getState());
+ enterRule(_localctx, 38, RULE_ruleFunctionLibraryDialogHook);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(440);
+ match(T__25);
+ setState(441);
+ ruleValidID();
+ setState(442);
+ match(T__16);
+ setState(451);
+ _la = _input.LA(1);
+ if (_la==T__16 || _la==T__57 || _la==RULE_ID) {
+ {
+ setState(443);
+ ruleFunctionLibraryParameter();
+ setState(448);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(444);
+ match(T__17);
+ setState(445);
+ ruleFunctionLibraryParameter();
+ }
+ }
+ setState(450);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(453);
+ match(T__18);
+ setState(454);
+ ruleXBlockExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryExecuteContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleXBlockExpressionContext ruleXBlockExpression() {
+ return getRuleContext(RuleXBlockExpressionContext.class,0);
+ }
+ public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() {
+ return getRuleContexts(RuleFunctionLibraryParameterContext.class);
+ }
+ public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) {
+ return getRuleContext(RuleFunctionLibraryParameterContext.class,i);
+ }
+ public RuleFunctionLibraryExecuteContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryExecute; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryExecute(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryExecute(this);
+ }
+ }
+
+ public final RuleFunctionLibraryExecuteContext ruleFunctionLibraryExecute() throws RecognitionException {
+ RuleFunctionLibraryExecuteContext _localctx = new RuleFunctionLibraryExecuteContext(_ctx, getState());
+ enterRule(_localctx, 40, RULE_ruleFunctionLibraryExecute);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(456);
+ match(T__26);
+ setState(457);
+ ruleValidID();
+ setState(458);
+ match(T__16);
+ setState(467);
+ _la = _input.LA(1);
+ if (_la==T__16 || _la==T__57 || _la==RULE_ID) {
+ {
+ setState(459);
+ ruleFunctionLibraryParameter();
+ setState(464);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(460);
+ match(T__17);
+ setState(461);
+ ruleFunctionLibraryParameter();
+ }
+ }
+ setState(466);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(469);
+ match(T__18);
+ setState(470);
+ ruleXBlockExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryCanExecuteContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleXBlockExpressionContext ruleXBlockExpression() {
+ return getRuleContext(RuleXBlockExpressionContext.class,0);
+ }
+ public List<RuleFunctionLibraryParameterContext> ruleFunctionLibraryParameter() {
+ return getRuleContexts(RuleFunctionLibraryParameterContext.class);
+ }
+ public RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter(int i) {
+ return getRuleContext(RuleFunctionLibraryParameterContext.class,i);
+ }
+ public RuleFunctionLibraryCanExecuteContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryCanExecute; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryCanExecute(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryCanExecute(this);
+ }
+ }
+
+ public final RuleFunctionLibraryCanExecuteContext ruleFunctionLibraryCanExecute() throws RecognitionException {
+ RuleFunctionLibraryCanExecuteContext _localctx = new RuleFunctionLibraryCanExecuteContext(_ctx, getState());
+ enterRule(_localctx, 42, RULE_ruleFunctionLibraryCanExecute);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(472);
+ match(T__27);
+ setState(473);
+ ruleValidID();
+ setState(474);
+ match(T__16);
+ setState(483);
+ _la = _input.LA(1);
+ if (_la==T__16 || _la==T__57 || _la==RULE_ID) {
+ {
+ setState(475);
+ ruleFunctionLibraryParameter();
+ setState(480);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(476);
+ match(T__17);
+ setState(477);
+ ruleFunctionLibraryParameter();
+ }
+ }
+ setState(482);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(485);
+ match(T__18);
+ setState(486);
+ ruleXBlockExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFunctionLibraryParameterContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleJvmTypeReferenceContext ruleJvmTypeReference() {
+ return getRuleContext(RuleJvmTypeReferenceContext.class,0);
+ }
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleFunctionLibraryParameterContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFunctionLibraryParameter; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFunctionLibraryParameter(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFunctionLibraryParameter(this);
+ }
+ }
+
+ public final RuleFunctionLibraryParameterContext ruleFunctionLibraryParameter() throws RecognitionException {
+ RuleFunctionLibraryParameterContext _localctx = new RuleFunctionLibraryParameterContext(_ctx, getState());
+ enterRule(_localctx, 44, RULE_ruleFunctionLibraryParameter);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(488);
+ ruleJvmTypeReference();
+ setState(489);
+ ruleValidID();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleTYPE_CROSS_REFERENCEContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public TerminalNode RULE_ID() { return getToken(CodebuffParser.RULE_ID, 0); }
+ public RuleTYPE_CROSS_REFERENCEContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleTYPE_CROSS_REFERENCE; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleTYPE_CROSS_REFERENCE(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleTYPE_CROSS_REFERENCE(this);
+ }
+ }
+
+ public final RuleTYPE_CROSS_REFERENCEContext ruleTYPE_CROSS_REFERENCE() throws RecognitionException {
+ RuleTYPE_CROSS_REFERENCEContext _localctx = new RuleTYPE_CROSS_REFERENCEContext(_ctx, getState());
+ enterRule(_localctx, 46, RULE_ruleTYPE_CROSS_REFERENCE);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(491);
+ match(RULE_ID);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXImportDeclarationContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleQualifiedNameInStaticImportContext ruleQualifiedNameInStaticImport() {
+ return getRuleContext(RuleQualifiedNameInStaticImportContext.class,0);
+ }
+ public RuleQualifiedNameContext ruleQualifiedName() {
+ return getRuleContext(RuleQualifiedNameContext.class,0);
+ }
+ public RuleQualifiedNameWithWildcardContext ruleQualifiedNameWithWildcard() {
+ return getRuleContext(RuleQualifiedNameWithWildcardContext.class,0);
+ }
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleXImportDeclarationContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXImportDeclaration; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXImportDeclaration(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXImportDeclaration(this);
+ }
+ }
+
+ public final RuleXImportDeclarationContext ruleXImportDeclaration() throws RecognitionException {
+ RuleXImportDeclarationContext _localctx = new RuleXImportDeclarationContext(_ctx, getState());
+ enterRule(_localctx, 48, RULE_ruleXImportDeclaration);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(493);
+ match(T__28);
+ setState(507);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,37,_ctx) ) {
+ case 1:
+ {
+ setState(494);
+ match(T__29);
+ setState(496);
+ _la = _input.LA(1);
+ if (_la==T__30) {
+ {
+ setState(495);
+ match(T__30);
+ }
+ }
+
+ setState(498);
+ ruleQualifiedNameInStaticImport();
+ setState(501);
+ switch (_input.LA(1)) {
+ case T__31:
+ {
+ setState(499);
+ match(T__31);
+ }
+ break;
+ case RULE_ID:
+ {
+ setState(500);
+ ruleValidID();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ break;
+ case 2:
+ {
+ setState(503);
+ ruleQualifiedName();
+ }
+ break;
+ case 3:
+ {
+ setState(504);
+ ruleQualifiedNameWithWildcard();
+ }
+ break;
+ case 4:
+ {
+ setState(505);
+ match(T__32);
+ setState(506);
+ ruleQualifiedName();
+ }
+ break;
+ }
+ setState(510);
+ _la = _input.LA(1);
+ if (_la==T__33) {
+ {
+ setState(509);
+ match(T__33);
+ }
+ }
+
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXAnnotationContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleQualifiedNameContext ruleQualifiedName() {
+ return getRuleContext(RuleQualifiedNameContext.class,0);
+ }
+ public RuleXAnnotationElementValueOrCommaListContext ruleXAnnotationElementValueOrCommaList() {
+ return getRuleContext(RuleXAnnotationElementValueOrCommaListContext.class,0);
+ }
+ public List<RuleXAnnotationElementValuePairContext> ruleXAnnotationElementValuePair() {
+ return getRuleContexts(RuleXAnnotationElementValuePairContext.class);
+ }
+ public RuleXAnnotationElementValuePairContext ruleXAnnotationElementValuePair(int i) {
+ return getRuleContext(RuleXAnnotationElementValuePairContext.class,i);
+ }
+ public RuleXAnnotationContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXAnnotation; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAnnotation(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAnnotation(this);
+ }
+ }
+
+ public final RuleXAnnotationContext ruleXAnnotation() throws RecognitionException {
+ RuleXAnnotationContext _localctx = new RuleXAnnotationContext(_ctx, getState());
+ enterRule(_localctx, 50, RULE_ruleXAnnotation);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(512);
+ match(T__34);
+ setState(513);
+ ruleQualifiedName();
+ setState(527);
+ _la = _input.LA(1);
+ if (_la==T__16) {
+ {
+ {
+ setState(514);
+ match(T__16);
+ }
+ setState(524);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,40,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(515);
+ ruleXAnnotationElementValuePair();
+ }
+ setState(520);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(516);
+ match(T__17);
+ {
+ setState(517);
+ ruleXAnnotationElementValuePair();
+ }
+ }
+ }
+ setState(522);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ break;
+ case 2:
+ {
+ setState(523);
+ ruleXAnnotationElementValueOrCommaList();
+ }
+ break;
+ }
+ setState(526);
+ match(T__18);
+ }
+ }
+
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXAnnotationElementValuePairContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXAnnotationElementValueContext ruleXAnnotationElementValue() {
+ return getRuleContext(RuleXAnnotationElementValueContext.class,0);
+ }
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleXAnnotationElementValuePairContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXAnnotationElementValuePair; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAnnotationElementValuePair(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAnnotationElementValuePair(this);
+ }
+ }
+
+ public final RuleXAnnotationElementValuePairContext ruleXAnnotationElementValuePair() throws RecognitionException {
+ RuleXAnnotationElementValuePairContext _localctx = new RuleXAnnotationElementValuePairContext(_ctx, getState());
+ enterRule(_localctx, 52, RULE_ruleXAnnotationElementValuePair);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ {
+ setState(529);
+ ruleValidID();
+ setState(530);
+ match(T__35);
+ }
+ setState(532);
+ ruleXAnnotationElementValue();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXAnnotationElementValueOrCommaListContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXAnnotationOrExpressionContext> ruleXAnnotationOrExpression() {
+ return getRuleContexts(RuleXAnnotationOrExpressionContext.class);
+ }
+ public RuleXAnnotationOrExpressionContext ruleXAnnotationOrExpression(int i) {
+ return getRuleContext(RuleXAnnotationOrExpressionContext.class,i);
+ }
+ public RuleXAnnotationElementValueOrCommaListContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXAnnotationElementValueOrCommaList; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAnnotationElementValueOrCommaList(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAnnotationElementValueOrCommaList(this);
+ }
+ }
+
+ public final RuleXAnnotationElementValueOrCommaListContext ruleXAnnotationElementValueOrCommaList() throws RecognitionException {
+ RuleXAnnotationElementValueOrCommaListContext _localctx = new RuleXAnnotationElementValueOrCommaListContext(_ctx, getState());
+ enterRule(_localctx, 54, RULE_ruleXAnnotationElementValueOrCommaList);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(557);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,46,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(534);
+ match(T__36);
+ setState(535);
+ match(T__37);
+ }
+ setState(545);
+ _la = _input.LA(1);
+ if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__34) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) {
+ {
+ setState(537);
+ ruleXAnnotationOrExpression();
+ setState(542);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(538);
+ match(T__17);
+ setState(539);
+ ruleXAnnotationOrExpression();
+ }
+ }
+ setState(544);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(547);
+ match(T__38);
+ }
+ break;
+ case 2:
+ {
+ setState(548);
+ ruleXAnnotationOrExpression();
+ setState(555);
+ _la = _input.LA(1);
+ if (_la==T__17) {
+ {
+ setState(551);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ do {
+ {
+ {
+ setState(549);
+ match(T__17);
+ setState(550);
+ ruleXAnnotationOrExpression();
+ }
+ }
+ setState(553);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ } while ( _la==T__17 );
+ }
+ }
+
+ }
+ break;
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXAnnotationElementValueContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXAnnotationOrExpressionContext> ruleXAnnotationOrExpression() {
+ return getRuleContexts(RuleXAnnotationOrExpressionContext.class);
+ }
+ public RuleXAnnotationOrExpressionContext ruleXAnnotationOrExpression(int i) {
+ return getRuleContext(RuleXAnnotationOrExpressionContext.class,i);
+ }
+ public RuleXAnnotationElementValueContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXAnnotationElementValue; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAnnotationElementValue(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAnnotationElementValue(this);
+ }
+ }
+
+ public final RuleXAnnotationElementValueContext ruleXAnnotationElementValue() throws RecognitionException {
+ RuleXAnnotationElementValueContext _localctx = new RuleXAnnotationElementValueContext(_ctx, getState());
+ enterRule(_localctx, 56, RULE_ruleXAnnotationElementValue);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(574);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,49,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(559);
+ match(T__36);
+ setState(560);
+ match(T__37);
+ }
+ setState(570);
+ _la = _input.LA(1);
+ if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__34) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) {
+ {
+ setState(562);
+ ruleXAnnotationOrExpression();
+ setState(567);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(563);
+ match(T__17);
+ setState(564);
+ ruleXAnnotationOrExpression();
+ }
+ }
+ setState(569);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(572);
+ match(T__38);
+ }
+ break;
+ case 2:
+ {
+ setState(573);
+ ruleXAnnotationOrExpression();
+ }
+ break;
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXAnnotationOrExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXAnnotationContext ruleXAnnotation() {
+ return getRuleContext(RuleXAnnotationContext.class,0);
+ }
+ public RuleXExpressionContext ruleXExpression() {
+ return getRuleContext(RuleXExpressionContext.class,0);
+ }
+ public RuleXAnnotationOrExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXAnnotationOrExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAnnotationOrExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAnnotationOrExpression(this);
+ }
+ }
+
+ public final RuleXAnnotationOrExpressionContext ruleXAnnotationOrExpression() throws RecognitionException {
+ RuleXAnnotationOrExpressionContext _localctx = new RuleXAnnotationOrExpressionContext(_ctx, getState());
+ enterRule(_localctx, 58, RULE_ruleXAnnotationOrExpression);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(578);
+ switch (_input.LA(1)) {
+ case T__34:
+ {
+ setState(576);
+ ruleXAnnotation();
+ }
+ break;
+ case T__1:
+ case T__16:
+ case T__28:
+ case T__29:
+ case T__30:
+ case T__36:
+ case T__37:
+ case T__44:
+ case T__60:
+ case T__61:
+ case T__65:
+ case T__73:
+ case T__75:
+ case T__79:
+ case T__80:
+ case T__81:
+ case T__84:
+ case T__85:
+ case T__86:
+ case T__87:
+ case T__88:
+ case T__89:
+ case T__90:
+ case T__91:
+ case T__92:
+ case T__93:
+ case T__95:
+ case RULE_HEX:
+ case RULE_INT:
+ case RULE_DECIMAL:
+ case RULE_ID:
+ case RULE_STRING:
+ {
+ setState(577);
+ ruleXExpression();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXAssignmentContext ruleXAssignment() {
+ return getRuleContext(RuleXAssignmentContext.class,0);
+ }
+ public RuleXExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXExpression(this);
+ }
+ }
+
+ public final RuleXExpressionContext ruleXExpression() throws RecognitionException {
+ RuleXExpressionContext _localctx = new RuleXExpressionContext(_ctx, getState());
+ enterRule(_localctx, 60, RULE_ruleXExpression);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(580);
+ ruleXAssignment();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXAssignmentContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleFeatureCallIDContext ruleFeatureCallID() {
+ return getRuleContext(RuleFeatureCallIDContext.class,0);
+ }
+ public RuleOpSingleAssignContext ruleOpSingleAssign() {
+ return getRuleContext(RuleOpSingleAssignContext.class,0);
+ }
+ public RuleXAssignmentContext ruleXAssignment() {
+ return getRuleContext(RuleXAssignmentContext.class,0);
+ }
+ public RuleXOrExpressionContext ruleXOrExpression() {
+ return getRuleContext(RuleXOrExpressionContext.class,0);
+ }
+ public RuleOpMultiAssignContext ruleOpMultiAssign() {
+ return getRuleContext(RuleOpMultiAssignContext.class,0);
+ }
+ public RuleXAssignmentContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXAssignment; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAssignment(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAssignment(this);
+ }
+ }
+
+ public final RuleXAssignmentContext ruleXAssignment() throws RecognitionException {
+ RuleXAssignmentContext _localctx = new RuleXAssignmentContext(_ctx, getState());
+ enterRule(_localctx, 62, RULE_ruleXAssignment);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(592);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,52,_ctx) ) {
+ case 1:
+ {
+ setState(582);
+ ruleFeatureCallID();
+ setState(583);
+ ruleOpSingleAssign();
+ setState(584);
+ ruleXAssignment();
+ }
+ break;
+ case 2:
+ {
+ setState(586);
+ ruleXOrExpression();
+ setState(590);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,51,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(587);
+ ruleOpMultiAssign();
+ }
+ setState(588);
+ ruleXAssignment();
+ }
+ break;
+ }
+ }
+ break;
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleOpSingleAssignContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleOpSingleAssignContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleOpSingleAssign; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpSingleAssign(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpSingleAssign(this);
+ }
+ }
+
+ public final RuleOpSingleAssignContext ruleOpSingleAssign() throws RecognitionException {
+ RuleOpSingleAssignContext _localctx = new RuleOpSingleAssignContext(_ctx, getState());
+ enterRule(_localctx, 64, RULE_ruleOpSingleAssign);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(594);
+ match(T__35);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleOpMultiAssignContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleOpMultiAssignContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleOpMultiAssign; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpMultiAssign(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpMultiAssign(this);
+ }
+ }
+
+ public final RuleOpMultiAssignContext ruleOpMultiAssign() throws RecognitionException {
+ RuleOpMultiAssignContext _localctx = new RuleOpMultiAssignContext(_ctx, getState());
+ enterRule(_localctx, 66, RULE_ruleOpMultiAssign);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(609);
+ switch (_input.LA(1)) {
+ case T__39:
+ {
+ setState(596);
+ match(T__39);
+ }
+ break;
+ case T__40:
+ {
+ setState(597);
+ match(T__40);
+ }
+ break;
+ case T__41:
+ {
+ setState(598);
+ match(T__41);
+ }
+ break;
+ case T__42:
+ {
+ setState(599);
+ match(T__42);
+ }
+ break;
+ case T__43:
+ {
+ setState(600);
+ match(T__43);
+ }
+ break;
+ case T__44:
+ {
+ setState(601);
+ match(T__44);
+ setState(602);
+ match(T__44);
+ setState(603);
+ match(T__35);
+ }
+ break;
+ case T__45:
+ {
+ setState(604);
+ match(T__45);
+ setState(606);
+ _la = _input.LA(1);
+ if (_la==T__45) {
+ {
+ setState(605);
+ match(T__45);
+ }
+ }
+
+ setState(608);
+ match(T__46);
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXOrExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXAndExpressionContext> ruleXAndExpression() {
+ return getRuleContexts(RuleXAndExpressionContext.class);
+ }
+ public RuleXAndExpressionContext ruleXAndExpression(int i) {
+ return getRuleContext(RuleXAndExpressionContext.class,i);
+ }
+ public List<RuleOpOrContext> ruleOpOr() {
+ return getRuleContexts(RuleOpOrContext.class);
+ }
+ public RuleOpOrContext ruleOpOr(int i) {
+ return getRuleContext(RuleOpOrContext.class,i);
+ }
+ public RuleXOrExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXOrExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXOrExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXOrExpression(this);
+ }
+ }
+
+ public final RuleXOrExpressionContext ruleXOrExpression() throws RecognitionException {
+ RuleXOrExpressionContext _localctx = new RuleXOrExpressionContext(_ctx, getState());
+ enterRule(_localctx, 68, RULE_ruleXOrExpression);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(611);
+ ruleXAndExpression();
+ setState(617);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,55,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ {
+ {
+ {
+ setState(612);
+ ruleOpOr();
+ }
+ setState(613);
+ ruleXAndExpression();
+ }
+ }
+ }
+ setState(619);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,55,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleOpOrContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleOpOrContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleOpOr; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpOr(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpOr(this);
+ }
+ }
+
+ public final RuleOpOrContext ruleOpOr() throws RecognitionException {
+ RuleOpOrContext _localctx = new RuleOpOrContext(_ctx, getState());
+ enterRule(_localctx, 70, RULE_ruleOpOr);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(620);
+ match(T__47);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXAndExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXEqualityExpressionContext> ruleXEqualityExpression() {
+ return getRuleContexts(RuleXEqualityExpressionContext.class);
+ }
+ public RuleXEqualityExpressionContext ruleXEqualityExpression(int i) {
+ return getRuleContext(RuleXEqualityExpressionContext.class,i);
+ }
+ public List<RuleOpAndContext> ruleOpAnd() {
+ return getRuleContexts(RuleOpAndContext.class);
+ }
+ public RuleOpAndContext ruleOpAnd(int i) {
+ return getRuleContext(RuleOpAndContext.class,i);
+ }
+ public RuleXAndExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXAndExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAndExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAndExpression(this);
+ }
+ }
+
+ public final RuleXAndExpressionContext ruleXAndExpression() throws RecognitionException {
+ RuleXAndExpressionContext _localctx = new RuleXAndExpressionContext(_ctx, getState());
+ enterRule(_localctx, 72, RULE_ruleXAndExpression);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(622);
+ ruleXEqualityExpression();
+ setState(628);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,56,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ {
+ {
+ {
+ setState(623);
+ ruleOpAnd();
+ }
+ setState(624);
+ ruleXEqualityExpression();
+ }
+ }
+ }
+ setState(630);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,56,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleOpAndContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleOpAndContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleOpAnd; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpAnd(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpAnd(this);
+ }
+ }
+
+ public final RuleOpAndContext ruleOpAnd() throws RecognitionException {
+ RuleOpAndContext _localctx = new RuleOpAndContext(_ctx, getState());
+ enterRule(_localctx, 74, RULE_ruleOpAnd);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(631);
+ match(T__48);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXEqualityExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXRelationalExpressionContext> ruleXRelationalExpression() {
+ return getRuleContexts(RuleXRelationalExpressionContext.class);
+ }
+ public RuleXRelationalExpressionContext ruleXRelationalExpression(int i) {
+ return getRuleContext(RuleXRelationalExpressionContext.class,i);
+ }
+ public List<RuleOpEqualityContext> ruleOpEquality() {
+ return getRuleContexts(RuleOpEqualityContext.class);
+ }
+ public RuleOpEqualityContext ruleOpEquality(int i) {
+ return getRuleContext(RuleOpEqualityContext.class,i);
+ }
+ public RuleXEqualityExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXEqualityExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXEqualityExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXEqualityExpression(this);
+ }
+ }
+
+ public final RuleXEqualityExpressionContext ruleXEqualityExpression() throws RecognitionException {
+ RuleXEqualityExpressionContext _localctx = new RuleXEqualityExpressionContext(_ctx, getState());
+ enterRule(_localctx, 76, RULE_ruleXEqualityExpression);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(633);
+ ruleXRelationalExpression();
+ setState(639);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,57,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ {
+ {
+ {
+ setState(634);
+ ruleOpEquality();
+ }
+ setState(635);
+ ruleXRelationalExpression();
+ }
+ }
+ }
+ setState(641);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,57,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleOpEqualityContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleOpEqualityContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleOpEquality; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpEquality(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpEquality(this);
+ }
+ }
+
+ public final RuleOpEqualityContext ruleOpEquality() throws RecognitionException {
+ RuleOpEqualityContext _localctx = new RuleOpEqualityContext(_ctx, getState());
+ enterRule(_localctx, 78, RULE_ruleOpEquality);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(642);
+ _la = _input.LA(1);
+ if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__49) | (1L << T__50) | (1L << T__51) | (1L << T__52))) != 0)) ) {
+ _errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXRelationalExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXOtherOperatorExpressionContext> ruleXOtherOperatorExpression() {
+ return getRuleContexts(RuleXOtherOperatorExpressionContext.class);
+ }
+ public RuleXOtherOperatorExpressionContext ruleXOtherOperatorExpression(int i) {
+ return getRuleContext(RuleXOtherOperatorExpressionContext.class,i);
+ }
+ public List<RuleJvmTypeReferenceContext> ruleJvmTypeReference() {
+ return getRuleContexts(RuleJvmTypeReferenceContext.class);
+ }
+ public RuleJvmTypeReferenceContext ruleJvmTypeReference(int i) {
+ return getRuleContext(RuleJvmTypeReferenceContext.class,i);
+ }
+ public List<RuleOpCompareContext> ruleOpCompare() {
+ return getRuleContexts(RuleOpCompareContext.class);
+ }
+ public RuleOpCompareContext ruleOpCompare(int i) {
+ return getRuleContext(RuleOpCompareContext.class,i);
+ }
+ public RuleXRelationalExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXRelationalExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXRelationalExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXRelationalExpression(this);
+ }
+ }
+
+ public final RuleXRelationalExpressionContext ruleXRelationalExpression() throws RecognitionException {
+ RuleXRelationalExpressionContext _localctx = new RuleXRelationalExpressionContext(_ctx, getState());
+ enterRule(_localctx, 80, RULE_ruleXRelationalExpression);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(644);
+ ruleXOtherOperatorExpression();
+ setState(652);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,59,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ {
+ setState(650);
+ switch (_input.LA(1)) {
+ case T__53:
+ {
+ {
+ setState(645);
+ match(T__53);
+ }
+ setState(646);
+ ruleJvmTypeReference();
+ }
+ break;
+ case T__44:
+ case T__45:
+ case T__46:
+ {
+ {
+ setState(647);
+ ruleOpCompare();
+ }
+ setState(648);
+ ruleXOtherOperatorExpression();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ setState(654);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,59,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleOpCompareContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleOpCompareContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleOpCompare; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpCompare(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpCompare(this);
+ }
+ }
+
+ public final RuleOpCompareContext ruleOpCompare() throws RecognitionException {
+ RuleOpCompareContext _localctx = new RuleOpCompareContext(_ctx, getState());
+ enterRule(_localctx, 82, RULE_ruleOpCompare);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(660);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,60,_ctx) ) {
+ case 1:
+ {
+ setState(655);
+ match(T__46);
+ }
+ break;
+ case 2:
+ {
+ setState(656);
+ match(T__44);
+ setState(657);
+ match(T__35);
+ }
+ break;
+ case 3:
+ {
+ setState(658);
+ match(T__45);
+ }
+ break;
+ case 4:
+ {
+ setState(659);
+ match(T__44);
+ }
+ break;
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXOtherOperatorExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXAdditiveExpressionContext> ruleXAdditiveExpression() {
+ return getRuleContexts(RuleXAdditiveExpressionContext.class);
+ }
+ public RuleXAdditiveExpressionContext ruleXAdditiveExpression(int i) {
+ return getRuleContext(RuleXAdditiveExpressionContext.class,i);
+ }
+ public List<RuleOpOtherContext> ruleOpOther() {
+ return getRuleContexts(RuleOpOtherContext.class);
+ }
+ public RuleOpOtherContext ruleOpOther(int i) {
+ return getRuleContext(RuleOpOtherContext.class,i);
+ }
+ public RuleXOtherOperatorExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXOtherOperatorExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXOtherOperatorExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXOtherOperatorExpression(this);
+ }
+ }
+
+ public final RuleXOtherOperatorExpressionContext ruleXOtherOperatorExpression() throws RecognitionException {
+ RuleXOtherOperatorExpressionContext _localctx = new RuleXOtherOperatorExpressionContext(_ctx, getState());
+ enterRule(_localctx, 84, RULE_ruleXOtherOperatorExpression);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(662);
+ ruleXAdditiveExpression();
+ setState(668);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,61,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ {
+ {
+ {
+ setState(663);
+ ruleOpOther();
+ }
+ setState(664);
+ ruleXAdditiveExpression();
+ }
+ }
+ }
+ setState(670);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,61,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleOpOtherContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleOpOtherContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleOpOther; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpOther(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpOther(this);
+ }
+ }
+
+ public final RuleOpOtherContext ruleOpOther() throws RecognitionException {
+ RuleOpOtherContext _localctx = new RuleOpOtherContext(_ctx, getState());
+ enterRule(_localctx, 86, RULE_ruleOpOther);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(692);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,64,_ctx) ) {
+ case 1:
+ {
+ setState(671);
+ match(T__54);
+ }
+ break;
+ case 2:
+ {
+ setState(672);
+ match(T__55);
+ }
+ break;
+ case 3:
+ {
+ setState(673);
+ match(T__45);
+ setState(674);
+ match(T__56);
+ }
+ break;
+ case 4:
+ {
+ setState(675);
+ match(T__56);
+ }
+ break;
+ case 5:
+ {
+ setState(676);
+ match(T__57);
+ }
+ break;
+ case 6:
+ {
+ setState(677);
+ match(T__45);
+ setState(681);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,62,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(678);
+ match(T__45);
+ setState(679);
+ match(T__45);
+ }
+ }
+ break;
+ case 2:
+ {
+ setState(680);
+ match(T__45);
+ }
+ break;
+ }
+ }
+ break;
+ case 7:
+ {
+ setState(683);
+ match(T__44);
+ setState(688);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,63,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(684);
+ match(T__44);
+ setState(685);
+ match(T__44);
+ }
+ }
+ break;
+ case 2:
+ {
+ setState(686);
+ match(T__44);
+ }
+ break;
+ case 3:
+ {
+ setState(687);
+ match(T__57);
+ }
+ break;
+ }
+ }
+ break;
+ case 8:
+ {
+ setState(690);
+ match(T__58);
+ }
+ break;
+ case 9:
+ {
+ setState(691);
+ match(T__59);
+ }
+ break;
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXAdditiveExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXMultiplicativeExpressionContext> ruleXMultiplicativeExpression() {
+ return getRuleContexts(RuleXMultiplicativeExpressionContext.class);
+ }
+ public RuleXMultiplicativeExpressionContext ruleXMultiplicativeExpression(int i) {
+ return getRuleContext(RuleXMultiplicativeExpressionContext.class,i);
+ }
+ public List<RuleOpAddContext> ruleOpAdd() {
+ return getRuleContexts(RuleOpAddContext.class);
+ }
+ public RuleOpAddContext ruleOpAdd(int i) {
+ return getRuleContext(RuleOpAddContext.class,i);
+ }
+ public RuleXAdditiveExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXAdditiveExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXAdditiveExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXAdditiveExpression(this);
+ }
+ }
+
+ public final RuleXAdditiveExpressionContext ruleXAdditiveExpression() throws RecognitionException {
+ RuleXAdditiveExpressionContext _localctx = new RuleXAdditiveExpressionContext(_ctx, getState());
+ enterRule(_localctx, 88, RULE_ruleXAdditiveExpression);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(694);
+ ruleXMultiplicativeExpression();
+ setState(700);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,65,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ {
+ {
+ {
+ setState(695);
+ ruleOpAdd();
+ }
+ setState(696);
+ ruleXMultiplicativeExpression();
+ }
+ }
+ }
+ setState(702);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,65,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleOpAddContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleOpAddContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleOpAdd; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpAdd(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpAdd(this);
+ }
+ }
+
+ public final RuleOpAddContext ruleOpAdd() throws RecognitionException {
+ RuleOpAddContext _localctx = new RuleOpAddContext(_ctx, getState());
+ enterRule(_localctx, 90, RULE_ruleOpAdd);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(703);
+ _la = _input.LA(1);
+ if ( !(_la==T__60 || _la==T__61) ) {
+ _errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXMultiplicativeExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXUnaryOperationContext> ruleXUnaryOperation() {
+ return getRuleContexts(RuleXUnaryOperationContext.class);
+ }
+ public RuleXUnaryOperationContext ruleXUnaryOperation(int i) {
+ return getRuleContext(RuleXUnaryOperationContext.class,i);
+ }
+ public List<RuleOpMultiContext> ruleOpMulti() {
+ return getRuleContexts(RuleOpMultiContext.class);
+ }
+ public RuleOpMultiContext ruleOpMulti(int i) {
+ return getRuleContext(RuleOpMultiContext.class,i);
+ }
+ public RuleXMultiplicativeExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXMultiplicativeExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXMultiplicativeExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXMultiplicativeExpression(this);
+ }
+ }
+
+ public final RuleXMultiplicativeExpressionContext ruleXMultiplicativeExpression() throws RecognitionException {
+ RuleXMultiplicativeExpressionContext _localctx = new RuleXMultiplicativeExpressionContext(_ctx, getState());
+ enterRule(_localctx, 92, RULE_ruleXMultiplicativeExpression);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(705);
+ ruleXUnaryOperation();
+ setState(711);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,66,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ {
+ {
+ {
+ setState(706);
+ ruleOpMulti();
+ }
+ setState(707);
+ ruleXUnaryOperation();
+ }
+ }
+ }
+ setState(713);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,66,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleOpMultiContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleOpMultiContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleOpMulti; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpMulti(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpMulti(this);
+ }
+ }
+
+ public final RuleOpMultiContext ruleOpMulti() throws RecognitionException {
+ RuleOpMultiContext _localctx = new RuleOpMultiContext(_ctx, getState());
+ enterRule(_localctx, 94, RULE_ruleOpMulti);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(714);
+ _la = _input.LA(1);
+ if ( !(((((_la - 32)) & ~0x3f) == 0 && ((1L << (_la - 32)) & ((1L << (T__31 - 32)) | (1L << (T__62 - 32)) | (1L << (T__63 - 32)) | (1L << (T__64 - 32)))) != 0)) ) {
+ _errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXUnaryOperationContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleOpUnaryContext ruleOpUnary() {
+ return getRuleContext(RuleOpUnaryContext.class,0);
+ }
+ public RuleXUnaryOperationContext ruleXUnaryOperation() {
+ return getRuleContext(RuleXUnaryOperationContext.class,0);
+ }
+ public RuleXCastedExpressionContext ruleXCastedExpression() {
+ return getRuleContext(RuleXCastedExpressionContext.class,0);
+ }
+ public RuleXUnaryOperationContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXUnaryOperation; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXUnaryOperation(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXUnaryOperation(this);
+ }
+ }
+
+ public final RuleXUnaryOperationContext ruleXUnaryOperation() throws RecognitionException {
+ RuleXUnaryOperationContext _localctx = new RuleXUnaryOperationContext(_ctx, getState());
+ enterRule(_localctx, 96, RULE_ruleXUnaryOperation);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(720);
+ switch (_input.LA(1)) {
+ case T__60:
+ case T__61:
+ case T__65:
+ {
+ setState(716);
+ ruleOpUnary();
+ setState(717);
+ ruleXUnaryOperation();
+ }
+ break;
+ case T__1:
+ case T__16:
+ case T__28:
+ case T__29:
+ case T__30:
+ case T__36:
+ case T__37:
+ case T__44:
+ case T__73:
+ case T__75:
+ case T__79:
+ case T__80:
+ case T__81:
+ case T__84:
+ case T__85:
+ case T__86:
+ case T__87:
+ case T__88:
+ case T__89:
+ case T__90:
+ case T__91:
+ case T__92:
+ case T__93:
+ case T__95:
+ case RULE_HEX:
+ case RULE_INT:
+ case RULE_DECIMAL:
+ case RULE_ID:
+ case RULE_STRING:
+ {
+ setState(719);
+ ruleXCastedExpression();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleOpUnaryContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleOpUnaryContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleOpUnary; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpUnary(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpUnary(this);
+ }
+ }
+
+ public final RuleOpUnaryContext ruleOpUnary() throws RecognitionException {
+ RuleOpUnaryContext _localctx = new RuleOpUnaryContext(_ctx, getState());
+ enterRule(_localctx, 98, RULE_ruleOpUnary);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(722);
+ _la = _input.LA(1);
+ if ( !(((((_la - 61)) & ~0x3f) == 0 && ((1L << (_la - 61)) & ((1L << (T__60 - 61)) | (1L << (T__61 - 61)) | (1L << (T__65 - 61)))) != 0)) ) {
+ _errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXCastedExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXPostfixOperationContext ruleXPostfixOperation() {
+ return getRuleContext(RuleXPostfixOperationContext.class,0);
+ }
+ public List<RuleJvmTypeReferenceContext> ruleJvmTypeReference() {
+ return getRuleContexts(RuleJvmTypeReferenceContext.class);
+ }
+ public RuleJvmTypeReferenceContext ruleJvmTypeReference(int i) {
+ return getRuleContext(RuleJvmTypeReferenceContext.class,i);
+ }
+ public RuleXCastedExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXCastedExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXCastedExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXCastedExpression(this);
+ }
+ }
+
+ public final RuleXCastedExpressionContext ruleXCastedExpression() throws RecognitionException {
+ RuleXCastedExpressionContext _localctx = new RuleXCastedExpressionContext(_ctx, getState());
+ enterRule(_localctx, 100, RULE_ruleXCastedExpression);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(724);
+ ruleXPostfixOperation();
+ setState(729);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,68,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ {
+ {
+ {
+ setState(725);
+ match(T__66);
+ }
+ setState(726);
+ ruleJvmTypeReference();
+ }
+ }
+ }
+ setState(731);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,68,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXPostfixOperationContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXMemberFeatureCallContext ruleXMemberFeatureCall() {
+ return getRuleContext(RuleXMemberFeatureCallContext.class,0);
+ }
+ public RuleOpPostfixContext ruleOpPostfix() {
+ return getRuleContext(RuleOpPostfixContext.class,0);
+ }
+ public RuleXPostfixOperationContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXPostfixOperation; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXPostfixOperation(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXPostfixOperation(this);
+ }
+ }
+
+ public final RuleXPostfixOperationContext ruleXPostfixOperation() throws RecognitionException {
+ RuleXPostfixOperationContext _localctx = new RuleXPostfixOperationContext(_ctx, getState());
+ enterRule(_localctx, 102, RULE_ruleXPostfixOperation);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(732);
+ ruleXMemberFeatureCall();
+ setState(734);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,69,_ctx) ) {
+ case 1:
+ {
+ setState(733);
+ ruleOpPostfix();
+ }
+ break;
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleOpPostfixContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleOpPostfixContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleOpPostfix; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleOpPostfix(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleOpPostfix(this);
+ }
+ }
+
+ public final RuleOpPostfixContext ruleOpPostfix() throws RecognitionException {
+ RuleOpPostfixContext _localctx = new RuleOpPostfixContext(_ctx, getState());
+ enterRule(_localctx, 104, RULE_ruleOpPostfix);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(736);
+ _la = _input.LA(1);
+ if ( !(_la==T__67 || _la==T__68) ) {
+ _errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXMemberFeatureCallContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXPrimaryExpressionContext ruleXPrimaryExpression() {
+ return getRuleContext(RuleXPrimaryExpressionContext.class,0);
+ }
+ public List<RuleXAssignmentContext> ruleXAssignment() {
+ return getRuleContexts(RuleXAssignmentContext.class);
+ }
+ public RuleXAssignmentContext ruleXAssignment(int i) {
+ return getRuleContext(RuleXAssignmentContext.class,i);
+ }
+ public List<RuleIdOrSuperContext> ruleIdOrSuper() {
+ return getRuleContexts(RuleIdOrSuperContext.class);
+ }
+ public RuleIdOrSuperContext ruleIdOrSuper(int i) {
+ return getRuleContext(RuleIdOrSuperContext.class,i);
+ }
+ public List<RuleFeatureCallIDContext> ruleFeatureCallID() {
+ return getRuleContexts(RuleFeatureCallIDContext.class);
+ }
+ public RuleFeatureCallIDContext ruleFeatureCallID(int i) {
+ return getRuleContext(RuleFeatureCallIDContext.class,i);
+ }
+ public List<RuleOpSingleAssignContext> ruleOpSingleAssign() {
+ return getRuleContexts(RuleOpSingleAssignContext.class);
+ }
+ public RuleOpSingleAssignContext ruleOpSingleAssign(int i) {
+ return getRuleContext(RuleOpSingleAssignContext.class,i);
+ }
+ public List<RuleJvmArgumentTypeReferenceContext> ruleJvmArgumentTypeReference() {
+ return getRuleContexts(RuleJvmArgumentTypeReferenceContext.class);
+ }
+ public RuleJvmArgumentTypeReferenceContext ruleJvmArgumentTypeReference(int i) {
+ return getRuleContext(RuleJvmArgumentTypeReferenceContext.class,i);
+ }
+ public List<RuleXClosureContext> ruleXClosure() {
+ return getRuleContexts(RuleXClosureContext.class);
+ }
+ public RuleXClosureContext ruleXClosure(int i) {
+ return getRuleContext(RuleXClosureContext.class,i);
+ }
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public List<RuleXShortClosureContext> ruleXShortClosure() {
+ return getRuleContexts(RuleXShortClosureContext.class);
+ }
+ public RuleXShortClosureContext ruleXShortClosure(int i) {
+ return getRuleContext(RuleXShortClosureContext.class,i);
+ }
+ public RuleXMemberFeatureCallContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXMemberFeatureCall; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXMemberFeatureCall(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXMemberFeatureCall(this);
+ }
+ }
+
+ public final RuleXMemberFeatureCallContext ruleXMemberFeatureCall() throws RecognitionException {
+ RuleXMemberFeatureCallContext _localctx = new RuleXMemberFeatureCallContext(_ctx, getState());
+ enterRule(_localctx, 106, RULE_ruleXMemberFeatureCall);
+ int _la;
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(738);
+ ruleXPrimaryExpression();
+ setState(780);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,77,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ {
+ setState(778);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,76,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(739);
+ _la = _input.LA(1);
+ if ( !(_la==T__69 || _la==T__70) ) {
+ _errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ setState(740);
+ ruleFeatureCallID();
+ setState(741);
+ ruleOpSingleAssign();
+ }
+ setState(743);
+ ruleXAssignment();
+ }
+ break;
+ case 2:
+ {
+ {
+ setState(745);
+ _la = _input.LA(1);
+ if ( !(((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & ((1L << (T__69 - 70)) | (1L << (T__70 - 70)) | (1L << (T__71 - 70)))) != 0)) ) {
+ _errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ }
+ setState(757);
+ _la = _input.LA(1);
+ if (_la==T__44) {
+ {
+ setState(746);
+ match(T__44);
+ setState(747);
+ ruleJvmArgumentTypeReference();
+ setState(752);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(748);
+ match(T__17);
+ setState(749);
+ ruleJvmArgumentTypeReference();
+ }
+ }
+ setState(754);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(755);
+ match(T__45);
+ }
+ }
+
+ setState(759);
+ ruleIdOrSuper();
+ setState(773);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,74,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(760);
+ match(T__16);
+ }
+ setState(770);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,73,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(761);
+ ruleXShortClosure();
+ }
+ }
+ break;
+ case 2:
+ {
+ setState(762);
+ ruleXExpression();
+ setState(767);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(763);
+ match(T__17);
+ setState(764);
+ ruleXExpression();
+ }
+ }
+ setState(769);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ break;
+ }
+ setState(772);
+ match(T__18);
+ }
+ break;
+ }
+ setState(776);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,75,_ctx) ) {
+ case 1:
+ {
+ setState(775);
+ ruleXClosure();
+ }
+ break;
+ }
+ }
+ break;
+ }
+ }
+ }
+ setState(782);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,77,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXPrimaryExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXConstructorCallContext ruleXConstructorCall() {
+ return getRuleContext(RuleXConstructorCallContext.class,0);
+ }
+ public RuleXBlockExpressionContext ruleXBlockExpression() {
+ return getRuleContext(RuleXBlockExpressionContext.class,0);
+ }
+ public RuleXSwitchExpressionContext ruleXSwitchExpression() {
+ return getRuleContext(RuleXSwitchExpressionContext.class,0);
+ }
+ public RuleXFeatureCallContext ruleXFeatureCall() {
+ return getRuleContext(RuleXFeatureCallContext.class,0);
+ }
+ public RuleXLiteralContext ruleXLiteral() {
+ return getRuleContext(RuleXLiteralContext.class,0);
+ }
+ public RuleXIfExpressionContext ruleXIfExpression() {
+ return getRuleContext(RuleXIfExpressionContext.class,0);
+ }
+ public RuleXBasicForLoopExpressionContext ruleXBasicForLoopExpression() {
+ return getRuleContext(RuleXBasicForLoopExpressionContext.class,0);
+ }
+ public RuleXWhileExpressionContext ruleXWhileExpression() {
+ return getRuleContext(RuleXWhileExpressionContext.class,0);
+ }
+ public RuleXDoWhileExpressionContext ruleXDoWhileExpression() {
+ return getRuleContext(RuleXDoWhileExpressionContext.class,0);
+ }
+ public RuleXThrowExpressionContext ruleXThrowExpression() {
+ return getRuleContext(RuleXThrowExpressionContext.class,0);
+ }
+ public RuleXReturnExpressionContext ruleXReturnExpression() {
+ return getRuleContext(RuleXReturnExpressionContext.class,0);
+ }
+ public RuleXTryCatchFinallyExpressionContext ruleXTryCatchFinallyExpression() {
+ return getRuleContext(RuleXTryCatchFinallyExpressionContext.class,0);
+ }
+ public RuleXParenthesizedExpressionContext ruleXParenthesizedExpression() {
+ return getRuleContext(RuleXParenthesizedExpressionContext.class,0);
+ }
+ public RuleXSynchronizedExpressionContext ruleXSynchronizedExpression() {
+ return getRuleContext(RuleXSynchronizedExpressionContext.class,0);
+ }
+ public RuleXForLoopExpressionContext ruleXForLoopExpression() {
+ return getRuleContext(RuleXForLoopExpressionContext.class,0);
+ }
+ public RuleXPrimaryExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXPrimaryExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXPrimaryExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXPrimaryExpression(this);
+ }
+ }
+
+ public final RuleXPrimaryExpressionContext ruleXPrimaryExpression() throws RecognitionException {
+ RuleXPrimaryExpressionContext _localctx = new RuleXPrimaryExpressionContext(_ctx, getState());
+ enterRule(_localctx, 108, RULE_ruleXPrimaryExpression);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(798);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,78,_ctx) ) {
+ case 1:
+ {
+ setState(783);
+ ruleXConstructorCall();
+ }
+ break;
+ case 2:
+ {
+ setState(784);
+ ruleXBlockExpression();
+ }
+ break;
+ case 3:
+ {
+ setState(785);
+ ruleXSwitchExpression();
+ }
+ break;
+ case 4:
+ {
+ {
+ setState(786);
+ ruleXSynchronizedExpression();
+ }
+ }
+ break;
+ case 5:
+ {
+ setState(787);
+ ruleXFeatureCall();
+ }
+ break;
+ case 6:
+ {
+ setState(788);
+ ruleXLiteral();
+ }
+ break;
+ case 7:
+ {
+ setState(789);
+ ruleXIfExpression();
+ }
+ break;
+ case 8:
+ {
+ {
+ setState(790);
+ ruleXForLoopExpression();
+ }
+ }
+ break;
+ case 9:
+ {
+ setState(791);
+ ruleXBasicForLoopExpression();
+ }
+ break;
+ case 10:
+ {
+ setState(792);
+ ruleXWhileExpression();
+ }
+ break;
+ case 11:
+ {
+ setState(793);
+ ruleXDoWhileExpression();
+ }
+ break;
+ case 12:
+ {
+ setState(794);
+ ruleXThrowExpression();
+ }
+ break;
+ case 13:
+ {
+ setState(795);
+ ruleXReturnExpression();
+ }
+ break;
+ case 14:
+ {
+ setState(796);
+ ruleXTryCatchFinallyExpression();
+ }
+ break;
+ case 15:
+ {
+ setState(797);
+ ruleXParenthesizedExpression();
+ }
+ break;
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXCollectionLiteralContext ruleXCollectionLiteral() {
+ return getRuleContext(RuleXCollectionLiteralContext.class,0);
+ }
+ public RuleXBooleanLiteralContext ruleXBooleanLiteral() {
+ return getRuleContext(RuleXBooleanLiteralContext.class,0);
+ }
+ public RuleXNumberLiteralContext ruleXNumberLiteral() {
+ return getRuleContext(RuleXNumberLiteralContext.class,0);
+ }
+ public RuleXNullLiteralContext ruleXNullLiteral() {
+ return getRuleContext(RuleXNullLiteralContext.class,0);
+ }
+ public RuleXStringLiteralContext ruleXStringLiteral() {
+ return getRuleContext(RuleXStringLiteralContext.class,0);
+ }
+ public RuleXTypeLiteralContext ruleXTypeLiteral() {
+ return getRuleContext(RuleXTypeLiteralContext.class,0);
+ }
+ public RuleXClosureContext ruleXClosure() {
+ return getRuleContext(RuleXClosureContext.class,0);
+ }
+ public RuleXLiteralContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXLiteral; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXLiteral(this);
+ }
+ }
+
+ public final RuleXLiteralContext ruleXLiteral() throws RecognitionException {
+ RuleXLiteralContext _localctx = new RuleXLiteralContext(_ctx, getState());
+ enterRule(_localctx, 110, RULE_ruleXLiteral);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(807);
+ switch (_input.LA(1)) {
+ case T__36:
+ {
+ setState(800);
+ ruleXCollectionLiteral();
+ }
+ break;
+ case T__37:
+ {
+ {
+ setState(801);
+ ruleXClosure();
+ }
+ }
+ break;
+ case T__87:
+ case T__88:
+ {
+ setState(802);
+ ruleXBooleanLiteral();
+ }
+ break;
+ case RULE_HEX:
+ case RULE_INT:
+ case RULE_DECIMAL:
+ {
+ setState(803);
+ ruleXNumberLiteral();
+ }
+ break;
+ case T__89:
+ {
+ setState(804);
+ ruleXNullLiteral();
+ }
+ break;
+ case RULE_STRING:
+ {
+ setState(805);
+ ruleXStringLiteral();
+ }
+ break;
+ case T__90:
+ {
+ setState(806);
+ ruleXTypeLiteral();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXCollectionLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXSetLiteralContext ruleXSetLiteral() {
+ return getRuleContext(RuleXSetLiteralContext.class,0);
+ }
+ public RuleXListLiteralContext ruleXListLiteral() {
+ return getRuleContext(RuleXListLiteralContext.class,0);
+ }
+ public RuleXCollectionLiteralContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXCollectionLiteral; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXCollectionLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXCollectionLiteral(this);
+ }
+ }
+
+ public final RuleXCollectionLiteralContext ruleXCollectionLiteral() throws RecognitionException {
+ RuleXCollectionLiteralContext _localctx = new RuleXCollectionLiteralContext(_ctx, getState());
+ enterRule(_localctx, 112, RULE_ruleXCollectionLiteral);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(811);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,80,_ctx) ) {
+ case 1:
+ {
+ setState(809);
+ ruleXSetLiteral();
+ }
+ break;
+ case 2:
+ {
+ setState(810);
+ ruleXListLiteral();
+ }
+ break;
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXSetLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public RuleXSetLiteralContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXSetLiteral; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXSetLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXSetLiteral(this);
+ }
+ }
+
+ public final RuleXSetLiteralContext ruleXSetLiteral() throws RecognitionException {
+ RuleXSetLiteralContext _localctx = new RuleXSetLiteralContext(_ctx, getState());
+ enterRule(_localctx, 114, RULE_ruleXSetLiteral);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(813);
+ match(T__36);
+ setState(814);
+ match(T__1);
+ setState(823);
+ _la = _input.LA(1);
+ if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) {
+ {
+ setState(815);
+ ruleXExpression();
+ setState(820);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(816);
+ match(T__17);
+ setState(817);
+ ruleXExpression();
+ }
+ }
+ setState(822);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(825);
+ match(T__2);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXListLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public RuleXListLiteralContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXListLiteral; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXListLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXListLiteral(this);
+ }
+ }
+
+ public final RuleXListLiteralContext ruleXListLiteral() throws RecognitionException {
+ RuleXListLiteralContext _localctx = new RuleXListLiteralContext(_ctx, getState());
+ enterRule(_localctx, 116, RULE_ruleXListLiteral);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(827);
+ match(T__36);
+ setState(828);
+ match(T__37);
+ setState(837);
+ _la = _input.LA(1);
+ if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) {
+ {
+ setState(829);
+ ruleXExpression();
+ setState(834);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(830);
+ match(T__17);
+ setState(831);
+ ruleXExpression();
+ }
+ }
+ setState(836);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(839);
+ match(T__38);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXClosureContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXExpressionInClosureContext ruleXExpressionInClosure() {
+ return getRuleContext(RuleXExpressionInClosureContext.class,0);
+ }
+ public List<RuleJvmFormalParameterContext> ruleJvmFormalParameter() {
+ return getRuleContexts(RuleJvmFormalParameterContext.class);
+ }
+ public RuleJvmFormalParameterContext ruleJvmFormalParameter(int i) {
+ return getRuleContext(RuleJvmFormalParameterContext.class,i);
+ }
+ public RuleXClosureContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXClosure; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXClosure(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXClosure(this);
+ }
+ }
+
+ public final RuleXClosureContext ruleXClosure() throws RecognitionException {
+ RuleXClosureContext _localctx = new RuleXClosureContext(_ctx, getState());
+ enterRule(_localctx, 118, RULE_ruleXClosure);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ {
+ setState(841);
+ match(T__37);
+ }
+ setState(853);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,87,_ctx) ) {
+ case 1:
+ {
+ setState(850);
+ _la = _input.LA(1);
+ if (_la==T__16 || _la==T__57 || _la==RULE_ID) {
+ {
+ setState(842);
+ ruleJvmFormalParameter();
+ setState(847);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(843);
+ match(T__17);
+ setState(844);
+ ruleJvmFormalParameter();
+ }
+ }
+ setState(849);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(852);
+ match(T__72);
+ }
+ break;
+ }
+ setState(855);
+ ruleXExpressionInClosure();
+ setState(856);
+ match(T__38);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXExpressionInClosureContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXExpressionOrVarDeclarationContext> ruleXExpressionOrVarDeclaration() {
+ return getRuleContexts(RuleXExpressionOrVarDeclarationContext.class);
+ }
+ public RuleXExpressionOrVarDeclarationContext ruleXExpressionOrVarDeclaration(int i) {
+ return getRuleContext(RuleXExpressionOrVarDeclarationContext.class,i);
+ }
+ public RuleXExpressionInClosureContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXExpressionInClosure; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXExpressionInClosure(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXExpressionInClosure(this);
+ }
+ }
+
+ public final RuleXExpressionInClosureContext ruleXExpressionInClosure() throws RecognitionException {
+ RuleXExpressionInClosureContext _localctx = new RuleXExpressionInClosureContext(_ctx, getState());
+ enterRule(_localctx, 120, RULE_ruleXExpressionInClosure);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(864);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__82 - 66)) | (1L << (T__83 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) {
+ {
+ {
+ setState(858);
+ ruleXExpressionOrVarDeclaration();
+ setState(860);
+ _la = _input.LA(1);
+ if (_la==T__33) {
+ {
+ setState(859);
+ match(T__33);
+ }
+ }
+
+ }
+ }
+ setState(866);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXShortClosureContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXExpressionContext ruleXExpression() {
+ return getRuleContext(RuleXExpressionContext.class,0);
+ }
+ public List<RuleJvmFormalParameterContext> ruleJvmFormalParameter() {
+ return getRuleContexts(RuleJvmFormalParameterContext.class);
+ }
+ public RuleJvmFormalParameterContext ruleJvmFormalParameter(int i) {
+ return getRuleContext(RuleJvmFormalParameterContext.class,i);
+ }
+ public RuleXShortClosureContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXShortClosure; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXShortClosure(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXShortClosure(this);
+ }
+ }
+
+ public final RuleXShortClosureContext ruleXShortClosure() throws RecognitionException {
+ RuleXShortClosureContext _localctx = new RuleXShortClosureContext(_ctx, getState());
+ enterRule(_localctx, 122, RULE_ruleXShortClosure);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ {
+ setState(875);
+ _la = _input.LA(1);
+ if (_la==T__16 || _la==T__57 || _la==RULE_ID) {
+ {
+ setState(867);
+ ruleJvmFormalParameter();
+ setState(872);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(868);
+ match(T__17);
+ setState(869);
+ ruleJvmFormalParameter();
+ }
+ }
+ setState(874);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(877);
+ match(T__72);
+ }
+ setState(879);
+ ruleXExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXParenthesizedExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXExpressionContext ruleXExpression() {
+ return getRuleContext(RuleXExpressionContext.class,0);
+ }
+ public RuleXParenthesizedExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXParenthesizedExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXParenthesizedExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXParenthesizedExpression(this);
+ }
+ }
+
+ public final RuleXParenthesizedExpressionContext ruleXParenthesizedExpression() throws RecognitionException {
+ RuleXParenthesizedExpressionContext _localctx = new RuleXParenthesizedExpressionContext(_ctx, getState());
+ enterRule(_localctx, 124, RULE_ruleXParenthesizedExpression);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(881);
+ match(T__16);
+ setState(882);
+ ruleXExpression();
+ setState(883);
+ match(T__18);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXIfExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public RuleXIfExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXIfExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXIfExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXIfExpression(this);
+ }
+ }
+
+ public final RuleXIfExpressionContext ruleXIfExpression() throws RecognitionException {
+ RuleXIfExpressionContext _localctx = new RuleXIfExpressionContext(_ctx, getState());
+ enterRule(_localctx, 126, RULE_ruleXIfExpression);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(885);
+ match(T__73);
+ setState(886);
+ match(T__16);
+ setState(887);
+ ruleXExpression();
+ setState(888);
+ match(T__18);
+ setState(889);
+ ruleXExpression();
+ setState(892);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,92,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(890);
+ match(T__74);
+ }
+ setState(891);
+ ruleXExpression();
+ }
+ break;
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXSwitchExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public List<RuleXCasePartContext> ruleXCasePart() {
+ return getRuleContexts(RuleXCasePartContext.class);
+ }
+ public RuleXCasePartContext ruleXCasePart(int i) {
+ return getRuleContext(RuleXCasePartContext.class,i);
+ }
+ public RuleJvmFormalParameterContext ruleJvmFormalParameter() {
+ return getRuleContext(RuleJvmFormalParameterContext.class,0);
+ }
+ public RuleXSwitchExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXSwitchExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXSwitchExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXSwitchExpression(this);
+ }
+ }
+
+ public final RuleXSwitchExpressionContext ruleXSwitchExpression() throws RecognitionException {
+ RuleXSwitchExpressionContext _localctx = new RuleXSwitchExpressionContext(_ctx, getState());
+ enterRule(_localctx, 128, RULE_ruleXSwitchExpression);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(894);
+ match(T__75);
+ setState(908);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,94,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(895);
+ match(T__16);
+ setState(896);
+ ruleJvmFormalParameter();
+ setState(897);
+ match(T__76);
+ }
+ setState(899);
+ ruleXExpression();
+ setState(900);
+ match(T__18);
+ }
+ break;
+ case 2:
+ {
+ setState(905);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,93,_ctx) ) {
+ case 1:
+ {
+ setState(902);
+ ruleJvmFormalParameter();
+ setState(903);
+ match(T__76);
+ }
+ break;
+ }
+ setState(907);
+ ruleXExpression();
+ }
+ break;
+ }
+ setState(910);
+ match(T__1);
+ setState(914);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__16) | (1L << T__17) | (1L << T__57))) != 0) || ((((_la - 77)) & ~0x3f) == 0 && ((1L << (_la - 77)) & ((1L << (T__76 - 77)) | (1L << (T__78 - 77)) | (1L << (RULE_ID - 77)))) != 0)) {
+ {
+ {
+ setState(911);
+ ruleXCasePart();
+ }
+ }
+ setState(916);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(920);
+ _la = _input.LA(1);
+ if (_la==T__77) {
+ {
+ setState(917);
+ match(T__77);
+ setState(918);
+ match(T__76);
+ setState(919);
+ ruleXExpression();
+ }
+ }
+
+ setState(922);
+ match(T__2);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXCasePartContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public RuleJvmTypeReferenceContext ruleJvmTypeReference() {
+ return getRuleContext(RuleJvmTypeReferenceContext.class,0);
+ }
+ public RuleXCasePartContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXCasePart; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXCasePart(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXCasePart(this);
+ }
+ }
+
+ public final RuleXCasePartContext ruleXCasePart() throws RecognitionException {
+ RuleXCasePartContext _localctx = new RuleXCasePartContext(_ctx, getState());
+ enterRule(_localctx, 130, RULE_ruleXCasePart);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(925);
+ _la = _input.LA(1);
+ if (_la==T__16 || _la==T__57 || _la==RULE_ID) {
+ {
+ setState(924);
+ ruleJvmTypeReference();
+ }
+ }
+
+ setState(929);
+ _la = _input.LA(1);
+ if (_la==T__78) {
+ {
+ setState(927);
+ match(T__78);
+ setState(928);
+ ruleXExpression();
+ }
+ }
+
+ setState(934);
+ switch (_input.LA(1)) {
+ case T__76:
+ {
+ setState(931);
+ match(T__76);
+ setState(932);
+ ruleXExpression();
+ }
+ break;
+ case T__17:
+ {
+ setState(933);
+ match(T__17);
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXForLoopExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public RuleJvmFormalParameterContext ruleJvmFormalParameter() {
+ return getRuleContext(RuleJvmFormalParameterContext.class,0);
+ }
+ public RuleXForLoopExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXForLoopExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXForLoopExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXForLoopExpression(this);
+ }
+ }
+
+ public final RuleXForLoopExpressionContext ruleXForLoopExpression() throws RecognitionException {
+ RuleXForLoopExpressionContext _localctx = new RuleXForLoopExpressionContext(_ctx, getState());
+ enterRule(_localctx, 132, RULE_ruleXForLoopExpression);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ {
+ setState(936);
+ match(T__79);
+ setState(937);
+ match(T__16);
+ setState(938);
+ ruleJvmFormalParameter();
+ setState(939);
+ match(T__76);
+ }
+ setState(941);
+ ruleXExpression();
+ setState(942);
+ match(T__18);
+ setState(943);
+ ruleXExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXBasicForLoopExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public List<RuleXExpressionOrVarDeclarationContext> ruleXExpressionOrVarDeclaration() {
+ return getRuleContexts(RuleXExpressionOrVarDeclarationContext.class);
+ }
+ public RuleXExpressionOrVarDeclarationContext ruleXExpressionOrVarDeclaration(int i) {
+ return getRuleContext(RuleXExpressionOrVarDeclarationContext.class,i);
+ }
+ public RuleXBasicForLoopExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXBasicForLoopExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXBasicForLoopExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXBasicForLoopExpression(this);
+ }
+ }
+
+ public final RuleXBasicForLoopExpressionContext ruleXBasicForLoopExpression() throws RecognitionException {
+ RuleXBasicForLoopExpressionContext _localctx = new RuleXBasicForLoopExpressionContext(_ctx, getState());
+ enterRule(_localctx, 134, RULE_ruleXBasicForLoopExpression);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(945);
+ match(T__79);
+ setState(946);
+ match(T__16);
+ setState(955);
+ _la = _input.LA(1);
+ if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__82 - 66)) | (1L << (T__83 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) {
+ {
+ setState(947);
+ ruleXExpressionOrVarDeclaration();
+ setState(952);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(948);
+ match(T__17);
+ setState(949);
+ ruleXExpressionOrVarDeclaration();
+ }
+ }
+ setState(954);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(957);
+ match(T__33);
+ setState(959);
+ _la = _input.LA(1);
+ if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) {
+ {
+ setState(958);
+ ruleXExpression();
+ }
+ }
+
+ setState(961);
+ match(T__33);
+ setState(970);
+ _la = _input.LA(1);
+ if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) {
+ {
+ setState(962);
+ ruleXExpression();
+ setState(967);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(963);
+ match(T__17);
+ setState(964);
+ ruleXExpression();
+ }
+ }
+ setState(969);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(972);
+ match(T__18);
+ setState(973);
+ ruleXExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXWhileExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public RuleXWhileExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXWhileExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXWhileExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXWhileExpression(this);
+ }
+ }
+
+ public final RuleXWhileExpressionContext ruleXWhileExpression() throws RecognitionException {
+ RuleXWhileExpressionContext _localctx = new RuleXWhileExpressionContext(_ctx, getState());
+ enterRule(_localctx, 136, RULE_ruleXWhileExpression);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(975);
+ match(T__80);
+ setState(976);
+ match(T__16);
+ setState(977);
+ ruleXExpression();
+ setState(978);
+ match(T__18);
+ setState(979);
+ ruleXExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXDoWhileExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public RuleXDoWhileExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXDoWhileExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXDoWhileExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXDoWhileExpression(this);
+ }
+ }
+
+ public final RuleXDoWhileExpressionContext ruleXDoWhileExpression() throws RecognitionException {
+ RuleXDoWhileExpressionContext _localctx = new RuleXDoWhileExpressionContext(_ctx, getState());
+ enterRule(_localctx, 138, RULE_ruleXDoWhileExpression);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(981);
+ match(T__81);
+ setState(982);
+ ruleXExpression();
+ setState(983);
+ match(T__80);
+ setState(984);
+ match(T__16);
+ setState(985);
+ ruleXExpression();
+ setState(986);
+ match(T__18);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXBlockExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXExpressionOrVarDeclarationContext> ruleXExpressionOrVarDeclaration() {
+ return getRuleContexts(RuleXExpressionOrVarDeclarationContext.class);
+ }
+ public RuleXExpressionOrVarDeclarationContext ruleXExpressionOrVarDeclaration(int i) {
+ return getRuleContext(RuleXExpressionOrVarDeclarationContext.class,i);
+ }
+ public RuleXBlockExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXBlockExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXBlockExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXBlockExpression(this);
+ }
+ }
+
+ public final RuleXBlockExpressionContext ruleXBlockExpression() throws RecognitionException {
+ RuleXBlockExpressionContext _localctx = new RuleXBlockExpressionContext(_ctx, getState());
+ enterRule(_localctx, 140, RULE_ruleXBlockExpression);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(988);
+ match(T__1);
+ setState(995);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__16) | (1L << T__28) | (1L << T__29) | (1L << T__30) | (1L << T__36) | (1L << T__37) | (1L << T__44) | (1L << T__60) | (1L << T__61))) != 0) || ((((_la - 66)) & ~0x3f) == 0 && ((1L << (_la - 66)) & ((1L << (T__65 - 66)) | (1L << (T__73 - 66)) | (1L << (T__75 - 66)) | (1L << (T__79 - 66)) | (1L << (T__80 - 66)) | (1L << (T__81 - 66)) | (1L << (T__82 - 66)) | (1L << (T__83 - 66)) | (1L << (T__84 - 66)) | (1L << (T__85 - 66)) | (1L << (T__86 - 66)) | (1L << (T__87 - 66)) | (1L << (T__88 - 66)) | (1L << (T__89 - 66)) | (1L << (T__90 - 66)) | (1L << (T__91 - 66)) | (1L << (T__92 - 66)) | (1L << (T__93 - 66)) | (1L << (T__95 - 66)) | (1L << (RULE_HEX - 66)) | (1L << (RULE_INT - 66)) | (1L << (RULE_DECIMAL - 66)) | (1L << (RULE_ID - 66)) | (1L << (RULE_STRING - 66)))) != 0)) {
+ {
+ {
+ setState(989);
+ ruleXExpressionOrVarDeclaration();
+ setState(991);
+ _la = _input.LA(1);
+ if (_la==T__33) {
+ {
+ setState(990);
+ match(T__33);
+ }
+ }
+
+ }
+ }
+ setState(997);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(998);
+ match(T__2);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXExpressionOrVarDeclarationContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXVariableDeclarationContext ruleXVariableDeclaration() {
+ return getRuleContext(RuleXVariableDeclarationContext.class,0);
+ }
+ public RuleXExpressionContext ruleXExpression() {
+ return getRuleContext(RuleXExpressionContext.class,0);
+ }
+ public RuleXExpressionOrVarDeclarationContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXExpressionOrVarDeclaration; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXExpressionOrVarDeclaration(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXExpressionOrVarDeclaration(this);
+ }
+ }
+
+ public final RuleXExpressionOrVarDeclarationContext ruleXExpressionOrVarDeclaration() throws RecognitionException {
+ RuleXExpressionOrVarDeclarationContext _localctx = new RuleXExpressionOrVarDeclarationContext(_ctx, getState());
+ enterRule(_localctx, 142, RULE_ruleXExpressionOrVarDeclaration);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1002);
+ switch (_input.LA(1)) {
+ case T__82:
+ case T__83:
+ {
+ setState(1000);
+ ruleXVariableDeclaration();
+ }
+ break;
+ case T__1:
+ case T__16:
+ case T__28:
+ case T__29:
+ case T__30:
+ case T__36:
+ case T__37:
+ case T__44:
+ case T__60:
+ case T__61:
+ case T__65:
+ case T__73:
+ case T__75:
+ case T__79:
+ case T__80:
+ case T__81:
+ case T__84:
+ case T__85:
+ case T__86:
+ case T__87:
+ case T__88:
+ case T__89:
+ case T__90:
+ case T__91:
+ case T__92:
+ case T__93:
+ case T__95:
+ case RULE_HEX:
+ case RULE_INT:
+ case RULE_DECIMAL:
+ case RULE_ID:
+ case RULE_STRING:
+ {
+ setState(1001);
+ ruleXExpression();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXVariableDeclarationContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleXExpressionContext ruleXExpression() {
+ return getRuleContext(RuleXExpressionContext.class,0);
+ }
+ public RuleJvmTypeReferenceContext ruleJvmTypeReference() {
+ return getRuleContext(RuleJvmTypeReferenceContext.class,0);
+ }
+ public RuleXVariableDeclarationContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXVariableDeclaration; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXVariableDeclaration(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXVariableDeclaration(this);
+ }
+ }
+
+ public final RuleXVariableDeclarationContext ruleXVariableDeclaration() throws RecognitionException {
+ RuleXVariableDeclarationContext _localctx = new RuleXVariableDeclarationContext(_ctx, getState());
+ enterRule(_localctx, 144, RULE_ruleXVariableDeclaration);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1004);
+ _la = _input.LA(1);
+ if ( !(_la==T__82 || _la==T__83) ) {
+ _errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ setState(1009);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,108,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(1005);
+ ruleJvmTypeReference();
+ setState(1006);
+ ruleValidID();
+ }
+ }
+ break;
+ case 2:
+ {
+ setState(1008);
+ ruleValidID();
+ }
+ break;
+ }
+ setState(1013);
+ _la = _input.LA(1);
+ if (_la==T__35) {
+ {
+ setState(1011);
+ match(T__35);
+ setState(1012);
+ ruleXExpression();
+ }
+ }
+
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleJvmFormalParameterContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleJvmTypeReferenceContext ruleJvmTypeReference() {
+ return getRuleContext(RuleJvmTypeReferenceContext.class,0);
+ }
+ public RuleJvmFormalParameterContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleJvmFormalParameter; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmFormalParameter(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmFormalParameter(this);
+ }
+ }
+
+ public final RuleJvmFormalParameterContext ruleJvmFormalParameter() throws RecognitionException {
+ RuleJvmFormalParameterContext _localctx = new RuleJvmFormalParameterContext(_ctx, getState());
+ enterRule(_localctx, 146, RULE_ruleJvmFormalParameter);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1016);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,110,_ctx) ) {
+ case 1:
+ {
+ setState(1015);
+ ruleJvmTypeReference();
+ }
+ break;
+ }
+ setState(1018);
+ ruleValidID();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFullJvmFormalParameterContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleJvmTypeReferenceContext ruleJvmTypeReference() {
+ return getRuleContext(RuleJvmTypeReferenceContext.class,0);
+ }
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleFullJvmFormalParameterContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFullJvmFormalParameter; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFullJvmFormalParameter(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFullJvmFormalParameter(this);
+ }
+ }
+
+ public final RuleFullJvmFormalParameterContext ruleFullJvmFormalParameter() throws RecognitionException {
+ RuleFullJvmFormalParameterContext _localctx = new RuleFullJvmFormalParameterContext(_ctx, getState());
+ enterRule(_localctx, 148, RULE_ruleFullJvmFormalParameter);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1020);
+ ruleJvmTypeReference();
+ setState(1021);
+ ruleValidID();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXFeatureCallContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleIdOrSuperContext ruleIdOrSuper() {
+ return getRuleContext(RuleIdOrSuperContext.class,0);
+ }
+ public List<RuleJvmArgumentTypeReferenceContext> ruleJvmArgumentTypeReference() {
+ return getRuleContexts(RuleJvmArgumentTypeReferenceContext.class);
+ }
+ public RuleJvmArgumentTypeReferenceContext ruleJvmArgumentTypeReference(int i) {
+ return getRuleContext(RuleJvmArgumentTypeReferenceContext.class,i);
+ }
+ public RuleXClosureContext ruleXClosure() {
+ return getRuleContext(RuleXClosureContext.class,0);
+ }
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public RuleXShortClosureContext ruleXShortClosure() {
+ return getRuleContext(RuleXShortClosureContext.class,0);
+ }
+ public RuleXFeatureCallContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXFeatureCall; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXFeatureCall(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXFeatureCall(this);
+ }
+ }
+
+ public final RuleXFeatureCallContext ruleXFeatureCall() throws RecognitionException {
+ RuleXFeatureCallContext _localctx = new RuleXFeatureCallContext(_ctx, getState());
+ enterRule(_localctx, 150, RULE_ruleXFeatureCall);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1034);
+ _la = _input.LA(1);
+ if (_la==T__44) {
+ {
+ setState(1023);
+ match(T__44);
+ setState(1024);
+ ruleJvmArgumentTypeReference();
+ setState(1029);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(1025);
+ match(T__17);
+ setState(1026);
+ ruleJvmArgumentTypeReference();
+ }
+ }
+ setState(1031);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(1032);
+ match(T__45);
+ }
+ }
+
+ setState(1036);
+ ruleIdOrSuper();
+ setState(1050);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,115,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(1037);
+ match(T__16);
+ }
+ setState(1047);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,114,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(1038);
+ ruleXShortClosure();
+ }
+ }
+ break;
+ case 2:
+ {
+ setState(1039);
+ ruleXExpression();
+ setState(1044);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(1040);
+ match(T__17);
+ setState(1041);
+ ruleXExpression();
+ }
+ }
+ setState(1046);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ break;
+ }
+ setState(1049);
+ match(T__18);
+ }
+ break;
+ }
+ setState(1053);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,116,_ctx) ) {
+ case 1:
+ {
+ setState(1052);
+ ruleXClosure();
+ }
+ break;
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleFeatureCallIDContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleValidIDContext ruleValidID() {
+ return getRuleContext(RuleValidIDContext.class,0);
+ }
+ public RuleFeatureCallIDContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleFeatureCallID; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleFeatureCallID(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleFeatureCallID(this);
+ }
+ }
+
+ public final RuleFeatureCallIDContext ruleFeatureCallID() throws RecognitionException {
+ RuleFeatureCallIDContext _localctx = new RuleFeatureCallIDContext(_ctx, getState());
+ enterRule(_localctx, 152, RULE_ruleFeatureCallID);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1060);
+ switch (_input.LA(1)) {
+ case RULE_ID:
+ {
+ setState(1055);
+ ruleValidID();
+ }
+ break;
+ case T__84:
+ {
+ setState(1056);
+ match(T__84);
+ }
+ break;
+ case T__29:
+ {
+ setState(1057);
+ match(T__29);
+ }
+ break;
+ case T__28:
+ {
+ setState(1058);
+ match(T__28);
+ }
+ break;
+ case T__30:
+ {
+ setState(1059);
+ match(T__30);
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleIdOrSuperContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleFeatureCallIDContext ruleFeatureCallID() {
+ return getRuleContext(RuleFeatureCallIDContext.class,0);
+ }
+ public RuleIdOrSuperContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleIdOrSuper; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleIdOrSuper(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleIdOrSuper(this);
+ }
+ }
+
+ public final RuleIdOrSuperContext ruleIdOrSuper() throws RecognitionException {
+ RuleIdOrSuperContext _localctx = new RuleIdOrSuperContext(_ctx, getState());
+ enterRule(_localctx, 154, RULE_ruleIdOrSuper);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1064);
+ switch (_input.LA(1)) {
+ case T__28:
+ case T__29:
+ case T__30:
+ case T__84:
+ case RULE_ID:
+ {
+ setState(1062);
+ ruleFeatureCallID();
+ }
+ break;
+ case T__85:
+ {
+ setState(1063);
+ match(T__85);
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXConstructorCallContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleQualifiedNameContext ruleQualifiedName() {
+ return getRuleContext(RuleQualifiedNameContext.class,0);
+ }
+ public List<RuleJvmArgumentTypeReferenceContext> ruleJvmArgumentTypeReference() {
+ return getRuleContexts(RuleJvmArgumentTypeReferenceContext.class);
+ }
+ public RuleJvmArgumentTypeReferenceContext ruleJvmArgumentTypeReference(int i) {
+ return getRuleContext(RuleJvmArgumentTypeReferenceContext.class,i);
+ }
+ public RuleXClosureContext ruleXClosure() {
+ return getRuleContext(RuleXClosureContext.class,0);
+ }
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public RuleXShortClosureContext ruleXShortClosure() {
+ return getRuleContext(RuleXShortClosureContext.class,0);
+ }
+ public RuleXConstructorCallContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXConstructorCall; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXConstructorCall(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXConstructorCall(this);
+ }
+ }
+
+ public final RuleXConstructorCallContext ruleXConstructorCall() throws RecognitionException {
+ RuleXConstructorCallContext _localctx = new RuleXConstructorCallContext(_ctx, getState());
+ enterRule(_localctx, 156, RULE_ruleXConstructorCall);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1066);
+ match(T__86);
+ setState(1067);
+ ruleQualifiedName();
+ setState(1079);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,120,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(1068);
+ match(T__44);
+ }
+ setState(1069);
+ ruleJvmArgumentTypeReference();
+ setState(1074);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(1070);
+ match(T__17);
+ setState(1071);
+ ruleJvmArgumentTypeReference();
+ }
+ }
+ setState(1076);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(1077);
+ match(T__45);
+ }
+ break;
+ }
+ setState(1094);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,123,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(1081);
+ match(T__16);
+ }
+ setState(1091);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,122,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(1082);
+ ruleXShortClosure();
+ }
+ }
+ break;
+ case 2:
+ {
+ setState(1083);
+ ruleXExpression();
+ setState(1088);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(1084);
+ match(T__17);
+ setState(1085);
+ ruleXExpression();
+ }
+ }
+ setState(1090);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ break;
+ }
+ setState(1093);
+ match(T__18);
+ }
+ break;
+ }
+ setState(1097);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,124,_ctx) ) {
+ case 1:
+ {
+ setState(1096);
+ ruleXClosure();
+ }
+ break;
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXBooleanLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXBooleanLiteralContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXBooleanLiteral; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXBooleanLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXBooleanLiteral(this);
+ }
+ }
+
+ public final RuleXBooleanLiteralContext ruleXBooleanLiteral() throws RecognitionException {
+ RuleXBooleanLiteralContext _localctx = new RuleXBooleanLiteralContext(_ctx, getState());
+ enterRule(_localctx, 158, RULE_ruleXBooleanLiteral);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1099);
+ _la = _input.LA(1);
+ if ( !(_la==T__87 || _la==T__88) ) {
+ _errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXNullLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXNullLiteralContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXNullLiteral; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXNullLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXNullLiteral(this);
+ }
+ }
+
+ public final RuleXNullLiteralContext ruleXNullLiteral() throws RecognitionException {
+ RuleXNullLiteralContext _localctx = new RuleXNullLiteralContext(_ctx, getState());
+ enterRule(_localctx, 160, RULE_ruleXNullLiteral);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1101);
+ match(T__89);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXNumberLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleNumberContext ruleNumber() {
+ return getRuleContext(RuleNumberContext.class,0);
+ }
+ public RuleXNumberLiteralContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXNumberLiteral; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXNumberLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXNumberLiteral(this);
+ }
+ }
+
+ public final RuleXNumberLiteralContext ruleXNumberLiteral() throws RecognitionException {
+ RuleXNumberLiteralContext _localctx = new RuleXNumberLiteralContext(_ctx, getState());
+ enterRule(_localctx, 162, RULE_ruleXNumberLiteral);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1103);
+ ruleNumber();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXStringLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public TerminalNode RULE_STRING() { return getToken(CodebuffParser.RULE_STRING, 0); }
+ public RuleXStringLiteralContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXStringLiteral; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXStringLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXStringLiteral(this);
+ }
+ }
+
+ public final RuleXStringLiteralContext ruleXStringLiteral() throws RecognitionException {
+ RuleXStringLiteralContext _localctx = new RuleXStringLiteralContext(_ctx, getState());
+ enterRule(_localctx, 164, RULE_ruleXStringLiteral);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1105);
+ match(RULE_STRING);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXTypeLiteralContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleQualifiedNameContext ruleQualifiedName() {
+ return getRuleContext(RuleQualifiedNameContext.class,0);
+ }
+ public List<RuleArrayBracketsContext> ruleArrayBrackets() {
+ return getRuleContexts(RuleArrayBracketsContext.class);
+ }
+ public RuleArrayBracketsContext ruleArrayBrackets(int i) {
+ return getRuleContext(RuleArrayBracketsContext.class,i);
+ }
+ public RuleXTypeLiteralContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXTypeLiteral; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXTypeLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXTypeLiteral(this);
+ }
+ }
+
+ public final RuleXTypeLiteralContext ruleXTypeLiteral() throws RecognitionException {
+ RuleXTypeLiteralContext _localctx = new RuleXTypeLiteralContext(_ctx, getState());
+ enterRule(_localctx, 166, RULE_ruleXTypeLiteral);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1107);
+ match(T__90);
+ setState(1108);
+ match(T__16);
+ setState(1109);
+ ruleQualifiedName();
+ setState(1113);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__37) {
+ {
+ {
+ setState(1110);
+ ruleArrayBrackets();
+ }
+ }
+ setState(1115);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(1116);
+ match(T__18);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXThrowExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXExpressionContext ruleXExpression() {
+ return getRuleContext(RuleXExpressionContext.class,0);
+ }
+ public RuleXThrowExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXThrowExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXThrowExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXThrowExpression(this);
+ }
+ }
+
+ public final RuleXThrowExpressionContext ruleXThrowExpression() throws RecognitionException {
+ RuleXThrowExpressionContext _localctx = new RuleXThrowExpressionContext(_ctx, getState());
+ enterRule(_localctx, 168, RULE_ruleXThrowExpression);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1118);
+ match(T__91);
+ setState(1119);
+ ruleXExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXReturnExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleXExpressionContext ruleXExpression() {
+ return getRuleContext(RuleXExpressionContext.class,0);
+ }
+ public RuleXReturnExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXReturnExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXReturnExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXReturnExpression(this);
+ }
+ }
+
+ public final RuleXReturnExpressionContext ruleXReturnExpression() throws RecognitionException {
+ RuleXReturnExpressionContext _localctx = new RuleXReturnExpressionContext(_ctx, getState());
+ enterRule(_localctx, 170, RULE_ruleXReturnExpression);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1121);
+ match(T__92);
+ setState(1123);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,126,_ctx) ) {
+ case 1:
+ {
+ setState(1122);
+ ruleXExpression();
+ }
+ break;
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXTryCatchFinallyExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public List<RuleXCatchClauseContext> ruleXCatchClause() {
+ return getRuleContexts(RuleXCatchClauseContext.class);
+ }
+ public RuleXCatchClauseContext ruleXCatchClause(int i) {
+ return getRuleContext(RuleXCatchClauseContext.class,i);
+ }
+ public RuleXTryCatchFinallyExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXTryCatchFinallyExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXTryCatchFinallyExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXTryCatchFinallyExpression(this);
+ }
+ }
+
+ public final RuleXTryCatchFinallyExpressionContext ruleXTryCatchFinallyExpression() throws RecognitionException {
+ RuleXTryCatchFinallyExpressionContext _localctx = new RuleXTryCatchFinallyExpressionContext(_ctx, getState());
+ enterRule(_localctx, 172, RULE_ruleXTryCatchFinallyExpression);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1125);
+ match(T__93);
+ setState(1126);
+ ruleXExpression();
+ setState(1138);
+ switch (_input.LA(1)) {
+ case T__96:
+ {
+ setState(1128);
+ _errHandler.sync(this);
+ _alt = 1;
+ do {
+ switch (_alt) {
+ case 1:
+ {
+ {
+ setState(1127);
+ ruleXCatchClause();
+ }
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ setState(1130);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,127,_ctx);
+ } while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
+ setState(1134);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,128,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(1132);
+ match(T__94);
+ }
+ setState(1133);
+ ruleXExpression();
+ }
+ break;
+ }
+ }
+ break;
+ case T__94:
+ {
+ setState(1136);
+ match(T__94);
+ setState(1137);
+ ruleXExpression();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXSynchronizedExpressionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXExpressionContext> ruleXExpression() {
+ return getRuleContexts(RuleXExpressionContext.class);
+ }
+ public RuleXExpressionContext ruleXExpression(int i) {
+ return getRuleContext(RuleXExpressionContext.class,i);
+ }
+ public RuleXSynchronizedExpressionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXSynchronizedExpression; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXSynchronizedExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXSynchronizedExpression(this);
+ }
+ }
+
+ public final RuleXSynchronizedExpressionContext ruleXSynchronizedExpression() throws RecognitionException {
+ RuleXSynchronizedExpressionContext _localctx = new RuleXSynchronizedExpressionContext(_ctx, getState());
+ enterRule(_localctx, 174, RULE_ruleXSynchronizedExpression);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ {
+ setState(1140);
+ match(T__95);
+ setState(1141);
+ match(T__16);
+ }
+ setState(1143);
+ ruleXExpression();
+ setState(1144);
+ match(T__18);
+ setState(1145);
+ ruleXExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXCatchClauseContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleFullJvmFormalParameterContext ruleFullJvmFormalParameter() {
+ return getRuleContext(RuleFullJvmFormalParameterContext.class,0);
+ }
+ public RuleXExpressionContext ruleXExpression() {
+ return getRuleContext(RuleXExpressionContext.class,0);
+ }
+ public RuleXCatchClauseContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXCatchClause; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXCatchClause(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXCatchClause(this);
+ }
+ }
+
+ public final RuleXCatchClauseContext ruleXCatchClause() throws RecognitionException {
+ RuleXCatchClauseContext _localctx = new RuleXCatchClauseContext(_ctx, getState());
+ enterRule(_localctx, 176, RULE_ruleXCatchClause);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ {
+ setState(1147);
+ match(T__96);
+ }
+ setState(1148);
+ match(T__16);
+ setState(1149);
+ ruleFullJvmFormalParameter();
+ setState(1150);
+ match(T__18);
+ setState(1151);
+ ruleXExpression();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleQualifiedNameContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleValidIDContext> ruleValidID() {
+ return getRuleContexts(RuleValidIDContext.class);
+ }
+ public RuleValidIDContext ruleValidID(int i) {
+ return getRuleContext(RuleValidIDContext.class,i);
+ }
+ public RuleQualifiedNameContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleQualifiedName; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleQualifiedName(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleQualifiedName(this);
+ }
+ }
+
+ public final RuleQualifiedNameContext ruleQualifiedName() throws RecognitionException {
+ RuleQualifiedNameContext _localctx = new RuleQualifiedNameContext(_ctx, getState());
+ enterRule(_localctx, 178, RULE_ruleQualifiedName);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1153);
+ ruleValidID();
+ setState(1158);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,130,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ {
+ {
+ {
+ setState(1154);
+ match(T__69);
+ }
+ setState(1155);
+ ruleValidID();
+ }
+ }
+ }
+ setState(1160);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,130,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleNumberContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public TerminalNode RULE_HEX() { return getToken(CodebuffParser.RULE_HEX, 0); }
+ public List<TerminalNode> RULE_INT() { return getTokens(CodebuffParser.RULE_INT); }
+ public TerminalNode RULE_INT(int i) {
+ return getToken(CodebuffParser.RULE_INT, i);
+ }
+ public List<TerminalNode> RULE_DECIMAL() { return getTokens(CodebuffParser.RULE_DECIMAL); }
+ public TerminalNode RULE_DECIMAL(int i) {
+ return getToken(CodebuffParser.RULE_DECIMAL, i);
+ }
+ public RuleNumberContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleNumber; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleNumber(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleNumber(this);
+ }
+ }
+
+ public final RuleNumberContext ruleNumber() throws RecognitionException {
+ RuleNumberContext _localctx = new RuleNumberContext(_ctx, getState());
+ enterRule(_localctx, 180, RULE_ruleNumber);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1167);
+ switch (_input.LA(1)) {
+ case RULE_HEX:
+ {
+ setState(1161);
+ match(RULE_HEX);
+ }
+ break;
+ case RULE_INT:
+ case RULE_DECIMAL:
+ {
+ setState(1162);
+ _la = _input.LA(1);
+ if ( !(_la==RULE_INT || _la==RULE_DECIMAL) ) {
+ _errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ setState(1165);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,131,_ctx) ) {
+ case 1:
+ {
+ setState(1163);
+ match(T__69);
+ setState(1164);
+ _la = _input.LA(1);
+ if ( !(_la==RULE_INT || _la==RULE_DECIMAL) ) {
+ _errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ }
+ break;
+ }
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleJvmTypeReferenceContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleJvmParameterizedTypeReferenceContext ruleJvmParameterizedTypeReference() {
+ return getRuleContext(RuleJvmParameterizedTypeReferenceContext.class,0);
+ }
+ public RuleXFunctionTypeRefContext ruleXFunctionTypeRef() {
+ return getRuleContext(RuleXFunctionTypeRefContext.class,0);
+ }
+ public List<RuleArrayBracketsContext> ruleArrayBrackets() {
+ return getRuleContexts(RuleArrayBracketsContext.class);
+ }
+ public RuleArrayBracketsContext ruleArrayBrackets(int i) {
+ return getRuleContext(RuleArrayBracketsContext.class,i);
+ }
+ public RuleJvmTypeReferenceContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleJvmTypeReference; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmTypeReference(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmTypeReference(this);
+ }
+ }
+
+ public final RuleJvmTypeReferenceContext ruleJvmTypeReference() throws RecognitionException {
+ RuleJvmTypeReferenceContext _localctx = new RuleJvmTypeReferenceContext(_ctx, getState());
+ enterRule(_localctx, 182, RULE_ruleJvmTypeReference);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1177);
+ switch (_input.LA(1)) {
+ case RULE_ID:
+ {
+ setState(1169);
+ ruleJvmParameterizedTypeReference();
+ setState(1173);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,133,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ {
+ {
+ setState(1170);
+ ruleArrayBrackets();
+ }
+ }
+ }
+ setState(1175);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,133,_ctx);
+ }
+ }
+ break;
+ case T__16:
+ case T__57:
+ {
+ setState(1176);
+ ruleXFunctionTypeRef();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleArrayBracketsContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleArrayBracketsContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleArrayBrackets; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleArrayBrackets(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleArrayBrackets(this);
+ }
+ }
+
+ public final RuleArrayBracketsContext ruleArrayBrackets() throws RecognitionException {
+ RuleArrayBracketsContext _localctx = new RuleArrayBracketsContext(_ctx, getState());
+ enterRule(_localctx, 184, RULE_ruleArrayBrackets);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1179);
+ match(T__37);
+ setState(1180);
+ match(T__38);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXFunctionTypeRefContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleJvmTypeReferenceContext> ruleJvmTypeReference() {
+ return getRuleContexts(RuleJvmTypeReferenceContext.class);
+ }
+ public RuleJvmTypeReferenceContext ruleJvmTypeReference(int i) {
+ return getRuleContext(RuleJvmTypeReferenceContext.class,i);
+ }
+ public RuleXFunctionTypeRefContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXFunctionTypeRef; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXFunctionTypeRef(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXFunctionTypeRef(this);
+ }
+ }
+
+ public final RuleXFunctionTypeRefContext ruleXFunctionTypeRef() throws RecognitionException {
+ RuleXFunctionTypeRefContext _localctx = new RuleXFunctionTypeRefContext(_ctx, getState());
+ enterRule(_localctx, 186, RULE_ruleXFunctionTypeRef);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1194);
+ _la = _input.LA(1);
+ if (_la==T__16) {
+ {
+ setState(1182);
+ match(T__16);
+ setState(1191);
+ _la = _input.LA(1);
+ if (_la==T__16 || _la==T__57 || _la==RULE_ID) {
+ {
+ setState(1183);
+ ruleJvmTypeReference();
+ setState(1188);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(1184);
+ match(T__17);
+ setState(1185);
+ ruleJvmTypeReference();
+ }
+ }
+ setState(1190);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+
+ setState(1193);
+ match(T__18);
+ }
+ }
+
+ setState(1196);
+ match(T__57);
+ setState(1197);
+ ruleJvmTypeReference();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleJvmParameterizedTypeReferenceContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleQualifiedNameContext ruleQualifiedName() {
+ return getRuleContext(RuleQualifiedNameContext.class,0);
+ }
+ public List<RuleJvmArgumentTypeReferenceContext> ruleJvmArgumentTypeReference() {
+ return getRuleContexts(RuleJvmArgumentTypeReferenceContext.class);
+ }
+ public RuleJvmArgumentTypeReferenceContext ruleJvmArgumentTypeReference(int i) {
+ return getRuleContext(RuleJvmArgumentTypeReferenceContext.class,i);
+ }
+ public List<RuleValidIDContext> ruleValidID() {
+ return getRuleContexts(RuleValidIDContext.class);
+ }
+ public RuleValidIDContext ruleValidID(int i) {
+ return getRuleContext(RuleValidIDContext.class,i);
+ }
+ public RuleJvmParameterizedTypeReferenceContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleJvmParameterizedTypeReference; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmParameterizedTypeReference(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmParameterizedTypeReference(this);
+ }
+ }
+
+ public final RuleJvmParameterizedTypeReferenceContext ruleJvmParameterizedTypeReference() throws RecognitionException {
+ RuleJvmParameterizedTypeReferenceContext _localctx = new RuleJvmParameterizedTypeReferenceContext(_ctx, getState());
+ enterRule(_localctx, 188, RULE_ruleJvmParameterizedTypeReference);
+ int _la;
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1199);
+ ruleQualifiedName();
+ setState(1230);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,142,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(1200);
+ match(T__44);
+ }
+ setState(1201);
+ ruleJvmArgumentTypeReference();
+ setState(1206);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(1202);
+ match(T__17);
+ setState(1203);
+ ruleJvmArgumentTypeReference();
+ }
+ }
+ setState(1208);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(1209);
+ match(T__45);
+ setState(1227);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,141,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ {
+ {
+ {
+ setState(1210);
+ match(T__69);
+ }
+ setState(1211);
+ ruleValidID();
+ setState(1223);
+ _errHandler.sync(this);
+ switch ( getInterpreter().adaptivePredict(_input,140,_ctx) ) {
+ case 1:
+ {
+ {
+ setState(1212);
+ match(T__44);
+ }
+ setState(1213);
+ ruleJvmArgumentTypeReference();
+ setState(1218);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__17) {
+ {
+ {
+ setState(1214);
+ match(T__17);
+ setState(1215);
+ ruleJvmArgumentTypeReference();
+ }
+ }
+ setState(1220);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ setState(1221);
+ match(T__45);
+ }
+ break;
+ }
+ }
+ }
+ }
+ setState(1229);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,141,_ctx);
+ }
+ }
+ break;
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleJvmArgumentTypeReferenceContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleJvmTypeReferenceContext ruleJvmTypeReference() {
+ return getRuleContext(RuleJvmTypeReferenceContext.class,0);
+ }
+ public RuleJvmWildcardTypeReferenceContext ruleJvmWildcardTypeReference() {
+ return getRuleContext(RuleJvmWildcardTypeReferenceContext.class,0);
+ }
+ public RuleJvmArgumentTypeReferenceContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleJvmArgumentTypeReference; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmArgumentTypeReference(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmArgumentTypeReference(this);
+ }
+ }
+
+ public final RuleJvmArgumentTypeReferenceContext ruleJvmArgumentTypeReference() throws RecognitionException {
+ RuleJvmArgumentTypeReferenceContext _localctx = new RuleJvmArgumentTypeReferenceContext(_ctx, getState());
+ enterRule(_localctx, 190, RULE_ruleJvmArgumentTypeReference);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1234);
+ switch (_input.LA(1)) {
+ case T__16:
+ case T__57:
+ case RULE_ID:
+ {
+ setState(1232);
+ ruleJvmTypeReference();
+ }
+ break;
+ case T__97:
+ {
+ setState(1233);
+ ruleJvmWildcardTypeReference();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleJvmWildcardTypeReferenceContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleJvmUpperBoundContext ruleJvmUpperBound() {
+ return getRuleContext(RuleJvmUpperBoundContext.class,0);
+ }
+ public RuleJvmLowerBoundContext ruleJvmLowerBound() {
+ return getRuleContext(RuleJvmLowerBoundContext.class,0);
+ }
+ public List<RuleJvmUpperBoundAndedContext> ruleJvmUpperBoundAnded() {
+ return getRuleContexts(RuleJvmUpperBoundAndedContext.class);
+ }
+ public RuleJvmUpperBoundAndedContext ruleJvmUpperBoundAnded(int i) {
+ return getRuleContext(RuleJvmUpperBoundAndedContext.class,i);
+ }
+ public List<RuleJvmLowerBoundAndedContext> ruleJvmLowerBoundAnded() {
+ return getRuleContexts(RuleJvmLowerBoundAndedContext.class);
+ }
+ public RuleJvmLowerBoundAndedContext ruleJvmLowerBoundAnded(int i) {
+ return getRuleContext(RuleJvmLowerBoundAndedContext.class,i);
+ }
+ public RuleJvmWildcardTypeReferenceContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleJvmWildcardTypeReference; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmWildcardTypeReference(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmWildcardTypeReference(this);
+ }
+ }
+
+ public final RuleJvmWildcardTypeReferenceContext ruleJvmWildcardTypeReference() throws RecognitionException {
+ RuleJvmWildcardTypeReferenceContext _localctx = new RuleJvmWildcardTypeReferenceContext(_ctx, getState());
+ enterRule(_localctx, 192, RULE_ruleJvmWildcardTypeReference);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1236);
+ match(T__97);
+ setState(1251);
+ switch (_input.LA(1)) {
+ case T__84:
+ {
+ setState(1237);
+ ruleJvmUpperBound();
+ setState(1241);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__98) {
+ {
+ {
+ setState(1238);
+ ruleJvmUpperBoundAnded();
+ }
+ }
+ setState(1243);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ break;
+ case T__85:
+ {
+ setState(1244);
+ ruleJvmLowerBound();
+ setState(1248);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==T__98) {
+ {
+ {
+ setState(1245);
+ ruleJvmLowerBoundAnded();
+ }
+ }
+ setState(1250);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ break;
+ case T__17:
+ case T__45:
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleJvmUpperBoundContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleJvmTypeReferenceContext ruleJvmTypeReference() {
+ return getRuleContext(RuleJvmTypeReferenceContext.class,0);
+ }
+ public RuleJvmUpperBoundContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleJvmUpperBound; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmUpperBound(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmUpperBound(this);
+ }
+ }
+
+ public final RuleJvmUpperBoundContext ruleJvmUpperBound() throws RecognitionException {
+ RuleJvmUpperBoundContext _localctx = new RuleJvmUpperBoundContext(_ctx, getState());
+ enterRule(_localctx, 194, RULE_ruleJvmUpperBound);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1253);
+ match(T__84);
+ setState(1254);
+ ruleJvmTypeReference();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleJvmUpperBoundAndedContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleJvmTypeReferenceContext ruleJvmTypeReference() {
+ return getRuleContext(RuleJvmTypeReferenceContext.class,0);
+ }
+ public RuleJvmUpperBoundAndedContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleJvmUpperBoundAnded; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmUpperBoundAnded(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmUpperBoundAnded(this);
+ }
+ }
+
+ public final RuleJvmUpperBoundAndedContext ruleJvmUpperBoundAnded() throws RecognitionException {
+ RuleJvmUpperBoundAndedContext _localctx = new RuleJvmUpperBoundAndedContext(_ctx, getState());
+ enterRule(_localctx, 196, RULE_ruleJvmUpperBoundAnded);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1256);
+ match(T__98);
+ setState(1257);
+ ruleJvmTypeReference();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleJvmLowerBoundContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleJvmTypeReferenceContext ruleJvmTypeReference() {
+ return getRuleContext(RuleJvmTypeReferenceContext.class,0);
+ }
+ public RuleJvmLowerBoundContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleJvmLowerBound; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmLowerBound(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmLowerBound(this);
+ }
+ }
+
+ public final RuleJvmLowerBoundContext ruleJvmLowerBound() throws RecognitionException {
+ RuleJvmLowerBoundContext _localctx = new RuleJvmLowerBoundContext(_ctx, getState());
+ enterRule(_localctx, 198, RULE_ruleJvmLowerBound);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1259);
+ match(T__85);
+ setState(1260);
+ ruleJvmTypeReference();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleJvmLowerBoundAndedContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleJvmTypeReferenceContext ruleJvmTypeReference() {
+ return getRuleContext(RuleJvmTypeReferenceContext.class,0);
+ }
+ public RuleJvmLowerBoundAndedContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleJvmLowerBoundAnded; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleJvmLowerBoundAnded(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleJvmLowerBoundAnded(this);
+ }
+ }
+
+ public final RuleJvmLowerBoundAndedContext ruleJvmLowerBoundAnded() throws RecognitionException {
+ RuleJvmLowerBoundAndedContext _localctx = new RuleJvmLowerBoundAndedContext(_ctx, getState());
+ enterRule(_localctx, 200, RULE_ruleJvmLowerBoundAnded);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1262);
+ match(T__98);
+ setState(1263);
+ ruleJvmTypeReference();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleQualifiedNameWithWildcardContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public RuleQualifiedNameContext ruleQualifiedName() {
+ return getRuleContext(RuleQualifiedNameContext.class,0);
+ }
+ public RuleQualifiedNameWithWildcardContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleQualifiedNameWithWildcard; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleQualifiedNameWithWildcard(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleQualifiedNameWithWildcard(this);
+ }
+ }
+
+ public final RuleQualifiedNameWithWildcardContext ruleQualifiedNameWithWildcard() throws RecognitionException {
+ RuleQualifiedNameWithWildcardContext _localctx = new RuleQualifiedNameWithWildcardContext(_ctx, getState());
+ enterRule(_localctx, 202, RULE_ruleQualifiedNameWithWildcard);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1265);
+ ruleQualifiedName();
+ setState(1266);
+ match(T__69);
+ setState(1267);
+ match(T__31);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleValidIDContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public TerminalNode RULE_ID() { return getToken(CodebuffParser.RULE_ID, 0); }
+ public RuleValidIDContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleValidID; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleValidID(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleValidID(this);
+ }
+ }
+
+ public final RuleValidIDContext ruleValidID() throws RecognitionException {
+ RuleValidIDContext _localctx = new RuleValidIDContext(_ctx, getState());
+ enterRule(_localctx, 204, RULE_ruleValidID);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1269);
+ match(RULE_ID);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleXImportSectionContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleXImportDeclarationContext> ruleXImportDeclaration() {
+ return getRuleContexts(RuleXImportDeclarationContext.class);
+ }
+ public RuleXImportDeclarationContext ruleXImportDeclaration(int i) {
+ return getRuleContext(RuleXImportDeclarationContext.class,i);
+ }
+ public RuleXImportSectionContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleXImportSection; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleXImportSection(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleXImportSection(this);
+ }
+ }
+
+ public final RuleXImportSectionContext ruleXImportSection() throws RecognitionException {
+ RuleXImportSectionContext _localctx = new RuleXImportSectionContext(_ctx, getState());
+ enterRule(_localctx, 206, RULE_ruleXImportSection);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1272);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ do {
+ {
+ {
+ setState(1271);
+ ruleXImportDeclaration();
+ }
+ }
+ setState(1274);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ } while ( _la==T__28 );
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class RuleQualifiedNameInStaticImportContext extends org.antlr.v4.runtime.RuleContextWithAltNum {
+ public List<RuleValidIDContext> ruleValidID() {
+ return getRuleContexts(RuleValidIDContext.class);
+ }
+ public RuleValidIDContext ruleValidID(int i) {
+ return getRuleContext(RuleValidIDContext.class,i);
+ }
+ public RuleQualifiedNameInStaticImportContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_ruleQualifiedNameInStaticImport; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).enterRuleQualifiedNameInStaticImport(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof CodebuffListener ) ((CodebuffListener)listener).exitRuleQualifiedNameInStaticImport(this);
+ }
+ }
+
+ public final RuleQualifiedNameInStaticImportContext ruleQualifiedNameInStaticImport() throws RecognitionException {
+ RuleQualifiedNameInStaticImportContext _localctx = new RuleQualifiedNameInStaticImportContext(_ctx, getState());
+ enterRule(_localctx, 208, RULE_ruleQualifiedNameInStaticImport);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(1279);
+ _errHandler.sync(this);
+ _alt = 1;
+ do {
+ switch (_alt) {
+ case 1:
+ {
+ {
+ setState(1276);
+ ruleValidID();
+ setState(1277);
+ match(T__69);
+ }
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ setState(1281);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,148,_ctx);
+ } while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static final String _serializedATN =
+ "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3n\u0506\4\2\t\2\4"+
+ "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+
+ "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+
+ "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+
+ "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+
+ "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+
+ ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+
+ "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+
+ "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+
+ "\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+
+ "\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+
+ "`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\3\2\5"+
+ "\2\u00d6\n\2\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\5\3\u00e4"+
+ "\n\3\3\3\7\3\u00e7\n\3\f\3\16\3\u00ea\13\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4"+
+ "\3\4\7\4\u00f4\n\4\f\4\16\4\u00f7\13\4\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\5"+
+ "\7\5\u0101\n\5\f\5\16\5\u0104\13\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6\7\6"+
+ "\u010e\n\6\f\6\16\6\u0111\13\6\3\6\3\6\3\7\3\7\3\7\3\7\3\7\7\7\u011a\n"+
+ "\7\f\7\16\7\u011d\13\7\3\7\3\7\3\b\3\b\3\b\3\b\3\b\7\b\u0126\n\b\f\b\16"+
+ "\b\u0129\13\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\7\t\u0132\n\t\f\t\16\t\u0135"+
+ "\13\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\13\3\13\3"+
+ "\13\3\f\3\f\3\f\3\r\3\r\3\r\3\r\7\r\u014e\n\r\f\r\16\r\u0151\13\r\3\r"+
+ "\3\r\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\17\7\17\u015d\n\17\f\17\16\17"+
+ "\u0160\13\17\5\17\u0162\n\17\3\17\3\17\3\17\3\17\3\17\3\20\3\20\3\20\3"+
+ "\20\3\20\3\20\7\20\u016f\n\20\f\20\16\20\u0172\13\20\5\20\u0174\n\20\3"+
+ "\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\7\21\u017f\n\21\f\21\16\21"+
+ "\u0182\13\21\5\21\u0184\n\21\3\21\3\21\3\21\3\21\3\21\3\22\3\22\3\22\3"+
+ "\22\3\22\3\22\7\22\u0191\n\22\f\22\16\22\u0194\13\22\5\22\u0196\n\22\3"+
+ "\22\3\22\3\22\3\23\3\23\3\23\3\23\3\23\3\23\7\23\u01a1\n\23\f\23\16\23"+
+ "\u01a4\13\23\5\23\u01a6\n\23\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\24\3"+
+ "\24\7\24\u01b1\n\24\f\24\16\24\u01b4\13\24\5\24\u01b6\n\24\3\24\3\24\3"+
+ "\24\3\25\3\25\3\25\3\25\3\25\3\25\7\25\u01c1\n\25\f\25\16\25\u01c4\13"+
+ "\25\5\25\u01c6\n\25\3\25\3\25\3\25\3\26\3\26\3\26\3\26\3\26\3\26\7\26"+
+ "\u01d1\n\26\f\26\16\26\u01d4\13\26\5\26\u01d6\n\26\3\26\3\26\3\26\3\27"+
+ "\3\27\3\27\3\27\3\27\3\27\7\27\u01e1\n\27\f\27\16\27\u01e4\13\27\5\27"+
+ "\u01e6\n\27\3\27\3\27\3\27\3\30\3\30\3\30\3\31\3\31\3\32\3\32\3\32\5\32"+
+ "\u01f3\n\32\3\32\3\32\3\32\5\32\u01f8\n\32\3\32\3\32\3\32\3\32\5\32\u01fe"+
+ "\n\32\3\32\5\32\u0201\n\32\3\33\3\33\3\33\3\33\3\33\3\33\7\33\u0209\n"+
+ "\33\f\33\16\33\u020c\13\33\3\33\5\33\u020f\n\33\3\33\5\33\u0212\n\33\3"+
+ "\34\3\34\3\34\3\34\3\34\3\35\3\35\3\35\3\35\3\35\3\35\7\35\u021f\n\35"+
+ "\f\35\16\35\u0222\13\35\5\35\u0224\n\35\3\35\3\35\3\35\3\35\6\35\u022a"+
+ "\n\35\r\35\16\35\u022b\5\35\u022e\n\35\5\35\u0230\n\35\3\36\3\36\3\36"+
+ "\3\36\3\36\3\36\7\36\u0238\n\36\f\36\16\36\u023b\13\36\5\36\u023d\n\36"+
+ "\3\36\3\36\5\36\u0241\n\36\3\37\3\37\5\37\u0245\n\37\3 \3 \3!\3!\3!\3"+
+ "!\3!\3!\3!\3!\5!\u0251\n!\5!\u0253\n!\3\"\3\"\3#\3#\3#\3#\3#\3#\3#\3#"+
+ "\3#\3#\5#\u0261\n#\3#\5#\u0264\n#\3$\3$\3$\3$\7$\u026a\n$\f$\16$\u026d"+
+ "\13$\3%\3%\3&\3&\3&\3&\7&\u0275\n&\f&\16&\u0278\13&\3\'\3\'\3(\3(\3(\3"+
+ "(\7(\u0280\n(\f(\16(\u0283\13(\3)\3)\3*\3*\3*\3*\3*\3*\7*\u028d\n*\f*"+
+ "\16*\u0290\13*\3+\3+\3+\3+\3+\5+\u0297\n+\3,\3,\3,\3,\7,\u029d\n,\f,\16"+
+ ",\u02a0\13,\3-\3-\3-\3-\3-\3-\3-\3-\3-\3-\5-\u02ac\n-\3-\3-\3-\3-\3-\5"+
+ "-\u02b3\n-\3-\3-\5-\u02b7\n-\3.\3.\3.\3.\7.\u02bd\n.\f.\16.\u02c0\13."+
+ "\3/\3/\3\60\3\60\3\60\3\60\7\60\u02c8\n\60\f\60\16\60\u02cb\13\60\3\61"+
+ "\3\61\3\62\3\62\3\62\3\62\5\62\u02d3\n\62\3\63\3\63\3\64\3\64\3\64\7\64"+
+ "\u02da\n\64\f\64\16\64\u02dd\13\64\3\65\3\65\5\65\u02e1\n\65\3\66\3\66"+
+ "\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\3\67\7\67\u02f1"+
+ "\n\67\f\67\16\67\u02f4\13\67\3\67\3\67\5\67\u02f8\n\67\3\67\3\67\3\67"+
+ "\3\67\3\67\3\67\7\67\u0300\n\67\f\67\16\67\u0303\13\67\5\67\u0305\n\67"+
+ "\3\67\5\67\u0308\n\67\3\67\5\67\u030b\n\67\7\67\u030d\n\67\f\67\16\67"+
+ "\u0310\13\67\38\38\38\38\38\38\38\38\38\38\38\38\38\38\38\58\u0321\n8"+
+ "\39\39\39\39\39\39\39\59\u032a\n9\3:\3:\5:\u032e\n:\3;\3;\3;\3;\3;\7;"+
+ "\u0335\n;\f;\16;\u0338\13;\5;\u033a\n;\3;\3;\3<\3<\3<\3<\3<\7<\u0343\n"+
+ "<\f<\16<\u0346\13<\5<\u0348\n<\3<\3<\3=\3=\3=\3=\7=\u0350\n=\f=\16=\u0353"+
+ "\13=\5=\u0355\n=\3=\5=\u0358\n=\3=\3=\3=\3>\3>\5>\u035f\n>\7>\u0361\n"+
+ ">\f>\16>\u0364\13>\3?\3?\3?\7?\u0369\n?\f?\16?\u036c\13?\5?\u036e\n?\3"+
+ "?\3?\3?\3?\3@\3@\3@\3@\3A\3A\3A\3A\3A\3A\3A\5A\u037f\nA\3B\3B\3B\3B\3"+
+ "B\3B\3B\3B\3B\3B\3B\5B\u038c\nB\3B\5B\u038f\nB\3B\3B\7B\u0393\nB\fB\16"+
+ "B\u0396\13B\3B\3B\3B\5B\u039b\nB\3B\3B\3C\5C\u03a0\nC\3C\3C\5C\u03a4\n"+
+ "C\3C\3C\3C\5C\u03a9\nC\3D\3D\3D\3D\3D\3D\3D\3D\3D\3E\3E\3E\3E\3E\7E\u03b9"+
+ "\nE\fE\16E\u03bc\13E\5E\u03be\nE\3E\3E\5E\u03c2\nE\3E\3E\3E\3E\7E\u03c8"+
+ "\nE\fE\16E\u03cb\13E\5E\u03cd\nE\3E\3E\3E\3F\3F\3F\3F\3F\3F\3G\3G\3G\3"+
+ "G\3G\3G\3G\3H\3H\3H\5H\u03e2\nH\7H\u03e4\nH\fH\16H\u03e7\13H\3H\3H\3I"+
+ "\3I\5I\u03ed\nI\3J\3J\3J\3J\3J\5J\u03f4\nJ\3J\3J\5J\u03f8\nJ\3K\5K\u03fb"+
+ "\nK\3K\3K\3L\3L\3L\3M\3M\3M\3M\7M\u0406\nM\fM\16M\u0409\13M\3M\3M\5M\u040d"+
+ "\nM\3M\3M\3M\3M\3M\3M\7M\u0415\nM\fM\16M\u0418\13M\5M\u041a\nM\3M\5M\u041d"+
+ "\nM\3M\5M\u0420\nM\3N\3N\3N\3N\3N\5N\u0427\nN\3O\3O\5O\u042b\nO\3P\3P"+
+ "\3P\3P\3P\3P\7P\u0433\nP\fP\16P\u0436\13P\3P\3P\5P\u043a\nP\3P\3P\3P\3"+
+ "P\3P\7P\u0441\nP\fP\16P\u0444\13P\5P\u0446\nP\3P\5P\u0449\nP\3P\5P\u044c"+
+ "\nP\3Q\3Q\3R\3R\3S\3S\3T\3T\3U\3U\3U\3U\7U\u045a\nU\fU\16U\u045d\13U\3"+
+ "U\3U\3V\3V\3V\3W\3W\5W\u0466\nW\3X\3X\3X\6X\u046b\nX\rX\16X\u046c\3X\3"+
+ "X\5X\u0471\nX\3X\3X\5X\u0475\nX\3Y\3Y\3Y\3Y\3Y\3Y\3Y\3Z\3Z\3Z\3Z\3Z\3"+
+ "Z\3[\3[\3[\7[\u0487\n[\f[\16[\u048a\13[\3\\\3\\\3\\\3\\\5\\\u0490\n\\"+
+ "\5\\\u0492\n\\\3]\3]\7]\u0496\n]\f]\16]\u0499\13]\3]\5]\u049c\n]\3^\3"+
+ "^\3^\3_\3_\3_\3_\7_\u04a5\n_\f_\16_\u04a8\13_\5_\u04aa\n_\3_\5_\u04ad"+
+ "\n_\3_\3_\3_\3`\3`\3`\3`\3`\7`\u04b7\n`\f`\16`\u04ba\13`\3`\3`\3`\3`\3"+
+ "`\3`\3`\7`\u04c3\n`\f`\16`\u04c6\13`\3`\3`\5`\u04ca\n`\7`\u04cc\n`\f`"+
+ "\16`\u04cf\13`\5`\u04d1\n`\3a\3a\5a\u04d5\na\3b\3b\3b\7b\u04da\nb\fb\16"+
+ "b\u04dd\13b\3b\3b\7b\u04e1\nb\fb\16b\u04e4\13b\5b\u04e6\nb\3c\3c\3c\3"+
+ "d\3d\3d\3e\3e\3e\3f\3f\3f\3g\3g\3g\3g\3h\3h\3i\6i\u04fb\ni\ri\16i\u04fc"+
+ "\3j\3j\3j\6j\u0502\nj\rj\16j\u0503\3j\2\2k\2\4\6\b\n\f\16\20\22\24\26"+
+ "\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|"+
+ "~\u0080\u0082\u0084\u0086\u0088\u008a\u008c\u008e\u0090\u0092\u0094\u0096"+
+ "\u0098\u009a\u009c\u009e\u00a0\u00a2\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae"+
+ "\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba\u00bc\u00be\u00c0\u00c2\u00c4\u00c6"+
+ "\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2\2\f\3\2\64\67\3\2?@\4\2\"\"AC\4\2"+
+ "?@DD\3\2FG\3\2HI\3\2HJ\3\2UV\3\2Z[\3\2gh\u0564\2\u00d5\3\2\2\2\4\u00d9"+
+ "\3\2\2\2\6\u00ed\3\2\2\2\b\u00fa\3\2\2\2\n\u0107\3\2\2\2\f\u0114\3\2\2"+
+ "\2\16\u0120\3\2\2\2\20\u012c\3\2\2\2\22\u0138\3\2\2\2\24\u0143\3\2\2\2"+
+ "\26\u0146\3\2\2\2\30\u0149\3\2\2\2\32\u0154\3\2\2\2\34\u0156\3\2\2\2\36"+
+ "\u0168\3\2\2\2 \u0178\3\2\2\2\"\u018a\3\2\2\2$\u019a\3\2\2\2&\u01aa\3"+
+ "\2\2\2(\u01ba\3\2\2\2*\u01ca\3\2\2\2,\u01da\3\2\2\2.\u01ea\3\2\2\2\60"+
+ "\u01ed\3\2\2\2\62\u01ef\3\2\2\2\64\u0202\3\2\2\2\66\u0213\3\2\2\28\u022f"+
+ "\3\2\2\2:\u0240\3\2\2\2<\u0244\3\2\2\2>\u0246\3\2\2\2@\u0252\3\2\2\2B"+
+ "\u0254\3\2\2\2D\u0263\3\2\2\2F\u0265\3\2\2\2H\u026e\3\2\2\2J\u0270\3\2"+
+ "\2\2L\u0279\3\2\2\2N\u027b\3\2\2\2P\u0284\3\2\2\2R\u0286\3\2\2\2T\u0296"+
+ "\3\2\2\2V\u0298\3\2\2\2X\u02b6\3\2\2\2Z\u02b8\3\2\2\2\\\u02c1\3\2\2\2"+
+ "^\u02c3\3\2\2\2`\u02cc\3\2\2\2b\u02d2\3\2\2\2d\u02d4\3\2\2\2f\u02d6\3"+
+ "\2\2\2h\u02de\3\2\2\2j\u02e2\3\2\2\2l\u02e4\3\2\2\2n\u0320\3\2\2\2p\u0329"+
+ "\3\2\2\2r\u032d\3\2\2\2t\u032f\3\2\2\2v\u033d\3\2\2\2x\u034b\3\2\2\2z"+
+ "\u0362\3\2\2\2|\u036d\3\2\2\2~\u0373\3\2\2\2\u0080\u0377\3\2\2\2\u0082"+
+ "\u0380\3\2\2\2\u0084\u039f\3\2\2\2\u0086\u03aa\3\2\2\2\u0088\u03b3\3\2"+
+ "\2\2\u008a\u03d1\3\2\2\2\u008c\u03d7\3\2\2\2\u008e\u03de\3\2\2\2\u0090"+
+ "\u03ec\3\2\2\2\u0092\u03ee\3\2\2\2\u0094\u03fa\3\2\2\2\u0096\u03fe\3\2"+
+ "\2\2\u0098\u040c\3\2\2\2\u009a\u0426\3\2\2\2\u009c\u042a\3\2\2\2\u009e"+
+ "\u042c\3\2\2\2\u00a0\u044d\3\2\2\2\u00a2\u044f\3\2\2\2\u00a4\u0451\3\2"+
+ "\2\2\u00a6\u0453\3\2\2\2\u00a8\u0455\3\2\2\2\u00aa\u0460\3\2\2\2\u00ac"+
+ "\u0463\3\2\2\2\u00ae\u0467\3\2\2\2\u00b0\u0476\3\2\2\2\u00b2\u047d\3\2"+
+ "\2\2\u00b4\u0483\3\2\2\2\u00b6\u0491\3\2\2\2\u00b8\u049b\3\2\2\2\u00ba"+
+ "\u049d\3\2\2\2\u00bc\u04ac\3\2\2\2\u00be\u04b1\3\2\2\2\u00c0\u04d4\3\2"+
+ "\2\2\u00c2\u04d6\3\2\2\2\u00c4\u04e7\3\2\2\2\u00c6\u04ea\3\2\2\2\u00c8"+
+ "\u04ed\3\2\2\2\u00ca\u04f0\3\2\2\2\u00cc\u04f3\3\2\2\2\u00ce\u04f7\3\2"+
+ "\2\2\u00d0\u04fa\3\2\2\2\u00d2\u0501\3\2\2\2\u00d4\u00d6\5\u00d0i\2\u00d5"+
+ "\u00d4\3\2\2\2\u00d5\u00d6\3\2\2\2\u00d6\u00d7\3\2\2\2\u00d7\u00d8\5\4"+
+ "\3\2\u00d8\3\3\2\2\2\u00d9\u00da\7\3\2\2\u00da\u00db\5\u00b4[\2\u00db"+
+ "\u00e8\7\4\2\2\u00dc\u00e4\5\6\4\2\u00dd\u00e4\5\b\5\2\u00de\u00e4\5\22"+
+ "\n\2\u00df\u00e4\5\n\6\2\u00e0\u00e4\5\20\t\2\u00e1\u00e4\5\f\7\2\u00e2"+
+ "\u00e4\5\16\b\2\u00e3\u00dc\3\2\2\2\u00e3\u00dd\3\2\2\2\u00e3\u00de\3"+
+ "\2\2\2\u00e3\u00df\3\2\2\2\u00e3\u00e0\3\2\2\2\u00e3\u00e1\3\2\2\2\u00e3"+
+ "\u00e2\3\2\2\2\u00e4\u00e7\3\2\2\2\u00e5\u00e7\5\30\r\2\u00e6\u00e3\3"+
+ "\2\2\2\u00e6\u00e5\3\2\2\2\u00e7\u00ea\3\2\2\2\u00e8\u00e6\3\2\2\2\u00e8"+
+ "\u00e9\3\2\2\2\u00e9\u00eb\3\2\2\2\u00ea\u00e8\3\2\2\2\u00eb\u00ec\7\5"+
+ "\2\2\u00ec\5\3\2\2\2\u00ed\u00ee\7\6\2\2\u00ee\u00ef\5\u00ceh\2\u00ef"+
+ "\u00f5\7\4\2\2\u00f0\u00f4\5\34\17\2\u00f1\u00f4\5\36\20\2\u00f2\u00f4"+
+ "\5 \21\2\u00f3\u00f0\3\2\2\2\u00f3\u00f1\3\2\2\2\u00f3\u00f2\3\2\2\2\u00f4"+
+ "\u00f7\3\2\2\2\u00f5\u00f3\3\2\2\2\u00f5\u00f6\3\2\2\2\u00f6\u00f8\3\2"+
+ "\2\2\u00f7\u00f5\3\2\2\2\u00f8\u00f9\7\5\2\2\u00f9\7\3\2\2\2\u00fa\u00fb"+
+ "\7\7\2\2\u00fb\u00fc\5\u00ceh\2\u00fc\u0102\7\4\2\2\u00fd\u0101\5\34\17"+
+ "\2\u00fe\u0101\5\36\20\2\u00ff\u0101\5 \21\2\u0100\u00fd\3\2\2\2\u0100"+
+ "\u00fe\3\2\2\2\u0100\u00ff\3\2\2\2\u0101\u0104\3\2\2\2\u0102\u0100\3\2"+
+ "\2\2\u0102\u0103\3\2\2\2\u0103\u0105\3\2\2\2\u0104\u0102\3\2\2\2\u0105"+
+ "\u0106\7\5\2\2\u0106\t\3\2\2\2\u0107\u0108\7\b\2\2\u0108\u0109\5\u00ce"+
+ "h\2\u0109\u010f\7\4\2\2\u010a\u010e\5$\23\2\u010b\u010e\5\"\22\2\u010c"+
+ "\u010e\5\34\17\2\u010d\u010a\3\2\2\2\u010d\u010b\3\2\2\2\u010d\u010c\3"+
+ "\2\2\2\u010e\u0111\3\2\2\2\u010f\u010d\3\2\2\2\u010f\u0110\3\2\2\2\u0110"+
+ "\u0112\3\2\2\2\u0111\u010f\3\2\2\2\u0112\u0113\7\5\2\2\u0113\13\3\2\2"+
+ "\2\u0114\u0115\7\t\2\2\u0115\u0116\5\u00ceh\2\u0116\u011b\7\4\2\2\u0117"+
+ "\u011a\5&\24\2\u0118\u011a\5\34\17\2\u0119\u0117\3\2\2\2\u0119\u0118\3"+
+ "\2\2\2\u011a\u011d\3\2\2\2\u011b\u0119\3\2\2\2\u011b\u011c\3\2\2\2\u011c"+
+ "\u011e\3\2\2\2\u011d\u011b\3\2\2\2\u011e\u011f\7\5\2\2\u011f\r\3\2\2\2"+
+ "\u0120\u0121\7\n\2\2\u0121\u0122\5\u00ceh\2\u0122\u0127\7\4\2\2\u0123"+
+ "\u0126\5(\25\2\u0124\u0126\5\34\17\2\u0125\u0123\3\2\2\2\u0125\u0124\3"+
+ "\2\2\2\u0126\u0129\3\2\2\2\u0127\u0125\3\2\2\2\u0127\u0128\3\2\2\2\u0128"+
+ "\u012a\3\2\2\2\u0129\u0127\3\2\2\2\u012a\u012b\7\5\2\2\u012b\17\3\2\2"+
+ "\2\u012c\u012d\7\13\2\2\u012d\u012e\5\u00ceh\2\u012e\u0133\7\4\2\2\u012f"+
+ "\u0132\5*\26\2\u0130\u0132\5,\27\2\u0131\u012f\3\2\2\2\u0131\u0130\3\2"+
+ "\2\2\u0132\u0135\3\2\2\2\u0133\u0131\3\2\2\2\u0133\u0134\3\2\2\2\u0134"+
+ "\u0136\3\2\2\2\u0135\u0133\3\2\2\2\u0136\u0137\7\5\2\2\u0137\21\3\2\2"+
+ "\2\u0138\u0139\7\f\2\2\u0139\u013a\5\u00ceh\2\u013a\u013b\7\4\2\2\u013b"+
+ "\u013c\7\r\2\2\u013c\u013d\5\60\31\2\u013d\u013e\7\16\2\2\u013e\u013f"+
+ "\5\60\31\2\u013f\u0140\5\24\13\2\u0140\u0141\5\26\f\2\u0141\u0142\7\5"+
+ "\2\2\u0142\23\3\2\2\2\u0143\u0144\7\17\2\2\u0144\u0145\5\u008eH\2\u0145"+
+ "\25\3\2\2\2\u0146\u0147\7\20\2\2\u0147\u0148\5\u008eH\2\u0148\27\3\2\2"+
+ "\2\u0149\u014a\7\21\2\2\u014a\u014b\5\u00ceh\2\u014b\u014f\7\4\2\2\u014c"+
+ "\u014e\5\32\16\2\u014d\u014c\3\2\2\2\u014e\u0151\3\2\2\2\u014f\u014d\3"+
+ "\2\2\2\u014f\u0150\3\2\2\2\u0150\u0152\3\2\2\2\u0151\u014f\3\2\2\2\u0152"+
+ "\u0153\7\5\2\2\u0153\31\3\2\2\2\u0154\u0155\5\u00ceh\2\u0155\33\3\2\2"+
+ "\2\u0156\u0157\7\22\2\2\u0157\u0158\5\u00ceh\2\u0158\u0161\7\23\2\2\u0159"+
+ "\u015e\5.\30\2\u015a\u015b\7\24\2\2\u015b\u015d\5.\30\2\u015c\u015a\3"+
+ "\2\2\2\u015d\u0160\3\2\2\2\u015e\u015c\3\2\2\2\u015e\u015f\3\2\2\2\u015f"+
+ "\u0162\3\2\2\2\u0160\u015e\3\2\2\2\u0161\u0159\3\2\2\2\u0161\u0162\3\2"+
+ "\2\2\u0162\u0163\3\2\2\2\u0163\u0164\7\25\2\2\u0164\u0165\7\26\2\2\u0165"+
+ "\u0166\5\u00be`\2\u0166\u0167\5\u008eH\2\u0167\35\3\2\2\2\u0168\u0169"+
+ "\7\27\2\2\u0169\u016a\5\u00ceh\2\u016a\u0173\7\23\2\2\u016b\u0170\5.\30"+
+ "\2\u016c\u016d\7\24\2\2\u016d\u016f\5.\30\2\u016e\u016c\3\2\2\2\u016f"+
+ "\u0172\3\2\2\2\u0170\u016e\3\2\2\2\u0170\u0171\3\2\2\2\u0171\u0174\3\2"+
+ "\2\2\u0172\u0170\3\2\2\2\u0173\u016b\3\2\2\2\u0173\u0174\3\2\2\2\u0174"+
+ "\u0175\3\2\2\2\u0175\u0176\7\25\2\2\u0176\u0177\5\u008eH\2\u0177\37\3"+
+ "\2\2\2\u0178\u0179\7\30\2\2\u0179\u017a\5\u00ceh\2\u017a\u0183\7\23\2"+
+ "\2\u017b\u0180\5.\30\2\u017c\u017d\7\24\2\2\u017d\u017f\5.\30\2\u017e"+
+ "\u017c\3\2\2\2\u017f\u0182\3\2\2\2\u0180\u017e\3\2\2\2\u0180\u0181\3\2"+
+ "\2\2\u0181\u0184\3\2\2\2\u0182\u0180\3\2\2\2\u0183\u017b\3\2\2\2\u0183"+
+ "\u0184\3\2\2\2\u0184\u0185\3\2\2\2\u0185\u0186\7\25\2\2\u0186\u0187\7"+
+ "\26\2\2\u0187\u0188\7i\2\2\u0188\u0189\5\u008eH\2\u0189!\3\2\2\2\u018a"+
+ "\u018b\7\31\2\2\u018b\u018c\5\u00ceh\2\u018c\u0195\7\23\2\2\u018d\u0192"+
+ "\5.\30\2\u018e\u018f\7\24\2\2\u018f\u0191\5.\30\2\u0190\u018e\3\2\2\2"+
+ "\u0191\u0194\3\2\2\2\u0192\u0190\3\2\2\2\u0192\u0193\3\2\2\2\u0193\u0196"+
+ "\3\2\2\2\u0194\u0192\3\2\2\2\u0195\u018d\3\2\2\2\u0195\u0196\3\2\2\2\u0196"+
+ "\u0197\3\2\2\2\u0197\u0198\7\25\2\2\u0198\u0199\5\u008eH\2\u0199#\3\2"+
+ "\2\2\u019a\u019b\7\32\2\2\u019b\u019c\5\u00ceh\2\u019c\u01a5\7\23\2\2"+
+ "\u019d\u01a2\5.\30\2\u019e\u019f\7\24\2\2\u019f\u01a1\5.\30\2\u01a0\u019e"+
+ "\3\2\2\2\u01a1\u01a4\3\2\2\2\u01a2\u01a0\3\2\2\2\u01a2\u01a3\3\2\2\2\u01a3"+
+ "\u01a6\3\2\2\2\u01a4\u01a2\3\2\2\2\u01a5\u019d\3\2\2\2\u01a5\u01a6\3\2"+
+ "\2\2\u01a6\u01a7\3\2\2\2\u01a7\u01a8\7\25\2\2\u01a8\u01a9\5\u008eH\2\u01a9"+
+ "%\3\2\2\2\u01aa\u01ab\7\33\2\2\u01ab\u01ac\5\u00ceh\2\u01ac\u01b5\7\23"+
+ "\2\2\u01ad\u01b2\5.\30\2\u01ae\u01af\7\24\2\2\u01af\u01b1\5.\30\2\u01b0"+
+ "\u01ae\3\2\2\2\u01b1\u01b4\3\2\2\2\u01b2\u01b0\3\2\2\2\u01b2\u01b3\3\2"+
+ "\2\2\u01b3\u01b6\3\2\2\2\u01b4\u01b2\3\2\2\2\u01b5\u01ad\3\2\2\2\u01b5"+
+ "\u01b6\3\2\2\2\u01b6\u01b7\3\2\2\2\u01b7\u01b8\7\25\2\2\u01b8\u01b9\5"+
+ "\u008eH\2\u01b9\'\3\2\2\2\u01ba\u01bb\7\34\2\2\u01bb\u01bc\5\u00ceh\2"+
+ "\u01bc\u01c5\7\23\2\2\u01bd\u01c2\5.\30\2\u01be\u01bf\7\24\2\2\u01bf\u01c1"+
+ "\5.\30\2\u01c0\u01be\3\2\2\2\u01c1\u01c4\3\2\2\2\u01c2\u01c0\3\2\2\2\u01c2"+
+ "\u01c3\3\2\2\2\u01c3\u01c6\3\2\2\2\u01c4\u01c2\3\2\2\2\u01c5\u01bd\3\2"+
+ "\2\2\u01c5\u01c6\3\2\2\2\u01c6\u01c7\3\2\2\2\u01c7\u01c8\7\25\2\2\u01c8"+
+ "\u01c9\5\u008eH\2\u01c9)\3\2\2\2\u01ca\u01cb\7\35\2\2\u01cb\u01cc\5\u00ce"+
+ "h\2\u01cc\u01d5\7\23\2\2\u01cd\u01d2\5.\30\2\u01ce\u01cf\7\24\2\2\u01cf"+
+ "\u01d1\5.\30\2\u01d0\u01ce\3\2\2\2\u01d1\u01d4\3\2\2\2\u01d2\u01d0\3\2"+
+ "\2\2\u01d2\u01d3\3\2\2\2\u01d3\u01d6\3\2\2\2\u01d4\u01d2\3\2\2\2\u01d5"+
+ "\u01cd\3\2\2\2\u01d5\u01d6\3\2\2\2\u01d6\u01d7\3\2\2\2\u01d7\u01d8\7\25"+
+ "\2\2\u01d8\u01d9\5\u008eH\2\u01d9+\3\2\2\2\u01da\u01db\7\36\2\2\u01db"+
+ "\u01dc\5\u00ceh\2\u01dc\u01e5\7\23\2\2\u01dd\u01e2\5.\30\2\u01de\u01df"+
+ "\7\24\2\2\u01df\u01e1\5.\30\2\u01e0\u01de\3\2\2\2\u01e1\u01e4\3\2\2\2"+
+ "\u01e2\u01e0\3\2\2\2\u01e2\u01e3\3\2\2\2\u01e3\u01e6\3\2\2\2\u01e4\u01e2"+
+ "\3\2\2\2\u01e5\u01dd\3\2\2\2\u01e5\u01e6\3\2\2\2\u01e6\u01e7\3\2\2\2\u01e7"+
+ "\u01e8\7\25\2\2\u01e8\u01e9\5\u008eH\2\u01e9-\3\2\2\2\u01ea\u01eb\5\u00b8"+
+ "]\2\u01eb\u01ec\5\u00ceh\2\u01ec/\3\2\2\2\u01ed\u01ee\7i\2\2\u01ee\61"+
+ "\3\2\2\2\u01ef\u01fd\7\37\2\2\u01f0\u01f2\7 \2\2\u01f1\u01f3\7!\2\2\u01f2"+
+ "\u01f1\3\2\2\2\u01f2\u01f3\3\2\2\2\u01f3\u01f4\3\2\2\2\u01f4\u01f7\5\u00d2"+
+ "j\2\u01f5\u01f8\7\"\2\2\u01f6\u01f8\5\u00ceh\2\u01f7\u01f5\3\2\2\2\u01f7"+
+ "\u01f6\3\2\2\2\u01f8\u01fe\3\2\2\2\u01f9\u01fe\5\u00b4[\2\u01fa\u01fe"+
+ "\5\u00ccg\2\u01fb\u01fc\7#\2\2\u01fc\u01fe\5\u00b4[\2\u01fd\u01f0\3\2"+
+ "\2\2\u01fd\u01f9\3\2\2\2\u01fd\u01fa\3\2\2\2\u01fd\u01fb\3\2\2\2\u01fe"+
+ "\u0200\3\2\2\2\u01ff\u0201\7$\2\2\u0200\u01ff\3\2\2\2\u0200\u0201\3\2"+
+ "\2\2\u0201\63\3\2\2\2\u0202\u0203\7%\2\2\u0203\u0211\5\u00b4[\2\u0204"+
+ "\u020e\7\23\2\2\u0205\u020a\5\66\34\2\u0206\u0207\7\24\2\2\u0207\u0209"+
+ "\5\66\34\2\u0208\u0206\3\2\2\2\u0209\u020c\3\2\2\2\u020a\u0208\3\2\2\2"+
+ "\u020a\u020b\3\2\2\2\u020b\u020f\3\2\2\2\u020c\u020a\3\2\2\2\u020d\u020f"+
+ "\58\35\2\u020e\u0205\3\2\2\2\u020e\u020d\3\2\2\2\u020e\u020f\3\2\2\2\u020f"+
+ "\u0210\3\2\2\2\u0210\u0212\7\25\2\2\u0211\u0204\3\2\2\2\u0211\u0212\3"+
+ "\2\2\2\u0212\65\3\2\2\2\u0213\u0214\5\u00ceh\2\u0214\u0215\7&\2\2\u0215"+
+ "\u0216\3\2\2\2\u0216\u0217\5:\36\2\u0217\67\3\2\2\2\u0218\u0219\7\'\2"+
+ "\2\u0219\u021a\7(\2\2\u021a\u0223\3\2\2\2\u021b\u0220\5<\37\2\u021c\u021d"+
+ "\7\24\2\2\u021d\u021f\5<\37\2\u021e\u021c\3\2\2\2\u021f\u0222\3\2\2\2"+
+ "\u0220\u021e\3\2\2\2\u0220\u0221\3\2\2\2\u0221\u0224\3\2\2\2\u0222\u0220"+
+ "\3\2\2\2\u0223\u021b\3\2\2\2\u0223\u0224\3\2\2\2\u0224\u0225\3\2\2\2\u0225"+
+ "\u0230\7)\2\2\u0226\u022d\5<\37\2\u0227\u0228\7\24\2\2\u0228\u022a\5<"+
+ "\37\2\u0229\u0227\3\2\2\2\u022a\u022b\3\2\2\2\u022b\u0229\3\2\2\2\u022b"+
+ "\u022c\3\2\2\2\u022c\u022e\3\2\2\2\u022d\u0229\3\2\2\2\u022d\u022e\3\2"+
+ "\2\2\u022e\u0230\3\2\2\2\u022f\u0218\3\2\2\2\u022f\u0226\3\2\2\2\u0230"+
+ "9\3\2\2\2\u0231\u0232\7\'\2\2\u0232\u0233\7(\2\2\u0233\u023c\3\2\2\2\u0234"+
+ "\u0239\5<\37\2\u0235\u0236\7\24\2\2\u0236\u0238\5<\37\2\u0237\u0235\3"+
+ "\2\2\2\u0238\u023b\3\2\2\2\u0239\u0237\3\2\2\2\u0239\u023a\3\2\2\2\u023a"+
+ "\u023d\3\2\2\2\u023b\u0239\3\2\2\2\u023c\u0234\3\2\2\2\u023c\u023d\3\2"+
+ "\2\2\u023d\u023e\3\2\2\2\u023e\u0241\7)\2\2\u023f\u0241\5<\37\2\u0240"+
+ "\u0231\3\2\2\2\u0240\u023f\3\2\2\2\u0241;\3\2\2\2\u0242\u0245\5\64\33"+
+ "\2\u0243\u0245\5> \2\u0244\u0242\3\2\2\2\u0244\u0243\3\2\2\2\u0245=\3"+
+ "\2\2\2\u0246\u0247\5@!\2\u0247?\3\2\2\2\u0248\u0249\5\u009aN\2\u0249\u024a"+
+ "\5B\"\2\u024a\u024b\5@!\2\u024b\u0253\3\2\2\2\u024c\u0250\5F$\2\u024d"+
+ "\u024e\5D#\2\u024e\u024f\5@!\2\u024f\u0251\3\2\2\2\u0250\u024d\3\2\2\2"+
+ "\u0250\u0251\3\2\2\2\u0251\u0253\3\2\2\2\u0252\u0248\3\2\2\2\u0252\u024c"+
+ "\3\2\2\2\u0253A\3\2\2\2\u0254\u0255\7&\2\2\u0255C\3\2\2\2\u0256\u0264"+
+ "\7*\2\2\u0257\u0264\7+\2\2\u0258\u0264\7,\2\2\u0259\u0264\7-\2\2\u025a"+
+ "\u0264\7.\2\2\u025b\u025c\7/\2\2\u025c\u025d\7/\2\2\u025d\u0264\7&\2\2"+
+ "\u025e\u0260\7\60\2\2\u025f\u0261\7\60\2\2\u0260\u025f\3\2\2\2\u0260\u0261"+
+ "\3\2\2\2\u0261\u0262\3\2\2\2\u0262\u0264\7\61\2\2\u0263\u0256\3\2\2\2"+
+ "\u0263\u0257\3\2\2\2\u0263\u0258\3\2\2\2\u0263\u0259\3\2\2\2\u0263\u025a"+
+ "\3\2\2\2\u0263\u025b\3\2\2\2\u0263\u025e\3\2\2\2\u0264E\3\2\2\2\u0265"+
+ "\u026b\5J&\2\u0266\u0267\5H%\2\u0267\u0268\5J&\2\u0268\u026a\3\2\2\2\u0269"+
+ "\u0266\3\2\2\2\u026a\u026d\3\2\2\2\u026b\u0269\3\2\2\2\u026b\u026c\3\2"+
+ "\2\2\u026cG\3\2\2\2\u026d\u026b\3\2\2\2\u026e\u026f\7\62\2\2\u026fI\3"+
+ "\2\2\2\u0270\u0276\5N(\2\u0271\u0272\5L\'\2\u0272\u0273\5N(\2\u0273\u0275"+
+ "\3\2\2\2\u0274\u0271\3\2\2\2\u0275\u0278\3\2\2\2\u0276\u0274\3\2\2\2\u0276"+
+ "\u0277\3\2\2\2\u0277K\3\2\2\2\u0278\u0276\3\2\2\2\u0279\u027a\7\63\2\2"+
+ "\u027aM\3\2\2\2\u027b\u0281\5R*\2\u027c\u027d\5P)\2\u027d\u027e\5R*\2"+
+ "\u027e\u0280\3\2\2\2\u027f\u027c\3\2\2\2\u0280\u0283\3\2\2\2\u0281\u027f"+
+ "\3\2\2\2\u0281\u0282\3\2\2\2\u0282O\3\2\2\2\u0283\u0281\3\2\2\2\u0284"+
+ "\u0285\t\2\2\2\u0285Q\3\2\2\2\u0286\u028e\5V,\2\u0287\u0288\78\2\2\u0288"+
+ "\u028d\5\u00b8]\2\u0289\u028a\5T+\2\u028a\u028b\5V,\2\u028b\u028d\3\2"+
+ "\2\2\u028c\u0287\3\2\2\2\u028c\u0289\3\2\2\2\u028d\u0290\3\2\2\2\u028e"+
+ "\u028c\3\2\2\2\u028e\u028f\3\2\2\2\u028fS\3\2\2\2\u0290\u028e\3\2\2\2"+
+ "\u0291\u0297\7\61\2\2\u0292\u0293\7/\2\2\u0293\u0297\7&\2\2\u0294\u0297"+
+ "\7\60\2\2\u0295\u0297\7/\2\2\u0296\u0291\3\2\2\2\u0296\u0292\3\2\2\2\u0296"+
+ "\u0294\3\2\2\2\u0296\u0295\3\2\2\2\u0297U\3\2\2\2\u0298\u029e\5Z.\2\u0299"+
+ "\u029a\5X-\2\u029a\u029b\5Z.\2\u029b\u029d\3\2\2\2\u029c\u0299\3\2\2\2"+
+ "\u029d\u02a0\3\2\2\2\u029e\u029c\3\2\2\2\u029e\u029f\3\2\2\2\u029fW\3"+
+ "\2\2\2\u02a0\u029e\3\2\2\2\u02a1\u02b7\79\2\2\u02a2\u02b7\7:\2\2\u02a3"+
+ "\u02a4\7\60\2\2\u02a4\u02b7\7;\2\2\u02a5\u02b7\7;\2\2\u02a6\u02b7\7<\2"+
+ "\2\u02a7\u02ab\7\60\2\2\u02a8\u02a9\7\60\2\2\u02a9\u02ac\7\60\2\2\u02aa"+
+ "\u02ac\7\60\2\2\u02ab\u02a8\3\2\2\2\u02ab\u02aa\3\2\2\2\u02ac\u02b7\3"+
+ "\2\2\2\u02ad\u02b2\7/\2\2\u02ae\u02af\7/\2\2\u02af\u02b3\7/\2\2\u02b0"+
+ "\u02b3\7/\2\2\u02b1\u02b3\7<\2\2\u02b2\u02ae\3\2\2\2\u02b2\u02b0\3\2\2"+
+ "\2\u02b2\u02b1\3\2\2\2\u02b3\u02b7\3\2\2\2\u02b4\u02b7\7=\2\2\u02b5\u02b7"+
+ "\7>\2\2\u02b6\u02a1\3\2\2\2\u02b6\u02a2\3\2\2\2\u02b6\u02a3\3\2\2\2\u02b6"+
+ "\u02a5\3\2\2\2\u02b6\u02a6\3\2\2\2\u02b6\u02a7\3\2\2\2\u02b6\u02ad\3\2"+
+ "\2\2\u02b6\u02b4\3\2\2\2\u02b6\u02b5\3\2\2\2\u02b7Y\3\2\2\2\u02b8\u02be"+
+ "\5^\60\2\u02b9\u02ba\5\\/\2\u02ba\u02bb\5^\60\2\u02bb\u02bd\3\2\2\2\u02bc"+
+ "\u02b9\3\2\2\2\u02bd\u02c0\3\2\2\2\u02be\u02bc\3\2\2\2\u02be\u02bf\3\2"+
+ "\2\2\u02bf[\3\2\2\2\u02c0\u02be\3\2\2\2\u02c1\u02c2\t\3\2\2\u02c2]\3\2"+
+ "\2\2\u02c3\u02c9\5b\62\2\u02c4\u02c5\5`\61\2\u02c5\u02c6\5b\62\2\u02c6"+
+ "\u02c8\3\2\2\2\u02c7\u02c4\3\2\2\2\u02c8\u02cb\3\2\2\2\u02c9\u02c7\3\2"+
+ "\2\2\u02c9\u02ca\3\2\2\2\u02ca_\3\2\2\2\u02cb\u02c9\3\2\2\2\u02cc\u02cd"+
+ "\t\4\2\2\u02cda\3\2\2\2\u02ce\u02cf\5d\63\2\u02cf\u02d0\5b\62\2\u02d0"+
+ "\u02d3\3\2\2\2\u02d1\u02d3\5f\64\2\u02d2\u02ce\3\2\2\2\u02d2\u02d1\3\2"+
+ "\2\2\u02d3c\3\2\2\2\u02d4\u02d5\t\5\2\2\u02d5e\3\2\2\2\u02d6\u02db\5h"+
+ "\65\2\u02d7\u02d8\7E\2\2\u02d8\u02da\5\u00b8]\2\u02d9\u02d7\3\2\2\2\u02da"+
+ "\u02dd\3\2\2\2\u02db\u02d9\3\2\2\2\u02db\u02dc\3\2\2\2\u02dcg\3\2\2\2"+
+ "\u02dd\u02db\3\2\2\2\u02de\u02e0\5l\67\2\u02df\u02e1\5j\66\2\u02e0\u02df"+
+ "\3\2\2\2\u02e0\u02e1\3\2\2\2\u02e1i\3\2\2\2\u02e2\u02e3\t\6\2\2\u02e3"+
+ "k\3\2\2\2\u02e4\u030e\5n8\2\u02e5\u02e6\t\7\2\2\u02e6\u02e7\5\u009aN\2"+
+ "\u02e7\u02e8\5B\"\2\u02e8\u02e9\3\2\2\2\u02e9\u02ea\5@!\2\u02ea\u030d"+
+ "\3\2\2\2\u02eb\u02f7\t\b\2\2\u02ec\u02ed\7/\2\2\u02ed\u02f2\5\u00c0a\2"+
+ "\u02ee\u02ef\7\24\2\2\u02ef\u02f1\5\u00c0a\2\u02f0\u02ee\3\2\2\2\u02f1"+
+ "\u02f4\3\2\2\2\u02f2\u02f0\3\2\2\2\u02f2\u02f3\3\2\2\2\u02f3\u02f5\3\2"+
+ "\2\2\u02f4\u02f2\3\2\2\2\u02f5\u02f6\7\60\2\2\u02f6\u02f8\3\2\2\2\u02f7"+
+ "\u02ec\3\2\2\2\u02f7\u02f8\3\2\2\2\u02f8\u02f9\3\2\2\2\u02f9\u0307\5\u009c"+
+ "O\2\u02fa\u0304\7\23\2\2\u02fb\u0305\5|?\2\u02fc\u0301\5> \2\u02fd\u02fe"+
+ "\7\24\2\2\u02fe\u0300\5> \2\u02ff\u02fd\3\2\2\2\u0300\u0303\3\2\2\2\u0301"+
+ "\u02ff\3\2\2\2\u0301\u0302\3\2\2\2\u0302\u0305\3\2\2\2\u0303\u0301\3\2"+
+ "\2\2\u0304\u02fb\3\2\2\2\u0304\u02fc\3\2\2\2\u0304\u0305\3\2\2\2\u0305"+
+ "\u0306\3\2\2\2\u0306\u0308\7\25\2\2\u0307\u02fa\3\2\2\2\u0307\u0308\3"+
+ "\2\2\2\u0308\u030a\3\2\2\2\u0309\u030b\5x=\2\u030a\u0309\3\2\2\2\u030a"+
+ "\u030b\3\2\2\2\u030b\u030d\3\2\2\2\u030c\u02e5\3\2\2\2\u030c\u02eb\3\2"+
+ "\2\2\u030d\u0310\3\2\2\2\u030e\u030c\3\2\2\2\u030e\u030f\3\2\2\2\u030f"+
+ "m\3\2\2\2\u0310\u030e\3\2\2\2\u0311\u0321\5\u009eP\2\u0312\u0321\5\u008e"+
+ "H\2\u0313\u0321\5\u0082B\2\u0314\u0321\5\u00b0Y\2\u0315\u0321\5\u0098"+
+ "M\2\u0316\u0321\5p9\2\u0317\u0321\5\u0080A\2\u0318\u0321\5\u0086D\2\u0319"+
+ "\u0321\5\u0088E\2\u031a\u0321\5\u008aF\2\u031b\u0321\5\u008cG\2\u031c"+
+ "\u0321\5\u00aaV\2\u031d\u0321\5\u00acW\2\u031e\u0321\5\u00aeX\2\u031f"+
+ "\u0321\5~@\2\u0320\u0311\3\2\2\2\u0320\u0312\3\2\2\2\u0320\u0313\3\2\2"+
+ "\2\u0320\u0314\3\2\2\2\u0320\u0315\3\2\2\2\u0320\u0316\3\2\2\2\u0320\u0317"+
+ "\3\2\2\2\u0320\u0318\3\2\2\2\u0320\u0319\3\2\2\2\u0320\u031a\3\2\2\2\u0320"+
+ "\u031b\3\2\2\2\u0320\u031c\3\2\2\2\u0320\u031d\3\2\2\2\u0320\u031e\3\2"+
+ "\2\2\u0320\u031f\3\2\2\2\u0321o\3\2\2\2\u0322\u032a\5r:\2\u0323\u032a"+
+ "\5x=\2\u0324\u032a\5\u00a0Q\2\u0325\u032a\5\u00a4S\2\u0326\u032a\5\u00a2"+
+ "R\2\u0327\u032a\5\u00a6T\2\u0328\u032a\5\u00a8U\2\u0329\u0322\3\2\2\2"+
+ "\u0329\u0323\3\2\2\2\u0329\u0324\3\2\2\2\u0329\u0325\3\2\2\2\u0329\u0326"+
+ "\3\2\2\2\u0329\u0327\3\2\2\2\u0329\u0328\3\2\2\2\u032aq\3\2\2\2\u032b"+
+ "\u032e\5t;\2\u032c\u032e\5v<\2\u032d\u032b\3\2\2\2\u032d\u032c\3\2\2\2"+
+ "\u032es\3\2\2\2\u032f\u0330\7\'\2\2\u0330\u0339\7\4\2\2\u0331\u0336\5"+
+ "> \2\u0332\u0333\7\24\2\2\u0333\u0335\5> \2\u0334\u0332\3\2\2\2\u0335"+
+ "\u0338\3\2\2\2\u0336\u0334\3\2\2\2\u0336\u0337\3\2\2\2\u0337\u033a\3\2"+
+ "\2\2\u0338\u0336\3\2\2\2\u0339\u0331\3\2\2\2\u0339\u033a\3\2\2\2\u033a"+
+ "\u033b\3\2\2\2\u033b\u033c\7\5\2\2\u033cu\3\2\2\2\u033d\u033e\7\'\2\2"+
+ "\u033e\u0347\7(\2\2\u033f\u0344\5> \2\u0340\u0341\7\24\2\2\u0341\u0343"+
+ "\5> \2\u0342\u0340\3\2\2\2\u0343\u0346\3\2\2\2\u0344\u0342\3\2\2\2\u0344"+
+ "\u0345\3\2\2\2\u0345\u0348\3\2\2\2\u0346\u0344\3\2\2\2\u0347\u033f\3\2"+
+ "\2\2\u0347\u0348\3\2\2\2\u0348\u0349\3\2\2\2\u0349\u034a\7)\2\2\u034a"+
+ "w\3\2\2\2\u034b\u0357\7(\2\2\u034c\u0351\5\u0094K\2\u034d\u034e\7\24\2"+
+ "\2\u034e\u0350\5\u0094K\2\u034f\u034d\3\2\2\2\u0350\u0353\3\2\2\2\u0351"+
+ "\u034f\3\2\2\2\u0351\u0352\3\2\2\2\u0352\u0355\3\2\2\2\u0353\u0351\3\2"+
+ "\2\2\u0354\u034c\3\2\2\2\u0354\u0355\3\2\2\2\u0355\u0356\3\2\2\2\u0356"+
+ "\u0358\7K\2\2\u0357\u0354\3\2\2\2\u0357\u0358\3\2\2\2\u0358\u0359\3\2"+
+ "\2\2\u0359\u035a\5z>\2\u035a\u035b\7)\2\2\u035by\3\2\2\2\u035c\u035e\5"+
+ "\u0090I\2\u035d\u035f\7$\2\2\u035e\u035d\3\2\2\2\u035e\u035f\3\2\2\2\u035f"+
+ "\u0361\3\2\2\2\u0360\u035c\3\2\2\2\u0361\u0364\3\2\2\2\u0362\u0360\3\2"+
+ "\2\2\u0362\u0363\3\2\2\2\u0363{\3\2\2\2\u0364\u0362\3\2\2\2\u0365\u036a"+
+ "\5\u0094K\2\u0366\u0367\7\24\2\2\u0367\u0369\5\u0094K\2\u0368\u0366\3"+
+ "\2\2\2\u0369\u036c\3\2\2\2\u036a\u0368\3\2\2\2\u036a\u036b\3\2\2\2\u036b"+
+ "\u036e\3\2\2\2\u036c\u036a\3\2\2\2\u036d\u0365\3\2\2\2\u036d\u036e\3\2"+
+ "\2\2\u036e\u036f\3\2\2\2\u036f\u0370\7K\2\2\u0370\u0371\3\2\2\2\u0371"+
+ "\u0372\5> \2\u0372}\3\2\2\2\u0373\u0374\7\23\2\2\u0374\u0375\5> \2\u0375"+
+ "\u0376\7\25\2\2\u0376\177\3\2\2\2\u0377\u0378\7L\2\2\u0378\u0379\7\23"+
+ "\2\2\u0379\u037a\5> \2\u037a\u037b\7\25\2\2\u037b\u037e\5> \2\u037c\u037d"+
+ "\7M\2\2\u037d\u037f\5> \2\u037e\u037c\3\2\2\2\u037e\u037f\3\2\2\2\u037f"+
+ "\u0081\3\2\2\2\u0380\u038e\7N\2\2\u0381\u0382\7\23\2\2\u0382\u0383\5\u0094"+
+ "K\2\u0383\u0384\7O\2\2\u0384\u0385\3\2\2\2\u0385\u0386\5> \2\u0386\u0387"+
+ "\7\25\2\2\u0387\u038f\3\2\2\2\u0388\u0389\5\u0094K\2\u0389\u038a\7O\2"+
+ "\2\u038a\u038c\3\2\2\2\u038b\u0388\3\2\2\2\u038b\u038c\3\2\2\2\u038c\u038d"+
+ "\3\2\2\2\u038d\u038f\5> \2\u038e\u0381\3\2\2\2\u038e\u038b\3\2\2\2\u038f"+
+ "\u0390\3\2\2\2\u0390\u0394\7\4\2\2\u0391\u0393\5\u0084C\2\u0392\u0391"+
+ "\3\2\2\2\u0393\u0396\3\2\2\2\u0394\u0392\3\2\2\2\u0394\u0395\3\2\2\2\u0395"+
+ "\u039a\3\2\2\2\u0396\u0394\3\2\2\2\u0397\u0398\7P\2\2\u0398\u0399\7O\2"+
+ "\2\u0399\u039b\5> \2\u039a\u0397\3\2\2\2\u039a\u039b\3\2\2\2\u039b\u039c"+
+ "\3\2\2\2\u039c\u039d\7\5\2\2\u039d\u0083\3\2\2\2\u039e\u03a0\5\u00b8]"+
+ "\2\u039f\u039e\3\2\2\2\u039f\u03a0\3\2\2\2\u03a0\u03a3\3\2\2\2\u03a1\u03a2"+
+ "\7Q\2\2\u03a2\u03a4\5> \2\u03a3\u03a1\3\2\2\2\u03a3\u03a4\3\2\2\2\u03a4"+
+ "\u03a8\3\2\2\2\u03a5\u03a6\7O\2\2\u03a6\u03a9\5> \2\u03a7\u03a9\7\24\2"+
+ "\2\u03a8\u03a5\3\2\2\2\u03a8\u03a7\3\2\2\2\u03a9\u0085\3\2\2\2\u03aa\u03ab"+
+ "\7R\2\2\u03ab\u03ac\7\23\2\2\u03ac\u03ad\5\u0094K\2\u03ad\u03ae\7O\2\2"+
+ "\u03ae\u03af\3\2\2\2\u03af\u03b0\5> \2\u03b0\u03b1\7\25\2\2\u03b1\u03b2"+
+ "\5> \2\u03b2\u0087\3\2\2\2\u03b3\u03b4\7R\2\2\u03b4\u03bd\7\23\2\2\u03b5"+
+ "\u03ba\5\u0090I\2\u03b6\u03b7\7\24\2\2\u03b7\u03b9\5\u0090I\2\u03b8\u03b6"+
+ "\3\2\2\2\u03b9\u03bc\3\2\2\2\u03ba\u03b8\3\2\2\2\u03ba\u03bb\3\2\2\2\u03bb"+
+ "\u03be\3\2\2\2\u03bc\u03ba\3\2\2\2\u03bd\u03b5\3\2\2\2\u03bd\u03be\3\2"+
+ "\2\2\u03be\u03bf\3\2\2\2\u03bf\u03c1\7$\2\2\u03c0\u03c2\5> \2\u03c1\u03c0"+
+ "\3\2\2\2\u03c1\u03c2\3\2\2\2\u03c2\u03c3\3\2\2\2\u03c3\u03cc\7$\2\2\u03c4"+
+ "\u03c9\5> \2\u03c5\u03c6\7\24\2\2\u03c6\u03c8\5> \2\u03c7\u03c5\3\2\2"+
+ "\2\u03c8\u03cb\3\2\2\2\u03c9\u03c7\3\2\2\2\u03c9\u03ca\3\2\2\2\u03ca\u03cd"+
+ "\3\2\2\2\u03cb\u03c9\3\2\2\2\u03cc\u03c4\3\2\2\2\u03cc\u03cd\3\2\2\2\u03cd"+
+ "\u03ce\3\2\2\2\u03ce\u03cf\7\25\2\2\u03cf\u03d0\5> \2\u03d0\u0089\3\2"+
+ "\2\2\u03d1\u03d2\7S\2\2\u03d2\u03d3\7\23\2\2\u03d3\u03d4\5> \2\u03d4\u03d5"+
+ "\7\25\2\2\u03d5\u03d6\5> \2\u03d6\u008b\3\2\2\2\u03d7\u03d8\7T\2\2\u03d8"+
+ "\u03d9\5> \2\u03d9\u03da\7S\2\2\u03da\u03db\7\23\2\2\u03db\u03dc\5> \2"+
+ "\u03dc\u03dd\7\25\2\2\u03dd\u008d\3\2\2\2\u03de\u03e5\7\4\2\2\u03df\u03e1"+
+ "\5\u0090I\2\u03e0\u03e2\7$\2\2\u03e1\u03e0\3\2\2\2\u03e1\u03e2\3\2\2\2"+
+ "\u03e2\u03e4\3\2\2\2\u03e3\u03df\3\2\2\2\u03e4\u03e7\3\2\2\2\u03e5\u03e3"+
+ "\3\2\2\2\u03e5\u03e6\3\2\2\2\u03e6\u03e8\3\2\2\2\u03e7\u03e5\3\2\2\2\u03e8"+
+ "\u03e9\7\5\2\2\u03e9\u008f\3\2\2\2\u03ea\u03ed\5\u0092J\2\u03eb\u03ed"+
+ "\5> \2\u03ec\u03ea\3\2\2\2\u03ec\u03eb\3\2\2\2\u03ed\u0091\3\2\2\2\u03ee"+
+ "\u03f3\t\t\2\2\u03ef\u03f0\5\u00b8]\2\u03f0\u03f1\5\u00ceh\2\u03f1\u03f4"+
+ "\3\2\2\2\u03f2\u03f4\5\u00ceh\2\u03f3\u03ef\3\2\2\2\u03f3\u03f2\3\2\2"+
+ "\2\u03f4\u03f7\3\2\2\2\u03f5\u03f6\7&\2\2\u03f6\u03f8\5> \2\u03f7\u03f5"+
+ "\3\2\2\2\u03f7\u03f8\3\2\2\2\u03f8\u0093\3\2\2\2\u03f9\u03fb\5\u00b8]"+
+ "\2\u03fa\u03f9\3\2\2\2\u03fa\u03fb\3\2\2\2\u03fb\u03fc\3\2\2\2\u03fc\u03fd"+
+ "\5\u00ceh\2\u03fd\u0095\3\2\2\2\u03fe\u03ff\5\u00b8]\2\u03ff\u0400\5\u00ce"+
+ "h\2\u0400\u0097\3\2\2\2\u0401\u0402\7/\2\2\u0402\u0407\5\u00c0a\2\u0403"+
+ "\u0404\7\24\2\2\u0404\u0406\5\u00c0a\2\u0405\u0403\3\2\2\2\u0406\u0409"+
+ "\3\2\2\2\u0407\u0405\3\2\2\2\u0407\u0408\3\2\2\2\u0408\u040a\3\2\2\2\u0409"+
+ "\u0407\3\2\2\2\u040a\u040b\7\60\2\2\u040b\u040d\3\2\2\2\u040c\u0401\3"+
+ "\2\2\2\u040c\u040d\3\2\2\2\u040d\u040e\3\2\2\2\u040e\u041c\5\u009cO\2"+
+ "\u040f\u0419\7\23\2\2\u0410\u041a\5|?\2\u0411\u0416\5> \2\u0412\u0413"+
+ "\7\24\2\2\u0413\u0415\5> \2\u0414\u0412\3\2\2\2\u0415\u0418\3\2\2\2\u0416"+
+ "\u0414\3\2\2\2\u0416\u0417\3\2\2\2\u0417\u041a\3\2\2\2\u0418\u0416\3\2"+
+ "\2\2\u0419\u0410\3\2\2\2\u0419\u0411\3\2\2\2\u0419\u041a\3\2\2\2\u041a"+
+ "\u041b\3\2\2\2\u041b\u041d\7\25\2\2\u041c\u040f\3\2\2\2\u041c\u041d\3"+
+ "\2\2\2\u041d\u041f\3\2\2\2\u041e\u0420\5x=\2\u041f\u041e\3\2\2\2\u041f"+
+ "\u0420\3\2\2\2\u0420\u0099\3\2\2\2\u0421\u0427\5\u00ceh\2\u0422\u0427"+
+ "\7W\2\2\u0423\u0427\7 \2\2\u0424\u0427\7\37\2\2\u0425\u0427\7!\2\2\u0426"+
+ "\u0421\3\2\2\2\u0426\u0422\3\2\2\2\u0426\u0423\3\2\2\2\u0426\u0424\3\2"+
+ "\2\2\u0426\u0425\3\2\2\2\u0427\u009b\3\2\2\2\u0428\u042b\5\u009aN\2\u0429"+
+ "\u042b\7X\2\2\u042a\u0428\3\2\2\2\u042a\u0429\3\2\2\2\u042b\u009d\3\2"+
+ "\2\2\u042c\u042d\7Y\2\2\u042d\u0439\5\u00b4[\2\u042e\u042f\7/\2\2\u042f"+
+ "\u0434\5\u00c0a\2\u0430\u0431\7\24\2\2\u0431\u0433\5\u00c0a\2\u0432\u0430"+
+ "\3\2\2\2\u0433\u0436\3\2\2\2\u0434\u0432\3\2\2\2\u0434\u0435\3\2\2\2\u0435"+
+ "\u0437\3\2\2\2\u0436\u0434\3\2\2\2\u0437\u0438\7\60\2\2\u0438\u043a\3"+
+ "\2\2\2\u0439\u042e\3\2\2\2\u0439\u043a\3\2\2\2\u043a\u0448\3\2\2\2\u043b"+
+ "\u0445\7\23\2\2\u043c\u0446\5|?\2\u043d\u0442\5> \2\u043e\u043f\7\24\2"+
+ "\2\u043f\u0441\5> \2\u0440\u043e\3\2\2\2\u0441\u0444\3\2\2\2\u0442\u0440"+
+ "\3\2\2\2\u0442\u0443\3\2\2\2\u0443\u0446\3\2\2\2\u0444\u0442\3\2\2\2\u0445"+
+ "\u043c\3\2\2\2\u0445\u043d\3\2\2\2\u0445\u0446\3\2\2\2\u0446\u0447\3\2"+
+ "\2\2\u0447\u0449\7\25\2\2\u0448\u043b\3\2\2\2\u0448\u0449\3\2\2\2\u0449"+
+ "\u044b\3\2\2\2\u044a\u044c\5x=\2\u044b\u044a\3\2\2\2\u044b\u044c\3\2\2"+
+ "\2\u044c\u009f\3\2\2\2\u044d\u044e\t\n\2\2\u044e\u00a1\3\2\2\2\u044f\u0450"+
+ "\7\\\2\2\u0450\u00a3\3\2\2\2\u0451\u0452\5\u00b6\\\2\u0452\u00a5\3\2\2"+
+ "\2\u0453\u0454\7j\2\2\u0454\u00a7\3\2\2\2\u0455\u0456\7]\2\2\u0456\u0457"+
+ "\7\23\2\2\u0457\u045b\5\u00b4[\2\u0458\u045a\5\u00ba^\2\u0459\u0458\3"+
+ "\2\2\2\u045a\u045d\3\2\2\2\u045b\u0459\3\2\2\2\u045b\u045c\3\2\2\2\u045c"+
+ "\u045e\3\2\2\2\u045d\u045b\3\2\2\2\u045e\u045f\7\25\2\2\u045f\u00a9\3"+
+ "\2\2\2\u0460\u0461\7^\2\2\u0461\u0462\5> \2\u0462\u00ab\3\2\2\2\u0463"+
+ "\u0465\7_\2\2\u0464\u0466\5> \2\u0465\u0464\3\2\2\2\u0465\u0466\3\2\2"+
+ "\2\u0466\u00ad\3\2\2\2\u0467\u0468\7`\2\2\u0468\u0474\5> \2\u0469\u046b"+
+ "\5\u00b2Z\2\u046a\u0469\3\2\2\2\u046b\u046c\3\2\2\2\u046c\u046a\3\2\2"+
+ "\2\u046c\u046d\3\2\2\2\u046d\u0470\3\2\2\2\u046e\u046f\7a\2\2\u046f\u0471"+
+ "\5> \2\u0470\u046e\3\2\2\2\u0470\u0471\3\2\2\2\u0471\u0475\3\2\2\2\u0472"+
+ "\u0473\7a\2\2\u0473\u0475\5> \2\u0474\u046a\3\2\2\2\u0474\u0472\3\2\2"+
+ "\2\u0475\u00af\3\2\2\2\u0476\u0477\7b\2\2\u0477\u0478\7\23\2\2\u0478\u0479"+
+ "\3\2\2\2\u0479\u047a\5> \2\u047a\u047b\7\25\2\2\u047b\u047c\5> \2\u047c"+
+ "\u00b1\3\2\2\2\u047d\u047e\7c\2\2\u047e\u047f\7\23\2\2\u047f\u0480\5\u0096"+
+ "L\2\u0480\u0481\7\25\2\2\u0481\u0482\5> \2\u0482\u00b3\3\2\2\2\u0483\u0488"+
+ "\5\u00ceh\2\u0484\u0485\7H\2\2\u0485\u0487\5\u00ceh\2\u0486\u0484\3\2"+
+ "\2\2\u0487\u048a\3\2\2\2\u0488\u0486\3\2\2\2\u0488\u0489\3\2\2\2\u0489"+
+ "\u00b5\3\2\2\2\u048a\u0488\3\2\2\2\u048b\u0492\7f\2\2\u048c\u048f\t\13"+
+ "\2\2\u048d\u048e\7H\2\2\u048e\u0490\t\13\2\2\u048f\u048d\3\2\2\2\u048f"+
+ "\u0490\3\2\2\2\u0490\u0492\3\2\2\2\u0491\u048b\3\2\2\2\u0491\u048c\3\2"+
+ "\2\2\u0492\u00b7\3\2\2\2\u0493\u0497\5\u00be`\2\u0494\u0496\5\u00ba^\2"+
+ "\u0495\u0494\3\2\2\2\u0496\u0499\3\2\2\2\u0497\u0495\3\2\2\2\u0497\u0498"+
+ "\3\2\2\2\u0498\u049c\3\2\2\2\u0499\u0497\3\2\2\2\u049a\u049c\5\u00bc_"+
+ "\2\u049b\u0493\3\2\2\2\u049b\u049a\3\2\2\2\u049c\u00b9\3\2\2\2\u049d\u049e"+
+ "\7(\2\2\u049e\u049f\7)\2\2\u049f\u00bb\3\2\2\2\u04a0\u04a9\7\23\2\2\u04a1"+
+ "\u04a6\5\u00b8]\2\u04a2\u04a3\7\24\2\2\u04a3\u04a5\5\u00b8]\2\u04a4\u04a2"+
+ "\3\2\2\2\u04a5\u04a8\3\2\2\2\u04a6\u04a4\3\2\2\2\u04a6\u04a7\3\2\2\2\u04a7"+
+ "\u04aa\3\2\2\2\u04a8\u04a6\3\2\2\2\u04a9\u04a1\3\2\2\2\u04a9\u04aa\3\2"+
+ "\2\2\u04aa\u04ab\3\2\2\2\u04ab\u04ad\7\25\2\2\u04ac\u04a0\3\2\2\2\u04ac"+
+ "\u04ad\3\2\2\2\u04ad\u04ae\3\2\2\2\u04ae\u04af\7<\2\2\u04af\u04b0\5\u00b8"+
+ "]\2\u04b0\u00bd\3\2\2\2\u04b1\u04d0\5\u00b4[\2\u04b2\u04b3\7/\2\2\u04b3"+
+ "\u04b8\5\u00c0a\2\u04b4\u04b5\7\24\2\2\u04b5\u04b7\5\u00c0a\2\u04b6\u04b4"+
+ "\3\2\2\2\u04b7\u04ba\3\2\2\2\u04b8\u04b6\3\2\2\2\u04b8\u04b9\3\2\2\2\u04b9"+
+ "\u04bb\3\2\2\2\u04ba\u04b8\3\2\2\2\u04bb\u04cd\7\60\2\2\u04bc\u04bd\7"+
+ "H\2\2\u04bd\u04c9\5\u00ceh\2\u04be\u04bf\7/\2\2\u04bf\u04c4\5\u00c0a\2"+
+ "\u04c0\u04c1\7\24\2\2\u04c1\u04c3\5\u00c0a\2\u04c2\u04c0\3\2\2\2\u04c3"+
+ "\u04c6\3\2\2\2\u04c4\u04c2\3\2\2\2\u04c4\u04c5\3\2\2\2\u04c5\u04c7\3\2"+
+ "\2\2\u04c6\u04c4\3\2\2\2\u04c7\u04c8\7\60\2\2\u04c8\u04ca\3\2\2\2\u04c9"+
+ "\u04be\3\2\2\2\u04c9\u04ca\3\2\2\2\u04ca\u04cc\3\2\2\2\u04cb\u04bc\3\2"+
+ "\2\2\u04cc\u04cf\3\2\2\2\u04cd\u04cb\3\2\2\2\u04cd\u04ce\3\2\2\2\u04ce"+
+ "\u04d1\3\2\2\2\u04cf\u04cd\3\2\2\2\u04d0\u04b2\3\2\2\2\u04d0\u04d1\3\2"+
+ "\2\2\u04d1\u00bf\3\2\2\2\u04d2\u04d5\5\u00b8]\2\u04d3\u04d5\5\u00c2b\2"+
+ "\u04d4\u04d2\3\2\2\2\u04d4\u04d3\3\2\2\2\u04d5\u00c1\3\2\2\2\u04d6\u04e5"+
+ "\7d\2\2\u04d7\u04db\5\u00c4c\2\u04d8\u04da\5\u00c6d\2\u04d9\u04d8\3\2"+
+ "\2\2\u04da\u04dd\3\2\2\2\u04db\u04d9\3\2\2\2\u04db\u04dc\3\2\2\2\u04dc"+
+ "\u04e6\3\2\2\2\u04dd\u04db\3\2\2\2\u04de\u04e2\5\u00c8e\2\u04df\u04e1"+
+ "\5\u00caf\2\u04e0\u04df\3\2\2\2\u04e1\u04e4\3\2\2\2\u04e2\u04e0\3\2\2"+
+ "\2\u04e2\u04e3\3\2\2\2\u04e3\u04e6\3\2\2\2\u04e4\u04e2\3\2\2\2\u04e5\u04d7"+
+ "\3\2\2\2\u04e5\u04de\3\2\2\2\u04e5\u04e6\3\2\2\2\u04e6\u00c3\3\2\2\2\u04e7"+
+ "\u04e8\7W\2\2\u04e8\u04e9\5\u00b8]\2\u04e9\u00c5\3\2\2\2\u04ea\u04eb\7"+
+ "e\2\2\u04eb\u04ec\5\u00b8]\2\u04ec\u00c7\3\2\2\2\u04ed\u04ee\7X\2\2\u04ee"+
+ "\u04ef\5\u00b8]\2\u04ef\u00c9\3\2\2\2\u04f0\u04f1\7e\2\2\u04f1\u04f2\5"+
+ "\u00b8]\2\u04f2\u00cb\3\2\2\2\u04f3\u04f4\5\u00b4[\2\u04f4\u04f5\7H\2"+
+ "\2\u04f5\u04f6\7\"\2\2\u04f6\u00cd\3\2\2\2\u04f7\u04f8\7i\2\2\u04f8\u00cf"+
+ "\3\2\2\2\u04f9\u04fb\5\62\32\2\u04fa\u04f9\3\2\2\2\u04fb\u04fc\3\2\2\2"+
+ "\u04fc\u04fa\3\2\2\2\u04fc\u04fd\3\2\2\2\u04fd\u00d1\3\2\2\2\u04fe\u04ff"+
+ "\5\u00ceh\2\u04ff\u0500\7H\2\2\u0500\u0502\3\2\2\2\u0501\u04fe\3\2\2\2"+
+ "\u0502\u0503\3\2\2\2\u0503\u0501\3\2\2\2\u0503\u0504\3\2\2\2\u0504\u00d3"+
+ "\3\2\2\2\u0097\u00d5\u00e3\u00e6\u00e8\u00f3\u00f5\u0100\u0102\u010d\u010f"+
+ "\u0119\u011b\u0125\u0127\u0131\u0133\u014f\u015e\u0161\u0170\u0173\u0180"+
+ "\u0183\u0192\u0195\u01a2\u01a5\u01b2\u01b5\u01c2\u01c5\u01d2\u01d5\u01e2"+
+ "\u01e5\u01f2\u01f7\u01fd\u0200\u020a\u020e\u0211\u0220\u0223\u022b\u022d"+
+ "\u022f\u0239\u023c\u0240\u0244\u0250\u0252\u0260\u0263\u026b\u0276\u0281"+
+ "\u028c\u028e\u0296\u029e\u02ab\u02b2\u02b6\u02be\u02c9\u02d2\u02db\u02e0"+
+ "\u02f2\u02f7\u0301\u0304\u0307\u030a\u030c\u030e\u0320\u0329\u032d\u0336"+
+ "\u0339\u0344\u0347\u0351\u0354\u0357\u035e\u0362\u036a\u036d\u037e\u038b"+
+ "\u038e\u0394\u039a\u039f\u03a3\u03a8\u03ba\u03bd\u03c1\u03c9\u03cc\u03e1"+
+ "\u03e5\u03ec\u03f3\u03f7\u03fa\u0407\u040c\u0416\u0419\u041c\u041f\u0426"+
+ "\u042a\u0434\u0439\u0442\u0445\u0448\u044b\u045b\u0465\u046c\u0470\u0474"+
+ "\u0488\u048f\u0491\u0497\u049b\u04a6\u04a9\u04ac\u04b8\u04c4\u04c9\u04cd"+
+ "\u04d0\u04d4\u04db\u04e2\u04e5\u04fc\u0503";
+ public static final ATN _ATN =
+ new ATNDeserializer().deserialize(_serializedATN.toCharArray());
+ static {
+ _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
+ for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
+ _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
+ }
+ }
+}
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/codebuff-1.5.1.jar b/org.eclipse.osbp.xtext.functionlibrarydsl/codebuff-1.5.1.jar
new file mode 100644
index 0000000..d2f7677
--- /dev/null
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/codebuff-1.5.1.jar
Binary files differ
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/AbstractFunctionLibraryDslRuntimeModule.java b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/AbstractFunctionLibraryDslRuntimeModule.java
index 59b5c0e..6646481 100644
--- a/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/AbstractFunctionLibraryDslRuntimeModule.java
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/AbstractFunctionLibraryDslRuntimeModule.java
@@ -242,4 +242,10 @@
return FunctionLibraryDslJvmModelInferrer.class;
}
+ // contributed by com.itemis.xtext.codebuff.CodebuffGrammarGeneratorFragment
+ public void configureCodeBuff(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named("COMMENTRULE")).toInstance("RULE_SL_COMMENT");
+ binder.bind(int.class).annotatedWith(Names.named("INDENT")).toInstance(4);
+ }
+
}
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4 b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4
new file mode 100644
index 0000000..10542f8
--- /dev/null
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/Codebuff.g4
@@ -0,0 +1,1477 @@
+/**
+ *
+ * Copyright (c) 2011, 2017 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ * generated by Xtext 2.11.0
+ *
+ */
+
+grammar Codebuff;
+options {contextSuperClass=org.antlr.v4.runtime.RuleContextWithAltNum;}
+
+// Rule FunctionLibraryModel
+ruleFunctionLibraryModel:
+ ruleXImportSection
+ ?
+ ruleFunctionLibraryPackage
+;
+
+// Rule FunctionLibraryPackage
+ruleFunctionLibraryPackage:
+ 'package'
+ ruleQualifiedName
+ '{'
+ (
+ (
+ ruleFunctionLibraryGroup
+ |ruleFunctionLibraryBlipGroup
+ |ruleFunctionLibraryConverterGroup
+ |ruleFunctionLibraryStatemachineGroup
+ |ruleFunctionLibraryActionGroup
+ |ruleFunctionLibraryValidationGroup
+ |ruleFunctionLibraryDialogGroup
+ )
+ |
+ ruleFunctionLibraryRating
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryGroup
+ruleFunctionLibraryGroup:
+ 'group'
+ ruleValidID
+ '{'
+ (
+ ruleFunctionLibraryFunction
+ |
+ ruleFunctionLibraryTest
+ |
+ ruleFunctionLibraryRate
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryBlipGroup
+ruleFunctionLibraryBlipGroup:
+ 'blip-group'
+ ruleValidID
+ '{'
+ (
+ ruleFunctionLibraryFunction
+ |
+ ruleFunctionLibraryTest
+ |
+ ruleFunctionLibraryRate
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryStatemachineGroup
+ruleFunctionLibraryStatemachineGroup:
+ 'statemachine'
+ ruleValidID
+ '{'
+ (
+ ruleFunctionLibraryOperation
+ |
+ ruleFunctionLibraryGuard
+ |
+ ruleFunctionLibraryFunction
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryValidationGroup
+ruleFunctionLibraryValidationGroup:
+ 'validation'
+ ruleValidID
+ '{'
+ (
+ ruleFunctionLibraryValidation
+ |
+ ruleFunctionLibraryFunction
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryDialogGroup
+ruleFunctionLibraryDialogGroup:
+ 'dialog'
+ ruleValidID
+ '{'
+ (
+ ruleFunctionLibraryDialogHook
+ |
+ ruleFunctionLibraryFunction
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryActionGroup
+ruleFunctionLibraryActionGroup:
+ 'action'
+ ruleValidID
+ '{'
+ (
+ ruleFunctionLibraryExecute
+ |
+ ruleFunctionLibraryCanExecute
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryConverterGroup
+ruleFunctionLibraryConverterGroup:
+ 'converter'
+ ruleValidID
+ '{'
+ 'model-datatype'
+ ruleTYPE_CROSS_REFERENCE
+ 'presentation-datatype'
+ ruleTYPE_CROSS_REFERENCE
+ ruleFunctionConvertToModel
+ ruleFunctionConvertToPresentation
+ '}'
+;
+
+// Rule FunctionConvertToModel
+ruleFunctionConvertToModel:
+ 'to-model'
+ ruleXBlockExpression
+;
+
+// Rule FunctionConvertToPresentation
+ruleFunctionConvertToPresentation:
+ 'to-presentation'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryRating
+ruleFunctionLibraryRating:
+ 'rating'
+ ruleValidID
+ '{'
+ ruleFunctionLibraryRatingItem
+ *
+ '}'
+;
+
+// Rule FunctionLibraryRatingItem
+ruleFunctionLibraryRatingItem:
+ ruleValidID
+;
+
+// Rule FunctionLibraryFunction
+ruleFunctionLibraryFunction:
+ 'function'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ 'returns'
+ ruleJvmParameterizedTypeReference
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryTest
+ruleFunctionLibraryTest:
+ 'test'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryRate
+ruleFunctionLibraryRate:
+ 'rate'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ 'returns'
+ RULE_ID
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryGuard
+ruleFunctionLibraryGuard:
+ 'guard'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryOperation
+ruleFunctionLibraryOperation:
+ 'operation'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryValidation
+ruleFunctionLibraryValidation:
+ 'validate'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryDialogHook
+ruleFunctionLibraryDialogHook:
+ 'hook'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryExecute
+ruleFunctionLibraryExecute:
+ 'execute'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryCanExecute
+ruleFunctionLibraryCanExecute:
+ 'canExecute'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryParameter
+ruleFunctionLibraryParameter:
+ ruleJvmTypeReference
+ ruleValidID
+;
+
+// Rule TYPE_CROSS_REFERENCE
+ruleTYPE_CROSS_REFERENCE:
+ RULE_ID
+;
+
+// Rule XImportDeclaration
+ruleXImportDeclaration:
+ 'import'
+ (
+ 'static'
+ 'extension'
+ ?
+ ruleQualifiedNameInStaticImport
+ (
+ '*'
+ |
+ ruleValidID
+ )
+ |
+ ruleQualifiedName
+ |
+ ruleQualifiedNameWithWildcard
+ |
+ 'ns'
+ ruleQualifiedName
+ )
+ ';'?
+;
+
+// Rule XAnnotation
+ruleXAnnotation:
+ '@'
+ ruleQualifiedName
+ (
+ (
+ '('
+ )
+ (
+ (
+ ruleXAnnotationElementValuePair
+ )
+ (
+ ','
+ (
+ ruleXAnnotationElementValuePair
+ )
+ )*
+ |
+ ruleXAnnotationElementValueOrCommaList
+ )?
+ ')'
+ )?
+;
+
+// Rule XAnnotationElementValuePair
+ruleXAnnotationElementValuePair:
+ (
+ ruleValidID
+ '='
+ )
+ ruleXAnnotationElementValue
+;
+
+// Rule XAnnotationElementValueOrCommaList
+ruleXAnnotationElementValueOrCommaList:
+ (
+ (
+ '#'
+ '['
+ )
+ (
+ ruleXAnnotationOrExpression
+ (
+ ','
+ ruleXAnnotationOrExpression
+ )*
+ )?
+ ']'
+ |
+ ruleXAnnotationOrExpression
+ (
+ (
+ ','
+ ruleXAnnotationOrExpression
+ )+
+ )?
+ )
+;
+
+// Rule XAnnotationElementValue
+ruleXAnnotationElementValue:
+ (
+ (
+ '#'
+ '['
+ )
+ (
+ ruleXAnnotationOrExpression
+ (
+ ','
+ ruleXAnnotationOrExpression
+ )*
+ )?
+ ']'
+ |
+ ruleXAnnotationOrExpression
+ )
+;
+
+// Rule XAnnotationOrExpression
+ruleXAnnotationOrExpression:
+ (
+ ruleXAnnotation
+ |
+ ruleXExpression
+ )
+;
+
+// Rule XExpression
+ruleXExpression:
+ ruleXAssignment
+;
+
+// Rule XAssignment
+ruleXAssignment:
+ (
+ ruleFeatureCallID
+ ruleOpSingleAssign
+ ruleXAssignment
+ |
+ ruleXOrExpression
+ (
+ (
+ ruleOpMultiAssign
+ )
+ ruleXAssignment
+ )?
+ )
+;
+
+// Rule OpSingleAssign
+ruleOpSingleAssign:
+ '='
+;
+
+// Rule OpMultiAssign
+ruleOpMultiAssign:
+ (
+ '+='
+ |
+ '-='
+ |
+ '*='
+ |
+ '/='
+ |
+ '%='
+ |
+ '<'
+ '<'
+ '='
+ |
+ '>'
+ '>'?
+ '>='
+ )
+;
+
+// Rule XOrExpression
+ruleXOrExpression:
+ ruleXAndExpression
+ (
+ (
+ ruleOpOr
+ )
+ ruleXAndExpression
+ )*
+;
+
+// Rule OpOr
+ruleOpOr:
+ '||'
+;
+
+// Rule XAndExpression
+ruleXAndExpression:
+ ruleXEqualityExpression
+ (
+ (
+ ruleOpAnd
+ )
+ ruleXEqualityExpression
+ )*
+;
+
+// Rule OpAnd
+ruleOpAnd:
+ '&&'
+;
+
+// Rule XEqualityExpression
+ruleXEqualityExpression:
+ ruleXRelationalExpression
+ (
+ (
+ ruleOpEquality
+ )
+ ruleXRelationalExpression
+ )*
+;
+
+// Rule OpEquality
+ruleOpEquality:
+ (
+ '=='
+ |
+ '!='
+ |
+ '==='
+ |
+ '!=='
+ )
+;
+
+// Rule XRelationalExpression
+ruleXRelationalExpression:
+ ruleXOtherOperatorExpression
+ (
+ (
+ 'instanceof'
+ )
+ ruleJvmTypeReference
+ |
+ (
+ ruleOpCompare
+ )
+ ruleXOtherOperatorExpression
+ )*
+;
+
+// Rule OpCompare
+ruleOpCompare:
+ (
+ '>='
+ |
+ '<'
+ '='
+ |
+ '>'
+ |
+ '<'
+ )
+;
+
+// Rule XOtherOperatorExpression
+ruleXOtherOperatorExpression:
+ ruleXAdditiveExpression
+ (
+ (
+ ruleOpOther
+ )
+ ruleXAdditiveExpression
+ )*
+;
+
+// Rule OpOther
+ruleOpOther:
+ (
+ '->'
+ |
+ '..<'
+ |
+ '>'
+ '..'
+ |
+ '..'
+ |
+ '=>'
+ |
+ '>'
+ (
+ (
+ '>'
+ '>'
+ )
+ |
+ '>'
+ )
+ |
+ '<'
+ (
+ (
+ '<'
+ '<'
+ )
+ |
+ '<'
+ |
+ '=>'
+ )
+ |
+ '<>'
+ |
+ '?:'
+ )
+;
+
+// Rule XAdditiveExpression
+ruleXAdditiveExpression:
+ ruleXMultiplicativeExpression
+ (
+ (
+ ruleOpAdd
+ )
+ ruleXMultiplicativeExpression
+ )*
+;
+
+// Rule OpAdd
+ruleOpAdd:
+ (
+ '+'
+ |
+ '-'
+ )
+;
+
+// Rule XMultiplicativeExpression
+ruleXMultiplicativeExpression:
+ ruleXUnaryOperation
+ (
+ (
+ ruleOpMulti
+ )
+ ruleXUnaryOperation
+ )*
+;
+
+// Rule OpMulti
+ruleOpMulti:
+ (
+ '*'
+ |
+ '**'
+ |
+ '/'
+ |
+ '%'
+ )
+;
+
+// Rule XUnaryOperation
+ruleXUnaryOperation:
+ (
+ ruleOpUnary
+ ruleXUnaryOperation
+ |
+ ruleXCastedExpression
+ )
+;
+
+// Rule OpUnary
+ruleOpUnary:
+ (
+ '!'
+ |
+ '-'
+ |
+ '+'
+ )
+;
+
+// Rule XCastedExpression
+ruleXCastedExpression:
+ ruleXPostfixOperation
+ (
+ (
+ 'as'
+ )
+ ruleJvmTypeReference
+ )*
+;
+
+// Rule XPostfixOperation
+ruleXPostfixOperation:
+ ruleXMemberFeatureCall
+ (
+ ruleOpPostfix
+ )?
+;
+
+// Rule OpPostfix
+ruleOpPostfix:
+ (
+ '++'
+ |
+ '--'
+ )
+;
+
+// Rule XMemberFeatureCall
+ruleXMemberFeatureCall:
+ ruleXPrimaryExpression
+ (
+ (
+ (
+ '.'
+ |
+ '::'
+ )
+ ruleFeatureCallID
+ ruleOpSingleAssign
+ )
+ ruleXAssignment
+ |
+ (
+ (
+ '.'
+ |
+ '?.'
+ |
+ '::'
+ )
+ )
+ (
+ '<'
+ ruleJvmArgumentTypeReference
+ (
+ ','
+ ruleJvmArgumentTypeReference
+ )*
+ '>'
+ )?
+ ruleIdOrSuper
+ (
+ (
+ '('
+ )
+ (
+ (
+ ruleXShortClosure
+ )
+ |
+ ruleXExpression
+ (
+ ','
+ ruleXExpression
+ )*
+ )?
+ ')'
+ )?
+ (
+ ruleXClosure
+ )?
+ )*
+;
+
+// Rule XPrimaryExpression
+ruleXPrimaryExpression:
+ (
+ ruleXConstructorCall
+ |
+ ruleXBlockExpression
+ |
+ ruleXSwitchExpression
+ |
+ (
+ ruleXSynchronizedExpression
+ )
+ |
+ ruleXFeatureCall
+ |
+ ruleXLiteral
+ |
+ ruleXIfExpression
+ |
+ (
+ ruleXForLoopExpression
+ )
+ |
+ ruleXBasicForLoopExpression
+ |
+ ruleXWhileExpression
+ |
+ ruleXDoWhileExpression
+ |
+ ruleXThrowExpression
+ |
+ ruleXReturnExpression
+ |
+ ruleXTryCatchFinallyExpression
+ |
+ ruleXParenthesizedExpression
+ )
+;
+
+// Rule XLiteral
+ruleXLiteral:
+ (
+ ruleXCollectionLiteral
+ |
+ (
+ ruleXClosure
+ )
+ |
+ ruleXBooleanLiteral
+ |
+ ruleXNumberLiteral
+ |
+ ruleXNullLiteral
+ |
+ ruleXStringLiteral
+ |
+ ruleXTypeLiteral
+ )
+;
+
+// Rule XCollectionLiteral
+ruleXCollectionLiteral:
+ (
+ ruleXSetLiteral
+ |
+ ruleXListLiteral
+ )
+;
+
+// Rule XSetLiteral
+ruleXSetLiteral:
+ '#'
+ '{'
+ (
+ ruleXExpression
+ (
+ ','
+ ruleXExpression
+ )*
+ )?
+ '}'
+;
+
+// Rule XListLiteral
+ruleXListLiteral:
+ '#'
+ '['
+ (
+ ruleXExpression
+ (
+ ','
+ ruleXExpression
+ )*
+ )?
+ ']'
+;
+
+// Rule XClosure
+ruleXClosure:
+ (
+ '['
+ )
+ (
+ (
+ ruleJvmFormalParameter
+ (
+ ','
+ ruleJvmFormalParameter
+ )*
+ )?
+ '|'
+ )?
+ ruleXExpressionInClosure
+ ']'
+;
+
+// Rule XExpressionInClosure
+ruleXExpressionInClosure:
+ (
+ ruleXExpressionOrVarDeclaration
+ ';'?
+ )*
+;
+
+// Rule XShortClosure
+ruleXShortClosure:
+ (
+ (
+ ruleJvmFormalParameter
+ (
+ ','
+ ruleJvmFormalParameter
+ )*
+ )?
+ '|'
+ )
+ ruleXExpression
+;
+
+// Rule XParenthesizedExpression
+ruleXParenthesizedExpression:
+ '('
+ ruleXExpression
+ ')'
+;
+
+// Rule XIfExpression
+ruleXIfExpression:
+ 'if'
+ '('
+ ruleXExpression
+ ')'
+ ruleXExpression
+ (
+ (
+ 'else'
+ )
+ ruleXExpression
+ )?
+;
+
+// Rule XSwitchExpression
+ruleXSwitchExpression:
+ 'switch'
+ (
+ (
+ '('
+ ruleJvmFormalParameter
+ ':'
+ )
+ ruleXExpression
+ ')'
+ |
+ (
+ ruleJvmFormalParameter
+ ':'
+ )?
+ ruleXExpression
+ )
+ '{'
+ ruleXCasePart
+ *
+ (
+ 'default'
+ ':'
+ ruleXExpression
+ )?
+ '}'
+;
+
+// Rule XCasePart
+ruleXCasePart:
+ ruleJvmTypeReference
+ ?
+ (
+ 'case'
+ ruleXExpression
+ )?
+ (
+ ':'
+ ruleXExpression
+ |
+ ','
+ )
+;
+
+// Rule XForLoopExpression
+ruleXForLoopExpression:
+ (
+ 'for'
+ '('
+ ruleJvmFormalParameter
+ ':'
+ )
+ ruleXExpression
+ ')'
+ ruleXExpression
+;
+
+// Rule XBasicForLoopExpression
+ruleXBasicForLoopExpression:
+ 'for'
+ '('
+ (
+ ruleXExpressionOrVarDeclaration
+ (
+ ','
+ ruleXExpressionOrVarDeclaration
+ )*
+ )?
+ ';'
+ ruleXExpression
+ ?
+ ';'
+ (
+ ruleXExpression
+ (
+ ','
+ ruleXExpression
+ )*
+ )?
+ ')'
+ ruleXExpression
+;
+
+// Rule XWhileExpression
+ruleXWhileExpression:
+ 'while'
+ '('
+ ruleXExpression
+ ')'
+ ruleXExpression
+;
+
+// Rule XDoWhileExpression
+ruleXDoWhileExpression:
+ 'do'
+ ruleXExpression
+ 'while'
+ '('
+ ruleXExpression
+ ')'
+;
+
+// Rule XBlockExpression
+ruleXBlockExpression:
+ '{'
+ (
+ ruleXExpressionOrVarDeclaration
+ ';'?
+ )*
+ '}'
+;
+
+// Rule XExpressionOrVarDeclaration
+ruleXExpressionOrVarDeclaration:
+ (
+ ruleXVariableDeclaration
+ |
+ ruleXExpression
+ )
+;
+
+// Rule XVariableDeclaration
+ruleXVariableDeclaration:
+ (
+ 'var'
+ |
+ 'val'
+ )
+ (
+ (
+ ruleJvmTypeReference
+ ruleValidID
+ )
+ |
+ ruleValidID
+ )
+ (
+ '='
+ ruleXExpression
+ )?
+;
+
+// Rule JvmFormalParameter
+ruleJvmFormalParameter:
+ ruleJvmTypeReference
+ ?
+ ruleValidID
+;
+
+// Rule FullJvmFormalParameter
+ruleFullJvmFormalParameter:
+ ruleJvmTypeReference
+ ruleValidID
+;
+
+// Rule XFeatureCall
+ruleXFeatureCall:
+ (
+ '<'
+ ruleJvmArgumentTypeReference
+ (
+ ','
+ ruleJvmArgumentTypeReference
+ )*
+ '>'
+ )?
+ ruleIdOrSuper
+ (
+ (
+ '('
+ )
+ (
+ (
+ ruleXShortClosure
+ )
+ |
+ ruleXExpression
+ (
+ ','
+ ruleXExpression
+ )*
+ )?
+ ')'
+ )?
+ (
+ ruleXClosure
+ )?
+;
+
+// Rule FeatureCallID
+ruleFeatureCallID:
+ (
+ ruleValidID
+ |
+ 'extends'
+ |
+ 'static'
+ |
+ 'import'
+ |
+ 'extension'
+ )
+;
+
+// Rule IdOrSuper
+ruleIdOrSuper:
+ (
+ ruleFeatureCallID
+ |
+ 'super'
+ )
+;
+
+// Rule XConstructorCall
+ruleXConstructorCall:
+ 'new'
+ ruleQualifiedName
+ (
+ (
+ '<'
+ )
+ ruleJvmArgumentTypeReference
+ (
+ ','
+ ruleJvmArgumentTypeReference
+ )*
+ '>'
+ )?
+ (
+ (
+ '('
+ )
+ (
+ (
+ ruleXShortClosure
+ )
+ |
+ ruleXExpression
+ (
+ ','
+ ruleXExpression
+ )*
+ )?
+ ')'
+ )?
+ (
+ ruleXClosure
+ )?
+;
+
+// Rule XBooleanLiteral
+ruleXBooleanLiteral:
+ (
+ 'false'
+ |
+ 'true'
+ )
+;
+
+// Rule XNullLiteral
+ruleXNullLiteral:
+ 'null'
+;
+
+// Rule XNumberLiteral
+ruleXNumberLiteral:
+ ruleNumber
+;
+
+// Rule XStringLiteral
+ruleXStringLiteral:
+ RULE_STRING
+;
+
+// Rule XTypeLiteral
+ruleXTypeLiteral:
+ 'typeof'
+ '('
+ ruleQualifiedName
+ ruleArrayBrackets
+ *
+ ')'
+;
+
+// Rule XThrowExpression
+ruleXThrowExpression:
+ 'throw'
+ ruleXExpression
+;
+
+// Rule XReturnExpression
+ruleXReturnExpression:
+ 'return'
+ (
+ ruleXExpression
+ )?
+;
+
+// Rule XTryCatchFinallyExpression
+ruleXTryCatchFinallyExpression:
+ 'try'
+ ruleXExpression
+ (
+ (
+ ruleXCatchClause
+ )+
+ (
+ (
+ 'finally'
+ )
+ ruleXExpression
+ )?
+ |
+ 'finally'
+ ruleXExpression
+ )
+;
+
+// Rule XSynchronizedExpression
+ruleXSynchronizedExpression:
+ (
+ 'synchronized'
+ '('
+ )
+ ruleXExpression
+ ')'
+ ruleXExpression
+;
+
+// Rule XCatchClause
+ruleXCatchClause:
+ (
+ 'catch'
+ )
+ '('
+ ruleFullJvmFormalParameter
+ ')'
+ ruleXExpression
+;
+
+// Rule QualifiedName
+ruleQualifiedName:
+ ruleValidID
+ (
+ (
+ '.'
+ )
+ ruleValidID
+ )*
+;
+
+// Rule Number
+ruleNumber:
+ (
+ RULE_HEX
+ |
+ (
+ RULE_INT
+ |
+ RULE_DECIMAL
+ )
+ (
+ '.'
+ (
+ RULE_INT
+ |
+ RULE_DECIMAL
+ )
+ )?
+ )
+;
+
+// Rule JvmTypeReference
+ruleJvmTypeReference:
+ (
+ ruleJvmParameterizedTypeReference
+ (
+ ruleArrayBrackets
+ )*
+ |
+ ruleXFunctionTypeRef
+ )
+;
+
+// Rule ArrayBrackets
+ruleArrayBrackets:
+ '['
+ ']'
+;
+
+// Rule XFunctionTypeRef
+ruleXFunctionTypeRef:
+ (
+ '('
+ (
+ ruleJvmTypeReference
+ (
+ ','
+ ruleJvmTypeReference
+ )*
+ )?
+ ')'
+ )?
+ '=>'
+ ruleJvmTypeReference
+;
+
+// Rule JvmParameterizedTypeReference
+ruleJvmParameterizedTypeReference:
+ ruleQualifiedName
+ (
+ (
+ '<'
+ )
+ ruleJvmArgumentTypeReference
+ (
+ ','
+ ruleJvmArgumentTypeReference
+ )*
+ '>'
+ (
+ (
+ '.'
+ )
+ ruleValidID
+ (
+ (
+ '<'
+ )
+ ruleJvmArgumentTypeReference
+ (
+ ','
+ ruleJvmArgumentTypeReference
+ )*
+ '>'
+ )?
+ )*
+ )?
+;
+
+// Rule JvmArgumentTypeReference
+ruleJvmArgumentTypeReference:
+ (
+ ruleJvmTypeReference
+ |
+ ruleJvmWildcardTypeReference
+ )
+;
+
+// Rule JvmWildcardTypeReference
+ruleJvmWildcardTypeReference:
+ '?'
+ (
+ ruleJvmUpperBound
+ ruleJvmUpperBoundAnded
+ *
+ |
+ ruleJvmLowerBound
+ ruleJvmLowerBoundAnded
+ *
+ )?
+;
+
+// Rule JvmUpperBound
+ruleJvmUpperBound:
+ 'extends'
+ ruleJvmTypeReference
+;
+
+// Rule JvmUpperBoundAnded
+ruleJvmUpperBoundAnded:
+ '&'
+ ruleJvmTypeReference
+;
+
+// Rule JvmLowerBound
+ruleJvmLowerBound:
+ 'super'
+ ruleJvmTypeReference
+;
+
+// Rule JvmLowerBoundAnded
+ruleJvmLowerBoundAnded:
+ '&'
+ ruleJvmTypeReference
+;
+
+// Rule QualifiedNameWithWildcard
+ruleQualifiedNameWithWildcard:
+ ruleQualifiedName
+ '.'
+ '*'
+;
+
+// Rule ValidID
+ruleValidID:
+ RULE_ID
+;
+
+// Rule XImportSection
+ruleXImportSection:
+ ruleXImportDeclaration
+ +
+;
+
+// Rule QualifiedNameInStaticImport
+ruleQualifiedNameInStaticImport:
+ (
+ ruleValidID
+ '.'
+ )+
+;
+
+RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ ('#' (('b'|'B') ('i'|'I')|('l'|'L')))?;
+
+RULE_INT : '0'..'9' ('0'..'9'|'_')*;
+
+RULE_DECIMAL : RULE_INT (('e'|'E') ('+'|'-')? RULE_INT)? (('b'|'B') ('i'|'I'|'d'|'D')|('l'|'L'|'d'|'D'|'f'|'F'))?;
+
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*;
+
+RULE_STRING : ('"' ('\\' .|~('\\'|'"'))* '"'?|'\'' ('\\' .|~('\\'|'\''))* '\''?);
+
+RULE_ML_COMMENT : '/*' *?'*/' -> channel(HIDDEN);
+
+RULE_SL_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n')? -> channel(HIDDEN);
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+ -> channel(HIDDEN);
+
+RULE_ANY_OTHER : .;
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/DebugInternalFunctionLibraryDsl.g b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/DebugInternalFunctionLibraryDsl.g
new file mode 100644
index 0000000..e7acff0
--- /dev/null
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/DebugInternalFunctionLibraryDsl.g
@@ -0,0 +1,1636 @@
+/**
+ *
+ * Copyright (c) 2011, 2017 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
+ *
+ * generated by Xtext 2.11.0
+ *
+ */
+
+grammar DebugInternalFunctionLibraryDsl;
+
+// Rule FunctionLibraryModel
+ruleFunctionLibraryModel:
+ ruleXImportSection
+ ?
+ ruleFunctionLibraryPackage
+;
+
+// Rule FunctionLibraryPackage
+ruleFunctionLibraryPackage:
+ 'package'
+ ruleQualifiedName
+ '{'
+ (
+ (
+ ruleFunctionLibraryGroup
+ |ruleFunctionLibraryBlipGroup
+ |ruleFunctionLibraryConverterGroup
+ |ruleFunctionLibraryStatemachineGroup
+ |ruleFunctionLibraryActionGroup
+ |ruleFunctionLibraryValidationGroup
+ |ruleFunctionLibraryDialogGroup
+ )
+ |
+ ruleFunctionLibraryRating
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryGroup
+ruleFunctionLibraryGroup:
+ 'group'
+ ruleValidID
+ '{'
+ (
+ ruleFunctionLibraryFunction
+ |
+ ruleFunctionLibraryTest
+ |
+ ruleFunctionLibraryRate
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryBlipGroup
+ruleFunctionLibraryBlipGroup:
+ 'blip-group'
+ ruleValidID
+ '{'
+ (
+ ruleFunctionLibraryFunction
+ |
+ ruleFunctionLibraryTest
+ |
+ ruleFunctionLibraryRate
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryStatemachineGroup
+ruleFunctionLibraryStatemachineGroup:
+ 'statemachine'
+ ruleValidID
+ '{'
+ (
+ ruleFunctionLibraryOperation
+ |
+ ruleFunctionLibraryGuard
+ |
+ ruleFunctionLibraryFunction
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryValidationGroup
+ruleFunctionLibraryValidationGroup:
+ 'validation'
+ ruleValidID
+ '{'
+ (
+ ruleFunctionLibraryValidation
+ |
+ ruleFunctionLibraryFunction
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryDialogGroup
+ruleFunctionLibraryDialogGroup:
+ 'dialog'
+ ruleValidID
+ '{'
+ (
+ ruleFunctionLibraryDialogHook
+ |
+ ruleFunctionLibraryFunction
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryActionGroup
+ruleFunctionLibraryActionGroup:
+ 'action'
+ ruleValidID
+ '{'
+ (
+ ruleFunctionLibraryExecute
+ |
+ ruleFunctionLibraryCanExecute
+ )*
+ '}'
+;
+
+// Rule FunctionLibraryConverterGroup
+ruleFunctionLibraryConverterGroup:
+ 'converter'
+ ruleValidID
+ '{'
+ 'model-datatype'
+ ruleTYPE_CROSS_REFERENCE
+ 'presentation-datatype'
+ ruleTYPE_CROSS_REFERENCE
+ ruleFunctionConvertToModel
+ ruleFunctionConvertToPresentation
+ '}'
+;
+
+// Rule FunctionConvertToModel
+ruleFunctionConvertToModel:
+ 'to-model'
+ ruleXBlockExpression
+;
+
+// Rule FunctionConvertToPresentation
+ruleFunctionConvertToPresentation:
+ 'to-presentation'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryRating
+ruleFunctionLibraryRating:
+ 'rating'
+ ruleValidID
+ '{'
+ ruleFunctionLibraryRatingItem
+ *
+ '}'
+;
+
+// Rule FunctionLibraryRatingItem
+ruleFunctionLibraryRatingItem:
+ ruleValidID
+;
+
+// Rule FunctionLibraryFunction
+ruleFunctionLibraryFunction:
+ 'function'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ 'returns'
+ ruleJvmParameterizedTypeReference
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryTest
+ruleFunctionLibraryTest:
+ 'test'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryRate
+ruleFunctionLibraryRate:
+ 'rate'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ 'returns'
+ RULE_ID
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryGuard
+ruleFunctionLibraryGuard:
+ 'guard'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryOperation
+ruleFunctionLibraryOperation:
+ 'operation'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryValidation
+ruleFunctionLibraryValidation:
+ 'validate'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryDialogHook
+ruleFunctionLibraryDialogHook:
+ 'hook'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryExecute
+ruleFunctionLibraryExecute:
+ 'execute'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryCanExecute
+ruleFunctionLibraryCanExecute:
+ 'canExecute'
+ ruleValidID
+ '('
+ (
+ ruleFunctionLibraryParameter
+ (
+ ','
+ ruleFunctionLibraryParameter
+ )*
+ )?
+ ')'
+ ruleXBlockExpression
+;
+
+// Rule FunctionLibraryParameter
+ruleFunctionLibraryParameter:
+ ruleJvmTypeReference
+ ruleValidID
+;
+
+// Rule TYPE_CROSS_REFERENCE
+ruleTYPE_CROSS_REFERENCE:
+ RULE_ID
+;
+
+// Rule XImportDeclaration
+ruleXImportDeclaration:
+ 'import'
+ (
+ 'static'
+ 'extension'
+ ?
+ ruleQualifiedNameInStaticImport
+ (
+ '*'
+ |
+ ruleValidID
+ )
+ |
+ ruleQualifiedName
+ |
+ ruleQualifiedNameWithWildcard
+ |
+ 'ns'
+ ruleQualifiedName
+ )
+ ';'?
+;
+
+// Rule XAnnotation
+ruleXAnnotation:
+ '@'
+ ruleQualifiedName
+ (
+ (
+ ('(')=>
+ '('
+ )
+ (
+ (
+ (ruleValidID
+ '='
+ )=>
+ ruleXAnnotationElementValuePair
+ )
+ (
+ ','
+ (
+ (ruleValidID
+ '='
+ )=>
+ ruleXAnnotationElementValuePair
+ )
+ )*
+ |
+ ruleXAnnotationElementValueOrCommaList
+ )?
+ ')'
+ )?
+;
+
+// Rule XAnnotationElementValuePair
+ruleXAnnotationElementValuePair:
+ (
+ (ruleValidID
+ '='
+ )=>
+ ruleValidID
+ '='
+ )
+ ruleXAnnotationElementValue
+;
+
+// Rule XAnnotationElementValueOrCommaList
+ruleXAnnotationElementValueOrCommaList:
+ (
+ (
+ ('#'
+ '['
+ )=>
+ '#'
+ '['
+ )
+ (
+ ruleXAnnotationOrExpression
+ (
+ ','
+ ruleXAnnotationOrExpression
+ )*
+ )?
+ ']'
+ |
+ ruleXAnnotationOrExpression
+ (
+ (
+ ','
+ ruleXAnnotationOrExpression
+ )+
+ )?
+ )
+;
+
+// Rule XAnnotationElementValue
+ruleXAnnotationElementValue:
+ (
+ (
+ ('#'
+ '['
+ )=>
+ '#'
+ '['
+ )
+ (
+ ruleXAnnotationOrExpression
+ (
+ ','
+ ruleXAnnotationOrExpression
+ )*
+ )?
+ ']'
+ |
+ ruleXAnnotationOrExpression
+ )
+;
+
+// Rule XAnnotationOrExpression
+ruleXAnnotationOrExpression:
+ (
+ ruleXAnnotation
+ |
+ ruleXExpression
+ )
+;
+
+// Rule XExpression
+ruleXExpression:
+ ruleXAssignment
+;
+
+// Rule XAssignment
+ruleXAssignment:
+ (
+ ruleFeatureCallID
+ ruleOpSingleAssign
+ ruleXAssignment
+ |
+ ruleXOrExpression
+ (
+ (
+ (ruleOpMultiAssign
+ )=>
+ ruleOpMultiAssign
+ )
+ ruleXAssignment
+ )?
+ )
+;
+
+// Rule OpSingleAssign
+ruleOpSingleAssign:
+ '='
+;
+
+// Rule OpMultiAssign
+ruleOpMultiAssign:
+ (
+ '+='
+ |
+ '-='
+ |
+ '*='
+ |
+ '/='
+ |
+ '%='
+ |
+ '<'
+ '<'
+ '='
+ |
+ '>'
+ '>'?
+ '>='
+ )
+;
+
+// Rule XOrExpression
+ruleXOrExpression:
+ ruleXAndExpression
+ (
+ (
+ (ruleOpOr
+ )=>
+ ruleOpOr
+ )
+ ruleXAndExpression
+ )*
+;
+
+// Rule OpOr
+ruleOpOr:
+ '||'
+;
+
+// Rule XAndExpression
+ruleXAndExpression:
+ ruleXEqualityExpression
+ (
+ (
+ (ruleOpAnd
+ )=>
+ ruleOpAnd
+ )
+ ruleXEqualityExpression
+ )*
+;
+
+// Rule OpAnd
+ruleOpAnd:
+ '&&'
+;
+
+// Rule XEqualityExpression
+ruleXEqualityExpression:
+ ruleXRelationalExpression
+ (
+ (
+ (ruleOpEquality
+ )=>
+ ruleOpEquality
+ )
+ ruleXRelationalExpression
+ )*
+;
+
+// Rule OpEquality
+ruleOpEquality:
+ (
+ '=='
+ |
+ '!='
+ |
+ '==='
+ |
+ '!=='
+ )
+;
+
+// Rule XRelationalExpression
+ruleXRelationalExpression:
+ ruleXOtherOperatorExpression
+ (
+ (
+ ('instanceof'
+ )=>
+ 'instanceof'
+ )
+ ruleJvmTypeReference
+ |
+ (
+ (ruleOpCompare
+ )=>
+ ruleOpCompare
+ )
+ ruleXOtherOperatorExpression
+ )*
+;
+
+// Rule OpCompare
+ruleOpCompare:
+ (
+ '>='
+ |
+ '<'
+ '='
+ |
+ '>'
+ |
+ '<'
+ )
+;
+
+// Rule XOtherOperatorExpression
+ruleXOtherOperatorExpression:
+ ruleXAdditiveExpression
+ (
+ (
+ (ruleOpOther
+ )=>
+ ruleOpOther
+ )
+ ruleXAdditiveExpression
+ )*
+;
+
+// Rule OpOther
+ruleOpOther:
+ (
+ '->'
+ |
+ '..<'
+ |
+ '>'
+ '..'
+ |
+ '..'
+ |
+ '=>'
+ |
+ '>'
+ (
+ (
+ ('>'
+ '>'
+ )=>
+ '>'
+ '>'
+ )
+ |
+ '>'
+ )
+ |
+ '<'
+ (
+ (
+ ('<'
+ '<'
+ )=>
+ '<'
+ '<'
+ )
+ |
+ '<'
+ |
+ '=>'
+ )
+ |
+ '<>'
+ |
+ '?:'
+ )
+;
+
+// Rule XAdditiveExpression
+ruleXAdditiveExpression:
+ ruleXMultiplicativeExpression
+ (
+ (
+ (ruleOpAdd
+ )=>
+ ruleOpAdd
+ )
+ ruleXMultiplicativeExpression
+ )*
+;
+
+// Rule OpAdd
+ruleOpAdd:
+ (
+ '+'
+ |
+ '-'
+ )
+;
+
+// Rule XMultiplicativeExpression
+ruleXMultiplicativeExpression:
+ ruleXUnaryOperation
+ (
+ (
+ (ruleOpMulti
+ )=>
+ ruleOpMulti
+ )
+ ruleXUnaryOperation
+ )*
+;
+
+// Rule OpMulti
+ruleOpMulti:
+ (
+ '*'
+ |
+ '**'
+ |
+ '/'
+ |
+ '%'
+ )
+;
+
+// Rule XUnaryOperation
+ruleXUnaryOperation:
+ (
+ ruleOpUnary
+ ruleXUnaryOperation
+ |
+ ruleXCastedExpression
+ )
+;
+
+// Rule OpUnary
+ruleOpUnary:
+ (
+ '!'
+ |
+ '-'
+ |
+ '+'
+ )
+;
+
+// Rule XCastedExpression
+ruleXCastedExpression:
+ ruleXPostfixOperation
+ (
+ (
+ ('as'
+ )=>
+ 'as'
+ )
+ ruleJvmTypeReference
+ )*
+;
+
+// Rule XPostfixOperation
+ruleXPostfixOperation:
+ ruleXMemberFeatureCall
+ (
+ (ruleOpPostfix
+ )=>
+ ruleOpPostfix
+ )?
+;
+
+// Rule OpPostfix
+ruleOpPostfix:
+ (
+ '++'
+ |
+ '--'
+ )
+;
+
+// Rule XMemberFeatureCall
+ruleXMemberFeatureCall:
+ ruleXPrimaryExpression
+ (
+ (
+ ((
+ '.'
+ |
+ '::'
+ )
+ ruleFeatureCallID
+ ruleOpSingleAssign
+ )=>
+ (
+ '.'
+ |
+ '::'
+ )
+ ruleFeatureCallID
+ ruleOpSingleAssign
+ )
+ ruleXAssignment
+ |
+ (
+ ((
+ '.'
+ |
+ '?.'
+ |
+ '::'
+ )
+ )=>
+ (
+ '.'
+ |
+ '?.'
+ |
+ '::'
+ )
+ )
+ (
+ '<'
+ ruleJvmArgumentTypeReference
+ (
+ ','
+ ruleJvmArgumentTypeReference
+ )*
+ '>'
+ )?
+ ruleIdOrSuper
+ (
+ (
+ ('('
+ )=>
+ '('
+ )
+ (
+ (
+ ((
+ ruleJvmFormalParameter
+ (
+ ','
+ ruleJvmFormalParameter
+ )*
+ )?
+ '|'
+ )=>
+ ruleXShortClosure
+ )
+ |
+ ruleXExpression
+ (
+ ','
+ ruleXExpression
+ )*
+ )?
+ ')'
+ )?
+ (
+ ('['
+ )=>
+ ruleXClosure
+ )?
+ )*
+;
+
+// Rule XPrimaryExpression
+ruleXPrimaryExpression:
+ (
+ ruleXConstructorCall
+ |
+ ruleXBlockExpression
+ |
+ ruleXSwitchExpression
+ |
+ (
+ ('synchronized'
+ '('
+ )=>
+ ruleXSynchronizedExpression
+ )
+ |
+ ruleXFeatureCall
+ |
+ ruleXLiteral
+ |
+ ruleXIfExpression
+ |
+ (
+ ('for'
+ '('
+ ruleJvmFormalParameter
+ ':'
+ )=>
+ ruleXForLoopExpression
+ )
+ |
+ ruleXBasicForLoopExpression
+ |
+ ruleXWhileExpression
+ |
+ ruleXDoWhileExpression
+ |
+ ruleXThrowExpression
+ |
+ ruleXReturnExpression
+ |
+ ruleXTryCatchFinallyExpression
+ |
+ ruleXParenthesizedExpression
+ )
+;
+
+// Rule XLiteral
+ruleXLiteral:
+ (
+ ruleXCollectionLiteral
+ |
+ (
+ ('['
+ )=>
+ ruleXClosure
+ )
+ |
+ ruleXBooleanLiteral
+ |
+ ruleXNumberLiteral
+ |
+ ruleXNullLiteral
+ |
+ ruleXStringLiteral
+ |
+ ruleXTypeLiteral
+ )
+;
+
+// Rule XCollectionLiteral
+ruleXCollectionLiteral:
+ (
+ ruleXSetLiteral
+ |
+ ruleXListLiteral
+ )
+;
+
+// Rule XSetLiteral
+ruleXSetLiteral:
+ '#'
+ '{'
+ (
+ ruleXExpression
+ (
+ ','
+ ruleXExpression
+ )*
+ )?
+ '}'
+;
+
+// Rule XListLiteral
+ruleXListLiteral:
+ '#'
+ '['
+ (
+ ruleXExpression
+ (
+ ','
+ ruleXExpression
+ )*
+ )?
+ ']'
+;
+
+// Rule XClosure
+ruleXClosure:
+ (
+ ('['
+ )=>
+ '['
+ )
+ (
+ ((
+ ruleJvmFormalParameter
+ (
+ ','
+ ruleJvmFormalParameter
+ )*
+ )?
+ '|'
+ )=>
+ (
+ ruleJvmFormalParameter
+ (
+ ','
+ ruleJvmFormalParameter
+ )*
+ )?
+ '|'
+ )?
+ ruleXExpressionInClosure
+ ']'
+;
+
+// Rule XExpressionInClosure
+ruleXExpressionInClosure:
+ (
+ ruleXExpressionOrVarDeclaration
+ ';'?
+ )*
+;
+
+// Rule XShortClosure
+ruleXShortClosure:
+ (
+ ((
+ ruleJvmFormalParameter
+ (
+ ','
+ ruleJvmFormalParameter
+ )*
+ )?
+ '|'
+ )=>
+ (
+ ruleJvmFormalParameter
+ (
+ ','
+ ruleJvmFormalParameter
+ )*
+ )?
+ '|'
+ )
+ ruleXExpression
+;
+
+// Rule XParenthesizedExpression
+ruleXParenthesizedExpression:
+ '('
+ ruleXExpression
+ ')'
+;
+
+// Rule XIfExpression
+ruleXIfExpression:
+ 'if'
+ '('
+ ruleXExpression
+ ')'
+ ruleXExpression
+ (
+ (
+ ('else')=>
+ 'else'
+ )
+ ruleXExpression
+ )?
+;
+
+// Rule XSwitchExpression
+ruleXSwitchExpression:
+ 'switch'
+ (
+ (
+ ('('
+ ruleJvmFormalParameter
+ ':'
+ )=>
+ '('
+ ruleJvmFormalParameter
+ ':'
+ )
+ ruleXExpression
+ ')'
+ |
+ (
+ (ruleJvmFormalParameter
+ ':'
+ )=>
+ ruleJvmFormalParameter
+ ':'
+ )?
+ ruleXExpression
+ )
+ '{'
+ ruleXCasePart
+ *
+ (
+ 'default'
+ ':'
+ ruleXExpression
+ )?
+ '}'
+;
+
+// Rule XCasePart
+ruleXCasePart:
+ ruleJvmTypeReference
+ ?
+ (
+ 'case'
+ ruleXExpression
+ )?
+ (
+ ':'
+ ruleXExpression
+ |
+ ','
+ )
+;
+
+// Rule XForLoopExpression
+ruleXForLoopExpression:
+ (
+ ('for'
+ '('
+ ruleJvmFormalParameter
+ ':'
+ )=>
+ 'for'
+ '('
+ ruleJvmFormalParameter
+ ':'
+ )
+ ruleXExpression
+ ')'
+ ruleXExpression
+;
+
+// Rule XBasicForLoopExpression
+ruleXBasicForLoopExpression:
+ 'for'
+ '('
+ (
+ ruleXExpressionOrVarDeclaration
+ (
+ ','
+ ruleXExpressionOrVarDeclaration
+ )*
+ )?
+ ';'
+ ruleXExpression
+ ?
+ ';'
+ (
+ ruleXExpression
+ (
+ ','
+ ruleXExpression
+ )*
+ )?
+ ')'
+ ruleXExpression
+;
+
+// Rule XWhileExpression
+ruleXWhileExpression:
+ 'while'
+ '('
+ ruleXExpression
+ ')'
+ ruleXExpression
+;
+
+// Rule XDoWhileExpression
+ruleXDoWhileExpression:
+ 'do'
+ ruleXExpression
+ 'while'
+ '('
+ ruleXExpression
+ ')'
+;
+
+// Rule XBlockExpression
+ruleXBlockExpression:
+ '{'
+ (
+ ruleXExpressionOrVarDeclaration
+ ';'?
+ )*
+ '}'
+;
+
+// Rule XExpressionOrVarDeclaration
+ruleXExpressionOrVarDeclaration:
+ (
+ ruleXVariableDeclaration
+ |
+ ruleXExpression
+ )
+;
+
+// Rule XVariableDeclaration
+ruleXVariableDeclaration:
+ (
+ 'var'
+ |
+ 'val'
+ )
+ (
+ (
+ (ruleJvmTypeReference
+ ruleValidID
+ )=>
+ ruleJvmTypeReference
+ ruleValidID
+ )
+ |
+ ruleValidID
+ )
+ (
+ '='
+ ruleXExpression
+ )?
+;
+
+// Rule JvmFormalParameter
+ruleJvmFormalParameter:
+ ruleJvmTypeReference
+ ?
+ ruleValidID
+;
+
+// Rule FullJvmFormalParameter
+ruleFullJvmFormalParameter:
+ ruleJvmTypeReference
+ ruleValidID
+;
+
+// Rule XFeatureCall
+ruleXFeatureCall:
+ (
+ '<'
+ ruleJvmArgumentTypeReference
+ (
+ ','
+ ruleJvmArgumentTypeReference
+ )*
+ '>'
+ )?
+ ruleIdOrSuper
+ (
+ (
+ ('('
+ )=>
+ '('
+ )
+ (
+ (
+ ((
+ ruleJvmFormalParameter
+ (
+ ','
+ ruleJvmFormalParameter
+ )*
+ )?
+ '|'
+ )=>
+ ruleXShortClosure
+ )
+ |
+ ruleXExpression
+ (
+ ','
+ ruleXExpression
+ )*
+ )?
+ ')'
+ )?
+ (
+ ('['
+ )=>
+ ruleXClosure
+ )?
+;
+
+// Rule FeatureCallID
+ruleFeatureCallID:
+ (
+ ruleValidID
+ |
+ 'extends'
+ |
+ 'static'
+ |
+ 'import'
+ |
+ 'extension'
+ )
+;
+
+// Rule IdOrSuper
+ruleIdOrSuper:
+ (
+ ruleFeatureCallID
+ |
+ 'super'
+ )
+;
+
+// Rule XConstructorCall
+ruleXConstructorCall:
+ 'new'
+ ruleQualifiedName
+ (
+ (
+ ('<')=>
+ '<'
+ )
+ ruleJvmArgumentTypeReference
+ (
+ ','
+ ruleJvmArgumentTypeReference
+ )*
+ '>'
+ )?
+ (
+ (
+ ('('
+ )=>
+ '('
+ )
+ (
+ (
+ ((
+ ruleJvmFormalParameter
+ (
+ ','
+ ruleJvmFormalParameter
+ )*
+ )?
+ '|'
+ )=>
+ ruleXShortClosure
+ )
+ |
+ ruleXExpression
+ (
+ ','
+ ruleXExpression
+ )*
+ )?
+ ')'
+ )?
+ (
+ ('['
+ )=>
+ ruleXClosure
+ )?
+;
+
+// Rule XBooleanLiteral
+ruleXBooleanLiteral:
+ (
+ 'false'
+ |
+ 'true'
+ )
+;
+
+// Rule XNullLiteral
+ruleXNullLiteral:
+ 'null'
+;
+
+// Rule XNumberLiteral
+ruleXNumberLiteral:
+ ruleNumber
+;
+
+// Rule XStringLiteral
+ruleXStringLiteral:
+ RULE_STRING
+;
+
+// Rule XTypeLiteral
+ruleXTypeLiteral:
+ 'typeof'
+ '('
+ ruleQualifiedName
+ ruleArrayBrackets
+ *
+ ')'
+;
+
+// Rule XThrowExpression
+ruleXThrowExpression:
+ 'throw'
+ ruleXExpression
+;
+
+// Rule XReturnExpression
+ruleXReturnExpression:
+ 'return'
+ (
+ ('extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING)=>
+ ruleXExpression
+ )?
+;
+
+// Rule XTryCatchFinallyExpression
+ruleXTryCatchFinallyExpression:
+ 'try'
+ ruleXExpression
+ (
+ (
+ ('catch')=>
+ ruleXCatchClause
+ )+
+ (
+ (
+ ('finally')=>
+ 'finally'
+ )
+ ruleXExpression
+ )?
+ |
+ 'finally'
+ ruleXExpression
+ )
+;
+
+// Rule XSynchronizedExpression
+ruleXSynchronizedExpression:
+ (
+ ('synchronized'
+ '('
+ )=>
+ 'synchronized'
+ '('
+ )
+ ruleXExpression
+ ')'
+ ruleXExpression
+;
+
+// Rule XCatchClause
+ruleXCatchClause:
+ (
+ ('catch')=>
+ 'catch'
+ )
+ '('
+ ruleFullJvmFormalParameter
+ ')'
+ ruleXExpression
+;
+
+// Rule QualifiedName
+ruleQualifiedName:
+ ruleValidID
+ (
+ (
+ ('.')=>
+ '.'
+ )
+ ruleValidID
+ )*
+;
+
+// Rule Number
+ruleNumber:
+ (
+ RULE_HEX
+ |
+ (
+ RULE_INT
+ |
+ RULE_DECIMAL
+ )
+ (
+ '.'
+ (
+ RULE_INT
+ |
+ RULE_DECIMAL
+ )
+ )?
+ )
+;
+
+// Rule JvmTypeReference
+ruleJvmTypeReference:
+ (
+ ruleJvmParameterizedTypeReference
+ (
+ (ruleArrayBrackets
+ )=>
+ ruleArrayBrackets
+ )*
+ |
+ ruleXFunctionTypeRef
+ )
+;
+
+// Rule ArrayBrackets
+ruleArrayBrackets:
+ '['
+ ']'
+;
+
+// Rule XFunctionTypeRef
+ruleXFunctionTypeRef:
+ (
+ '('
+ (
+ ruleJvmTypeReference
+ (
+ ','
+ ruleJvmTypeReference
+ )*
+ )?
+ ')'
+ )?
+ '=>'
+ ruleJvmTypeReference
+;
+
+// Rule JvmParameterizedTypeReference
+ruleJvmParameterizedTypeReference:
+ ruleQualifiedName
+ (
+ (
+ ('<')=>
+ '<'
+ )
+ ruleJvmArgumentTypeReference
+ (
+ ','
+ ruleJvmArgumentTypeReference
+ )*
+ '>'
+ (
+ (
+ ('.'
+ )=>
+ '.'
+ )
+ ruleValidID
+ (
+ (
+ ('<')=>
+ '<'
+ )
+ ruleJvmArgumentTypeReference
+ (
+ ','
+ ruleJvmArgumentTypeReference
+ )*
+ '>'
+ )?
+ )*
+ )?
+;
+
+// Rule JvmArgumentTypeReference
+ruleJvmArgumentTypeReference:
+ (
+ ruleJvmTypeReference
+ |
+ ruleJvmWildcardTypeReference
+ )
+;
+
+// Rule JvmWildcardTypeReference
+ruleJvmWildcardTypeReference:
+ '?'
+ (
+ ruleJvmUpperBound
+ ruleJvmUpperBoundAnded
+ *
+ |
+ ruleJvmLowerBound
+ ruleJvmLowerBoundAnded
+ *
+ )?
+;
+
+// Rule JvmUpperBound
+ruleJvmUpperBound:
+ 'extends'
+ ruleJvmTypeReference
+;
+
+// Rule JvmUpperBoundAnded
+ruleJvmUpperBoundAnded:
+ '&'
+ ruleJvmTypeReference
+;
+
+// Rule JvmLowerBound
+ruleJvmLowerBound:
+ 'super'
+ ruleJvmTypeReference
+;
+
+// Rule JvmLowerBoundAnded
+ruleJvmLowerBoundAnded:
+ '&'
+ ruleJvmTypeReference
+;
+
+// Rule QualifiedNameWithWildcard
+ruleQualifiedNameWithWildcard:
+ ruleQualifiedName
+ '.'
+ '*'
+;
+
+// Rule ValidID
+ruleValidID:
+ RULE_ID
+;
+
+// Rule XImportSection
+ruleXImportSection:
+ ruleXImportDeclaration
+ +
+;
+
+// Rule QualifiedNameInStaticImport
+ruleQualifiedNameInStaticImport:
+ (
+ ruleValidID
+ '.'
+ )+
+;
+
+RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F'|'_')+ ('#' (('b'|'B') ('i'|'I')|('l'|'L')))?;
+
+RULE_INT : '0'..'9' ('0'..'9'|'_')*;
+
+RULE_DECIMAL : RULE_INT (('e'|'E') ('+'|'-')? RULE_INT)? (('b'|'B') ('i'|'I'|'d'|'D')|('l'|'L'|'d'|'D'|'f'|'F'))?;
+
+RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'$'|'_') ('a'..'z'|'A'..'Z'|'$'|'_'|'0'..'9')*;
+
+RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'?|'\'' ('\\' .|~(('\\'|'\'')))* '\''?);
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/' {skip();};
+
+RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')? {skip();};
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+ {skip();};
+
+RULE_ANY_OTHER : .;
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/InternalFunctionLibraryDslLexer.java b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/InternalFunctionLibraryDslLexer.java
index e777613..7a9b0d7 100644
--- a/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/InternalFunctionLibraryDslLexer.java
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/src-gen/org/eclipse/osbp/xtext/functionlibrarydsl/parser/antlr/internal/InternalFunctionLibraryDslLexer.java
@@ -1,17 +1,3 @@
-/**
- *
- * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
- *
- */
-
package org.eclipse.osbp.xtext.functionlibrarydsl.parser.antlr.internal;
// Hack: Use our own Lexer superclass by means of import.
@@ -4361,4 +4347,4 @@
}
-}
+}
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.functionlibrarydsl/src/org/eclipse/osbp/xtext/functionlibrarydsl/GenerateFunctionLibraryDsl.mwe2 b/org.eclipse.osbp.xtext.functionlibrarydsl/src/org/eclipse/osbp/xtext/functionlibrarydsl/GenerateFunctionLibraryDsl.mwe2
index 97a64a0..cc98933 100644
--- a/org.eclipse.osbp.xtext.functionlibrarydsl/src/org/eclipse/osbp/xtext/functionlibrarydsl/GenerateFunctionLibraryDsl.mwe2
+++ b/org.eclipse.osbp.xtext.functionlibrarydsl/src/org/eclipse/osbp/xtext/functionlibrarydsl/GenerateFunctionLibraryDsl.mwe2
@@ -89,6 +89,12 @@
// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
}
+ parserGenerator = {
+ debugGrammar = true
+ }
+
+ fragment = com.itemis.xtext.codebuff.CodebuffGrammarGeneratorFragment {}
+
generator = {
generateStub = false
generateJavaMain = false