From 78d73c6e3a6e96b750bc4100f754484890ea650b Mon Sep 17 00:00:00 2001 From: Melodi <62381002+Melodi17@users.noreply.github.com> Date: Sat, 9 Aug 2025 12:51:08 +1000 Subject: added lazy function definition --- Compiler/gen/CGrammarParser.cs | 581 ++++++++++++++++++++++------------------- 1 file changed, 317 insertions(+), 264 deletions(-) (limited to 'Compiler/gen/CGrammarParser.cs') diff --git a/Compiler/gen/CGrammarParser.cs b/Compiler/gen/CGrammarParser.cs index 184d28e..4ffaf81 100644 --- a/Compiler/gen/CGrammarParser.cs +++ b/Compiler/gen/CGrammarParser.cs @@ -55,9 +55,9 @@ public partial class CGrammarParser : Parser { private static readonly string[] _LiteralNames = { null, "'int'", "'('", "','", "')'", "';'", "'{'", "'}'", "'return'", "'if'", - "'else'", "'for'", "'while'", "'do'", "'break'", "'continue'", "'='", - "'!'", "'~'", "'++'", "'--'", "'*'", "'/'", "'%'", "'+'", "'-'", "'<'", - "'>'", "'<='", "'>='", "'=='", "'!='", "'&'", "'|'", "'^'", "'<<'", "'>>'", + "'else'", "'for'", "'while'", "'do'", "'break'", "'continue'", "'*'", + "'='", "'&'", "'!'", "'~'", "'++'", "'--'", "'/'", "'%'", "'+'", "'-'", + "'<'", "'>'", "'<='", "'>='", "'=='", "'!='", "'|'", "'^'", "'<<'", "'>>'", "'&&'", "'||'", "'*='", "'/='", "'%='", "'+='", "'-='", "'&='", "'|='", "'^='", "'<<='", "'>>='", "'?'", "':'" }; @@ -365,7 +365,7 @@ public partial class CGrammarParser : Parser { State = 65; ErrorHandler.Sync(this); _la = TokenStream.LA(1); - while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399443086182L) != 0)) { + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399449312102L) != 0)) { { { State = 62; @@ -429,10 +429,12 @@ public partial class CGrammarParser : Parser { case T__12: case T__13: case T__14: - case T__16: + case T__15: case T__17: case T__18: case T__19: + case T__20: + case T__21: case ID: case INT: EnterOuterAlt(_localctx, 1); @@ -700,7 +702,7 @@ public partial class CGrammarParser : Parser { State = 90; ErrorHandler.Sync(this); _la = TokenStream.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399443021828L) != 0)) { + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399449247748L) != 0)) { { State = 89; ((ForExprStatementContext)_localctx).initializer = expression(0); @@ -712,7 +714,7 @@ public partial class CGrammarParser : Parser { State = 94; ErrorHandler.Sync(this); _la = TokenStream.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399443021828L) != 0)) { + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399449247748L) != 0)) { { State = 93; ((ForExprStatementContext)_localctx).cond = expression(0); @@ -724,7 +726,7 @@ public partial class CGrammarParser : Parser { State = 98; ErrorHandler.Sync(this); _la = TokenStream.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399443021828L) != 0)) { + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399449247748L) != 0)) { { State = 97; ((ForExprStatementContext)_localctx).post = expression(0); @@ -750,7 +752,7 @@ public partial class CGrammarParser : Parser { State = 106; ErrorHandler.Sync(this); _la = TokenStream.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399443021828L) != 0)) { + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399449247748L) != 0)) { { State = 105; ((ForDeclStatementContext)_localctx).cond = expression(0); @@ -762,7 +764,7 @@ public partial class CGrammarParser : Parser { State = 110; ErrorHandler.Sync(this); _la = TokenStream.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399443021828L) != 0)) { + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399449247748L) != 0)) { { State = 109; ((ForDeclStatementContext)_localctx).post = expression(0); @@ -883,6 +885,7 @@ public partial class CGrammarParser : Parser { } } public partial class VariableDeclarationContext : DeclarationContext { + public IToken ptr; public IToken name; public ExpressionContext value; [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ID() { return GetToken(CGrammarParser.ID, 0); } @@ -910,20 +913,22 @@ public partial class CGrammarParser : Parser { State = 140; Match(T__0); State = 141; + ((VariableDeclarationContext)_localctx).ptr = Match(T__15); + State = 142; ((VariableDeclarationContext)_localctx).name = Match(ID); - State = 144; + State = 145; ErrorHandler.Sync(this); _la = TokenStream.LA(1); - if (_la==T__15) { + if (_la==T__16) { { - State = 142; - Match(T__15); State = 143; + Match(T__16); + State = 144; ((VariableDeclarationContext)_localctx).value = expression(0); } } - State = 146; + State = 147; Match(T__4); } } @@ -950,6 +955,18 @@ public partial class CGrammarParser : Parser { base.CopyFrom(context); } } + public partial class AddressOfExpressionContext : ExpressionContext { + [System.Diagnostics.DebuggerNonUserCode] public TargetContext target() { + return GetRuleContext(0); + } + public AddressOfExpressionContext(ExpressionContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor; + if (typedVisitor != null) return typedVisitor.VisitAddressOfExpression(this); + else return visitor.VisitChildren(this); + } + } public partial class CompoundSubtractExpressionContext : ExpressionContext { [System.Diagnostics.DebuggerNonUserCode] public TargetContext target() { return GetRuleContext(0); @@ -1219,6 +1236,18 @@ public partial class CGrammarParser : Parser { else return visitor.VisitChildren(this); } } + public partial class DereferenceExpressionContext : ExpressionContext { + [System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() { + return GetRuleContext(0); + } + public DereferenceExpressionContext(ExpressionContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor; + if (typedVisitor != null) return typedVisitor.VisitDereferenceExpression(this); + else return visitor.VisitChildren(this); + } + } public partial class EqualExpressionContext : ExpressionContext { public ExpressionContext left; public ExpressionContext right; @@ -1581,7 +1610,7 @@ public partial class CGrammarParser : Parser { int _alt; EnterOuterAlt(_localctx, 1); { - State = 226; + State = 231; ErrorHandler.Sync(this); switch ( Interpreter.AdaptivePredict(TokenStream,18,Context) ) { case 1: @@ -1590,11 +1619,11 @@ public partial class CGrammarParser : Parser { Context = _localctx; _prevctx = _localctx; - State = 149; - Match(T__1); State = 150; - expression(0); + Match(T__1); State = 151; + expression(0); + State = 152; Match(T__3); } break; @@ -1603,7 +1632,7 @@ public partial class CGrammarParser : Parser { _localctx = new ConstantExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 153; + State = 154; constant(); } break; @@ -1612,263 +1641,285 @@ public partial class CGrammarParser : Parser { _localctx = new AssignmentExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 154; - target(); State = 155; - Match(T__15); + target(); State = 156; - expression(38); + Match(T__16); + State = 157; + expression(40); } break; case 4: + { + _localctx = new DereferenceExpressionContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 159; + Match(T__15); + State = 160; + expression(39); + } + break; + case 5: + { + _localctx = new AddressOfExpressionContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 161; + Match(T__17); + State = 162; + target(); + } + break; + case 6: { _localctx = new VariableExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 158; + State = 163; Match(ID); } break; - case 5: + case 7: { _localctx = new CallExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 159; + State = 164; Match(ID); - State = 160; + State = 165; Match(T__1); - State = 169; + State = 174; ErrorHandler.Sync(this); _la = TokenStream.LA(1); - if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399443021828L) != 0)) { + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 6755399449247748L) != 0)) { { - State = 161; + State = 166; ((CallExpressionContext)_localctx)._expression = expression(0); ((CallExpressionContext)_localctx)._params.Add(((CallExpressionContext)_localctx)._expression); - State = 166; + State = 171; ErrorHandler.Sync(this); _la = TokenStream.LA(1); while (_la==T__2) { { { - State = 162; + State = 167; Match(T__2); - State = 163; + State = 168; ((CallExpressionContext)_localctx)._expression = expression(0); ((CallExpressionContext)_localctx)._params.Add(((CallExpressionContext)_localctx)._expression); } } - State = 168; + State = 173; ErrorHandler.Sync(this); _la = TokenStream.LA(1); } } } - State = 171; + State = 176; Match(T__3); } break; - case 6: + case 8: { _localctx = new NotExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 172; - Match(T__16); - State = 173; + State = 177; + Match(T__18); + State = 178; expression(35); } break; - case 7: + case 9: { _localctx = new InvertExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 174; - Match(T__17); - State = 175; + State = 179; + Match(T__19); + State = 180; expression(34); } break; - case 8: + case 10: { _localctx = new IncrementPrefixExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 176; - Match(T__18); - State = 177; + State = 181; + Match(T__20); + State = 182; target(); } break; - case 9: + case 11: { _localctx = new DecrementPrefixExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 178; - Match(T__19); - State = 179; + State = 183; + Match(T__21); + State = 184; target(); } break; - case 10: + case 12: { _localctx = new IncrementPostfixExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 180; + State = 185; target(); - State = 181; - Match(T__18); + State = 186; + Match(T__20); } break; - case 11: + case 13: { _localctx = new DecrementPostfixExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 183; + State = 188; target(); - State = 184; - Match(T__19); + State = 189; + Match(T__21); } break; - case 12: + case 14: { _localctx = new CompoundMultiplyExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 186; + State = 191; target(); - State = 187; + State = 192; Match(T__38); - State = 188; + State = 193; expression(11); } break; - case 13: + case 15: { _localctx = new CompoundDivideExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 190; + State = 195; target(); - State = 191; + State = 196; Match(T__39); - State = 192; + State = 197; expression(10); } break; - case 14: + case 16: { _localctx = new CompoundModulusExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 194; + State = 199; target(); - State = 195; + State = 200; Match(T__40); - State = 196; + State = 201; expression(9); } break; - case 15: + case 17: { _localctx = new CompoundAddExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 198; + State = 203; target(); - State = 199; + State = 204; Match(T__41); - State = 200; + State = 205; expression(8); } break; - case 16: + case 18: { _localctx = new CompoundSubtractExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 202; + State = 207; target(); - State = 203; + State = 208; Match(T__42); - State = 204; + State = 209; expression(7); } break; - case 17: + case 19: { _localctx = new CompoundBitwiseAndExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 206; + State = 211; target(); - State = 207; + State = 212; Match(T__43); - State = 208; + State = 213; expression(6); } break; - case 18: + case 20: { _localctx = new CompoundBitwiseOrExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 210; + State = 215; target(); - State = 211; + State = 216; Match(T__44); - State = 212; + State = 217; expression(5); } break; - case 19: + case 21: { _localctx = new CompoundBitwiseXorExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 214; + State = 219; target(); - State = 215; + State = 220; Match(T__45); - State = 216; + State = 221; expression(4); } break; - case 20: + case 22: { _localctx = new CompoundBitwiseLeftShiftExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 218; + State = 223; target(); - State = 219; + State = 224; Match(T__46); - State = 220; + State = 225; expression(3); } break; - case 21: + case 23: { _localctx = new CompoundBitwiseRightShiftExpressionContext(_localctx); Context = _localctx; _prevctx = _localctx; - State = 222; + State = 227; target(); - State = 223; + State = 228; Match(T__47); - State = 224; + State = 229; expression(2); } break; } Context.Stop = TokenStream.LT(-1); - State = 290; + State = 295; ErrorHandler.Sync(this); _alt = Interpreter.AdaptivePredict(TokenStream,20,Context); while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { @@ -1877,7 +1928,7 @@ public partial class CGrammarParser : Parser { TriggerExitRuleEvent(); _prevctx = _localctx; { - State = 288; + State = 293; ErrorHandler.Sync(this); switch ( Interpreter.AdaptivePredict(TokenStream,19,Context) ) { case 1: @@ -1885,11 +1936,11 @@ public partial class CGrammarParser : Parser { _localctx = new MultiplyExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((MultiplyExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 228; + State = 233; if (!(Precpred(Context, 29))) throw new FailedPredicateException(this, "Precpred(Context, 29)"); - State = 229; - Match(T__20); - State = 230; + State = 234; + Match(T__15); + State = 235; ((MultiplyExpressionContext)_localctx).right = expression(30); } break; @@ -1898,11 +1949,11 @@ public partial class CGrammarParser : Parser { _localctx = new DivideExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((DivideExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 231; + State = 236; if (!(Precpred(Context, 28))) throw new FailedPredicateException(this, "Precpred(Context, 28)"); - State = 232; - Match(T__21); - State = 233; + State = 237; + Match(T__22); + State = 238; ((DivideExpressionContext)_localctx).right = expression(29); } break; @@ -1911,11 +1962,11 @@ public partial class CGrammarParser : Parser { _localctx = new ModulusExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((ModulusExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 234; + State = 239; if (!(Precpred(Context, 27))) throw new FailedPredicateException(this, "Precpred(Context, 27)"); - State = 235; - Match(T__22); - State = 236; + State = 240; + Match(T__23); + State = 241; ((ModulusExpressionContext)_localctx).right = expression(28); } break; @@ -1924,11 +1975,11 @@ public partial class CGrammarParser : Parser { _localctx = new AddExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((AddExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 237; + State = 242; if (!(Precpred(Context, 26))) throw new FailedPredicateException(this, "Precpred(Context, 26)"); - State = 238; - Match(T__23); - State = 239; + State = 243; + Match(T__24); + State = 244; ((AddExpressionContext)_localctx).right = expression(27); } break; @@ -1937,11 +1988,11 @@ public partial class CGrammarParser : Parser { _localctx = new SubtractExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((SubtractExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 240; + State = 245; if (!(Precpred(Context, 25))) throw new FailedPredicateException(this, "Precpred(Context, 25)"); - State = 241; - Match(T__24); - State = 242; + State = 246; + Match(T__25); + State = 247; ((SubtractExpressionContext)_localctx).right = expression(26); } break; @@ -1950,11 +2001,11 @@ public partial class CGrammarParser : Parser { _localctx = new LessThanExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((LessThanExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 243; + State = 248; if (!(Precpred(Context, 24))) throw new FailedPredicateException(this, "Precpred(Context, 24)"); - State = 244; - Match(T__25); - State = 245; + State = 249; + Match(T__26); + State = 250; ((LessThanExpressionContext)_localctx).right = expression(25); } break; @@ -1963,11 +2014,11 @@ public partial class CGrammarParser : Parser { _localctx = new GreaterThanExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((GreaterThanExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 246; + State = 251; if (!(Precpred(Context, 23))) throw new FailedPredicateException(this, "Precpred(Context, 23)"); - State = 247; - Match(T__26); - State = 248; + State = 252; + Match(T__27); + State = 253; ((GreaterThanExpressionContext)_localctx).right = expression(24); } break; @@ -1976,11 +2027,11 @@ public partial class CGrammarParser : Parser { _localctx = new LessThanOrEqualExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((LessThanOrEqualExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 249; + State = 254; if (!(Precpred(Context, 22))) throw new FailedPredicateException(this, "Precpred(Context, 22)"); - State = 250; - Match(T__27); - State = 251; + State = 255; + Match(T__28); + State = 256; ((LessThanOrEqualExpressionContext)_localctx).right = expression(23); } break; @@ -1989,11 +2040,11 @@ public partial class CGrammarParser : Parser { _localctx = new GreaterThanOrEqualExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((GreaterThanOrEqualExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 252; + State = 257; if (!(Precpred(Context, 21))) throw new FailedPredicateException(this, "Precpred(Context, 21)"); - State = 253; - Match(T__28); - State = 254; + State = 258; + Match(T__29); + State = 259; ((GreaterThanOrEqualExpressionContext)_localctx).right = expression(22); } break; @@ -2002,11 +2053,11 @@ public partial class CGrammarParser : Parser { _localctx = new EqualExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((EqualExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 255; + State = 260; if (!(Precpred(Context, 20))) throw new FailedPredicateException(this, "Precpred(Context, 20)"); - State = 256; - Match(T__29); - State = 257; + State = 261; + Match(T__30); + State = 262; ((EqualExpressionContext)_localctx).right = expression(21); } break; @@ -2015,11 +2066,11 @@ public partial class CGrammarParser : Parser { _localctx = new NotEqualExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((NotEqualExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 258; + State = 263; if (!(Precpred(Context, 19))) throw new FailedPredicateException(this, "Precpred(Context, 19)"); - State = 259; - Match(T__30); - State = 260; + State = 264; + Match(T__31); + State = 265; ((NotEqualExpressionContext)_localctx).right = expression(20); } break; @@ -2028,11 +2079,11 @@ public partial class CGrammarParser : Parser { _localctx = new BitwiseAndExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((BitwiseAndExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 261; + State = 266; if (!(Precpred(Context, 18))) throw new FailedPredicateException(this, "Precpred(Context, 18)"); - State = 262; - Match(T__31); - State = 263; + State = 267; + Match(T__17); + State = 268; ((BitwiseAndExpressionContext)_localctx).right = expression(19); } break; @@ -2041,11 +2092,11 @@ public partial class CGrammarParser : Parser { _localctx = new BitwiseOrExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((BitwiseOrExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 264; + State = 269; if (!(Precpred(Context, 17))) throw new FailedPredicateException(this, "Precpred(Context, 17)"); - State = 265; + State = 270; Match(T__32); - State = 266; + State = 271; ((BitwiseOrExpressionContext)_localctx).right = expression(18); } break; @@ -2054,11 +2105,11 @@ public partial class CGrammarParser : Parser { _localctx = new BitwiseXorExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((BitwiseXorExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 267; + State = 272; if (!(Precpred(Context, 16))) throw new FailedPredicateException(this, "Precpred(Context, 16)"); - State = 268; + State = 273; Match(T__33); - State = 269; + State = 274; ((BitwiseXorExpressionContext)_localctx).right = expression(17); } break; @@ -2067,11 +2118,11 @@ public partial class CGrammarParser : Parser { _localctx = new BitwiseLeftShiftExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((BitwiseLeftShiftExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 270; + State = 275; if (!(Precpred(Context, 15))) throw new FailedPredicateException(this, "Precpred(Context, 15)"); - State = 271; + State = 276; Match(T__34); - State = 272; + State = 277; ((BitwiseLeftShiftExpressionContext)_localctx).right = expression(16); } break; @@ -2080,11 +2131,11 @@ public partial class CGrammarParser : Parser { _localctx = new BitwiseRightShiftExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((BitwiseRightShiftExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 273; + State = 278; if (!(Precpred(Context, 14))) throw new FailedPredicateException(this, "Precpred(Context, 14)"); - State = 274; + State = 279; Match(T__35); - State = 275; + State = 280; ((BitwiseRightShiftExpressionContext)_localctx).right = expression(15); } break; @@ -2093,11 +2144,11 @@ public partial class CGrammarParser : Parser { _localctx = new LogicalAndExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((LogicalAndExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 276; + State = 281; if (!(Precpred(Context, 13))) throw new FailedPredicateException(this, "Precpred(Context, 13)"); - State = 277; + State = 282; Match(T__36); - State = 278; + State = 283; ((LogicalAndExpressionContext)_localctx).right = expression(14); } break; @@ -2106,11 +2157,11 @@ public partial class CGrammarParser : Parser { _localctx = new LogicalOrExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((LogicalOrExpressionContext)_localctx).left = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 279; + State = 284; if (!(Precpred(Context, 12))) throw new FailedPredicateException(this, "Precpred(Context, 12)"); - State = 280; + State = 285; Match(T__37); - State = 281; + State = 286; ((LogicalOrExpressionContext)_localctx).right = expression(13); } break; @@ -2119,22 +2170,22 @@ public partial class CGrammarParser : Parser { _localctx = new TernaryExpressionContext(new ExpressionContext(_parentctx, _parentState)); ((TernaryExpressionContext)_localctx).cond = _prevctx; PushNewRecursionContext(_localctx, _startState, RULE_expression); - State = 282; + State = 287; if (!(Precpred(Context, 1))) throw new FailedPredicateException(this, "Precpred(Context, 1)"); - State = 283; + State = 288; Match(T__48); - State = 284; + State = 289; ((TernaryExpressionContext)_localctx).then = expression(0); - State = 285; + State = 290; Match(T__49); - State = 286; + State = 291; ((TernaryExpressionContext)_localctx).@else = expression(2); } break; } } } - State = 292; + State = 297; ErrorHandler.Sync(this); _alt = Interpreter.AdaptivePredict(TokenStream,20,Context); } @@ -2182,7 +2233,7 @@ public partial class CGrammarParser : Parser { _localctx = new IntConstantContext(_localctx); EnterOuterAlt(_localctx, 1); { - State = 293; + State = 298; Match(INT); } } @@ -2228,7 +2279,7 @@ public partial class CGrammarParser : Parser { _localctx = new VariableTargetContext(_localctx); EnterOuterAlt(_localctx, 1); { - State = 295; + State = 300; Match(ID); } } @@ -2275,7 +2326,7 @@ public partial class CGrammarParser : Parser { } private static int[] _serializedATN = { - 4,1,54,298,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, + 4,1,54,303,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,1,0,4,0,20,8,0,11,0,12,0,21,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,5,1,34,8,1,10,1,12,1,37,9,1,3,1,39,8,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,5,1,51,8,1,10,1,12,1,54,9,1,3,1,56,8,1,1,1,1,1,3,1,60, @@ -2284,97 +2335,99 @@ public partial class CGrammarParser : Parser { 8,4,1,4,1,4,3,4,95,8,4,1,4,1,4,3,4,99,8,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4, 107,8,4,1,4,1,4,3,4,111,8,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1, 4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,139, - 8,4,1,5,1,5,1,5,1,5,3,5,145,8,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1, - 6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,5,6,165,8,6,10,6,12,6,168,9,6,3,6,170, - 8,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1, + 8,4,1,5,1,5,1,5,1,5,1,5,3,5,146,8,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,1, + 6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,5,6,170,8,6,10,6, + 12,6,173,9,6,3,6,175,8,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1, 6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6, 1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1, - 6,1,6,1,6,1,6,3,6,227,8,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6, + 6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,232,8,6,1,6,1,6,1,6,1,6,1,6,1,6, 1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1, 6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6, - 1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,5,6,289,8,6,10, - 6,12,6,292,9,6,1,7,1,7,1,8,1,8,1,8,0,1,12,9,0,2,4,6,8,10,12,14,16,0,0, - 354,0,19,1,0,0,0,2,59,1,0,0,0,4,61,1,0,0,0,6,72,1,0,0,0,8,138,1,0,0,0, - 10,140,1,0,0,0,12,226,1,0,0,0,14,293,1,0,0,0,16,295,1,0,0,0,18,20,3,2, - 1,0,19,18,1,0,0,0,20,21,1,0,0,0,21,19,1,0,0,0,21,22,1,0,0,0,22,23,1,0, - 0,0,23,24,5,0,0,1,24,1,1,0,0,0,25,26,5,1,0,0,26,27,5,51,0,0,27,38,5,2, - 0,0,28,29,5,1,0,0,29,35,5,51,0,0,30,31,5,3,0,0,31,32,5,1,0,0,32,34,5,51, - 0,0,33,30,1,0,0,0,34,37,1,0,0,0,35,33,1,0,0,0,35,36,1,0,0,0,36,39,1,0, - 0,0,37,35,1,0,0,0,38,28,1,0,0,0,38,39,1,0,0,0,39,40,1,0,0,0,40,41,5,4, - 0,0,41,60,5,5,0,0,42,43,5,1,0,0,43,44,5,51,0,0,44,55,5,2,0,0,45,46,5,1, - 0,0,46,52,5,51,0,0,47,48,5,3,0,0,48,49,5,1,0,0,49,51,5,51,0,0,50,47,1, - 0,0,0,51,54,1,0,0,0,52,50,1,0,0,0,52,53,1,0,0,0,53,56,1,0,0,0,54,52,1, - 0,0,0,55,45,1,0,0,0,55,56,1,0,0,0,56,57,1,0,0,0,57,58,5,4,0,0,58,60,3, - 4,2,0,59,25,1,0,0,0,59,42,1,0,0,0,60,3,1,0,0,0,61,65,5,6,0,0,62,64,3,6, - 3,0,63,62,1,0,0,0,64,67,1,0,0,0,65,63,1,0,0,0,65,66,1,0,0,0,66,68,1,0, - 0,0,67,65,1,0,0,0,68,69,5,7,0,0,69,5,1,0,0,0,70,73,3,8,4,0,71,73,3,10, - 5,0,72,70,1,0,0,0,72,71,1,0,0,0,73,7,1,0,0,0,74,75,5,8,0,0,75,76,3,12, - 6,0,76,77,5,5,0,0,77,139,1,0,0,0,78,79,5,9,0,0,79,80,5,2,0,0,80,81,3,12, - 6,0,81,82,5,4,0,0,82,85,3,8,4,0,83,84,5,10,0,0,84,86,3,8,4,0,85,83,1,0, - 0,0,85,86,1,0,0,0,86,139,1,0,0,0,87,88,5,11,0,0,88,90,5,2,0,0,89,91,3, - 12,6,0,90,89,1,0,0,0,90,91,1,0,0,0,91,92,1,0,0,0,92,94,5,5,0,0,93,95,3, - 12,6,0,94,93,1,0,0,0,94,95,1,0,0,0,95,96,1,0,0,0,96,98,5,5,0,0,97,99,3, - 12,6,0,98,97,1,0,0,0,98,99,1,0,0,0,99,100,1,0,0,0,100,101,5,4,0,0,101, - 139,3,8,4,0,102,103,5,11,0,0,103,104,5,2,0,0,104,106,3,10,5,0,105,107, - 3,12,6,0,106,105,1,0,0,0,106,107,1,0,0,0,107,108,1,0,0,0,108,110,5,5,0, - 0,109,111,3,12,6,0,110,109,1,0,0,0,110,111,1,0,0,0,111,112,1,0,0,0,112, - 113,5,4,0,0,113,114,3,8,4,0,114,139,1,0,0,0,115,116,5,12,0,0,116,117,5, - 2,0,0,117,118,3,12,6,0,118,119,5,4,0,0,119,120,3,8,4,0,120,139,1,0,0,0, - 121,122,5,13,0,0,122,123,3,8,4,0,123,124,5,12,0,0,124,125,5,2,0,0,125, - 126,3,12,6,0,126,127,5,4,0,0,127,128,5,5,0,0,128,139,1,0,0,0,129,130,5, - 14,0,0,130,139,5,5,0,0,131,132,5,15,0,0,132,139,5,5,0,0,133,134,3,12,6, - 0,134,135,5,5,0,0,135,139,1,0,0,0,136,139,3,4,2,0,137,139,5,5,0,0,138, - 74,1,0,0,0,138,78,1,0,0,0,138,87,1,0,0,0,138,102,1,0,0,0,138,115,1,0,0, - 0,138,121,1,0,0,0,138,129,1,0,0,0,138,131,1,0,0,0,138,133,1,0,0,0,138, - 136,1,0,0,0,138,137,1,0,0,0,139,9,1,0,0,0,140,141,5,1,0,0,141,144,5,51, - 0,0,142,143,5,16,0,0,143,145,3,12,6,0,144,142,1,0,0,0,144,145,1,0,0,0, - 145,146,1,0,0,0,146,147,5,5,0,0,147,11,1,0,0,0,148,149,6,6,-1,0,149,150, - 5,2,0,0,150,151,3,12,6,0,151,152,5,4,0,0,152,227,1,0,0,0,153,227,3,14, - 7,0,154,155,3,16,8,0,155,156,5,16,0,0,156,157,3,12,6,38,157,227,1,0,0, - 0,158,227,5,51,0,0,159,160,5,51,0,0,160,169,5,2,0,0,161,166,3,12,6,0,162, - 163,5,3,0,0,163,165,3,12,6,0,164,162,1,0,0,0,165,168,1,0,0,0,166,164,1, - 0,0,0,166,167,1,0,0,0,167,170,1,0,0,0,168,166,1,0,0,0,169,161,1,0,0,0, - 169,170,1,0,0,0,170,171,1,0,0,0,171,227,5,4,0,0,172,173,5,17,0,0,173,227, - 3,12,6,35,174,175,5,18,0,0,175,227,3,12,6,34,176,177,5,19,0,0,177,227, - 3,16,8,0,178,179,5,20,0,0,179,227,3,16,8,0,180,181,3,16,8,0,181,182,5, - 19,0,0,182,227,1,0,0,0,183,184,3,16,8,0,184,185,5,20,0,0,185,227,1,0,0, - 0,186,187,3,16,8,0,187,188,5,39,0,0,188,189,3,12,6,11,189,227,1,0,0,0, - 190,191,3,16,8,0,191,192,5,40,0,0,192,193,3,12,6,10,193,227,1,0,0,0,194, - 195,3,16,8,0,195,196,5,41,0,0,196,197,3,12,6,9,197,227,1,0,0,0,198,199, - 3,16,8,0,199,200,5,42,0,0,200,201,3,12,6,8,201,227,1,0,0,0,202,203,3,16, - 8,0,203,204,5,43,0,0,204,205,3,12,6,7,205,227,1,0,0,0,206,207,3,16,8,0, - 207,208,5,44,0,0,208,209,3,12,6,6,209,227,1,0,0,0,210,211,3,16,8,0,211, - 212,5,45,0,0,212,213,3,12,6,5,213,227,1,0,0,0,214,215,3,16,8,0,215,216, - 5,46,0,0,216,217,3,12,6,4,217,227,1,0,0,0,218,219,3,16,8,0,219,220,5,47, - 0,0,220,221,3,12,6,3,221,227,1,0,0,0,222,223,3,16,8,0,223,224,5,48,0,0, - 224,225,3,12,6,2,225,227,1,0,0,0,226,148,1,0,0,0,226,153,1,0,0,0,226,154, - 1,0,0,0,226,158,1,0,0,0,226,159,1,0,0,0,226,172,1,0,0,0,226,174,1,0,0, - 0,226,176,1,0,0,0,226,178,1,0,0,0,226,180,1,0,0,0,226,183,1,0,0,0,226, - 186,1,0,0,0,226,190,1,0,0,0,226,194,1,0,0,0,226,198,1,0,0,0,226,202,1, - 0,0,0,226,206,1,0,0,0,226,210,1,0,0,0,226,214,1,0,0,0,226,218,1,0,0,0, - 226,222,1,0,0,0,227,290,1,0,0,0,228,229,10,29,0,0,229,230,5,21,0,0,230, - 289,3,12,6,30,231,232,10,28,0,0,232,233,5,22,0,0,233,289,3,12,6,29,234, - 235,10,27,0,0,235,236,5,23,0,0,236,289,3,12,6,28,237,238,10,26,0,0,238, - 239,5,24,0,0,239,289,3,12,6,27,240,241,10,25,0,0,241,242,5,25,0,0,242, - 289,3,12,6,26,243,244,10,24,0,0,244,245,5,26,0,0,245,289,3,12,6,25,246, - 247,10,23,0,0,247,248,5,27,0,0,248,289,3,12,6,24,249,250,10,22,0,0,250, - 251,5,28,0,0,251,289,3,12,6,23,252,253,10,21,0,0,253,254,5,29,0,0,254, - 289,3,12,6,22,255,256,10,20,0,0,256,257,5,30,0,0,257,289,3,12,6,21,258, - 259,10,19,0,0,259,260,5,31,0,0,260,289,3,12,6,20,261,262,10,18,0,0,262, - 263,5,32,0,0,263,289,3,12,6,19,264,265,10,17,0,0,265,266,5,33,0,0,266, - 289,3,12,6,18,267,268,10,16,0,0,268,269,5,34,0,0,269,289,3,12,6,17,270, - 271,10,15,0,0,271,272,5,35,0,0,272,289,3,12,6,16,273,274,10,14,0,0,274, - 275,5,36,0,0,275,289,3,12,6,15,276,277,10,13,0,0,277,278,5,37,0,0,278, - 289,3,12,6,14,279,280,10,12,0,0,280,281,5,38,0,0,281,289,3,12,6,13,282, - 283,10,1,0,0,283,284,5,49,0,0,284,285,3,12,6,0,285,286,5,50,0,0,286,287, - 3,12,6,2,287,289,1,0,0,0,288,228,1,0,0,0,288,231,1,0,0,0,288,234,1,0,0, - 0,288,237,1,0,0,0,288,240,1,0,0,0,288,243,1,0,0,0,288,246,1,0,0,0,288, - 249,1,0,0,0,288,252,1,0,0,0,288,255,1,0,0,0,288,258,1,0,0,0,288,261,1, - 0,0,0,288,264,1,0,0,0,288,267,1,0,0,0,288,270,1,0,0,0,288,273,1,0,0,0, - 288,276,1,0,0,0,288,279,1,0,0,0,288,282,1,0,0,0,289,292,1,0,0,0,290,288, - 1,0,0,0,290,291,1,0,0,0,291,13,1,0,0,0,292,290,1,0,0,0,293,294,5,52,0, - 0,294,15,1,0,0,0,295,296,5,51,0,0,296,17,1,0,0,0,21,21,35,38,52,55,59, - 65,72,85,90,94,98,106,110,138,144,166,169,226,288,290 + 1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1, + 6,1,6,5,6,294,8,6,10,6,12,6,297,9,6,1,7,1,7,1,8,1,8,1,8,0,1,12,9,0,2,4, + 6,8,10,12,14,16,0,0,361,0,19,1,0,0,0,2,59,1,0,0,0,4,61,1,0,0,0,6,72,1, + 0,0,0,8,138,1,0,0,0,10,140,1,0,0,0,12,231,1,0,0,0,14,298,1,0,0,0,16,300, + 1,0,0,0,18,20,3,2,1,0,19,18,1,0,0,0,20,21,1,0,0,0,21,19,1,0,0,0,21,22, + 1,0,0,0,22,23,1,0,0,0,23,24,5,0,0,1,24,1,1,0,0,0,25,26,5,1,0,0,26,27,5, + 51,0,0,27,38,5,2,0,0,28,29,5,1,0,0,29,35,5,51,0,0,30,31,5,3,0,0,31,32, + 5,1,0,0,32,34,5,51,0,0,33,30,1,0,0,0,34,37,1,0,0,0,35,33,1,0,0,0,35,36, + 1,0,0,0,36,39,1,0,0,0,37,35,1,0,0,0,38,28,1,0,0,0,38,39,1,0,0,0,39,40, + 1,0,0,0,40,41,5,4,0,0,41,60,5,5,0,0,42,43,5,1,0,0,43,44,5,51,0,0,44,55, + 5,2,0,0,45,46,5,1,0,0,46,52,5,51,0,0,47,48,5,3,0,0,48,49,5,1,0,0,49,51, + 5,51,0,0,50,47,1,0,0,0,51,54,1,0,0,0,52,50,1,0,0,0,52,53,1,0,0,0,53,56, + 1,0,0,0,54,52,1,0,0,0,55,45,1,0,0,0,55,56,1,0,0,0,56,57,1,0,0,0,57,58, + 5,4,0,0,58,60,3,4,2,0,59,25,1,0,0,0,59,42,1,0,0,0,60,3,1,0,0,0,61,65,5, + 6,0,0,62,64,3,6,3,0,63,62,1,0,0,0,64,67,1,0,0,0,65,63,1,0,0,0,65,66,1, + 0,0,0,66,68,1,0,0,0,67,65,1,0,0,0,68,69,5,7,0,0,69,5,1,0,0,0,70,73,3,8, + 4,0,71,73,3,10,5,0,72,70,1,0,0,0,72,71,1,0,0,0,73,7,1,0,0,0,74,75,5,8, + 0,0,75,76,3,12,6,0,76,77,5,5,0,0,77,139,1,0,0,0,78,79,5,9,0,0,79,80,5, + 2,0,0,80,81,3,12,6,0,81,82,5,4,0,0,82,85,3,8,4,0,83,84,5,10,0,0,84,86, + 3,8,4,0,85,83,1,0,0,0,85,86,1,0,0,0,86,139,1,0,0,0,87,88,5,11,0,0,88,90, + 5,2,0,0,89,91,3,12,6,0,90,89,1,0,0,0,90,91,1,0,0,0,91,92,1,0,0,0,92,94, + 5,5,0,0,93,95,3,12,6,0,94,93,1,0,0,0,94,95,1,0,0,0,95,96,1,0,0,0,96,98, + 5,5,0,0,97,99,3,12,6,0,98,97,1,0,0,0,98,99,1,0,0,0,99,100,1,0,0,0,100, + 101,5,4,0,0,101,139,3,8,4,0,102,103,5,11,0,0,103,104,5,2,0,0,104,106,3, + 10,5,0,105,107,3,12,6,0,106,105,1,0,0,0,106,107,1,0,0,0,107,108,1,0,0, + 0,108,110,5,5,0,0,109,111,3,12,6,0,110,109,1,0,0,0,110,111,1,0,0,0,111, + 112,1,0,0,0,112,113,5,4,0,0,113,114,3,8,4,0,114,139,1,0,0,0,115,116,5, + 12,0,0,116,117,5,2,0,0,117,118,3,12,6,0,118,119,5,4,0,0,119,120,3,8,4, + 0,120,139,1,0,0,0,121,122,5,13,0,0,122,123,3,8,4,0,123,124,5,12,0,0,124, + 125,5,2,0,0,125,126,3,12,6,0,126,127,5,4,0,0,127,128,5,5,0,0,128,139,1, + 0,0,0,129,130,5,14,0,0,130,139,5,5,0,0,131,132,5,15,0,0,132,139,5,5,0, + 0,133,134,3,12,6,0,134,135,5,5,0,0,135,139,1,0,0,0,136,139,3,4,2,0,137, + 139,5,5,0,0,138,74,1,0,0,0,138,78,1,0,0,0,138,87,1,0,0,0,138,102,1,0,0, + 0,138,115,1,0,0,0,138,121,1,0,0,0,138,129,1,0,0,0,138,131,1,0,0,0,138, + 133,1,0,0,0,138,136,1,0,0,0,138,137,1,0,0,0,139,9,1,0,0,0,140,141,5,1, + 0,0,141,142,5,16,0,0,142,145,5,51,0,0,143,144,5,17,0,0,144,146,3,12,6, + 0,145,143,1,0,0,0,145,146,1,0,0,0,146,147,1,0,0,0,147,148,5,5,0,0,148, + 11,1,0,0,0,149,150,6,6,-1,0,150,151,5,2,0,0,151,152,3,12,6,0,152,153,5, + 4,0,0,153,232,1,0,0,0,154,232,3,14,7,0,155,156,3,16,8,0,156,157,5,17,0, + 0,157,158,3,12,6,40,158,232,1,0,0,0,159,160,5,16,0,0,160,232,3,12,6,39, + 161,162,5,18,0,0,162,232,3,16,8,0,163,232,5,51,0,0,164,165,5,51,0,0,165, + 174,5,2,0,0,166,171,3,12,6,0,167,168,5,3,0,0,168,170,3,12,6,0,169,167, + 1,0,0,0,170,173,1,0,0,0,171,169,1,0,0,0,171,172,1,0,0,0,172,175,1,0,0, + 0,173,171,1,0,0,0,174,166,1,0,0,0,174,175,1,0,0,0,175,176,1,0,0,0,176, + 232,5,4,0,0,177,178,5,19,0,0,178,232,3,12,6,35,179,180,5,20,0,0,180,232, + 3,12,6,34,181,182,5,21,0,0,182,232,3,16,8,0,183,184,5,22,0,0,184,232,3, + 16,8,0,185,186,3,16,8,0,186,187,5,21,0,0,187,232,1,0,0,0,188,189,3,16, + 8,0,189,190,5,22,0,0,190,232,1,0,0,0,191,192,3,16,8,0,192,193,5,39,0,0, + 193,194,3,12,6,11,194,232,1,0,0,0,195,196,3,16,8,0,196,197,5,40,0,0,197, + 198,3,12,6,10,198,232,1,0,0,0,199,200,3,16,8,0,200,201,5,41,0,0,201,202, + 3,12,6,9,202,232,1,0,0,0,203,204,3,16,8,0,204,205,5,42,0,0,205,206,3,12, + 6,8,206,232,1,0,0,0,207,208,3,16,8,0,208,209,5,43,0,0,209,210,3,12,6,7, + 210,232,1,0,0,0,211,212,3,16,8,0,212,213,5,44,0,0,213,214,3,12,6,6,214, + 232,1,0,0,0,215,216,3,16,8,0,216,217,5,45,0,0,217,218,3,12,6,5,218,232, + 1,0,0,0,219,220,3,16,8,0,220,221,5,46,0,0,221,222,3,12,6,4,222,232,1,0, + 0,0,223,224,3,16,8,0,224,225,5,47,0,0,225,226,3,12,6,3,226,232,1,0,0,0, + 227,228,3,16,8,0,228,229,5,48,0,0,229,230,3,12,6,2,230,232,1,0,0,0,231, + 149,1,0,0,0,231,154,1,0,0,0,231,155,1,0,0,0,231,159,1,0,0,0,231,161,1, + 0,0,0,231,163,1,0,0,0,231,164,1,0,0,0,231,177,1,0,0,0,231,179,1,0,0,0, + 231,181,1,0,0,0,231,183,1,0,0,0,231,185,1,0,0,0,231,188,1,0,0,0,231,191, + 1,0,0,0,231,195,1,0,0,0,231,199,1,0,0,0,231,203,1,0,0,0,231,207,1,0,0, + 0,231,211,1,0,0,0,231,215,1,0,0,0,231,219,1,0,0,0,231,223,1,0,0,0,231, + 227,1,0,0,0,232,295,1,0,0,0,233,234,10,29,0,0,234,235,5,16,0,0,235,294, + 3,12,6,30,236,237,10,28,0,0,237,238,5,23,0,0,238,294,3,12,6,29,239,240, + 10,27,0,0,240,241,5,24,0,0,241,294,3,12,6,28,242,243,10,26,0,0,243,244, + 5,25,0,0,244,294,3,12,6,27,245,246,10,25,0,0,246,247,5,26,0,0,247,294, + 3,12,6,26,248,249,10,24,0,0,249,250,5,27,0,0,250,294,3,12,6,25,251,252, + 10,23,0,0,252,253,5,28,0,0,253,294,3,12,6,24,254,255,10,22,0,0,255,256, + 5,29,0,0,256,294,3,12,6,23,257,258,10,21,0,0,258,259,5,30,0,0,259,294, + 3,12,6,22,260,261,10,20,0,0,261,262,5,31,0,0,262,294,3,12,6,21,263,264, + 10,19,0,0,264,265,5,32,0,0,265,294,3,12,6,20,266,267,10,18,0,0,267,268, + 5,18,0,0,268,294,3,12,6,19,269,270,10,17,0,0,270,271,5,33,0,0,271,294, + 3,12,6,18,272,273,10,16,0,0,273,274,5,34,0,0,274,294,3,12,6,17,275,276, + 10,15,0,0,276,277,5,35,0,0,277,294,3,12,6,16,278,279,10,14,0,0,279,280, + 5,36,0,0,280,294,3,12,6,15,281,282,10,13,0,0,282,283,5,37,0,0,283,294, + 3,12,6,14,284,285,10,12,0,0,285,286,5,38,0,0,286,294,3,12,6,13,287,288, + 10,1,0,0,288,289,5,49,0,0,289,290,3,12,6,0,290,291,5,50,0,0,291,292,3, + 12,6,2,292,294,1,0,0,0,293,233,1,0,0,0,293,236,1,0,0,0,293,239,1,0,0,0, + 293,242,1,0,0,0,293,245,1,0,0,0,293,248,1,0,0,0,293,251,1,0,0,0,293,254, + 1,0,0,0,293,257,1,0,0,0,293,260,1,0,0,0,293,263,1,0,0,0,293,266,1,0,0, + 0,293,269,1,0,0,0,293,272,1,0,0,0,293,275,1,0,0,0,293,278,1,0,0,0,293, + 281,1,0,0,0,293,284,1,0,0,0,293,287,1,0,0,0,294,297,1,0,0,0,295,293,1, + 0,0,0,295,296,1,0,0,0,296,13,1,0,0,0,297,295,1,0,0,0,298,299,5,52,0,0, + 299,15,1,0,0,0,300,301,5,51,0,0,301,17,1,0,0,0,21,21,35,38,52,55,59,65, + 72,85,90,94,98,106,110,138,145,171,174,231,293,295 }; public static readonly ATN _ATN = -- cgit v1.3.1