
// Generated from tsql.g4 by ANTLR 4.9.2

#pragma once


#include "antlr4-runtime.h"




class  tsqlLexer : public antlr4::Lexer {
public:
  enum {
    ADD = 1, ALL = 2, ALTER = 3, AND = 4, ANY = 5, AS = 6, ASC = 7, AUTHORIZATION = 8, 
    BACKUP = 9, BEGIN = 10, BETWEEN = 11, BREAK = 12, BROWSE = 13, BULK = 14, 
    BY = 15, CALLED = 16, CASCADE = 17, CASE = 18, CHANGETABLE = 19, CHANGES = 20, 
    CHECK = 21, CHECKPOINT = 22, CLOSE = 23, CLUSTERED = 24, COALESCE = 25, 
    COLLATE = 26, COLUMN = 27, COMMIT = 28, COMPUTE = 29, CONSTRAINT = 30, 
    CONTAINMENT = 31, CONTAINS = 32, CONTAINSTABLE = 33, CONTINUE = 34, 
    CONVERT = 35, CREATE = 36, CROSS = 37, CURRENT = 38, CURRENT_DATE = 39, 
    CURRENT_TIME = 40, CURRENT_TIMESTAMP = 41, CURRENT_USER = 42, CURSOR = 43, 
    DATABASE = 44, DBCC = 45, DEALLOCATE = 46, DECLARE = 47, DEFAULT = 48, 
    DELETE = 49, DENY = 50, DESC = 51, DISK = 52, DISTINCT = 53, DISTRIBUTED = 54, 
    DOUBLE = 55, DROP = 56, DUMP = 57, ELSE = 58, END = 59, ERRLVL = 60, 
    ESCAPE = 61, EXCEPT = 62, EXECUTE = 63, EXISTS = 64, EXIT = 65, EXP = 66, 
    EXTERNAL = 67, FETCH = 68, FILE = 69, FILENAME = 70, FILLFACTOR = 71, 
    FOR = 72, FORCESEEK = 73, FOREIGN = 74, FREETEXT = 75, FREETEXTTABLE = 76, 
    FROM = 77, FULL = 78, FUNCTION = 79, GOTO = 80, GRANT = 81, GROUP = 82, 
    HAVING = 83, IDENTITY = 84, IDENTITYCOL = 85, IDENTITY_INSERT = 86, 
    IIF = 87, IF = 88, IN = 89, INDEX = 90, INCLUDE = 91, INNER = 92, INSERT = 93, 
    INTERSECT = 94, INTO = 95, IS = 96, JOIN = 97, KEY = 98, KILL = 99, 
    LEFT = 100, LIKE = 101, LINENO = 102, LOAD = 103, LOG = 104, LOG10 = 105, 
    MERGE = 106, NATIONAL = 107, NEXT = 108, NOCHECK = 109, NONCLUSTERED = 110, 
    NONE = 111, NOT = 112, NULL_ = 113, NULLIF = 114, NUMERIC = 115, OF = 116, 
    OFF = 117, OFFSETS = 118, ON = 119, OPEN = 120, OPENDATASOURCE = 121, 
    OPENQUERY = 122, OPENROWSET = 123, OPENXML = 124, OPTION = 125, OR = 126, 
    ORDER = 127, OUTER = 128, OVER = 129, PARTIAL = 130, PERCENT = 131, 
    PIVOT = 132, PLAN = 133, PRECISION = 134, PRIMARY = 135, PRINT = 136, 
    PROC = 137, PROCEDURE = 138, PUBLIC = 139, RAISERROR = 140, READ = 141, 
    READTEXT = 142, RECONFIGURE = 143, REFERENCES = 144, REPLICATION = 145, 
    RESTORE = 146, RESTRICT = 147, RETURN = 148, RETURNS = 149, REVERT = 150, 
    REVOKE = 151, RIGHT = 152, ROLLBACK = 153, ROWCOUNT = 154, ROWGUIDCOL = 155, 
    RULE = 156, SAVE = 157, SCHEMA = 158, SECURITYAUDIT = 159, SELECT = 160, 
    SEMANTICKEYPHRASETABLE = 161, SEMANTICSIMILARITYDETAILSTABLE = 162, 
    SEMANTICSIMILARITYTABLE = 163, SESSION_USER = 164, SET = 165, SETUSER = 166, 
    SHUTDOWN = 167, SIGN = 168, SOME = 169, STATISTICS = 170, SYNONYM = 171, 
    SYSTEM = 172, SYSTEM_USER = 173, TABLE = 174, TABLESAMPLE = 175, TEXTSIZE = 176, 
    THEN = 177, TO = 178, TOP = 179, TRAN = 180, TRANSACTION = 181, TRIGGER = 182, 
    TRUNCATE = 183, TRY_CAST = 184, TRY_CONVERT = 185, TRY_PARSE = 186, 
    TSEQUAL = 187, UNION = 188, UNIQUE = 189, UNPIVOT = 190, UPDATE = 191, 
    UPDATETEXT = 192, USE = 193, USER = 194, VALUES = 195, VALUE = 196, 
    VARYING = 197, VIEW = 198, WAITFOR = 199, WHEN = 200, WHERE = 201, WHILE = 202, 
    WITH = 203, WITHIN = 204, WRITETEXT = 205, ABSOLUTE = 206, AFTER = 207, 
    ALLOWED = 208, ALLOW_SNAPSHOT_ISOLATION = 209, ANSI_NULLS = 210, ANSI_NULL_DEFAULT = 211, 
    ANSI_PADDING = 212, ANSI_WARNINGS = 213, APPLY = 214, ARITHABORT = 215, 
    AT = 216, AUTO = 217, AUTO_CLEANUP = 218, AUTO_CLOSE = 219, AUTO_CREATE_STATISTICS = 220, 
    AUTO_SHRINK = 221, AUTO_UPDATE_STATISTICS = 222, AUTO_UPDATE_STATISTICS_ASYNC = 223, 
    AVG = 224, BASE64 = 225, BIGINT = 226, BINARY_CHECKSUM = 227, BULK_LOGGED = 228, 
    CALLER = 229, CAST = 230, CATCH = 231, CEILING = 232, CHANGE_RETENTION = 233, 
    CHANGE_TRACKING = 234, CHECKSUM = 235, CHECKSUM_AGG = 236, COMMITTED = 237, 
    COMPATIBILITY_LEVEL = 238, CONCAT = 239, CONCAT_NULL_YIELDS_NULL = 240, 
    CONTROL = 241, COOKIE = 242, COS = 243, COUNT = 244, COUNT_BIG = 245, 
    CUBE = 246, CURSOR_CLOSE_ON_COMMIT = 247, CURSOR_DEFAULT = 248, DATE = 249, 
    DATEADD = 250, DATEDIFF = 251, DATENAME = 252, DATEPART = 253, DATETIME2 = 254, 
    DATETIMEOFFSETFROMPARTS = 255, DATE_CORRELATION_OPTIMIZATION = 256, 
    DAYS = 257, DB_CHAINING = 258, DEFAULT_FULLTEXT_LANGUAGE = 259, DEFAULT_LANGUAGE = 260, 
    DELAY = 261, DELAYED_DURABILITY = 262, DELETED = 263, DENSE_RANK = 264, 
    DIRECTORY_NAME = 265, DISABLE = 266, DISABLED = 267, DISABLE_BROKER = 268, 
    DYNAMIC = 269, EMERGENCY = 270, ENABLE_BROKER = 271, ENCRYPTION = 272, 
    ERROR_BROKER_CONVERSATIONS = 273, EXIST = 274, EXPAND = 275, FAST = 276, 
    FAST_FORWARD = 277, FILEGROUP = 278, FILEGROWTH = 279, FILESTREAM = 280, 
    FIRST = 281, FIRST_VALUE = 282, FLOOR = 283, FOLLOWING = 284, FORCE = 285, 
    FORCED = 286, FORWARD_ONLY = 287, FULLSCAN = 288, GB = 289, GLOBAL = 290, 
    GO = 291, GROUPING = 292, GROUPING_ID = 293, HADR = 294, HASH = 295, 
    HONOR_BROKER_PRIORITY = 296, HOURS = 297, IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX = 298, 
    IMMEDIATE = 299, IMPERSONATE = 300, INCREMENTAL = 301, INPUT = 302, 
    INT = 303, INSENSITIVE = 304, INSERTED = 305, ISOLATION = 306, IO = 307, 
    KB = 308, KEEP = 309, KEEPFIXED = 310, KEYSET = 311, LAG = 312, LAST = 313, 
    LAST_VALUE = 314, LEAD = 315, LEVEL = 316, LOCAL = 317, LOCK_ESCALATION = 318, 
    LOGIN = 319, LOOP = 320, MARK = 321, MAX = 322, MAXDOP = 323, MAXRECURSION = 324, 
    MAXSIZE = 325, MB = 326, MEMORY_OPTIMIZED_DATA = 327, MIN = 328, MINUTES = 329, 
    MIN_ACTIVE_ROWVERSION = 330, MIXED_PAGE_ALLOCATION = 331, MODIFY = 332, 
    MULTI_USER = 333, NAME = 334, NESTED_TRIGGERS = 335, NEW_BROKER = 336, 
    NOCOUNT = 337, NODES = 338, NOEXPAND = 339, NON_TRANSACTED_ACCESS = 340, 
    NORECOMPUTE = 341, NO_WAIT = 342, NTILE = 343, NUMBER = 344, NUMERIC_ROUNDABORT = 345, 
    OFFLINE = 346, OFFSET = 347, ONLINE = 348, ONLY = 349, OPTIMISTIC = 350, 
    OPTIMIZE = 351, OUT = 352, OUTPUT = 353, OWNER = 354, PAGE_VERIFY = 355, 
    PARAMETERIZATION = 356, PARSE = 357, PARTITION = 358, PATH = 359, PERCENTILE_CONT = 360, 
    POWER = 361, PRECEDING = 362, PRIOR = 363, PRIVILEGES = 364, QUERY = 365, 
    QUOTED_IDENTIFIER = 366, RANGE = 367, RANK = 368, READONLY = 369, READ_COMMITTED_SNAPSHOT = 370, 
    READ_ONLY = 371, READ_WRITE = 372, RECOMPILE = 373, RECOVERY = 374, 
    RECURSIVE_TRIGGERS = 375, RELATIVE = 376, REMOTE = 377, REPEATABLE = 378, 
    RESTRICTED_USER = 379, ROBUST = 380, ROLLUP = 381, ROOT = 382, ROUND = 383, 
    ROW = 384, ROWGUID = 385, ROWS = 386, ROW_NUMBER = 387, SAMPLE = 388, 
    SCHEMABINDING = 389, SCROLL = 390, SCROLL_LOCKS = 391, SECONDS = 392, 
    SELF = 393, SERIALIZABLE = 394, SETS = 395, SHOWPLAN = 396, SIMPLE = 397, 
    SIN = 398, SINGLE_USER = 399, SIZE = 400, SMALLINT = 401, SNAPSHOT = 402, 
    SPATIAL_WINDOW_MAX_CELLS = 403, STATIC = 404, STATS_STREAM = 405, STDEV = 406, 
    STDEVP = 407, STRING_AGG = 408, STRING_SPLIT = 409, SUM = 410, SQRT = 411, 
    SQUARE = 412, TAKE = 413, TAN = 414, TARGET_RECOVERY_TIME = 415, TB = 416, 
    TEXTIMAGE_ON = 417, THROW = 418, TIES = 419, TIME = 420, TINYINT = 421, 
    TORN_PAGE_DETECTION = 422, TRANSFORM_NOISE_WORDS = 423, TRUSTWORTHY = 424, 
    TRY = 425, TWO_DIGIT_YEAR_CUTOFF = 426, TYPE = 427, TYPE_WARNING = 428, 
    UNBOUNDED = 429, UNCOMMITTED = 430, UNKNOWN = 431, UNLIMITED = 432, 
    USING = 433, VAR = 434, VARP = 435, VIEWS = 436, VIEW_METADATA = 437, 
    WORK = 438, XML = 439, XMLNAMESPACES = 440, ZONE = 441, DOLLAR_ACTION = 442, 
    SPACE = 443, COMMENT = 444, LINE_COMMENT = 445, DOUBLE_QUOTE_ID = 446, 
    SQUARE_BRACKET_ID = 447, LOCAL_ID = 448, DECIMAL = 449, ID = 450, STRING = 451, 
    BINARY = 452, FLOAT = 453, REAL = 454, EQUAL = 455, GREATER = 456, LESS = 457, 
    EXCLAMATION = 458, PLUS_ASSIGN = 459, MINUS_ASSIGN = 460, MULT_ASSIGN = 461, 
    DIV_ASSIGN = 462, MOD_ASSIGN = 463, AND_ASSIGN = 464, XOR_ASSIGN = 465, 
    OR_ASSIGN = 466, DOT = 467, UNDERLINE = 468, AT_SIGN = 469, SHARP = 470, 
    DOLLAR = 471, LR_BRACKET = 472, RR_BRACKET = 473, COMMA = 474, SEMI = 475, 
    COLON = 476, STAR = 477, DIVIDE = 478, MODULE = 479, PLUS = 480, MINUS = 481, 
    BIT_NOT = 482, BIT_OR = 483, BIT_AND = 484, BIT_XOR = 485
  };

  explicit tsqlLexer(antlr4::CharStream *input);
  ~tsqlLexer();

  virtual std::string getGrammarFileName() const override;
  virtual const std::vector<std::string>& getRuleNames() const override;

  virtual const std::vector<std::string>& getChannelNames() const override;
  virtual const std::vector<std::string>& getModeNames() const override;
  virtual const std::vector<std::string>& getTokenNames() const override; // deprecated, use vocabulary instead
  virtual antlr4::dfa::Vocabulary& getVocabulary() const override;

  virtual const std::vector<uint16_t> getSerializedATN() const override;
  virtual const antlr4::atn::ATN& getATN() const override;

private:
  static std::vector<antlr4::dfa::DFA> _decisionToDFA;
  static antlr4::atn::PredictionContextCache _sharedContextCache;
  static std::vector<std::string> _ruleNames;
  static std::vector<std::string> _tokenNames;
  static std::vector<std::string> _channelNames;
  static std::vector<std::string> _modeNames;

  static std::vector<std::string> _literalNames;
  static std::vector<std::string> _symbolicNames;
  static antlr4::dfa::Vocabulary _vocabulary;
  static antlr4::atn::ATN _atn;
  static std::vector<uint16_t> _serializedATN;


  // Individual action functions triggered by action() above.

  // Individual semantic predicate functions triggered by sempred() above.

  struct Initializer {
    Initializer();
  };
  static Initializer _init;
};

