| // | |
| // Licensed to the Apache Software Foundation (ASF) under one | |
| // or more contributor license agreements. See the NOTICE file | |
| // distributed with this work for additional information | |
| // regarding copyright ownership. The ASF licenses this file | |
| // to you under the Apache License, Version 2.0 (the | |
| // "License"); you may not use this file except in compliance | |
| // with the License. You may obtain a copy of the License at | |
| // | |
| // https://www.apache.org/licenses/LICENSE-2.0 | |
| // | |
| // Unless required by applicable law or agreed to in writing, | |
| // software distributed under the License is distributed on an | |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| // KIND, either express or implied. See the License for the | |
| // specific language governing permissions and limitations | |
| // under the License. | |
| // | |
| //------------------------------------------------------------------------------ | |
| // <auto-generated> | |
| // This code was generated by a tool. | |
| // ANTLR Version: 4.13.2 | |
| // | |
| // Changes to this file may cause incorrect behavior and will be lost if | |
| // the code is regenerated. | |
| // </auto-generated> | |
| //------------------------------------------------------------------------------ | |
| // Generated from code-generation/protocol-base-mspec/src/main/antlr4/org/apache/plc4x/plugins/codegenerator/language/mspec/MSpec.g4 by ANTLR 4.13.2 | |
| // Unreachable code detected | |
| #pragma warning disable 0162 | |
| // The variable '...' is assigned but its value is never used | |
| #pragma warning disable 0219 | |
| // Missing XML comment for publicly visible type or member '...' | |
| #pragma warning disable 1591 | |
| // Ambiguous reference in cref attribute | |
| #pragma warning disable 419 | |
| namespace org.apache.plc4net.tools.codegen.grammar { | |
| using System; | |
| using System.IO; | |
| using System.Text; | |
| using System.Diagnostics; | |
| using System.Collections.Generic; | |
| using Antlr4.Runtime; | |
| using Antlr4.Runtime.Atn; | |
| using Antlr4.Runtime.Misc; | |
| using Antlr4.Runtime.Tree; | |
| using DFA = Antlr4.Runtime.Dfa.DFA; | |
| [System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.13.2")] | |
| [System.CLSCompliant(false)] | |
| public partial class MSpecParser : Parser { | |
| protected static DFA[] decisionToDFA; | |
| protected static PredictionContextCache sharedContextCache = new PredictionContextCache(); | |
| public const 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, | |
| TICK=25, LBRACKET=26, RBRACKET=27, LRBRACKET=28, RRBRACKET=29, LCBRACKET=30, | |
| RCBRACKET=31, ASTERISK=32, CONSTANTS=33, GLOBALS=34, CONTEXT=35, TYPE=36, | |
| DISCRIMINATEDTYPE=37, DATAIO=38, ENUM=39, BATCHSET=40, ABSTRACT=41, ARRAY=42, | |
| ASSERT=43, CHECKSUM=44, CONST=45, DISCRIMINATOR=46, IMPLICIT=47, MANUALARRAY=48, | |
| MANUAL=49, OPTIONAL=50, PADDING=51, PEEK=52, RESERVED=53, SIMPLE=54, STATE=55, | |
| TYPESWITCH=56, UNKNOWN=57, VALIDATION=58, VIRTUAL=59, BIT=60, BYTE=61, | |
| INT=62, VINT=63, UINT=64, VUINT=65, FLOAT=66, UFLOAT=67, STRING=68, VSTRING=69, | |
| TIME=70, DATE=71, DATETIME=72, SHOULD_FAIL=73, ARRAY_LOOP_TYPE=74, INTEGER_LITERAL=75, | |
| FLOAT_LITERAL=76, HEX_LITERAL=77, BOOLEAN_LITERAL=78, STRING_LITERAL=79, | |
| IDENTIFIER_LITERAL=80, LINE_COMMENT=81, BLOCK_COMMENT=82, EmptyLine=83, | |
| NEWLINE=84, WS=85; | |
| public const int | |
| RULE_file = 0, RULE_contantsDefinition = 1, RULE_globalsDefinition = 2, | |
| RULE_contextDefintion = 3, RULE_complexTypeDefinition = 4, RULE_complexType = 5, | |
| RULE_fieldDefinition = 6, RULE_batchSetDefinition = 7, RULE_dataIoDefinition = 8, | |
| RULE_field = 9, RULE_abstractField = 10, RULE_arrayField = 11, RULE_assertField = 12, | |
| RULE_checksumField = 13, RULE_constField = 14, RULE_discriminatorField = 15, | |
| RULE_enumField = 16, RULE_implicitField = 17, RULE_manualArrayField = 18, | |
| RULE_manualField = 19, RULE_optionalField = 20, RULE_paddingField = 21, | |
| RULE_peekField = 22, RULE_reservedField = 23, RULE_simpleField = 24, RULE_stateField = 25, | |
| RULE_typeSwitchField = 26, RULE_unknownField = 27, RULE_validationField = 28, | |
| RULE_virtualField = 29, RULE_enumValueDefinition = 30, RULE_typeReference = 31, | |
| RULE_caseStatement = 32, RULE_dataType = 33, RULE_attribute = 34, RULE_attributeList = 35, | |
| RULE_argument = 36, RULE_argumentList = 37, RULE_expression = 38, RULE_multipleExpressions = 39, | |
| RULE_multipleVariableLiterals = 40, RULE_variableLiteral = 41, RULE_innerExpression = 42, | |
| RULE_valueLiteral = 43, RULE_idExpression = 44, RULE_binaryOperator = 45; | |
| public static readonly string[] ruleNames = { | |
| "file", "contantsDefinition", "globalsDefinition", "contextDefintion", | |
| "complexTypeDefinition", "complexType", "fieldDefinition", "batchSetDefinition", | |
| "dataIoDefinition", "field", "abstractField", "arrayField", "assertField", | |
| "checksumField", "constField", "discriminatorField", "enumField", "implicitField", | |
| "manualArrayField", "manualField", "optionalField", "paddingField", "peekField", | |
| "reservedField", "simpleField", "stateField", "typeSwitchField", "unknownField", | |
| "validationField", "virtualField", "enumValueDefinition", "typeReference", | |
| "caseStatement", "dataType", "attribute", "attributeList", "argument", | |
| "argumentList", "expression", "multipleExpressions", "multipleVariableLiterals", | |
| "variableLiteral", "innerExpression", "valueLiteral", "idExpression", | |
| "binaryOperator" | |
| }; | |
| private static readonly string[] _LiteralNames = { | |
| null, "'='", "','", "'.'", "'?'", "':'", "'\"'", "'!'", "'+'", "'-'", | |
| "'/'", "'^'", "'=='", "'!='", "'>>'", "'<<'", "'>'", "'<'", "'>='", "'<='", | |
| "'&&'", "'||'", "'&'", "'|'", "'%'", "'''", "'['", "']'", "'('", "')'", | |
| "'{'", "'}'", "'*'", "'constants'", "'globals'", "'context'", "'type'", | |
| "'discriminatedType'", "'dataIo'", "'enum'", "'batchSet'", "'abstract'", | |
| "'array'", "'assert'", "'checksum'", "'const'", "'discriminator'", "'implicit'", | |
| "'manualArray'", "'manual'", "'optional'", "'padding'", "'peek'", "'reserved'", | |
| "'simple'", "'state'", "'typeSwitch'", "'unknown'", "'validation'", "'virtual'", | |
| "'bit'", "'byte'", "'int'", "'vint'", "'uint'", "'vuint'", "'float'", | |
| "'ufloat'", "'string'", "'vstring'", "'time'", "'date'", "'dateTime'", | |
| "'shouldFail'" | |
| }; | |
| private static readonly string[] _SymbolicNames = { | |
| 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, "TICK", "LBRACKET", "RBRACKET", "LRBRACKET", "RRBRACKET", "LCBRACKET", | |
| "RCBRACKET", "ASTERISK", "CONSTANTS", "GLOBALS", "CONTEXT", "TYPE", "DISCRIMINATEDTYPE", | |
| "DATAIO", "ENUM", "BATCHSET", "ABSTRACT", "ARRAY", "ASSERT", "CHECKSUM", | |
| "CONST", "DISCRIMINATOR", "IMPLICIT", "MANUALARRAY", "MANUAL", "OPTIONAL", | |
| "PADDING", "PEEK", "RESERVED", "SIMPLE", "STATE", "TYPESWITCH", "UNKNOWN", | |
| "VALIDATION", "VIRTUAL", "BIT", "BYTE", "INT", "VINT", "UINT", "VUINT", | |
| "FLOAT", "UFLOAT", "STRING", "VSTRING", "TIME", "DATE", "DATETIME", "SHOULD_FAIL", | |
| "ARRAY_LOOP_TYPE", "INTEGER_LITERAL", "FLOAT_LITERAL", "HEX_LITERAL", | |
| "BOOLEAN_LITERAL", "STRING_LITERAL", "IDENTIFIER_LITERAL", "LINE_COMMENT", | |
| "BLOCK_COMMENT", "EmptyLine", "NEWLINE", "WS" | |
| }; | |
| public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames); | |
| [NotNull] | |
| public override IVocabulary Vocabulary | |
| { | |
| get | |
| { | |
| return DefaultVocabulary; | |
| } | |
| } | |
| public override string GrammarFileName { get { return "MSpec.g4"; } } | |
| public override string[] RuleNames { get { return ruleNames; } } | |
| public override int[] SerializedAtn { get { return _serializedATN; } } | |
| static MSpecParser() { | |
| decisionToDFA = new DFA[_ATN.NumberOfDecisions]; | |
| for (int i = 0; i < _ATN.NumberOfDecisions; i++) { | |
| decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i); | |
| } | |
| } | |
| public MSpecParser(ITokenStream input) : this(input, Console.Out, Console.Error) { } | |
| public MSpecParser(ITokenStream input, TextWriter output, TextWriter errorOutput) | |
| : base(input, output, errorOutput) | |
| { | |
| Interpreter = new ParserATNSimulator(this, _ATN, decisionToDFA, sharedContextCache); | |
| } | |
| public partial class FileContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode Eof() { return GetToken(MSpecParser.Eof, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ContantsDefinitionContext contantsDefinition() { | |
| return GetRuleContext<ContantsDefinitionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public GlobalsDefinitionContext globalsDefinition() { | |
| return GetRuleContext<GlobalsDefinitionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ContextDefintionContext contextDefintion() { | |
| return GetRuleContext<ContextDefintionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ComplexTypeDefinitionContext[] complexTypeDefinition() { | |
| return GetRuleContexts<ComplexTypeDefinitionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ComplexTypeDefinitionContext complexTypeDefinition(int i) { | |
| return GetRuleContext<ComplexTypeDefinitionContext>(i); | |
| } | |
| public FileContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_file; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterFile(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitFile(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public FileContext file() { | |
| FileContext _localctx = new FileContext(Context, State); | |
| EnterRule(_localctx, 0, RULE_file); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 93; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,0,Context) ) { | |
| case 1: | |
| { | |
| State = 92; | |
| contantsDefinition(); | |
| } | |
| break; | |
| } | |
| State = 96; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,1,Context) ) { | |
| case 1: | |
| { | |
| State = 95; | |
| globalsDefinition(); | |
| } | |
| break; | |
| } | |
| State = 99; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,2,Context) ) { | |
| case 1: | |
| { | |
| State = 98; | |
| contextDefintion(); | |
| } | |
| break; | |
| } | |
| State = 104; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| while (_la==LBRACKET) { | |
| { | |
| { | |
| State = 101; | |
| complexTypeDefinition(); | |
| } | |
| } | |
| State = 106; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } | |
| State = 107; | |
| Match(Eof); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ContantsDefinitionContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] LBRACKET() { return GetTokens(MSpecParser.LBRACKET); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACKET(int i) { | |
| return GetToken(MSpecParser.LBRACKET, i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CONSTANTS() { return GetToken(MSpecParser.CONSTANTS, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] RBRACKET() { return GetTokens(MSpecParser.RBRACKET); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACKET(int i) { | |
| return GetToken(MSpecParser.RBRACKET, i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ConstFieldContext[] constField() { | |
| return GetRuleContexts<ConstFieldContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ConstFieldContext constField(int i) { | |
| return GetRuleContext<ConstFieldContext>(i); | |
| } | |
| public ContantsDefinitionContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_contantsDefinition; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterContantsDefinition(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitContantsDefinition(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ContantsDefinitionContext contantsDefinition() { | |
| ContantsDefinitionContext _localctx = new ContantsDefinitionContext(Context, State); | |
| EnterRule(_localctx, 2, RULE_contantsDefinition); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 109; | |
| Match(LBRACKET); | |
| State = 110; | |
| Match(CONSTANTS); | |
| State = 117; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| while (_la==LBRACKET) { | |
| { | |
| { | |
| State = 111; | |
| Match(LBRACKET); | |
| State = 112; | |
| constField(); | |
| State = 113; | |
| Match(RBRACKET); | |
| } | |
| } | |
| State = 119; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } | |
| State = 120; | |
| Match(RBRACKET); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class GlobalsDefinitionContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACKET() { return GetToken(MSpecParser.LBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GLOBALS() { return GetToken(MSpecParser.GLOBALS, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACKET() { return GetToken(MSpecParser.RBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public FieldDefinitionContext[] fieldDefinition() { | |
| return GetRuleContexts<FieldDefinitionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public FieldDefinitionContext fieldDefinition(int i) { | |
| return GetRuleContext<FieldDefinitionContext>(i); | |
| } | |
| public GlobalsDefinitionContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_globalsDefinition; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterGlobalsDefinition(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitGlobalsDefinition(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public GlobalsDefinitionContext globalsDefinition() { | |
| GlobalsDefinitionContext _localctx = new GlobalsDefinitionContext(Context, State); | |
| EnterRule(_localctx, 4, RULE_globalsDefinition); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 122; | |
| Match(LBRACKET); | |
| State = 123; | |
| Match(GLOBALS); | |
| State = 127; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| while (_la==LBRACKET) { | |
| { | |
| { | |
| State = 124; | |
| fieldDefinition(); | |
| } | |
| } | |
| State = 129; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } | |
| State = 130; | |
| Match(RBRACKET); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ContextDefintionContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACKET() { return GetToken(MSpecParser.LBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CONTEXT() { return GetToken(MSpecParser.CONTEXT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACKET() { return GetToken(MSpecParser.RBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public FieldDefinitionContext[] fieldDefinition() { | |
| return GetRuleContexts<FieldDefinitionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public FieldDefinitionContext fieldDefinition(int i) { | |
| return GetRuleContext<FieldDefinitionContext>(i); | |
| } | |
| public ContextDefintionContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_contextDefintion; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterContextDefintion(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitContextDefintion(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ContextDefintionContext contextDefintion() { | |
| ContextDefintionContext _localctx = new ContextDefintionContext(Context, State); | |
| EnterRule(_localctx, 6, RULE_contextDefintion); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 132; | |
| Match(LBRACKET); | |
| State = 133; | |
| Match(CONTEXT); | |
| State = 137; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| while (_la==LBRACKET) { | |
| { | |
| { | |
| State = 134; | |
| fieldDefinition(); | |
| } | |
| } | |
| State = 139; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } | |
| State = 140; | |
| Match(RBRACKET); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ComplexTypeDefinitionContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACKET() { return GetToken(MSpecParser.LBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ComplexTypeContext complexType() { | |
| return GetRuleContext<ComplexTypeContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACKET() { return GetToken(MSpecParser.RBRACKET, 0); } | |
| public ComplexTypeDefinitionContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_complexTypeDefinition; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterComplexTypeDefinition(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitComplexTypeDefinition(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ComplexTypeDefinitionContext complexTypeDefinition() { | |
| ComplexTypeDefinitionContext _localctx = new ComplexTypeDefinitionContext(Context, State); | |
| EnterRule(_localctx, 8, RULE_complexTypeDefinition); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 142; | |
| Match(LBRACKET); | |
| State = 143; | |
| complexType(); | |
| State = 144; | |
| Match(RBRACKET); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ComplexTypeContext : ParserRuleContext { | |
| public IdExpressionContext name; | |
| public ArgumentListContext @params; | |
| public AttributeListContext attributes; | |
| public DataTypeContext type; | |
| public EnumValueDefinitionContext enumValues; | |
| public DataIoDefinitionContext dataIoTypeSwitch; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TYPE() { return GetToken(MSpecParser.TYPE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public AttributeListContext attributeList() { | |
| return GetRuleContext<AttributeListContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LRBRACKET() { return GetToken(MSpecParser.LRBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RRBRACKET() { return GetToken(MSpecParser.RRBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public FieldDefinitionContext[] fieldDefinition() { | |
| return GetRuleContexts<FieldDefinitionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public FieldDefinitionContext fieldDefinition(int i) { | |
| return GetRuleContext<FieldDefinitionContext>(i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public BatchSetDefinitionContext[] batchSetDefinition() { | |
| return GetRuleContexts<BatchSetDefinitionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public BatchSetDefinitionContext batchSetDefinition(int i) { | |
| return GetRuleContext<BatchSetDefinitionContext>(i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ArgumentListContext argumentList() { | |
| return GetRuleContext<ArgumentListContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DISCRIMINATEDTYPE() { return GetToken(MSpecParser.DISCRIMINATEDTYPE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ENUM() { return GetToken(MSpecParser.ENUM, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public DataTypeContext dataType() { | |
| return GetRuleContext<DataTypeContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public EnumValueDefinitionContext[] enumValueDefinition() { | |
| return GetRuleContexts<EnumValueDefinitionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public EnumValueDefinitionContext enumValueDefinition(int i) { | |
| return GetRuleContext<EnumValueDefinitionContext>(i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DATAIO() { return GetToken(MSpecParser.DATAIO, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public DataIoDefinitionContext dataIoDefinition() { | |
| return GetRuleContext<DataIoDefinitionContext>(0); | |
| } | |
| public ComplexTypeContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_complexType; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterComplexType(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitComplexType(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ComplexTypeContext complexType() { | |
| ComplexTypeContext _localctx = new ComplexTypeContext(Context, State); | |
| EnterRule(_localctx, 10, RULE_complexType); | |
| int _la; | |
| try { | |
| State = 207; | |
| ErrorHandler.Sync(this); | |
| switch (TokenStream.LA(1)) { | |
| case TYPE: | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 146; | |
| Match(TYPE); | |
| State = 147; | |
| _localctx.name = idExpression(); | |
| State = 152; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==LRBRACKET) { | |
| { | |
| State = 148; | |
| Match(LRBRACKET); | |
| State = 149; | |
| _localctx.@params = argumentList(); | |
| State = 150; | |
| Match(RRBRACKET); | |
| } | |
| } | |
| State = 154; | |
| _localctx.attributes = attributeList(); | |
| State = 159; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| while (_la==LBRACKET) { | |
| { | |
| State = 157; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,8,Context) ) { | |
| case 1: | |
| { | |
| State = 155; | |
| fieldDefinition(); | |
| } | |
| break; | |
| case 2: | |
| { | |
| State = 156; | |
| batchSetDefinition(); | |
| } | |
| break; | |
| } | |
| } | |
| State = 161; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } | |
| } | |
| break; | |
| case DISCRIMINATEDTYPE: | |
| EnterOuterAlt(_localctx, 2); | |
| { | |
| State = 162; | |
| Match(DISCRIMINATEDTYPE); | |
| State = 163; | |
| _localctx.name = idExpression(); | |
| State = 168; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==LRBRACKET) { | |
| { | |
| State = 164; | |
| Match(LRBRACKET); | |
| State = 165; | |
| _localctx.@params = argumentList(); | |
| State = 166; | |
| Match(RRBRACKET); | |
| } | |
| } | |
| State = 170; | |
| _localctx.attributes = attributeList(); | |
| State = 175; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| while (_la==LBRACKET) { | |
| { | |
| State = 173; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,11,Context) ) { | |
| case 1: | |
| { | |
| State = 171; | |
| fieldDefinition(); | |
| } | |
| break; | |
| case 2: | |
| { | |
| State = 172; | |
| batchSetDefinition(); | |
| } | |
| break; | |
| } | |
| } | |
| State = 177; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } | |
| } | |
| break; | |
| case ENUM: | |
| EnterOuterAlt(_localctx, 3); | |
| { | |
| State = 178; | |
| Match(ENUM); | |
| State = 180; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,13,Context) ) { | |
| case 1: | |
| { | |
| State = 179; | |
| _localctx.type = dataType(); | |
| } | |
| break; | |
| } | |
| State = 182; | |
| _localctx.name = idExpression(); | |
| State = 187; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==LRBRACKET) { | |
| { | |
| State = 183; | |
| Match(LRBRACKET); | |
| State = 184; | |
| _localctx.@params = argumentList(); | |
| State = 185; | |
| Match(RRBRACKET); | |
| } | |
| } | |
| State = 189; | |
| _localctx.attributes = attributeList(); | |
| State = 193; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| while (_la==LBRACKET) { | |
| { | |
| { | |
| State = 190; | |
| _localctx.enumValues = enumValueDefinition(); | |
| } | |
| } | |
| State = 195; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } | |
| } | |
| break; | |
| case DATAIO: | |
| EnterOuterAlt(_localctx, 4); | |
| { | |
| State = 196; | |
| Match(DATAIO); | |
| State = 197; | |
| _localctx.name = idExpression(); | |
| State = 202; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==LRBRACKET) { | |
| { | |
| State = 198; | |
| Match(LRBRACKET); | |
| State = 199; | |
| _localctx.@params = argumentList(); | |
| State = 200; | |
| Match(RRBRACKET); | |
| } | |
| } | |
| { | |
| State = 204; | |
| _localctx.attributes = attributeList(); | |
| } | |
| State = 205; | |
| _localctx.dataIoTypeSwitch = dataIoDefinition(); | |
| } | |
| break; | |
| default: | |
| throw new NoViableAltException(this); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class FieldDefinitionContext : ParserRuleContext { | |
| public AttributeListContext attributes; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACKET() { return GetToken(MSpecParser.LBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public FieldContext field() { | |
| return GetRuleContext<FieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACKET() { return GetToken(MSpecParser.RBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public AttributeListContext attributeList() { | |
| return GetRuleContext<AttributeListContext>(0); | |
| } | |
| public FieldDefinitionContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_fieldDefinition; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterFieldDefinition(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitFieldDefinition(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public FieldDefinitionContext fieldDefinition() { | |
| FieldDefinitionContext _localctx = new FieldDefinitionContext(Context, State); | |
| EnterRule(_localctx, 12, RULE_fieldDefinition); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 209; | |
| Match(LBRACKET); | |
| State = 210; | |
| field(); | |
| { | |
| State = 211; | |
| _localctx.attributes = attributeList(); | |
| } | |
| State = 212; | |
| Match(RBRACKET); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class BatchSetDefinitionContext : ParserRuleContext { | |
| public AttributeListContext attributes; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACKET() { return GetToken(MSpecParser.LBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BATCHSET() { return GetToken(MSpecParser.BATCHSET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACKET() { return GetToken(MSpecParser.RBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public AttributeListContext attributeList() { | |
| return GetRuleContext<AttributeListContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public FieldDefinitionContext[] fieldDefinition() { | |
| return GetRuleContexts<FieldDefinitionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public FieldDefinitionContext fieldDefinition(int i) { | |
| return GetRuleContext<FieldDefinitionContext>(i); | |
| } | |
| public BatchSetDefinitionContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_batchSetDefinition; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterBatchSetDefinition(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitBatchSetDefinition(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public BatchSetDefinitionContext batchSetDefinition() { | |
| BatchSetDefinitionContext _localctx = new BatchSetDefinitionContext(Context, State); | |
| EnterRule(_localctx, 14, RULE_batchSetDefinition); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 214; | |
| Match(LBRACKET); | |
| State = 215; | |
| Match(BATCHSET); | |
| State = 216; | |
| _localctx.attributes = attributeList(); | |
| State = 218; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| do { | |
| { | |
| { | |
| State = 217; | |
| fieldDefinition(); | |
| } | |
| } | |
| State = 220; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } while ( _la==LBRACKET ); | |
| State = 222; | |
| Match(RBRACKET); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class DataIoDefinitionContext : ParserRuleContext { | |
| public MultipleExpressionsContext @params; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] LBRACKET() { return GetTokens(MSpecParser.LBRACKET); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACKET(int i) { | |
| return GetToken(MSpecParser.LBRACKET, i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeSwitchFieldContext typeSwitchField() { | |
| return GetRuleContext<TypeSwitchFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] RBRACKET() { return GetTokens(MSpecParser.RBRACKET); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACKET(int i) { | |
| return GetToken(MSpecParser.RBRACKET, i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public MultipleExpressionsContext multipleExpressions() { | |
| return GetRuleContext<MultipleExpressionsContext>(0); | |
| } | |
| public DataIoDefinitionContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_dataIoDefinition; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterDataIoDefinition(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitDataIoDefinition(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public DataIoDefinitionContext dataIoDefinition() { | |
| DataIoDefinitionContext _localctx = new DataIoDefinitionContext(Context, State); | |
| EnterRule(_localctx, 16, RULE_dataIoDefinition); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 224; | |
| Match(LBRACKET); | |
| State = 225; | |
| typeSwitchField(); | |
| State = 230; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==LBRACKET) { | |
| { | |
| State = 226; | |
| Match(LBRACKET); | |
| State = 227; | |
| _localctx.@params = multipleExpressions(); | |
| State = 228; | |
| Match(RBRACKET); | |
| } | |
| } | |
| State = 232; | |
| Match(RBRACKET); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class FieldContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public AbstractFieldContext abstractField() { | |
| return GetRuleContext<AbstractFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ArrayFieldContext arrayField() { | |
| return GetRuleContext<ArrayFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public AssertFieldContext assertField() { | |
| return GetRuleContext<AssertFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ChecksumFieldContext checksumField() { | |
| return GetRuleContext<ChecksumFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ConstFieldContext constField() { | |
| return GetRuleContext<ConstFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public DiscriminatorFieldContext discriminatorField() { | |
| return GetRuleContext<DiscriminatorFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public EnumFieldContext enumField() { | |
| return GetRuleContext<EnumFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ImplicitFieldContext implicitField() { | |
| return GetRuleContext<ImplicitFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ManualArrayFieldContext manualArrayField() { | |
| return GetRuleContext<ManualArrayFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ManualFieldContext manualField() { | |
| return GetRuleContext<ManualFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public OptionalFieldContext optionalField() { | |
| return GetRuleContext<OptionalFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public PaddingFieldContext paddingField() { | |
| return GetRuleContext<PaddingFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public PeekFieldContext peekField() { | |
| return GetRuleContext<PeekFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ReservedFieldContext reservedField() { | |
| return GetRuleContext<ReservedFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public SimpleFieldContext simpleField() { | |
| return GetRuleContext<SimpleFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public StateFieldContext stateField() { | |
| return GetRuleContext<StateFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeSwitchFieldContext typeSwitchField() { | |
| return GetRuleContext<TypeSwitchFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public UnknownFieldContext unknownField() { | |
| return GetRuleContext<UnknownFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ValidationFieldContext validationField() { | |
| return GetRuleContext<ValidationFieldContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public VirtualFieldContext virtualField() { | |
| return GetRuleContext<VirtualFieldContext>(0); | |
| } | |
| public FieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_field; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public FieldContext field() { | |
| FieldContext _localctx = new FieldContext(Context, State); | |
| EnterRule(_localctx, 18, RULE_field); | |
| try { | |
| State = 254; | |
| ErrorHandler.Sync(this); | |
| switch (TokenStream.LA(1)) { | |
| case ABSTRACT: | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 234; | |
| abstractField(); | |
| } | |
| break; | |
| case ARRAY: | |
| EnterOuterAlt(_localctx, 2); | |
| { | |
| State = 235; | |
| arrayField(); | |
| } | |
| break; | |
| case ASSERT: | |
| EnterOuterAlt(_localctx, 3); | |
| { | |
| State = 236; | |
| assertField(); | |
| } | |
| break; | |
| case CHECKSUM: | |
| EnterOuterAlt(_localctx, 4); | |
| { | |
| State = 237; | |
| checksumField(); | |
| } | |
| break; | |
| case CONST: | |
| EnterOuterAlt(_localctx, 5); | |
| { | |
| State = 238; | |
| constField(); | |
| } | |
| break; | |
| case DISCRIMINATOR: | |
| EnterOuterAlt(_localctx, 6); | |
| { | |
| State = 239; | |
| discriminatorField(); | |
| } | |
| break; | |
| case ENUM: | |
| EnterOuterAlt(_localctx, 7); | |
| { | |
| State = 240; | |
| enumField(); | |
| } | |
| break; | |
| case IMPLICIT: | |
| EnterOuterAlt(_localctx, 8); | |
| { | |
| State = 241; | |
| implicitField(); | |
| } | |
| break; | |
| case MANUALARRAY: | |
| EnterOuterAlt(_localctx, 9); | |
| { | |
| State = 242; | |
| manualArrayField(); | |
| } | |
| break; | |
| case MANUAL: | |
| EnterOuterAlt(_localctx, 10); | |
| { | |
| State = 243; | |
| manualField(); | |
| } | |
| break; | |
| case OPTIONAL: | |
| EnterOuterAlt(_localctx, 11); | |
| { | |
| State = 244; | |
| optionalField(); | |
| } | |
| break; | |
| case PADDING: | |
| EnterOuterAlt(_localctx, 12); | |
| { | |
| State = 245; | |
| paddingField(); | |
| } | |
| break; | |
| case PEEK: | |
| EnterOuterAlt(_localctx, 13); | |
| { | |
| State = 246; | |
| peekField(); | |
| } | |
| break; | |
| case RESERVED: | |
| EnterOuterAlt(_localctx, 14); | |
| { | |
| State = 247; | |
| reservedField(); | |
| } | |
| break; | |
| case SIMPLE: | |
| EnterOuterAlt(_localctx, 15); | |
| { | |
| State = 248; | |
| simpleField(); | |
| } | |
| break; | |
| case STATE: | |
| EnterOuterAlt(_localctx, 16); | |
| { | |
| State = 249; | |
| stateField(); | |
| } | |
| break; | |
| case TYPESWITCH: | |
| EnterOuterAlt(_localctx, 17); | |
| { | |
| State = 250; | |
| typeSwitchField(); | |
| } | |
| break; | |
| case UNKNOWN: | |
| EnterOuterAlt(_localctx, 18); | |
| { | |
| State = 251; | |
| unknownField(); | |
| } | |
| break; | |
| case VALIDATION: | |
| EnterOuterAlt(_localctx, 19); | |
| { | |
| State = 252; | |
| validationField(); | |
| } | |
| break; | |
| case VIRTUAL: | |
| EnterOuterAlt(_localctx, 20); | |
| { | |
| State = 253; | |
| virtualField(); | |
| } | |
| break; | |
| default: | |
| throw new NoViableAltException(this); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class AbstractFieldContext : ParserRuleContext { | |
| public TypeReferenceContext type; | |
| public IdExpressionContext name; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ABSTRACT() { return GetToken(MSpecParser.ABSTRACT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeReferenceContext typeReference() { | |
| return GetRuleContext<TypeReferenceContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| public AbstractFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_abstractField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterAbstractField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitAbstractField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public AbstractFieldContext abstractField() { | |
| AbstractFieldContext _localctx = new AbstractFieldContext(Context, State); | |
| EnterRule(_localctx, 20, RULE_abstractField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 256; | |
| Match(ABSTRACT); | |
| State = 257; | |
| _localctx.type = typeReference(); | |
| State = 258; | |
| _localctx.name = idExpression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ArrayFieldContext : ParserRuleContext { | |
| public TypeReferenceContext type; | |
| public IdExpressionContext name; | |
| public IToken loopType; | |
| public ExpressionContext loopExpression; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ARRAY() { return GetToken(MSpecParser.ARRAY, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeReferenceContext typeReference() { | |
| return GetRuleContext<TypeReferenceContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ARRAY_LOOP_TYPE() { return GetToken(MSpecParser.ARRAY_LOOP_TYPE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() { | |
| return GetRuleContext<ExpressionContext>(0); | |
| } | |
| public ArrayFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_arrayField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterArrayField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitArrayField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ArrayFieldContext arrayField() { | |
| ArrayFieldContext _localctx = new ArrayFieldContext(Context, State); | |
| EnterRule(_localctx, 22, RULE_arrayField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 260; | |
| Match(ARRAY); | |
| State = 261; | |
| _localctx.type = typeReference(); | |
| State = 262; | |
| _localctx.name = idExpression(); | |
| State = 263; | |
| _localctx.loopType = Match(ARRAY_LOOP_TYPE); | |
| State = 264; | |
| _localctx.loopExpression = expression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class AssertFieldContext : ParserRuleContext { | |
| public TypeReferenceContext type; | |
| public IdExpressionContext name; | |
| public ExpressionContext condition; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASSERT() { return GetToken(MSpecParser.ASSERT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeReferenceContext typeReference() { | |
| return GetRuleContext<TypeReferenceContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() { | |
| return GetRuleContext<ExpressionContext>(0); | |
| } | |
| public AssertFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_assertField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterAssertField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitAssertField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public AssertFieldContext assertField() { | |
| AssertFieldContext _localctx = new AssertFieldContext(Context, State); | |
| EnterRule(_localctx, 24, RULE_assertField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 266; | |
| Match(ASSERT); | |
| State = 267; | |
| _localctx.type = typeReference(); | |
| State = 268; | |
| _localctx.name = idExpression(); | |
| State = 269; | |
| _localctx.condition = expression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ChecksumFieldContext : ParserRuleContext { | |
| public DataTypeContext type; | |
| public IdExpressionContext name; | |
| public ExpressionContext checksumExpression; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CHECKSUM() { return GetToken(MSpecParser.CHECKSUM, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public DataTypeContext dataType() { | |
| return GetRuleContext<DataTypeContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() { | |
| return GetRuleContext<ExpressionContext>(0); | |
| } | |
| public ChecksumFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_checksumField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterChecksumField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitChecksumField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ChecksumFieldContext checksumField() { | |
| ChecksumFieldContext _localctx = new ChecksumFieldContext(Context, State); | |
| EnterRule(_localctx, 26, RULE_checksumField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 271; | |
| Match(CHECKSUM); | |
| State = 272; | |
| _localctx.type = dataType(); | |
| State = 273; | |
| _localctx.name = idExpression(); | |
| State = 274; | |
| _localctx.checksumExpression = expression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ConstFieldContext : ParserRuleContext { | |
| public TypeReferenceContext type; | |
| public IdExpressionContext name; | |
| public ValueLiteralContext expected; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CONST() { return GetToken(MSpecParser.CONST, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeReferenceContext typeReference() { | |
| return GetRuleContext<TypeReferenceContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ValueLiteralContext valueLiteral() { | |
| return GetRuleContext<ValueLiteralContext>(0); | |
| } | |
| public ConstFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_constField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterConstField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitConstField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ConstFieldContext constField() { | |
| ConstFieldContext _localctx = new ConstFieldContext(Context, State); | |
| EnterRule(_localctx, 28, RULE_constField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 276; | |
| Match(CONST); | |
| State = 277; | |
| _localctx.type = typeReference(); | |
| State = 278; | |
| _localctx.name = idExpression(); | |
| State = 279; | |
| _localctx.expected = valueLiteral(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class DiscriminatorFieldContext : ParserRuleContext { | |
| public TypeReferenceContext type; | |
| public IdExpressionContext name; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DISCRIMINATOR() { return GetToken(MSpecParser.DISCRIMINATOR, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeReferenceContext typeReference() { | |
| return GetRuleContext<TypeReferenceContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| public DiscriminatorFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_discriminatorField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterDiscriminatorField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitDiscriminatorField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public DiscriminatorFieldContext discriminatorField() { | |
| DiscriminatorFieldContext _localctx = new DiscriminatorFieldContext(Context, State); | |
| EnterRule(_localctx, 30, RULE_discriminatorField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 281; | |
| Match(DISCRIMINATOR); | |
| State = 282; | |
| _localctx.type = typeReference(); | |
| State = 283; | |
| _localctx.name = idExpression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class EnumFieldContext : ParserRuleContext { | |
| public TypeReferenceContext type; | |
| public IdExpressionContext name; | |
| public IdExpressionContext fieldName; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ENUM() { return GetToken(MSpecParser.ENUM, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeReferenceContext typeReference() { | |
| return GetRuleContext<TypeReferenceContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext[] idExpression() { | |
| return GetRuleContexts<IdExpressionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression(int i) { | |
| return GetRuleContext<IdExpressionContext>(i); | |
| } | |
| public EnumFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_enumField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterEnumField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitEnumField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public EnumFieldContext enumField() { | |
| EnumFieldContext _localctx = new EnumFieldContext(Context, State); | |
| EnterRule(_localctx, 32, RULE_enumField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 285; | |
| Match(ENUM); | |
| State = 286; | |
| _localctx.type = typeReference(); | |
| State = 287; | |
| _localctx.name = idExpression(); | |
| State = 288; | |
| _localctx.fieldName = idExpression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ImplicitFieldContext : ParserRuleContext { | |
| public DataTypeContext type; | |
| public IdExpressionContext name; | |
| public ExpressionContext serializeExpression; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IMPLICIT() { return GetToken(MSpecParser.IMPLICIT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public DataTypeContext dataType() { | |
| return GetRuleContext<DataTypeContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() { | |
| return GetRuleContext<ExpressionContext>(0); | |
| } | |
| public ImplicitFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_implicitField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterImplicitField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitImplicitField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ImplicitFieldContext implicitField() { | |
| ImplicitFieldContext _localctx = new ImplicitFieldContext(Context, State); | |
| EnterRule(_localctx, 34, RULE_implicitField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 290; | |
| Match(IMPLICIT); | |
| State = 291; | |
| _localctx.type = dataType(); | |
| State = 292; | |
| _localctx.name = idExpression(); | |
| State = 293; | |
| _localctx.serializeExpression = expression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ManualArrayFieldContext : ParserRuleContext { | |
| public TypeReferenceContext type; | |
| public IdExpressionContext name; | |
| public IToken loopType; | |
| public ExpressionContext loopExpression; | |
| public ExpressionContext parseExpression; | |
| public ExpressionContext serializeExpression; | |
| public ExpressionContext lengthExpression; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MANUALARRAY() { return GetToken(MSpecParser.MANUALARRAY, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeReferenceContext typeReference() { | |
| return GetRuleContext<TypeReferenceContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ARRAY_LOOP_TYPE() { return GetToken(MSpecParser.ARRAY_LOOP_TYPE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() { | |
| return GetRuleContexts<ExpressionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) { | |
| return GetRuleContext<ExpressionContext>(i); | |
| } | |
| public ManualArrayFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_manualArrayField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterManualArrayField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitManualArrayField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ManualArrayFieldContext manualArrayField() { | |
| ManualArrayFieldContext _localctx = new ManualArrayFieldContext(Context, State); | |
| EnterRule(_localctx, 36, RULE_manualArrayField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 295; | |
| Match(MANUALARRAY); | |
| State = 296; | |
| _localctx.type = typeReference(); | |
| State = 297; | |
| _localctx.name = idExpression(); | |
| State = 298; | |
| _localctx.loopType = Match(ARRAY_LOOP_TYPE); | |
| State = 299; | |
| _localctx.loopExpression = expression(); | |
| State = 300; | |
| _localctx.parseExpression = expression(); | |
| State = 301; | |
| _localctx.serializeExpression = expression(); | |
| State = 302; | |
| _localctx.lengthExpression = expression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ManualFieldContext : ParserRuleContext { | |
| public TypeReferenceContext type; | |
| public IdExpressionContext name; | |
| public ExpressionContext parseExpression; | |
| public ExpressionContext serializeExpression; | |
| public ExpressionContext lengthExpression; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MANUAL() { return GetToken(MSpecParser.MANUAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeReferenceContext typeReference() { | |
| return GetRuleContext<TypeReferenceContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() { | |
| return GetRuleContexts<ExpressionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) { | |
| return GetRuleContext<ExpressionContext>(i); | |
| } | |
| public ManualFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_manualField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterManualField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitManualField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ManualFieldContext manualField() { | |
| ManualFieldContext _localctx = new ManualFieldContext(Context, State); | |
| EnterRule(_localctx, 38, RULE_manualField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 304; | |
| Match(MANUAL); | |
| State = 305; | |
| _localctx.type = typeReference(); | |
| State = 306; | |
| _localctx.name = idExpression(); | |
| State = 307; | |
| _localctx.parseExpression = expression(); | |
| State = 308; | |
| _localctx.serializeExpression = expression(); | |
| State = 309; | |
| _localctx.lengthExpression = expression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class OptionalFieldContext : ParserRuleContext { | |
| public TypeReferenceContext type; | |
| public IdExpressionContext name; | |
| public ExpressionContext condition; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OPTIONAL() { return GetToken(MSpecParser.OPTIONAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeReferenceContext typeReference() { | |
| return GetRuleContext<TypeReferenceContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() { | |
| return GetRuleContext<ExpressionContext>(0); | |
| } | |
| public OptionalFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_optionalField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterOptionalField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitOptionalField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public OptionalFieldContext optionalField() { | |
| OptionalFieldContext _localctx = new OptionalFieldContext(Context, State); | |
| EnterRule(_localctx, 40, RULE_optionalField); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 311; | |
| Match(OPTIONAL); | |
| State = 312; | |
| _localctx.type = typeReference(); | |
| State = 313; | |
| _localctx.name = idExpression(); | |
| State = 315; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==TICK || _la==ASTERISK) { | |
| { | |
| State = 314; | |
| _localctx.condition = expression(); | |
| } | |
| } | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class PaddingFieldContext : ParserRuleContext { | |
| public DataTypeContext type; | |
| public IdExpressionContext name; | |
| public ExpressionContext paddingValue; | |
| public ExpressionContext timesPadding; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PADDING() { return GetToken(MSpecParser.PADDING, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public DataTypeContext dataType() { | |
| return GetRuleContext<DataTypeContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() { | |
| return GetRuleContexts<ExpressionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) { | |
| return GetRuleContext<ExpressionContext>(i); | |
| } | |
| public PaddingFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_paddingField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterPaddingField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitPaddingField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public PaddingFieldContext paddingField() { | |
| PaddingFieldContext _localctx = new PaddingFieldContext(Context, State); | |
| EnterRule(_localctx, 42, RULE_paddingField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 317; | |
| Match(PADDING); | |
| State = 318; | |
| _localctx.type = dataType(); | |
| State = 319; | |
| _localctx.name = idExpression(); | |
| State = 320; | |
| _localctx.paddingValue = expression(); | |
| State = 321; | |
| _localctx.timesPadding = expression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class PeekFieldContext : ParserRuleContext { | |
| public TypeReferenceContext type; | |
| public IdExpressionContext name; | |
| public ExpressionContext offset; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PEEK() { return GetToken(MSpecParser.PEEK, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeReferenceContext typeReference() { | |
| return GetRuleContext<TypeReferenceContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() { | |
| return GetRuleContext<ExpressionContext>(0); | |
| } | |
| public PeekFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_peekField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterPeekField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitPeekField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public PeekFieldContext peekField() { | |
| PeekFieldContext _localctx = new PeekFieldContext(Context, State); | |
| EnterRule(_localctx, 44, RULE_peekField); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 323; | |
| Match(PEEK); | |
| State = 324; | |
| _localctx.type = typeReference(); | |
| State = 325; | |
| _localctx.name = idExpression(); | |
| State = 327; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==TICK || _la==ASTERISK) { | |
| { | |
| State = 326; | |
| _localctx.offset = expression(); | |
| } | |
| } | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ReservedFieldContext : ParserRuleContext { | |
| public DataTypeContext type; | |
| public ExpressionContext expected; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RESERVED() { return GetToken(MSpecParser.RESERVED, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public DataTypeContext dataType() { | |
| return GetRuleContext<DataTypeContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() { | |
| return GetRuleContext<ExpressionContext>(0); | |
| } | |
| public ReservedFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_reservedField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterReservedField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitReservedField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ReservedFieldContext reservedField() { | |
| ReservedFieldContext _localctx = new ReservedFieldContext(Context, State); | |
| EnterRule(_localctx, 46, RULE_reservedField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 329; | |
| Match(RESERVED); | |
| State = 330; | |
| _localctx.type = dataType(); | |
| State = 331; | |
| _localctx.expected = expression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class SimpleFieldContext : ParserRuleContext { | |
| public TypeReferenceContext type; | |
| public IdExpressionContext name; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SIMPLE() { return GetToken(MSpecParser.SIMPLE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeReferenceContext typeReference() { | |
| return GetRuleContext<TypeReferenceContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| public SimpleFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_simpleField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterSimpleField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitSimpleField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public SimpleFieldContext simpleField() { | |
| SimpleFieldContext _localctx = new SimpleFieldContext(Context, State); | |
| EnterRule(_localctx, 48, RULE_simpleField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 333; | |
| Match(SIMPLE); | |
| State = 334; | |
| _localctx.type = typeReference(); | |
| State = 335; | |
| _localctx.name = idExpression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class StateFieldContext : ParserRuleContext { | |
| public IdExpressionContext name; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STATE() { return GetToken(MSpecParser.STATE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| public StateFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_stateField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterStateField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitStateField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public StateFieldContext stateField() { | |
| StateFieldContext _localctx = new StateFieldContext(Context, State); | |
| EnterRule(_localctx, 50, RULE_stateField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 337; | |
| Match(STATE); | |
| State = 338; | |
| _localctx.name = idExpression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class TypeSwitchFieldContext : ParserRuleContext { | |
| public MultipleVariableLiteralsContext discriminators; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TYPESWITCH() { return GetToken(MSpecParser.TYPESWITCH, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public MultipleVariableLiteralsContext multipleVariableLiterals() { | |
| return GetRuleContext<MultipleVariableLiteralsContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public CaseStatementContext[] caseStatement() { | |
| return GetRuleContexts<CaseStatementContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public CaseStatementContext caseStatement(int i) { | |
| return GetRuleContext<CaseStatementContext>(i); | |
| } | |
| public TypeSwitchFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_typeSwitchField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterTypeSwitchField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitTypeSwitchField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public TypeSwitchFieldContext typeSwitchField() { | |
| TypeSwitchFieldContext _localctx = new TypeSwitchFieldContext(Context, State); | |
| EnterRule(_localctx, 52, RULE_typeSwitchField); | |
| try { | |
| int _alt; | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 340; | |
| Match(TYPESWITCH); | |
| State = 341; | |
| _localctx.discriminators = multipleVariableLiterals(); | |
| State = 345; | |
| ErrorHandler.Sync(this); | |
| _alt = Interpreter.AdaptivePredict(TokenStream,23,Context); | |
| while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { | |
| if ( _alt==1 ) { | |
| { | |
| { | |
| State = 342; | |
| caseStatement(); | |
| } | |
| } | |
| } | |
| State = 347; | |
| ErrorHandler.Sync(this); | |
| _alt = Interpreter.AdaptivePredict(TokenStream,23,Context); | |
| } | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class UnknownFieldContext : ParserRuleContext { | |
| public DataTypeContext type; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UNKNOWN() { return GetToken(MSpecParser.UNKNOWN, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public DataTypeContext dataType() { | |
| return GetRuleContext<DataTypeContext>(0); | |
| } | |
| public UnknownFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_unknownField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterUnknownField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitUnknownField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public UnknownFieldContext unknownField() { | |
| UnknownFieldContext _localctx = new UnknownFieldContext(Context, State); | |
| EnterRule(_localctx, 54, RULE_unknownField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 348; | |
| Match(UNKNOWN); | |
| State = 349; | |
| _localctx.type = dataType(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ValidationFieldContext : ParserRuleContext { | |
| public ExpressionContext validationExpression; | |
| public IToken description; | |
| public IToken shouldFail; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VALIDATION() { return GetToken(MSpecParser.VALIDATION, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() { | |
| return GetRuleContext<ExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SHOULD_FAIL() { return GetToken(MSpecParser.SHOULD_FAIL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRING_LITERAL() { return GetToken(MSpecParser.STRING_LITERAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BOOLEAN_LITERAL() { return GetToken(MSpecParser.BOOLEAN_LITERAL, 0); } | |
| public ValidationFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_validationField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterValidationField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitValidationField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ValidationFieldContext validationField() { | |
| ValidationFieldContext _localctx = new ValidationFieldContext(Context, State); | |
| EnterRule(_localctx, 56, RULE_validationField); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 351; | |
| Match(VALIDATION); | |
| State = 352; | |
| _localctx.validationExpression = expression(); | |
| State = 354; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==STRING_LITERAL) { | |
| { | |
| State = 353; | |
| _localctx.description = Match(STRING_LITERAL); | |
| } | |
| } | |
| State = 359; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==SHOULD_FAIL) { | |
| { | |
| State = 356; | |
| Match(SHOULD_FAIL); | |
| State = 357; | |
| Match(T__0); | |
| State = 358; | |
| _localctx.shouldFail = Match(BOOLEAN_LITERAL); | |
| } | |
| } | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class VirtualFieldContext : ParserRuleContext { | |
| public TypeReferenceContext type; | |
| public IdExpressionContext name; | |
| public ExpressionContext valueExpression; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VIRTUAL() { return GetToken(MSpecParser.VIRTUAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeReferenceContext typeReference() { | |
| return GetRuleContext<TypeReferenceContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() { | |
| return GetRuleContext<ExpressionContext>(0); | |
| } | |
| public VirtualFieldContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_virtualField; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterVirtualField(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitVirtualField(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public VirtualFieldContext virtualField() { | |
| VirtualFieldContext _localctx = new VirtualFieldContext(Context, State); | |
| EnterRule(_localctx, 58, RULE_virtualField); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 361; | |
| Match(VIRTUAL); | |
| State = 362; | |
| _localctx.type = typeReference(); | |
| State = 363; | |
| _localctx.name = idExpression(); | |
| State = 364; | |
| _localctx.valueExpression = expression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class EnumValueDefinitionContext : ParserRuleContext { | |
| public ExpressionContext valueExpression; | |
| public IToken name; | |
| public MultipleExpressionsContext constantValueExpressions; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] LBRACKET() { return GetTokens(MSpecParser.LBRACKET); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACKET(int i) { | |
| return GetToken(MSpecParser.LBRACKET, i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] RBRACKET() { return GetTokens(MSpecParser.RBRACKET); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACKET(int i) { | |
| return GetToken(MSpecParser.RBRACKET, i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER_LITERAL() { return GetToken(MSpecParser.IDENTIFIER_LITERAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() { | |
| return GetRuleContext<ExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public MultipleExpressionsContext multipleExpressions() { | |
| return GetRuleContext<MultipleExpressionsContext>(0); | |
| } | |
| public EnumValueDefinitionContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_enumValueDefinition; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterEnumValueDefinition(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitEnumValueDefinition(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public EnumValueDefinitionContext enumValueDefinition() { | |
| EnumValueDefinitionContext _localctx = new EnumValueDefinitionContext(Context, State); | |
| EnterRule(_localctx, 60, RULE_enumValueDefinition); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 366; | |
| Match(LBRACKET); | |
| State = 368; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==TICK || _la==ASTERISK) { | |
| { | |
| State = 367; | |
| _localctx.valueExpression = expression(); | |
| } | |
| } | |
| State = 370; | |
| _localctx.name = Match(IDENTIFIER_LITERAL); | |
| State = 375; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==LBRACKET) { | |
| { | |
| State = 371; | |
| Match(LBRACKET); | |
| State = 372; | |
| _localctx.constantValueExpressions = multipleExpressions(); | |
| State = 373; | |
| Match(RBRACKET); | |
| } | |
| } | |
| State = 377; | |
| Match(RBRACKET); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class TypeReferenceContext : ParserRuleContext { | |
| public IToken complexTypeReference; | |
| public MultipleExpressionsContext @params; | |
| public DataTypeContext simpleTypeReference; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER_LITERAL() { return GetToken(MSpecParser.IDENTIFIER_LITERAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LRBRACKET() { return GetToken(MSpecParser.LRBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RRBRACKET() { return GetToken(MSpecParser.RRBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public MultipleExpressionsContext multipleExpressions() { | |
| return GetRuleContext<MultipleExpressionsContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public DataTypeContext dataType() { | |
| return GetRuleContext<DataTypeContext>(0); | |
| } | |
| public TypeReferenceContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_typeReference; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterTypeReference(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitTypeReference(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public TypeReferenceContext typeReference() { | |
| TypeReferenceContext _localctx = new TypeReferenceContext(Context, State); | |
| EnterRule(_localctx, 62, RULE_typeReference); | |
| int _la; | |
| try { | |
| State = 387; | |
| ErrorHandler.Sync(this); | |
| switch (TokenStream.LA(1)) { | |
| case IDENTIFIER_LITERAL: | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 379; | |
| _localctx.complexTypeReference = Match(IDENTIFIER_LITERAL); | |
| State = 384; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==LRBRACKET) { | |
| { | |
| State = 380; | |
| Match(LRBRACKET); | |
| State = 381; | |
| _localctx.@params = multipleExpressions(); | |
| State = 382; | |
| Match(RRBRACKET); | |
| } | |
| } | |
| } | |
| break; | |
| case BIT: | |
| case BYTE: | |
| case INT: | |
| case VINT: | |
| case UINT: | |
| case VUINT: | |
| case FLOAT: | |
| case UFLOAT: | |
| case STRING: | |
| case VSTRING: | |
| case TIME: | |
| case DATE: | |
| case DATETIME: | |
| EnterOuterAlt(_localctx, 2); | |
| { | |
| State = 386; | |
| _localctx.simpleTypeReference = dataType(); | |
| } | |
| break; | |
| default: | |
| throw new NoViableAltException(this); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class CaseStatementContext : ParserRuleContext { | |
| public MultipleExpressionsContext discriminatorValues; | |
| public IToken nameWildcard; | |
| public IToken name; | |
| public ArgumentListContext @params; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACKET() { return GetToken(MSpecParser.LBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACKET() { return GetToken(MSpecParser.RBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER_LITERAL() { return GetToken(MSpecParser.IDENTIFIER_LITERAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LRBRACKET() { return GetToken(MSpecParser.LRBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RRBRACKET() { return GetToken(MSpecParser.RRBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public FieldDefinitionContext[] fieldDefinition() { | |
| return GetRuleContexts<FieldDefinitionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public FieldDefinitionContext fieldDefinition(int i) { | |
| return GetRuleContext<FieldDefinitionContext>(i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public BatchSetDefinitionContext[] batchSetDefinition() { | |
| return GetRuleContexts<BatchSetDefinitionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public BatchSetDefinitionContext batchSetDefinition(int i) { | |
| return GetRuleContext<BatchSetDefinitionContext>(i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public MultipleExpressionsContext multipleExpressions() { | |
| return GetRuleContext<MultipleExpressionsContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASTERISK() { return GetToken(MSpecParser.ASTERISK, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ArgumentListContext argumentList() { | |
| return GetRuleContext<ArgumentListContext>(0); | |
| } | |
| public CaseStatementContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_caseStatement; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterCaseStatement(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitCaseStatement(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public CaseStatementContext caseStatement() { | |
| CaseStatementContext _localctx = new CaseStatementContext(Context, State); | |
| EnterRule(_localctx, 64, RULE_caseStatement); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 389; | |
| Match(LBRACKET); | |
| State = 391; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,30,Context) ) { | |
| case 1: | |
| { | |
| State = 390; | |
| _localctx.discriminatorValues = multipleExpressions(); | |
| } | |
| break; | |
| } | |
| State = 394; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==ASTERISK) { | |
| { | |
| State = 393; | |
| _localctx.nameWildcard = Match(ASTERISK); | |
| } | |
| } | |
| State = 396; | |
| _localctx.name = Match(IDENTIFIER_LITERAL); | |
| State = 401; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if (_la==LRBRACKET) { | |
| { | |
| State = 397; | |
| Match(LRBRACKET); | |
| State = 398; | |
| _localctx.@params = argumentList(); | |
| State = 399; | |
| Match(RRBRACKET); | |
| } | |
| } | |
| State = 407; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| while (_la==LBRACKET) { | |
| { | |
| State = 405; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,33,Context) ) { | |
| case 1: | |
| { | |
| State = 403; | |
| fieldDefinition(); | |
| } | |
| break; | |
| case 2: | |
| { | |
| State = 404; | |
| batchSetDefinition(); | |
| } | |
| break; | |
| } | |
| } | |
| State = 409; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } | |
| State = 410; | |
| Match(RBRACKET); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class DataTypeContext : ParserRuleContext { | |
| public IToken @base; | |
| public IToken size; | |
| public ExpressionContext length; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BIT() { return GetToken(MSpecParser.BIT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BYTE() { return GetToken(MSpecParser.BYTE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INT() { return GetToken(MSpecParser.INT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTEGER_LITERAL() { return GetToken(MSpecParser.INTEGER_LITERAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VINT() { return GetToken(MSpecParser.VINT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UINT() { return GetToken(MSpecParser.UINT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VUINT() { return GetToken(MSpecParser.VUINT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FLOAT() { return GetToken(MSpecParser.FLOAT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UFLOAT() { return GetToken(MSpecParser.UFLOAT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRING() { return GetToken(MSpecParser.STRING, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VSTRING() { return GetToken(MSpecParser.VSTRING, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() { | |
| return GetRuleContext<ExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TIME() { return GetToken(MSpecParser.TIME, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DATE() { return GetToken(MSpecParser.DATE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DATETIME() { return GetToken(MSpecParser.DATETIME, 0); } | |
| public DataTypeContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_dataType; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterDataType(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitDataType(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public DataTypeContext dataType() { | |
| DataTypeContext _localctx = new DataTypeContext(Context, State); | |
| EnterRule(_localctx, 66, RULE_dataType); | |
| try { | |
| State = 433; | |
| ErrorHandler.Sync(this); | |
| switch (TokenStream.LA(1)) { | |
| case BIT: | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 412; | |
| _localctx.@base = Match(BIT); | |
| } | |
| break; | |
| case BYTE: | |
| EnterOuterAlt(_localctx, 2); | |
| { | |
| State = 413; | |
| _localctx.@base = Match(BYTE); | |
| } | |
| break; | |
| case INT: | |
| EnterOuterAlt(_localctx, 3); | |
| { | |
| State = 414; | |
| _localctx.@base = Match(INT); | |
| State = 415; | |
| _localctx.size = Match(INTEGER_LITERAL); | |
| } | |
| break; | |
| case VINT: | |
| EnterOuterAlt(_localctx, 4); | |
| { | |
| State = 416; | |
| _localctx.@base = Match(VINT); | |
| } | |
| break; | |
| case UINT: | |
| EnterOuterAlt(_localctx, 5); | |
| { | |
| State = 417; | |
| _localctx.@base = Match(UINT); | |
| State = 418; | |
| _localctx.size = Match(INTEGER_LITERAL); | |
| } | |
| break; | |
| case VUINT: | |
| EnterOuterAlt(_localctx, 6); | |
| { | |
| State = 419; | |
| _localctx.@base = Match(VUINT); | |
| } | |
| break; | |
| case FLOAT: | |
| EnterOuterAlt(_localctx, 7); | |
| { | |
| State = 420; | |
| _localctx.@base = Match(FLOAT); | |
| State = 421; | |
| _localctx.size = Match(INTEGER_LITERAL); | |
| } | |
| break; | |
| case UFLOAT: | |
| EnterOuterAlt(_localctx, 8); | |
| { | |
| State = 422; | |
| _localctx.@base = Match(UFLOAT); | |
| State = 423; | |
| _localctx.size = Match(INTEGER_LITERAL); | |
| } | |
| break; | |
| case STRING: | |
| EnterOuterAlt(_localctx, 9); | |
| { | |
| State = 424; | |
| _localctx.@base = Match(STRING); | |
| State = 425; | |
| _localctx.size = Match(INTEGER_LITERAL); | |
| } | |
| break; | |
| case VSTRING: | |
| EnterOuterAlt(_localctx, 10); | |
| { | |
| State = 426; | |
| _localctx.@base = Match(VSTRING); | |
| State = 428; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,35,Context) ) { | |
| case 1: | |
| { | |
| State = 427; | |
| _localctx.length = expression(); | |
| } | |
| break; | |
| } | |
| } | |
| break; | |
| case TIME: | |
| EnterOuterAlt(_localctx, 11); | |
| { | |
| State = 430; | |
| _localctx.@base = Match(TIME); | |
| } | |
| break; | |
| case DATE: | |
| EnterOuterAlt(_localctx, 12); | |
| { | |
| State = 431; | |
| _localctx.@base = Match(DATE); | |
| } | |
| break; | |
| case DATETIME: | |
| EnterOuterAlt(_localctx, 13); | |
| { | |
| State = 432; | |
| _localctx.@base = Match(DATETIME); | |
| } | |
| break; | |
| default: | |
| throw new NoViableAltException(this); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class AttributeContext : ParserRuleContext { | |
| public IToken name; | |
| public ExpressionContext value; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER_LITERAL() { return GetToken(MSpecParser.IDENTIFIER_LITERAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() { | |
| return GetRuleContext<ExpressionContext>(0); | |
| } | |
| public AttributeContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_attribute; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterAttribute(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitAttribute(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public AttributeContext attribute() { | |
| AttributeContext _localctx = new AttributeContext(Context, State); | |
| EnterRule(_localctx, 68, RULE_attribute); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 435; | |
| _localctx.name = Match(IDENTIFIER_LITERAL); | |
| State = 436; | |
| Match(T__0); | |
| State = 437; | |
| _localctx.value = expression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class AttributeListContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public AttributeContext[] attribute() { | |
| return GetRuleContexts<AttributeContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public AttributeContext attribute(int i) { | |
| return GetRuleContext<AttributeContext>(i); | |
| } | |
| public AttributeListContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_attributeList; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterAttributeList(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitAttributeList(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public AttributeListContext attributeList() { | |
| AttributeListContext _localctx = new AttributeListContext(Context, State); | |
| EnterRule(_localctx, 70, RULE_attributeList); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 442; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| while (_la==IDENTIFIER_LITERAL) { | |
| { | |
| { | |
| State = 439; | |
| attribute(); | |
| } | |
| } | |
| State = 444; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ArgumentContext : ParserRuleContext { | |
| public TypeReferenceContext type; | |
| public IdExpressionContext name; | |
| [System.Diagnostics.DebuggerNonUserCode] public TypeReferenceContext typeReference() { | |
| return GetRuleContext<TypeReferenceContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| public ArgumentContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_argument; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterArgument(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitArgument(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ArgumentContext argument() { | |
| ArgumentContext _localctx = new ArgumentContext(Context, State); | |
| EnterRule(_localctx, 72, RULE_argument); | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 445; | |
| _localctx.type = typeReference(); | |
| State = 446; | |
| _localctx.name = idExpression(); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ArgumentListContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public ArgumentContext[] argument() { | |
| return GetRuleContexts<ArgumentContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ArgumentContext argument(int i) { | |
| return GetRuleContext<ArgumentContext>(i); | |
| } | |
| public ArgumentListContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_argumentList; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterArgumentList(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitArgumentList(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ArgumentListContext argumentList() { | |
| ArgumentListContext _localctx = new ArgumentListContext(Context, State); | |
| EnterRule(_localctx, 74, RULE_argumentList); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 448; | |
| argument(); | |
| State = 453; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| while (_la==T__1) { | |
| { | |
| { | |
| State = 449; | |
| Match(T__1); | |
| State = 450; | |
| argument(); | |
| } | |
| } | |
| State = 455; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ExpressionContext : ParserRuleContext { | |
| public InnerExpressionContext expr; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] TICK() { return GetTokens(MSpecParser.TICK); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TICK(int i) { | |
| return GetToken(MSpecParser.TICK, i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public InnerExpressionContext innerExpression() { | |
| return GetRuleContext<InnerExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASTERISK() { return GetToken(MSpecParser.ASTERISK, 0); } | |
| public ExpressionContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_expression; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterExpression(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitExpression(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ExpressionContext expression() { | |
| ExpressionContext _localctx = new ExpressionContext(Context, State); | |
| EnterRule(_localctx, 76, RULE_expression); | |
| try { | |
| State = 461; | |
| ErrorHandler.Sync(this); | |
| switch (TokenStream.LA(1)) { | |
| case TICK: | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 456; | |
| Match(TICK); | |
| State = 457; | |
| _localctx.expr = innerExpression(0); | |
| State = 458; | |
| Match(TICK); | |
| } | |
| break; | |
| case ASTERISK: | |
| EnterOuterAlt(_localctx, 2); | |
| { | |
| State = 460; | |
| Match(ASTERISK); | |
| } | |
| break; | |
| default: | |
| throw new NoViableAltException(this); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class MultipleExpressionsContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() { | |
| return GetRuleContexts<ExpressionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) { | |
| return GetRuleContext<ExpressionContext>(i); | |
| } | |
| public MultipleExpressionsContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_multipleExpressions; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterMultipleExpressions(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitMultipleExpressions(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public MultipleExpressionsContext multipleExpressions() { | |
| MultipleExpressionsContext _localctx = new MultipleExpressionsContext(Context, State); | |
| EnterRule(_localctx, 78, RULE_multipleExpressions); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 463; | |
| expression(); | |
| State = 468; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| while (_la==T__1) { | |
| { | |
| { | |
| State = 464; | |
| Match(T__1); | |
| State = 465; | |
| expression(); | |
| } | |
| } | |
| State = 470; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class MultipleVariableLiteralsContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public VariableLiteralContext[] variableLiteral() { | |
| return GetRuleContexts<VariableLiteralContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public VariableLiteralContext variableLiteral(int i) { | |
| return GetRuleContext<VariableLiteralContext>(i); | |
| } | |
| public MultipleVariableLiteralsContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_multipleVariableLiterals; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterMultipleVariableLiterals(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitMultipleVariableLiterals(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public MultipleVariableLiteralsContext multipleVariableLiterals() { | |
| MultipleVariableLiteralsContext _localctx = new MultipleVariableLiteralsContext(Context, State); | |
| EnterRule(_localctx, 80, RULE_multipleVariableLiterals); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 471; | |
| variableLiteral(0); | |
| State = 476; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| while (_la==T__1) { | |
| { | |
| { | |
| State = 472; | |
| Match(T__1); | |
| State = 473; | |
| variableLiteral(0); | |
| } | |
| } | |
| State = 478; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class VariableLiteralContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER_LITERAL() { return GetToken(MSpecParser.IDENTIFIER_LITERAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public VariableLiteralContext variableLiteral() { | |
| return GetRuleContext<VariableLiteralContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACKET() { return GetToken(MSpecParser.RBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] LBRACKET() { return GetTokens(MSpecParser.LBRACKET); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACKET(int i) { | |
| return GetToken(MSpecParser.LBRACKET, i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INTEGER_LITERAL() { return GetTokens(MSpecParser.INTEGER_LITERAL); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTEGER_LITERAL(int i) { | |
| return GetToken(MSpecParser.INTEGER_LITERAL, i); | |
| } | |
| public VariableLiteralContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_variableLiteral; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterVariableLiteral(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitVariableLiteral(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public VariableLiteralContext variableLiteral() { | |
| return variableLiteral(0); | |
| } | |
| private VariableLiteralContext variableLiteral(int _p) { | |
| ParserRuleContext _parentctx = Context; | |
| int _parentState = State; | |
| VariableLiteralContext _localctx = new VariableLiteralContext(Context, _parentState); | |
| VariableLiteralContext _prevctx = _localctx; | |
| int _startState = 82; | |
| EnterRecursionRule(_localctx, 82, RULE_variableLiteral, _p); | |
| int _la; | |
| try { | |
| int _alt; | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 484; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,42,Context) ) { | |
| case 1: | |
| { | |
| State = 480; | |
| Match(IDENTIFIER_LITERAL); | |
| } | |
| break; | |
| case 2: | |
| { | |
| State = 481; | |
| Match(IDENTIFIER_LITERAL); | |
| State = 482; | |
| Match(T__2); | |
| State = 483; | |
| variableLiteral(2); | |
| } | |
| break; | |
| } | |
| Context.Stop = TokenStream.LT(-1); | |
| State = 500; | |
| ErrorHandler.Sync(this); | |
| _alt = Interpreter.AdaptivePredict(TokenStream,45,Context); | |
| while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { | |
| if ( _alt==1 ) { | |
| if ( ParseListeners!=null ) | |
| TriggerExitRuleEvent(); | |
| _prevctx = _localctx; | |
| { | |
| { | |
| _localctx = new VariableLiteralContext(_parentctx, _parentState); | |
| PushNewRecursionContext(_localctx, _startState, RULE_variableLiteral); | |
| State = 486; | |
| if (!(Precpred(Context, 1))) throw new FailedPredicateException(this, "Precpred(Context, 1)"); | |
| State = 488; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| do { | |
| { | |
| { | |
| State = 487; | |
| Match(LBRACKET); | |
| } | |
| } | |
| State = 490; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } while ( _la==LBRACKET ); | |
| State = 493; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| do { | |
| { | |
| { | |
| State = 492; | |
| Match(INTEGER_LITERAL); | |
| } | |
| } | |
| State = 495; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } while ( _la==INTEGER_LITERAL ); | |
| State = 497; | |
| Match(RBRACKET); | |
| } | |
| } | |
| } | |
| State = 502; | |
| ErrorHandler.Sync(this); | |
| _alt = Interpreter.AdaptivePredict(TokenStream,45,Context); | |
| } | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| UnrollRecursionContexts(_parentctx); | |
| } | |
| return _localctx; | |
| } | |
| public partial class InnerExpressionContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public ValueLiteralContext valueLiteral() { | |
| return GetRuleContext<ValueLiteralContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ARRAY_LOOP_TYPE() { return GetToken(MSpecParser.ARRAY_LOOP_TYPE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public IdExpressionContext idExpression() { | |
| return GetRuleContext<IdExpressionContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LRBRACKET() { return GetToken(MSpecParser.LRBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RRBRACKET() { return GetToken(MSpecParser.RRBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] LBRACKET() { return GetTokens(MSpecParser.LBRACKET); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACKET(int i) { | |
| return GetToken(MSpecParser.LBRACKET, i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public InnerExpressionContext[] innerExpression() { | |
| return GetRuleContexts<InnerExpressionContext>(); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public InnerExpressionContext innerExpression(int i) { | |
| return GetRuleContext<InnerExpressionContext>(i); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACKET() { return GetToken(MSpecParser.RBRACKET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public BinaryOperatorContext binaryOperator() { | |
| return GetRuleContext<BinaryOperatorContext>(0); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INTEGER_LITERAL() { return GetTokens(MSpecParser.INTEGER_LITERAL); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTEGER_LITERAL(int i) { | |
| return GetToken(MSpecParser.INTEGER_LITERAL, i); | |
| } | |
| public InnerExpressionContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_innerExpression; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterInnerExpression(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitInnerExpression(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public InnerExpressionContext innerExpression() { | |
| return innerExpression(0); | |
| } | |
| private InnerExpressionContext innerExpression(int _p) { | |
| ParserRuleContext _parentctx = Context; | |
| int _parentState = State; | |
| InnerExpressionContext _localctx = new InnerExpressionContext(Context, _parentState); | |
| InnerExpressionContext _prevctx = _localctx; | |
| int _startState = 84; | |
| EnterRecursionRule(_localctx, 84, RULE_innerExpression, _p); | |
| int _la; | |
| try { | |
| int _alt; | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 537; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,50,Context) ) { | |
| case 1: | |
| { | |
| State = 504; | |
| valueLiteral(); | |
| } | |
| break; | |
| case 2: | |
| { | |
| State = 505; | |
| Match(ARRAY_LOOP_TYPE); | |
| } | |
| break; | |
| case 3: | |
| { | |
| State = 506; | |
| idExpression(); | |
| State = 519; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,48,Context) ) { | |
| case 1: | |
| { | |
| State = 507; | |
| Match(LRBRACKET); | |
| State = 516; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -8321498944L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 131071L) != 0)) { | |
| { | |
| State = 508; | |
| innerExpression(0); | |
| State = 513; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| while (_la==T__1) { | |
| { | |
| { | |
| State = 509; | |
| Match(T__1); | |
| State = 510; | |
| innerExpression(0); | |
| } | |
| } | |
| State = 515; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } | |
| } | |
| } | |
| State = 518; | |
| Match(RRBRACKET); | |
| } | |
| break; | |
| } | |
| State = 525; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,49,Context) ) { | |
| case 1: | |
| { | |
| State = 521; | |
| Match(LBRACKET); | |
| State = 522; | |
| innerExpression(0); | |
| State = 523; | |
| Match(RBRACKET); | |
| } | |
| break; | |
| } | |
| } | |
| break; | |
| case 4: | |
| { | |
| State = 527; | |
| Match(LRBRACKET); | |
| State = 528; | |
| innerExpression(0); | |
| State = 529; | |
| Match(RRBRACKET); | |
| } | |
| break; | |
| case 5: | |
| { | |
| State = 531; | |
| Match(T__5); | |
| State = 532; | |
| innerExpression(0); | |
| State = 533; | |
| Match(T__5); | |
| } | |
| break; | |
| case 6: | |
| { | |
| State = 535; | |
| Match(T__6); | |
| State = 536; | |
| innerExpression(1); | |
| } | |
| break; | |
| } | |
| Context.Stop = TokenStream.LT(-1); | |
| State = 566; | |
| ErrorHandler.Sync(this); | |
| _alt = Interpreter.AdaptivePredict(TokenStream,54,Context); | |
| while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { | |
| if ( _alt==1 ) { | |
| if ( ParseListeners!=null ) | |
| TriggerExitRuleEvent(); | |
| _prevctx = _localctx; | |
| { | |
| State = 564; | |
| ErrorHandler.Sync(this); | |
| switch ( Interpreter.AdaptivePredict(TokenStream,53,Context) ) { | |
| case 1: | |
| { | |
| _localctx = new InnerExpressionContext(_parentctx, _parentState); | |
| PushNewRecursionContext(_localctx, _startState, RULE_innerExpression); | |
| State = 539; | |
| if (!(Precpred(Context, 7))) throw new FailedPredicateException(this, "Precpred(Context, 7)"); | |
| State = 540; | |
| Match(T__2); | |
| State = 541; | |
| innerExpression(8); | |
| } | |
| break; | |
| case 2: | |
| { | |
| _localctx = new InnerExpressionContext(_parentctx, _parentState); | |
| PushNewRecursionContext(_localctx, _startState, RULE_innerExpression); | |
| State = 542; | |
| if (!(Precpred(Context, 5))) throw new FailedPredicateException(this, "Precpred(Context, 5)"); | |
| State = 543; | |
| binaryOperator(); | |
| State = 544; | |
| innerExpression(6); | |
| } | |
| break; | |
| case 3: | |
| { | |
| _localctx = new InnerExpressionContext(_parentctx, _parentState); | |
| PushNewRecursionContext(_localctx, _startState, RULE_innerExpression); | |
| State = 546; | |
| if (!(Precpred(Context, 4))) throw new FailedPredicateException(this, "Precpred(Context, 4)"); | |
| State = 547; | |
| Match(T__3); | |
| State = 548; | |
| innerExpression(0); | |
| State = 549; | |
| Match(T__4); | |
| State = 550; | |
| innerExpression(5); | |
| } | |
| break; | |
| case 4: | |
| { | |
| _localctx = new InnerExpressionContext(_parentctx, _parentState); | |
| PushNewRecursionContext(_localctx, _startState, RULE_innerExpression); | |
| State = 552; | |
| if (!(Precpred(Context, 6))) throw new FailedPredicateException(this, "Precpred(Context, 6)"); | |
| State = 554; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| do { | |
| { | |
| { | |
| State = 553; | |
| Match(LBRACKET); | |
| } | |
| } | |
| State = 556; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } while ( _la==LBRACKET ); | |
| State = 559; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| do { | |
| { | |
| { | |
| State = 558; | |
| Match(INTEGER_LITERAL); | |
| } | |
| } | |
| State = 561; | |
| ErrorHandler.Sync(this); | |
| _la = TokenStream.LA(1); | |
| } while ( _la==INTEGER_LITERAL ); | |
| State = 563; | |
| Match(RBRACKET); | |
| } | |
| break; | |
| } | |
| } | |
| } | |
| State = 568; | |
| ErrorHandler.Sync(this); | |
| _alt = Interpreter.AdaptivePredict(TokenStream,54,Context); | |
| } | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| UnrollRecursionContexts(_parentctx); | |
| } | |
| return _localctx; | |
| } | |
| public partial class ValueLiteralContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BOOLEAN_LITERAL() { return GetToken(MSpecParser.BOOLEAN_LITERAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode HEX_LITERAL() { return GetToken(MSpecParser.HEX_LITERAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTEGER_LITERAL() { return GetToken(MSpecParser.INTEGER_LITERAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FLOAT_LITERAL() { return GetToken(MSpecParser.FLOAT_LITERAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRING_LITERAL() { return GetToken(MSpecParser.STRING_LITERAL, 0); } | |
| public ValueLiteralContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_valueLiteral; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterValueLiteral(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitValueLiteral(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public ValueLiteralContext valueLiteral() { | |
| ValueLiteralContext _localctx = new ValueLiteralContext(Context, State); | |
| EnterRule(_localctx, 86, RULE_valueLiteral); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 569; | |
| _la = TokenStream.LA(1); | |
| if ( !(((((_la - 75)) & ~0x3f) == 0 && ((1L << (_la - 75)) & 31L) != 0)) ) { | |
| ErrorHandler.RecoverInline(this); | |
| } | |
| else { | |
| ErrorHandler.ReportMatch(this); | |
| Consume(); | |
| } | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class IdExpressionContext : ParserRuleContext { | |
| public IToken id; | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER_LITERAL() { return GetToken(MSpecParser.IDENTIFIER_LITERAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ARRAY_LOOP_TYPE() { return GetToken(MSpecParser.ARRAY_LOOP_TYPE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CONSTANTS() { return GetToken(MSpecParser.CONSTANTS, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GLOBALS() { return GetToken(MSpecParser.GLOBALS, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CONTEXT() { return GetToken(MSpecParser.CONTEXT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TYPE() { return GetToken(MSpecParser.TYPE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DISCRIMINATEDTYPE() { return GetToken(MSpecParser.DISCRIMINATEDTYPE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DATAIO() { return GetToken(MSpecParser.DATAIO, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ENUM() { return GetToken(MSpecParser.ENUM, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BATCHSET() { return GetToken(MSpecParser.BATCHSET, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ABSTRACT() { return GetToken(MSpecParser.ABSTRACT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ARRAY() { return GetToken(MSpecParser.ARRAY, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASSERT() { return GetToken(MSpecParser.ASSERT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CHECKSUM() { return GetToken(MSpecParser.CHECKSUM, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CONST() { return GetToken(MSpecParser.CONST, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DISCRIMINATOR() { return GetToken(MSpecParser.DISCRIMINATOR, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IMPLICIT() { return GetToken(MSpecParser.IMPLICIT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MANUALARRAY() { return GetToken(MSpecParser.MANUALARRAY, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MANUAL() { return GetToken(MSpecParser.MANUAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OPTIONAL() { return GetToken(MSpecParser.OPTIONAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PADDING() { return GetToken(MSpecParser.PADDING, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PEEK() { return GetToken(MSpecParser.PEEK, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RESERVED() { return GetToken(MSpecParser.RESERVED, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SIMPLE() { return GetToken(MSpecParser.SIMPLE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STATE() { return GetToken(MSpecParser.STATE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TYPESWITCH() { return GetToken(MSpecParser.TYPESWITCH, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UNKNOWN() { return GetToken(MSpecParser.UNKNOWN, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VALIDATION() { return GetToken(MSpecParser.VALIDATION, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VIRTUAL() { return GetToken(MSpecParser.VIRTUAL, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BIT() { return GetToken(MSpecParser.BIT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BYTE() { return GetToken(MSpecParser.BYTE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INT() { return GetToken(MSpecParser.INT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VINT() { return GetToken(MSpecParser.VINT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UINT() { return GetToken(MSpecParser.UINT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VUINT() { return GetToken(MSpecParser.VUINT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FLOAT() { return GetToken(MSpecParser.FLOAT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UFLOAT() { return GetToken(MSpecParser.UFLOAT, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRING() { return GetToken(MSpecParser.STRING, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VSTRING() { return GetToken(MSpecParser.VSTRING, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TIME() { return GetToken(MSpecParser.TIME, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DATE() { return GetToken(MSpecParser.DATE, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DATETIME() { return GetToken(MSpecParser.DATETIME, 0); } | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SHOULD_FAIL() { return GetToken(MSpecParser.SHOULD_FAIL, 0); } | |
| public IdExpressionContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_idExpression; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterIdExpression(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitIdExpression(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public IdExpressionContext idExpression() { | |
| IdExpressionContext _localctx = new IdExpressionContext(Context, State); | |
| EnterRule(_localctx, 88, RULE_idExpression); | |
| try { | |
| State = 614; | |
| ErrorHandler.Sync(this); | |
| switch (TokenStream.LA(1)) { | |
| case IDENTIFIER_LITERAL: | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 571; | |
| _localctx.id = Match(IDENTIFIER_LITERAL); | |
| } | |
| break; | |
| case ARRAY_LOOP_TYPE: | |
| EnterOuterAlt(_localctx, 2); | |
| { | |
| State = 572; | |
| _localctx.id = Match(ARRAY_LOOP_TYPE); | |
| } | |
| break; | |
| case CONSTANTS: | |
| EnterOuterAlt(_localctx, 3); | |
| { | |
| State = 573; | |
| _localctx.id = Match(CONSTANTS); | |
| } | |
| break; | |
| case GLOBALS: | |
| EnterOuterAlt(_localctx, 4); | |
| { | |
| State = 574; | |
| _localctx.id = Match(GLOBALS); | |
| } | |
| break; | |
| case CONTEXT: | |
| EnterOuterAlt(_localctx, 5); | |
| { | |
| State = 575; | |
| _localctx.id = Match(CONTEXT); | |
| } | |
| break; | |
| case TYPE: | |
| EnterOuterAlt(_localctx, 6); | |
| { | |
| State = 576; | |
| _localctx.id = Match(TYPE); | |
| } | |
| break; | |
| case DISCRIMINATEDTYPE: | |
| EnterOuterAlt(_localctx, 7); | |
| { | |
| State = 577; | |
| _localctx.id = Match(DISCRIMINATEDTYPE); | |
| } | |
| break; | |
| case DATAIO: | |
| EnterOuterAlt(_localctx, 8); | |
| { | |
| State = 578; | |
| _localctx.id = Match(DATAIO); | |
| } | |
| break; | |
| case ENUM: | |
| EnterOuterAlt(_localctx, 9); | |
| { | |
| State = 579; | |
| _localctx.id = Match(ENUM); | |
| } | |
| break; | |
| case BATCHSET: | |
| EnterOuterAlt(_localctx, 10); | |
| { | |
| State = 580; | |
| _localctx.id = Match(BATCHSET); | |
| } | |
| break; | |
| case ABSTRACT: | |
| EnterOuterAlt(_localctx, 11); | |
| { | |
| State = 581; | |
| _localctx.id = Match(ABSTRACT); | |
| } | |
| break; | |
| case ARRAY: | |
| EnterOuterAlt(_localctx, 12); | |
| { | |
| State = 582; | |
| _localctx.id = Match(ARRAY); | |
| } | |
| break; | |
| case ASSERT: | |
| EnterOuterAlt(_localctx, 13); | |
| { | |
| State = 583; | |
| _localctx.id = Match(ASSERT); | |
| } | |
| break; | |
| case CHECKSUM: | |
| EnterOuterAlt(_localctx, 14); | |
| { | |
| State = 584; | |
| _localctx.id = Match(CHECKSUM); | |
| } | |
| break; | |
| case CONST: | |
| EnterOuterAlt(_localctx, 15); | |
| { | |
| State = 585; | |
| _localctx.id = Match(CONST); | |
| } | |
| break; | |
| case DISCRIMINATOR: | |
| EnterOuterAlt(_localctx, 16); | |
| { | |
| State = 586; | |
| _localctx.id = Match(DISCRIMINATOR); | |
| } | |
| break; | |
| case IMPLICIT: | |
| EnterOuterAlt(_localctx, 17); | |
| { | |
| State = 587; | |
| _localctx.id = Match(IMPLICIT); | |
| } | |
| break; | |
| case MANUALARRAY: | |
| EnterOuterAlt(_localctx, 18); | |
| { | |
| State = 588; | |
| _localctx.id = Match(MANUALARRAY); | |
| } | |
| break; | |
| case MANUAL: | |
| EnterOuterAlt(_localctx, 19); | |
| { | |
| State = 589; | |
| _localctx.id = Match(MANUAL); | |
| } | |
| break; | |
| case OPTIONAL: | |
| EnterOuterAlt(_localctx, 20); | |
| { | |
| State = 590; | |
| _localctx.id = Match(OPTIONAL); | |
| } | |
| break; | |
| case PADDING: | |
| EnterOuterAlt(_localctx, 21); | |
| { | |
| State = 591; | |
| _localctx.id = Match(PADDING); | |
| } | |
| break; | |
| case PEEK: | |
| EnterOuterAlt(_localctx, 22); | |
| { | |
| State = 592; | |
| _localctx.id = Match(PEEK); | |
| } | |
| break; | |
| case RESERVED: | |
| EnterOuterAlt(_localctx, 23); | |
| { | |
| State = 593; | |
| _localctx.id = Match(RESERVED); | |
| } | |
| break; | |
| case SIMPLE: | |
| EnterOuterAlt(_localctx, 24); | |
| { | |
| State = 594; | |
| _localctx.id = Match(SIMPLE); | |
| } | |
| break; | |
| case STATE: | |
| EnterOuterAlt(_localctx, 25); | |
| { | |
| State = 595; | |
| _localctx.id = Match(STATE); | |
| } | |
| break; | |
| case TYPESWITCH: | |
| EnterOuterAlt(_localctx, 26); | |
| { | |
| State = 596; | |
| _localctx.id = Match(TYPESWITCH); | |
| } | |
| break; | |
| case UNKNOWN: | |
| EnterOuterAlt(_localctx, 27); | |
| { | |
| State = 597; | |
| _localctx.id = Match(UNKNOWN); | |
| } | |
| break; | |
| case VALIDATION: | |
| EnterOuterAlt(_localctx, 28); | |
| { | |
| State = 598; | |
| _localctx.id = Match(VALIDATION); | |
| } | |
| break; | |
| case VIRTUAL: | |
| EnterOuterAlt(_localctx, 29); | |
| { | |
| State = 599; | |
| _localctx.id = Match(VIRTUAL); | |
| } | |
| break; | |
| case BIT: | |
| EnterOuterAlt(_localctx, 30); | |
| { | |
| State = 600; | |
| _localctx.id = Match(BIT); | |
| } | |
| break; | |
| case BYTE: | |
| EnterOuterAlt(_localctx, 31); | |
| { | |
| State = 601; | |
| _localctx.id = Match(BYTE); | |
| } | |
| break; | |
| case INT: | |
| EnterOuterAlt(_localctx, 32); | |
| { | |
| State = 602; | |
| _localctx.id = Match(INT); | |
| } | |
| break; | |
| case VINT: | |
| EnterOuterAlt(_localctx, 33); | |
| { | |
| State = 603; | |
| _localctx.id = Match(VINT); | |
| } | |
| break; | |
| case UINT: | |
| EnterOuterAlt(_localctx, 34); | |
| { | |
| State = 604; | |
| _localctx.id = Match(UINT); | |
| } | |
| break; | |
| case VUINT: | |
| EnterOuterAlt(_localctx, 35); | |
| { | |
| State = 605; | |
| _localctx.id = Match(VUINT); | |
| } | |
| break; | |
| case FLOAT: | |
| EnterOuterAlt(_localctx, 36); | |
| { | |
| State = 606; | |
| _localctx.id = Match(FLOAT); | |
| } | |
| break; | |
| case UFLOAT: | |
| EnterOuterAlt(_localctx, 37); | |
| { | |
| State = 607; | |
| _localctx.id = Match(UFLOAT); | |
| } | |
| break; | |
| case STRING: | |
| EnterOuterAlt(_localctx, 38); | |
| { | |
| State = 608; | |
| _localctx.id = Match(STRING); | |
| } | |
| break; | |
| case VSTRING: | |
| EnterOuterAlt(_localctx, 39); | |
| { | |
| State = 609; | |
| _localctx.id = Match(VSTRING); | |
| } | |
| break; | |
| case TIME: | |
| EnterOuterAlt(_localctx, 40); | |
| { | |
| State = 610; | |
| _localctx.id = Match(TIME); | |
| } | |
| break; | |
| case DATE: | |
| EnterOuterAlt(_localctx, 41); | |
| { | |
| State = 611; | |
| _localctx.id = Match(DATE); | |
| } | |
| break; | |
| case DATETIME: | |
| EnterOuterAlt(_localctx, 42); | |
| { | |
| State = 612; | |
| _localctx.id = Match(DATETIME); | |
| } | |
| break; | |
| case SHOULD_FAIL: | |
| EnterOuterAlt(_localctx, 43); | |
| { | |
| State = 613; | |
| _localctx.id = Match(SHOULD_FAIL); | |
| } | |
| break; | |
| default: | |
| throw new NoViableAltException(this); | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public partial class BinaryOperatorContext : ParserRuleContext { | |
| [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASTERISK() { return GetToken(MSpecParser.ASTERISK, 0); } | |
| public BinaryOperatorContext(ParserRuleContext parent, int invokingState) | |
| : base(parent, invokingState) | |
| { | |
| } | |
| public override int RuleIndex { get { return RULE_binaryOperator; } } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void EnterRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.EnterBinaryOperator(this); | |
| } | |
| [System.Diagnostics.DebuggerNonUserCode] | |
| public override void ExitRule(IParseTreeListener listener) { | |
| IMSpecListener typedListener = listener as IMSpecListener; | |
| if (typedListener != null) typedListener.ExitBinaryOperator(this); | |
| } | |
| } | |
| [RuleVersion(0)] | |
| public BinaryOperatorContext binaryOperator() { | |
| BinaryOperatorContext _localctx = new BinaryOperatorContext(Context, State); | |
| EnterRule(_localctx, 90, RULE_binaryOperator); | |
| int _la; | |
| try { | |
| EnterOuterAlt(_localctx, 1); | |
| { | |
| State = 616; | |
| _la = TokenStream.LA(1); | |
| if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 4328521472L) != 0)) ) { | |
| ErrorHandler.RecoverInline(this); | |
| } | |
| else { | |
| ErrorHandler.ReportMatch(this); | |
| Consume(); | |
| } | |
| } | |
| } | |
| catch (RecognitionException re) { | |
| _localctx.exception = re; | |
| ErrorHandler.ReportError(this, re); | |
| ErrorHandler.Recover(this, re); | |
| } | |
| finally { | |
| ExitRule(); | |
| } | |
| return _localctx; | |
| } | |
| public override bool Sempred(RuleContext _localctx, int ruleIndex, int predIndex) { | |
| switch (ruleIndex) { | |
| case 41: return variableLiteral_sempred((VariableLiteralContext)_localctx, predIndex); | |
| case 42: return innerExpression_sempred((InnerExpressionContext)_localctx, predIndex); | |
| } | |
| return true; | |
| } | |
| private bool variableLiteral_sempred(VariableLiteralContext _localctx, int predIndex) { | |
| switch (predIndex) { | |
| case 0: return Precpred(Context, 1); | |
| } | |
| return true; | |
| } | |
| private bool innerExpression_sempred(InnerExpressionContext _localctx, int predIndex) { | |
| switch (predIndex) { | |
| case 1: return Precpred(Context, 7); | |
| case 2: return Precpred(Context, 5); | |
| case 3: return Precpred(Context, 4); | |
| case 4: return Precpred(Context, 6); | |
| } | |
| return true; | |
| } | |
| private static int[] _serializedATN = { | |
| 4,1,85,619,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7, | |
| 7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14, | |
| 2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21, | |
| 2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28, | |
| 2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35, | |
| 2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42, | |
| 2,43,7,43,2,44,7,44,2,45,7,45,1,0,3,0,94,8,0,1,0,3,0,97,8,0,1,0,3,0,100, | |
| 8,0,1,0,5,0,103,8,0,10,0,12,0,106,9,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1, | |
| 5,1,116,8,1,10,1,12,1,119,9,1,1,1,1,1,1,2,1,2,1,2,5,2,126,8,2,10,2,12, | |
| 2,129,9,2,1,2,1,2,1,3,1,3,1,3,5,3,136,8,3,10,3,12,3,139,9,3,1,3,1,3,1, | |
| 4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,3,5,153,8,5,1,5,1,5,1,5,5,5,158, | |
| 8,5,10,5,12,5,161,9,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,169,8,5,1,5,1,5,1,5, | |
| 5,5,174,8,5,10,5,12,5,177,9,5,1,5,1,5,3,5,181,8,5,1,5,1,5,1,5,1,5,1,5, | |
| 3,5,188,8,5,1,5,1,5,5,5,192,8,5,10,5,12,5,195,9,5,1,5,1,5,1,5,1,5,1,5, | |
| 1,5,3,5,203,8,5,1,5,1,5,1,5,3,5,208,8,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1, | |
| 7,1,7,4,7,219,8,7,11,7,12,7,220,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,3,8,231, | |
| 8,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1, | |
| 9,1,9,1,9,1,9,1,9,1,9,3,9,255,8,9,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1, | |
| 11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,14,1, | |
| 14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,17,1, | |
| 17,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1, | |
| 19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,3,20,316,8,20,1,21,1,21, | |
| 1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,3,22,328,8,22,1,23,1,23,1,23,1, | |
| 23,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,26,1,26,1,26,5,26,344,8,26,10, | |
| 26,12,26,347,9,26,1,27,1,27,1,27,1,28,1,28,1,28,3,28,355,8,28,1,28,1,28, | |
| 1,28,3,28,360,8,28,1,29,1,29,1,29,1,29,1,29,1,30,1,30,3,30,369,8,30,1, | |
| 30,1,30,1,30,1,30,1,30,3,30,376,8,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31, | |
| 3,31,385,8,31,1,31,3,31,388,8,31,1,32,1,32,3,32,392,8,32,1,32,3,32,395, | |
| 8,32,1,32,1,32,1,32,1,32,1,32,3,32,402,8,32,1,32,1,32,5,32,406,8,32,10, | |
| 32,12,32,409,9,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,1, | |
| 33,1,33,1,33,1,33,1,33,1,33,1,33,1,33,3,33,429,8,33,1,33,1,33,1,33,3,33, | |
| 434,8,33,1,34,1,34,1,34,1,34,1,35,5,35,441,8,35,10,35,12,35,444,9,35,1, | |
| 36,1,36,1,36,1,37,1,37,1,37,5,37,452,8,37,10,37,12,37,455,9,37,1,38,1, | |
| 38,1,38,1,38,1,38,3,38,462,8,38,1,39,1,39,1,39,5,39,467,8,39,10,39,12, | |
| 39,470,9,39,1,40,1,40,1,40,5,40,475,8,40,10,40,12,40,478,9,40,1,41,1,41, | |
| 1,41,1,41,1,41,3,41,485,8,41,1,41,1,41,4,41,489,8,41,11,41,12,41,490,1, | |
| 41,4,41,494,8,41,11,41,12,41,495,1,41,5,41,499,8,41,10,41,12,41,502,9, | |
| 41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,5,42,512,8,42,10,42,12,42,515, | |
| 9,42,3,42,517,8,42,1,42,3,42,520,8,42,1,42,1,42,1,42,1,42,3,42,526,8,42, | |
| 1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,3,42,538,8,42,1,42,1, | |
| 42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,4, | |
| 42,555,8,42,11,42,12,42,556,1,42,4,42,560,8,42,11,42,12,42,561,1,42,5, | |
| 42,565,8,42,10,42,12,42,568,9,42,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1, | |
| 44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1, | |
| 44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1, | |
| 44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,615,8,44,1,45,1,45, | |
| 1,45,0,2,82,84,46,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36, | |
| 38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84, | |
| 86,88,90,0,2,1,0,75,79,2,0,8,24,32,32,706,0,93,1,0,0,0,2,109,1,0,0,0,4, | |
| 122,1,0,0,0,6,132,1,0,0,0,8,142,1,0,0,0,10,207,1,0,0,0,12,209,1,0,0,0, | |
| 14,214,1,0,0,0,16,224,1,0,0,0,18,254,1,0,0,0,20,256,1,0,0,0,22,260,1,0, | |
| 0,0,24,266,1,0,0,0,26,271,1,0,0,0,28,276,1,0,0,0,30,281,1,0,0,0,32,285, | |
| 1,0,0,0,34,290,1,0,0,0,36,295,1,0,0,0,38,304,1,0,0,0,40,311,1,0,0,0,42, | |
| 317,1,0,0,0,44,323,1,0,0,0,46,329,1,0,0,0,48,333,1,0,0,0,50,337,1,0,0, | |
| 0,52,340,1,0,0,0,54,348,1,0,0,0,56,351,1,0,0,0,58,361,1,0,0,0,60,366,1, | |
| 0,0,0,62,387,1,0,0,0,64,389,1,0,0,0,66,433,1,0,0,0,68,435,1,0,0,0,70,442, | |
| 1,0,0,0,72,445,1,0,0,0,74,448,1,0,0,0,76,461,1,0,0,0,78,463,1,0,0,0,80, | |
| 471,1,0,0,0,82,484,1,0,0,0,84,537,1,0,0,0,86,569,1,0,0,0,88,614,1,0,0, | |
| 0,90,616,1,0,0,0,92,94,3,2,1,0,93,92,1,0,0,0,93,94,1,0,0,0,94,96,1,0,0, | |
| 0,95,97,3,4,2,0,96,95,1,0,0,0,96,97,1,0,0,0,97,99,1,0,0,0,98,100,3,6,3, | |
| 0,99,98,1,0,0,0,99,100,1,0,0,0,100,104,1,0,0,0,101,103,3,8,4,0,102,101, | |
| 1,0,0,0,103,106,1,0,0,0,104,102,1,0,0,0,104,105,1,0,0,0,105,107,1,0,0, | |
| 0,106,104,1,0,0,0,107,108,5,0,0,1,108,1,1,0,0,0,109,110,5,26,0,0,110,117, | |
| 5,33,0,0,111,112,5,26,0,0,112,113,3,28,14,0,113,114,5,27,0,0,114,116,1, | |
| 0,0,0,115,111,1,0,0,0,116,119,1,0,0,0,117,115,1,0,0,0,117,118,1,0,0,0, | |
| 118,120,1,0,0,0,119,117,1,0,0,0,120,121,5,27,0,0,121,3,1,0,0,0,122,123, | |
| 5,26,0,0,123,127,5,34,0,0,124,126,3,12,6,0,125,124,1,0,0,0,126,129,1,0, | |
| 0,0,127,125,1,0,0,0,127,128,1,0,0,0,128,130,1,0,0,0,129,127,1,0,0,0,130, | |
| 131,5,27,0,0,131,5,1,0,0,0,132,133,5,26,0,0,133,137,5,35,0,0,134,136,3, | |
| 12,6,0,135,134,1,0,0,0,136,139,1,0,0,0,137,135,1,0,0,0,137,138,1,0,0,0, | |
| 138,140,1,0,0,0,139,137,1,0,0,0,140,141,5,27,0,0,141,7,1,0,0,0,142,143, | |
| 5,26,0,0,143,144,3,10,5,0,144,145,5,27,0,0,145,9,1,0,0,0,146,147,5,36, | |
| 0,0,147,152,3,88,44,0,148,149,5,28,0,0,149,150,3,74,37,0,150,151,5,29, | |
| 0,0,151,153,1,0,0,0,152,148,1,0,0,0,152,153,1,0,0,0,153,154,1,0,0,0,154, | |
| 159,3,70,35,0,155,158,3,12,6,0,156,158,3,14,7,0,157,155,1,0,0,0,157,156, | |
| 1,0,0,0,158,161,1,0,0,0,159,157,1,0,0,0,159,160,1,0,0,0,160,208,1,0,0, | |
| 0,161,159,1,0,0,0,162,163,5,37,0,0,163,168,3,88,44,0,164,165,5,28,0,0, | |
| 165,166,3,74,37,0,166,167,5,29,0,0,167,169,1,0,0,0,168,164,1,0,0,0,168, | |
| 169,1,0,0,0,169,170,1,0,0,0,170,175,3,70,35,0,171,174,3,12,6,0,172,174, | |
| 3,14,7,0,173,171,1,0,0,0,173,172,1,0,0,0,174,177,1,0,0,0,175,173,1,0,0, | |
| 0,175,176,1,0,0,0,176,208,1,0,0,0,177,175,1,0,0,0,178,180,5,39,0,0,179, | |
| 181,3,66,33,0,180,179,1,0,0,0,180,181,1,0,0,0,181,182,1,0,0,0,182,187, | |
| 3,88,44,0,183,184,5,28,0,0,184,185,3,74,37,0,185,186,5,29,0,0,186,188, | |
| 1,0,0,0,187,183,1,0,0,0,187,188,1,0,0,0,188,189,1,0,0,0,189,193,3,70,35, | |
| 0,190,192,3,60,30,0,191,190,1,0,0,0,192,195,1,0,0,0,193,191,1,0,0,0,193, | |
| 194,1,0,0,0,194,208,1,0,0,0,195,193,1,0,0,0,196,197,5,38,0,0,197,202,3, | |
| 88,44,0,198,199,5,28,0,0,199,200,3,74,37,0,200,201,5,29,0,0,201,203,1, | |
| 0,0,0,202,198,1,0,0,0,202,203,1,0,0,0,203,204,1,0,0,0,204,205,3,70,35, | |
| 0,205,206,3,16,8,0,206,208,1,0,0,0,207,146,1,0,0,0,207,162,1,0,0,0,207, | |
| 178,1,0,0,0,207,196,1,0,0,0,208,11,1,0,0,0,209,210,5,26,0,0,210,211,3, | |
| 18,9,0,211,212,3,70,35,0,212,213,5,27,0,0,213,13,1,0,0,0,214,215,5,26, | |
| 0,0,215,216,5,40,0,0,216,218,3,70,35,0,217,219,3,12,6,0,218,217,1,0,0, | |
| 0,219,220,1,0,0,0,220,218,1,0,0,0,220,221,1,0,0,0,221,222,1,0,0,0,222, | |
| 223,5,27,0,0,223,15,1,0,0,0,224,225,5,26,0,0,225,230,3,52,26,0,226,227, | |
| 5,26,0,0,227,228,3,78,39,0,228,229,5,27,0,0,229,231,1,0,0,0,230,226,1, | |
| 0,0,0,230,231,1,0,0,0,231,232,1,0,0,0,232,233,5,27,0,0,233,17,1,0,0,0, | |
| 234,255,3,20,10,0,235,255,3,22,11,0,236,255,3,24,12,0,237,255,3,26,13, | |
| 0,238,255,3,28,14,0,239,255,3,30,15,0,240,255,3,32,16,0,241,255,3,34,17, | |
| 0,242,255,3,36,18,0,243,255,3,38,19,0,244,255,3,40,20,0,245,255,3,42,21, | |
| 0,246,255,3,44,22,0,247,255,3,46,23,0,248,255,3,48,24,0,249,255,3,50,25, | |
| 0,250,255,3,52,26,0,251,255,3,54,27,0,252,255,3,56,28,0,253,255,3,58,29, | |
| 0,254,234,1,0,0,0,254,235,1,0,0,0,254,236,1,0,0,0,254,237,1,0,0,0,254, | |
| 238,1,0,0,0,254,239,1,0,0,0,254,240,1,0,0,0,254,241,1,0,0,0,254,242,1, | |
| 0,0,0,254,243,1,0,0,0,254,244,1,0,0,0,254,245,1,0,0,0,254,246,1,0,0,0, | |
| 254,247,1,0,0,0,254,248,1,0,0,0,254,249,1,0,0,0,254,250,1,0,0,0,254,251, | |
| 1,0,0,0,254,252,1,0,0,0,254,253,1,0,0,0,255,19,1,0,0,0,256,257,5,41,0, | |
| 0,257,258,3,62,31,0,258,259,3,88,44,0,259,21,1,0,0,0,260,261,5,42,0,0, | |
| 261,262,3,62,31,0,262,263,3,88,44,0,263,264,5,74,0,0,264,265,3,76,38,0, | |
| 265,23,1,0,0,0,266,267,5,43,0,0,267,268,3,62,31,0,268,269,3,88,44,0,269, | |
| 270,3,76,38,0,270,25,1,0,0,0,271,272,5,44,0,0,272,273,3,66,33,0,273,274, | |
| 3,88,44,0,274,275,3,76,38,0,275,27,1,0,0,0,276,277,5,45,0,0,277,278,3, | |
| 62,31,0,278,279,3,88,44,0,279,280,3,86,43,0,280,29,1,0,0,0,281,282,5,46, | |
| 0,0,282,283,3,62,31,0,283,284,3,88,44,0,284,31,1,0,0,0,285,286,5,39,0, | |
| 0,286,287,3,62,31,0,287,288,3,88,44,0,288,289,3,88,44,0,289,33,1,0,0,0, | |
| 290,291,5,47,0,0,291,292,3,66,33,0,292,293,3,88,44,0,293,294,3,76,38,0, | |
| 294,35,1,0,0,0,295,296,5,48,0,0,296,297,3,62,31,0,297,298,3,88,44,0,298, | |
| 299,5,74,0,0,299,300,3,76,38,0,300,301,3,76,38,0,301,302,3,76,38,0,302, | |
| 303,3,76,38,0,303,37,1,0,0,0,304,305,5,49,0,0,305,306,3,62,31,0,306,307, | |
| 3,88,44,0,307,308,3,76,38,0,308,309,3,76,38,0,309,310,3,76,38,0,310,39, | |
| 1,0,0,0,311,312,5,50,0,0,312,313,3,62,31,0,313,315,3,88,44,0,314,316,3, | |
| 76,38,0,315,314,1,0,0,0,315,316,1,0,0,0,316,41,1,0,0,0,317,318,5,51,0, | |
| 0,318,319,3,66,33,0,319,320,3,88,44,0,320,321,3,76,38,0,321,322,3,76,38, | |
| 0,322,43,1,0,0,0,323,324,5,52,0,0,324,325,3,62,31,0,325,327,3,88,44,0, | |
| 326,328,3,76,38,0,327,326,1,0,0,0,327,328,1,0,0,0,328,45,1,0,0,0,329,330, | |
| 5,53,0,0,330,331,3,66,33,0,331,332,3,76,38,0,332,47,1,0,0,0,333,334,5, | |
| 54,0,0,334,335,3,62,31,0,335,336,3,88,44,0,336,49,1,0,0,0,337,338,5,55, | |
| 0,0,338,339,3,88,44,0,339,51,1,0,0,0,340,341,5,56,0,0,341,345,3,80,40, | |
| 0,342,344,3,64,32,0,343,342,1,0,0,0,344,347,1,0,0,0,345,343,1,0,0,0,345, | |
| 346,1,0,0,0,346,53,1,0,0,0,347,345,1,0,0,0,348,349,5,57,0,0,349,350,3, | |
| 66,33,0,350,55,1,0,0,0,351,352,5,58,0,0,352,354,3,76,38,0,353,355,5,79, | |
| 0,0,354,353,1,0,0,0,354,355,1,0,0,0,355,359,1,0,0,0,356,357,5,73,0,0,357, | |
| 358,5,1,0,0,358,360,5,78,0,0,359,356,1,0,0,0,359,360,1,0,0,0,360,57,1, | |
| 0,0,0,361,362,5,59,0,0,362,363,3,62,31,0,363,364,3,88,44,0,364,365,3,76, | |
| 38,0,365,59,1,0,0,0,366,368,5,26,0,0,367,369,3,76,38,0,368,367,1,0,0,0, | |
| 368,369,1,0,0,0,369,370,1,0,0,0,370,375,5,80,0,0,371,372,5,26,0,0,372, | |
| 373,3,78,39,0,373,374,5,27,0,0,374,376,1,0,0,0,375,371,1,0,0,0,375,376, | |
| 1,0,0,0,376,377,1,0,0,0,377,378,5,27,0,0,378,61,1,0,0,0,379,384,5,80,0, | |
| 0,380,381,5,28,0,0,381,382,3,78,39,0,382,383,5,29,0,0,383,385,1,0,0,0, | |
| 384,380,1,0,0,0,384,385,1,0,0,0,385,388,1,0,0,0,386,388,3,66,33,0,387, | |
| 379,1,0,0,0,387,386,1,0,0,0,388,63,1,0,0,0,389,391,5,26,0,0,390,392,3, | |
| 78,39,0,391,390,1,0,0,0,391,392,1,0,0,0,392,394,1,0,0,0,393,395,5,32,0, | |
| 0,394,393,1,0,0,0,394,395,1,0,0,0,395,396,1,0,0,0,396,401,5,80,0,0,397, | |
| 398,5,28,0,0,398,399,3,74,37,0,399,400,5,29,0,0,400,402,1,0,0,0,401,397, | |
| 1,0,0,0,401,402,1,0,0,0,402,407,1,0,0,0,403,406,3,12,6,0,404,406,3,14, | |
| 7,0,405,403,1,0,0,0,405,404,1,0,0,0,406,409,1,0,0,0,407,405,1,0,0,0,407, | |
| 408,1,0,0,0,408,410,1,0,0,0,409,407,1,0,0,0,410,411,5,27,0,0,411,65,1, | |
| 0,0,0,412,434,5,60,0,0,413,434,5,61,0,0,414,415,5,62,0,0,415,434,5,75, | |
| 0,0,416,434,5,63,0,0,417,418,5,64,0,0,418,434,5,75,0,0,419,434,5,65,0, | |
| 0,420,421,5,66,0,0,421,434,5,75,0,0,422,423,5,67,0,0,423,434,5,75,0,0, | |
| 424,425,5,68,0,0,425,434,5,75,0,0,426,428,5,69,0,0,427,429,3,76,38,0,428, | |
| 427,1,0,0,0,428,429,1,0,0,0,429,434,1,0,0,0,430,434,5,70,0,0,431,434,5, | |
| 71,0,0,432,434,5,72,0,0,433,412,1,0,0,0,433,413,1,0,0,0,433,414,1,0,0, | |
| 0,433,416,1,0,0,0,433,417,1,0,0,0,433,419,1,0,0,0,433,420,1,0,0,0,433, | |
| 422,1,0,0,0,433,424,1,0,0,0,433,426,1,0,0,0,433,430,1,0,0,0,433,431,1, | |
| 0,0,0,433,432,1,0,0,0,434,67,1,0,0,0,435,436,5,80,0,0,436,437,5,1,0,0, | |
| 437,438,3,76,38,0,438,69,1,0,0,0,439,441,3,68,34,0,440,439,1,0,0,0,441, | |
| 444,1,0,0,0,442,440,1,0,0,0,442,443,1,0,0,0,443,71,1,0,0,0,444,442,1,0, | |
| 0,0,445,446,3,62,31,0,446,447,3,88,44,0,447,73,1,0,0,0,448,453,3,72,36, | |
| 0,449,450,5,2,0,0,450,452,3,72,36,0,451,449,1,0,0,0,452,455,1,0,0,0,453, | |
| 451,1,0,0,0,453,454,1,0,0,0,454,75,1,0,0,0,455,453,1,0,0,0,456,457,5,25, | |
| 0,0,457,458,3,84,42,0,458,459,5,25,0,0,459,462,1,0,0,0,460,462,5,32,0, | |
| 0,461,456,1,0,0,0,461,460,1,0,0,0,462,77,1,0,0,0,463,468,3,76,38,0,464, | |
| 465,5,2,0,0,465,467,3,76,38,0,466,464,1,0,0,0,467,470,1,0,0,0,468,466, | |
| 1,0,0,0,468,469,1,0,0,0,469,79,1,0,0,0,470,468,1,0,0,0,471,476,3,82,41, | |
| 0,472,473,5,2,0,0,473,475,3,82,41,0,474,472,1,0,0,0,475,478,1,0,0,0,476, | |
| 474,1,0,0,0,476,477,1,0,0,0,477,81,1,0,0,0,478,476,1,0,0,0,479,480,6,41, | |
| -1,0,480,485,5,80,0,0,481,482,5,80,0,0,482,483,5,3,0,0,483,485,3,82,41, | |
| 2,484,479,1,0,0,0,484,481,1,0,0,0,485,500,1,0,0,0,486,488,10,1,0,0,487, | |
| 489,5,26,0,0,488,487,1,0,0,0,489,490,1,0,0,0,490,488,1,0,0,0,490,491,1, | |
| 0,0,0,491,493,1,0,0,0,492,494,5,75,0,0,493,492,1,0,0,0,494,495,1,0,0,0, | |
| 495,493,1,0,0,0,495,496,1,0,0,0,496,497,1,0,0,0,497,499,5,27,0,0,498,486, | |
| 1,0,0,0,499,502,1,0,0,0,500,498,1,0,0,0,500,501,1,0,0,0,501,83,1,0,0,0, | |
| 502,500,1,0,0,0,503,504,6,42,-1,0,504,538,3,86,43,0,505,538,5,74,0,0,506, | |
| 519,3,88,44,0,507,516,5,28,0,0,508,513,3,84,42,0,509,510,5,2,0,0,510,512, | |
| 3,84,42,0,511,509,1,0,0,0,512,515,1,0,0,0,513,511,1,0,0,0,513,514,1,0, | |
| 0,0,514,517,1,0,0,0,515,513,1,0,0,0,516,508,1,0,0,0,516,517,1,0,0,0,517, | |
| 518,1,0,0,0,518,520,5,29,0,0,519,507,1,0,0,0,519,520,1,0,0,0,520,525,1, | |
| 0,0,0,521,522,5,26,0,0,522,523,3,84,42,0,523,524,5,27,0,0,524,526,1,0, | |
| 0,0,525,521,1,0,0,0,525,526,1,0,0,0,526,538,1,0,0,0,527,528,5,28,0,0,528, | |
| 529,3,84,42,0,529,530,5,29,0,0,530,538,1,0,0,0,531,532,5,6,0,0,532,533, | |
| 3,84,42,0,533,534,5,6,0,0,534,538,1,0,0,0,535,536,5,7,0,0,536,538,3,84, | |
| 42,1,537,503,1,0,0,0,537,505,1,0,0,0,537,506,1,0,0,0,537,527,1,0,0,0,537, | |
| 531,1,0,0,0,537,535,1,0,0,0,538,566,1,0,0,0,539,540,10,7,0,0,540,541,5, | |
| 3,0,0,541,565,3,84,42,8,542,543,10,5,0,0,543,544,3,90,45,0,544,545,3,84, | |
| 42,6,545,565,1,0,0,0,546,547,10,4,0,0,547,548,5,4,0,0,548,549,3,84,42, | |
| 0,549,550,5,5,0,0,550,551,3,84,42,5,551,565,1,0,0,0,552,554,10,6,0,0,553, | |
| 555,5,26,0,0,554,553,1,0,0,0,555,556,1,0,0,0,556,554,1,0,0,0,556,557,1, | |
| 0,0,0,557,559,1,0,0,0,558,560,5,75,0,0,559,558,1,0,0,0,560,561,1,0,0,0, | |
| 561,559,1,0,0,0,561,562,1,0,0,0,562,563,1,0,0,0,563,565,5,27,0,0,564,539, | |
| 1,0,0,0,564,542,1,0,0,0,564,546,1,0,0,0,564,552,1,0,0,0,565,568,1,0,0, | |
| 0,566,564,1,0,0,0,566,567,1,0,0,0,567,85,1,0,0,0,568,566,1,0,0,0,569,570, | |
| 7,0,0,0,570,87,1,0,0,0,571,615,5,80,0,0,572,615,5,74,0,0,573,615,5,33, | |
| 0,0,574,615,5,34,0,0,575,615,5,35,0,0,576,615,5,36,0,0,577,615,5,37,0, | |
| 0,578,615,5,38,0,0,579,615,5,39,0,0,580,615,5,40,0,0,581,615,5,41,0,0, | |
| 582,615,5,42,0,0,583,615,5,43,0,0,584,615,5,44,0,0,585,615,5,45,0,0,586, | |
| 615,5,46,0,0,587,615,5,47,0,0,588,615,5,48,0,0,589,615,5,49,0,0,590,615, | |
| 5,50,0,0,591,615,5,51,0,0,592,615,5,52,0,0,593,615,5,53,0,0,594,615,5, | |
| 54,0,0,595,615,5,55,0,0,596,615,5,56,0,0,597,615,5,57,0,0,598,615,5,58, | |
| 0,0,599,615,5,59,0,0,600,615,5,60,0,0,601,615,5,61,0,0,602,615,5,62,0, | |
| 0,603,615,5,63,0,0,604,615,5,64,0,0,605,615,5,65,0,0,606,615,5,66,0,0, | |
| 607,615,5,67,0,0,608,615,5,68,0,0,609,615,5,69,0,0,610,615,5,70,0,0,611, | |
| 615,5,71,0,0,612,615,5,72,0,0,613,615,5,73,0,0,614,571,1,0,0,0,614,572, | |
| 1,0,0,0,614,573,1,0,0,0,614,574,1,0,0,0,614,575,1,0,0,0,614,576,1,0,0, | |
| 0,614,577,1,0,0,0,614,578,1,0,0,0,614,579,1,0,0,0,614,580,1,0,0,0,614, | |
| 581,1,0,0,0,614,582,1,0,0,0,614,583,1,0,0,0,614,584,1,0,0,0,614,585,1, | |
| 0,0,0,614,586,1,0,0,0,614,587,1,0,0,0,614,588,1,0,0,0,614,589,1,0,0,0, | |
| 614,590,1,0,0,0,614,591,1,0,0,0,614,592,1,0,0,0,614,593,1,0,0,0,614,594, | |
| 1,0,0,0,614,595,1,0,0,0,614,596,1,0,0,0,614,597,1,0,0,0,614,598,1,0,0, | |
| 0,614,599,1,0,0,0,614,600,1,0,0,0,614,601,1,0,0,0,614,602,1,0,0,0,614, | |
| 603,1,0,0,0,614,604,1,0,0,0,614,605,1,0,0,0,614,606,1,0,0,0,614,607,1, | |
| 0,0,0,614,608,1,0,0,0,614,609,1,0,0,0,614,610,1,0,0,0,614,611,1,0,0,0, | |
| 614,612,1,0,0,0,614,613,1,0,0,0,615,89,1,0,0,0,616,617,7,1,0,0,617,91, | |
| 1,0,0,0,56,93,96,99,104,117,127,137,152,157,159,168,173,175,180,187,193, | |
| 202,207,220,230,254,315,327,345,354,359,368,375,384,387,391,394,401,405, | |
| 407,428,433,442,453,461,468,476,484,490,495,500,513,516,519,525,537,556, | |
| 561,564,566,614 | |
| }; | |
| public static readonly ATN _ATN = | |
| new ATNDeserializer().Deserialize(_serializedATN); | |
| } | |
| } // namespace org.apache.plc4net.tools.codegen.grammar |