< Summary

Class:NanoCLang.NanoCLexer
Assembly:NanoCLang
File(s):C:\GitLab-Runner\builds\JxAESPd8\0\chenmichael\nanoc\src\NanoCLang\Grammar\NanoCLexer.cs
Covered lines:328
Uncovered lines:9
Coverable lines:337
Total lines:408
Line coverage:97.3% (328 of 337)
Covered branches:2
Total branches:2
Branch coverage:100% (2 of 2)

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
.cctor()100%2100%
.ctor(...)100%10%
.ctor(...)100%1100%
get_Vocabulary()100%10%
get_GrammarFileName()100%10%
get_RuleNames()100%10%
get_ChannelNames()100%10%
get_ModeNames()100%10%
get_SerializedAtn()100%10%

File(s)

C:\GitLab-Runner\builds\JxAESPd8\0\chenmichael\nanoc\src\NanoCLang\Grammar\NanoCLexer.cs

#LineLine coverage
 1//------------------------------------------------------------------------------
 2// <auto-generated>
 3//     This code was generated by a tool.
 4//     ANTLR Version: 4.9
 5//
 6//     Changes to this file may cause incorrect behavior and will be lost if
 7//     the code is regenerated.
 8// </auto-generated>
 9//------------------------------------------------------------------------------
 10
 11// Generated from NanoCLexer.g4 by ANTLR 4.9
 12
 13// Unreachable code detected
 14#pragma warning disable 0162
 15// The variable '...' is assigned but its value is never used
 16#pragma warning disable 0219
 17// Missing XML comment for publicly visible type or member '...'
 18#pragma warning disable 1591
 19// Ambiguous reference in cref attribute
 20#pragma warning disable 419
 21
 22namespace NanoCLang {
 23
 24#pragma warning disable CS3021
 25
 26using System;
 27using System.IO;
 28using System.Text;
 29using Antlr4.Runtime;
 30using Antlr4.Runtime.Atn;
 31using Antlr4.Runtime.Misc;
 32using DFA = Antlr4.Runtime.Dfa.DFA;
 33
 34[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.9")]
 35[System.CLSCompliant(false)]
 36public partial class NanoCLexer : Lexer {
 37  protected static DFA[] decisionToDFA;
 138  protected static PredictionContextCache sharedContextCache = new PredictionContextCache();
 39  public const int
 40    LET=1, LETF=2, LETS=3, LETU=4, FOLD=5, UNFOLD=6, FUN=7, STRUCT=8, IF=9,
 41    THEN=10, ELSE=11, ANY=12, ASSERT=13, MALLOC=14, INT=15, CHAR=16, VOID=17,
 42    RETURN=18, EMP=19, IN=20, REF=21, AT=22, PLUS=23, MINUS=24, EQUALS=25,
 43    UNEQUAL=26, GREATEREQUAL=27, LESSEQUAL=28, AND=29, OR=30, GREATER=31,
 44    LESS=32, ASSIGN=33, LB=34, RB=35, LBC=36, RBC=37, LBA=38, RBA=39, DEREF=40,
 45    COMMA=41, TARROW=42, TILDE=43, UNDERSCORE=44, COLON=45, SLASH=46, PIPE=47,
 46    ARROW=48, IDENTIFIER=49, INTEGER=50, BLOCKCOMMENT=51, LINECOMMENT=52,
 47    WHITESPACE=53, ERROR=54;
 148  public static string[] channelNames = {
 149    "DEFAULT_TOKEN_CHANNEL", "HIDDEN"
 150  };
 51
 152  public static string[] modeNames = {
 153    "DEFAULT_MODE"
 154  };
 55
 156  public static readonly string[] ruleNames = {
 157    "LET", "LETF", "LETS", "LETU", "FOLD", "UNFOLD", "FUN", "STRUCT", "IF",
 158    "THEN", "ELSE", "ANY", "ASSERT", "MALLOC", "INT", "CHAR", "VOID", "RETURN",
 159    "EMP", "IN", "REF", "AT", "PLUS", "MINUS", "EQUALS", "UNEQUAL", "GREATEREQUAL",
 160    "LESSEQUAL", "AND", "OR", "GREATER", "LESS", "ASSIGN", "LB", "RB", "LBC",
 161    "RBC", "LBA", "RBA", "DEREF", "COMMA", "TARROW", "TILDE", "UNDERSCORE",
 162    "COLON", "SLASH", "PIPE", "ARROW", "IDENTIFIERCHAR", "ALPHA", "DIGIT",
 163    "IDENTIFIER", "INTEGER", "BLOCKCOMMENT", "LINECOMMENT", "WHITESPACE",
 164    "ERROR"
 165  };
 66
 67
 68  public NanoCLexer(ICharStream input)
 069  : this(input, Console.Out, Console.Error) { }
 70
 71  public NanoCLexer(ICharStream input, TextWriter output, TextWriter errorOutput)
 12372  : base(input, output, errorOutput)
 12373  {
 12374    Interpreter = new LexerATNSimulator(this, _ATN, decisionToDFA, sharedContextCache);
 12375  }
 76
 177  private static readonly string[] _LiteralNames = {
 178    null, "'let'", "'letf'", "'lets'", "'letu'", "'fold'", "'unfold'", "'fun'",
 179    "'struct'", "'if'", "'then'", "'else'", "'any'", "'assert'", "'malloc'",
 180    "'int'", "'char'", "'void'", "'return'", "'emp'", "'in'", "'ref'", "'@'",
 181    "'+'", "'-'", "'=='", "'!='", "'>='", "'<='", "'&&'", "'||'", "'>'", "'<'",
 182    "'='", "'('", "')'", "'{'", "'}'", "'['", "']'", "'*'", "','", "'~>'",
 183    "'~'", "'_'", "':'", "'/'", "'|'", "'->'"
 184  };
 185  private static readonly string[] _SymbolicNames = {
 186    null, "LET", "LETF", "LETS", "LETU", "FOLD", "UNFOLD", "FUN", "STRUCT",
 187    "IF", "THEN", "ELSE", "ANY", "ASSERT", "MALLOC", "INT", "CHAR", "VOID",
 188    "RETURN", "EMP", "IN", "REF", "AT", "PLUS", "MINUS", "EQUALS", "UNEQUAL",
 189    "GREATEREQUAL", "LESSEQUAL", "AND", "OR", "GREATER", "LESS", "ASSIGN",
 190    "LB", "RB", "LBC", "RBC", "LBA", "RBA", "DEREF", "COMMA", "TARROW", "TILDE",
 191    "UNDERSCORE", "COLON", "SLASH", "PIPE", "ARROW", "IDENTIFIER", "INTEGER",
 192    "BLOCKCOMMENT", "LINECOMMENT", "WHITESPACE", "ERROR"
 193  };
 194  public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames);
 95
 96  [NotNull]
 97  public override IVocabulary Vocabulary
 98  {
 99    get
 0100    {
 0101      return DefaultVocabulary;
 0102    }
 103  }
 104
 0105  public override string GrammarFileName { get { return "NanoCLexer.g4"; } }
 106
 0107  public override string[] RuleNames { get { return ruleNames; } }
 108
 0109  public override string[] ChannelNames { get { return channelNames; } }
 110
 0111  public override string[] ModeNames { get { return modeNames; } }
 112
 0113  public override string SerializedAtn { get { return new string(_serializedATN); } }
 114
 1115  static NanoCLexer() {
 1116    decisionToDFA = new DFA[_ATN.NumberOfDecisions];
 23117    for (int i = 0; i < _ATN.NumberOfDecisions; i++) {
 7118      decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i);
 7119    }
 1120  }
 1121  private static char[] _serializedATN = {
 1122    '\x3', '\x608B', '\xA72A', '\x8133', '\xB9ED', '\x417C', '\x3BE7', '\x7786',
 1123    '\x5964', '\x2', '\x38', '\x153', '\b', '\x1', '\x4', '\x2', '\t', '\x2',
 1124    '\x4', '\x3', '\t', '\x3', '\x4', '\x4', '\t', '\x4', '\x4', '\x5', '\t',
 1125    '\x5', '\x4', '\x6', '\t', '\x6', '\x4', '\a', '\t', '\a', '\x4', '\b',
 1126    '\t', '\b', '\x4', '\t', '\t', '\t', '\x4', '\n', '\t', '\n', '\x4', '\v',
 1127    '\t', '\v', '\x4', '\f', '\t', '\f', '\x4', '\r', '\t', '\r', '\x4', '\xE',
 1128    '\t', '\xE', '\x4', '\xF', '\t', '\xF', '\x4', '\x10', '\t', '\x10', '\x4',
 1129    '\x11', '\t', '\x11', '\x4', '\x12', '\t', '\x12', '\x4', '\x13', '\t',
 1130    '\x13', '\x4', '\x14', '\t', '\x14', '\x4', '\x15', '\t', '\x15', '\x4',
 1131    '\x16', '\t', '\x16', '\x4', '\x17', '\t', '\x17', '\x4', '\x18', '\t',
 1132    '\x18', '\x4', '\x19', '\t', '\x19', '\x4', '\x1A', '\t', '\x1A', '\x4',
 1133    '\x1B', '\t', '\x1B', '\x4', '\x1C', '\t', '\x1C', '\x4', '\x1D', '\t',
 1134    '\x1D', '\x4', '\x1E', '\t', '\x1E', '\x4', '\x1F', '\t', '\x1F', '\x4',
 1135    ' ', '\t', ' ', '\x4', '!', '\t', '!', '\x4', '\"', '\t', '\"', '\x4',
 1136    '#', '\t', '#', '\x4', '$', '\t', '$', '\x4', '%', '\t', '%', '\x4', '&',
 1137    '\t', '&', '\x4', '\'', '\t', '\'', '\x4', '(', '\t', '(', '\x4', ')',
 1138    '\t', ')', '\x4', '*', '\t', '*', '\x4', '+', '\t', '+', '\x4', ',', '\t',
 1139    ',', '\x4', '-', '\t', '-', '\x4', '.', '\t', '.', '\x4', '/', '\t', '/',
 1140    '\x4', '\x30', '\t', '\x30', '\x4', '\x31', '\t', '\x31', '\x4', '\x32',
 1141    '\t', '\x32', '\x4', '\x33', '\t', '\x33', '\x4', '\x34', '\t', '\x34',
 1142    '\x4', '\x35', '\t', '\x35', '\x4', '\x36', '\t', '\x36', '\x4', '\x37',
 1143    '\t', '\x37', '\x4', '\x38', '\t', '\x38', '\x4', '\x39', '\t', '\x39',
 1144    '\x4', ':', '\t', ':', '\x3', '\x2', '\x3', '\x2', '\x3', '\x2', '\x3',
 1145    '\x2', '\x3', '\x3', '\x3', '\x3', '\x3', '\x3', '\x3', '\x3', '\x3',
 1146    '\x3', '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', '\x3',
 1147    '\x4', '\x3', '\x5', '\x3', '\x5', '\x3', '\x5', '\x3', '\x5', '\x3',
 1148    '\x5', '\x3', '\x6', '\x3', '\x6', '\x3', '\x6', '\x3', '\x6', '\x3',
 1149    '\x6', '\x3', '\a', '\x3', '\a', '\x3', '\a', '\x3', '\a', '\x3', '\a',
 1150    '\x3', '\a', '\x3', '\a', '\x3', '\b', '\x3', '\b', '\x3', '\b', '\x3',
 1151    '\b', '\x3', '\t', '\x3', '\t', '\x3', '\t', '\x3', '\t', '\x3', '\t',
 1152    '\x3', '\t', '\x3', '\t', '\x3', '\n', '\x3', '\n', '\x3', '\n', '\x3',
 1153    '\v', '\x3', '\v', '\x3', '\v', '\x3', '\v', '\x3', '\v', '\x3', '\f',
 1154    '\x3', '\f', '\x3', '\f', '\x3', '\f', '\x3', '\f', '\x3', '\r', '\x3',
 1155    '\r', '\x3', '\r', '\x3', '\r', '\x3', '\xE', '\x3', '\xE', '\x3', '\xE',
 1156    '\x3', '\xE', '\x3', '\xE', '\x3', '\xE', '\x3', '\xE', '\x3', '\xF',
 1157    '\x3', '\xF', '\x3', '\xF', '\x3', '\xF', '\x3', '\xF', '\x3', '\xF',
 1158    '\x3', '\xF', '\x3', '\x10', '\x3', '\x10', '\x3', '\x10', '\x3', '\x10',
 1159    '\x3', '\x11', '\x3', '\x11', '\x3', '\x11', '\x3', '\x11', '\x3', '\x11',
 1160    '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12',
 1161    '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13',
 1162    '\x3', '\x13', '\x3', '\x13', '\x3', '\x14', '\x3', '\x14', '\x3', '\x14',
 1163    '\x3', '\x14', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x16',
 1164    '\x3', '\x16', '\x3', '\x16', '\x3', '\x16', '\x3', '\x17', '\x3', '\x17',
 1165    '\x3', '\x18', '\x3', '\x18', '\x3', '\x19', '\x3', '\x19', '\x3', '\x1A',
 1166    '\x3', '\x1A', '\x3', '\x1A', '\x3', '\x1B', '\x3', '\x1B', '\x3', '\x1B',
 1167    '\x3', '\x1C', '\x3', '\x1C', '\x3', '\x1C', '\x3', '\x1D', '\x3', '\x1D',
 1168    '\x3', '\x1D', '\x3', '\x1E', '\x3', '\x1E', '\x3', '\x1E', '\x3', '\x1F',
 1169    '\x3', '\x1F', '\x3', '\x1F', '\x3', ' ', '\x3', ' ', '\x3', '!', '\x3',
 1170    '!', '\x3', '\"', '\x3', '\"', '\x3', '#', '\x3', '#', '\x3', '$', '\x3',
 1171    '$', '\x3', '%', '\x3', '%', '\x3', '&', '\x3', '&', '\x3', '\'', '\x3',
 1172    '\'', '\x3', '(', '\x3', '(', '\x3', ')', '\x3', ')', '\x3', '*', '\x3',
 1173    '*', '\x3', '+', '\x3', '+', '\x3', '+', '\x3', ',', '\x3', ',', '\x3',
 1174    '-', '\x3', '-', '\x3', '.', '\x3', '.', '\x3', '/', '\x3', '/', '\x3',
 1175    '\x30', '\x3', '\x30', '\x3', '\x31', '\x3', '\x31', '\x3', '\x31', '\x3',
 1176    '\x32', '\x3', '\x32', '\x3', '\x33', '\x3', '\x33', '\x3', '\x34', '\x3',
 1177    '\x34', '\x3', '\x35', '\x3', '\x35', '\a', '\x35', '\x125', '\n', '\x35',
 1178    '\f', '\x35', '\xE', '\x35', '\x128', '\v', '\x35', '\x3', '\x36', '\x5',
 1179    '\x36', '\x12B', '\n', '\x36', '\x3', '\x36', '\x6', '\x36', '\x12E',
 1180    '\n', '\x36', '\r', '\x36', '\xE', '\x36', '\x12F', '\x3', '\x37', '\x3',
 1181    '\x37', '\x3', '\x37', '\x3', '\x37', '\a', '\x37', '\x136', '\n', '\x37',
 1182    '\f', '\x37', '\xE', '\x37', '\x139', '\v', '\x37', '\x3', '\x37', '\x3',
 1183    '\x37', '\x3', '\x37', '\x3', '\x37', '\x3', '\x37', '\x3', '\x38', '\x3',
 1184    '\x38', '\x3', '\x38', '\x3', '\x38', '\a', '\x38', '\x144', '\n', '\x38',
 1185    '\f', '\x38', '\xE', '\x38', '\x147', '\v', '\x38', '\x3', '\x38', '\x3',
 1186    '\x38', '\x3', '\x39', '\x6', '\x39', '\x14C', '\n', '\x39', '\r', '\x39',
 1187    '\xE', '\x39', '\x14D', '\x3', '\x39', '\x3', '\x39', '\x3', ':', '\x3',
 1188    ':', '\x3', '\x137', '\x2', ';', '\x3', '\x3', '\x5', '\x4', '\a', '\x5',
 1189    '\t', '\x6', '\v', '\a', '\r', '\b', '\xF', '\t', '\x11', '\n', '\x13',
 1190    '\v', '\x15', '\f', '\x17', '\r', '\x19', '\xE', '\x1B', '\xF', '\x1D',
 1191    '\x10', '\x1F', '\x11', '!', '\x12', '#', '\x13', '%', '\x14', '\'', '\x15',
 1192    ')', '\x16', '+', '\x17', '-', '\x18', '/', '\x19', '\x31', '\x1A', '\x33',
 1193    '\x1B', '\x35', '\x1C', '\x37', '\x1D', '\x39', '\x1E', ';', '\x1F', '=',
 1194    ' ', '?', '!', '\x41', '\"', '\x43', '#', '\x45', '$', 'G', '%', 'I',
 1195    '&', 'K', '\'', 'M', '(', 'O', ')', 'Q', '*', 'S', '+', 'U', ',', 'W',
 1196    '-', 'Y', '.', '[', '/', ']', '\x30', '_', '\x31', '\x61', '\x32', '\x63',
 1197    '\x2', '\x65', '\x2', 'g', '\x2', 'i', '\x33', 'k', '\x34', 'm', '\x35',
 1198    'o', '\x36', 'q', '\x37', 's', '\x38', '\x3', '\x2', '\a', '\x6', '\x2',
 1199    '\x32', ';', '\x43', '\\', '\x61', '\x61', '\x63', '|', '\x4', '\x2',
 1200    '\x43', '\\', '\x63', '|', '\x3', '\x2', '\x32', ';', '\x4', '\x2', '\f',
 1201    '\f', '\xF', '\xF', '\x5', '\x2', '\v', '\f', '\xF', '\xF', '\"', '\"',
 1202    '\x2', '\x155', '\x2', '\x3', '\x3', '\x2', '\x2', '\x2', '\x2', '\x5',
 1203    '\x3', '\x2', '\x2', '\x2', '\x2', '\a', '\x3', '\x2', '\x2', '\x2', '\x2',
 1204    '\t', '\x3', '\x2', '\x2', '\x2', '\x2', '\v', '\x3', '\x2', '\x2', '\x2',
 1205    '\x2', '\r', '\x3', '\x2', '\x2', '\x2', '\x2', '\xF', '\x3', '\x2', '\x2',
 1206    '\x2', '\x2', '\x11', '\x3', '\x2', '\x2', '\x2', '\x2', '\x13', '\x3',
 1207    '\x2', '\x2', '\x2', '\x2', '\x15', '\x3', '\x2', '\x2', '\x2', '\x2',
 1208    '\x17', '\x3', '\x2', '\x2', '\x2', '\x2', '\x19', '\x3', '\x2', '\x2',
 1209    '\x2', '\x2', '\x1B', '\x3', '\x2', '\x2', '\x2', '\x2', '\x1D', '\x3',
 1210    '\x2', '\x2', '\x2', '\x2', '\x1F', '\x3', '\x2', '\x2', '\x2', '\x2',
 1211    '!', '\x3', '\x2', '\x2', '\x2', '\x2', '#', '\x3', '\x2', '\x2', '\x2',
 1212    '\x2', '%', '\x3', '\x2', '\x2', '\x2', '\x2', '\'', '\x3', '\x2', '\x2',
 1213    '\x2', '\x2', ')', '\x3', '\x2', '\x2', '\x2', '\x2', '+', '\x3', '\x2',
 1214    '\x2', '\x2', '\x2', '-', '\x3', '\x2', '\x2', '\x2', '\x2', '/', '\x3',
 1215    '\x2', '\x2', '\x2', '\x2', '\x31', '\x3', '\x2', '\x2', '\x2', '\x2',
 1216    '\x33', '\x3', '\x2', '\x2', '\x2', '\x2', '\x35', '\x3', '\x2', '\x2',
 1217    '\x2', '\x2', '\x37', '\x3', '\x2', '\x2', '\x2', '\x2', '\x39', '\x3',
 1218    '\x2', '\x2', '\x2', '\x2', ';', '\x3', '\x2', '\x2', '\x2', '\x2', '=',
 1219    '\x3', '\x2', '\x2', '\x2', '\x2', '?', '\x3', '\x2', '\x2', '\x2', '\x2',
 1220    '\x41', '\x3', '\x2', '\x2', '\x2', '\x2', '\x43', '\x3', '\x2', '\x2',
 1221    '\x2', '\x2', '\x45', '\x3', '\x2', '\x2', '\x2', '\x2', 'G', '\x3', '\x2',
 1222    '\x2', '\x2', '\x2', 'I', '\x3', '\x2', '\x2', '\x2', '\x2', 'K', '\x3',
 1223    '\x2', '\x2', '\x2', '\x2', 'M', '\x3', '\x2', '\x2', '\x2', '\x2', 'O',
 1224    '\x3', '\x2', '\x2', '\x2', '\x2', 'Q', '\x3', '\x2', '\x2', '\x2', '\x2',
 1225    'S', '\x3', '\x2', '\x2', '\x2', '\x2', 'U', '\x3', '\x2', '\x2', '\x2',
 1226    '\x2', 'W', '\x3', '\x2', '\x2', '\x2', '\x2', 'Y', '\x3', '\x2', '\x2',
 1227    '\x2', '\x2', '[', '\x3', '\x2', '\x2', '\x2', '\x2', ']', '\x3', '\x2',
 1228    '\x2', '\x2', '\x2', '_', '\x3', '\x2', '\x2', '\x2', '\x2', '\x61', '\x3',
 1229    '\x2', '\x2', '\x2', '\x2', 'i', '\x3', '\x2', '\x2', '\x2', '\x2', 'k',
 1230    '\x3', '\x2', '\x2', '\x2', '\x2', 'm', '\x3', '\x2', '\x2', '\x2', '\x2',
 1231    'o', '\x3', '\x2', '\x2', '\x2', '\x2', 'q', '\x3', '\x2', '\x2', '\x2',
 1232    '\x2', 's', '\x3', '\x2', '\x2', '\x2', '\x3', 'u', '\x3', '\x2', '\x2',
 1233    '\x2', '\x5', 'y', '\x3', '\x2', '\x2', '\x2', '\a', '~', '\x3', '\x2',
 1234    '\x2', '\x2', '\t', '\x83', '\x3', '\x2', '\x2', '\x2', '\v', '\x88',
 1235    '\x3', '\x2', '\x2', '\x2', '\r', '\x8D', '\x3', '\x2', '\x2', '\x2',
 1236    '\xF', '\x94', '\x3', '\x2', '\x2', '\x2', '\x11', '\x98', '\x3', '\x2',
 1237    '\x2', '\x2', '\x13', '\x9F', '\x3', '\x2', '\x2', '\x2', '\x15', '\xA2',
 1238    '\x3', '\x2', '\x2', '\x2', '\x17', '\xA7', '\x3', '\x2', '\x2', '\x2',
 1239    '\x19', '\xAC', '\x3', '\x2', '\x2', '\x2', '\x1B', '\xB0', '\x3', '\x2',
 1240    '\x2', '\x2', '\x1D', '\xB7', '\x3', '\x2', '\x2', '\x2', '\x1F', '\xBE',
 1241    '\x3', '\x2', '\x2', '\x2', '!', '\xC2', '\x3', '\x2', '\x2', '\x2', '#',
 1242    '\xC7', '\x3', '\x2', '\x2', '\x2', '%', '\xCC', '\x3', '\x2', '\x2',
 1243    '\x2', '\'', '\xD3', '\x3', '\x2', '\x2', '\x2', ')', '\xD7', '\x3', '\x2',
 1244    '\x2', '\x2', '+', '\xDA', '\x3', '\x2', '\x2', '\x2', '-', '\xDE', '\x3',
 1245    '\x2', '\x2', '\x2', '/', '\xE0', '\x3', '\x2', '\x2', '\x2', '\x31',
 1246    '\xE2', '\x3', '\x2', '\x2', '\x2', '\x33', '\xE4', '\x3', '\x2', '\x2',
 1247    '\x2', '\x35', '\xE7', '\x3', '\x2', '\x2', '\x2', '\x37', '\xEA', '\x3',
 1248    '\x2', '\x2', '\x2', '\x39', '\xED', '\x3', '\x2', '\x2', '\x2', ';',
 1249    '\xF0', '\x3', '\x2', '\x2', '\x2', '=', '\xF3', '\x3', '\x2', '\x2',
 1250    '\x2', '?', '\xF6', '\x3', '\x2', '\x2', '\x2', '\x41', '\xF8', '\x3',
 1251    '\x2', '\x2', '\x2', '\x43', '\xFA', '\x3', '\x2', '\x2', '\x2', '\x45',
 1252    '\xFC', '\x3', '\x2', '\x2', '\x2', 'G', '\xFE', '\x3', '\x2', '\x2',
 1253    '\x2', 'I', '\x100', '\x3', '\x2', '\x2', '\x2', 'K', '\x102', '\x3',
 1254    '\x2', '\x2', '\x2', 'M', '\x104', '\x3', '\x2', '\x2', '\x2', 'O', '\x106',
 1255    '\x3', '\x2', '\x2', '\x2', 'Q', '\x108', '\x3', '\x2', '\x2', '\x2',
 1256    'S', '\x10A', '\x3', '\x2', '\x2', '\x2', 'U', '\x10C', '\x3', '\x2',
 1257    '\x2', '\x2', 'W', '\x10F', '\x3', '\x2', '\x2', '\x2', 'Y', '\x111',
 1258    '\x3', '\x2', '\x2', '\x2', '[', '\x113', '\x3', '\x2', '\x2', '\x2',
 1259    ']', '\x115', '\x3', '\x2', '\x2', '\x2', '_', '\x117', '\x3', '\x2',
 1260    '\x2', '\x2', '\x61', '\x119', '\x3', '\x2', '\x2', '\x2', '\x63', '\x11C',
 1261    '\x3', '\x2', '\x2', '\x2', '\x65', '\x11E', '\x3', '\x2', '\x2', '\x2',
 1262    'g', '\x120', '\x3', '\x2', '\x2', '\x2', 'i', '\x122', '\x3', '\x2',
 1263    '\x2', '\x2', 'k', '\x12A', '\x3', '\x2', '\x2', '\x2', 'm', '\x131',
 1264    '\x3', '\x2', '\x2', '\x2', 'o', '\x13F', '\x3', '\x2', '\x2', '\x2',
 1265    'q', '\x14B', '\x3', '\x2', '\x2', '\x2', 's', '\x151', '\x3', '\x2',
 1266    '\x2', '\x2', 'u', 'v', '\a', 'n', '\x2', '\x2', 'v', 'w', '\a', 'g',
 1267    '\x2', '\x2', 'w', 'x', '\a', 'v', '\x2', '\x2', 'x', '\x4', '\x3', '\x2',
 1268    '\x2', '\x2', 'y', 'z', '\a', 'n', '\x2', '\x2', 'z', '{', '\a', 'g',
 1269    '\x2', '\x2', '{', '|', '\a', 'v', '\x2', '\x2', '|', '}', '\a', 'h',
 1270    '\x2', '\x2', '}', '\x6', '\x3', '\x2', '\x2', '\x2', '~', '\x7F', '\a',
 1271    'n', '\x2', '\x2', '\x7F', '\x80', '\a', 'g', '\x2', '\x2', '\x80', '\x81',
 1272    '\a', 'v', '\x2', '\x2', '\x81', '\x82', '\a', 'u', '\x2', '\x2', '\x82',
 1273    '\b', '\x3', '\x2', '\x2', '\x2', '\x83', '\x84', '\a', 'n', '\x2', '\x2',
 1274    '\x84', '\x85', '\a', 'g', '\x2', '\x2', '\x85', '\x86', '\a', 'v', '\x2',
 1275    '\x2', '\x86', '\x87', '\a', 'w', '\x2', '\x2', '\x87', '\n', '\x3', '\x2',
 1276    '\x2', '\x2', '\x88', '\x89', '\a', 'h', '\x2', '\x2', '\x89', '\x8A',
 1277    '\a', 'q', '\x2', '\x2', '\x8A', '\x8B', '\a', 'n', '\x2', '\x2', '\x8B',
 1278    '\x8C', '\a', '\x66', '\x2', '\x2', '\x8C', '\f', '\x3', '\x2', '\x2',
 1279    '\x2', '\x8D', '\x8E', '\a', 'w', '\x2', '\x2', '\x8E', '\x8F', '\a',
 1280    'p', '\x2', '\x2', '\x8F', '\x90', '\a', 'h', '\x2', '\x2', '\x90', '\x91',
 1281    '\a', 'q', '\x2', '\x2', '\x91', '\x92', '\a', 'n', '\x2', '\x2', '\x92',
 1282    '\x93', '\a', '\x66', '\x2', '\x2', '\x93', '\xE', '\x3', '\x2', '\x2',
 1283    '\x2', '\x94', '\x95', '\a', 'h', '\x2', '\x2', '\x95', '\x96', '\a',
 1284    'w', '\x2', '\x2', '\x96', '\x97', '\a', 'p', '\x2', '\x2', '\x97', '\x10',
 1285    '\x3', '\x2', '\x2', '\x2', '\x98', '\x99', '\a', 'u', '\x2', '\x2', '\x99',
 1286    '\x9A', '\a', 'v', '\x2', '\x2', '\x9A', '\x9B', '\a', 't', '\x2', '\x2',
 1287    '\x9B', '\x9C', '\a', 'w', '\x2', '\x2', '\x9C', '\x9D', '\a', '\x65',
 1288    '\x2', '\x2', '\x9D', '\x9E', '\a', 'v', '\x2', '\x2', '\x9E', '\x12',
 1289    '\x3', '\x2', '\x2', '\x2', '\x9F', '\xA0', '\a', 'k', '\x2', '\x2', '\xA0',
 1290    '\xA1', '\a', 'h', '\x2', '\x2', '\xA1', '\x14', '\x3', '\x2', '\x2',
 1291    '\x2', '\xA2', '\xA3', '\a', 'v', '\x2', '\x2', '\xA3', '\xA4', '\a',
 1292    'j', '\x2', '\x2', '\xA4', '\xA5', '\a', 'g', '\x2', '\x2', '\xA5', '\xA6',
 1293    '\a', 'p', '\x2', '\x2', '\xA6', '\x16', '\x3', '\x2', '\x2', '\x2', '\xA7',
 1294    '\xA8', '\a', 'g', '\x2', '\x2', '\xA8', '\xA9', '\a', 'n', '\x2', '\x2',
 1295    '\xA9', '\xAA', '\a', 'u', '\x2', '\x2', '\xAA', '\xAB', '\a', 'g', '\x2',
 1296    '\x2', '\xAB', '\x18', '\x3', '\x2', '\x2', '\x2', '\xAC', '\xAD', '\a',
 1297    '\x63', '\x2', '\x2', '\xAD', '\xAE', '\a', 'p', '\x2', '\x2', '\xAE',
 1298    '\xAF', '\a', '{', '\x2', '\x2', '\xAF', '\x1A', '\x3', '\x2', '\x2',
 1299    '\x2', '\xB0', '\xB1', '\a', '\x63', '\x2', '\x2', '\xB1', '\xB2', '\a',
 1300    'u', '\x2', '\x2', '\xB2', '\xB3', '\a', 'u', '\x2', '\x2', '\xB3', '\xB4',
 1301    '\a', 'g', '\x2', '\x2', '\xB4', '\xB5', '\a', 't', '\x2', '\x2', '\xB5',
 1302    '\xB6', '\a', 'v', '\x2', '\x2', '\xB6', '\x1C', '\x3', '\x2', '\x2',
 1303    '\x2', '\xB7', '\xB8', '\a', 'o', '\x2', '\x2', '\xB8', '\xB9', '\a',
 1304    '\x63', '\x2', '\x2', '\xB9', '\xBA', '\a', 'n', '\x2', '\x2', '\xBA',
 1305    '\xBB', '\a', 'n', '\x2', '\x2', '\xBB', '\xBC', '\a', 'q', '\x2', '\x2',
 1306    '\xBC', '\xBD', '\a', '\x65', '\x2', '\x2', '\xBD', '\x1E', '\x3', '\x2',
 1307    '\x2', '\x2', '\xBE', '\xBF', '\a', 'k', '\x2', '\x2', '\xBF', '\xC0',
 1308    '\a', 'p', '\x2', '\x2', '\xC0', '\xC1', '\a', 'v', '\x2', '\x2', '\xC1',
 1309    ' ', '\x3', '\x2', '\x2', '\x2', '\xC2', '\xC3', '\a', '\x65', '\x2',
 1310    '\x2', '\xC3', '\xC4', '\a', 'j', '\x2', '\x2', '\xC4', '\xC5', '\a',
 1311    '\x63', '\x2', '\x2', '\xC5', '\xC6', '\a', 't', '\x2', '\x2', '\xC6',
 1312    '\"', '\x3', '\x2', '\x2', '\x2', '\xC7', '\xC8', '\a', 'x', '\x2', '\x2',
 1313    '\xC8', '\xC9', '\a', 'q', '\x2', '\x2', '\xC9', '\xCA', '\a', 'k', '\x2',
 1314    '\x2', '\xCA', '\xCB', '\a', '\x66', '\x2', '\x2', '\xCB', '$', '\x3',
 1315    '\x2', '\x2', '\x2', '\xCC', '\xCD', '\a', 't', '\x2', '\x2', '\xCD',
 1316    '\xCE', '\a', 'g', '\x2', '\x2', '\xCE', '\xCF', '\a', 'v', '\x2', '\x2',
 1317    '\xCF', '\xD0', '\a', 'w', '\x2', '\x2', '\xD0', '\xD1', '\a', 't', '\x2',
 1318    '\x2', '\xD1', '\xD2', '\a', 'p', '\x2', '\x2', '\xD2', '&', '\x3', '\x2',
 1319    '\x2', '\x2', '\xD3', '\xD4', '\a', 'g', '\x2', '\x2', '\xD4', '\xD5',
 1320    '\a', 'o', '\x2', '\x2', '\xD5', '\xD6', '\a', 'r', '\x2', '\x2', '\xD6',
 1321    '(', '\x3', '\x2', '\x2', '\x2', '\xD7', '\xD8', '\a', 'k', '\x2', '\x2',
 1322    '\xD8', '\xD9', '\a', 'p', '\x2', '\x2', '\xD9', '*', '\x3', '\x2', '\x2',
 1323    '\x2', '\xDA', '\xDB', '\a', 't', '\x2', '\x2', '\xDB', '\xDC', '\a',
 1324    'g', '\x2', '\x2', '\xDC', '\xDD', '\a', 'h', '\x2', '\x2', '\xDD', ',',
 1325    '\x3', '\x2', '\x2', '\x2', '\xDE', '\xDF', '\a', '\x42', '\x2', '\x2',
 1326    '\xDF', '.', '\x3', '\x2', '\x2', '\x2', '\xE0', '\xE1', '\a', '-', '\x2',
 1327    '\x2', '\xE1', '\x30', '\x3', '\x2', '\x2', '\x2', '\xE2', '\xE3', '\a',
 1328    '/', '\x2', '\x2', '\xE3', '\x32', '\x3', '\x2', '\x2', '\x2', '\xE4',
 1329    '\xE5', '\a', '?', '\x2', '\x2', '\xE5', '\xE6', '\a', '?', '\x2', '\x2',
 1330    '\xE6', '\x34', '\x3', '\x2', '\x2', '\x2', '\xE7', '\xE8', '\a', '#',
 1331    '\x2', '\x2', '\xE8', '\xE9', '\a', '?', '\x2', '\x2', '\xE9', '\x36',
 1332    '\x3', '\x2', '\x2', '\x2', '\xEA', '\xEB', '\a', '@', '\x2', '\x2', '\xEB',
 1333    '\xEC', '\a', '?', '\x2', '\x2', '\xEC', '\x38', '\x3', '\x2', '\x2',
 1334    '\x2', '\xED', '\xEE', '\a', '>', '\x2', '\x2', '\xEE', '\xEF', '\a',
 1335    '?', '\x2', '\x2', '\xEF', ':', '\x3', '\x2', '\x2', '\x2', '\xF0', '\xF1',
 1336    '\a', '(', '\x2', '\x2', '\xF1', '\xF2', '\a', '(', '\x2', '\x2', '\xF2',
 1337    '<', '\x3', '\x2', '\x2', '\x2', '\xF3', '\xF4', '\a', '~', '\x2', '\x2',
 1338    '\xF4', '\xF5', '\a', '~', '\x2', '\x2', '\xF5', '>', '\x3', '\x2', '\x2',
 1339    '\x2', '\xF6', '\xF7', '\a', '@', '\x2', '\x2', '\xF7', '@', '\x3', '\x2',
 1340    '\x2', '\x2', '\xF8', '\xF9', '\a', '>', '\x2', '\x2', '\xF9', '\x42',
 1341    '\x3', '\x2', '\x2', '\x2', '\xFA', '\xFB', '\a', '?', '\x2', '\x2', '\xFB',
 1342    '\x44', '\x3', '\x2', '\x2', '\x2', '\xFC', '\xFD', '\a', '*', '\x2',
 1343    '\x2', '\xFD', '\x46', '\x3', '\x2', '\x2', '\x2', '\xFE', '\xFF', '\a',
 1344    '+', '\x2', '\x2', '\xFF', 'H', '\x3', '\x2', '\x2', '\x2', '\x100', '\x101',
 1345    '\a', '}', '\x2', '\x2', '\x101', 'J', '\x3', '\x2', '\x2', '\x2', '\x102',
 1346    '\x103', '\a', '\x7F', '\x2', '\x2', '\x103', 'L', '\x3', '\x2', '\x2',
 1347    '\x2', '\x104', '\x105', '\a', ']', '\x2', '\x2', '\x105', 'N', '\x3',
 1348    '\x2', '\x2', '\x2', '\x106', '\x107', '\a', '_', '\x2', '\x2', '\x107',
 1349    'P', '\x3', '\x2', '\x2', '\x2', '\x108', '\x109', '\a', ',', '\x2', '\x2',
 1350    '\x109', 'R', '\x3', '\x2', '\x2', '\x2', '\x10A', '\x10B', '\a', '.',
 1351    '\x2', '\x2', '\x10B', 'T', '\x3', '\x2', '\x2', '\x2', '\x10C', '\x10D',
 1352    '\a', '\x80', '\x2', '\x2', '\x10D', '\x10E', '\a', '@', '\x2', '\x2',
 1353    '\x10E', 'V', '\x3', '\x2', '\x2', '\x2', '\x10F', '\x110', '\a', '\x80',
 1354    '\x2', '\x2', '\x110', 'X', '\x3', '\x2', '\x2', '\x2', '\x111', '\x112',
 1355    '\a', '\x61', '\x2', '\x2', '\x112', 'Z', '\x3', '\x2', '\x2', '\x2',
 1356    '\x113', '\x114', '\a', '<', '\x2', '\x2', '\x114', '\\', '\x3', '\x2',
 1357    '\x2', '\x2', '\x115', '\x116', '\a', '\x31', '\x2', '\x2', '\x116', '^',
 1358    '\x3', '\x2', '\x2', '\x2', '\x117', '\x118', '\a', '~', '\x2', '\x2',
 1359    '\x118', '`', '\x3', '\x2', '\x2', '\x2', '\x119', '\x11A', '\a', '/',
 1360    '\x2', '\x2', '\x11A', '\x11B', '\a', '@', '\x2', '\x2', '\x11B', '\x62',
 1361    '\x3', '\x2', '\x2', '\x2', '\x11C', '\x11D', '\t', '\x2', '\x2', '\x2',
 1362    '\x11D', '\x64', '\x3', '\x2', '\x2', '\x2', '\x11E', '\x11F', '\t', '\x3',
 1363    '\x2', '\x2', '\x11F', '\x66', '\x3', '\x2', '\x2', '\x2', '\x120', '\x121',
 1364    '\t', '\x4', '\x2', '\x2', '\x121', 'h', '\x3', '\x2', '\x2', '\x2', '\x122',
 1365    '\x126', '\x5', '\x65', '\x33', '\x2', '\x123', '\x125', '\x5', '\x63',
 1366    '\x32', '\x2', '\x124', '\x123', '\x3', '\x2', '\x2', '\x2', '\x125',
 1367    '\x128', '\x3', '\x2', '\x2', '\x2', '\x126', '\x124', '\x3', '\x2', '\x2',
 1368    '\x2', '\x126', '\x127', '\x3', '\x2', '\x2', '\x2', '\x127', 'j', '\x3',
 1369    '\x2', '\x2', '\x2', '\x128', '\x126', '\x3', '\x2', '\x2', '\x2', '\x129',
 1370    '\x12B', '\x5', '\x31', '\x19', '\x2', '\x12A', '\x129', '\x3', '\x2',
 1371    '\x2', '\x2', '\x12A', '\x12B', '\x3', '\x2', '\x2', '\x2', '\x12B', '\x12D',
 1372    '\x3', '\x2', '\x2', '\x2', '\x12C', '\x12E', '\x5', 'g', '\x34', '\x2',
 1373    '\x12D', '\x12C', '\x3', '\x2', '\x2', '\x2', '\x12E', '\x12F', '\x3',
 1374    '\x2', '\x2', '\x2', '\x12F', '\x12D', '\x3', '\x2', '\x2', '\x2', '\x12F',
 1375    '\x130', '\x3', '\x2', '\x2', '\x2', '\x130', 'l', '\x3', '\x2', '\x2',
 1376    '\x2', '\x131', '\x132', '\a', '\x31', '\x2', '\x2', '\x132', '\x133',
 1377    '\a', ',', '\x2', '\x2', '\x133', '\x137', '\x3', '\x2', '\x2', '\x2',
 1378    '\x134', '\x136', '\v', '\x2', '\x2', '\x2', '\x135', '\x134', '\x3',
 1379    '\x2', '\x2', '\x2', '\x136', '\x139', '\x3', '\x2', '\x2', '\x2', '\x137',
 1380    '\x138', '\x3', '\x2', '\x2', '\x2', '\x137', '\x135', '\x3', '\x2', '\x2',
 1381    '\x2', '\x138', '\x13A', '\x3', '\x2', '\x2', '\x2', '\x139', '\x137',
 1382    '\x3', '\x2', '\x2', '\x2', '\x13A', '\x13B', '\a', ',', '\x2', '\x2',
 1383    '\x13B', '\x13C', '\a', '\x31', '\x2', '\x2', '\x13C', '\x13D', '\x3',
 1384    '\x2', '\x2', '\x2', '\x13D', '\x13E', '\b', '\x37', '\x2', '\x2', '\x13E',
 1385    'n', '\x3', '\x2', '\x2', '\x2', '\x13F', '\x140', '\a', '\x31', '\x2',
 1386    '\x2', '\x140', '\x141', '\a', '\x31', '\x2', '\x2', '\x141', '\x145',
 1387    '\x3', '\x2', '\x2', '\x2', '\x142', '\x144', '\n', '\x5', '\x2', '\x2',
 1388    '\x143', '\x142', '\x3', '\x2', '\x2', '\x2', '\x144', '\x147', '\x3',
 1389    '\x2', '\x2', '\x2', '\x145', '\x143', '\x3', '\x2', '\x2', '\x2', '\x145',
 1390    '\x146', '\x3', '\x2', '\x2', '\x2', '\x146', '\x148', '\x3', '\x2', '\x2',
 1391    '\x2', '\x147', '\x145', '\x3', '\x2', '\x2', '\x2', '\x148', '\x149',
 1392    '\b', '\x38', '\x2', '\x2', '\x149', 'p', '\x3', '\x2', '\x2', '\x2',
 1393    '\x14A', '\x14C', '\t', '\x6', '\x2', '\x2', '\x14B', '\x14A', '\x3',
 1394    '\x2', '\x2', '\x2', '\x14C', '\x14D', '\x3', '\x2', '\x2', '\x2', '\x14D',
 1395    '\x14B', '\x3', '\x2', '\x2', '\x2', '\x14D', '\x14E', '\x3', '\x2', '\x2',
 1396    '\x2', '\x14E', '\x14F', '\x3', '\x2', '\x2', '\x2', '\x14F', '\x150',
 1397    '\b', '\x39', '\x2', '\x2', '\x150', 'r', '\x3', '\x2', '\x2', '\x2',
 1398    '\x151', '\x152', '\v', '\x2', '\x2', '\x2', '\x152', 't', '\x3', '\x2',
 1399    '\x2', '\x2', '\t', '\x2', '\x126', '\x12A', '\x12F', '\x137', '\x145',
 1400    '\x14D', '\x3', '\b', '\x2', '\x2',
 1401  };
 402
 1403  public static readonly ATN _ATN =
 1404    new ATNDeserializer().Deserialize(_serializedATN);
 405
 406
 407}
 408} // namespace NanoCLang