// Generated from dt-sql-parser/src/grammar/pgsql/PostgreSQLParser.g4 by ANTLR 4.9.0-SNAPSHOT import { ATN } from "antlr4ts/atn/ATN"; import { ATNDeserializer } from "antlr4ts/atn/ATNDeserializer"; import { FailedPredicateException } from "antlr4ts/FailedPredicateException"; import { NotNull } from "antlr4ts/Decorators"; import { NoViableAltException } from "antlr4ts/NoViableAltException"; import { Override } from "antlr4ts/Decorators"; import { Parser } from "antlr4ts/Parser"; import { ParserRuleContext } from "antlr4ts/ParserRuleContext"; import { ParserATNSimulator } from "antlr4ts/atn/ParserATNSimulator"; import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener"; import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor"; import { RecognitionException } from "antlr4ts/RecognitionException"; import { RuleContext } from "antlr4ts/RuleContext"; //import { RuleVersion } from "antlr4ts/RuleVersion"; import { TerminalNode } from "antlr4ts/tree/TerminalNode"; import { Token } from "antlr4ts/Token"; import { TokenStream } from "antlr4ts/TokenStream"; import { Vocabulary } from "antlr4ts/Vocabulary"; import { VocabularyImpl } from "antlr4ts/VocabularyImpl"; import * as Utils from "antlr4ts/misc/Utils"; import { PostgreSQLParserListener } from "./PostgreSQLParserListener"; import { PostgreSQLParserVisitor } from "./PostgreSQLParserVisitor"; export class PostgreSQLParser extends Parser { public static readonly Dollar = 1; public static readonly OPEN_PAREN = 2; public static readonly CLOSE_PAREN = 3; public static readonly OPEN_BRACKET = 4; public static readonly CLOSE_BRACKET = 5; public static readonly COMMA = 6; public static readonly SEMI = 7; public static readonly COLON = 8; public static readonly STAR = 9; public static readonly EQUAL = 10; public static readonly DOT = 11; public static readonly PLUS = 12; public static readonly MINUS = 13; public static readonly SLASH = 14; public static readonly CARET = 15; public static readonly LT = 16; public static readonly GT = 17; public static readonly LESS_LESS = 18; public static readonly GREATER_GREATER = 19; public static readonly COLON_EQUALS = 20; public static readonly LESS_EQUALS = 21; public static readonly EQUALS_GREATER = 22; public static readonly GREATER_EQUALS = 23; public static readonly DOT_DOT = 24; public static readonly NOT_EQUALS = 25; public static readonly TYPECAST = 26; public static readonly PERCENT = 27; public static readonly PARAM = 28; public static readonly Operator = 29; public static readonly KW_ALL = 30; public static readonly KW_ANALYSE = 31; public static readonly KW_ANALYZE = 32; public static readonly KW_AND = 33; public static readonly KW_ANY = 34; public static readonly KW_ARRAY = 35; public static readonly KW_AS = 36; public static readonly KW_ASC = 37; public static readonly KW_ASYMMETRIC = 38; public static readonly KW_BOTH = 39; public static readonly KW_CASE = 40; public static readonly KW_CAST = 41; public static readonly KW_CHECK = 42; public static readonly KW_COLLATE = 43; public static readonly KW_COLUMN = 44; public static readonly KW_CONSTRAINT = 45; public static readonly KW_CREATE = 46; public static readonly KW_CURRENT_CATALOG = 47; public static readonly KW_CURRENT_DATE = 48; public static readonly KW_CURRENT_ROLE = 49; public static readonly KW_CURRENT_TIME = 50; public static readonly KW_CURRENT_TIMESTAMP = 51; public static readonly KW_CURRENT_USER = 52; public static readonly KW_DEFAULT = 53; public static readonly KW_DEFERRABLE = 54; public static readonly KW_DESC = 55; public static readonly KW_DISTINCT = 56; public static readonly KW_DO = 57; public static readonly KW_ELSE = 58; public static readonly KW_EXCEPT = 59; public static readonly KW_FALSE = 60; public static readonly KW_FETCH = 61; public static readonly KW_FOR = 62; public static readonly KW_FOREIGN = 63; public static readonly KW_FROM = 64; public static readonly KW_GRANT = 65; public static readonly KW_GROUP = 66; public static readonly KW_HAVING = 67; public static readonly KW_IN = 68; public static readonly KW_INITIALLY = 69; public static readonly KW_INTERSECT = 70; public static readonly KW_INTO = 71; public static readonly KW_LATERAL = 72; public static readonly KW_LEADING = 73; public static readonly KW_LIMIT = 74; public static readonly KW_LOCALTIME = 75; public static readonly KW_LOCALTIMESTAMP = 76; public static readonly KW_NOT = 77; public static readonly KW_NULL = 78; public static readonly KW_OFFSET = 79; public static readonly KW_ON = 80; public static readonly KW_ONLY = 81; public static readonly KW_OR = 82; public static readonly KW_ORDER = 83; public static readonly KW_PLACING = 84; public static readonly KW_PRIMARY = 85; public static readonly KW_REFERENCES = 86; public static readonly KW_RETURNING = 87; public static readonly KW_SELECT = 88; public static readonly KW_SESSION_USER = 89; public static readonly KW_SOME = 90; public static readonly KW_SYMMETRIC = 91; public static readonly KW_TABLE = 92; public static readonly KW_THEN = 93; public static readonly KW_TO = 94; public static readonly KW_TRAILING = 95; public static readonly KW_TRUE = 96; public static readonly KW_UNION = 97; public static readonly KW_UNIQUE = 98; public static readonly KW_USER = 99; public static readonly KW_USING = 100; public static readonly KW_VARIADIC = 101; public static readonly KW_WHEN = 102; public static readonly KW_WHERE = 103; public static readonly KW_WINDOW = 104; public static readonly KW_WITH = 105; public static readonly KW_AUTHORIZATION = 106; public static readonly KW_BINARY = 107; public static readonly KW_COLLATION = 108; public static readonly KW_CONCURRENTLY = 109; public static readonly KW_CROSS = 110; public static readonly KW_CURRENT_SCHEMA = 111; public static readonly KW_FREEZE = 112; public static readonly KW_FULL = 113; public static readonly KW_ILIKE = 114; public static readonly KW_INNER = 115; public static readonly KW_IS = 116; public static readonly KW_ISNULL = 117; public static readonly KW_JOIN = 118; public static readonly KW_LEFT = 119; public static readonly KW_LIKE = 120; public static readonly KW_NATURAL = 121; public static readonly KW_NOTNULL = 122; public static readonly KW_OUTER = 123; public static readonly KW_OVER = 124; public static readonly KW_OVERLAPS = 125; public static readonly KW_RIGHT = 126; public static readonly KW_SIMILAR = 127; public static readonly KW_VERBOSE = 128; public static readonly KW_ABORT = 129; public static readonly KW_ABSOLUTE = 130; public static readonly KW_ACCESS = 131; public static readonly KW_ACTION = 132; public static readonly KW_ADD = 133; public static readonly KW_ADMIN = 134; public static readonly KW_AFTER = 135; public static readonly KW_AGGREGATE = 136; public static readonly KW_ALSO = 137; public static readonly KW_ALTER = 138; public static readonly KW_ALWAYS = 139; public static readonly KW_ASSERTION = 140; public static readonly KW_ASSIGNMENT = 141; public static readonly KW_AT = 142; public static readonly KW_ATTRIBUTE = 143; public static readonly KW_BACKWARD = 144; public static readonly KW_BEFORE = 145; public static readonly KW_BEGIN = 146; public static readonly KW_BY = 147; public static readonly KW_CACHE = 148; public static readonly KW_CALLED = 149; public static readonly KW_CASCADE = 150; public static readonly KW_CASCADED = 151; public static readonly KW_CATALOG = 152; public static readonly KW_CHAIN = 153; public static readonly KW_CHARACTERISTICS = 154; public static readonly KW_CHECKPOINT = 155; public static readonly KW_CLASS = 156; public static readonly KW_CLOSE = 157; public static readonly KW_CLUSTER = 158; public static readonly KW_COMMENT = 159; public static readonly KW_COMMENTS = 160; public static readonly KW_COMMIT = 161; public static readonly KW_COMMITTED = 162; public static readonly KW_CONFIGURATION = 163; public static readonly KW_CONNECTION = 164; public static readonly KW_CONSTRAINTS = 165; public static readonly KW_CONTENT = 166; public static readonly KW_CONTINUE = 167; public static readonly KW_CONVERSION = 168; public static readonly KW_COPY = 169; public static readonly KW_COST = 170; public static readonly KW_CSV = 171; public static readonly KW_CURSOR = 172; public static readonly KW_CYCLE = 173; public static readonly KW_DATA = 174; public static readonly KW_DATABASE = 175; public static readonly KW_DAY = 176; public static readonly KW_DEALLOCATE = 177; public static readonly KW_DECLARE = 178; public static readonly KW_DEFAULTS = 179; public static readonly KW_DEFERRED = 180; public static readonly KW_DEFINER = 181; public static readonly KW_DELETE = 182; public static readonly KW_DELIMITER = 183; public static readonly KW_DELIMITERS = 184; public static readonly KW_DICTIONARY = 185; public static readonly KW_DISABLE = 186; public static readonly KW_DISCARD = 187; public static readonly KW_DOCUMENT = 188; public static readonly KW_DOMAIN = 189; public static readonly KW_DOUBLE = 190; public static readonly KW_DROP = 191; public static readonly KW_EACH = 192; public static readonly KW_ENABLE = 193; public static readonly KW_ENCODING = 194; public static readonly KW_ENCRYPTED = 195; public static readonly KW_ENUM = 196; public static readonly KW_ESCAPE = 197; public static readonly KW_EVENT = 198; public static readonly KW_EXCLUDE = 199; public static readonly KW_EXCLUDING = 200; public static readonly KW_EXCLUSIVE = 201; public static readonly KW_EXECUTE = 202; public static readonly KW_EXPLAIN = 203; public static readonly KW_EXTENSION = 204; public static readonly KW_EXTERNAL = 205; public static readonly KW_FAMILY = 206; public static readonly KW_FIRST = 207; public static readonly KW_FOLLOWING = 208; public static readonly KW_FORCE = 209; public static readonly KW_FORWARD = 210; public static readonly KW_FUNCTION = 211; public static readonly KW_FUNCTIONS = 212; public static readonly KW_GLOBAL = 213; public static readonly KW_GRANTED = 214; public static readonly KW_HANDLER = 215; public static readonly KW_HEADER = 216; public static readonly KW_HOLD = 217; public static readonly KW_HOUR = 218; public static readonly KW_IDENTITY = 219; public static readonly KW_IF = 220; public static readonly KW_IMMEDIATE = 221; public static readonly KW_IMMUTABLE = 222; public static readonly KW_IMPLICIT = 223; public static readonly KW_INCLUDING = 224; public static readonly KW_INCREMENT = 225; public static readonly KW_INDEX = 226; public static readonly KW_INDEXES = 227; public static readonly KW_INHERIT = 228; public static readonly KW_NOINHERIT = 229; public static readonly KW_SUPERUSER = 230; public static readonly KW_NOSUPERUSER = 231; public static readonly KW_CREATEDB = 232; public static readonly KW_NOCREATEDB = 233; public static readonly KW_CREATEROLE = 234; public static readonly KW_NOCREATEROLE = 235; public static readonly KW_CREATEUSER = 236; public static readonly KW_NOCREATEUSER = 237; public static readonly KW_INHERITS = 238; public static readonly KW_INLINE = 239; public static readonly KW_INSENSITIVE = 240; public static readonly KW_INSERT = 241; public static readonly KW_INSTEAD = 242; public static readonly KW_INVOKER = 243; public static readonly KW_ISOLATION = 244; public static readonly KW_KEY = 245; public static readonly KW_LABEL = 246; public static readonly KW_LANGUAGE = 247; public static readonly KW_LARGE = 248; public static readonly KW_LAST = 249; public static readonly KW_LEAKPROOF = 250; public static readonly KW_LEVEL = 251; public static readonly KW_LISTEN = 252; public static readonly KW_LOAD = 253; public static readonly KW_LOCAL = 254; public static readonly KW_LOCATION = 255; public static readonly KW_LOCK = 256; public static readonly KW_MAPPING = 257; public static readonly KW_MATCH = 258; public static readonly KW_MATERIALIZED = 259; public static readonly KW_MAXVALUE = 260; public static readonly KW_MINUTE = 261; public static readonly KW_MINVALUE = 262; public static readonly KW_MODE = 263; public static readonly KW_MONTH = 264; public static readonly KW_MOVE = 265; public static readonly KW_NAME = 266; public static readonly KW_NAMES = 267; public static readonly KW_NEXT = 268; public static readonly KW_NO = 269; public static readonly KW_NOTHING = 270; public static readonly KW_NOTIFY = 271; public static readonly KW_NOWAIT = 272; public static readonly KW_NULLS = 273; public static readonly KW_OBJECT = 274; public static readonly KW_OF = 275; public static readonly KW_OFF = 276; public static readonly KW_OIDS = 277; public static readonly KW_OPERATOR = 278; public static readonly KW_OPTION = 279; public static readonly KW_OPTIONS = 280; public static readonly KW_OWNED = 281; public static readonly KW_OWNER = 282; public static readonly KW_PARSER = 283; public static readonly KW_PARTIAL = 284; public static readonly KW_PARTITION = 285; public static readonly KW_PASSING = 286; public static readonly KW_PASSWORD = 287; public static readonly KW_PLANS = 288; public static readonly KW_PRECEDING = 289; public static readonly KW_PREPARE = 290; public static readonly KW_PREPARED = 291; public static readonly KW_PRESERVE = 292; public static readonly KW_PRIOR = 293; public static readonly KW_PRIVILEGES = 294; public static readonly KW_PROCEDURAL = 295; public static readonly KW_PROCEDURE = 296; public static readonly KW_PROGRAM = 297; public static readonly KW_QUOTE = 298; public static readonly KW_RANGE = 299; public static readonly KW_READ = 300; public static readonly KW_REASSIGN = 301; public static readonly KW_RECHECK = 302; public static readonly KW_RECURSIVE = 303; public static readonly KW_REF = 304; public static readonly KW_REFRESH = 305; public static readonly KW_REINDEX = 306; public static readonly KW_RELATIVE = 307; public static readonly KW_RELEASE = 308; public static readonly KW_RENAME = 309; public static readonly KW_REPEATABLE = 310; public static readonly KW_REPLACE = 311; public static readonly KW_REPLICA = 312; public static readonly KW_RESET = 313; public static readonly KW_RESTART = 314; public static readonly KW_RESTRICT = 315; public static readonly KW_RETURNS = 316; public static readonly KW_REVOKE = 317; public static readonly KW_ROLE = 318; public static readonly KW_ROLLBACK = 319; public static readonly KW_ROWS = 320; public static readonly KW_RULE = 321; public static readonly KW_SAVEPOINT = 322; public static readonly KW_SCHEMA = 323; public static readonly KW_SCROLL = 324; public static readonly KW_SEARCH = 325; public static readonly KW_SECOND = 326; public static readonly KW_SECURITY = 327; public static readonly KW_SEQUENCE = 328; public static readonly KW_SEQUENCES = 329; public static readonly KW_SERIALIZABLE = 330; public static readonly KW_SERVER = 331; public static readonly KW_SESSION = 332; public static readonly KW_SET = 333; public static readonly KW_SHARE = 334; public static readonly KW_SHOW = 335; public static readonly KW_SIMPLE = 336; public static readonly KW_SNAPSHOT = 337; public static readonly KW_STABLE = 338; public static readonly KW_STANDALONE = 339; public static readonly KW_START = 340; public static readonly KW_STATEMENT = 341; public static readonly KW_STATISTICS = 342; public static readonly KW_STDIN = 343; public static readonly KW_STDOUT = 344; public static readonly KW_STORAGE = 345; public static readonly KW_STRICT = 346; public static readonly KW_STRIP = 347; public static readonly KW_SYSID = 348; public static readonly KW_SYSTEM = 349; public static readonly KW_TABLES = 350; public static readonly KW_TABLESPACE = 351; public static readonly KW_TEMP = 352; public static readonly KW_TEMPLATE = 353; public static readonly KW_TEMPORARY = 354; public static readonly KW_TEXT = 355; public static readonly KW_TRANSACTION = 356; public static readonly KW_TRIGGER = 357; public static readonly KW_TRUNCATE = 358; public static readonly KW_TRUSTED = 359; public static readonly KW_TYPE = 360; public static readonly KW_TYPES = 361; public static readonly KW_UNBOUNDED = 362; public static readonly KW_UNCOMMITTED = 363; public static readonly KW_UNENCRYPTED = 364; public static readonly KW_UNKNOWN = 365; public static readonly KW_UNLISTEN = 366; public static readonly KW_UNLOGGED = 367; public static readonly KW_UNTIL = 368; public static readonly KW_UPDATE = 369; public static readonly KW_VACUUM = 370; public static readonly KW_VALID = 371; public static readonly KW_VALIDATE = 372; public static readonly KW_VALIDATOR = 373; public static readonly KW_VARYING = 374; public static readonly KW_VERSION = 375; public static readonly KW_VIEW = 376; public static readonly KW_VOLATILE = 377; public static readonly KW_WHITESPACE = 378; public static readonly KW_WITHOUT = 379; public static readonly KW_WORK = 380; public static readonly KW_WRAPPER = 381; public static readonly KW_WRITE = 382; public static readonly KW_XML = 383; public static readonly KW_YEAR = 384; public static readonly KW_YES = 385; public static readonly KW_ZONE = 386; public static readonly KW_BETWEEN = 387; public static readonly KW_BIGINT = 388; public static readonly KW_BIT = 389; public static readonly KW_BOOLEAN = 390; public static readonly KW_CHAR = 391; public static readonly KW_CHARACTER = 392; public static readonly KW_COALESCE = 393; public static readonly KW_DEC = 394; public static readonly KW_DECIMAL = 395; public static readonly KW_EXISTS = 396; public static readonly KW_EXTRACT = 397; public static readonly KW_FLOAT = 398; public static readonly KW_GREATEST = 399; public static readonly KW_INOUT = 400; public static readonly KW_INT = 401; public static readonly KW_INTEGER = 402; public static readonly KW_INTERVAL = 403; public static readonly KW_LEAST = 404; public static readonly KW_NATIONAL = 405; public static readonly KW_NCHAR = 406; public static readonly KW_NONE = 407; public static readonly KW_NULLIF = 408; public static readonly KW_NUMERIC = 409; public static readonly KW_OVERLAY = 410; public static readonly KW_POSITION = 411; public static readonly KW_PRECISION = 412; public static readonly KW_REAL = 413; public static readonly KW_ROW = 414; public static readonly KW_SETOF = 415; public static readonly KW_SMALLINT = 416; public static readonly KW_SUBSTRING = 417; public static readonly KW_TIME = 418; public static readonly KW_TIMESTAMP = 419; public static readonly KW_TREAT = 420; public static readonly KW_TRIM = 421; public static readonly KW_VALUES = 422; public static readonly KW_VARCHAR = 423; public static readonly KW_XMLATTRIBUTES = 424; public static readonly KW_XMLCONCAT = 425; public static readonly KW_XMLELEMENT = 426; public static readonly KW_XMLEXISTS = 427; public static readonly KW_XMLFOREST = 428; public static readonly KW_XMLPARSE = 429; public static readonly KW_XMLPI = 430; public static readonly KW_XMLROOT = 431; public static readonly KW_XMLSERIALIZE = 432; public static readonly KW_CALL = 433; public static readonly KW_CURRENT = 434; public static readonly KW_ATTACH = 435; public static readonly KW_DETACH = 436; public static readonly KW_EXPRESSION = 437; public static readonly KW_GENERATED = 438; public static readonly KW_LOGGED = 439; public static readonly KW_STORED = 440; public static readonly KW_INCLUDE = 441; public static readonly KW_ROUTINE = 442; public static readonly KW_TRANSFORM = 443; public static readonly KW_IMPORT = 444; public static readonly KW_POLICY = 445; public static readonly KW_METHOD = 446; public static readonly KW_REFERENCING = 447; public static readonly KW_NEW = 448; public static readonly KW_OLD = 449; public static readonly KW_VALUE = 450; public static readonly KW_SUBSCRIPTION = 451; public static readonly KW_PUBLICATION = 452; public static readonly KW_OUT = 453; public static readonly KW_END = 454; public static readonly KW_ROUTINES = 455; public static readonly KW_SCHEMAS = 456; public static readonly KW_PROCEDURES = 457; public static readonly KW_INPUT = 458; public static readonly KW_SUPPORT = 459; public static readonly KW_PARALLEL = 460; public static readonly KW_SQL = 461; public static readonly KW_DEPENDS = 462; public static readonly KW_OVERRIDING = 463; public static readonly KW_CONFLICT = 464; public static readonly KW_SKIP = 465; public static readonly KW_LOCKED = 466; public static readonly KW_TIES = 467; public static readonly KW_ROLLUP = 468; public static readonly KW_CUBE = 469; public static readonly KW_GROUPING = 470; public static readonly KW_SETS = 471; public static readonly KW_TABLESAMPLE = 472; public static readonly KW_ORDINALITY = 473; public static readonly KW_XMLTABLE = 474; public static readonly KW_COLUMNS = 475; public static readonly KW_XMLNAMESPACES = 476; public static readonly KW_ROWTYPE = 477; public static readonly KW_NORMALIZED = 478; public static readonly KW_WITHIN = 479; public static readonly KW_FILTER = 480; public static readonly KW_GROUPS = 481; public static readonly KW_OTHERS = 482; public static readonly KW_NFC = 483; public static readonly KW_NFD = 484; public static readonly KW_NFKC = 485; public static readonly KW_NFKD = 486; public static readonly KW_UESCAPE = 487; public static readonly KW_VIEWS = 488; public static readonly KW_NORMALIZE = 489; public static readonly KW_DUMP = 490; public static readonly KW_PRINT_STRICT_PARAMS = 491; public static readonly KW_VARIABLE_CONFLICT = 492; public static readonly KW_ERROR = 493; public static readonly KW_USE_VARIABLE = 494; public static readonly KW_USE_COLUMN = 495; public static readonly KW_ALIAS = 496; public static readonly KW_CONSTANT = 497; public static readonly KW_PERFORM = 498; public static readonly KW_GET = 499; public static readonly KW_DIAGNOSTICS = 500; public static readonly KW_STACKED = 501; public static readonly KW_ELSIF = 502; public static readonly KW_WHILE = 503; public static readonly KW_REVERSE = 504; public static readonly KW_FOREACH = 505; public static readonly KW_SLICE = 506; public static readonly KW_EXIT = 507; public static readonly KW_RETURN = 508; public static readonly KW_QUERY = 509; public static readonly KW_RAISE = 510; public static readonly KW_SQLSTATE = 511; public static readonly KW_DEBUG = 512; public static readonly KW_LOG = 513; public static readonly KW_INFO = 514; public static readonly KW_NOTICE = 515; public static readonly KW_WARNING = 516; public static readonly KW_EXCEPTION = 517; public static readonly KW_ASSERT = 518; public static readonly KW_LOOP = 519; public static readonly KW_OPEN = 520; public static readonly KW_PEFERENCES = 521; public static readonly KW_USAGE = 522; public static readonly KW_CONNECT = 523; public static readonly KW_PUBLIC = 524; public static readonly KW_MERGE = 525; public static readonly KW_MATCHED = 526; public static readonly KW_BREADTH = 527; public static readonly KW_DEPTH = 528; public static readonly KW_UNSAFE = 529; public static readonly KW_RESTRICTED = 530; public static readonly KW_SAFE = 531; public static readonly KW_FINALIZE = 532; public static readonly KW_MODULUS = 533; public static readonly KW_REMAINDER = 534; public static readonly KW_LOGIN = 535; public static readonly KW_NOLOGIN = 536; public static readonly KW_REPLICATION = 537; public static readonly KW_NOREPLICATION = 538; public static readonly KW_BYPASSRLS = 539; public static readonly KW_NOBYPASSRLS = 540; public static readonly KW_PERMISSIVE = 541; public static readonly KW_RESTRICTIVE = 542; public static readonly KW_COMPRESSION = 543; public static readonly KW_PLAIN = 544; public static readonly KW_EXTENDED = 545; public static readonly KW_MAIN = 546; public static readonly KW_SKIP_LOCKED = 547; public static readonly KW_BUFFER_USAGE_LIMIT = 548; public static readonly Identifier = 549; public static readonly QuotedIdentifier = 550; public static readonly UnterminatedQuotedIdentifier = 551; public static readonly InvalidQuotedIdentifier = 552; public static readonly InvalidUnterminatedQuotedIdentifier = 553; public static readonly UnicodeQuotedIdentifier = 554; public static readonly UnterminatedUnicodeQuotedIdentifier = 555; public static readonly InvalidUnicodeQuotedIdentifier = 556; public static readonly InvalidUnterminatedUnicodeQuotedIdentifier = 557; public static readonly StringConstant = 558; public static readonly UnterminatedStringConstant = 559; public static readonly UnicodeEscapeStringConstant = 560; public static readonly UnterminatedUnicodeEscapeStringConstant = 561; public static readonly BeginDollarStringConstant = 562; public static readonly BinaryStringConstant = 563; public static readonly UnterminatedBinaryStringConstant = 564; public static readonly InvalidBinaryStringConstant = 565; public static readonly InvalidUnterminatedBinaryStringConstant = 566; public static readonly HexadecimalStringConstant = 567; public static readonly UnterminatedHexadecimalStringConstant = 568; public static readonly InvalidHexadecimalStringConstant = 569; public static readonly InvalidUnterminatedHexadecimalStringConstant = 570; public static readonly Integral = 571; public static readonly NumericFail = 572; public static readonly Numeric = 573; public static readonly PLSQLVARIABLENAME = 574; public static readonly PLSQLIDENTIFIER = 575; public static readonly Whitespace = 576; public static readonly Newline = 577; public static readonly LineComment = 578; public static readonly BlockComment = 579; public static readonly UnterminatedBlockComment = 580; public static readonly MetaCommand = 581; public static readonly EndMetaCommand = 582; public static readonly ErrorCharacter = 583; public static readonly EscapeStringConstant = 584; public static readonly UnterminatedEscapeStringConstant = 585; public static readonly InvalidEscapeStringConstant = 586; public static readonly InvalidUnterminatedEscapeStringConstant = 587; public static readonly DollarText = 588; public static readonly EndDollarStringConstant = 589; public static readonly AfterEscapeStringConstantWithNewlineMode_Continued = 590; public static readonly RULE_program = 0; public static readonly RULE_plsqlroot = 1; public static readonly RULE_singleStmt = 2; public static readonly RULE_stmt = 3; public static readonly RULE_plsqlconsolecommand = 4; public static readonly RULE_callstmt = 5; public static readonly RULE_createrolestmt = 6; public static readonly RULE_opt_with = 7; public static readonly RULE_optrolelist = 8; public static readonly RULE_alteroptrolelist = 9; public static readonly RULE_alteroptroleelem = 10; public static readonly RULE_createoptroleelem = 11; public static readonly RULE_createuserstmt = 12; public static readonly RULE_alterrolestmt = 13; public static readonly RULE_opt_in_database = 14; public static readonly RULE_alterrolesetstmt = 15; public static readonly RULE_alterroutinestmt = 16; public static readonly RULE_alter_routine_cluase = 17; public static readonly RULE_routine_action_list = 18; public static readonly RULE_routine_action = 19; public static readonly RULE_creategroupstmt = 20; public static readonly RULE_altergroupstmt = 21; public static readonly RULE_add_drop = 22; public static readonly RULE_createschemastmt = 23; public static readonly RULE_schema_name_create = 24; public static readonly RULE_optschemaeltlist = 25; public static readonly RULE_schema_stmt = 26; public static readonly RULE_variablesetstmt = 27; public static readonly RULE_set_rest = 28; public static readonly RULE_generic_set = 29; public static readonly RULE_set_rest_more = 30; public static readonly RULE_var_name = 31; public static readonly RULE_var_list = 32; public static readonly RULE_var_value = 33; public static readonly RULE_iso_level = 34; public static readonly RULE_opt_boolean_or_string_column = 35; public static readonly RULE_opt_boolean_or_string = 36; public static readonly RULE_zone_value = 37; public static readonly RULE_opt_encoding = 38; public static readonly RULE_nonreservedword_or_sconst_column = 39; public static readonly RULE_nonreservedword_or_sconst = 40; public static readonly RULE_variableresetstmt = 41; public static readonly RULE_reset_rest = 42; public static readonly RULE_generic_reset = 43; public static readonly RULE_setresetclause = 44; public static readonly RULE_functionsetresetclause = 45; public static readonly RULE_variableshowstmt = 46; public static readonly RULE_constraintssetstmt = 47; public static readonly RULE_constraints_set_list = 48; public static readonly RULE_constraints_set_mode = 49; public static readonly RULE_checkpointstmt = 50; public static readonly RULE_discardstmt = 51; public static readonly RULE_altertablestmt = 52; public static readonly RULE_alter_table_cmds = 53; public static readonly RULE_partition_bound_spec = 54; public static readonly RULE_partition_bound_cluase = 55; public static readonly RULE_partition_bound_choose = 56; public static readonly RULE_partition_with_cluase = 57; public static readonly RULE_partition_cmd = 58; public static readonly RULE_index_partition_cmd = 59; public static readonly RULE_alter_table_cmd = 60; public static readonly RULE_alter_column_default = 61; public static readonly RULE_opt_drop_behavior = 62; public static readonly RULE_opt_collate_clause = 63; public static readonly RULE_alter_using = 64; public static readonly RULE_replica_identity = 65; public static readonly RULE_reloptions = 66; public static readonly RULE_opt_reloptions = 67; public static readonly RULE_reloption_list = 68; public static readonly RULE_reloption_elem = 69; public static readonly RULE_alter_identity_column_option_list = 70; public static readonly RULE_alter_identity_column_option = 71; public static readonly RULE_partitionboundspec = 72; public static readonly RULE_hash_partbound_elem = 73; public static readonly RULE_hash_partbound = 74; public static readonly RULE_altercompositetypestmt = 75; public static readonly RULE_alter_type_cmds = 76; public static readonly RULE_alter_type_cmd = 77; public static readonly RULE_closeportalstmt = 78; public static readonly RULE_copystmt = 79; public static readonly RULE_copy_from = 80; public static readonly RULE_opt_program = 81; public static readonly RULE_copy_file_name = 82; public static readonly RULE_copy_options = 83; public static readonly RULE_copy_opt_list = 84; public static readonly RULE_copy_opt_item = 85; public static readonly RULE_opt_binary = 86; public static readonly RULE_copy_delimiter = 87; public static readonly RULE_opt_using = 88; public static readonly RULE_copy_generic_opt_list = 89; public static readonly RULE_copy_generic_opt_elem = 90; public static readonly RULE_copy_generic_opt_arg = 91; public static readonly RULE_copy_generic_opt_arg_list = 92; public static readonly RULE_copy_generic_opt_arg_list_item = 93; public static readonly RULE_createstmt = 94; public static readonly RULE_opttemp = 95; public static readonly RULE_table_column_list = 96; public static readonly RULE_opttableelementlist = 97; public static readonly RULE_opttypedtableelementlist = 98; public static readonly RULE_tableelementlist = 99; public static readonly RULE_typedtableelementlist = 100; public static readonly RULE_tableelement = 101; public static readonly RULE_typedtableelement = 102; public static readonly RULE_columnDefCluase = 103; public static readonly RULE_columnDef = 104; public static readonly RULE_compressionCluase = 105; public static readonly RULE_storageCluase = 106; public static readonly RULE_columnOptions = 107; public static readonly RULE_colquallist = 108; public static readonly RULE_colconstraint = 109; public static readonly RULE_colconstraintelem = 110; public static readonly RULE_nulls_distinct = 111; public static readonly RULE_generated_when = 112; public static readonly RULE_deferrable_trigger = 113; public static readonly RULE_initially_trigger = 114; public static readonly RULE_tablelikeclause = 115; public static readonly RULE_tablelikeoptionlist = 116; public static readonly RULE_tablelikeoption = 117; public static readonly RULE_tableconstraint = 118; public static readonly RULE_constraintelem = 119; public static readonly RULE_opt_no_inherit = 120; public static readonly RULE_opt_column_list = 121; public static readonly RULE_columnlist = 122; public static readonly RULE_opt_c_include = 123; public static readonly RULE_key_match = 124; public static readonly RULE_exclusionconstraintlist = 125; public static readonly RULE_exclusionconstraintelem = 126; public static readonly RULE_exclusionwhereclause = 127; public static readonly RULE_key_actions = 128; public static readonly RULE_key_update = 129; public static readonly RULE_key_delete = 130; public static readonly RULE_key_action = 131; public static readonly RULE_optinherit = 132; public static readonly RULE_optpartitionspec = 133; public static readonly RULE_partitionspec = 134; public static readonly RULE_part_params = 135; public static readonly RULE_part_elem = 136; public static readonly RULE_table_access_method_clause = 137; public static readonly RULE_optwith = 138; public static readonly RULE_oncommitoption = 139; public static readonly RULE_opttablespace = 140; public static readonly RULE_index_paramenters_create = 141; public static readonly RULE_optconstablespace = 142; public static readonly RULE_existingindex = 143; public static readonly RULE_createstatsstmt = 144; public static readonly RULE_alterstatsstmt = 145; public static readonly RULE_createasstmt = 146; public static readonly RULE_create_as_target = 147; public static readonly RULE_opt_with_data = 148; public static readonly RULE_creatematviewstmt = 149; public static readonly RULE_create_mv_target = 150; public static readonly RULE_optnolog = 151; public static readonly RULE_refreshmatviewstmt = 152; public static readonly RULE_createseqstmt = 153; public static readonly RULE_alterseqstmt = 154; public static readonly RULE_optseqoptlist = 155; public static readonly RULE_optparenthesizedseqoptlist = 156; public static readonly RULE_seqoptlist = 157; public static readonly RULE_seqoptelem = 158; public static readonly RULE_opt_by = 159; public static readonly RULE_numericonly = 160; public static readonly RULE_numericonly_list = 161; public static readonly RULE_createplangstmt = 162; public static readonly RULE_opt_trusted = 163; public static readonly RULE_handler_name = 164; public static readonly RULE_opt_inline_handler = 165; public static readonly RULE_validator_clause = 166; public static readonly RULE_opt_validator = 167; public static readonly RULE_opt_procedural = 168; public static readonly RULE_createtablespacestmt = 169; public static readonly RULE_opttablespaceowner = 170; public static readonly RULE_createextensionstmt = 171; public static readonly RULE_create_extension_opt_list = 172; public static readonly RULE_create_extension_opt_item = 173; public static readonly RULE_alterextensionstmt = 174; public static readonly RULE_alter_extension_opt_list = 175; public static readonly RULE_alter_extension_opt_item = 176; public static readonly RULE_alterextensioncontentsstmt = 177; public static readonly RULE_createfdwstmt = 178; public static readonly RULE_fdw_option = 179; public static readonly RULE_fdw_options = 180; public static readonly RULE_opt_fdw_options = 181; public static readonly RULE_alterfdwstmt = 182; public static readonly RULE_create_generic_options = 183; public static readonly RULE_generic_option_list = 184; public static readonly RULE_alter_generic_options = 185; public static readonly RULE_alter_generic_option_list = 186; public static readonly RULE_alter_generic_option_elem = 187; public static readonly RULE_generic_option_elem = 188; public static readonly RULE_generic_option_name = 189; public static readonly RULE_generic_option_arg = 190; public static readonly RULE_createforeignserverstmt = 191; public static readonly RULE_opt_type = 192; public static readonly RULE_foreign_server_version = 193; public static readonly RULE_opt_foreign_server_version = 194; public static readonly RULE_alterforeignserverstmt = 195; public static readonly RULE_createforeigntablestmt = 196; public static readonly RULE_importforeignschemastmt = 197; public static readonly RULE_import_qualification_type = 198; public static readonly RULE_import_qualification = 199; public static readonly RULE_createusermappingstmt = 200; public static readonly RULE_auth_ident = 201; public static readonly RULE_alterusermappingstmt = 202; public static readonly RULE_createpolicystmt = 203; public static readonly RULE_alterpolicystmt = 204; public static readonly RULE_alterprocedurestmt = 205; public static readonly RULE_procedure_cluase = 206; public static readonly RULE_procedure_action = 207; public static readonly RULE_rowsecurityoptionalexpr = 208; public static readonly RULE_rowsecurityoptionalwithcheck = 209; public static readonly RULE_rowsecuritydefaulttorole = 210; public static readonly RULE_rowsecurityoptionaltorole = 211; public static readonly RULE_rowsecuritydefaultpermissive = 212; public static readonly RULE_rowsecuritydefaultforcmd = 213; public static readonly RULE_row_security_cmd = 214; public static readonly RULE_createamstmt = 215; public static readonly RULE_am_type = 216; public static readonly RULE_createtrigstmt = 217; public static readonly RULE_triggeractiontime = 218; public static readonly RULE_foreachrow = 219; public static readonly RULE_roworstatment = 220; public static readonly RULE_triggerevents = 221; public static readonly RULE_triggeroneevent = 222; public static readonly RULE_triggerreferencing = 223; public static readonly RULE_triggertransitions = 224; public static readonly RULE_triggertransition = 225; public static readonly RULE_transitionoldornew = 226; public static readonly RULE_transitionrowortable = 227; public static readonly RULE_transitionrelname = 228; public static readonly RULE_triggerforspec = 229; public static readonly RULE_triggerforopteach = 230; public static readonly RULE_triggerfortype = 231; public static readonly RULE_triggerwhen = 232; public static readonly RULE_function_or_procedure = 233; public static readonly RULE_triggerfuncargs = 234; public static readonly RULE_triggerfuncarg = 235; public static readonly RULE_optconstrfromtable = 236; public static readonly RULE_constraintattributespec = 237; public static readonly RULE_constraintattributeElem = 238; public static readonly RULE_createeventtrigstmt = 239; public static readonly RULE_event_trigger_when_list = 240; public static readonly RULE_event_trigger_when_item = 241; public static readonly RULE_event_trigger_value_list = 242; public static readonly RULE_altereventtrigstmt = 243; public static readonly RULE_enable_trigger = 244; public static readonly RULE_createassertionstmt = 245; public static readonly RULE_definestmt = 246; public static readonly RULE_definition = 247; public static readonly RULE_def_list = 248; public static readonly RULE_def_elem = 249; public static readonly RULE_def_arg = 250; public static readonly RULE_old_aggr_definition = 251; public static readonly RULE_old_aggr_list = 252; public static readonly RULE_old_aggr_elem = 253; public static readonly RULE_opt_enum_val_list = 254; public static readonly RULE_enum_val_list = 255; public static readonly RULE_alterenumstmt = 256; public static readonly RULE_opt_if_not_exists = 257; public static readonly RULE_createopclassstmt = 258; public static readonly RULE_opclass_item_list = 259; public static readonly RULE_opclass_item = 260; public static readonly RULE_opt_default = 261; public static readonly RULE_opt_opfamily = 262; public static readonly RULE_opclass_purpose = 263; public static readonly RULE_opt_recheck = 264; public static readonly RULE_createopfamilystmt = 265; public static readonly RULE_alteropfamilystmt = 266; public static readonly RULE_opclass_drop_list = 267; public static readonly RULE_opclass_drop = 268; public static readonly RULE_reassignownedstmt = 269; public static readonly RULE_dropstmt = 270; public static readonly RULE_view_nameList = 271; public static readonly RULE_object_type_any_name = 272; public static readonly RULE_object_type_name = 273; public static readonly RULE_object_type_name_on_any_name = 274; public static readonly RULE_any_name_list = 275; public static readonly RULE_table_column_name = 276; public static readonly RULE_relation_column_name = 277; public static readonly RULE_relation_name = 278; public static readonly RULE_any_name = 279; public static readonly RULE_attrs = 280; public static readonly RULE_type_name_list = 281; public static readonly RULE_truncatestmt = 282; public static readonly RULE_opt_restart_seqs = 283; public static readonly RULE_commentstmt = 284; public static readonly RULE_comment_text = 285; public static readonly RULE_seclabelstmt = 286; public static readonly RULE_opt_provider = 287; public static readonly RULE_security_label = 288; public static readonly RULE_fetchstmt = 289; public static readonly RULE_fetch_args = 290; public static readonly RULE_from_in = 291; public static readonly RULE_opt_from_in = 292; public static readonly RULE_grantstmt = 293; public static readonly RULE_revokestmt = 294; public static readonly RULE_privileges = 295; public static readonly RULE_beforeprivilegeselectlist = 296; public static readonly RULE_beforeprivilegeselect = 297; public static readonly RULE_privilege_list = 298; public static readonly RULE_privilege = 299; public static readonly RULE_privilege_target = 300; public static readonly RULE_grantee_list = 301; public static readonly RULE_grantee = 302; public static readonly RULE_opt_grant_grant_option = 303; public static readonly RULE_grantrolestmt = 304; public static readonly RULE_revokerolestmt = 305; public static readonly RULE_opt_grant_admin_option = 306; public static readonly RULE_opt_granted_by = 307; public static readonly RULE_alterdefaultprivilegesstmt = 308; public static readonly RULE_defacloptionlist = 309; public static readonly RULE_defacloption = 310; public static readonly RULE_defaclaction = 311; public static readonly RULE_defacl_privilege_target = 312; public static readonly RULE_indexstmt = 313; public static readonly RULE_opt_unique = 314; public static readonly RULE_opt_concurrently = 315; public static readonly RULE_opt_index_name = 316; public static readonly RULE_access_method_clause = 317; public static readonly RULE_index_params = 318; public static readonly RULE_index_elem_options = 319; public static readonly RULE_index_elem = 320; public static readonly RULE_opt_include = 321; public static readonly RULE_index_including_params = 322; public static readonly RULE_opt_collate = 323; public static readonly RULE_opt_class = 324; public static readonly RULE_opt_asc_desc = 325; public static readonly RULE_opt_nulls_order = 326; public static readonly RULE_createfunctionstmt = 327; public static readonly RULE_attrilist = 328; public static readonly RULE_opt_or_replace = 329; public static readonly RULE_func_args = 330; public static readonly RULE_func_args_list = 331; public static readonly RULE_routine_with_argtypes_list = 332; public static readonly RULE_routine_with_argtypes = 333; public static readonly RULE_procedure_with_argtypes_list = 334; public static readonly RULE_procedure_with_argtypes = 335; public static readonly RULE_function_with_argtypes_list = 336; public static readonly RULE_function_with_argtypes = 337; public static readonly RULE_func_args_with_defaults = 338; public static readonly RULE_func_args_with_defaults_list = 339; public static readonly RULE_func_arg = 340; public static readonly RULE_arg_class = 341; public static readonly RULE_param_name = 342; public static readonly RULE_func_return = 343; public static readonly RULE_func_type = 344; public static readonly RULE_func_arg_with_default = 345; public static readonly RULE_aggr_arg = 346; public static readonly RULE_aggr_args = 347; public static readonly RULE_aggr_args_list = 348; public static readonly RULE_aggregate_with_argtypes = 349; public static readonly RULE_aggregate_with_argtypes_list = 350; public static readonly RULE_createfunc_opt_list = 351; public static readonly RULE_common_func_opt_item = 352; public static readonly RULE_createfunc_opt_item = 353; public static readonly RULE_transform_type_list = 354; public static readonly RULE_opt_definition = 355; public static readonly RULE_table_func_column = 356; public static readonly RULE_table_func_column_list = 357; public static readonly RULE_alterfunctionstmt = 358; public static readonly RULE_alterFunctionTypeClause = 359; public static readonly RULE_alterfunc_opt_list = 360; public static readonly RULE_opt_restrict = 361; public static readonly RULE_removefuncstmt = 362; public static readonly RULE_removeaggrstmt = 363; public static readonly RULE_removeoperstmt = 364; public static readonly RULE_oper_argtypes = 365; public static readonly RULE_any_operator = 366; public static readonly RULE_operator_with_argtypes_list = 367; public static readonly RULE_operator_with_argtypes = 368; public static readonly RULE_dostmt = 369; public static readonly RULE_dostmt_opt_list = 370; public static readonly RULE_dostmt_opt_item = 371; public static readonly RULE_createcaststmt = 372; public static readonly RULE_cast_context = 373; public static readonly RULE_opt_if_exists = 374; public static readonly RULE_createtransformstmt = 375; public static readonly RULE_transform_element_list = 376; public static readonly RULE_reindexstmt = 377; public static readonly RULE_reindex_target_type = 378; public static readonly RULE_reindex_target_multitable = 379; public static readonly RULE_reindex_option_list = 380; public static readonly RULE_reindex_option_elem = 381; public static readonly RULE_altertblspcstmt = 382; public static readonly RULE_renamestmt = 383; public static readonly RULE_opt_column = 384; public static readonly RULE_opt_set_data = 385; public static readonly RULE_alterobjectdependsstmt = 386; public static readonly RULE_opt_no = 387; public static readonly RULE_alterobjectschemastmt = 388; public static readonly RULE_alteroperatorstmt = 389; public static readonly RULE_operator_def_list = 390; public static readonly RULE_operator_def_elem = 391; public static readonly RULE_operator_def_arg = 392; public static readonly RULE_altertypestmt = 393; public static readonly RULE_alterownerstmt = 394; public static readonly RULE_createpublicationstmt = 395; public static readonly RULE_opt_publication_for_tables = 396; public static readonly RULE_publication_for_tables = 397; public static readonly RULE_alterpublicationstmt = 398; public static readonly RULE_createsubscriptionstmt = 399; public static readonly RULE_publication_name_list = 400; public static readonly RULE_publication_name_item = 401; public static readonly RULE_altersubscriptionstmt = 402; public static readonly RULE_rulestmt = 403; public static readonly RULE_ruleactionlist = 404; public static readonly RULE_ruleactionmulti = 405; public static readonly RULE_ruleactionstmt = 406; public static readonly RULE_ruleactionstmtOrEmpty = 407; public static readonly RULE_event = 408; public static readonly RULE_opt_instead = 409; public static readonly RULE_notifystmt = 410; public static readonly RULE_notify_payload = 411; public static readonly RULE_listenstmt = 412; public static readonly RULE_unlistenstmt = 413; public static readonly RULE_transactionstmt = 414; public static readonly RULE_opt_transaction = 415; public static readonly RULE_transaction_mode_item = 416; public static readonly RULE_transaction_mode_list = 417; public static readonly RULE_transaction_mode_list_or_empty = 418; public static readonly RULE_opt_transaction_chain = 419; public static readonly RULE_viewstmt = 420; public static readonly RULE_opt_check_option = 421; public static readonly RULE_loadstmt = 422; public static readonly RULE_createdbstmt = 423; public static readonly RULE_createdb_opt_list = 424; public static readonly RULE_createdb_opt_items = 425; public static readonly RULE_createdb_opt_item = 426; public static readonly RULE_createdb_opt_name = 427; public static readonly RULE_opt_equal = 428; public static readonly RULE_alterdatabasestmt = 429; public static readonly RULE_alterdatabasesetstmt = 430; public static readonly RULE_drop_option_list = 431; public static readonly RULE_drop_option = 432; public static readonly RULE_altercollationstmt = 433; public static readonly RULE_altersystemstmt = 434; public static readonly RULE_createdomainstmt = 435; public static readonly RULE_alterdomainstmt = 436; public static readonly RULE_opt_as = 437; public static readonly RULE_altertsdictionarystmt = 438; public static readonly RULE_altertsconfigurationstmt = 439; public static readonly RULE_any_with = 440; public static readonly RULE_createconversionstmt = 441; public static readonly RULE_clusterstmt = 442; public static readonly RULE_opt_verbose_list = 443; public static readonly RULE_cluster_index_specification = 444; public static readonly RULE_vacuumstmt = 445; public static readonly RULE_analyzestmt = 446; public static readonly RULE_vac_analyze_option_list = 447; public static readonly RULE_analyze_keyword = 448; public static readonly RULE_vac_analyze_option_elem = 449; public static readonly RULE_vac_analyze_option_name = 450; public static readonly RULE_vac_analyze_option_arg = 451; public static readonly RULE_opt_analyze = 452; public static readonly RULE_analyze_options_list = 453; public static readonly RULE_analyze_option_elem = 454; public static readonly RULE_opt_verbose = 455; public static readonly RULE_opt_skiplock = 456; public static readonly RULE_opt_buffer_usage_limit = 457; public static readonly RULE_opt_full = 458; public static readonly RULE_opt_freeze = 459; public static readonly RULE_opt_name_list = 460; public static readonly RULE_vacuum_relation = 461; public static readonly RULE_vacuum_relation_list = 462; public static readonly RULE_opt_vacuum_relation_list = 463; public static readonly RULE_explainstmt = 464; public static readonly RULE_explainablestmt = 465; public static readonly RULE_explain_option_list = 466; public static readonly RULE_explain_option_elem = 467; public static readonly RULE_explain_option_name = 468; public static readonly RULE_explain_option_arg = 469; public static readonly RULE_preparestmt = 470; public static readonly RULE_prep_type_clause = 471; public static readonly RULE_preparablestmt = 472; public static readonly RULE_executestmt = 473; public static readonly RULE_execute_param_clause = 474; public static readonly RULE_deallocatestmt = 475; public static readonly RULE_insertstmt = 476; public static readonly RULE_insert_target = 477; public static readonly RULE_insert_rest = 478; public static readonly RULE_override_kind = 479; public static readonly RULE_insert_column_list = 480; public static readonly RULE_insert_column_item = 481; public static readonly RULE_opt_on_conflict = 482; public static readonly RULE_opt_conf_expr = 483; public static readonly RULE_returning_clause = 484; public static readonly RULE_deletestmt = 485; public static readonly RULE_using_clause = 486; public static readonly RULE_lockstmt = 487; public static readonly RULE_opt_lock = 488; public static readonly RULE_lock_type = 489; public static readonly RULE_opt_nowait = 490; public static readonly RULE_opt_nowait_or_skip = 491; public static readonly RULE_updatestmt = 492; public static readonly RULE_set_clause_list = 493; public static readonly RULE_set_clause = 494; public static readonly RULE_set_target = 495; public static readonly RULE_set_target_list = 496; public static readonly RULE_declarecursorstmt = 497; public static readonly RULE_cursor_name = 498; public static readonly RULE_cursor_options = 499; public static readonly RULE_opt_hold = 500; public static readonly RULE_selectstmt = 501; public static readonly RULE_select_with_parens = 502; public static readonly RULE_select_no_parens = 503; public static readonly RULE_select_clause = 504; public static readonly RULE_simple_select = 505; public static readonly RULE_set_operator = 506; public static readonly RULE_set_operator_with_all_or_distinct = 507; public static readonly RULE_with_clause = 508; public static readonly RULE_cte_list = 509; public static readonly RULE_common_table_expr = 510; public static readonly RULE_search_cluase = 511; public static readonly RULE_cycle_cluase = 512; public static readonly RULE_opt_materialized = 513; public static readonly RULE_opt_with_clause = 514; public static readonly RULE_into_clause = 515; public static readonly RULE_opt_strict = 516; public static readonly RULE_opttempTableName = 517; public static readonly RULE_opt_table = 518; public static readonly RULE_all_or_distinct = 519; public static readonly RULE_distinct_clause = 520; public static readonly RULE_opt_all_clause = 521; public static readonly RULE_opt_sort_clause = 522; public static readonly RULE_sort_clause = 523; public static readonly RULE_sortby_list = 524; public static readonly RULE_sortby = 525; public static readonly RULE_select_limit = 526; public static readonly RULE_opt_select_limit = 527; public static readonly RULE_limit_clause = 528; public static readonly RULE_fetch_clause = 529; public static readonly RULE_offset_clause = 530; public static readonly RULE_select_limit_value = 531; public static readonly RULE_select_offset_value = 532; public static readonly RULE_select_fetch_first_value = 533; public static readonly RULE_i_or_f_const = 534; public static readonly RULE_row_or_rows = 535; public static readonly RULE_first_or_next = 536; public static readonly RULE_group_clause = 537; public static readonly RULE_group_by_list = 538; public static readonly RULE_group_by_item = 539; public static readonly RULE_empty_grouping_set = 540; public static readonly RULE_rollup_clause = 541; public static readonly RULE_cube_clause = 542; public static readonly RULE_grouping_sets_clause = 543; public static readonly RULE_having_clause = 544; public static readonly RULE_for_locking_clause = 545; public static readonly RULE_opt_for_locking_clause = 546; public static readonly RULE_for_locking_items = 547; public static readonly RULE_for_locking_item = 548; public static readonly RULE_for_locking_strength = 549; public static readonly RULE_locked_rels_list = 550; public static readonly RULE_values_clause = 551; public static readonly RULE_from_clause = 552; public static readonly RULE_from_list = 553; public static readonly RULE_table_ref = 554; public static readonly RULE_alias_clause = 555; public static readonly RULE_opt_alias_clause = 556; public static readonly RULE_func_alias_clause = 557; public static readonly RULE_join_type = 558; public static readonly RULE_join_qual = 559; public static readonly RULE_relation_expr = 560; public static readonly RULE_view_relation_expr = 561; public static readonly RULE_publication_relation_expr = 562; public static readonly RULE_relation_expr_list = 563; public static readonly RULE_publication_relation_expr_list = 564; public static readonly RULE_relation_expr_opt_alias = 565; public static readonly RULE_tablesample_clause = 566; public static readonly RULE_opt_repeatable_clause = 567; public static readonly RULE_func_table = 568; public static readonly RULE_rowsfrom_item = 569; public static readonly RULE_rowsfrom_list = 570; public static readonly RULE_opt_col_def_list = 571; public static readonly RULE_opt_ordinality = 572; public static readonly RULE_where_clause = 573; public static readonly RULE_where_or_current_clause = 574; public static readonly RULE_opttablefuncelementlist = 575; public static readonly RULE_tablefuncelementlist = 576; public static readonly RULE_tablefuncelement = 577; public static readonly RULE_xmltable = 578; public static readonly RULE_xmltable_column_list = 579; public static readonly RULE_xmltable_column_el = 580; public static readonly RULE_xmltable_column_option_list = 581; public static readonly RULE_xmltable_column_option_el = 582; public static readonly RULE_xml_namespace_list = 583; public static readonly RULE_xml_namespace_el = 584; public static readonly RULE_typename = 585; public static readonly RULE_opt_array_bounds = 586; public static readonly RULE_simpletypename = 587; public static readonly RULE_consttypename = 588; public static readonly RULE_generictype = 589; public static readonly RULE_opt_type_modifiers = 590; public static readonly RULE_numeric = 591; public static readonly RULE_opt_float = 592; public static readonly RULE_bit = 593; public static readonly RULE_constbit = 594; public static readonly RULE_bitwithlength = 595; public static readonly RULE_bitwithoutlength = 596; public static readonly RULE_character = 597; public static readonly RULE_constcharacter = 598; public static readonly RULE_character_c = 599; public static readonly RULE_opt_varying = 600; public static readonly RULE_constdatetime = 601; public static readonly RULE_constinterval = 602; public static readonly RULE_opt_timezone = 603; public static readonly RULE_opt_interval = 604; public static readonly RULE_interval_second = 605; public static readonly RULE_opt_escape = 606; public static readonly RULE_a_expr = 607; public static readonly RULE_a_expr_qual = 608; public static readonly RULE_a_expr_lessless = 609; public static readonly RULE_a_expr_or = 610; public static readonly RULE_a_expr_and = 611; public static readonly RULE_a_expr_in = 612; public static readonly RULE_a_expr_unary_not = 613; public static readonly RULE_a_expr_isnull = 614; public static readonly RULE_a_expr_is_not = 615; public static readonly RULE_a_expr_compare = 616; public static readonly RULE_a_expr_like = 617; public static readonly RULE_a_expr_qual_op = 618; public static readonly RULE_a_expr_unary_qualop = 619; public static readonly RULE_a_expr_add = 620; public static readonly RULE_a_expr_mul = 621; public static readonly RULE_a_expr_caret = 622; public static readonly RULE_a_expr_unary_sign = 623; public static readonly RULE_a_expr_at_time_zone = 624; public static readonly RULE_a_expr_collate = 625; public static readonly RULE_a_expr_typecast = 626; public static readonly RULE_b_expr = 627; public static readonly RULE_c_expr = 628; public static readonly RULE_plsqlvariablename = 629; public static readonly RULE_func_application = 630; public static readonly RULE_func_expr = 631; public static readonly RULE_func_expr_windowless = 632; public static readonly RULE_func_expr_common_subexpr = 633; public static readonly RULE_xml_root_version = 634; public static readonly RULE_opt_xml_root_standalone = 635; public static readonly RULE_xml_attributes = 636; public static readonly RULE_xml_attribute_list = 637; public static readonly RULE_xml_attribute_el = 638; public static readonly RULE_document_or_content = 639; public static readonly RULE_xml_whitespace_option = 640; public static readonly RULE_xmlexists_argument = 641; public static readonly RULE_xml_passing_mech = 642; public static readonly RULE_within_group_clause = 643; public static readonly RULE_filter_clause = 644; public static readonly RULE_window_clause = 645; public static readonly RULE_window_definition_list = 646; public static readonly RULE_window_definition = 647; public static readonly RULE_over_clause = 648; public static readonly RULE_window_specification = 649; public static readonly RULE_opt_existing_window_name = 650; public static readonly RULE_opt_partition_clause = 651; public static readonly RULE_opt_frame_clause = 652; public static readonly RULE_frame_extent = 653; public static readonly RULE_frame_bound = 654; public static readonly RULE_opt_window_exclusion_clause = 655; public static readonly RULE_row = 656; public static readonly RULE_explicit_row = 657; public static readonly RULE_implicit_row = 658; public static readonly RULE_sub_type = 659; public static readonly RULE_all_op = 660; public static readonly RULE_mathop = 661; public static readonly RULE_qual_op = 662; public static readonly RULE_qual_all_op = 663; public static readonly RULE_subquery_Op = 664; public static readonly RULE_expr_list = 665; public static readonly RULE_column_expr_list_noparen = 666; public static readonly RULE_column_expr_list = 667; public static readonly RULE_column_expr = 668; public static readonly RULE_column_expr_noparen = 669; public static readonly RULE_func_arg_list = 670; public static readonly RULE_func_arg_expr = 671; public static readonly RULE_type_list = 672; public static readonly RULE_array_expr = 673; public static readonly RULE_array_expr_list = 674; public static readonly RULE_extract_list = 675; public static readonly RULE_extract_arg = 676; public static readonly RULE_unicode_normal_form = 677; public static readonly RULE_overlay_list = 678; public static readonly RULE_position_list = 679; public static readonly RULE_substr_list = 680; public static readonly RULE_trim_list = 681; public static readonly RULE_in_expr = 682; public static readonly RULE_case_expr = 683; public static readonly RULE_when_clause_list = 684; public static readonly RULE_when_clause = 685; public static readonly RULE_case_default = 686; public static readonly RULE_case_arg = 687; public static readonly RULE_columnref = 688; public static readonly RULE_indirection_el = 689; public static readonly RULE_opt_slice_bound = 690; public static readonly RULE_indirection = 691; public static readonly RULE_opt_indirection = 692; public static readonly RULE_opt_target_list = 693; public static readonly RULE_target_list = 694; public static readonly RULE_target_el = 695; public static readonly RULE_qualified_name_list = 696; public static readonly RULE_table_name_list = 697; public static readonly RULE_schema_name_list = 698; public static readonly RULE_database_nameList = 699; public static readonly RULE_procedure_name_list = 700; public static readonly RULE_tablespace_name_create = 701; public static readonly RULE_tablespace_name = 702; public static readonly RULE_table_name_create = 703; public static readonly RULE_table_name = 704; public static readonly RULE_view_name_create = 705; public static readonly RULE_view_name = 706; public static readonly RULE_qualified_name = 707; public static readonly RULE_tablespace_name_list = 708; public static readonly RULE_name_list = 709; public static readonly RULE_database_name_create = 710; public static readonly RULE_database_name = 711; public static readonly RULE_schema_name = 712; public static readonly RULE_routine_name_create = 713; public static readonly RULE_routine_name = 714; public static readonly RULE_procedure_name = 715; public static readonly RULE_procedure_name_create = 716; public static readonly RULE_column_name = 717; public static readonly RULE_column_name_create = 718; public static readonly RULE_name = 719; public static readonly RULE_attr_name = 720; public static readonly RULE_file_name = 721; public static readonly RULE_function_name_create = 722; public static readonly RULE_function_name = 723; public static readonly RULE_usual_name = 724; public static readonly RULE_aexprconst = 725; public static readonly RULE_xconst = 726; public static readonly RULE_bconst = 727; public static readonly RULE_fconst = 728; public static readonly RULE_iconst = 729; public static readonly RULE_sconst = 730; public static readonly RULE_anysconst = 731; public static readonly RULE_opt_uescape = 732; public static readonly RULE_signediconst = 733; public static readonly RULE_groupname = 734; public static readonly RULE_roleid = 735; public static readonly RULE_rolespec = 736; public static readonly RULE_role_list = 737; public static readonly RULE_colid = 738; public static readonly RULE_index_method_choices = 739; public static readonly RULE_exclude_element = 740; public static readonly RULE_index_paramenters = 741; public static readonly RULE_type_function_name = 742; public static readonly RULE_type_usual_name = 743; public static readonly RULE_nonreservedword_column = 744; public static readonly RULE_nonreservedword = 745; public static readonly RULE_collabel = 746; public static readonly RULE_identifier = 747; public static readonly RULE_plsqlidentifier = 748; public static readonly RULE_unreserved_keyword = 749; public static readonly RULE_col_name_keyword = 750; public static readonly RULE_type_func_name_keyword = 751; public static readonly RULE_reserved_keyword = 752; public static readonly RULE_pl_function = 753; public static readonly RULE_comp_options = 754; public static readonly RULE_comp_option = 755; public static readonly RULE_sharp = 756; public static readonly RULE_option_value = 757; public static readonly RULE_opt_semi = 758; public static readonly RULE_pl_block = 759; public static readonly RULE_decl_sect = 760; public static readonly RULE_decl_start = 761; public static readonly RULE_decl_stmts = 762; public static readonly RULE_label_decl = 763; public static readonly RULE_decl_stmt = 764; public static readonly RULE_decl_statement = 765; public static readonly RULE_opt_scrollable = 766; public static readonly RULE_decl_cursor_query = 767; public static readonly RULE_decl_cursor_args = 768; public static readonly RULE_decl_cursor_arglist = 769; public static readonly RULE_decl_cursor_arg = 770; public static readonly RULE_decl_is_for = 771; public static readonly RULE_decl_aliasitem = 772; public static readonly RULE_decl_varname = 773; public static readonly RULE_decl_const = 774; public static readonly RULE_decl_datatype = 775; public static readonly RULE_decl_collate = 776; public static readonly RULE_decl_notnull = 777; public static readonly RULE_decl_defval = 778; public static readonly RULE_decl_defkey = 779; public static readonly RULE_assign_operator = 780; public static readonly RULE_proc_sect = 781; public static readonly RULE_proc_stmt = 782; public static readonly RULE_stmt_perform = 783; public static readonly RULE_stmt_call = 784; public static readonly RULE_opt_expr_list = 785; public static readonly RULE_stmt_assign = 786; public static readonly RULE_stmt_getdiag = 787; public static readonly RULE_getdiag_area_opt = 788; public static readonly RULE_getdiag_list = 789; public static readonly RULE_getdiag_list_item = 790; public static readonly RULE_getdiag_item = 791; public static readonly RULE_getdiag_target = 792; public static readonly RULE_assign_var = 793; public static readonly RULE_stmt_if = 794; public static readonly RULE_stmt_elsifs = 795; public static readonly RULE_stmt_else = 796; public static readonly RULE_stmt_case = 797; public static readonly RULE_opt_expr_until_when = 798; public static readonly RULE_case_when_list = 799; public static readonly RULE_case_when = 800; public static readonly RULE_opt_case_else = 801; public static readonly RULE_stmt_loop = 802; public static readonly RULE_stmt_while = 803; public static readonly RULE_stmt_for = 804; public static readonly RULE_for_control = 805; public static readonly RULE_opt_for_using_expression = 806; public static readonly RULE_opt_cursor_parameters = 807; public static readonly RULE_opt_reverse = 808; public static readonly RULE_opt_by_expression = 809; public static readonly RULE_for_variable = 810; public static readonly RULE_stmt_foreach_a = 811; public static readonly RULE_foreach_slice = 812; public static readonly RULE_stmt_exit = 813; public static readonly RULE_exit_type = 814; public static readonly RULE_stmt_return = 815; public static readonly RULE_opt_return_result = 816; public static readonly RULE_stmt_raise = 817; public static readonly RULE_opt_stmt_raise_level = 818; public static readonly RULE_opt_raise_list = 819; public static readonly RULE_opt_raise_using = 820; public static readonly RULE_opt_raise_using_elem = 821; public static readonly RULE_opt_raise_using_elem_list = 822; public static readonly RULE_stmt_assert = 823; public static readonly RULE_opt_stmt_assert_message = 824; public static readonly RULE_loop_body = 825; public static readonly RULE_stmt_execsql = 826; public static readonly RULE_stmt_dynexecute = 827; public static readonly RULE_opt_execute_using = 828; public static readonly RULE_opt_execute_using_list = 829; public static readonly RULE_opt_execute_into = 830; public static readonly RULE_stmt_open = 831; public static readonly RULE_opt_open_bound_list_item = 832; public static readonly RULE_opt_open_bound_list = 833; public static readonly RULE_opt_open_using = 834; public static readonly RULE_opt_scroll_option = 835; public static readonly RULE_opt_scroll_option_no = 836; public static readonly RULE_stmt_fetch = 837; public static readonly RULE_into_target = 838; public static readonly RULE_opt_cursor_from = 839; public static readonly RULE_opt_fetch_direction = 840; public static readonly RULE_stmt_move = 841; public static readonly RULE_mergestmt = 842; public static readonly RULE_data_source = 843; public static readonly RULE_join_condition = 844; public static readonly RULE_merge_when_clause = 845; public static readonly RULE_merge_insert = 846; public static readonly RULE_merge_update = 847; public static readonly RULE_default_values_or_values = 848; public static readonly RULE_exprofdefaultlist = 849; public static readonly RULE_exprofdefault = 850; public static readonly RULE_stmt_close = 851; public static readonly RULE_stmt_null = 852; public static readonly RULE_stmt_commit = 853; public static readonly RULE_stmt_rollback = 854; public static readonly RULE_plsql_opt_transaction_chain = 855; public static readonly RULE_stmt_set = 856; public static readonly RULE_cursor_variable = 857; public static readonly RULE_exception_sect = 858; public static readonly RULE_proc_exceptions = 859; public static readonly RULE_proc_exception = 860; public static readonly RULE_proc_conditions = 861; public static readonly RULE_proc_condition = 862; public static readonly RULE_opt_block_label = 863; public static readonly RULE_opt_loop_label = 864; public static readonly RULE_opt_label = 865; public static readonly RULE_opt_exitcond = 866; public static readonly RULE_any_identifier = 867; public static readonly RULE_plsql_unreserved_keyword = 868; public static readonly RULE_sql_expression = 869; public static readonly RULE_expr_until_then = 870; public static readonly RULE_expr_until_semi = 871; public static readonly RULE_expr_until_rightbracket = 872; public static readonly RULE_expr_until_loop = 873; public static readonly RULE_make_execsql_stmt = 874; public static readonly RULE_opt_returning_clause_into = 875; // tslint:disable:no-trailing-whitespace public static readonly ruleNames: string[] = [ "program", "plsqlroot", "singleStmt", "stmt", "plsqlconsolecommand", "callstmt", "createrolestmt", "opt_with", "optrolelist", "alteroptrolelist", "alteroptroleelem", "createoptroleelem", "createuserstmt", "alterrolestmt", "opt_in_database", "alterrolesetstmt", "alterroutinestmt", "alter_routine_cluase", "routine_action_list", "routine_action", "creategroupstmt", "altergroupstmt", "add_drop", "createschemastmt", "schema_name_create", "optschemaeltlist", "schema_stmt", "variablesetstmt", "set_rest", "generic_set", "set_rest_more", "var_name", "var_list", "var_value", "iso_level", "opt_boolean_or_string_column", "opt_boolean_or_string", "zone_value", "opt_encoding", "nonreservedword_or_sconst_column", "nonreservedword_or_sconst", "variableresetstmt", "reset_rest", "generic_reset", "setresetclause", "functionsetresetclause", "variableshowstmt", "constraintssetstmt", "constraints_set_list", "constraints_set_mode", "checkpointstmt", "discardstmt", "altertablestmt", "alter_table_cmds", "partition_bound_spec", "partition_bound_cluase", "partition_bound_choose", "partition_with_cluase", "partition_cmd", "index_partition_cmd", "alter_table_cmd", "alter_column_default", "opt_drop_behavior", "opt_collate_clause", "alter_using", "replica_identity", "reloptions", "opt_reloptions", "reloption_list", "reloption_elem", "alter_identity_column_option_list", "alter_identity_column_option", "partitionboundspec", "hash_partbound_elem", "hash_partbound", "altercompositetypestmt", "alter_type_cmds", "alter_type_cmd", "closeportalstmt", "copystmt", "copy_from", "opt_program", "copy_file_name", "copy_options", "copy_opt_list", "copy_opt_item", "opt_binary", "copy_delimiter", "opt_using", "copy_generic_opt_list", "copy_generic_opt_elem", "copy_generic_opt_arg", "copy_generic_opt_arg_list", "copy_generic_opt_arg_list_item", "createstmt", "opttemp", "table_column_list", "opttableelementlist", "opttypedtableelementlist", "tableelementlist", "typedtableelementlist", "tableelement", "typedtableelement", "columnDefCluase", "columnDef", "compressionCluase", "storageCluase", "columnOptions", "colquallist", "colconstraint", "colconstraintelem", "nulls_distinct", "generated_when", "deferrable_trigger", "initially_trigger", "tablelikeclause", "tablelikeoptionlist", "tablelikeoption", "tableconstraint", "constraintelem", "opt_no_inherit", "opt_column_list", "columnlist", "opt_c_include", "key_match", "exclusionconstraintlist", "exclusionconstraintelem", "exclusionwhereclause", "key_actions", "key_update", "key_delete", "key_action", "optinherit", "optpartitionspec", "partitionspec", "part_params", "part_elem", "table_access_method_clause", "optwith", "oncommitoption", "opttablespace", "index_paramenters_create", "optconstablespace", "existingindex", "createstatsstmt", "alterstatsstmt", "createasstmt", "create_as_target", "opt_with_data", "creatematviewstmt", "create_mv_target", "optnolog", "refreshmatviewstmt", "createseqstmt", "alterseqstmt", "optseqoptlist", "optparenthesizedseqoptlist", "seqoptlist", "seqoptelem", "opt_by", "numericonly", "numericonly_list", "createplangstmt", "opt_trusted", "handler_name", "opt_inline_handler", "validator_clause", "opt_validator", "opt_procedural", "createtablespacestmt", "opttablespaceowner", "createextensionstmt", "create_extension_opt_list", "create_extension_opt_item", "alterextensionstmt", "alter_extension_opt_list", "alter_extension_opt_item", "alterextensioncontentsstmt", "createfdwstmt", "fdw_option", "fdw_options", "opt_fdw_options", "alterfdwstmt", "create_generic_options", "generic_option_list", "alter_generic_options", "alter_generic_option_list", "alter_generic_option_elem", "generic_option_elem", "generic_option_name", "generic_option_arg", "createforeignserverstmt", "opt_type", "foreign_server_version", "opt_foreign_server_version", "alterforeignserverstmt", "createforeigntablestmt", "importforeignschemastmt", "import_qualification_type", "import_qualification", "createusermappingstmt", "auth_ident", "alterusermappingstmt", "createpolicystmt", "alterpolicystmt", "alterprocedurestmt", "procedure_cluase", "procedure_action", "rowsecurityoptionalexpr", "rowsecurityoptionalwithcheck", "rowsecuritydefaulttorole", "rowsecurityoptionaltorole", "rowsecuritydefaultpermissive", "rowsecuritydefaultforcmd", "row_security_cmd", "createamstmt", "am_type", "createtrigstmt", "triggeractiontime", "foreachrow", "roworstatment", "triggerevents", "triggeroneevent", "triggerreferencing", "triggertransitions", "triggertransition", "transitionoldornew", "transitionrowortable", "transitionrelname", "triggerforspec", "triggerforopteach", "triggerfortype", "triggerwhen", "function_or_procedure", "triggerfuncargs", "triggerfuncarg", "optconstrfromtable", "constraintattributespec", "constraintattributeElem", "createeventtrigstmt", "event_trigger_when_list", "event_trigger_when_item", "event_trigger_value_list", "altereventtrigstmt", "enable_trigger", "createassertionstmt", "definestmt", "definition", "def_list", "def_elem", "def_arg", "old_aggr_definition", "old_aggr_list", "old_aggr_elem", "opt_enum_val_list", "enum_val_list", "alterenumstmt", "opt_if_not_exists", "createopclassstmt", "opclass_item_list", "opclass_item", "opt_default", "opt_opfamily", "opclass_purpose", "opt_recheck", "createopfamilystmt", "alteropfamilystmt", "opclass_drop_list", "opclass_drop", "reassignownedstmt", "dropstmt", "view_nameList", "object_type_any_name", "object_type_name", "object_type_name_on_any_name", "any_name_list", "table_column_name", "relation_column_name", "relation_name", "any_name", "attrs", "type_name_list", "truncatestmt", "opt_restart_seqs", "commentstmt", "comment_text", "seclabelstmt", "opt_provider", "security_label", "fetchstmt", "fetch_args", "from_in", "opt_from_in", "grantstmt", "revokestmt", "privileges", "beforeprivilegeselectlist", "beforeprivilegeselect", "privilege_list", "privilege", "privilege_target", "grantee_list", "grantee", "opt_grant_grant_option", "grantrolestmt", "revokerolestmt", "opt_grant_admin_option", "opt_granted_by", "alterdefaultprivilegesstmt", "defacloptionlist", "defacloption", "defaclaction", "defacl_privilege_target", "indexstmt", "opt_unique", "opt_concurrently", "opt_index_name", "access_method_clause", "index_params", "index_elem_options", "index_elem", "opt_include", "index_including_params", "opt_collate", "opt_class", "opt_asc_desc", "opt_nulls_order", "createfunctionstmt", "attrilist", "opt_or_replace", "func_args", "func_args_list", "routine_with_argtypes_list", "routine_with_argtypes", "procedure_with_argtypes_list", "procedure_with_argtypes", "function_with_argtypes_list", "function_with_argtypes", "func_args_with_defaults", "func_args_with_defaults_list", "func_arg", "arg_class", "param_name", "func_return", "func_type", "func_arg_with_default", "aggr_arg", "aggr_args", "aggr_args_list", "aggregate_with_argtypes", "aggregate_with_argtypes_list", "createfunc_opt_list", "common_func_opt_item", "createfunc_opt_item", "transform_type_list", "opt_definition", "table_func_column", "table_func_column_list", "alterfunctionstmt", "alterFunctionTypeClause", "alterfunc_opt_list", "opt_restrict", "removefuncstmt", "removeaggrstmt", "removeoperstmt", "oper_argtypes", "any_operator", "operator_with_argtypes_list", "operator_with_argtypes", "dostmt", "dostmt_opt_list", "dostmt_opt_item", "createcaststmt", "cast_context", "opt_if_exists", "createtransformstmt", "transform_element_list", "reindexstmt", "reindex_target_type", "reindex_target_multitable", "reindex_option_list", "reindex_option_elem", "altertblspcstmt", "renamestmt", "opt_column", "opt_set_data", "alterobjectdependsstmt", "opt_no", "alterobjectschemastmt", "alteroperatorstmt", "operator_def_list", "operator_def_elem", "operator_def_arg", "altertypestmt", "alterownerstmt", "createpublicationstmt", "opt_publication_for_tables", "publication_for_tables", "alterpublicationstmt", "createsubscriptionstmt", "publication_name_list", "publication_name_item", "altersubscriptionstmt", "rulestmt", "ruleactionlist", "ruleactionmulti", "ruleactionstmt", "ruleactionstmtOrEmpty", "event", "opt_instead", "notifystmt", "notify_payload", "listenstmt", "unlistenstmt", "transactionstmt", "opt_transaction", "transaction_mode_item", "transaction_mode_list", "transaction_mode_list_or_empty", "opt_transaction_chain", "viewstmt", "opt_check_option", "loadstmt", "createdbstmt", "createdb_opt_list", "createdb_opt_items", "createdb_opt_item", "createdb_opt_name", "opt_equal", "alterdatabasestmt", "alterdatabasesetstmt", "drop_option_list", "drop_option", "altercollationstmt", "altersystemstmt", "createdomainstmt", "alterdomainstmt", "opt_as", "altertsdictionarystmt", "altertsconfigurationstmt", "any_with", "createconversionstmt", "clusterstmt", "opt_verbose_list", "cluster_index_specification", "vacuumstmt", "analyzestmt", "vac_analyze_option_list", "analyze_keyword", "vac_analyze_option_elem", "vac_analyze_option_name", "vac_analyze_option_arg", "opt_analyze", "analyze_options_list", "analyze_option_elem", "opt_verbose", "opt_skiplock", "opt_buffer_usage_limit", "opt_full", "opt_freeze", "opt_name_list", "vacuum_relation", "vacuum_relation_list", "opt_vacuum_relation_list", "explainstmt", "explainablestmt", "explain_option_list", "explain_option_elem", "explain_option_name", "explain_option_arg", "preparestmt", "prep_type_clause", "preparablestmt", "executestmt", "execute_param_clause", "deallocatestmt", "insertstmt", "insert_target", "insert_rest", "override_kind", "insert_column_list", "insert_column_item", "opt_on_conflict", "opt_conf_expr", "returning_clause", "deletestmt", "using_clause", "lockstmt", "opt_lock", "lock_type", "opt_nowait", "opt_nowait_or_skip", "updatestmt", "set_clause_list", "set_clause", "set_target", "set_target_list", "declarecursorstmt", "cursor_name", "cursor_options", "opt_hold", "selectstmt", "select_with_parens", "select_no_parens", "select_clause", "simple_select", "set_operator", "set_operator_with_all_or_distinct", "with_clause", "cte_list", "common_table_expr", "search_cluase", "cycle_cluase", "opt_materialized", "opt_with_clause", "into_clause", "opt_strict", "opttempTableName", "opt_table", "all_or_distinct", "distinct_clause", "opt_all_clause", "opt_sort_clause", "sort_clause", "sortby_list", "sortby", "select_limit", "opt_select_limit", "limit_clause", "fetch_clause", "offset_clause", "select_limit_value", "select_offset_value", "select_fetch_first_value", "i_or_f_const", "row_or_rows", "first_or_next", "group_clause", "group_by_list", "group_by_item", "empty_grouping_set", "rollup_clause", "cube_clause", "grouping_sets_clause", "having_clause", "for_locking_clause", "opt_for_locking_clause", "for_locking_items", "for_locking_item", "for_locking_strength", "locked_rels_list", "values_clause", "from_clause", "from_list", "table_ref", "alias_clause", "opt_alias_clause", "func_alias_clause", "join_type", "join_qual", "relation_expr", "view_relation_expr", "publication_relation_expr", "relation_expr_list", "publication_relation_expr_list", "relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause", "func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list", "opt_ordinality", "where_clause", "where_or_current_clause", "opttablefuncelementlist", "tablefuncelementlist", "tablefuncelement", "xmltable", "xmltable_column_list", "xmltable_column_el", "xmltable_column_option_list", "xmltable_column_option_el", "xml_namespace_list", "xml_namespace_el", "typename", "opt_array_bounds", "simpletypename", "consttypename", "generictype", "opt_type_modifiers", "numeric", "opt_float", "bit", "constbit", "bitwithlength", "bitwithoutlength", "character", "constcharacter", "character_c", "opt_varying", "constdatetime", "constinterval", "opt_timezone", "opt_interval", "interval_second", "opt_escape", "a_expr", "a_expr_qual", "a_expr_lessless", "a_expr_or", "a_expr_and", "a_expr_in", "a_expr_unary_not", "a_expr_isnull", "a_expr_is_not", "a_expr_compare", "a_expr_like", "a_expr_qual_op", "a_expr_unary_qualop", "a_expr_add", "a_expr_mul", "a_expr_caret", "a_expr_unary_sign", "a_expr_at_time_zone", "a_expr_collate", "a_expr_typecast", "b_expr", "c_expr", "plsqlvariablename", "func_application", "func_expr", "func_expr_windowless", "func_expr_common_subexpr", "xml_root_version", "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list", "xml_attribute_el", "document_or_content", "xml_whitespace_option", "xmlexists_argument", "xml_passing_mech", "within_group_clause", "filter_clause", "window_clause", "window_definition_list", "window_definition", "over_clause", "window_specification", "opt_existing_window_name", "opt_partition_clause", "opt_frame_clause", "frame_extent", "frame_bound", "opt_window_exclusion_clause", "row", "explicit_row", "implicit_row", "sub_type", "all_op", "mathop", "qual_op", "qual_all_op", "subquery_Op", "expr_list", "column_expr_list_noparen", "column_expr_list", "column_expr", "column_expr_noparen", "func_arg_list", "func_arg_expr", "type_list", "array_expr", "array_expr_list", "extract_list", "extract_arg", "unicode_normal_form", "overlay_list", "position_list", "substr_list", "trim_list", "in_expr", "case_expr", "when_clause_list", "when_clause", "case_default", "case_arg", "columnref", "indirection_el", "opt_slice_bound", "indirection", "opt_indirection", "opt_target_list", "target_list", "target_el", "qualified_name_list", "table_name_list", "schema_name_list", "database_nameList", "procedure_name_list", "tablespace_name_create", "tablespace_name", "table_name_create", "table_name", "view_name_create", "view_name", "qualified_name", "tablespace_name_list", "name_list", "database_name_create", "database_name", "schema_name", "routine_name_create", "routine_name", "procedure_name", "procedure_name_create", "column_name", "column_name_create", "name", "attr_name", "file_name", "function_name_create", "function_name", "usual_name", "aexprconst", "xconst", "bconst", "fconst", "iconst", "sconst", "anysconst", "opt_uescape", "signediconst", "groupname", "roleid", "rolespec", "role_list", "colid", "index_method_choices", "exclude_element", "index_paramenters", "type_function_name", "type_usual_name", "nonreservedword_column", "nonreservedword", "collabel", "identifier", "plsqlidentifier", "unreserved_keyword", "col_name_keyword", "type_func_name_keyword", "reserved_keyword", "pl_function", "comp_options", "comp_option", "sharp", "option_value", "opt_semi", "pl_block", "decl_sect", "decl_start", "decl_stmts", "label_decl", "decl_stmt", "decl_statement", "opt_scrollable", "decl_cursor_query", "decl_cursor_args", "decl_cursor_arglist", "decl_cursor_arg", "decl_is_for", "decl_aliasitem", "decl_varname", "decl_const", "decl_datatype", "decl_collate", "decl_notnull", "decl_defval", "decl_defkey", "assign_operator", "proc_sect", "proc_stmt", "stmt_perform", "stmt_call", "opt_expr_list", "stmt_assign", "stmt_getdiag", "getdiag_area_opt", "getdiag_list", "getdiag_list_item", "getdiag_item", "getdiag_target", "assign_var", "stmt_if", "stmt_elsifs", "stmt_else", "stmt_case", "opt_expr_until_when", "case_when_list", "case_when", "opt_case_else", "stmt_loop", "stmt_while", "stmt_for", "for_control", "opt_for_using_expression", "opt_cursor_parameters", "opt_reverse", "opt_by_expression", "for_variable", "stmt_foreach_a", "foreach_slice", "stmt_exit", "exit_type", "stmt_return", "opt_return_result", "stmt_raise", "opt_stmt_raise_level", "opt_raise_list", "opt_raise_using", "opt_raise_using_elem", "opt_raise_using_elem_list", "stmt_assert", "opt_stmt_assert_message", "loop_body", "stmt_execsql", "stmt_dynexecute", "opt_execute_using", "opt_execute_using_list", "opt_execute_into", "stmt_open", "opt_open_bound_list_item", "opt_open_bound_list", "opt_open_using", "opt_scroll_option", "opt_scroll_option_no", "stmt_fetch", "into_target", "opt_cursor_from", "opt_fetch_direction", "stmt_move", "mergestmt", "data_source", "join_condition", "merge_when_clause", "merge_insert", "merge_update", "default_values_or_values", "exprofdefaultlist", "exprofdefault", "stmt_close", "stmt_null", "stmt_commit", "stmt_rollback", "plsql_opt_transaction_chain", "stmt_set", "cursor_variable", "exception_sect", "proc_exceptions", "proc_exception", "proc_conditions", "proc_condition", "opt_block_label", "opt_loop_label", "opt_label", "opt_exitcond", "any_identifier", "plsql_unreserved_keyword", "sql_expression", "expr_until_then", "expr_until_semi", "expr_until_rightbracket", "expr_until_loop", "make_execsql_stmt", "opt_returning_clause_into", ]; private static readonly _LITERAL_NAMES: Array = [ undefined, "'$'", "'('", "')'", "'['", "']'", "','", "';'", "':'", "'*'", "'='", "'.'", "'+'", "'-'", "'/'", "'^'", "'<'", "'>'", "'<<'", "'>>'", "':='", "'<='", "'=>'", "'>='", "'..'", "'<>'", "'::'", "'%'", undefined, undefined, "'ALL'", "'ANALYSE'", "'ANALYZE'", "'AND'", "'ANY'", "'ARRAY'", "'AS'", "'ASC'", "'ASYMMETRIC'", "'BOTH'", "'CASE'", "'CAST'", "'CHECK'", "'COLLATE'", "'COLUMN'", "'CONSTRAINT'", "'CREATE'", "'CURRENT_CATALOG'", "'CURRENT_DATE'", "'CURRENT_ROLE'", "'CURRENT_TIME'", "'CURRENT_TIMESTAMP'", "'CURRENT_USER'", "'DEFAULT'", "'DEFERRABLE'", "'DESC'", "'DISTINCT'", "'DO'", "'ELSE'", "'EXCEPT'", "'FALSE'", "'FETCH'", "'FOR'", "'FOREIGN'", "'FROM'", "'GRANT'", "'GROUP'", "'HAVING'", "'IN'", "'INITIALLY'", "'INTERSECT'", "'INTO'", "'LATERAL'", "'LEADING'", "'LIMIT'", "'LOCALTIME'", "'LOCALTIMESTAMP'", "'NOT'", "'NULL'", "'OFFSET'", "'ON'", "'ONLY'", "'OR'", "'ORDER'", "'PLACING'", "'PRIMARY'", "'REFERENCES'", "'RETURNING'", "'SELECT'", "'SESSION_USER'", "'SOME'", "'SYMMETRIC'", "'TABLE'", "'THEN'", "'TO'", "'TRAILING'", "'TRUE'", "'UNION'", "'UNIQUE'", "'USER'", "'USING'", "'VARIADIC'", "'WHEN'", "'WHERE'", "'WINDOW'", "'WITH'", "'AUTHORIZATION'", "'BINARY'", "'COLLATION'", "'CONCURRENTLY'", "'CROSS'", "'CURRENT_SCHEMA'", "'FREEZE'", "'FULL'", "'ILIKE'", "'INNER'", "'IS'", "'ISNULL'", "'JOIN'", "'LEFT'", "'LIKE'", "'NATURAL'", "'NOTNULL'", "'OUTER'", "'OVER'", "'OVERLAPS'", "'RIGHT'", "'SIMILAR'", "'VERBOSE'", "'ABORT'", "'ABSOLUTE'", "'ACCESS'", "'ACTION'", "'ADD'", "'ADMIN'", "'AFTER'", "'AGGREGATE'", "'ALSO'", "'ALTER'", "'ALWAYS'", "'ASSERTION'", "'ASSIGNMENT'", "'AT'", "'ATTRIBUTE'", "'BACKWARD'", "'BEFORE'", "'BEGIN'", "'BY'", "'CACHE'", "'CALLED'", "'CASCADE'", "'CASCADED'", "'CATALOG'", "'CHAIN'", "'CHARACTERISTICS'", "'CHECKPOINT'", "'CLASS'", "'CLOSE'", "'CLUSTER'", "'COMMENT'", "'COMMENTS'", "'COMMIT'", "'COMMITTED'", "'CONFIGURATION'", "'CONNECTION'", "'CONSTRAINTS'", "'CONTENT'", "'CONTINUE'", "'CONVERSION'", "'COPY'", "'COST'", "'CSV'", "'CURSOR'", "'CYCLE'", "'DATA'", "'DATABASE'", "'DAY'", "'DEALLOCATE'", "'DECLARE'", "'DEFAULTS'", "'DEFERRED'", "'DEFINER'", "'DELETE'", "'DELIMITER'", "'DELIMITERS'", "'DICTIONARY'", "'DISABLE'", "'DISCARD'", "'DOCUMENT'", "'DOMAIN'", "'DOUBLE'", "'DROP'", "'EACH'", "'ENABLE'", "'ENCODING'", "'ENCRYPTED'", "'ENUM'", "'ESCAPE'", "'EVENT'", "'EXCLUDE'", "'EXCLUDING'", "'EXCLUSIVE'", "'EXECUTE'", "'EXPLAIN'", "'EXTENSION'", "'EXTERNAL'", "'FAMILY'", "'FIRST'", "'FOLLOWING'", "'FORCE'", "'FORWARD'", "'FUNCTION'", "'FUNCTIONS'", "'GLOBAL'", "'GRANTED'", "'HANDLER'", "'HEADER'", "'HOLD'", "'HOUR'", "'IDENTITY'", "'IF'", "'IMMEDIATE'", "'IMMUTABLE'", "'IMPLICIT'", "'INCLUDING'", "'INCREMENT'", "'INDEX'", "'INDEXES'", "'INHERIT'", "'NOINHERIT'", "'SUPERUSER'", "'NOSUPERUSER'", "'CREATEDB'", "'NOCREATEDB'", "'CREATEROLE'", "'NOCREATEROLE'", "'CREATEUSER'", "'NOCREATEUSER'", "'INHERITS'", "'INLINE'", "'INSENSITIVE'", "'INSERT'", "'INSTEAD'", "'INVOKER'", "'ISOLATION'", "'KEY'", "'LABEL'", "'LANGUAGE'", "'LARGE'", "'LAST'", "'LEAKPROOF'", "'LEVEL'", "'LISTEN'", "'LOAD'", "'LOCAL'", "'LOCATION'", "'LOCK'", "'MAPPING'", "'MATCH'", "'MATERIALIZED'", "'MAXVALUE'", "'MINUTE'", "'MINVALUE'", "'MODE'", "'MONTH'", "'MOVE'", "'NAME'", "'NAMES'", "'NEXT'", "'NO'", "'NOTHING'", "'NOTIFY'", "'NOWAIT'", "'NULLS'", "'OBJECT'", "'OF'", "'OFF'", "'OIDS'", "'OPERATOR'", "'OPTION'", "'OPTIONS'", "'OWNED'", "'OWNER'", "'PARSER'", "'PARTIAL'", "'PARTITION'", "'PASSING'", "'PASSWORD'", "'PLANS'", "'PRECEDING'", "'PREPARE'", "'PREPARED'", "'PRESERVE'", "'PRIOR'", "'PRIVILEGES'", "'PROCEDURAL'", "'PROCEDURE'", "'PROGRAM'", "'QUOTE'", "'RANGE'", "'READ'", "'REASSIGN'", "'RECHECK'", "'RECURSIVE'", "'REF'", "'REFRESH'", "'REINDEX'", "'RELATIVE'", "'RELEASE'", "'RENAME'", "'REPEATABLE'", "'REPLACE'", "'REPLICA'", "'RESET'", "'RESTART'", "'RESTRICT'", "'RETURNS'", "'REVOKE'", "'ROLE'", "'ROLLBACK'", "'ROWS'", "'RULE'", "'SAVEPOINT'", "'SCHEMA'", "'SCROLL'", "'SEARCH'", "'SECOND'", "'SECURITY'", "'SEQUENCE'", "'SEQUENCES'", "'SERIALIZABLE'", "'SERVER'", "'SESSION'", "'SET'", "'SHARE'", "'SHOW'", "'SIMPLE'", "'SNAPSHOT'", "'STABLE'", "'STANDALONE'", "'START'", "'STATEMENT'", "'STATISTICS'", "'STDIN'", "'STDOUT'", "'STORAGE'", "'STRICT'", "'STRIP'", "'SYSID'", "'SYSTEM'", "'TABLES'", "'TABLESPACE'", "'TEMP'", "'TEMPLATE'", "'TEMPORARY'", "'TEXT'", "'TRANSACTION'", "'TRIGGER'", "'TRUNCATE'", "'TRUSTED'", "'TYPE'", "'TYPES'", "'UNBOUNDED'", "'UNCOMMITTED'", "'UNENCRYPTED'", "'UNKNOWN'", "'UNLISTEN'", "'UNLOGGED'", "'UNTIL'", "'UPDATE'", "'VACUUM'", "'VALID'", "'VALIDATE'", "'VALIDATOR'", "'VARYING'", "'VERSION'", "'VIEW'", "'VOLATILE'", "'WHITESPACE'", "'WITHOUT'", "'WORK'", "'WRAPPER'", "'WRITE'", "'XML'", "'YEAR'", "'YES'", "'ZONE'", "'BETWEEN'", "'BIGINT'", "'BIT'", "'BOOLEAN'", "'CHAR'", "'CHARACTER'", "'COALESCE'", "'DEC'", "'DECIMAL'", "'EXISTS'", "'EXTRACT'", "'FLOAT'", "'GREATEST'", "'INOUT'", "'INT'", "'INTEGER'", "'INTERVAL'", "'LEAST'", "'NATIONAL'", "'NCHAR'", "'NONE'", "'NULLIF'", "'NUMERIC'", "'OVERLAY'", "'POSITION'", "'PRECISION'", "'REAL'", "'ROW'", "'SETOF'", "'SMALLINT'", "'SUBSTRING'", "'TIME'", "'TIMESTAMP'", "'TREAT'", "'TRIM'", "'VALUES'", "'VARCHAR'", "'XMLATTRIBUTES'", "'XMLCONCAT'", "'XMLELEMENT'", "'XMLEXISTS'", "'XMLFOREST'", "'XMLPARSE'", "'XMLPI'", "'XMLROOT'", "'XMLSERIALIZE'", "'CALL'", "'CURRENT'", "'ATTACH'", "'DETACH'", "'EXPRESSION'", "'GENERATED'", "'LOGGED'", "'STORED'", "'INCLUDE'", "'ROUTINE'", "'TRANSFORM'", "'IMPORT'", "'POLICY'", "'METHOD'", "'REFERENCING'", "'NEW'", "'OLD'", "'VALUE'", "'SUBSCRIPTION'", "'PUBLICATION'", "'OUT'", "'END'", "'ROUTINES'", "'SCHEMAS'", "'PROCEDURES'", "'INPUT'", "'SUPPORT'", "'PARALLEL'", "'SQL'", "'DEPENDS'", "'OVERRIDING'", "'CONFLICT'", "'SKIP'", "'LOCKED'", "'TIES'", "'ROLLUP'", "'CUBE'", "'GROUPING'", "'SETS'", "'TABLESAMPLE'", "'ORDINALITY'", "'XMLTABLE'", "'COLUMNS'", "'XMLNAMESPACES'", "'ROWTYPE'", "'NORMALIZED'", "'WITHIN'", "'FILTER'", "'GROUPS'", "'OTHERS'", "'NFC'", "'NFD'", "'NFKC'", "'NFKD'", "'UESCAPE'", "'VIEWS'", "'NORMALIZE'", "'DUMP'", "'PRINT_STRICT_PARAMS'", "'VARIABLE_CONFLICT'", "'ERROR'", "'USE_VARIABLE'", "'USE_COLUMN'", "'ALIAS'", "'CONSTANT'", "'PERFORM'", "'GET'", "'DIAGNOSTICS'", "'STACKED'", "'ELSIF'", "'WHILE'", "'REVERSE'", "'FOREACH'", "'SLICE'", "'EXIT'", "'RETURN'", "'QUERY'", "'RAISE'", "'SQLSTATE'", "'DEBUG'", "'LOG'", "'INFO'", "'NOTICE'", "'WARNING'", "'EXCEPTION'", "'ASSERT'", "'LOOP'", "'OPEN'", "'PEFERENCES'", "'USAGE'", "'CONNECT'", "'PUBLIC'", "'MERGE'", "'MATCHED'", "'BREADTH'", "'DEPTH'", "'UNSAFE'", "'RESTRICTED'", "'SAFE'", "'FINALIZE'", "'MODULUS'", "'REMAINDER'", "'LOGIN'", "'NOLOGIN'", "'REPLICATION'", "'NOREPLICATION'", "'BYPASSRLS'", "'NOBYPASSRLS'", "'PERMISSIVE'", "'RESTRICTIVE'", "'COMPRESSION'", "'PLAIN'", "'EXTENDED'", "'MAIN'", "'SKIP_LOCKED'", "'BUFFER_USAGE_LIMIT'", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "'\\''", undefined, undefined, undefined, undefined, undefined, undefined, undefined, "'''", ]; private static readonly _SYMBOLIC_NAMES: Array = [ undefined, "Dollar", "OPEN_PAREN", "CLOSE_PAREN", "OPEN_BRACKET", "CLOSE_BRACKET", "COMMA", "SEMI", "COLON", "STAR", "EQUAL", "DOT", "PLUS", "MINUS", "SLASH", "CARET", "LT", "GT", "LESS_LESS", "GREATER_GREATER", "COLON_EQUALS", "LESS_EQUALS", "EQUALS_GREATER", "GREATER_EQUALS", "DOT_DOT", "NOT_EQUALS", "TYPECAST", "PERCENT", "PARAM", "Operator", "KW_ALL", "KW_ANALYSE", "KW_ANALYZE", "KW_AND", "KW_ANY", "KW_ARRAY", "KW_AS", "KW_ASC", "KW_ASYMMETRIC", "KW_BOTH", "KW_CASE", "KW_CAST", "KW_CHECK", "KW_COLLATE", "KW_COLUMN", "KW_CONSTRAINT", "KW_CREATE", "KW_CURRENT_CATALOG", "KW_CURRENT_DATE", "KW_CURRENT_ROLE", "KW_CURRENT_TIME", "KW_CURRENT_TIMESTAMP", "KW_CURRENT_USER", "KW_DEFAULT", "KW_DEFERRABLE", "KW_DESC", "KW_DISTINCT", "KW_DO", "KW_ELSE", "KW_EXCEPT", "KW_FALSE", "KW_FETCH", "KW_FOR", "KW_FOREIGN", "KW_FROM", "KW_GRANT", "KW_GROUP", "KW_HAVING", "KW_IN", "KW_INITIALLY", "KW_INTERSECT", "KW_INTO", "KW_LATERAL", "KW_LEADING", "KW_LIMIT", "KW_LOCALTIME", "KW_LOCALTIMESTAMP", "KW_NOT", "KW_NULL", "KW_OFFSET", "KW_ON", "KW_ONLY", "KW_OR", "KW_ORDER", "KW_PLACING", "KW_PRIMARY", "KW_REFERENCES", "KW_RETURNING", "KW_SELECT", "KW_SESSION_USER", "KW_SOME", "KW_SYMMETRIC", "KW_TABLE", "KW_THEN", "KW_TO", "KW_TRAILING", "KW_TRUE", "KW_UNION", "KW_UNIQUE", "KW_USER", "KW_USING", "KW_VARIADIC", "KW_WHEN", "KW_WHERE", "KW_WINDOW", "KW_WITH", "KW_AUTHORIZATION", "KW_BINARY", "KW_COLLATION", "KW_CONCURRENTLY", "KW_CROSS", "KW_CURRENT_SCHEMA", "KW_FREEZE", "KW_FULL", "KW_ILIKE", "KW_INNER", "KW_IS", "KW_ISNULL", "KW_JOIN", "KW_LEFT", "KW_LIKE", "KW_NATURAL", "KW_NOTNULL", "KW_OUTER", "KW_OVER", "KW_OVERLAPS", "KW_RIGHT", "KW_SIMILAR", "KW_VERBOSE", "KW_ABORT", "KW_ABSOLUTE", "KW_ACCESS", "KW_ACTION", "KW_ADD", "KW_ADMIN", "KW_AFTER", "KW_AGGREGATE", "KW_ALSO", "KW_ALTER", "KW_ALWAYS", "KW_ASSERTION", "KW_ASSIGNMENT", "KW_AT", "KW_ATTRIBUTE", "KW_BACKWARD", "KW_BEFORE", "KW_BEGIN", "KW_BY", "KW_CACHE", "KW_CALLED", "KW_CASCADE", "KW_CASCADED", "KW_CATALOG", "KW_CHAIN", "KW_CHARACTERISTICS", "KW_CHECKPOINT", "KW_CLASS", "KW_CLOSE", "KW_CLUSTER", "KW_COMMENT", "KW_COMMENTS", "KW_COMMIT", "KW_COMMITTED", "KW_CONFIGURATION", "KW_CONNECTION", "KW_CONSTRAINTS", "KW_CONTENT", "KW_CONTINUE", "KW_CONVERSION", "KW_COPY", "KW_COST", "KW_CSV", "KW_CURSOR", "KW_CYCLE", "KW_DATA", "KW_DATABASE", "KW_DAY", "KW_DEALLOCATE", "KW_DECLARE", "KW_DEFAULTS", "KW_DEFERRED", "KW_DEFINER", "KW_DELETE", "KW_DELIMITER", "KW_DELIMITERS", "KW_DICTIONARY", "KW_DISABLE", "KW_DISCARD", "KW_DOCUMENT", "KW_DOMAIN", "KW_DOUBLE", "KW_DROP", "KW_EACH", "KW_ENABLE", "KW_ENCODING", "KW_ENCRYPTED", "KW_ENUM", "KW_ESCAPE", "KW_EVENT", "KW_EXCLUDE", "KW_EXCLUDING", "KW_EXCLUSIVE", "KW_EXECUTE", "KW_EXPLAIN", "KW_EXTENSION", "KW_EXTERNAL", "KW_FAMILY", "KW_FIRST", "KW_FOLLOWING", "KW_FORCE", "KW_FORWARD", "KW_FUNCTION", "KW_FUNCTIONS", "KW_GLOBAL", "KW_GRANTED", "KW_HANDLER", "KW_HEADER", "KW_HOLD", "KW_HOUR", "KW_IDENTITY", "KW_IF", "KW_IMMEDIATE", "KW_IMMUTABLE", "KW_IMPLICIT", "KW_INCLUDING", "KW_INCREMENT", "KW_INDEX", "KW_INDEXES", "KW_INHERIT", "KW_NOINHERIT", "KW_SUPERUSER", "KW_NOSUPERUSER", "KW_CREATEDB", "KW_NOCREATEDB", "KW_CREATEROLE", "KW_NOCREATEROLE", "KW_CREATEUSER", "KW_NOCREATEUSER", "KW_INHERITS", "KW_INLINE", "KW_INSENSITIVE", "KW_INSERT", "KW_INSTEAD", "KW_INVOKER", "KW_ISOLATION", "KW_KEY", "KW_LABEL", "KW_LANGUAGE", "KW_LARGE", "KW_LAST", "KW_LEAKPROOF", "KW_LEVEL", "KW_LISTEN", "KW_LOAD", "KW_LOCAL", "KW_LOCATION", "KW_LOCK", "KW_MAPPING", "KW_MATCH", "KW_MATERIALIZED", "KW_MAXVALUE", "KW_MINUTE", "KW_MINVALUE", "KW_MODE", "KW_MONTH", "KW_MOVE", "KW_NAME", "KW_NAMES", "KW_NEXT", "KW_NO", "KW_NOTHING", "KW_NOTIFY", "KW_NOWAIT", "KW_NULLS", "KW_OBJECT", "KW_OF", "KW_OFF", "KW_OIDS", "KW_OPERATOR", "KW_OPTION", "KW_OPTIONS", "KW_OWNED", "KW_OWNER", "KW_PARSER", "KW_PARTIAL", "KW_PARTITION", "KW_PASSING", "KW_PASSWORD", "KW_PLANS", "KW_PRECEDING", "KW_PREPARE", "KW_PREPARED", "KW_PRESERVE", "KW_PRIOR", "KW_PRIVILEGES", "KW_PROCEDURAL", "KW_PROCEDURE", "KW_PROGRAM", "KW_QUOTE", "KW_RANGE", "KW_READ", "KW_REASSIGN", "KW_RECHECK", "KW_RECURSIVE", "KW_REF", "KW_REFRESH", "KW_REINDEX", "KW_RELATIVE", "KW_RELEASE", "KW_RENAME", "KW_REPEATABLE", "KW_REPLACE", "KW_REPLICA", "KW_RESET", "KW_RESTART", "KW_RESTRICT", "KW_RETURNS", "KW_REVOKE", "KW_ROLE", "KW_ROLLBACK", "KW_ROWS", "KW_RULE", "KW_SAVEPOINT", "KW_SCHEMA", "KW_SCROLL", "KW_SEARCH", "KW_SECOND", "KW_SECURITY", "KW_SEQUENCE", "KW_SEQUENCES", "KW_SERIALIZABLE", "KW_SERVER", "KW_SESSION", "KW_SET", "KW_SHARE", "KW_SHOW", "KW_SIMPLE", "KW_SNAPSHOT", "KW_STABLE", "KW_STANDALONE", "KW_START", "KW_STATEMENT", "KW_STATISTICS", "KW_STDIN", "KW_STDOUT", "KW_STORAGE", "KW_STRICT", "KW_STRIP", "KW_SYSID", "KW_SYSTEM", "KW_TABLES", "KW_TABLESPACE", "KW_TEMP", "KW_TEMPLATE", "KW_TEMPORARY", "KW_TEXT", "KW_TRANSACTION", "KW_TRIGGER", "KW_TRUNCATE", "KW_TRUSTED", "KW_TYPE", "KW_TYPES", "KW_UNBOUNDED", "KW_UNCOMMITTED", "KW_UNENCRYPTED", "KW_UNKNOWN", "KW_UNLISTEN", "KW_UNLOGGED", "KW_UNTIL", "KW_UPDATE", "KW_VACUUM", "KW_VALID", "KW_VALIDATE", "KW_VALIDATOR", "KW_VARYING", "KW_VERSION", "KW_VIEW", "KW_VOLATILE", "KW_WHITESPACE", "KW_WITHOUT", "KW_WORK", "KW_WRAPPER", "KW_WRITE", "KW_XML", "KW_YEAR", "KW_YES", "KW_ZONE", "KW_BETWEEN", "KW_BIGINT", "KW_BIT", "KW_BOOLEAN", "KW_CHAR", "KW_CHARACTER", "KW_COALESCE", "KW_DEC", "KW_DECIMAL", "KW_EXISTS", "KW_EXTRACT", "KW_FLOAT", "KW_GREATEST", "KW_INOUT", "KW_INT", "KW_INTEGER", "KW_INTERVAL", "KW_LEAST", "KW_NATIONAL", "KW_NCHAR", "KW_NONE", "KW_NULLIF", "KW_NUMERIC", "KW_OVERLAY", "KW_POSITION", "KW_PRECISION", "KW_REAL", "KW_ROW", "KW_SETOF", "KW_SMALLINT", "KW_SUBSTRING", "KW_TIME", "KW_TIMESTAMP", "KW_TREAT", "KW_TRIM", "KW_VALUES", "KW_VARCHAR", "KW_XMLATTRIBUTES", "KW_XMLCONCAT", "KW_XMLELEMENT", "KW_XMLEXISTS", "KW_XMLFOREST", "KW_XMLPARSE", "KW_XMLPI", "KW_XMLROOT", "KW_XMLSERIALIZE", "KW_CALL", "KW_CURRENT", "KW_ATTACH", "KW_DETACH", "KW_EXPRESSION", "KW_GENERATED", "KW_LOGGED", "KW_STORED", "KW_INCLUDE", "KW_ROUTINE", "KW_TRANSFORM", "KW_IMPORT", "KW_POLICY", "KW_METHOD", "KW_REFERENCING", "KW_NEW", "KW_OLD", "KW_VALUE", "KW_SUBSCRIPTION", "KW_PUBLICATION", "KW_OUT", "KW_END", "KW_ROUTINES", "KW_SCHEMAS", "KW_PROCEDURES", "KW_INPUT", "KW_SUPPORT", "KW_PARALLEL", "KW_SQL", "KW_DEPENDS", "KW_OVERRIDING", "KW_CONFLICT", "KW_SKIP", "KW_LOCKED", "KW_TIES", "KW_ROLLUP", "KW_CUBE", "KW_GROUPING", "KW_SETS", "KW_TABLESAMPLE", "KW_ORDINALITY", "KW_XMLTABLE", "KW_COLUMNS", "KW_XMLNAMESPACES", "KW_ROWTYPE", "KW_NORMALIZED", "KW_WITHIN", "KW_FILTER", "KW_GROUPS", "KW_OTHERS", "KW_NFC", "KW_NFD", "KW_NFKC", "KW_NFKD", "KW_UESCAPE", "KW_VIEWS", "KW_NORMALIZE", "KW_DUMP", "KW_PRINT_STRICT_PARAMS", "KW_VARIABLE_CONFLICT", "KW_ERROR", "KW_USE_VARIABLE", "KW_USE_COLUMN", "KW_ALIAS", "KW_CONSTANT", "KW_PERFORM", "KW_GET", "KW_DIAGNOSTICS", "KW_STACKED", "KW_ELSIF", "KW_WHILE", "KW_REVERSE", "KW_FOREACH", "KW_SLICE", "KW_EXIT", "KW_RETURN", "KW_QUERY", "KW_RAISE", "KW_SQLSTATE", "KW_DEBUG", "KW_LOG", "KW_INFO", "KW_NOTICE", "KW_WARNING", "KW_EXCEPTION", "KW_ASSERT", "KW_LOOP", "KW_OPEN", "KW_PEFERENCES", "KW_USAGE", "KW_CONNECT", "KW_PUBLIC", "KW_MERGE", "KW_MATCHED", "KW_BREADTH", "KW_DEPTH", "KW_UNSAFE", "KW_RESTRICTED", "KW_SAFE", "KW_FINALIZE", "KW_MODULUS", "KW_REMAINDER", "KW_LOGIN", "KW_NOLOGIN", "KW_REPLICATION", "KW_NOREPLICATION", "KW_BYPASSRLS", "KW_NOBYPASSRLS", "KW_PERMISSIVE", "KW_RESTRICTIVE", "KW_COMPRESSION", "KW_PLAIN", "KW_EXTENDED", "KW_MAIN", "KW_SKIP_LOCKED", "KW_BUFFER_USAGE_LIMIT", "Identifier", "QuotedIdentifier", "UnterminatedQuotedIdentifier", "InvalidQuotedIdentifier", "InvalidUnterminatedQuotedIdentifier", "UnicodeQuotedIdentifier", "UnterminatedUnicodeQuotedIdentifier", "InvalidUnicodeQuotedIdentifier", "InvalidUnterminatedUnicodeQuotedIdentifier", "StringConstant", "UnterminatedStringConstant", "UnicodeEscapeStringConstant", "UnterminatedUnicodeEscapeStringConstant", "BeginDollarStringConstant", "BinaryStringConstant", "UnterminatedBinaryStringConstant", "InvalidBinaryStringConstant", "InvalidUnterminatedBinaryStringConstant", "HexadecimalStringConstant", "UnterminatedHexadecimalStringConstant", "InvalidHexadecimalStringConstant", "InvalidUnterminatedHexadecimalStringConstant", "Integral", "NumericFail", "Numeric", "PLSQLVARIABLENAME", "PLSQLIDENTIFIER", "Whitespace", "Newline", "LineComment", "BlockComment", "UnterminatedBlockComment", "MetaCommand", "EndMetaCommand", "ErrorCharacter", "EscapeStringConstant", "UnterminatedEscapeStringConstant", "InvalidEscapeStringConstant", "InvalidUnterminatedEscapeStringConstant", "DollarText", "EndDollarStringConstant", "AfterEscapeStringConstantWithNewlineMode_Continued", ]; public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(PostgreSQLParser._LITERAL_NAMES, PostgreSQLParser._SYMBOLIC_NAMES, []); // @Override // @NotNull public get vocabulary(): Vocabulary { return PostgreSQLParser.VOCABULARY; } // tslint:enable:no-trailing-whitespace // @Override public get grammarFileName(): string { return "PostgreSQLParser.g4"; } // @Override public get ruleNames(): string[] { return PostgreSQLParser.ruleNames; } // @Override public get serializedATN(): string { return PostgreSQLParser._serializedATN; } protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException { return new FailedPredicateException(this, predicate, message); } constructor(input: TokenStream) { super(input); this._interp = new ParserATNSimulator(PostgreSQLParser._ATN, this); } // @RuleVersion(0) public program(): ProgramContext { let _localctx: ProgramContext = new ProgramContext(this._ctx, this.state); this.enterRule(_localctx, 0, PostgreSQLParser.RULE_program); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 1755; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.OPEN_PAREN || _la === PostgreSQLParser.KW_ANALYSE || ((((_la - 32)) & ~0x1F) === 0 && ((1 << (_la - 32)) & ((1 << (PostgreSQLParser.KW_ANALYZE - 32)) | (1 << (PostgreSQLParser.KW_CREATE - 32)) | (1 << (PostgreSQLParser.KW_DO - 32)) | (1 << (PostgreSQLParser.KW_FETCH - 32)))) !== 0) || ((((_la - 65)) & ~0x1F) === 0 && ((1 << (_la - 65)) & ((1 << (PostgreSQLParser.KW_GRANT - 65)) | (1 << (PostgreSQLParser.KW_SELECT - 65)) | (1 << (PostgreSQLParser.KW_TABLE - 65)))) !== 0) || _la === PostgreSQLParser.KW_WITH || _la === PostgreSQLParser.KW_ABORT || ((((_la - 138)) & ~0x1F) === 0 && ((1 << (_la - 138)) & ((1 << (PostgreSQLParser.KW_ALTER - 138)) | (1 << (PostgreSQLParser.KW_BEGIN - 138)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 138)) | (1 << (PostgreSQLParser.KW_CLOSE - 138)) | (1 << (PostgreSQLParser.KW_CLUSTER - 138)) | (1 << (PostgreSQLParser.KW_COMMENT - 138)) | (1 << (PostgreSQLParser.KW_COMMIT - 138)) | (1 << (PostgreSQLParser.KW_COPY - 138)))) !== 0) || ((((_la - 177)) & ~0x1F) === 0 && ((1 << (_la - 177)) & ((1 << (PostgreSQLParser.KW_DEALLOCATE - 177)) | (1 << (PostgreSQLParser.KW_DECLARE - 177)) | (1 << (PostgreSQLParser.KW_DELETE - 177)) | (1 << (PostgreSQLParser.KW_DISCARD - 177)) | (1 << (PostgreSQLParser.KW_DROP - 177)) | (1 << (PostgreSQLParser.KW_EXECUTE - 177)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 177)))) !== 0) || ((((_la - 241)) & ~0x1F) === 0 && ((1 << (_la - 241)) & ((1 << (PostgreSQLParser.KW_INSERT - 241)) | (1 << (PostgreSQLParser.KW_LISTEN - 241)) | (1 << (PostgreSQLParser.KW_LOAD - 241)) | (1 << (PostgreSQLParser.KW_LOCK - 241)) | (1 << (PostgreSQLParser.KW_MOVE - 241)) | (1 << (PostgreSQLParser.KW_NOTIFY - 241)))) !== 0) || ((((_la - 290)) & ~0x1F) === 0 && ((1 << (_la - 290)) & ((1 << (PostgreSQLParser.KW_PREPARE - 290)) | (1 << (PostgreSQLParser.KW_REASSIGN - 290)) | (1 << (PostgreSQLParser.KW_REFRESH - 290)) | (1 << (PostgreSQLParser.KW_REINDEX - 290)) | (1 << (PostgreSQLParser.KW_RELEASE - 290)) | (1 << (PostgreSQLParser.KW_RESET - 290)) | (1 << (PostgreSQLParser.KW_REVOKE - 290)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 290)))) !== 0) || ((((_la - 322)) & ~0x1F) === 0 && ((1 << (_la - 322)) & ((1 << (PostgreSQLParser.KW_SAVEPOINT - 322)) | (1 << (PostgreSQLParser.KW_SECURITY - 322)) | (1 << (PostgreSQLParser.KW_SET - 322)) | (1 << (PostgreSQLParser.KW_SHOW - 322)) | (1 << (PostgreSQLParser.KW_START - 322)))) !== 0) || ((((_la - 358)) & ~0x1F) === 0 && ((1 << (_la - 358)) & ((1 << (PostgreSQLParser.KW_TRUNCATE - 358)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 358)) | (1 << (PostgreSQLParser.KW_UPDATE - 358)) | (1 << (PostgreSQLParser.KW_VACUUM - 358)))) !== 0) || ((((_la - 422)) & ~0x1F) === 0 && ((1 << (_la - 422)) & ((1 << (PostgreSQLParser.KW_VALUES - 422)) | (1 << (PostgreSQLParser.KW_CALL - 422)) | (1 << (PostgreSQLParser.KW_IMPORT - 422)))) !== 0) || _la === PostgreSQLParser.KW_END || _la === PostgreSQLParser.KW_MERGE || _la === PostgreSQLParser.MetaCommand) { { { this.state = 1752; this.singleStmt(); } } this.state = 1757; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 1758; this.match(PostgreSQLParser.EOF); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public plsqlroot(): PlsqlrootContext { let _localctx: PlsqlrootContext = new PlsqlrootContext(this._ctx, this.state); this.enterRule(_localctx, 2, PostgreSQLParser.RULE_plsqlroot); try { this.enterOuterAlt(_localctx, 1); { this.state = 1760; this.pl_function(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public singleStmt(): SingleStmtContext { let _localctx: SingleStmtContext = new SingleStmtContext(this._ctx, this.state); this.enterRule(_localctx, 4, PostgreSQLParser.RULE_singleStmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 1762; this.stmt(); this.state = 1764; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.SEMI) { { this.state = 1763; this.match(PostgreSQLParser.SEMI); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt(): StmtContext { let _localctx: StmtContext = new StmtContext(this._ctx, this.state); this.enterRule(_localctx, 6, PostgreSQLParser.RULE_stmt); try { this.state = 1883; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 2, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 1766; this.altereventtrigstmt(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 1767; this.altercollationstmt(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 1768; this.alterdatabasestmt(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 1769; this.alterdatabasesetstmt(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 1770; this.alterdefaultprivilegesstmt(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 1771; this.alterdomainstmt(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 1772; this.alterenumstmt(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 1773; this.alterextensionstmt(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 1774; this.alterextensioncontentsstmt(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 1775; this.alterfdwstmt(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 1776; this.alterforeignserverstmt(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 1777; this.alterfunctionstmt(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 1778; this.altergroupstmt(); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 1779; this.alterobjectdependsstmt(); } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 1780; this.alterobjectschemastmt(); } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 1781; this.alterownerstmt(); } break; case 17: this.enterOuterAlt(_localctx, 17); { this.state = 1782; this.alteroperatorstmt(); } break; case 18: this.enterOuterAlt(_localctx, 18); { this.state = 1783; this.altertypestmt(); } break; case 19: this.enterOuterAlt(_localctx, 19); { this.state = 1784; this.alterpolicystmt(); } break; case 20: this.enterOuterAlt(_localctx, 20); { this.state = 1785; this.alterprocedurestmt(); } break; case 21: this.enterOuterAlt(_localctx, 21); { this.state = 1786; this.alterseqstmt(); } break; case 22: this.enterOuterAlt(_localctx, 22); { this.state = 1787; this.altersystemstmt(); } break; case 23: this.enterOuterAlt(_localctx, 23); { this.state = 1788; this.altertablestmt(); } break; case 24: this.enterOuterAlt(_localctx, 24); { this.state = 1789; this.altertblspcstmt(); } break; case 25: this.enterOuterAlt(_localctx, 25); { this.state = 1790; this.altercompositetypestmt(); } break; case 26: this.enterOuterAlt(_localctx, 26); { this.state = 1791; this.alterpublicationstmt(); } break; case 27: this.enterOuterAlt(_localctx, 27); { this.state = 1792; this.alterrolesetstmt(); } break; case 28: this.enterOuterAlt(_localctx, 28); { this.state = 1793; this.alterroutinestmt(); } break; case 29: this.enterOuterAlt(_localctx, 29); { this.state = 1794; this.alterrolestmt(); } break; case 30: this.enterOuterAlt(_localctx, 30); { this.state = 1795; this.altersubscriptionstmt(); } break; case 31: this.enterOuterAlt(_localctx, 31); { this.state = 1796; this.alterstatsstmt(); } break; case 32: this.enterOuterAlt(_localctx, 32); { this.state = 1797; this.altertsconfigurationstmt(); } break; case 33: this.enterOuterAlt(_localctx, 33); { this.state = 1798; this.altertsdictionarystmt(); } break; case 34: this.enterOuterAlt(_localctx, 34); { this.state = 1799; this.alterusermappingstmt(); } break; case 35: this.enterOuterAlt(_localctx, 35); { this.state = 1800; this.analyzestmt(); } break; case 36: this.enterOuterAlt(_localctx, 36); { this.state = 1801; this.callstmt(); } break; case 37: this.enterOuterAlt(_localctx, 37); { this.state = 1802; this.checkpointstmt(); } break; case 38: this.enterOuterAlt(_localctx, 38); { this.state = 1803; this.closeportalstmt(); } break; case 39: this.enterOuterAlt(_localctx, 39); { this.state = 1804; this.clusterstmt(); } break; case 40: this.enterOuterAlt(_localctx, 40); { this.state = 1805; this.commentstmt(); } break; case 41: this.enterOuterAlt(_localctx, 41); { this.state = 1806; this.constraintssetstmt(); } break; case 42: this.enterOuterAlt(_localctx, 42); { this.state = 1807; this.copystmt(); } break; case 43: this.enterOuterAlt(_localctx, 43); { this.state = 1808; this.createamstmt(); } break; case 44: this.enterOuterAlt(_localctx, 44); { this.state = 1809; this.createasstmt(); } break; case 45: this.enterOuterAlt(_localctx, 45); { this.state = 1810; this.createassertionstmt(); } break; case 46: this.enterOuterAlt(_localctx, 46); { this.state = 1811; this.createcaststmt(); } break; case 47: this.enterOuterAlt(_localctx, 47); { this.state = 1812; this.createconversionstmt(); } break; case 48: this.enterOuterAlt(_localctx, 48); { this.state = 1813; this.createdomainstmt(); } break; case 49: this.enterOuterAlt(_localctx, 49); { this.state = 1814; this.createextensionstmt(); } break; case 50: this.enterOuterAlt(_localctx, 50); { this.state = 1815; this.createfdwstmt(); } break; case 51: this.enterOuterAlt(_localctx, 51); { this.state = 1816; this.createforeignserverstmt(); } break; case 52: this.enterOuterAlt(_localctx, 52); { this.state = 1817; this.createforeigntablestmt(); } break; case 53: this.enterOuterAlt(_localctx, 53); { this.state = 1818; this.createfunctionstmt(); } break; case 54: this.enterOuterAlt(_localctx, 54); { this.state = 1819; this.creategroupstmt(); } break; case 55: this.enterOuterAlt(_localctx, 55); { this.state = 1820; this.creatematviewstmt(); } break; case 56: this.enterOuterAlt(_localctx, 56); { this.state = 1821; this.createopclassstmt(); } break; case 57: this.enterOuterAlt(_localctx, 57); { this.state = 1822; this.createopfamilystmt(); } break; case 58: this.enterOuterAlt(_localctx, 58); { this.state = 1823; this.createpublicationstmt(); } break; case 59: this.enterOuterAlt(_localctx, 59); { this.state = 1824; this.alteropfamilystmt(); } break; case 60: this.enterOuterAlt(_localctx, 60); { this.state = 1825; this.createpolicystmt(); } break; case 61: this.enterOuterAlt(_localctx, 61); { this.state = 1826; this.createplangstmt(); } break; case 62: this.enterOuterAlt(_localctx, 62); { this.state = 1827; this.createschemastmt(); } break; case 63: this.enterOuterAlt(_localctx, 63); { this.state = 1828; this.createseqstmt(); } break; case 64: this.enterOuterAlt(_localctx, 64); { this.state = 1829; this.createstmt(); } break; case 65: this.enterOuterAlt(_localctx, 65); { this.state = 1830; this.createsubscriptionstmt(); } break; case 66: this.enterOuterAlt(_localctx, 66); { this.state = 1831; this.createstatsstmt(); } break; case 67: this.enterOuterAlt(_localctx, 67); { this.state = 1832; this.createtablespacestmt(); } break; case 68: this.enterOuterAlt(_localctx, 68); { this.state = 1833; this.createtransformstmt(); } break; case 69: this.enterOuterAlt(_localctx, 69); { this.state = 1834; this.createtrigstmt(); } break; case 70: this.enterOuterAlt(_localctx, 70); { this.state = 1835; this.createeventtrigstmt(); } break; case 71: this.enterOuterAlt(_localctx, 71); { this.state = 1836; this.createrolestmt(); } break; case 72: this.enterOuterAlt(_localctx, 72); { this.state = 1837; this.createuserstmt(); } break; case 73: this.enterOuterAlt(_localctx, 73); { this.state = 1838; this.createusermappingstmt(); } break; case 74: this.enterOuterAlt(_localctx, 74); { this.state = 1839; this.createdbstmt(); } break; case 75: this.enterOuterAlt(_localctx, 75); { this.state = 1840; this.deallocatestmt(); } break; case 76: this.enterOuterAlt(_localctx, 76); { this.state = 1841; this.declarecursorstmt(); } break; case 77: this.enterOuterAlt(_localctx, 77); { this.state = 1842; this.definestmt(); } break; case 78: this.enterOuterAlt(_localctx, 78); { this.state = 1843; this.deletestmt(); } break; case 79: this.enterOuterAlt(_localctx, 79); { this.state = 1844; this.discardstmt(); } break; case 80: this.enterOuterAlt(_localctx, 80); { this.state = 1845; this.dostmt(); } break; case 81: this.enterOuterAlt(_localctx, 81); { this.state = 1846; this.dropstmt(); } break; case 82: this.enterOuterAlt(_localctx, 82); { this.state = 1847; this.executestmt(); } break; case 83: this.enterOuterAlt(_localctx, 83); { this.state = 1848; this.explainstmt(); } break; case 84: this.enterOuterAlt(_localctx, 84); { this.state = 1849; this.fetchstmt(); } break; case 85: this.enterOuterAlt(_localctx, 85); { this.state = 1850; this.grantstmt(); } break; case 86: this.enterOuterAlt(_localctx, 86); { this.state = 1851; this.grantrolestmt(); } break; case 87: this.enterOuterAlt(_localctx, 87); { this.state = 1852; this.mergestmt(); } break; case 88: this.enterOuterAlt(_localctx, 88); { this.state = 1853; this.importforeignschemastmt(); } break; case 89: this.enterOuterAlt(_localctx, 89); { this.state = 1854; this.indexstmt(); } break; case 90: this.enterOuterAlt(_localctx, 90); { this.state = 1855; this.insertstmt(); } break; case 91: this.enterOuterAlt(_localctx, 91); { this.state = 1856; this.listenstmt(); } break; case 92: this.enterOuterAlt(_localctx, 92); { this.state = 1857; this.refreshmatviewstmt(); } break; case 93: this.enterOuterAlt(_localctx, 93); { this.state = 1858; this.loadstmt(); } break; case 94: this.enterOuterAlt(_localctx, 94); { this.state = 1859; this.lockstmt(); } break; case 95: this.enterOuterAlt(_localctx, 95); { this.state = 1860; this.notifystmt(); } break; case 96: this.enterOuterAlt(_localctx, 96); { this.state = 1861; this.preparestmt(); } break; case 97: this.enterOuterAlt(_localctx, 97); { this.state = 1862; this.reassignownedstmt(); } break; case 98: this.enterOuterAlt(_localctx, 98); { this.state = 1863; this.reindexstmt(); } break; case 99: this.enterOuterAlt(_localctx, 99); { this.state = 1864; this.removeaggrstmt(); } break; case 100: this.enterOuterAlt(_localctx, 100); { this.state = 1865; this.removefuncstmt(); } break; case 101: this.enterOuterAlt(_localctx, 101); { this.state = 1866; this.removeoperstmt(); } break; case 102: this.enterOuterAlt(_localctx, 102); { this.state = 1867; this.renamestmt(); } break; case 103: this.enterOuterAlt(_localctx, 103); { this.state = 1868; this.revokestmt(); } break; case 104: this.enterOuterAlt(_localctx, 104); { this.state = 1869; this.revokerolestmt(); } break; case 105: this.enterOuterAlt(_localctx, 105); { this.state = 1870; this.rulestmt(); } break; case 106: this.enterOuterAlt(_localctx, 106); { this.state = 1871; this.seclabelstmt(); } break; case 107: this.enterOuterAlt(_localctx, 107); { this.state = 1872; this.selectstmt(); } break; case 108: this.enterOuterAlt(_localctx, 108); { this.state = 1873; this.transactionstmt(); } break; case 109: this.enterOuterAlt(_localctx, 109); { this.state = 1874; this.truncatestmt(); } break; case 110: this.enterOuterAlt(_localctx, 110); { this.state = 1875; this.unlistenstmt(); } break; case 111: this.enterOuterAlt(_localctx, 111); { this.state = 1876; this.updatestmt(); } break; case 112: this.enterOuterAlt(_localctx, 112); { this.state = 1877; this.vacuumstmt(); } break; case 113: this.enterOuterAlt(_localctx, 113); { this.state = 1878; this.variableresetstmt(); } break; case 114: this.enterOuterAlt(_localctx, 114); { this.state = 1879; this.variablesetstmt(); } break; case 115: this.enterOuterAlt(_localctx, 115); { this.state = 1880; this.variableshowstmt(); } break; case 116: this.enterOuterAlt(_localctx, 116); { this.state = 1881; this.viewstmt(); } break; case 117: this.enterOuterAlt(_localctx, 117); { this.state = 1882; this.plsqlconsolecommand(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public plsqlconsolecommand(): PlsqlconsolecommandContext { let _localctx: PlsqlconsolecommandContext = new PlsqlconsolecommandContext(this._ctx, this.state); this.enterRule(_localctx, 8, PostgreSQLParser.RULE_plsqlconsolecommand); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 1885; this.match(PostgreSQLParser.MetaCommand); this.state = 1887; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.EndMetaCommand) { { this.state = 1886; this.match(PostgreSQLParser.EndMetaCommand); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public callstmt(): CallstmtContext { let _localctx: CallstmtContext = new CallstmtContext(this._ctx, this.state); this.enterRule(_localctx, 10, PostgreSQLParser.RULE_callstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 1889; this.match(PostgreSQLParser.KW_CALL); this.state = 1890; this.func_application(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createrolestmt(): CreaterolestmtContext { let _localctx: CreaterolestmtContext = new CreaterolestmtContext(this._ctx, this.state); this.enterRule(_localctx, 12, PostgreSQLParser.RULE_createrolestmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 1892; this.match(PostgreSQLParser.KW_CREATE); this.state = 1893; this.match(PostgreSQLParser.KW_ROLE); this.state = 1894; this.roleid(); this.state = 1896; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 4, this._ctx) ) { case 1: { this.state = 1895; this.opt_with(); } break; } this.state = 1898; this.optrolelist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_with(): Opt_withContext { let _localctx: Opt_withContext = new Opt_withContext(this._ctx, this.state); this.enterRule(_localctx, 14, PostgreSQLParser.RULE_opt_with); try { this.enterOuterAlt(_localctx, 1); { this.state = 1900; this.match(PostgreSQLParser.KW_WITH); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public optrolelist(): OptrolelistContext { let _localctx: OptrolelistContext = new OptrolelistContext(this._ctx, this.state); this.enterRule(_localctx, 16, PostgreSQLParser.RULE_optrolelist); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 1905; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 5, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1902; this.createoptroleelem(); } } } this.state = 1907; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 5, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alteroptrolelist(): AlteroptrolelistContext { let _localctx: AlteroptrolelistContext = new AlteroptrolelistContext(this._ctx, this.state); this.enterRule(_localctx, 18, PostgreSQLParser.RULE_alteroptrolelist); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 1911; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 6, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 1908; this.alteroptroleelem(); } } } this.state = 1913; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 6, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alteroptroleelem(): AlteroptroleelemContext { let _localctx: AlteroptroleelemContext = new AlteroptroleelemContext(this._ctx, this.state); this.enterRule(_localctx, 20, PostgreSQLParser.RULE_alteroptroleelem); let _la: number; try { this.state = 1949; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 8, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 1914; this.match(PostgreSQLParser.KW_PASSWORD); this.state = 1917; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.EscapeStringConstant: { this.state = 1915; this.sconst(); } break; case PostgreSQLParser.KW_NULL: { this.state = 1916; this.match(PostgreSQLParser.KW_NULL); } break; default: throw new NoViableAltException(this); } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 1919; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_ENCRYPTED || _la === PostgreSQLParser.KW_UNENCRYPTED)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 1920; this.match(PostgreSQLParser.KW_PASSWORD); this.state = 1921; this.sconst(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 1922; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_INHERIT || _la === PostgreSQLParser.KW_NOINHERIT)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 1923; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_CREATEUSER || _la === PostgreSQLParser.KW_NOCREATEUSER)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 1924; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_CREATEROLE || _la === PostgreSQLParser.KW_NOCREATEROLE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 1925; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_CREATEDB || _la === PostgreSQLParser.KW_NOCREATEDB)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 1926; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_SUPERUSER || _la === PostgreSQLParser.KW_NOSUPERUSER)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 1927; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_LOGIN || _la === PostgreSQLParser.KW_NOLOGIN)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 1928; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_REPLICATION || _la === PostgreSQLParser.KW_NOREPLICATION)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 1929; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_BYPASSRLS || _la === PostgreSQLParser.KW_NOBYPASSRLS)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 1930; this.match(PostgreSQLParser.KW_CONNECTION); this.state = 1931; this.match(PostgreSQLParser.KW_LIMIT); this.state = 1932; this.signediconst(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 1933; this.match(PostgreSQLParser.KW_VALID); this.state = 1934; this.match(PostgreSQLParser.KW_UNTIL); this.state = 1935; this.sconst(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 1936; this.match(PostgreSQLParser.KW_IN); this.state = 1937; this.match(PostgreSQLParser.KW_ROLE); this.state = 1938; this.name_list(); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 1939; this.match(PostgreSQLParser.KW_IN); this.state = 1940; this.match(PostgreSQLParser.KW_GROUP); this.state = 1941; this.name_list(); } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 1942; this.match(PostgreSQLParser.KW_ROLE); this.state = 1943; this.role_list(); } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 1944; this.match(PostgreSQLParser.KW_ADMIN); this.state = 1945; this.name_list(); } break; case 17: this.enterOuterAlt(_localctx, 17); { this.state = 1946; this.match(PostgreSQLParser.KW_USER); this.state = 1947; this.role_list(); } break; case 18: this.enterOuterAlt(_localctx, 18); { this.state = 1948; this.identifier(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createoptroleelem(): CreateoptroleelemContext { let _localctx: CreateoptroleelemContext = new CreateoptroleelemContext(this._ctx, this.state); this.enterRule(_localctx, 22, PostgreSQLParser.RULE_createoptroleelem); let _la: number; try { this.state = 1961; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 9, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 1951; this.alteroptroleelem(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 1952; this.match(PostgreSQLParser.KW_SYSID); this.state = 1953; this.iconst(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 1954; this.match(PostgreSQLParser.KW_ADMIN); this.state = 1955; this.role_list(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 1956; this.match(PostgreSQLParser.KW_ROLE); this.state = 1957; this.role_list(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 1958; this.match(PostgreSQLParser.KW_IN); this.state = 1959; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_GROUP || _la === PostgreSQLParser.KW_ROLE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 1960; this.role_list(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createuserstmt(): CreateuserstmtContext { let _localctx: CreateuserstmtContext = new CreateuserstmtContext(this._ctx, this.state); this.enterRule(_localctx, 24, PostgreSQLParser.RULE_createuserstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 1963; this.match(PostgreSQLParser.KW_CREATE); this.state = 1964; this.match(PostgreSQLParser.KW_USER); this.state = 1965; this.roleid(); this.state = 1967; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 10, this._ctx) ) { case 1: { this.state = 1966; this.opt_with(); } break; } this.state = 1969; this.optrolelist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterrolestmt(): AlterrolestmtContext { let _localctx: AlterrolestmtContext = new AlterrolestmtContext(this._ctx, this.state); this.enterRule(_localctx, 26, PostgreSQLParser.RULE_alterrolestmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 1971; this.match(PostgreSQLParser.KW_ALTER); this.state = 1972; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_USER || _la === PostgreSQLParser.KW_ROLE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 1973; this.rolespec(); this.state = 1975; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 11, this._ctx) ) { case 1: { this.state = 1974; this.opt_with(); } break; } this.state = 1977; this.alteroptrolelist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_in_database(): Opt_in_databaseContext { let _localctx: Opt_in_databaseContext = new Opt_in_databaseContext(this._ctx, this.state); this.enterRule(_localctx, 28, PostgreSQLParser.RULE_opt_in_database); try { this.state = 1983; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_SET: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_IN: this.enterOuterAlt(_localctx, 2); { this.state = 1980; this.match(PostgreSQLParser.KW_IN); this.state = 1981; this.match(PostgreSQLParser.KW_DATABASE); this.state = 1982; this.database_name(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterrolesetstmt(): AlterrolesetstmtContext { let _localctx: AlterrolesetstmtContext = new AlterrolesetstmtContext(this._ctx, this.state); this.enterRule(_localctx, 30, PostgreSQLParser.RULE_alterrolesetstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 1985; this.match(PostgreSQLParser.KW_ALTER); this.state = 1986; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_USER || _la === PostgreSQLParser.KW_ROLE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 1989; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_ALL: { this.state = 1987; this.match(PostgreSQLParser.KW_ALL); } break; case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_CURRENT_ROLE: case PostgreSQLParser.KW_CURRENT_USER: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_SESSION_USER: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_PUBLIC: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 1988; this.rolespec(); } break; default: throw new NoViableAltException(this); } this.state = 1991; this.opt_in_database(); this.state = 1992; this.setresetclause(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterroutinestmt(): AlterroutinestmtContext { let _localctx: AlterroutinestmtContext = new AlterroutinestmtContext(this._ctx, this.state); this.enterRule(_localctx, 32, PostgreSQLParser.RULE_alterroutinestmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 1994; this.match(PostgreSQLParser.KW_ALTER); this.state = 1995; this.match(PostgreSQLParser.KW_ROUTINE); this.state = 1996; this.routine_name(); this.state = 1998; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 1997; this.func_args(); } } this.state = 2000; this.alter_routine_cluase(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_routine_cluase(): Alter_routine_cluaseContext { let _localctx: Alter_routine_cluaseContext = new Alter_routine_cluaseContext(this._ctx, this.state); this.enterRule(_localctx, 34, PostgreSQLParser.RULE_alter_routine_cluase); let _la: number; try { this.state = 2022; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 17, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2002; this.routine_action_list(); this.state = 2004; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 15, this._ctx) ) { case 1: { this.state = 2003; this.match(PostgreSQLParser.KW_RESTRICT); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2006; this.match(PostgreSQLParser.KW_RENAME); this.state = 2007; this.match(PostgreSQLParser.KW_TO); this.state = 2008; this.routine_name_create(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 2009; this.match(PostgreSQLParser.KW_OWNER); this.state = 2010; this.match(PostgreSQLParser.KW_TO); this.state = 2011; this.rolespec(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 2012; this.match(PostgreSQLParser.KW_SET); this.state = 2013; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 2014; this.schema_name_create(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 2016; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NO) { { this.state = 2015; this.match(PostgreSQLParser.KW_NO); } } this.state = 2018; this.match(PostgreSQLParser.KW_DEPENDS); this.state = 2019; this.match(PostgreSQLParser.KW_ON); this.state = 2020; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 2021; this.name(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public routine_action_list(): Routine_action_listContext { let _localctx: Routine_action_listContext = new Routine_action_listContext(this._ctx, this.state); this.enterRule(_localctx, 36, PostgreSQLParser.RULE_routine_action_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 2024; this.routine_action(); this.state = 2028; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 18, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 2025; this.routine_action(); } } } this.state = 2030; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 18, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public routine_action(): Routine_actionContext { let _localctx: Routine_actionContext = new Routine_actionContext(this._ctx, this.state); this.enterRule(_localctx, 38, PostgreSQLParser.RULE_routine_action); let _la: number; try { this.state = 2072; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 24, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2031; this.match(PostgreSQLParser.KW_IMMUTABLE); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2032; this.match(PostgreSQLParser.KW_STABLE); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 2033; this.match(PostgreSQLParser.KW_VOLATILE); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 2035; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NOT) { { this.state = 2034; this.match(PostgreSQLParser.KW_NOT); } } this.state = 2037; this.match(PostgreSQLParser.KW_LEAKPROOF); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 2048; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 22, this._ctx) ) { case 1: { this.state = 2039; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_EXTERNAL) { { this.state = 2038; this.match(PostgreSQLParser.KW_EXTERNAL); } } this.state = 2041; this.match(PostgreSQLParser.KW_SECURITY); this.state = 2042; this.match(PostgreSQLParser.KW_INVOKER); } break; case 2: { this.state = 2044; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_EXTERNAL) { { this.state = 2043; this.match(PostgreSQLParser.KW_EXTERNAL); } } this.state = 2046; this.match(PostgreSQLParser.KW_SECURITY); this.state = 2047; this.match(PostgreSQLParser.KW_DEFINER); } break; } } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 2050; this.match(PostgreSQLParser.KW_PARALLEL); this.state = 2051; _la = this._input.LA(1); if (!(((((_la - 529)) & ~0x1F) === 0 && ((1 << (_la - 529)) & ((1 << (PostgreSQLParser.KW_UNSAFE - 529)) | (1 << (PostgreSQLParser.KW_RESTRICTED - 529)) | (1 << (PostgreSQLParser.KW_SAFE - 529)))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 2052; this.match(PostgreSQLParser.KW_COST); this.state = 2053; this.attr_name(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 2054; this.match(PostgreSQLParser.KW_ROWS); this.state = 2055; this.name(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 2056; this.match(PostgreSQLParser.KW_SET); this.state = 2057; this.name(); this.state = 2058; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.EQUAL || _la === PostgreSQLParser.KW_TO)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 2061; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 23, this._ctx) ) { case 1: { this.state = 2059; this.name(); } break; case 2: { this.state = 2060; this.match(PostgreSQLParser.KW_DEFAULT); } break; } } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 2063; this.match(PostgreSQLParser.KW_SET); this.state = 2064; this.name(); this.state = 2065; this.match(PostgreSQLParser.KW_FROM); this.state = 2066; this.match(PostgreSQLParser.KW_CURRENT); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 2068; this.match(PostgreSQLParser.KW_RESET); this.state = 2069; this.name(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 2070; this.match(PostgreSQLParser.KW_RESET); this.state = 2071; this.match(PostgreSQLParser.KW_ALL); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public creategroupstmt(): CreategroupstmtContext { let _localctx: CreategroupstmtContext = new CreategroupstmtContext(this._ctx, this.state); this.enterRule(_localctx, 40, PostgreSQLParser.RULE_creategroupstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 2074; this.match(PostgreSQLParser.KW_CREATE); this.state = 2075; this.match(PostgreSQLParser.KW_GROUP); this.state = 2076; this.groupname(); this.state = 2078; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 25, this._ctx) ) { case 1: { this.state = 2077; this.opt_with(); } break; } this.state = 2080; this.optrolelist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public altergroupstmt(): AltergroupstmtContext { let _localctx: AltergroupstmtContext = new AltergroupstmtContext(this._ctx, this.state); this.enterRule(_localctx, 42, PostgreSQLParser.RULE_altergroupstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 2082; this.match(PostgreSQLParser.KW_ALTER); this.state = 2083; this.match(PostgreSQLParser.KW_GROUP); this.state = 2084; this.rolespec(); this.state = 2085; this.add_drop(); this.state = 2086; this.match(PostgreSQLParser.KW_USER); this.state = 2087; this.role_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public add_drop(): Add_dropContext { let _localctx: Add_dropContext = new Add_dropContext(this._ctx, this.state); this.enterRule(_localctx, 44, PostgreSQLParser.RULE_add_drop); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2089; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_ADD || _la === PostgreSQLParser.KW_DROP)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createschemastmt(): CreateschemastmtContext { let _localctx: CreateschemastmtContext = new CreateschemastmtContext(this._ctx, this.state); this.enterRule(_localctx, 46, PostgreSQLParser.RULE_createschemastmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2091; this.match(PostgreSQLParser.KW_CREATE); this.state = 2092; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 2094; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 26, this._ctx) ) { case 1: { this.state = 2093; this.opt_if_not_exists(); } break; } this.state = 2102; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 28, this._ctx) ) { case 1: { this.state = 2097; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (PostgreSQLParser.KW_TABLE - 92)) | (1 << (PostgreSQLParser.KW_IS - 92)) | (1 << (PostgreSQLParser.KW_OUTER - 92)))) !== 0) || ((((_la - 124)) & ~0x1F) === 0 && ((1 << (_la - 124)) & ((1 << (PostgreSQLParser.KW_OVER - 124)) | (1 << (PostgreSQLParser.KW_ABORT - 124)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 124)) | (1 << (PostgreSQLParser.KW_ACCESS - 124)) | (1 << (PostgreSQLParser.KW_ACTION - 124)) | (1 << (PostgreSQLParser.KW_ADD - 124)) | (1 << (PostgreSQLParser.KW_ADMIN - 124)) | (1 << (PostgreSQLParser.KW_AFTER - 124)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 124)) | (1 << (PostgreSQLParser.KW_ALSO - 124)) | (1 << (PostgreSQLParser.KW_ALTER - 124)) | (1 << (PostgreSQLParser.KW_ALWAYS - 124)) | (1 << (PostgreSQLParser.KW_ASSERTION - 124)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 124)) | (1 << (PostgreSQLParser.KW_AT - 124)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 124)) | (1 << (PostgreSQLParser.KW_BACKWARD - 124)) | (1 << (PostgreSQLParser.KW_BEFORE - 124)) | (1 << (PostgreSQLParser.KW_BEGIN - 124)) | (1 << (PostgreSQLParser.KW_BY - 124)) | (1 << (PostgreSQLParser.KW_CACHE - 124)) | (1 << (PostgreSQLParser.KW_CALLED - 124)) | (1 << (PostgreSQLParser.KW_CASCADE - 124)) | (1 << (PostgreSQLParser.KW_CASCADED - 124)) | (1 << (PostgreSQLParser.KW_CATALOG - 124)) | (1 << (PostgreSQLParser.KW_CHAIN - 124)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 124)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 124)))) !== 0) || ((((_la - 156)) & ~0x1F) === 0 && ((1 << (_la - 156)) & ((1 << (PostgreSQLParser.KW_CLASS - 156)) | (1 << (PostgreSQLParser.KW_CLOSE - 156)) | (1 << (PostgreSQLParser.KW_CLUSTER - 156)) | (1 << (PostgreSQLParser.KW_COMMENT - 156)) | (1 << (PostgreSQLParser.KW_COMMENTS - 156)) | (1 << (PostgreSQLParser.KW_COMMIT - 156)) | (1 << (PostgreSQLParser.KW_COMMITTED - 156)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 156)) | (1 << (PostgreSQLParser.KW_CONNECTION - 156)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 156)) | (1 << (PostgreSQLParser.KW_CONTENT - 156)) | (1 << (PostgreSQLParser.KW_CONTINUE - 156)) | (1 << (PostgreSQLParser.KW_CONVERSION - 156)) | (1 << (PostgreSQLParser.KW_COPY - 156)) | (1 << (PostgreSQLParser.KW_COST - 156)) | (1 << (PostgreSQLParser.KW_CSV - 156)) | (1 << (PostgreSQLParser.KW_CURSOR - 156)) | (1 << (PostgreSQLParser.KW_CYCLE - 156)) | (1 << (PostgreSQLParser.KW_DATA - 156)) | (1 << (PostgreSQLParser.KW_DATABASE - 156)) | (1 << (PostgreSQLParser.KW_DAY - 156)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 156)) | (1 << (PostgreSQLParser.KW_DECLARE - 156)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 156)) | (1 << (PostgreSQLParser.KW_DEFERRED - 156)) | (1 << (PostgreSQLParser.KW_DEFINER - 156)) | (1 << (PostgreSQLParser.KW_DELETE - 156)) | (1 << (PostgreSQLParser.KW_DELIMITER - 156)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 156)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 156)) | (1 << (PostgreSQLParser.KW_DISABLE - 156)) | (1 << (PostgreSQLParser.KW_DISCARD - 156)))) !== 0) || ((((_la - 188)) & ~0x1F) === 0 && ((1 << (_la - 188)) & ((1 << (PostgreSQLParser.KW_DOCUMENT - 188)) | (1 << (PostgreSQLParser.KW_DOMAIN - 188)) | (1 << (PostgreSQLParser.KW_DOUBLE - 188)) | (1 << (PostgreSQLParser.KW_DROP - 188)) | (1 << (PostgreSQLParser.KW_EACH - 188)) | (1 << (PostgreSQLParser.KW_ENABLE - 188)) | (1 << (PostgreSQLParser.KW_ENCODING - 188)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 188)) | (1 << (PostgreSQLParser.KW_ENUM - 188)) | (1 << (PostgreSQLParser.KW_ESCAPE - 188)) | (1 << (PostgreSQLParser.KW_EVENT - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 188)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 188)) | (1 << (PostgreSQLParser.KW_EXECUTE - 188)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 188)) | (1 << (PostgreSQLParser.KW_EXTENSION - 188)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 188)) | (1 << (PostgreSQLParser.KW_FAMILY - 188)) | (1 << (PostgreSQLParser.KW_FIRST - 188)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 188)) | (1 << (PostgreSQLParser.KW_FORCE - 188)) | (1 << (PostgreSQLParser.KW_FORWARD - 188)) | (1 << (PostgreSQLParser.KW_FUNCTION - 188)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 188)) | (1 << (PostgreSQLParser.KW_GLOBAL - 188)) | (1 << (PostgreSQLParser.KW_GRANTED - 188)) | (1 << (PostgreSQLParser.KW_HANDLER - 188)) | (1 << (PostgreSQLParser.KW_HEADER - 188)) | (1 << (PostgreSQLParser.KW_HOLD - 188)) | (1 << (PostgreSQLParser.KW_HOUR - 188)) | (1 << (PostgreSQLParser.KW_IDENTITY - 188)))) !== 0) || ((((_la - 220)) & ~0x1F) === 0 && ((1 << (_la - 220)) & ((1 << (PostgreSQLParser.KW_IF - 220)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 220)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 220)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 220)) | (1 << (PostgreSQLParser.KW_INCLUDING - 220)) | (1 << (PostgreSQLParser.KW_INCREMENT - 220)) | (1 << (PostgreSQLParser.KW_INDEX - 220)) | (1 << (PostgreSQLParser.KW_INDEXES - 220)) | (1 << (PostgreSQLParser.KW_INHERIT - 220)) | (1 << (PostgreSQLParser.KW_INHERITS - 220)) | (1 << (PostgreSQLParser.KW_INLINE - 220)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 220)) | (1 << (PostgreSQLParser.KW_INSERT - 220)) | (1 << (PostgreSQLParser.KW_INSTEAD - 220)) | (1 << (PostgreSQLParser.KW_INVOKER - 220)) | (1 << (PostgreSQLParser.KW_ISOLATION - 220)) | (1 << (PostgreSQLParser.KW_KEY - 220)) | (1 << (PostgreSQLParser.KW_LABEL - 220)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 220)) | (1 << (PostgreSQLParser.KW_LARGE - 220)) | (1 << (PostgreSQLParser.KW_LAST - 220)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 220)) | (1 << (PostgreSQLParser.KW_LEVEL - 220)))) !== 0) || ((((_la - 252)) & ~0x1F) === 0 && ((1 << (_la - 252)) & ((1 << (PostgreSQLParser.KW_LISTEN - 252)) | (1 << (PostgreSQLParser.KW_LOAD - 252)) | (1 << (PostgreSQLParser.KW_LOCAL - 252)) | (1 << (PostgreSQLParser.KW_LOCATION - 252)) | (1 << (PostgreSQLParser.KW_LOCK - 252)) | (1 << (PostgreSQLParser.KW_MAPPING - 252)) | (1 << (PostgreSQLParser.KW_MATCH - 252)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 252)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 252)) | (1 << (PostgreSQLParser.KW_MINUTE - 252)) | (1 << (PostgreSQLParser.KW_MINVALUE - 252)) | (1 << (PostgreSQLParser.KW_MODE - 252)) | (1 << (PostgreSQLParser.KW_MONTH - 252)) | (1 << (PostgreSQLParser.KW_MOVE - 252)) | (1 << (PostgreSQLParser.KW_NAME - 252)) | (1 << (PostgreSQLParser.KW_NAMES - 252)) | (1 << (PostgreSQLParser.KW_NEXT - 252)) | (1 << (PostgreSQLParser.KW_NO - 252)) | (1 << (PostgreSQLParser.KW_NOTHING - 252)) | (1 << (PostgreSQLParser.KW_NOTIFY - 252)) | (1 << (PostgreSQLParser.KW_NOWAIT - 252)) | (1 << (PostgreSQLParser.KW_NULLS - 252)) | (1 << (PostgreSQLParser.KW_OBJECT - 252)) | (1 << (PostgreSQLParser.KW_OF - 252)) | (1 << (PostgreSQLParser.KW_OFF - 252)) | (1 << (PostgreSQLParser.KW_OIDS - 252)) | (1 << (PostgreSQLParser.KW_OPERATOR - 252)) | (1 << (PostgreSQLParser.KW_OPTION - 252)) | (1 << (PostgreSQLParser.KW_OPTIONS - 252)) | (1 << (PostgreSQLParser.KW_OWNED - 252)) | (1 << (PostgreSQLParser.KW_OWNER - 252)) | (1 << (PostgreSQLParser.KW_PARSER - 252)))) !== 0) || ((((_la - 284)) & ~0x1F) === 0 && ((1 << (_la - 284)) & ((1 << (PostgreSQLParser.KW_PARTIAL - 284)) | (1 << (PostgreSQLParser.KW_PARTITION - 284)) | (1 << (PostgreSQLParser.KW_PASSING - 284)) | (1 << (PostgreSQLParser.KW_PASSWORD - 284)) | (1 << (PostgreSQLParser.KW_PLANS - 284)) | (1 << (PostgreSQLParser.KW_PRECEDING - 284)) | (1 << (PostgreSQLParser.KW_PREPARE - 284)) | (1 << (PostgreSQLParser.KW_PREPARED - 284)) | (1 << (PostgreSQLParser.KW_PRESERVE - 284)) | (1 << (PostgreSQLParser.KW_PRIOR - 284)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 284)) | (1 << (PostgreSQLParser.KW_PROGRAM - 284)) | (1 << (PostgreSQLParser.KW_QUOTE - 284)) | (1 << (PostgreSQLParser.KW_RANGE - 284)) | (1 << (PostgreSQLParser.KW_READ - 284)) | (1 << (PostgreSQLParser.KW_REASSIGN - 284)) | (1 << (PostgreSQLParser.KW_RECHECK - 284)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 284)) | (1 << (PostgreSQLParser.KW_REF - 284)) | (1 << (PostgreSQLParser.KW_REFRESH - 284)) | (1 << (PostgreSQLParser.KW_REINDEX - 284)) | (1 << (PostgreSQLParser.KW_RELATIVE - 284)) | (1 << (PostgreSQLParser.KW_RELEASE - 284)) | (1 << (PostgreSQLParser.KW_RENAME - 284)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 284)) | (1 << (PostgreSQLParser.KW_REPLACE - 284)) | (1 << (PostgreSQLParser.KW_REPLICA - 284)) | (1 << (PostgreSQLParser.KW_RESET - 284)) | (1 << (PostgreSQLParser.KW_RESTART - 284)) | (1 << (PostgreSQLParser.KW_RESTRICT - 284)))) !== 0) || ((((_la - 316)) & ~0x1F) === 0 && ((1 << (_la - 316)) & ((1 << (PostgreSQLParser.KW_RETURNS - 316)) | (1 << (PostgreSQLParser.KW_REVOKE - 316)) | (1 << (PostgreSQLParser.KW_ROLE - 316)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 316)) | (1 << (PostgreSQLParser.KW_ROWS - 316)) | (1 << (PostgreSQLParser.KW_RULE - 316)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 316)) | (1 << (PostgreSQLParser.KW_SCHEMA - 316)) | (1 << (PostgreSQLParser.KW_SCROLL - 316)) | (1 << (PostgreSQLParser.KW_SEARCH - 316)) | (1 << (PostgreSQLParser.KW_SECOND - 316)) | (1 << (PostgreSQLParser.KW_SECURITY - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 316)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 316)) | (1 << (PostgreSQLParser.KW_SERVER - 316)) | (1 << (PostgreSQLParser.KW_SESSION - 316)) | (1 << (PostgreSQLParser.KW_SET - 316)) | (1 << (PostgreSQLParser.KW_SHARE - 316)) | (1 << (PostgreSQLParser.KW_SHOW - 316)) | (1 << (PostgreSQLParser.KW_SIMPLE - 316)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 316)) | (1 << (PostgreSQLParser.KW_STABLE - 316)) | (1 << (PostgreSQLParser.KW_STANDALONE - 316)) | (1 << (PostgreSQLParser.KW_START - 316)) | (1 << (PostgreSQLParser.KW_STATEMENT - 316)) | (1 << (PostgreSQLParser.KW_STATISTICS - 316)) | (1 << (PostgreSQLParser.KW_STDIN - 316)) | (1 << (PostgreSQLParser.KW_STDOUT - 316)) | (1 << (PostgreSQLParser.KW_STORAGE - 316)) | (1 << (PostgreSQLParser.KW_STRICT - 316)) | (1 << (PostgreSQLParser.KW_STRIP - 316)))) !== 0) || ((((_la - 348)) & ~0x1F) === 0 && ((1 << (_la - 348)) & ((1 << (PostgreSQLParser.KW_SYSID - 348)) | (1 << (PostgreSQLParser.KW_SYSTEM - 348)) | (1 << (PostgreSQLParser.KW_TABLES - 348)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 348)) | (1 << (PostgreSQLParser.KW_TEMP - 348)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 348)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 348)) | (1 << (PostgreSQLParser.KW_TEXT - 348)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 348)) | (1 << (PostgreSQLParser.KW_TRIGGER - 348)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 348)) | (1 << (PostgreSQLParser.KW_TRUSTED - 348)) | (1 << (PostgreSQLParser.KW_TYPE - 348)) | (1 << (PostgreSQLParser.KW_TYPES - 348)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 348)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 348)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 348)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 348)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 348)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 348)) | (1 << (PostgreSQLParser.KW_UNTIL - 348)) | (1 << (PostgreSQLParser.KW_UPDATE - 348)) | (1 << (PostgreSQLParser.KW_VACUUM - 348)) | (1 << (PostgreSQLParser.KW_VALID - 348)) | (1 << (PostgreSQLParser.KW_VALIDATE - 348)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 348)) | (1 << (PostgreSQLParser.KW_VARYING - 348)) | (1 << (PostgreSQLParser.KW_VERSION - 348)) | (1 << (PostgreSQLParser.KW_VIEW - 348)) | (1 << (PostgreSQLParser.KW_VOLATILE - 348)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 348)) | (1 << (PostgreSQLParser.KW_WITHOUT - 348)))) !== 0) || ((((_la - 380)) & ~0x1F) === 0 && ((1 << (_la - 380)) & ((1 << (PostgreSQLParser.KW_WORK - 380)) | (1 << (PostgreSQLParser.KW_WRAPPER - 380)) | (1 << (PostgreSQLParser.KW_WRITE - 380)) | (1 << (PostgreSQLParser.KW_XML - 380)) | (1 << (PostgreSQLParser.KW_YEAR - 380)) | (1 << (PostgreSQLParser.KW_YES - 380)) | (1 << (PostgreSQLParser.KW_ZONE - 380)) | (1 << (PostgreSQLParser.KW_BETWEEN - 380)) | (1 << (PostgreSQLParser.KW_BIGINT - 380)) | (1 << (PostgreSQLParser.KW_BIT - 380)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 380)) | (1 << (PostgreSQLParser.KW_CHAR - 380)) | (1 << (PostgreSQLParser.KW_CHARACTER - 380)) | (1 << (PostgreSQLParser.KW_COALESCE - 380)) | (1 << (PostgreSQLParser.KW_DEC - 380)) | (1 << (PostgreSQLParser.KW_DECIMAL - 380)) | (1 << (PostgreSQLParser.KW_EXISTS - 380)) | (1 << (PostgreSQLParser.KW_EXTRACT - 380)) | (1 << (PostgreSQLParser.KW_FLOAT - 380)) | (1 << (PostgreSQLParser.KW_GREATEST - 380)) | (1 << (PostgreSQLParser.KW_INOUT - 380)) | (1 << (PostgreSQLParser.KW_INT - 380)) | (1 << (PostgreSQLParser.KW_INTEGER - 380)) | (1 << (PostgreSQLParser.KW_INTERVAL - 380)) | (1 << (PostgreSQLParser.KW_LEAST - 380)) | (1 << (PostgreSQLParser.KW_NATIONAL - 380)) | (1 << (PostgreSQLParser.KW_NCHAR - 380)) | (1 << (PostgreSQLParser.KW_NONE - 380)) | (1 << (PostgreSQLParser.KW_NULLIF - 380)) | (1 << (PostgreSQLParser.KW_NUMERIC - 380)) | (1 << (PostgreSQLParser.KW_OVERLAY - 380)) | (1 << (PostgreSQLParser.KW_POSITION - 380)))) !== 0) || ((((_la - 412)) & ~0x1F) === 0 && ((1 << (_la - 412)) & ((1 << (PostgreSQLParser.KW_PRECISION - 412)) | (1 << (PostgreSQLParser.KW_REAL - 412)) | (1 << (PostgreSQLParser.KW_ROW - 412)) | (1 << (PostgreSQLParser.KW_SETOF - 412)) | (1 << (PostgreSQLParser.KW_SMALLINT - 412)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 412)) | (1 << (PostgreSQLParser.KW_TIME - 412)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 412)) | (1 << (PostgreSQLParser.KW_TREAT - 412)) | (1 << (PostgreSQLParser.KW_TRIM - 412)) | (1 << (PostgreSQLParser.KW_VALUES - 412)) | (1 << (PostgreSQLParser.KW_VARCHAR - 412)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 412)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 412)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 412)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 412)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 412)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 412)) | (1 << (PostgreSQLParser.KW_XMLPI - 412)) | (1 << (PostgreSQLParser.KW_XMLROOT - 412)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 412)) | (1 << (PostgreSQLParser.KW_CALL - 412)) | (1 << (PostgreSQLParser.KW_CURRENT - 412)) | (1 << (PostgreSQLParser.KW_ATTACH - 412)) | (1 << (PostgreSQLParser.KW_DETACH - 412)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 412)) | (1 << (PostgreSQLParser.KW_GENERATED - 412)) | (1 << (PostgreSQLParser.KW_LOGGED - 412)) | (1 << (PostgreSQLParser.KW_STORED - 412)) | (1 << (PostgreSQLParser.KW_INCLUDE - 412)) | (1 << (PostgreSQLParser.KW_ROUTINE - 412)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 412)))) !== 0) || ((((_la - 444)) & ~0x1F) === 0 && ((1 << (_la - 444)) & ((1 << (PostgreSQLParser.KW_IMPORT - 444)) | (1 << (PostgreSQLParser.KW_POLICY - 444)) | (1 << (PostgreSQLParser.KW_METHOD - 444)) | (1 << (PostgreSQLParser.KW_REFERENCING - 444)) | (1 << (PostgreSQLParser.KW_NEW - 444)) | (1 << (PostgreSQLParser.KW_OLD - 444)) | (1 << (PostgreSQLParser.KW_VALUE - 444)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 444)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 444)) | (1 << (PostgreSQLParser.KW_OUT - 444)) | (1 << (PostgreSQLParser.KW_ROUTINES - 444)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 444)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 444)) | (1 << (PostgreSQLParser.KW_INPUT - 444)) | (1 << (PostgreSQLParser.KW_SUPPORT - 444)) | (1 << (PostgreSQLParser.KW_PARALLEL - 444)) | (1 << (PostgreSQLParser.KW_SQL - 444)) | (1 << (PostgreSQLParser.KW_DEPENDS - 444)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 444)) | (1 << (PostgreSQLParser.KW_CONFLICT - 444)) | (1 << (PostgreSQLParser.KW_SKIP - 444)) | (1 << (PostgreSQLParser.KW_LOCKED - 444)) | (1 << (PostgreSQLParser.KW_TIES - 444)) | (1 << (PostgreSQLParser.KW_ROLLUP - 444)) | (1 << (PostgreSQLParser.KW_CUBE - 444)) | (1 << (PostgreSQLParser.KW_GROUPING - 444)) | (1 << (PostgreSQLParser.KW_SETS - 444)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 444)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 444)) | (1 << (PostgreSQLParser.KW_COLUMNS - 444)))) !== 0) || ((((_la - 476)) & ~0x1F) === 0 && ((1 << (_la - 476)) & ((1 << (PostgreSQLParser.KW_XMLNAMESPACES - 476)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 476)) | (1 << (PostgreSQLParser.KW_WITHIN - 476)) | (1 << (PostgreSQLParser.KW_FILTER - 476)) | (1 << (PostgreSQLParser.KW_GROUPS - 476)) | (1 << (PostgreSQLParser.KW_OTHERS - 476)) | (1 << (PostgreSQLParser.KW_NFC - 476)) | (1 << (PostgreSQLParser.KW_NFD - 476)) | (1 << (PostgreSQLParser.KW_NFKC - 476)) | (1 << (PostgreSQLParser.KW_NFKD - 476)) | (1 << (PostgreSQLParser.KW_UESCAPE - 476)) | (1 << (PostgreSQLParser.KW_VIEWS - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 476)) | (1 << (PostgreSQLParser.KW_DUMP - 476)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 476)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 476)) | (1 << (PostgreSQLParser.KW_ERROR - 476)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 476)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 476)) | (1 << (PostgreSQLParser.KW_ALIAS - 476)) | (1 << (PostgreSQLParser.KW_CONSTANT - 476)) | (1 << (PostgreSQLParser.KW_PERFORM - 476)) | (1 << (PostgreSQLParser.KW_GET - 476)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 476)) | (1 << (PostgreSQLParser.KW_STACKED - 476)) | (1 << (PostgreSQLParser.KW_ELSIF - 476)) | (1 << (PostgreSQLParser.KW_REVERSE - 476)) | (1 << (PostgreSQLParser.KW_SLICE - 476)) | (1 << (PostgreSQLParser.KW_EXIT - 476)))) !== 0) || ((((_la - 508)) & ~0x1F) === 0 && ((1 << (_la - 508)) & ((1 << (PostgreSQLParser.KW_RETURN - 508)) | (1 << (PostgreSQLParser.KW_QUERY - 508)) | (1 << (PostgreSQLParser.KW_RAISE - 508)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 508)) | (1 << (PostgreSQLParser.KW_DEBUG - 508)) | (1 << (PostgreSQLParser.KW_LOG - 508)) | (1 << (PostgreSQLParser.KW_INFO - 508)) | (1 << (PostgreSQLParser.KW_NOTICE - 508)) | (1 << (PostgreSQLParser.KW_WARNING - 508)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 508)) | (1 << (PostgreSQLParser.KW_ASSERT - 508)) | (1 << (PostgreSQLParser.KW_OPEN - 508)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 2096; this.schema_name_create(); } } this.state = 2099; this.match(PostgreSQLParser.KW_AUTHORIZATION); this.state = 2100; this.rolespec(); } break; case 2: { this.state = 2101; this.schema_name_create(); } break; } this.state = 2104; this.optschemaeltlist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public schema_name_create(): Schema_name_createContext { let _localctx: Schema_name_createContext = new Schema_name_createContext(this._ctx, this.state); this.enterRule(_localctx, 48, PostgreSQLParser.RULE_schema_name_create); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2106; this.colid(); this.state = 2108; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.DOT) { { this.state = 2107; this.attrs(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public optschemaeltlist(): OptschemaeltlistContext { let _localctx: OptschemaeltlistContext = new OptschemaeltlistContext(this._ctx, this.state); this.enterRule(_localctx, 50, PostgreSQLParser.RULE_optschemaeltlist); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 2113; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 30, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 2110; this.schema_stmt(); } } } this.state = 2115; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 30, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public schema_stmt(): Schema_stmtContext { let _localctx: Schema_stmtContext = new Schema_stmtContext(this._ctx, this.state); this.enterRule(_localctx, 52, PostgreSQLParser.RULE_schema_stmt); try { this.state = 2122; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 31, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2116; this.createstmt(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2117; this.indexstmt(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 2118; this.createseqstmt(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 2119; this.createtrigstmt(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 2120; this.grantstmt(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 2121; this.viewstmt(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public variablesetstmt(): VariablesetstmtContext { let _localctx: VariablesetstmtContext = new VariablesetstmtContext(this._ctx, this.state); this.enterRule(_localctx, 54, PostgreSQLParser.RULE_variablesetstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2124; this.match(PostgreSQLParser.KW_SET); this.state = 2126; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 32, this._ctx) ) { case 1: { this.state = 2125; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_LOCAL || _la === PostgreSQLParser.KW_SESSION)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; } this.state = 2128; this.set_rest(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public set_rest(): Set_restContext { let _localctx: Set_restContext = new Set_restContext(this._ctx, this.state); this.enterRule(_localctx, 56, PostgreSQLParser.RULE_set_rest); try { this.state = 2138; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 33, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2130; this.match(PostgreSQLParser.KW_TRANSACTION); this.state = 2131; this.transaction_mode_list(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2132; this.match(PostgreSQLParser.KW_SESSION); this.state = 2133; this.match(PostgreSQLParser.KW_CHARACTERISTICS); this.state = 2134; this.match(PostgreSQLParser.KW_AS); this.state = 2135; this.match(PostgreSQLParser.KW_TRANSACTION); this.state = 2136; this.transaction_mode_list(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 2137; this.set_rest_more(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public generic_set(): Generic_setContext { let _localctx: Generic_setContext = new Generic_setContext(this._ctx, this.state); this.enterRule(_localctx, 58, PostgreSQLParser.RULE_generic_set); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2142; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 2140; this.var_name(); } break; case PostgreSQLParser.KW_ALL: { this.state = 2141; this.match(PostgreSQLParser.KW_ALL); } break; default: throw new NoViableAltException(this); } this.state = 2145; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.EQUAL || _la === PostgreSQLParser.KW_TO) { { this.state = 2144; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.EQUAL || _la === PostgreSQLParser.KW_TO)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } this.state = 2149; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 36, this._ctx) ) { case 1: { this.state = 2147; this.var_list(); } break; case 2: { this.state = 2148; this.match(PostgreSQLParser.KW_DEFAULT); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public set_rest_more(): Set_rest_moreContext { let _localctx: Set_rest_moreContext = new Set_rest_moreContext(this._ctx, this.state); this.enterRule(_localctx, 60, PostgreSQLParser.RULE_set_rest_more); try { this.state = 2178; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 38, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2151; this.generic_set(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2152; this.var_name(); this.state = 2153; this.match(PostgreSQLParser.KW_FROM); this.state = 2154; this.match(PostgreSQLParser.KW_CURRENT); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 2156; this.match(PostgreSQLParser.KW_TIME); this.state = 2157; this.match(PostgreSQLParser.KW_ZONE); this.state = 2158; this.zone_value(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 2159; this.match(PostgreSQLParser.KW_CATALOG); this.state = 2160; this.sconst(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 2161; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 2162; this.schema_name(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 2163; this.match(PostgreSQLParser.KW_NAMES); this.state = 2165; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 37, this._ctx) ) { case 1: { this.state = 2164; this.opt_encoding(); } break; } } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 2167; this.match(PostgreSQLParser.KW_ROLE); this.state = 2168; this.nonreservedword_or_sconst(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 2169; this.match(PostgreSQLParser.KW_SESSION); this.state = 2170; this.match(PostgreSQLParser.KW_AUTHORIZATION); this.state = 2171; this.nonreservedword_or_sconst(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 2172; this.match(PostgreSQLParser.KW_XML); this.state = 2173; this.match(PostgreSQLParser.KW_OPTION); this.state = 2174; this.document_or_content(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 2175; this.match(PostgreSQLParser.KW_TRANSACTION); this.state = 2176; this.match(PostgreSQLParser.KW_SNAPSHOT); this.state = 2177; this.sconst(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public var_name(): Var_nameContext { let _localctx: Var_nameContext = new Var_nameContext(this._ctx, this.state); this.enterRule(_localctx, 62, PostgreSQLParser.RULE_var_name); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2180; this.colid(); this.state = 2185; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.DOT) { { { this.state = 2181; this.match(PostgreSQLParser.DOT); this.state = 2182; this.colid(); } } this.state = 2187; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public var_list(): Var_listContext { let _localctx: Var_listContext = new Var_listContext(this._ctx, this.state); this.enterRule(_localctx, 64, PostgreSQLParser.RULE_var_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2188; this.var_value(); this.state = 2193; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 2189; this.match(PostgreSQLParser.COMMA); this.state = 2190; this.var_value(); } } this.state = 2195; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public var_value(): Var_valueContext { let _localctx: Var_valueContext = new Var_valueContext(this._ctx, this.state); this.enterRule(_localctx, 66, PostgreSQLParser.RULE_var_value); try { this.state = 2198; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FALSE: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_ON: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_TRUE: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 2196; this.opt_boolean_or_string(); } break; case PostgreSQLParser.PLUS: case PostgreSQLParser.MINUS: case PostgreSQLParser.Integral: case PostgreSQLParser.Numeric: this.enterOuterAlt(_localctx, 2); { this.state = 2197; this.numericonly(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public iso_level(): Iso_levelContext { let _localctx: Iso_levelContext = new Iso_levelContext(this._ctx, this.state); this.enterRule(_localctx, 68, PostgreSQLParser.RULE_iso_level); let _la: number; try { this.state = 2205; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_READ: this.enterOuterAlt(_localctx, 1); { this.state = 2200; this.match(PostgreSQLParser.KW_READ); this.state = 2201; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_COMMITTED || _la === PostgreSQLParser.KW_UNCOMMITTED)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case PostgreSQLParser.KW_REPEATABLE: this.enterOuterAlt(_localctx, 2); { this.state = 2202; this.match(PostgreSQLParser.KW_REPEATABLE); this.state = 2203; this.match(PostgreSQLParser.KW_READ); } break; case PostgreSQLParser.KW_SERIALIZABLE: this.enterOuterAlt(_localctx, 3); { this.state = 2204; this.match(PostgreSQLParser.KW_SERIALIZABLE); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_boolean_or_string_column(): Opt_boolean_or_string_columnContext { let _localctx: Opt_boolean_or_string_columnContext = new Opt_boolean_or_string_columnContext(this._ctx, this.state); this.enterRule(_localctx, 70, PostgreSQLParser.RULE_opt_boolean_or_string_column); try { this.state = 2211; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_TRUE: this.enterOuterAlt(_localctx, 1); { this.state = 2207; this.match(PostgreSQLParser.KW_TRUE); } break; case PostgreSQLParser.KW_FALSE: this.enterOuterAlt(_localctx, 2); { this.state = 2208; this.match(PostgreSQLParser.KW_FALSE); } break; case PostgreSQLParser.KW_ON: this.enterOuterAlt(_localctx, 3); { this.state = 2209; this.match(PostgreSQLParser.KW_ON); } break; case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 4); { this.state = 2210; this.nonreservedword_or_sconst_column(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_boolean_or_string(): Opt_boolean_or_stringContext { let _localctx: Opt_boolean_or_stringContext = new Opt_boolean_or_stringContext(this._ctx, this.state); this.enterRule(_localctx, 72, PostgreSQLParser.RULE_opt_boolean_or_string); try { this.state = 2217; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_TRUE: this.enterOuterAlt(_localctx, 1); { this.state = 2213; this.match(PostgreSQLParser.KW_TRUE); } break; case PostgreSQLParser.KW_FALSE: this.enterOuterAlt(_localctx, 2); { this.state = 2214; this.match(PostgreSQLParser.KW_FALSE); } break; case PostgreSQLParser.KW_ON: this.enterOuterAlt(_localctx, 3); { this.state = 2215; this.match(PostgreSQLParser.KW_ON); } break; case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 4); { this.state = 2216; this.nonreservedword_or_sconst(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public zone_value(): Zone_valueContext { let _localctx: Zone_valueContext = new Zone_valueContext(this._ctx, this.state); this.enterRule(_localctx, 74, PostgreSQLParser.RULE_zone_value); try { this.state = 2235; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 46, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2219; this.sconst(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2220; this.identifier(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 2221; this.constinterval(); this.state = 2222; this.sconst(); this.state = 2224; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 45, this._ctx) ) { case 1: { this.state = 2223; this.opt_interval(); } break; } } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 2226; this.constinterval(); this.state = 2227; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 2228; this.iconst(); this.state = 2229; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 2230; this.sconst(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 2232; this.numericonly(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 2233; this.match(PostgreSQLParser.KW_DEFAULT); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 2234; this.match(PostgreSQLParser.KW_LOCAL); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_encoding(): Opt_encodingContext { let _localctx: Opt_encodingContext = new Opt_encodingContext(this._ctx, this.state); this.enterRule(_localctx, 76, PostgreSQLParser.RULE_opt_encoding); try { this.state = 2239; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 2237; this.sconst(); } break; case PostgreSQLParser.KW_DEFAULT: this.enterOuterAlt(_localctx, 2); { this.state = 2238; this.match(PostgreSQLParser.KW_DEFAULT); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public nonreservedword_or_sconst_column(): Nonreservedword_or_sconst_columnContext { let _localctx: Nonreservedword_or_sconst_columnContext = new Nonreservedword_or_sconst_columnContext(this._ctx, this.state); this.enterRule(_localctx, 78, PostgreSQLParser.RULE_nonreservedword_or_sconst_column); try { this.state = 2243; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 48, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2241; this.nonreservedword_column(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2242; this.sconst(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public nonreservedword_or_sconst(): Nonreservedword_or_sconstContext { let _localctx: Nonreservedword_or_sconstContext = new Nonreservedword_or_sconstContext(this._ctx, this.state); this.enterRule(_localctx, 80, PostgreSQLParser.RULE_nonreservedword_or_sconst); try { this.state = 2247; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 49, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2245; this.nonreservedword(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2246; this.sconst(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public variableresetstmt(): VariableresetstmtContext { let _localctx: VariableresetstmtContext = new VariableresetstmtContext(this._ctx, this.state); this.enterRule(_localctx, 82, PostgreSQLParser.RULE_variableresetstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 2249; this.match(PostgreSQLParser.KW_RESET); this.state = 2250; this.reset_rest(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public reset_rest(): Reset_restContext { let _localctx: Reset_restContext = new Reset_restContext(this._ctx, this.state); this.enterRule(_localctx, 84, PostgreSQLParser.RULE_reset_rest); try { this.state = 2260; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 50, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2252; this.generic_reset(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2253; this.match(PostgreSQLParser.KW_TIME); this.state = 2254; this.match(PostgreSQLParser.KW_ZONE); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 2255; this.match(PostgreSQLParser.KW_TRANSACTION); this.state = 2256; this.match(PostgreSQLParser.KW_ISOLATION); this.state = 2257; this.match(PostgreSQLParser.KW_LEVEL); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 2258; this.match(PostgreSQLParser.KW_SESSION); this.state = 2259; this.match(PostgreSQLParser.KW_AUTHORIZATION); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public generic_reset(): Generic_resetContext { let _localctx: Generic_resetContext = new Generic_resetContext(this._ctx, this.state); this.enterRule(_localctx, 86, PostgreSQLParser.RULE_generic_reset); try { this.state = 2264; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 2262; this.var_name(); } break; case PostgreSQLParser.KW_ALL: this.enterOuterAlt(_localctx, 2); { this.state = 2263; this.match(PostgreSQLParser.KW_ALL); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public setresetclause(): SetresetclauseContext { let _localctx: SetresetclauseContext = new SetresetclauseContext(this._ctx, this.state); this.enterRule(_localctx, 88, PostgreSQLParser.RULE_setresetclause); try { this.state = 2269; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_SET: this.enterOuterAlt(_localctx, 1); { this.state = 2266; this.match(PostgreSQLParser.KW_SET); this.state = 2267; this.set_rest(); } break; case PostgreSQLParser.KW_RESET: this.enterOuterAlt(_localctx, 2); { this.state = 2268; this.variableresetstmt(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public functionsetresetclause(): FunctionsetresetclauseContext { let _localctx: FunctionsetresetclauseContext = new FunctionsetresetclauseContext(this._ctx, this.state); this.enterRule(_localctx, 90, PostgreSQLParser.RULE_functionsetresetclause); try { this.state = 2274; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_SET: this.enterOuterAlt(_localctx, 1); { this.state = 2271; this.match(PostgreSQLParser.KW_SET); this.state = 2272; this.set_rest_more(); } break; case PostgreSQLParser.KW_RESET: this.enterOuterAlt(_localctx, 2); { this.state = 2273; this.variableresetstmt(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public variableshowstmt(): VariableshowstmtContext { let _localctx: VariableshowstmtContext = new VariableshowstmtContext(this._ctx, this.state); this.enterRule(_localctx, 92, PostgreSQLParser.RULE_variableshowstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 2276; this.match(PostgreSQLParser.KW_SHOW); this.state = 2286; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 54, this._ctx) ) { case 1: { this.state = 2277; this.var_name(); } break; case 2: { this.state = 2278; this.match(PostgreSQLParser.KW_TIME); this.state = 2279; this.match(PostgreSQLParser.KW_ZONE); } break; case 3: { this.state = 2280; this.match(PostgreSQLParser.KW_TRANSACTION); this.state = 2281; this.match(PostgreSQLParser.KW_ISOLATION); this.state = 2282; this.match(PostgreSQLParser.KW_LEVEL); } break; case 4: { this.state = 2283; this.match(PostgreSQLParser.KW_SESSION); this.state = 2284; this.match(PostgreSQLParser.KW_AUTHORIZATION); } break; case 5: { this.state = 2285; this.match(PostgreSQLParser.KW_ALL); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public constraintssetstmt(): ConstraintssetstmtContext { let _localctx: ConstraintssetstmtContext = new ConstraintssetstmtContext(this._ctx, this.state); this.enterRule(_localctx, 94, PostgreSQLParser.RULE_constraintssetstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 2288; this.match(PostgreSQLParser.KW_SET); this.state = 2289; this.match(PostgreSQLParser.KW_CONSTRAINTS); this.state = 2290; this.constraints_set_list(); this.state = 2291; this.constraints_set_mode(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public constraints_set_list(): Constraints_set_listContext { let _localctx: Constraints_set_listContext = new Constraints_set_listContext(this._ctx, this.state); this.enterRule(_localctx, 96, PostgreSQLParser.RULE_constraints_set_list); try { this.state = 2295; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_ALL: this.enterOuterAlt(_localctx, 1); { this.state = 2293; this.match(PostgreSQLParser.KW_ALL); } break; case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 2); { this.state = 2294; this.qualified_name_list(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public constraints_set_mode(): Constraints_set_modeContext { let _localctx: Constraints_set_modeContext = new Constraints_set_modeContext(this._ctx, this.state); this.enterRule(_localctx, 98, PostgreSQLParser.RULE_constraints_set_mode); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2297; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_DEFERRED || _la === PostgreSQLParser.KW_IMMEDIATE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public checkpointstmt(): CheckpointstmtContext { let _localctx: CheckpointstmtContext = new CheckpointstmtContext(this._ctx, this.state); this.enterRule(_localctx, 100, PostgreSQLParser.RULE_checkpointstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 2299; this.match(PostgreSQLParser.KW_CHECKPOINT); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public discardstmt(): DiscardstmtContext { let _localctx: DiscardstmtContext = new DiscardstmtContext(this._ctx, this.state); this.enterRule(_localctx, 102, PostgreSQLParser.RULE_discardstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2301; this.match(PostgreSQLParser.KW_DISCARD); this.state = 2302; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_ALL || _la === PostgreSQLParser.KW_PLANS || ((((_la - 329)) & ~0x1F) === 0 && ((1 << (_la - 329)) & ((1 << (PostgreSQLParser.KW_SEQUENCES - 329)) | (1 << (PostgreSQLParser.KW_TEMP - 329)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 329)))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public altertablestmt(): AltertablestmtContext { let _localctx: AltertablestmtContext = new AltertablestmtContext(this._ctx, this.state); this.enterRule(_localctx, 104, PostgreSQLParser.RULE_altertablestmt); let _la: number; try { this.state = 2437; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 74, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2304; this.match(PostgreSQLParser.KW_ALTER); this.state = 2305; this.match(PostgreSQLParser.KW_TABLE); this.state = 2307; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 56, this._ctx) ) { case 1: { this.state = 2306; this.opt_if_exists(); } break; } this.state = 2309; this.relation_expr(); this.state = 2312; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_NOT: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_VALIDATE: { this.state = 2310; this.alter_table_cmds(); } break; case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: { this.state = 2311; this.partition_cmd(); } break; default: throw new NoViableAltException(this); } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2314; this.match(PostgreSQLParser.KW_ALTER); this.state = 2315; this.match(PostgreSQLParser.KW_TABLE); this.state = 2316; this.match(PostgreSQLParser.KW_ALL); this.state = 2317; this.match(PostgreSQLParser.KW_IN); this.state = 2318; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 2319; this.tablespace_name(); this.state = 2323; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OWNED) { { this.state = 2320; this.match(PostgreSQLParser.KW_OWNED); this.state = 2321; this.match(PostgreSQLParser.KW_BY); this.state = 2322; this.role_list(); } } this.state = 2325; this.match(PostgreSQLParser.KW_SET); this.state = 2326; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 2327; this.tablespace_name_create(); this.state = 2329; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 59, this._ctx) ) { case 1: { this.state = 2328; this.opt_nowait(); } break; } } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 2331; this.match(PostgreSQLParser.KW_ALTER); this.state = 2332; this.match(PostgreSQLParser.KW_TABLE); this.state = 2334; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 60, this._ctx) ) { case 1: { this.state = 2333; this.opt_if_exists(); } break; } this.state = 2336; this.table_name(); this.state = 2337; this.match(PostgreSQLParser.KW_ATTACH); this.state = 2338; this.match(PostgreSQLParser.KW_PARTITION); this.state = 2339; this.qualified_name(); this.state = 2344; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_FOR: { this.state = 2340; this.match(PostgreSQLParser.KW_FOR); this.state = 2341; this.match(PostgreSQLParser.KW_VALUES); this.state = 2342; this.partition_bound_spec(); } break; case PostgreSQLParser.KW_DEFAULT: { this.state = 2343; this.match(PostgreSQLParser.KW_DEFAULT); } break; default: throw new NoViableAltException(this); } } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 2346; this.match(PostgreSQLParser.KW_ALTER); this.state = 2347; this.match(PostgreSQLParser.KW_TABLE); this.state = 2349; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 62, this._ctx) ) { case 1: { this.state = 2348; this.opt_if_exists(); } break; } this.state = 2351; this.table_name(); this.state = 2352; this.match(PostgreSQLParser.KW_DETACH); this.state = 2353; this.match(PostgreSQLParser.KW_PARTITION); this.state = 2354; this.qualified_name(); this.state = 2356; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_CONCURRENTLY || _la === PostgreSQLParser.KW_FINALIZE) { { this.state = 2355; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_CONCURRENTLY || _la === PostgreSQLParser.KW_FINALIZE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 2358; this.match(PostgreSQLParser.KW_ALTER); this.state = 2359; this.match(PostgreSQLParser.KW_INDEX); this.state = 2361; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 64, this._ctx) ) { case 1: { this.state = 2360; this.opt_if_exists(); } break; } this.state = 2363; this.qualified_name(); this.state = 2366; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_NOT: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_VALIDATE: { this.state = 2364; this.alter_table_cmds(); } break; case PostgreSQLParser.KW_ATTACH: { this.state = 2365; this.index_partition_cmd(); } break; default: throw new NoViableAltException(this); } } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 2368; this.match(PostgreSQLParser.KW_ALTER); this.state = 2369; this.match(PostgreSQLParser.KW_INDEX); this.state = 2370; this.match(PostgreSQLParser.KW_ALL); this.state = 2371; this.match(PostgreSQLParser.KW_IN); this.state = 2372; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 2373; this.tablespace_name(); this.state = 2377; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OWNED) { { this.state = 2374; this.match(PostgreSQLParser.KW_OWNED); this.state = 2375; this.match(PostgreSQLParser.KW_BY); this.state = 2376; this.role_list(); } } this.state = 2379; this.match(PostgreSQLParser.KW_SET); this.state = 2380; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 2381; this.tablespace_name_create(); this.state = 2383; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 67, this._ctx) ) { case 1: { this.state = 2382; this.opt_nowait(); } break; } } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 2385; this.match(PostgreSQLParser.KW_ALTER); this.state = 2386; this.match(PostgreSQLParser.KW_SEQUENCE); this.state = 2388; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 68, this._ctx) ) { case 1: { this.state = 2387; this.opt_if_exists(); } break; } this.state = 2390; this.qualified_name(); this.state = 2391; this.alter_table_cmds(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 2393; this.match(PostgreSQLParser.KW_ALTER); this.state = 2394; this.match(PostgreSQLParser.KW_VIEW); this.state = 2396; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 69, this._ctx) ) { case 1: { this.state = 2395; this.opt_if_exists(); } break; } this.state = 2398; this.view_name(); this.state = 2399; this.alter_table_cmds(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 2401; this.match(PostgreSQLParser.KW_ALTER); this.state = 2402; this.match(PostgreSQLParser.KW_MATERIALIZED); this.state = 2403; this.match(PostgreSQLParser.KW_VIEW); this.state = 2405; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 70, this._ctx) ) { case 1: { this.state = 2404; this.opt_if_exists(); } break; } this.state = 2407; this.view_name(); this.state = 2408; this.alter_table_cmds(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 2410; this.match(PostgreSQLParser.KW_ALTER); this.state = 2411; this.match(PostgreSQLParser.KW_MATERIALIZED); this.state = 2412; this.match(PostgreSQLParser.KW_VIEW); this.state = 2413; this.match(PostgreSQLParser.KW_ALL); this.state = 2414; this.match(PostgreSQLParser.KW_IN); this.state = 2415; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 2416; this.tablespace_name(); this.state = 2420; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OWNED) { { this.state = 2417; this.match(PostgreSQLParser.KW_OWNED); this.state = 2418; this.match(PostgreSQLParser.KW_BY); this.state = 2419; this.role_list(); } } this.state = 2422; this.match(PostgreSQLParser.KW_SET); this.state = 2423; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 2424; this.tablespace_name_create(); this.state = 2426; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 72, this._ctx) ) { case 1: { this.state = 2425; this.opt_nowait(); } break; } } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 2428; this.match(PostgreSQLParser.KW_ALTER); this.state = 2429; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 2430; this.match(PostgreSQLParser.KW_TABLE); this.state = 2432; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 73, this._ctx) ) { case 1: { this.state = 2431; this.opt_if_exists(); } break; } this.state = 2434; this.relation_expr(); this.state = 2435; this.alter_table_cmds(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_table_cmds(): Alter_table_cmdsContext { let _localctx: Alter_table_cmdsContext = new Alter_table_cmdsContext(this._ctx, this.state); this.enterRule(_localctx, 106, PostgreSQLParser.RULE_alter_table_cmds); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2439; this.alter_table_cmd(); this.state = 2444; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 2440; this.match(PostgreSQLParser.COMMA); this.state = 2441; this.alter_table_cmd(); } } this.state = 2446; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public partition_bound_spec(): Partition_bound_specContext { let _localctx: Partition_bound_specContext = new Partition_bound_specContext(this._ctx, this.state); this.enterRule(_localctx, 108, PostgreSQLParser.RULE_partition_bound_spec); try { this.state = 2456; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_IN: this.enterOuterAlt(_localctx, 1); { this.state = 2447; this.match(PostgreSQLParser.KW_IN); this.state = 2448; this.opt_type_modifiers(); } break; case PostgreSQLParser.KW_FROM: this.enterOuterAlt(_localctx, 2); { this.state = 2449; this.match(PostgreSQLParser.KW_FROM); this.state = 2450; this.partition_bound_cluase(); this.state = 2451; this.match(PostgreSQLParser.KW_TO); this.state = 2452; this.partition_bound_cluase(); } break; case PostgreSQLParser.KW_WITH: this.enterOuterAlt(_localctx, 3); { this.state = 2454; this.match(PostgreSQLParser.KW_WITH); this.state = 2455; this.partition_with_cluase(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public partition_bound_cluase(): Partition_bound_cluaseContext { let _localctx: Partition_bound_cluaseContext = new Partition_bound_cluaseContext(this._ctx, this.state); this.enterRule(_localctx, 110, PostgreSQLParser.RULE_partition_bound_cluase); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2458; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 2459; this.partition_bound_choose(); this.state = 2464; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 2460; this.match(PostgreSQLParser.COMMA); this.state = 2461; this.partition_bound_choose(); } } this.state = 2466; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 2467; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public partition_bound_choose(): Partition_bound_chooseContext { let _localctx: Partition_bound_chooseContext = new Partition_bound_chooseContext(this._ctx, this.state); this.enterRule(_localctx, 112, PostgreSQLParser.RULE_partition_bound_choose); try { this.state = 2472; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: this.enterOuterAlt(_localctx, 1); { this.state = 2469; this.opt_type_modifiers(); } break; case PostgreSQLParser.KW_MINVALUE: this.enterOuterAlt(_localctx, 2); { this.state = 2470; this.match(PostgreSQLParser.KW_MINVALUE); } break; case PostgreSQLParser.KW_MAXVALUE: this.enterOuterAlt(_localctx, 3); { this.state = 2471; this.match(PostgreSQLParser.KW_MAXVALUE); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public partition_with_cluase(): Partition_with_cluaseContext { let _localctx: Partition_with_cluaseContext = new Partition_with_cluaseContext(this._ctx, this.state); this.enterRule(_localctx, 114, PostgreSQLParser.RULE_partition_with_cluase); try { this.enterOuterAlt(_localctx, 1); { this.state = 2474; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 2475; this.match(PostgreSQLParser.KW_MODULUS); this.state = 2476; this.numericonly(); this.state = 2477; this.match(PostgreSQLParser.COMMA); this.state = 2478; this.match(PostgreSQLParser.KW_REMAINDER); this.state = 2479; this.numericonly(); this.state = 2480; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public partition_cmd(): Partition_cmdContext { let _localctx: Partition_cmdContext = new Partition_cmdContext(this._ctx, this.state); this.enterRule(_localctx, 116, PostgreSQLParser.RULE_partition_cmd); try { this.state = 2490; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_ATTACH: this.enterOuterAlt(_localctx, 1); { this.state = 2482; this.match(PostgreSQLParser.KW_ATTACH); this.state = 2483; this.match(PostgreSQLParser.KW_PARTITION); this.state = 2484; this.qualified_name(); this.state = 2485; this.partitionboundspec(); } break; case PostgreSQLParser.KW_DETACH: this.enterOuterAlt(_localctx, 2); { this.state = 2487; this.match(PostgreSQLParser.KW_DETACH); this.state = 2488; this.match(PostgreSQLParser.KW_PARTITION); this.state = 2489; this.qualified_name(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public index_partition_cmd(): Index_partition_cmdContext { let _localctx: Index_partition_cmdContext = new Index_partition_cmdContext(this._ctx, this.state); this.enterRule(_localctx, 118, PostgreSQLParser.RULE_index_partition_cmd); try { this.enterOuterAlt(_localctx, 1); { this.state = 2492; this.match(PostgreSQLParser.KW_ATTACH); this.state = 2493; this.match(PostgreSQLParser.KW_PARTITION); this.state = 2494; this.qualified_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_table_cmd(): Alter_table_cmdContext { let _localctx: Alter_table_cmdContext = new Alter_table_cmdContext(this._ctx, this.state); this.enterRule(_localctx, 120, PostgreSQLParser.RULE_alter_table_cmd); let _la: number; try { this.state = 2758; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 107, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2496; this.match(PostgreSQLParser.KW_ADD); this.state = 2498; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 80, this._ctx) ) { case 1: { this.state = 2497; this.opt_column(); } break; } this.state = 2501; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 81, this._ctx) ) { case 1: { this.state = 2500; this.opt_if_not_exists(); } break; } this.state = 2503; this.columnDefCluase(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2504; this.match(PostgreSQLParser.KW_ALTER); this.state = 2506; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 82, this._ctx) ) { case 1: { this.state = 2505; this.opt_column(); } break; } this.state = 2508; this.column_name(); this.state = 2509; this.alter_column_default(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 2511; this.match(PostgreSQLParser.KW_ALTER); this.state = 2513; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 83, this._ctx) ) { case 1: { this.state = 2512; this.opt_column(); } break; } this.state = 2515; this.column_name(); this.state = 2516; this.match(PostgreSQLParser.KW_DROP); this.state = 2517; this.match(PostgreSQLParser.KW_NOT); this.state = 2518; this.match(PostgreSQLParser.KW_NULL); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 2520; this.match(PostgreSQLParser.KW_ALTER); this.state = 2522; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 84, this._ctx) ) { case 1: { this.state = 2521; this.opt_column(); } break; } this.state = 2524; this.column_name(); this.state = 2525; this.match(PostgreSQLParser.KW_SET); this.state = 2526; this.match(PostgreSQLParser.KW_NOT); this.state = 2527; this.match(PostgreSQLParser.KW_NULL); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 2529; this.match(PostgreSQLParser.KW_ALTER); this.state = 2531; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 85, this._ctx) ) { case 1: { this.state = 2530; this.opt_column(); } break; } this.state = 2533; this.column_name(); this.state = 2534; this.match(PostgreSQLParser.KW_DROP); this.state = 2535; this.match(PostgreSQLParser.KW_EXPRESSION); this.state = 2537; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 86, this._ctx) ) { case 1: { this.state = 2536; this.opt_if_exists(); } break; } } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 2539; this.match(PostgreSQLParser.KW_ALTER); this.state = 2541; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 87, this._ctx) ) { case 1: { this.state = 2540; this.opt_column(); } break; } this.state = 2543; this.column_name(); this.state = 2544; this.match(PostgreSQLParser.KW_SET); this.state = 2545; this.match(PostgreSQLParser.KW_STATISTICS); this.state = 2546; this.signediconst(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 2548; this.match(PostgreSQLParser.KW_ALTER); this.state = 2550; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 88, this._ctx) ) { case 1: { this.state = 2549; this.opt_column(); } break; } this.state = 2552; this.column_name(); this.state = 2553; this.match(PostgreSQLParser.KW_SET); this.state = 2554; this.match(PostgreSQLParser.KW_STATISTICS); this.state = 2555; this.signediconst(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 2557; this.match(PostgreSQLParser.KW_ALTER); this.state = 2559; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 89, this._ctx) ) { case 1: { this.state = 2558; this.opt_column(); } break; } this.state = 2561; this.column_name(); this.state = 2562; this.match(PostgreSQLParser.KW_SET); this.state = 2563; this.reloptions(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 2565; this.match(PostgreSQLParser.KW_ALTER); this.state = 2567; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 90, this._ctx) ) { case 1: { this.state = 2566; this.opt_column(); } break; } this.state = 2569; this.column_name(); this.state = 2570; this.match(PostgreSQLParser.KW_RESET); this.state = 2571; this.reloptions(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 2573; this.match(PostgreSQLParser.KW_ALTER); this.state = 2575; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 91, this._ctx) ) { case 1: { this.state = 2574; this.opt_column(); } break; } this.state = 2577; this.column_name(); this.state = 2578; this.match(PostgreSQLParser.KW_SET); this.state = 2579; this.match(PostgreSQLParser.KW_STORAGE); this.state = 2580; this.colid(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 2582; this.match(PostgreSQLParser.KW_ALTER); this.state = 2584; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 92, this._ctx) ) { case 1: { this.state = 2583; this.opt_column(); } break; } this.state = 2586; this.column_name(); this.state = 2587; this.match(PostgreSQLParser.KW_ADD); this.state = 2588; this.match(PostgreSQLParser.KW_GENERATED); this.state = 2589; this.generated_when(); this.state = 2590; this.match(PostgreSQLParser.KW_AS); this.state = 2591; this.match(PostgreSQLParser.KW_IDENTITY); this.state = 2593; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 93, this._ctx) ) { case 1: { this.state = 2592; this.optparenthesizedseqoptlist(); } break; } } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 2595; this.match(PostgreSQLParser.KW_ALTER); this.state = 2597; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 94, this._ctx) ) { case 1: { this.state = 2596; this.opt_column(); } break; } this.state = 2599; this.column_name(); this.state = 2600; this.alter_identity_column_option_list(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 2602; this.match(PostgreSQLParser.KW_ALTER); this.state = 2604; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 95, this._ctx) ) { case 1: { this.state = 2603; this.opt_column(); } break; } this.state = 2606; this.column_name(); this.state = 2607; this.match(PostgreSQLParser.KW_DROP); this.state = 2608; this.match(PostgreSQLParser.KW_IDENTITY); this.state = 2610; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 96, this._ctx) ) { case 1: { this.state = 2609; this.opt_if_exists(); } break; } } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 2612; this.match(PostgreSQLParser.KW_DROP); this.state = 2614; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 97, this._ctx) ) { case 1: { this.state = 2613; this.opt_column(); } break; } this.state = 2617; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 98, this._ctx) ) { case 1: { this.state = 2616; this.opt_if_exists(); } break; } this.state = 2619; this.column_name(); this.state = 2621; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 99, this._ctx) ) { case 1: { this.state = 2620; this.opt_drop_behavior(); } break; } } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 2623; this.match(PostgreSQLParser.KW_ALTER); this.state = 2625; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 100, this._ctx) ) { case 1: { this.state = 2624; this.opt_column(); } break; } this.state = 2627; this.column_name(); this.state = 2629; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_SET) { { this.state = 2628; this.opt_set_data(); } } this.state = 2631; this.match(PostgreSQLParser.KW_TYPE); this.state = 2632; this.typename(); this.state = 2634; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 102, this._ctx) ) { case 1: { this.state = 2633; this.opt_collate_clause(); } break; } this.state = 2637; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 2636; this.alter_using(); } } } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 2639; this.match(PostgreSQLParser.KW_ALTER); this.state = 2641; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 104, this._ctx) ) { case 1: { this.state = 2640; this.opt_column(); } break; } this.state = 2643; this.column_name(); this.state = 2644; this.alter_generic_options(); } break; case 17: this.enterOuterAlt(_localctx, 17); { this.state = 2646; this.match(PostgreSQLParser.KW_ADD); this.state = 2647; this.tableconstraint(); } break; case 18: this.enterOuterAlt(_localctx, 18); { this.state = 2648; this.match(PostgreSQLParser.KW_ALTER); this.state = 2649; this.match(PostgreSQLParser.KW_CONSTRAINT); this.state = 2650; this.name(); this.state = 2651; this.constraintattributespec(); } break; case 19: this.enterOuterAlt(_localctx, 19); { this.state = 2653; this.match(PostgreSQLParser.KW_VALIDATE); this.state = 2654; this.match(PostgreSQLParser.KW_CONSTRAINT); this.state = 2655; this.name(); } break; case 20: this.enterOuterAlt(_localctx, 20); { this.state = 2656; this.match(PostgreSQLParser.KW_DROP); this.state = 2657; this.match(PostgreSQLParser.KW_CONSTRAINT); this.state = 2659; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 105, this._ctx) ) { case 1: { this.state = 2658; this.opt_if_exists(); } break; } this.state = 2661; this.name(); this.state = 2663; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 106, this._ctx) ) { case 1: { this.state = 2662; this.opt_drop_behavior(); } break; } } break; case 21: this.enterOuterAlt(_localctx, 21); { this.state = 2665; this.match(PostgreSQLParser.KW_SET); this.state = 2666; this.match(PostgreSQLParser.KW_WITHOUT); this.state = 2667; this.match(PostgreSQLParser.KW_OIDS); } break; case 22: this.enterOuterAlt(_localctx, 22); { this.state = 2668; this.match(PostgreSQLParser.KW_CLUSTER); this.state = 2669; this.match(PostgreSQLParser.KW_ON); this.state = 2670; this.name(); } break; case 23: this.enterOuterAlt(_localctx, 23); { this.state = 2671; this.match(PostgreSQLParser.KW_SET); this.state = 2672; this.match(PostgreSQLParser.KW_WITHOUT); this.state = 2673; this.match(PostgreSQLParser.KW_CLUSTER); } break; case 24: this.enterOuterAlt(_localctx, 24); { this.state = 2674; this.match(PostgreSQLParser.KW_SET); this.state = 2675; this.match(PostgreSQLParser.KW_LOGGED); } break; case 25: this.enterOuterAlt(_localctx, 25); { this.state = 2676; this.match(PostgreSQLParser.KW_SET); this.state = 2677; this.match(PostgreSQLParser.KW_UNLOGGED); } break; case 26: this.enterOuterAlt(_localctx, 26); { this.state = 2678; this.match(PostgreSQLParser.KW_ENABLE); this.state = 2679; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 2680; this.name(); } break; case 27: this.enterOuterAlt(_localctx, 27); { this.state = 2681; this.match(PostgreSQLParser.KW_ENABLE); this.state = 2682; this.match(PostgreSQLParser.KW_ALWAYS); this.state = 2683; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 2684; this.name(); } break; case 28: this.enterOuterAlt(_localctx, 28); { this.state = 2685; this.match(PostgreSQLParser.KW_ENABLE); this.state = 2686; this.match(PostgreSQLParser.KW_REPLICA); this.state = 2687; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 2688; this.name(); } break; case 29: this.enterOuterAlt(_localctx, 29); { this.state = 2689; this.match(PostgreSQLParser.KW_ENABLE); this.state = 2690; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 2691; this.match(PostgreSQLParser.KW_ALL); } break; case 30: this.enterOuterAlt(_localctx, 30); { this.state = 2692; this.match(PostgreSQLParser.KW_ENABLE); this.state = 2693; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 2694; this.match(PostgreSQLParser.KW_USER); } break; case 31: this.enterOuterAlt(_localctx, 31); { this.state = 2695; this.match(PostgreSQLParser.KW_DISABLE); this.state = 2696; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 2697; this.name(); } break; case 32: this.enterOuterAlt(_localctx, 32); { this.state = 2698; this.match(PostgreSQLParser.KW_DISABLE); this.state = 2699; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 2700; this.match(PostgreSQLParser.KW_ALL); } break; case 33: this.enterOuterAlt(_localctx, 33); { this.state = 2701; this.match(PostgreSQLParser.KW_DISABLE); this.state = 2702; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 2703; this.match(PostgreSQLParser.KW_USER); } break; case 34: this.enterOuterAlt(_localctx, 34); { this.state = 2704; this.match(PostgreSQLParser.KW_ENABLE); this.state = 2705; this.match(PostgreSQLParser.KW_RULE); this.state = 2706; this.name(); } break; case 35: this.enterOuterAlt(_localctx, 35); { this.state = 2707; this.match(PostgreSQLParser.KW_ENABLE); this.state = 2708; this.match(PostgreSQLParser.KW_ALWAYS); this.state = 2709; this.match(PostgreSQLParser.KW_RULE); this.state = 2710; this.name(); } break; case 36: this.enterOuterAlt(_localctx, 36); { this.state = 2711; this.match(PostgreSQLParser.KW_ENABLE); this.state = 2712; this.match(PostgreSQLParser.KW_REPLICA); this.state = 2713; this.match(PostgreSQLParser.KW_RULE); this.state = 2714; this.name(); } break; case 37: this.enterOuterAlt(_localctx, 37); { this.state = 2715; this.match(PostgreSQLParser.KW_DISABLE); this.state = 2716; this.match(PostgreSQLParser.KW_RULE); this.state = 2717; this.name(); } break; case 38: this.enterOuterAlt(_localctx, 38); { this.state = 2718; this.match(PostgreSQLParser.KW_INHERIT); this.state = 2719; this.qualified_name(); } break; case 39: this.enterOuterAlt(_localctx, 39); { this.state = 2720; this.match(PostgreSQLParser.KW_NO); this.state = 2721; this.match(PostgreSQLParser.KW_INHERIT); this.state = 2722; this.qualified_name(); } break; case 40: this.enterOuterAlt(_localctx, 40); { this.state = 2723; this.match(PostgreSQLParser.KW_OF); this.state = 2724; this.any_name(); } break; case 41: this.enterOuterAlt(_localctx, 41); { this.state = 2725; this.match(PostgreSQLParser.KW_NOT); this.state = 2726; this.match(PostgreSQLParser.KW_OF); } break; case 42: this.enterOuterAlt(_localctx, 42); { this.state = 2727; this.match(PostgreSQLParser.KW_OWNER); this.state = 2728; this.match(PostgreSQLParser.KW_TO); this.state = 2729; this.rolespec(); } break; case 43: this.enterOuterAlt(_localctx, 43); { this.state = 2730; this.match(PostgreSQLParser.KW_SET); this.state = 2731; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 2732; this.tablespace_name_create(); } break; case 44: this.enterOuterAlt(_localctx, 44); { this.state = 2733; this.match(PostgreSQLParser.KW_SET); this.state = 2734; this.reloptions(); } break; case 45: this.enterOuterAlt(_localctx, 45); { this.state = 2735; this.match(PostgreSQLParser.KW_RESET); this.state = 2736; this.reloptions(); } break; case 46: this.enterOuterAlt(_localctx, 46); { this.state = 2737; this.match(PostgreSQLParser.KW_REPLICA); this.state = 2738; this.match(PostgreSQLParser.KW_IDENTITY); this.state = 2739; this.replica_identity(); } break; case 47: this.enterOuterAlt(_localctx, 47); { this.state = 2740; this.match(PostgreSQLParser.KW_ENABLE); this.state = 2741; this.match(PostgreSQLParser.KW_ROW); this.state = 2742; this.match(PostgreSQLParser.KW_LEVEL); this.state = 2743; this.match(PostgreSQLParser.KW_SECURITY); } break; case 48: this.enterOuterAlt(_localctx, 48); { this.state = 2744; this.match(PostgreSQLParser.KW_DISABLE); this.state = 2745; this.match(PostgreSQLParser.KW_ROW); this.state = 2746; this.match(PostgreSQLParser.KW_LEVEL); this.state = 2747; this.match(PostgreSQLParser.KW_SECURITY); } break; case 49: this.enterOuterAlt(_localctx, 49); { this.state = 2748; this.match(PostgreSQLParser.KW_FORCE); this.state = 2749; this.match(PostgreSQLParser.KW_ROW); this.state = 2750; this.match(PostgreSQLParser.KW_LEVEL); this.state = 2751; this.match(PostgreSQLParser.KW_SECURITY); } break; case 50: this.enterOuterAlt(_localctx, 50); { this.state = 2752; this.match(PostgreSQLParser.KW_NO); this.state = 2753; this.match(PostgreSQLParser.KW_FORCE); this.state = 2754; this.match(PostgreSQLParser.KW_ROW); this.state = 2755; this.match(PostgreSQLParser.KW_LEVEL); this.state = 2756; this.match(PostgreSQLParser.KW_SECURITY); } break; case 51: this.enterOuterAlt(_localctx, 51); { this.state = 2757; this.alter_generic_options(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_column_default(): Alter_column_defaultContext { let _localctx: Alter_column_defaultContext = new Alter_column_defaultContext(this._ctx, this.state); this.enterRule(_localctx, 122, PostgreSQLParser.RULE_alter_column_default); try { this.state = 2765; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_SET: this.enterOuterAlt(_localctx, 1); { this.state = 2760; this.match(PostgreSQLParser.KW_SET); this.state = 2761; this.match(PostgreSQLParser.KW_DEFAULT); this.state = 2762; this.a_expr(); } break; case PostgreSQLParser.KW_DROP: this.enterOuterAlt(_localctx, 2); { this.state = 2763; this.match(PostgreSQLParser.KW_DROP); this.state = 2764; this.match(PostgreSQLParser.KW_DEFAULT); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_drop_behavior(): Opt_drop_behaviorContext { let _localctx: Opt_drop_behaviorContext = new Opt_drop_behaviorContext(this._ctx, this.state); this.enterRule(_localctx, 124, PostgreSQLParser.RULE_opt_drop_behavior); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2767; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_CASCADE || _la === PostgreSQLParser.KW_RESTRICT)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_collate_clause(): Opt_collate_clauseContext { let _localctx: Opt_collate_clauseContext = new Opt_collate_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 126, PostgreSQLParser.RULE_opt_collate_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 2769; this.match(PostgreSQLParser.KW_COLLATE); this.state = 2770; this.any_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_using(): Alter_usingContext { let _localctx: Alter_usingContext = new Alter_usingContext(this._ctx, this.state); this.enterRule(_localctx, 128, PostgreSQLParser.RULE_alter_using); try { this.enterOuterAlt(_localctx, 1); { this.state = 2772; this.match(PostgreSQLParser.KW_USING); this.state = 2773; this.a_expr(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public replica_identity(): Replica_identityContext { let _localctx: Replica_identityContext = new Replica_identityContext(this._ctx, this.state); this.enterRule(_localctx, 130, PostgreSQLParser.RULE_replica_identity); try { this.state = 2781; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_NOTHING: this.enterOuterAlt(_localctx, 1); { this.state = 2775; this.match(PostgreSQLParser.KW_NOTHING); } break; case PostgreSQLParser.KW_FULL: this.enterOuterAlt(_localctx, 2); { this.state = 2776; this.match(PostgreSQLParser.KW_FULL); } break; case PostgreSQLParser.KW_DEFAULT: this.enterOuterAlt(_localctx, 3); { this.state = 2777; this.match(PostgreSQLParser.KW_DEFAULT); } break; case PostgreSQLParser.KW_USING: this.enterOuterAlt(_localctx, 4); { this.state = 2778; this.match(PostgreSQLParser.KW_USING); this.state = 2779; this.match(PostgreSQLParser.KW_INDEX); this.state = 2780; this.name(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public reloptions(): ReloptionsContext { let _localctx: ReloptionsContext = new ReloptionsContext(this._ctx, this.state); this.enterRule(_localctx, 132, PostgreSQLParser.RULE_reloptions); try { this.enterOuterAlt(_localctx, 1); { this.state = 2783; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 2784; this.reloption_list(); this.state = 2785; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_reloptions(): Opt_reloptionsContext { let _localctx: Opt_reloptionsContext = new Opt_reloptionsContext(this._ctx, this.state); this.enterRule(_localctx, 134, PostgreSQLParser.RULE_opt_reloptions); try { this.enterOuterAlt(_localctx, 1); { this.state = 2787; this.match(PostgreSQLParser.KW_WITH); this.state = 2788; this.reloptions(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public reloption_list(): Reloption_listContext { let _localctx: Reloption_listContext = new Reloption_listContext(this._ctx, this.state); this.enterRule(_localctx, 136, PostgreSQLParser.RULE_reloption_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2790; this.reloption_elem(); this.state = 2795; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 2791; this.match(PostgreSQLParser.COMMA); this.state = 2792; this.reloption_elem(); } } this.state = 2797; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public reloption_elem(): Reloption_elemContext { let _localctx: Reloption_elemContext = new Reloption_elemContext(this._ctx, this.state); this.enterRule(_localctx, 138, PostgreSQLParser.RULE_reloption_elem); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2798; this.collabel(); this.state = 2807; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.EQUAL: { this.state = 2799; this.match(PostgreSQLParser.EQUAL); this.state = 2800; this.def_arg(); } break; case PostgreSQLParser.DOT: { this.state = 2801; this.match(PostgreSQLParser.DOT); this.state = 2802; this.collabel(); this.state = 2805; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.EQUAL) { { this.state = 2803; this.match(PostgreSQLParser.EQUAL); this.state = 2804; this.def_arg(); } } } break; case PostgreSQLParser.CLOSE_PAREN: case PostgreSQLParser.COMMA: break; default: break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_identity_column_option_list(): Alter_identity_column_option_listContext { let _localctx: Alter_identity_column_option_listContext = new Alter_identity_column_option_listContext(this._ctx, this.state); this.enterRule(_localctx, 140, PostgreSQLParser.RULE_alter_identity_column_option_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 2810; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 2809; this.alter_identity_column_option(); } } break; default: throw new NoViableAltException(this); } this.state = 2812; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 113, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_identity_column_option(): Alter_identity_column_optionContext { let _localctx: Alter_identity_column_optionContext = new Alter_identity_column_optionContext(this._ctx, this.state); this.enterRule(_localctx, 142, PostgreSQLParser.RULE_alter_identity_column_option); let _la: number; try { this.state = 2827; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_RESTART: this.enterOuterAlt(_localctx, 1); { this.state = 2814; this.match(PostgreSQLParser.KW_RESTART); this.state = 2819; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 115, this._ctx) ) { case 1: { this.state = 2816; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WITH) { { this.state = 2815; this.opt_with(); } } this.state = 2818; this.numericonly(); } break; } } break; case PostgreSQLParser.KW_SET: this.enterOuterAlt(_localctx, 2); { this.state = 2821; this.match(PostgreSQLParser.KW_SET); this.state = 2825; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AS: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_START: { this.state = 2822; this.seqoptelem(); } break; case PostgreSQLParser.KW_GENERATED: { this.state = 2823; this.match(PostgreSQLParser.KW_GENERATED); this.state = 2824; this.generated_when(); } break; default: throw new NoViableAltException(this); } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public partitionboundspec(): PartitionboundspecContext { let _localctx: PartitionboundspecContext = new PartitionboundspecContext(this._ctx, this.state); this.enterRule(_localctx, 144, PostgreSQLParser.RULE_partitionboundspec); try { this.state = 2855; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 118, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2829; this.match(PostgreSQLParser.KW_FOR); this.state = 2830; this.match(PostgreSQLParser.KW_VALUES); this.state = 2831; this.match(PostgreSQLParser.KW_WITH); this.state = 2832; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 2833; this.hash_partbound(); this.state = 2834; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2836; this.match(PostgreSQLParser.KW_FOR); this.state = 2837; this.match(PostgreSQLParser.KW_VALUES); this.state = 2838; this.match(PostgreSQLParser.KW_IN); this.state = 2839; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 2840; this.expr_list(); this.state = 2841; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 2843; this.match(PostgreSQLParser.KW_FOR); this.state = 2844; this.match(PostgreSQLParser.KW_VALUES); this.state = 2845; this.match(PostgreSQLParser.KW_FROM); this.state = 2846; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 2847; this.expr_list(); this.state = 2848; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 2849; this.match(PostgreSQLParser.KW_TO); this.state = 2850; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 2851; this.expr_list(); this.state = 2852; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 2854; this.match(PostgreSQLParser.KW_DEFAULT); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public hash_partbound_elem(): Hash_partbound_elemContext { let _localctx: Hash_partbound_elemContext = new Hash_partbound_elemContext(this._ctx, this.state); this.enterRule(_localctx, 146, PostgreSQLParser.RULE_hash_partbound_elem); try { this.enterOuterAlt(_localctx, 1); { this.state = 2857; this.nonreservedword(); this.state = 2858; this.iconst(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public hash_partbound(): Hash_partboundContext { let _localctx: Hash_partboundContext = new Hash_partboundContext(this._ctx, this.state); this.enterRule(_localctx, 148, PostgreSQLParser.RULE_hash_partbound); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2860; this.hash_partbound_elem(); this.state = 2865; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 2861; this.match(PostgreSQLParser.COMMA); this.state = 2862; this.hash_partbound_elem(); } } this.state = 2867; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public altercompositetypestmt(): AltercompositetypestmtContext { let _localctx: AltercompositetypestmtContext = new AltercompositetypestmtContext(this._ctx, this.state); this.enterRule(_localctx, 150, PostgreSQLParser.RULE_altercompositetypestmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 2868; this.match(PostgreSQLParser.KW_ALTER); this.state = 2869; this.match(PostgreSQLParser.KW_TYPE); this.state = 2870; this.any_name(); this.state = 2871; this.alter_type_cmds(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_type_cmds(): Alter_type_cmdsContext { let _localctx: Alter_type_cmdsContext = new Alter_type_cmdsContext(this._ctx, this.state); this.enterRule(_localctx, 152, PostgreSQLParser.RULE_alter_type_cmds); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2873; this.alter_type_cmd(); this.state = 2878; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 2874; this.match(PostgreSQLParser.COMMA); this.state = 2875; this.alter_type_cmd(); } } this.state = 2880; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_type_cmd(): Alter_type_cmdContext { let _localctx: Alter_type_cmdContext = new Alter_type_cmdContext(this._ctx, this.state); this.enterRule(_localctx, 154, PostgreSQLParser.RULE_alter_type_cmd); let _la: number; try { this.state = 2910; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_ADD: this.enterOuterAlt(_localctx, 1); { this.state = 2881; this.match(PostgreSQLParser.KW_ADD); this.state = 2882; this.match(PostgreSQLParser.KW_ATTRIBUTE); this.state = 2883; this.tablefuncelement(); this.state = 2885; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 121, this._ctx) ) { case 1: { this.state = 2884; this.opt_drop_behavior(); } break; } } break; case PostgreSQLParser.KW_DROP: this.enterOuterAlt(_localctx, 2); { this.state = 2887; this.match(PostgreSQLParser.KW_DROP); this.state = 2888; this.match(PostgreSQLParser.KW_ATTRIBUTE); this.state = 2890; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 122, this._ctx) ) { case 1: { this.state = 2889; this.opt_if_exists(); } break; } this.state = 2892; this.colid(); this.state = 2894; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 123, this._ctx) ) { case 1: { this.state = 2893; this.opt_drop_behavior(); } break; } } break; case PostgreSQLParser.KW_ALTER: this.enterOuterAlt(_localctx, 3); { this.state = 2896; this.match(PostgreSQLParser.KW_ALTER); this.state = 2897; this.match(PostgreSQLParser.KW_ATTRIBUTE); this.state = 2898; this.colid(); this.state = 2900; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_SET) { { this.state = 2899; this.opt_set_data(); } } this.state = 2902; this.match(PostgreSQLParser.KW_TYPE); this.state = 2903; this.typename(); this.state = 2905; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 125, this._ctx) ) { case 1: { this.state = 2904; this.opt_collate_clause(); } break; } this.state = 2908; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 126, this._ctx) ) { case 1: { this.state = 2907; this.opt_drop_behavior(); } break; } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public closeportalstmt(): CloseportalstmtContext { let _localctx: CloseportalstmtContext = new CloseportalstmtContext(this._ctx, this.state); this.enterRule(_localctx, 156, PostgreSQLParser.RULE_closeportalstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 2912; this.match(PostgreSQLParser.KW_CLOSE); this.state = 2915; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 2913; this.cursor_name(); } break; case PostgreSQLParser.KW_ALL: { this.state = 2914; this.match(PostgreSQLParser.KW_ALL); } break; default: throw new NoViableAltException(this); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public copystmt(): CopystmtContext { let _localctx: CopystmtContext = new CopystmtContext(this._ctx, this.state); this.enterRule(_localctx, 158, PostgreSQLParser.RULE_copystmt); let _la: number; try { this.state = 2954; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 137, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2917; this.match(PostgreSQLParser.KW_COPY); this.state = 2919; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_BINARY) { { this.state = 2918; this.opt_binary(); } } this.state = 2921; this.table_name(); this.state = 2923; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 2922; this.opt_column_list(); } } this.state = 2925; this.copy_from(); this.state = 2927; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_PROGRAM) { { this.state = 2926; this.opt_program(); } } this.state = 2929; this.copy_file_name(); this.state = 2931; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 132, this._ctx) ) { case 1: { this.state = 2930; this.copy_delimiter(); } break; } this.state = 2934; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 133, this._ctx) ) { case 1: { this.state = 2933; this.opt_with(); } break; } this.state = 2936; this.copy_options(); this.state = 2938; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHERE) { { this.state = 2937; this.where_clause(); } } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2940; this.match(PostgreSQLParser.KW_COPY); this.state = 2941; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 2942; this.preparablestmt(); this.state = 2943; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 2944; this.match(PostgreSQLParser.KW_TO); this.state = 2946; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_PROGRAM) { { this.state = 2945; this.opt_program(); } } this.state = 2948; this.copy_file_name(); this.state = 2950; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 136, this._ctx) ) { case 1: { this.state = 2949; this.opt_with(); } break; } this.state = 2952; this.copy_options(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public copy_from(): Copy_fromContext { let _localctx: Copy_fromContext = new Copy_fromContext(this._ctx, this.state); this.enterRule(_localctx, 160, PostgreSQLParser.RULE_copy_from); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 2956; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_TO)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_program(): Opt_programContext { let _localctx: Opt_programContext = new Opt_programContext(this._ctx, this.state); this.enterRule(_localctx, 162, PostgreSQLParser.RULE_opt_program); try { this.enterOuterAlt(_localctx, 1); { this.state = 2958; this.match(PostgreSQLParser.KW_PROGRAM); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public copy_file_name(): Copy_file_nameContext { let _localctx: Copy_file_nameContext = new Copy_file_nameContext(this._ctx, this.state); this.enterRule(_localctx, 164, PostgreSQLParser.RULE_copy_file_name); try { this.state = 2963; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 2960; this.sconst(); } break; case PostgreSQLParser.KW_STDIN: this.enterOuterAlt(_localctx, 2); { this.state = 2961; this.match(PostgreSQLParser.KW_STDIN); } break; case PostgreSQLParser.KW_STDOUT: this.enterOuterAlt(_localctx, 3); { this.state = 2962; this.match(PostgreSQLParser.KW_STDOUT); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public copy_options(): Copy_optionsContext { let _localctx: Copy_optionsContext = new Copy_optionsContext(this._ctx, this.state); this.enterRule(_localctx, 166, PostgreSQLParser.RULE_copy_options); try { this.state = 2970; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 139, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2965; this.copy_opt_list(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2966; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 2967; this.copy_generic_opt_list(); this.state = 2968; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public copy_opt_list(): Copy_opt_listContext { let _localctx: Copy_opt_listContext = new Copy_opt_listContext(this._ctx, this.state); this.enterRule(_localctx, 168, PostgreSQLParser.RULE_copy_opt_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 2975; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 140, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 2972; this.copy_opt_item(); } } } this.state = 2977; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 140, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public copy_opt_item(): Copy_opt_itemContext { let _localctx: Copy_opt_itemContext = new Copy_opt_itemContext(this._ctx, this.state); this.enterRule(_localctx, 170, PostgreSQLParser.RULE_copy_opt_item); let _la: number; try { this.state = 3017; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 145, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 2978; this.match(PostgreSQLParser.KW_BINARY); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 2979; this.match(PostgreSQLParser.KW_FREEZE); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 2980; this.match(PostgreSQLParser.KW_DELIMITER); this.state = 2982; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AS) { { this.state = 2981; this.opt_as(); } } this.state = 2984; this.sconst(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 2985; this.match(PostgreSQLParser.KW_NULL); this.state = 2987; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AS) { { this.state = 2986; this.opt_as(); } } this.state = 2989; this.sconst(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 2990; this.match(PostgreSQLParser.KW_CSV); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 2991; this.match(PostgreSQLParser.KW_HEADER); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 2992; this.match(PostgreSQLParser.KW_QUOTE); this.state = 2994; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AS) { { this.state = 2993; this.opt_as(); } } this.state = 2996; this.sconst(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 2997; this.match(PostgreSQLParser.KW_ESCAPE); this.state = 2999; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AS) { { this.state = 2998; this.opt_as(); } } this.state = 3001; this.sconst(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 3002; this.match(PostgreSQLParser.KW_FORCE); this.state = 3003; this.match(PostgreSQLParser.KW_QUOTE); this.state = 3004; this.columnlist(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 3005; this.match(PostgreSQLParser.KW_FORCE); this.state = 3006; this.match(PostgreSQLParser.KW_QUOTE); this.state = 3007; this.match(PostgreSQLParser.STAR); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 3008; this.match(PostgreSQLParser.KW_FORCE); this.state = 3009; this.match(PostgreSQLParser.KW_NOT); this.state = 3010; this.match(PostgreSQLParser.KW_NULL); this.state = 3011; this.columnlist(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 3012; this.match(PostgreSQLParser.KW_FORCE); this.state = 3013; this.match(PostgreSQLParser.KW_NULL); this.state = 3014; this.columnlist(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 3015; this.match(PostgreSQLParser.KW_ENCODING); this.state = 3016; this.sconst(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_binary(): Opt_binaryContext { let _localctx: Opt_binaryContext = new Opt_binaryContext(this._ctx, this.state); this.enterRule(_localctx, 172, PostgreSQLParser.RULE_opt_binary); try { this.enterOuterAlt(_localctx, 1); { this.state = 3019; this.match(PostgreSQLParser.KW_BINARY); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public copy_delimiter(): Copy_delimiterContext { let _localctx: Copy_delimiterContext = new Copy_delimiterContext(this._ctx, this.state); this.enterRule(_localctx, 174, PostgreSQLParser.RULE_copy_delimiter); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3022; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 3021; this.opt_using(); } } this.state = 3024; this.match(PostgreSQLParser.KW_DELIMITERS); this.state = 3025; this.sconst(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_using(): Opt_usingContext { let _localctx: Opt_usingContext = new Opt_usingContext(this._ctx, this.state); this.enterRule(_localctx, 176, PostgreSQLParser.RULE_opt_using); try { this.enterOuterAlt(_localctx, 1); { this.state = 3027; this.match(PostgreSQLParser.KW_USING); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public copy_generic_opt_list(): Copy_generic_opt_listContext { let _localctx: Copy_generic_opt_listContext = new Copy_generic_opt_listContext(this._ctx, this.state); this.enterRule(_localctx, 178, PostgreSQLParser.RULE_copy_generic_opt_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3029; this.copy_generic_opt_elem(); this.state = 3034; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 3030; this.match(PostgreSQLParser.COMMA); this.state = 3031; this.copy_generic_opt_elem(); } } this.state = 3036; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public copy_generic_opt_elem(): Copy_generic_opt_elemContext { let _localctx: Copy_generic_opt_elemContext = new Copy_generic_opt_elemContext(this._ctx, this.state); this.enterRule(_localctx, 180, PostgreSQLParser.RULE_copy_generic_opt_elem); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3037; this.collabel(); this.state = 3039; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.OPEN_PAREN) | (1 << PostgreSQLParser.STAR) | (1 << PostgreSQLParser.PLUS) | (1 << PostgreSQLParser.MINUS))) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FALSE - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 80)) & ~0x1F) === 0 && ((1 << (_la - 80)) & ((1 << (PostgreSQLParser.KW_ON - 80)) | (1 << (PostgreSQLParser.KW_TABLE - 80)) | (1 << (PostgreSQLParser.KW_TRUE - 80)) | (1 << (PostgreSQLParser.KW_AUTHORIZATION - 80)) | (1 << (PostgreSQLParser.KW_BINARY - 80)) | (1 << (PostgreSQLParser.KW_COLLATION - 80)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 80)) | (1 << (PostgreSQLParser.KW_CROSS - 80)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 80)))) !== 0) || ((((_la - 112)) & ~0x1F) === 0 && ((1 << (_la - 112)) & ((1 << (PostgreSQLParser.KW_FREEZE - 112)) | (1 << (PostgreSQLParser.KW_FULL - 112)) | (1 << (PostgreSQLParser.KW_ILIKE - 112)) | (1 << (PostgreSQLParser.KW_INNER - 112)) | (1 << (PostgreSQLParser.KW_IS - 112)) | (1 << (PostgreSQLParser.KW_ISNULL - 112)) | (1 << (PostgreSQLParser.KW_JOIN - 112)) | (1 << (PostgreSQLParser.KW_LEFT - 112)) | (1 << (PostgreSQLParser.KW_LIKE - 112)) | (1 << (PostgreSQLParser.KW_NATURAL - 112)) | (1 << (PostgreSQLParser.KW_NOTNULL - 112)) | (1 << (PostgreSQLParser.KW_OUTER - 112)) | (1 << (PostgreSQLParser.KW_OVER - 112)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 112)) | (1 << (PostgreSQLParser.KW_RIGHT - 112)) | (1 << (PostgreSQLParser.KW_SIMILAR - 112)) | (1 << (PostgreSQLParser.KW_VERBOSE - 112)) | (1 << (PostgreSQLParser.KW_ABORT - 112)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 112)) | (1 << (PostgreSQLParser.KW_ACCESS - 112)) | (1 << (PostgreSQLParser.KW_ACTION - 112)) | (1 << (PostgreSQLParser.KW_ADD - 112)) | (1 << (PostgreSQLParser.KW_ADMIN - 112)) | (1 << (PostgreSQLParser.KW_AFTER - 112)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 112)) | (1 << (PostgreSQLParser.KW_ALSO - 112)) | (1 << (PostgreSQLParser.KW_ALTER - 112)) | (1 << (PostgreSQLParser.KW_ALWAYS - 112)) | (1 << (PostgreSQLParser.KW_ASSERTION - 112)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 112)) | (1 << (PostgreSQLParser.KW_AT - 112)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 112)))) !== 0) || ((((_la - 144)) & ~0x1F) === 0 && ((1 << (_la - 144)) & ((1 << (PostgreSQLParser.KW_BACKWARD - 144)) | (1 << (PostgreSQLParser.KW_BEFORE - 144)) | (1 << (PostgreSQLParser.KW_BEGIN - 144)) | (1 << (PostgreSQLParser.KW_BY - 144)) | (1 << (PostgreSQLParser.KW_CACHE - 144)) | (1 << (PostgreSQLParser.KW_CALLED - 144)) | (1 << (PostgreSQLParser.KW_CASCADE - 144)) | (1 << (PostgreSQLParser.KW_CASCADED - 144)) | (1 << (PostgreSQLParser.KW_CATALOG - 144)) | (1 << (PostgreSQLParser.KW_CHAIN - 144)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 144)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 144)) | (1 << (PostgreSQLParser.KW_CLASS - 144)) | (1 << (PostgreSQLParser.KW_CLOSE - 144)) | (1 << (PostgreSQLParser.KW_CLUSTER - 144)) | (1 << (PostgreSQLParser.KW_COMMENT - 144)) | (1 << (PostgreSQLParser.KW_COMMENTS - 144)) | (1 << (PostgreSQLParser.KW_COMMIT - 144)) | (1 << (PostgreSQLParser.KW_COMMITTED - 144)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 144)) | (1 << (PostgreSQLParser.KW_CONNECTION - 144)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 144)) | (1 << (PostgreSQLParser.KW_CONTENT - 144)) | (1 << (PostgreSQLParser.KW_CONTINUE - 144)) | (1 << (PostgreSQLParser.KW_CONVERSION - 144)) | (1 << (PostgreSQLParser.KW_COPY - 144)) | (1 << (PostgreSQLParser.KW_COST - 144)) | (1 << (PostgreSQLParser.KW_CSV - 144)) | (1 << (PostgreSQLParser.KW_CURSOR - 144)) | (1 << (PostgreSQLParser.KW_CYCLE - 144)) | (1 << (PostgreSQLParser.KW_DATA - 144)) | (1 << (PostgreSQLParser.KW_DATABASE - 144)))) !== 0) || ((((_la - 176)) & ~0x1F) === 0 && ((1 << (_la - 176)) & ((1 << (PostgreSQLParser.KW_DAY - 176)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 176)) | (1 << (PostgreSQLParser.KW_DECLARE - 176)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 176)) | (1 << (PostgreSQLParser.KW_DEFERRED - 176)) | (1 << (PostgreSQLParser.KW_DEFINER - 176)) | (1 << (PostgreSQLParser.KW_DELETE - 176)) | (1 << (PostgreSQLParser.KW_DELIMITER - 176)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 176)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 176)) | (1 << (PostgreSQLParser.KW_DISABLE - 176)) | (1 << (PostgreSQLParser.KW_DISCARD - 176)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 176)) | (1 << (PostgreSQLParser.KW_DOMAIN - 176)) | (1 << (PostgreSQLParser.KW_DOUBLE - 176)) | (1 << (PostgreSQLParser.KW_DROP - 176)) | (1 << (PostgreSQLParser.KW_EACH - 176)) | (1 << (PostgreSQLParser.KW_ENABLE - 176)) | (1 << (PostgreSQLParser.KW_ENCODING - 176)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 176)) | (1 << (PostgreSQLParser.KW_ENUM - 176)) | (1 << (PostgreSQLParser.KW_ESCAPE - 176)) | (1 << (PostgreSQLParser.KW_EVENT - 176)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 176)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 176)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 176)) | (1 << (PostgreSQLParser.KW_EXECUTE - 176)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 176)) | (1 << (PostgreSQLParser.KW_EXTENSION - 176)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 176)) | (1 << (PostgreSQLParser.KW_FAMILY - 176)) | (1 << (PostgreSQLParser.KW_FIRST - 176)))) !== 0) || ((((_la - 208)) & ~0x1F) === 0 && ((1 << (_la - 208)) & ((1 << (PostgreSQLParser.KW_FOLLOWING - 208)) | (1 << (PostgreSQLParser.KW_FORCE - 208)) | (1 << (PostgreSQLParser.KW_FORWARD - 208)) | (1 << (PostgreSQLParser.KW_FUNCTION - 208)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 208)) | (1 << (PostgreSQLParser.KW_GLOBAL - 208)) | (1 << (PostgreSQLParser.KW_GRANTED - 208)) | (1 << (PostgreSQLParser.KW_HANDLER - 208)) | (1 << (PostgreSQLParser.KW_HEADER - 208)) | (1 << (PostgreSQLParser.KW_HOLD - 208)) | (1 << (PostgreSQLParser.KW_HOUR - 208)) | (1 << (PostgreSQLParser.KW_IDENTITY - 208)) | (1 << (PostgreSQLParser.KW_IF - 208)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 208)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 208)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 208)) | (1 << (PostgreSQLParser.KW_INCLUDING - 208)) | (1 << (PostgreSQLParser.KW_INCREMENT - 208)) | (1 << (PostgreSQLParser.KW_INDEX - 208)) | (1 << (PostgreSQLParser.KW_INDEXES - 208)) | (1 << (PostgreSQLParser.KW_INHERIT - 208)) | (1 << (PostgreSQLParser.KW_INHERITS - 208)) | (1 << (PostgreSQLParser.KW_INLINE - 208)))) !== 0) || ((((_la - 240)) & ~0x1F) === 0 && ((1 << (_la - 240)) & ((1 << (PostgreSQLParser.KW_INSENSITIVE - 240)) | (1 << (PostgreSQLParser.KW_INSERT - 240)) | (1 << (PostgreSQLParser.KW_INSTEAD - 240)) | (1 << (PostgreSQLParser.KW_INVOKER - 240)) | (1 << (PostgreSQLParser.KW_ISOLATION - 240)) | (1 << (PostgreSQLParser.KW_KEY - 240)) | (1 << (PostgreSQLParser.KW_LABEL - 240)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 240)) | (1 << (PostgreSQLParser.KW_LARGE - 240)) | (1 << (PostgreSQLParser.KW_LAST - 240)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 240)) | (1 << (PostgreSQLParser.KW_LEVEL - 240)) | (1 << (PostgreSQLParser.KW_LISTEN - 240)) | (1 << (PostgreSQLParser.KW_LOAD - 240)) | (1 << (PostgreSQLParser.KW_LOCAL - 240)) | (1 << (PostgreSQLParser.KW_LOCATION - 240)) | (1 << (PostgreSQLParser.KW_LOCK - 240)) | (1 << (PostgreSQLParser.KW_MAPPING - 240)) | (1 << (PostgreSQLParser.KW_MATCH - 240)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 240)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 240)) | (1 << (PostgreSQLParser.KW_MINUTE - 240)) | (1 << (PostgreSQLParser.KW_MINVALUE - 240)) | (1 << (PostgreSQLParser.KW_MODE - 240)) | (1 << (PostgreSQLParser.KW_MONTH - 240)) | (1 << (PostgreSQLParser.KW_MOVE - 240)) | (1 << (PostgreSQLParser.KW_NAME - 240)) | (1 << (PostgreSQLParser.KW_NAMES - 240)) | (1 << (PostgreSQLParser.KW_NEXT - 240)) | (1 << (PostgreSQLParser.KW_NO - 240)) | (1 << (PostgreSQLParser.KW_NOTHING - 240)) | (1 << (PostgreSQLParser.KW_NOTIFY - 240)))) !== 0) || ((((_la - 272)) & ~0x1F) === 0 && ((1 << (_la - 272)) & ((1 << (PostgreSQLParser.KW_NOWAIT - 272)) | (1 << (PostgreSQLParser.KW_NULLS - 272)) | (1 << (PostgreSQLParser.KW_OBJECT - 272)) | (1 << (PostgreSQLParser.KW_OF - 272)) | (1 << (PostgreSQLParser.KW_OFF - 272)) | (1 << (PostgreSQLParser.KW_OIDS - 272)) | (1 << (PostgreSQLParser.KW_OPERATOR - 272)) | (1 << (PostgreSQLParser.KW_OPTION - 272)) | (1 << (PostgreSQLParser.KW_OPTIONS - 272)) | (1 << (PostgreSQLParser.KW_OWNED - 272)) | (1 << (PostgreSQLParser.KW_OWNER - 272)) | (1 << (PostgreSQLParser.KW_PARSER - 272)) | (1 << (PostgreSQLParser.KW_PARTIAL - 272)) | (1 << (PostgreSQLParser.KW_PARTITION - 272)) | (1 << (PostgreSQLParser.KW_PASSING - 272)) | (1 << (PostgreSQLParser.KW_PASSWORD - 272)) | (1 << (PostgreSQLParser.KW_PLANS - 272)) | (1 << (PostgreSQLParser.KW_PRECEDING - 272)) | (1 << (PostgreSQLParser.KW_PREPARE - 272)) | (1 << (PostgreSQLParser.KW_PREPARED - 272)) | (1 << (PostgreSQLParser.KW_PRESERVE - 272)) | (1 << (PostgreSQLParser.KW_PRIOR - 272)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 272)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 272)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 272)) | (1 << (PostgreSQLParser.KW_PROGRAM - 272)) | (1 << (PostgreSQLParser.KW_QUOTE - 272)) | (1 << (PostgreSQLParser.KW_RANGE - 272)) | (1 << (PostgreSQLParser.KW_READ - 272)) | (1 << (PostgreSQLParser.KW_REASSIGN - 272)) | (1 << (PostgreSQLParser.KW_RECHECK - 272)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 272)))) !== 0) || ((((_la - 304)) & ~0x1F) === 0 && ((1 << (_la - 304)) & ((1 << (PostgreSQLParser.KW_REF - 304)) | (1 << (PostgreSQLParser.KW_REFRESH - 304)) | (1 << (PostgreSQLParser.KW_REINDEX - 304)) | (1 << (PostgreSQLParser.KW_RELATIVE - 304)) | (1 << (PostgreSQLParser.KW_RELEASE - 304)) | (1 << (PostgreSQLParser.KW_RENAME - 304)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 304)) | (1 << (PostgreSQLParser.KW_REPLACE - 304)) | (1 << (PostgreSQLParser.KW_REPLICA - 304)) | (1 << (PostgreSQLParser.KW_RESET - 304)) | (1 << (PostgreSQLParser.KW_RESTART - 304)) | (1 << (PostgreSQLParser.KW_RESTRICT - 304)) | (1 << (PostgreSQLParser.KW_RETURNS - 304)) | (1 << (PostgreSQLParser.KW_REVOKE - 304)) | (1 << (PostgreSQLParser.KW_ROLE - 304)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 304)) | (1 << (PostgreSQLParser.KW_ROWS - 304)) | (1 << (PostgreSQLParser.KW_RULE - 304)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 304)) | (1 << (PostgreSQLParser.KW_SCHEMA - 304)) | (1 << (PostgreSQLParser.KW_SCROLL - 304)) | (1 << (PostgreSQLParser.KW_SEARCH - 304)) | (1 << (PostgreSQLParser.KW_SECOND - 304)) | (1 << (PostgreSQLParser.KW_SECURITY - 304)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 304)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 304)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 304)) | (1 << (PostgreSQLParser.KW_SERVER - 304)) | (1 << (PostgreSQLParser.KW_SESSION - 304)) | (1 << (PostgreSQLParser.KW_SET - 304)) | (1 << (PostgreSQLParser.KW_SHARE - 304)) | (1 << (PostgreSQLParser.KW_SHOW - 304)))) !== 0) || ((((_la - 336)) & ~0x1F) === 0 && ((1 << (_la - 336)) & ((1 << (PostgreSQLParser.KW_SIMPLE - 336)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 336)) | (1 << (PostgreSQLParser.KW_STABLE - 336)) | (1 << (PostgreSQLParser.KW_STANDALONE - 336)) | (1 << (PostgreSQLParser.KW_START - 336)) | (1 << (PostgreSQLParser.KW_STATEMENT - 336)) | (1 << (PostgreSQLParser.KW_STATISTICS - 336)) | (1 << (PostgreSQLParser.KW_STDIN - 336)) | (1 << (PostgreSQLParser.KW_STDOUT - 336)) | (1 << (PostgreSQLParser.KW_STORAGE - 336)) | (1 << (PostgreSQLParser.KW_STRICT - 336)) | (1 << (PostgreSQLParser.KW_STRIP - 336)) | (1 << (PostgreSQLParser.KW_SYSID - 336)) | (1 << (PostgreSQLParser.KW_SYSTEM - 336)) | (1 << (PostgreSQLParser.KW_TABLES - 336)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 336)) | (1 << (PostgreSQLParser.KW_TEMP - 336)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 336)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 336)) | (1 << (PostgreSQLParser.KW_TEXT - 336)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 336)) | (1 << (PostgreSQLParser.KW_TRIGGER - 336)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 336)) | (1 << (PostgreSQLParser.KW_TRUSTED - 336)) | (1 << (PostgreSQLParser.KW_TYPE - 336)) | (1 << (PostgreSQLParser.KW_TYPES - 336)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 336)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 336)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 336)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 336)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 336)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 336)))) !== 0) || ((((_la - 368)) & ~0x1F) === 0 && ((1 << (_la - 368)) & ((1 << (PostgreSQLParser.KW_UNTIL - 368)) | (1 << (PostgreSQLParser.KW_UPDATE - 368)) | (1 << (PostgreSQLParser.KW_VACUUM - 368)) | (1 << (PostgreSQLParser.KW_VALID - 368)) | (1 << (PostgreSQLParser.KW_VALIDATE - 368)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 368)) | (1 << (PostgreSQLParser.KW_VARYING - 368)) | (1 << (PostgreSQLParser.KW_VERSION - 368)) | (1 << (PostgreSQLParser.KW_VIEW - 368)) | (1 << (PostgreSQLParser.KW_VOLATILE - 368)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 368)) | (1 << (PostgreSQLParser.KW_WITHOUT - 368)) | (1 << (PostgreSQLParser.KW_WORK - 368)) | (1 << (PostgreSQLParser.KW_WRAPPER - 368)) | (1 << (PostgreSQLParser.KW_WRITE - 368)) | (1 << (PostgreSQLParser.KW_XML - 368)) | (1 << (PostgreSQLParser.KW_YEAR - 368)) | (1 << (PostgreSQLParser.KW_YES - 368)) | (1 << (PostgreSQLParser.KW_ZONE - 368)) | (1 << (PostgreSQLParser.KW_BETWEEN - 368)) | (1 << (PostgreSQLParser.KW_BIGINT - 368)) | (1 << (PostgreSQLParser.KW_BIT - 368)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 368)) | (1 << (PostgreSQLParser.KW_CHAR - 368)) | (1 << (PostgreSQLParser.KW_CHARACTER - 368)) | (1 << (PostgreSQLParser.KW_COALESCE - 368)) | (1 << (PostgreSQLParser.KW_DEC - 368)) | (1 << (PostgreSQLParser.KW_DECIMAL - 368)) | (1 << (PostgreSQLParser.KW_EXISTS - 368)) | (1 << (PostgreSQLParser.KW_EXTRACT - 368)) | (1 << (PostgreSQLParser.KW_FLOAT - 368)) | (1 << (PostgreSQLParser.KW_GREATEST - 368)))) !== 0) || ((((_la - 400)) & ~0x1F) === 0 && ((1 << (_la - 400)) & ((1 << (PostgreSQLParser.KW_INOUT - 400)) | (1 << (PostgreSQLParser.KW_INT - 400)) | (1 << (PostgreSQLParser.KW_INTEGER - 400)) | (1 << (PostgreSQLParser.KW_INTERVAL - 400)) | (1 << (PostgreSQLParser.KW_LEAST - 400)) | (1 << (PostgreSQLParser.KW_NATIONAL - 400)) | (1 << (PostgreSQLParser.KW_NCHAR - 400)) | (1 << (PostgreSQLParser.KW_NONE - 400)) | (1 << (PostgreSQLParser.KW_NULLIF - 400)) | (1 << (PostgreSQLParser.KW_NUMERIC - 400)) | (1 << (PostgreSQLParser.KW_OVERLAY - 400)) | (1 << (PostgreSQLParser.KW_POSITION - 400)) | (1 << (PostgreSQLParser.KW_PRECISION - 400)) | (1 << (PostgreSQLParser.KW_REAL - 400)) | (1 << (PostgreSQLParser.KW_ROW - 400)) | (1 << (PostgreSQLParser.KW_SETOF - 400)) | (1 << (PostgreSQLParser.KW_SMALLINT - 400)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 400)) | (1 << (PostgreSQLParser.KW_TIME - 400)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 400)) | (1 << (PostgreSQLParser.KW_TREAT - 400)) | (1 << (PostgreSQLParser.KW_TRIM - 400)) | (1 << (PostgreSQLParser.KW_VALUES - 400)) | (1 << (PostgreSQLParser.KW_VARCHAR - 400)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 400)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 400)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 400)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 400)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 400)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 400)) | (1 << (PostgreSQLParser.KW_XMLPI - 400)) | (1 << (PostgreSQLParser.KW_XMLROOT - 400)))) !== 0) || ((((_la - 432)) & ~0x1F) === 0 && ((1 << (_la - 432)) & ((1 << (PostgreSQLParser.KW_XMLSERIALIZE - 432)) | (1 << (PostgreSQLParser.KW_CALL - 432)) | (1 << (PostgreSQLParser.KW_CURRENT - 432)) | (1 << (PostgreSQLParser.KW_ATTACH - 432)) | (1 << (PostgreSQLParser.KW_DETACH - 432)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 432)) | (1 << (PostgreSQLParser.KW_GENERATED - 432)) | (1 << (PostgreSQLParser.KW_LOGGED - 432)) | (1 << (PostgreSQLParser.KW_STORED - 432)) | (1 << (PostgreSQLParser.KW_INCLUDE - 432)) | (1 << (PostgreSQLParser.KW_ROUTINE - 432)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 432)) | (1 << (PostgreSQLParser.KW_IMPORT - 432)) | (1 << (PostgreSQLParser.KW_POLICY - 432)) | (1 << (PostgreSQLParser.KW_METHOD - 432)) | (1 << (PostgreSQLParser.KW_REFERENCING - 432)) | (1 << (PostgreSQLParser.KW_NEW - 432)) | (1 << (PostgreSQLParser.KW_OLD - 432)) | (1 << (PostgreSQLParser.KW_VALUE - 432)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 432)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 432)) | (1 << (PostgreSQLParser.KW_OUT - 432)) | (1 << (PostgreSQLParser.KW_ROUTINES - 432)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 432)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 432)) | (1 << (PostgreSQLParser.KW_INPUT - 432)) | (1 << (PostgreSQLParser.KW_SUPPORT - 432)) | (1 << (PostgreSQLParser.KW_PARALLEL - 432)) | (1 << (PostgreSQLParser.KW_SQL - 432)) | (1 << (PostgreSQLParser.KW_DEPENDS - 432)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 432)))) !== 0) || ((((_la - 464)) & ~0x1F) === 0 && ((1 << (_la - 464)) & ((1 << (PostgreSQLParser.KW_CONFLICT - 464)) | (1 << (PostgreSQLParser.KW_SKIP - 464)) | (1 << (PostgreSQLParser.KW_LOCKED - 464)) | (1 << (PostgreSQLParser.KW_TIES - 464)) | (1 << (PostgreSQLParser.KW_ROLLUP - 464)) | (1 << (PostgreSQLParser.KW_CUBE - 464)) | (1 << (PostgreSQLParser.KW_GROUPING - 464)) | (1 << (PostgreSQLParser.KW_SETS - 464)) | (1 << (PostgreSQLParser.KW_TABLESAMPLE - 464)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 464)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 464)) | (1 << (PostgreSQLParser.KW_COLUMNS - 464)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 464)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 464)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 464)) | (1 << (PostgreSQLParser.KW_WITHIN - 464)) | (1 << (PostgreSQLParser.KW_FILTER - 464)) | (1 << (PostgreSQLParser.KW_GROUPS - 464)) | (1 << (PostgreSQLParser.KW_OTHERS - 464)) | (1 << (PostgreSQLParser.KW_NFC - 464)) | (1 << (PostgreSQLParser.KW_NFD - 464)) | (1 << (PostgreSQLParser.KW_NFKC - 464)) | (1 << (PostgreSQLParser.KW_NFKD - 464)) | (1 << (PostgreSQLParser.KW_UESCAPE - 464)) | (1 << (PostgreSQLParser.KW_VIEWS - 464)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 464)) | (1 << (PostgreSQLParser.KW_DUMP - 464)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 464)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 464)) | (1 << (PostgreSQLParser.KW_ERROR - 464)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 464)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 464)))) !== 0) || ((((_la - 496)) & ~0x1F) === 0 && ((1 << (_la - 496)) & ((1 << (PostgreSQLParser.KW_ALIAS - 496)) | (1 << (PostgreSQLParser.KW_CONSTANT - 496)) | (1 << (PostgreSQLParser.KW_PERFORM - 496)) | (1 << (PostgreSQLParser.KW_GET - 496)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 496)) | (1 << (PostgreSQLParser.KW_STACKED - 496)) | (1 << (PostgreSQLParser.KW_ELSIF - 496)) | (1 << (PostgreSQLParser.KW_REVERSE - 496)) | (1 << (PostgreSQLParser.KW_SLICE - 496)) | (1 << (PostgreSQLParser.KW_EXIT - 496)) | (1 << (PostgreSQLParser.KW_RETURN - 496)) | (1 << (PostgreSQLParser.KW_QUERY - 496)) | (1 << (PostgreSQLParser.KW_RAISE - 496)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 496)) | (1 << (PostgreSQLParser.KW_DEBUG - 496)) | (1 << (PostgreSQLParser.KW_LOG - 496)) | (1 << (PostgreSQLParser.KW_INFO - 496)) | (1 << (PostgreSQLParser.KW_NOTICE - 496)) | (1 << (PostgreSQLParser.KW_WARNING - 496)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 496)) | (1 << (PostgreSQLParser.KW_ASSERT - 496)) | (1 << (PostgreSQLParser.KW_OPEN - 496)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.Integral - 547)) | (1 << (PostgreSQLParser.Numeric - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 3038; this.copy_generic_opt_arg(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public copy_generic_opt_arg(): Copy_generic_opt_argContext { let _localctx: Copy_generic_opt_argContext = new Copy_generic_opt_argContext(this._ctx, this.state); this.enterRule(_localctx, 182, PostgreSQLParser.RULE_copy_generic_opt_arg); try { this.state = 3048; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FALSE: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_ON: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_TRUE: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 3041; this.opt_boolean_or_string(); } break; case PostgreSQLParser.PLUS: case PostgreSQLParser.MINUS: case PostgreSQLParser.Integral: case PostgreSQLParser.Numeric: this.enterOuterAlt(_localctx, 2); { this.state = 3042; this.numericonly(); } break; case PostgreSQLParser.STAR: this.enterOuterAlt(_localctx, 3); { this.state = 3043; this.match(PostgreSQLParser.STAR); } break; case PostgreSQLParser.OPEN_PAREN: this.enterOuterAlt(_localctx, 4); { this.state = 3044; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3045; this.copy_generic_opt_arg_list(); this.state = 3046; this.match(PostgreSQLParser.CLOSE_PAREN); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public copy_generic_opt_arg_list(): Copy_generic_opt_arg_listContext { let _localctx: Copy_generic_opt_arg_listContext = new Copy_generic_opt_arg_listContext(this._ctx, this.state); this.enterRule(_localctx, 184, PostgreSQLParser.RULE_copy_generic_opt_arg_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3050; this.copy_generic_opt_arg_list_item(); this.state = 3055; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 3051; this.match(PostgreSQLParser.COMMA); this.state = 3052; this.copy_generic_opt_arg_list_item(); } } this.state = 3057; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public copy_generic_opt_arg_list_item(): Copy_generic_opt_arg_list_itemContext { let _localctx: Copy_generic_opt_arg_list_itemContext = new Copy_generic_opt_arg_list_itemContext(this._ctx, this.state); this.enterRule(_localctx, 186, PostgreSQLParser.RULE_copy_generic_opt_arg_list_item); try { this.enterOuterAlt(_localctx, 1); { this.state = 3058; this.opt_boolean_or_string_column(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createstmt(): CreatestmtContext { let _localctx: CreatestmtContext = new CreatestmtContext(this._ctx, this.state); this.enterRule(_localctx, 188, PostgreSQLParser.RULE_createstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3060; this.match(PostgreSQLParser.KW_CREATE); this.state = 3062; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_GLOBAL || _la === PostgreSQLParser.KW_LOCAL || ((((_la - 352)) & ~0x1F) === 0 && ((1 << (_la - 352)) & ((1 << (PostgreSQLParser.KW_TEMP - 352)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 352)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 352)))) !== 0)) { { this.state = 3061; this.opttemp(); } } this.state = 3064; this.match(PostgreSQLParser.KW_TABLE); this.state = 3066; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 152, this._ctx) ) { case 1: { this.state = 3065; this.opt_if_not_exists(); } break; } this.state = 3068; this.table_name_create(); this.state = 3134; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: { this.state = 3069; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3071; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_CHECK - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)) | (1 << (PostgreSQLParser.KW_FOREIGN - 33)))) !== 0) || ((((_la - 85)) & ~0x1F) === 0 && ((1 << (_la - 85)) & ((1 << (PostgreSQLParser.KW_PRIMARY - 85)) | (1 << (PostgreSQLParser.KW_TABLE - 85)) | (1 << (PostgreSQLParser.KW_UNIQUE - 85)) | (1 << (PostgreSQLParser.KW_IS - 85)))) !== 0) || ((((_la - 120)) & ~0x1F) === 0 && ((1 << (_la - 120)) & ((1 << (PostgreSQLParser.KW_LIKE - 120)) | (1 << (PostgreSQLParser.KW_OUTER - 120)) | (1 << (PostgreSQLParser.KW_OVER - 120)) | (1 << (PostgreSQLParser.KW_ABORT - 120)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 120)) | (1 << (PostgreSQLParser.KW_ACCESS - 120)) | (1 << (PostgreSQLParser.KW_ACTION - 120)) | (1 << (PostgreSQLParser.KW_ADD - 120)) | (1 << (PostgreSQLParser.KW_ADMIN - 120)) | (1 << (PostgreSQLParser.KW_AFTER - 120)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 120)) | (1 << (PostgreSQLParser.KW_ALSO - 120)) | (1 << (PostgreSQLParser.KW_ALTER - 120)) | (1 << (PostgreSQLParser.KW_ALWAYS - 120)) | (1 << (PostgreSQLParser.KW_ASSERTION - 120)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 120)) | (1 << (PostgreSQLParser.KW_AT - 120)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 120)) | (1 << (PostgreSQLParser.KW_BACKWARD - 120)) | (1 << (PostgreSQLParser.KW_BEFORE - 120)) | (1 << (PostgreSQLParser.KW_BEGIN - 120)) | (1 << (PostgreSQLParser.KW_BY - 120)) | (1 << (PostgreSQLParser.KW_CACHE - 120)) | (1 << (PostgreSQLParser.KW_CALLED - 120)) | (1 << (PostgreSQLParser.KW_CASCADE - 120)) | (1 << (PostgreSQLParser.KW_CASCADED - 120)))) !== 0) || ((((_la - 152)) & ~0x1F) === 0 && ((1 << (_la - 152)) & ((1 << (PostgreSQLParser.KW_CATALOG - 152)) | (1 << (PostgreSQLParser.KW_CHAIN - 152)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 152)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 152)) | (1 << (PostgreSQLParser.KW_CLASS - 152)) | (1 << (PostgreSQLParser.KW_CLOSE - 152)) | (1 << (PostgreSQLParser.KW_CLUSTER - 152)) | (1 << (PostgreSQLParser.KW_COMMENT - 152)) | (1 << (PostgreSQLParser.KW_COMMENTS - 152)) | (1 << (PostgreSQLParser.KW_COMMIT - 152)) | (1 << (PostgreSQLParser.KW_COMMITTED - 152)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 152)) | (1 << (PostgreSQLParser.KW_CONNECTION - 152)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 152)) | (1 << (PostgreSQLParser.KW_CONTENT - 152)) | (1 << (PostgreSQLParser.KW_CONTINUE - 152)) | (1 << (PostgreSQLParser.KW_CONVERSION - 152)) | (1 << (PostgreSQLParser.KW_COPY - 152)) | (1 << (PostgreSQLParser.KW_COST - 152)) | (1 << (PostgreSQLParser.KW_CSV - 152)) | (1 << (PostgreSQLParser.KW_CURSOR - 152)) | (1 << (PostgreSQLParser.KW_CYCLE - 152)) | (1 << (PostgreSQLParser.KW_DATA - 152)) | (1 << (PostgreSQLParser.KW_DATABASE - 152)) | (1 << (PostgreSQLParser.KW_DAY - 152)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 152)) | (1 << (PostgreSQLParser.KW_DECLARE - 152)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 152)) | (1 << (PostgreSQLParser.KW_DEFERRED - 152)) | (1 << (PostgreSQLParser.KW_DEFINER - 152)) | (1 << (PostgreSQLParser.KW_DELETE - 152)) | (1 << (PostgreSQLParser.KW_DELIMITER - 152)))) !== 0) || ((((_la - 184)) & ~0x1F) === 0 && ((1 << (_la - 184)) & ((1 << (PostgreSQLParser.KW_DELIMITERS - 184)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 184)) | (1 << (PostgreSQLParser.KW_DISABLE - 184)) | (1 << (PostgreSQLParser.KW_DISCARD - 184)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 184)) | (1 << (PostgreSQLParser.KW_DOMAIN - 184)) | (1 << (PostgreSQLParser.KW_DOUBLE - 184)) | (1 << (PostgreSQLParser.KW_DROP - 184)) | (1 << (PostgreSQLParser.KW_EACH - 184)) | (1 << (PostgreSQLParser.KW_ENABLE - 184)) | (1 << (PostgreSQLParser.KW_ENCODING - 184)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 184)) | (1 << (PostgreSQLParser.KW_ENUM - 184)) | (1 << (PostgreSQLParser.KW_ESCAPE - 184)) | (1 << (PostgreSQLParser.KW_EVENT - 184)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 184)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 184)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 184)) | (1 << (PostgreSQLParser.KW_EXECUTE - 184)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 184)) | (1 << (PostgreSQLParser.KW_EXTENSION - 184)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 184)) | (1 << (PostgreSQLParser.KW_FAMILY - 184)) | (1 << (PostgreSQLParser.KW_FIRST - 184)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 184)) | (1 << (PostgreSQLParser.KW_FORCE - 184)) | (1 << (PostgreSQLParser.KW_FORWARD - 184)) | (1 << (PostgreSQLParser.KW_FUNCTION - 184)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 184)) | (1 << (PostgreSQLParser.KW_GLOBAL - 184)) | (1 << (PostgreSQLParser.KW_GRANTED - 184)) | (1 << (PostgreSQLParser.KW_HANDLER - 184)))) !== 0) || ((((_la - 216)) & ~0x1F) === 0 && ((1 << (_la - 216)) & ((1 << (PostgreSQLParser.KW_HEADER - 216)) | (1 << (PostgreSQLParser.KW_HOLD - 216)) | (1 << (PostgreSQLParser.KW_HOUR - 216)) | (1 << (PostgreSQLParser.KW_IDENTITY - 216)) | (1 << (PostgreSQLParser.KW_IF - 216)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 216)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 216)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 216)) | (1 << (PostgreSQLParser.KW_INCLUDING - 216)) | (1 << (PostgreSQLParser.KW_INCREMENT - 216)) | (1 << (PostgreSQLParser.KW_INDEX - 216)) | (1 << (PostgreSQLParser.KW_INDEXES - 216)) | (1 << (PostgreSQLParser.KW_INHERIT - 216)) | (1 << (PostgreSQLParser.KW_INHERITS - 216)) | (1 << (PostgreSQLParser.KW_INLINE - 216)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 216)) | (1 << (PostgreSQLParser.KW_INSERT - 216)) | (1 << (PostgreSQLParser.KW_INSTEAD - 216)) | (1 << (PostgreSQLParser.KW_INVOKER - 216)) | (1 << (PostgreSQLParser.KW_ISOLATION - 216)) | (1 << (PostgreSQLParser.KW_KEY - 216)) | (1 << (PostgreSQLParser.KW_LABEL - 216)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 216)))) !== 0) || ((((_la - 248)) & ~0x1F) === 0 && ((1 << (_la - 248)) & ((1 << (PostgreSQLParser.KW_LARGE - 248)) | (1 << (PostgreSQLParser.KW_LAST - 248)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 248)) | (1 << (PostgreSQLParser.KW_LEVEL - 248)) | (1 << (PostgreSQLParser.KW_LISTEN - 248)) | (1 << (PostgreSQLParser.KW_LOAD - 248)) | (1 << (PostgreSQLParser.KW_LOCAL - 248)) | (1 << (PostgreSQLParser.KW_LOCATION - 248)) | (1 << (PostgreSQLParser.KW_LOCK - 248)) | (1 << (PostgreSQLParser.KW_MAPPING - 248)) | (1 << (PostgreSQLParser.KW_MATCH - 248)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 248)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 248)) | (1 << (PostgreSQLParser.KW_MINUTE - 248)) | (1 << (PostgreSQLParser.KW_MINVALUE - 248)) | (1 << (PostgreSQLParser.KW_MODE - 248)) | (1 << (PostgreSQLParser.KW_MONTH - 248)) | (1 << (PostgreSQLParser.KW_MOVE - 248)) | (1 << (PostgreSQLParser.KW_NAME - 248)) | (1 << (PostgreSQLParser.KW_NAMES - 248)) | (1 << (PostgreSQLParser.KW_NEXT - 248)) | (1 << (PostgreSQLParser.KW_NO - 248)) | (1 << (PostgreSQLParser.KW_NOTHING - 248)) | (1 << (PostgreSQLParser.KW_NOTIFY - 248)) | (1 << (PostgreSQLParser.KW_NOWAIT - 248)) | (1 << (PostgreSQLParser.KW_NULLS - 248)) | (1 << (PostgreSQLParser.KW_OBJECT - 248)) | (1 << (PostgreSQLParser.KW_OF - 248)) | (1 << (PostgreSQLParser.KW_OFF - 248)) | (1 << (PostgreSQLParser.KW_OIDS - 248)) | (1 << (PostgreSQLParser.KW_OPERATOR - 248)) | (1 << (PostgreSQLParser.KW_OPTION - 248)))) !== 0) || ((((_la - 280)) & ~0x1F) === 0 && ((1 << (_la - 280)) & ((1 << (PostgreSQLParser.KW_OPTIONS - 280)) | (1 << (PostgreSQLParser.KW_OWNED - 280)) | (1 << (PostgreSQLParser.KW_OWNER - 280)) | (1 << (PostgreSQLParser.KW_PARSER - 280)) | (1 << (PostgreSQLParser.KW_PARTIAL - 280)) | (1 << (PostgreSQLParser.KW_PARTITION - 280)) | (1 << (PostgreSQLParser.KW_PASSING - 280)) | (1 << (PostgreSQLParser.KW_PASSWORD - 280)) | (1 << (PostgreSQLParser.KW_PLANS - 280)) | (1 << (PostgreSQLParser.KW_PRECEDING - 280)) | (1 << (PostgreSQLParser.KW_PREPARE - 280)) | (1 << (PostgreSQLParser.KW_PREPARED - 280)) | (1 << (PostgreSQLParser.KW_PRESERVE - 280)) | (1 << (PostgreSQLParser.KW_PRIOR - 280)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 280)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 280)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 280)) | (1 << (PostgreSQLParser.KW_PROGRAM - 280)) | (1 << (PostgreSQLParser.KW_QUOTE - 280)) | (1 << (PostgreSQLParser.KW_RANGE - 280)) | (1 << (PostgreSQLParser.KW_READ - 280)) | (1 << (PostgreSQLParser.KW_REASSIGN - 280)) | (1 << (PostgreSQLParser.KW_RECHECK - 280)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 280)) | (1 << (PostgreSQLParser.KW_REF - 280)) | (1 << (PostgreSQLParser.KW_REFRESH - 280)) | (1 << (PostgreSQLParser.KW_REINDEX - 280)) | (1 << (PostgreSQLParser.KW_RELATIVE - 280)) | (1 << (PostgreSQLParser.KW_RELEASE - 280)) | (1 << (PostgreSQLParser.KW_RENAME - 280)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 280)) | (1 << (PostgreSQLParser.KW_REPLACE - 280)))) !== 0) || ((((_la - 312)) & ~0x1F) === 0 && ((1 << (_la - 312)) & ((1 << (PostgreSQLParser.KW_REPLICA - 312)) | (1 << (PostgreSQLParser.KW_RESET - 312)) | (1 << (PostgreSQLParser.KW_RESTART - 312)) | (1 << (PostgreSQLParser.KW_RESTRICT - 312)) | (1 << (PostgreSQLParser.KW_RETURNS - 312)) | (1 << (PostgreSQLParser.KW_REVOKE - 312)) | (1 << (PostgreSQLParser.KW_ROLE - 312)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 312)) | (1 << (PostgreSQLParser.KW_ROWS - 312)) | (1 << (PostgreSQLParser.KW_RULE - 312)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 312)) | (1 << (PostgreSQLParser.KW_SCHEMA - 312)) | (1 << (PostgreSQLParser.KW_SCROLL - 312)) | (1 << (PostgreSQLParser.KW_SEARCH - 312)) | (1 << (PostgreSQLParser.KW_SECOND - 312)) | (1 << (PostgreSQLParser.KW_SECURITY - 312)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 312)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 312)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 312)) | (1 << (PostgreSQLParser.KW_SERVER - 312)) | (1 << (PostgreSQLParser.KW_SESSION - 312)) | (1 << (PostgreSQLParser.KW_SET - 312)) | (1 << (PostgreSQLParser.KW_SHARE - 312)) | (1 << (PostgreSQLParser.KW_SHOW - 312)) | (1 << (PostgreSQLParser.KW_SIMPLE - 312)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 312)) | (1 << (PostgreSQLParser.KW_STABLE - 312)) | (1 << (PostgreSQLParser.KW_STANDALONE - 312)) | (1 << (PostgreSQLParser.KW_START - 312)) | (1 << (PostgreSQLParser.KW_STATEMENT - 312)) | (1 << (PostgreSQLParser.KW_STATISTICS - 312)) | (1 << (PostgreSQLParser.KW_STDIN - 312)))) !== 0) || ((((_la - 344)) & ~0x1F) === 0 && ((1 << (_la - 344)) & ((1 << (PostgreSQLParser.KW_STDOUT - 344)) | (1 << (PostgreSQLParser.KW_STORAGE - 344)) | (1 << (PostgreSQLParser.KW_STRICT - 344)) | (1 << (PostgreSQLParser.KW_STRIP - 344)) | (1 << (PostgreSQLParser.KW_SYSID - 344)) | (1 << (PostgreSQLParser.KW_SYSTEM - 344)) | (1 << (PostgreSQLParser.KW_TABLES - 344)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 344)) | (1 << (PostgreSQLParser.KW_TEMP - 344)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 344)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 344)) | (1 << (PostgreSQLParser.KW_TEXT - 344)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 344)) | (1 << (PostgreSQLParser.KW_TRIGGER - 344)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 344)) | (1 << (PostgreSQLParser.KW_TRUSTED - 344)) | (1 << (PostgreSQLParser.KW_TYPE - 344)) | (1 << (PostgreSQLParser.KW_TYPES - 344)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 344)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 344)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 344)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 344)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 344)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 344)) | (1 << (PostgreSQLParser.KW_UNTIL - 344)) | (1 << (PostgreSQLParser.KW_UPDATE - 344)) | (1 << (PostgreSQLParser.KW_VACUUM - 344)) | (1 << (PostgreSQLParser.KW_VALID - 344)) | (1 << (PostgreSQLParser.KW_VALIDATE - 344)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 344)) | (1 << (PostgreSQLParser.KW_VARYING - 344)) | (1 << (PostgreSQLParser.KW_VERSION - 344)))) !== 0) || ((((_la - 376)) & ~0x1F) === 0 && ((1 << (_la - 376)) & ((1 << (PostgreSQLParser.KW_VIEW - 376)) | (1 << (PostgreSQLParser.KW_VOLATILE - 376)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 376)) | (1 << (PostgreSQLParser.KW_WITHOUT - 376)) | (1 << (PostgreSQLParser.KW_WORK - 376)) | (1 << (PostgreSQLParser.KW_WRAPPER - 376)) | (1 << (PostgreSQLParser.KW_WRITE - 376)) | (1 << (PostgreSQLParser.KW_XML - 376)) | (1 << (PostgreSQLParser.KW_YEAR - 376)) | (1 << (PostgreSQLParser.KW_YES - 376)) | (1 << (PostgreSQLParser.KW_ZONE - 376)) | (1 << (PostgreSQLParser.KW_BETWEEN - 376)) | (1 << (PostgreSQLParser.KW_BIGINT - 376)) | (1 << (PostgreSQLParser.KW_BIT - 376)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 376)) | (1 << (PostgreSQLParser.KW_CHAR - 376)) | (1 << (PostgreSQLParser.KW_CHARACTER - 376)) | (1 << (PostgreSQLParser.KW_COALESCE - 376)) | (1 << (PostgreSQLParser.KW_DEC - 376)) | (1 << (PostgreSQLParser.KW_DECIMAL - 376)) | (1 << (PostgreSQLParser.KW_EXISTS - 376)) | (1 << (PostgreSQLParser.KW_EXTRACT - 376)) | (1 << (PostgreSQLParser.KW_FLOAT - 376)) | (1 << (PostgreSQLParser.KW_GREATEST - 376)) | (1 << (PostgreSQLParser.KW_INOUT - 376)) | (1 << (PostgreSQLParser.KW_INT - 376)) | (1 << (PostgreSQLParser.KW_INTEGER - 376)) | (1 << (PostgreSQLParser.KW_INTERVAL - 376)) | (1 << (PostgreSQLParser.KW_LEAST - 376)) | (1 << (PostgreSQLParser.KW_NATIONAL - 376)) | (1 << (PostgreSQLParser.KW_NCHAR - 376)) | (1 << (PostgreSQLParser.KW_NONE - 376)))) !== 0) || ((((_la - 408)) & ~0x1F) === 0 && ((1 << (_la - 408)) & ((1 << (PostgreSQLParser.KW_NULLIF - 408)) | (1 << (PostgreSQLParser.KW_NUMERIC - 408)) | (1 << (PostgreSQLParser.KW_OVERLAY - 408)) | (1 << (PostgreSQLParser.KW_POSITION - 408)) | (1 << (PostgreSQLParser.KW_PRECISION - 408)) | (1 << (PostgreSQLParser.KW_REAL - 408)) | (1 << (PostgreSQLParser.KW_ROW - 408)) | (1 << (PostgreSQLParser.KW_SETOF - 408)) | (1 << (PostgreSQLParser.KW_SMALLINT - 408)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 408)) | (1 << (PostgreSQLParser.KW_TIME - 408)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 408)) | (1 << (PostgreSQLParser.KW_TREAT - 408)) | (1 << (PostgreSQLParser.KW_TRIM - 408)) | (1 << (PostgreSQLParser.KW_VALUES - 408)) | (1 << (PostgreSQLParser.KW_VARCHAR - 408)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 408)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 408)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 408)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 408)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 408)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 408)) | (1 << (PostgreSQLParser.KW_XMLPI - 408)) | (1 << (PostgreSQLParser.KW_XMLROOT - 408)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 408)) | (1 << (PostgreSQLParser.KW_CALL - 408)) | (1 << (PostgreSQLParser.KW_CURRENT - 408)) | (1 << (PostgreSQLParser.KW_ATTACH - 408)) | (1 << (PostgreSQLParser.KW_DETACH - 408)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 408)) | (1 << (PostgreSQLParser.KW_GENERATED - 408)) | (1 << (PostgreSQLParser.KW_LOGGED - 408)))) !== 0) || ((((_la - 440)) & ~0x1F) === 0 && ((1 << (_la - 440)) & ((1 << (PostgreSQLParser.KW_STORED - 440)) | (1 << (PostgreSQLParser.KW_INCLUDE - 440)) | (1 << (PostgreSQLParser.KW_ROUTINE - 440)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 440)) | (1 << (PostgreSQLParser.KW_IMPORT - 440)) | (1 << (PostgreSQLParser.KW_POLICY - 440)) | (1 << (PostgreSQLParser.KW_METHOD - 440)) | (1 << (PostgreSQLParser.KW_REFERENCING - 440)) | (1 << (PostgreSQLParser.KW_NEW - 440)) | (1 << (PostgreSQLParser.KW_OLD - 440)) | (1 << (PostgreSQLParser.KW_VALUE - 440)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 440)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 440)) | (1 << (PostgreSQLParser.KW_OUT - 440)) | (1 << (PostgreSQLParser.KW_ROUTINES - 440)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 440)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 440)) | (1 << (PostgreSQLParser.KW_INPUT - 440)) | (1 << (PostgreSQLParser.KW_SUPPORT - 440)) | (1 << (PostgreSQLParser.KW_PARALLEL - 440)) | (1 << (PostgreSQLParser.KW_SQL - 440)) | (1 << (PostgreSQLParser.KW_DEPENDS - 440)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 440)) | (1 << (PostgreSQLParser.KW_CONFLICT - 440)) | (1 << (PostgreSQLParser.KW_SKIP - 440)) | (1 << (PostgreSQLParser.KW_LOCKED - 440)) | (1 << (PostgreSQLParser.KW_TIES - 440)) | (1 << (PostgreSQLParser.KW_ROLLUP - 440)) | (1 << (PostgreSQLParser.KW_CUBE - 440)) | (1 << (PostgreSQLParser.KW_GROUPING - 440)) | (1 << (PostgreSQLParser.KW_SETS - 440)))) !== 0) || ((((_la - 473)) & ~0x1F) === 0 && ((1 << (_la - 473)) & ((1 << (PostgreSQLParser.KW_ORDINALITY - 473)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 473)) | (1 << (PostgreSQLParser.KW_COLUMNS - 473)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 473)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 473)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 473)) | (1 << (PostgreSQLParser.KW_WITHIN - 473)) | (1 << (PostgreSQLParser.KW_FILTER - 473)) | (1 << (PostgreSQLParser.KW_GROUPS - 473)) | (1 << (PostgreSQLParser.KW_OTHERS - 473)) | (1 << (PostgreSQLParser.KW_NFC - 473)) | (1 << (PostgreSQLParser.KW_NFD - 473)) | (1 << (PostgreSQLParser.KW_NFKC - 473)) | (1 << (PostgreSQLParser.KW_NFKD - 473)) | (1 << (PostgreSQLParser.KW_UESCAPE - 473)) | (1 << (PostgreSQLParser.KW_VIEWS - 473)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 473)) | (1 << (PostgreSQLParser.KW_DUMP - 473)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 473)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 473)) | (1 << (PostgreSQLParser.KW_ERROR - 473)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 473)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 473)) | (1 << (PostgreSQLParser.KW_ALIAS - 473)) | (1 << (PostgreSQLParser.KW_CONSTANT - 473)) | (1 << (PostgreSQLParser.KW_PERFORM - 473)) | (1 << (PostgreSQLParser.KW_GET - 473)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 473)) | (1 << (PostgreSQLParser.KW_STACKED - 473)) | (1 << (PostgreSQLParser.KW_ELSIF - 473)) | (1 << (PostgreSQLParser.KW_REVERSE - 473)))) !== 0) || ((((_la - 506)) & ~0x1F) === 0 && ((1 << (_la - 506)) & ((1 << (PostgreSQLParser.KW_SLICE - 506)) | (1 << (PostgreSQLParser.KW_EXIT - 506)) | (1 << (PostgreSQLParser.KW_RETURN - 506)) | (1 << (PostgreSQLParser.KW_QUERY - 506)) | (1 << (PostgreSQLParser.KW_RAISE - 506)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 506)) | (1 << (PostgreSQLParser.KW_DEBUG - 506)) | (1 << (PostgreSQLParser.KW_LOG - 506)) | (1 << (PostgreSQLParser.KW_INFO - 506)) | (1 << (PostgreSQLParser.KW_NOTICE - 506)) | (1 << (PostgreSQLParser.KW_WARNING - 506)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 506)) | (1 << (PostgreSQLParser.KW_ASSERT - 506)) | (1 << (PostgreSQLParser.KW_OPEN - 506)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 3070; this.table_column_list(); } } this.state = 3073; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 3075; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 154, this._ctx) ) { case 1: { this.state = 3074; this.optinherit(); } break; } this.state = 3078; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 155, this._ctx) ) { case 1: { this.state = 3077; this.optpartitionspec(); } break; } this.state = 3081; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 3080; this.table_access_method_clause(); } } this.state = 3084; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 157, this._ctx) ) { case 1: { this.state = 3083; this.optwith(); } break; } this.state = 3087; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ON) { { this.state = 3086; this.oncommitoption(); } } this.state = 3090; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 159, this._ctx) ) { case 1: { this.state = 3089; this.opttablespace(); } break; } } break; case PostgreSQLParser.KW_OF: { this.state = 3092; this.match(PostgreSQLParser.KW_OF); this.state = 3093; this.any_name(); this.state = 3095; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 160, this._ctx) ) { case 1: { this.state = 3094; this.opttypedtableelementlist(); } break; } this.state = 3098; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 161, this._ctx) ) { case 1: { this.state = 3097; this.optpartitionspec(); } break; } this.state = 3101; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 3100; this.table_access_method_clause(); } } this.state = 3104; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 163, this._ctx) ) { case 1: { this.state = 3103; this.optwith(); } break; } this.state = 3107; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ON) { { this.state = 3106; this.oncommitoption(); } } this.state = 3110; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 165, this._ctx) ) { case 1: { this.state = 3109; this.opttablespace(); } break; } } break; case PostgreSQLParser.KW_PARTITION: { this.state = 3112; this.match(PostgreSQLParser.KW_PARTITION); this.state = 3113; this.match(PostgreSQLParser.KW_OF); this.state = 3114; this.qualified_name(); this.state = 3116; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 3115; this.opttypedtableelementlist(); } } this.state = 3118; this.partitionboundspec(); this.state = 3120; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 167, this._ctx) ) { case 1: { this.state = 3119; this.optpartitionspec(); } break; } this.state = 3123; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 3122; this.table_access_method_clause(); } } this.state = 3126; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 169, this._ctx) ) { case 1: { this.state = 3125; this.optwith(); } break; } this.state = 3129; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ON) { { this.state = 3128; this.oncommitoption(); } } this.state = 3132; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 171, this._ctx) ) { case 1: { this.state = 3131; this.opttablespace(); } break; } } break; default: throw new NoViableAltException(this); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opttemp(): OpttempContext { let _localctx: OpttempContext = new OpttempContext(this._ctx, this.state); this.enterRule(_localctx, 190, PostgreSQLParser.RULE_opttemp); let _la: number; try { this.state = 3143; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_TEMPORARY: this.enterOuterAlt(_localctx, 1); { this.state = 3136; this.match(PostgreSQLParser.KW_TEMPORARY); } break; case PostgreSQLParser.KW_TEMP: this.enterOuterAlt(_localctx, 2); { this.state = 3137; this.match(PostgreSQLParser.KW_TEMP); } break; case PostgreSQLParser.KW_LOCAL: this.enterOuterAlt(_localctx, 3); { this.state = 3138; this.match(PostgreSQLParser.KW_LOCAL); this.state = 3139; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_TEMP || _la === PostgreSQLParser.KW_TEMPORARY)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case PostgreSQLParser.KW_GLOBAL: this.enterOuterAlt(_localctx, 4); { this.state = 3140; this.match(PostgreSQLParser.KW_GLOBAL); this.state = 3141; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_TEMP || _la === PostgreSQLParser.KW_TEMPORARY)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case PostgreSQLParser.KW_UNLOGGED: this.enterOuterAlt(_localctx, 5); { this.state = 3142; this.match(PostgreSQLParser.KW_UNLOGGED); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public table_column_list(): Table_column_listContext { let _localctx: Table_column_listContext = new Table_column_listContext(this._ctx, this.state); this.enterRule(_localctx, 192, PostgreSQLParser.RULE_table_column_list); try { this.enterOuterAlt(_localctx, 1); { this.state = 3145; this.tableelementlist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opttableelementlist(): OpttableelementlistContext { let _localctx: OpttableelementlistContext = new OpttableelementlistContext(this._ctx, this.state); this.enterRule(_localctx, 194, PostgreSQLParser.RULE_opttableelementlist); try { this.enterOuterAlt(_localctx, 1); { this.state = 3147; this.tableelementlist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opttypedtableelementlist(): OpttypedtableelementlistContext { let _localctx: OpttypedtableelementlistContext = new OpttypedtableelementlistContext(this._ctx, this.state); this.enterRule(_localctx, 196, PostgreSQLParser.RULE_opttypedtableelementlist); try { this.enterOuterAlt(_localctx, 1); { this.state = 3149; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3150; this.typedtableelementlist(); this.state = 3151; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public tableelementlist(): TableelementlistContext { let _localctx: TableelementlistContext = new TableelementlistContext(this._ctx, this.state); this.enterRule(_localctx, 198, PostgreSQLParser.RULE_tableelementlist); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3153; this.tableelement(); this.state = 3158; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 3154; this.match(PostgreSQLParser.COMMA); this.state = 3155; this.tableelement(); } } this.state = 3160; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public typedtableelementlist(): TypedtableelementlistContext { let _localctx: TypedtableelementlistContext = new TypedtableelementlistContext(this._ctx, this.state); this.enterRule(_localctx, 200, PostgreSQLParser.RULE_typedtableelementlist); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3161; this.typedtableelement(); this.state = 3166; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 3162; this.match(PostgreSQLParser.COMMA); this.state = 3163; this.typedtableelement(); } } this.state = 3168; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public tableelement(): TableelementContext { let _localctx: TableelementContext = new TableelementContext(this._ctx, this.state); this.enterRule(_localctx, 202, PostgreSQLParser.RULE_tableelement); try { this.state = 3172; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 176, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 3169; this.columnDef(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 3170; this.tablelikeclause(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 3171; this.tableconstraint(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public typedtableelement(): TypedtableelementContext { let _localctx: TypedtableelementContext = new TypedtableelementContext(this._ctx, this.state); this.enterRule(_localctx, 204, PostgreSQLParser.RULE_typedtableelement); try { this.state = 3176; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 177, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 3174; this.columnOptions(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 3175; this.tableconstraint(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public columnDefCluase(): ColumnDefCluaseContext { let _localctx: ColumnDefCluaseContext = new ColumnDefCluaseContext(this._ctx, this.state); this.enterRule(_localctx, 206, PostgreSQLParser.RULE_columnDefCluase); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3178; this.column_name(); this.state = 3179; this.typename(); this.state = 3181; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 178, this._ctx) ) { case 1: { this.state = 3180; this.create_generic_options(); } break; } this.state = 3184; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 179, this._ctx) ) { case 1: { this.state = 3183; this.storageCluase(); } break; } this.state = 3187; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_COMPRESSION) { { this.state = 3186; this.compressionCluase(); } } this.state = 3191; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 181, this._ctx) ) { case 1: { this.state = 3189; this.match(PostgreSQLParser.KW_COLLATE); this.state = 3190; this.any_name(); } break; } this.state = 3195; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 182, this._ctx) ) { case 1: { this.state = 3193; this.match(PostgreSQLParser.KW_WITH); this.state = 3194; this.match(PostgreSQLParser.KW_OPTIONS); } break; } this.state = 3197; this.colquallist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public columnDef(): ColumnDefContext { let _localctx: ColumnDefContext = new ColumnDefContext(this._ctx, this.state); this.enterRule(_localctx, 208, PostgreSQLParser.RULE_columnDef); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3199; this.column_name(); this.state = 3200; this.typename(); this.state = 3202; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 183, this._ctx) ) { case 1: { this.state = 3201; this.create_generic_options(); } break; } this.state = 3205; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 184, this._ctx) ) { case 1: { this.state = 3204; this.storageCluase(); } break; } this.state = 3208; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_COMPRESSION) { { this.state = 3207; this.compressionCluase(); } } this.state = 3212; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 186, this._ctx) ) { case 1: { this.state = 3210; this.match(PostgreSQLParser.KW_COLLATE); this.state = 3211; this.any_name(); } break; } this.state = 3216; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 187, this._ctx) ) { case 1: { this.state = 3214; this.match(PostgreSQLParser.KW_WITH); this.state = 3215; this.match(PostgreSQLParser.KW_OPTIONS); } break; } this.state = 3218; this.colquallist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public compressionCluase(): CompressionCluaseContext { let _localctx: CompressionCluaseContext = new CompressionCluaseContext(this._ctx, this.state); this.enterRule(_localctx, 210, PostgreSQLParser.RULE_compressionCluase); try { this.enterOuterAlt(_localctx, 1); { this.state = 3220; this.match(PostgreSQLParser.KW_COMPRESSION); this.state = 3221; this.colid(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public storageCluase(): StorageCluaseContext { let _localctx: StorageCluaseContext = new StorageCluaseContext(this._ctx, this.state); this.enterRule(_localctx, 212, PostgreSQLParser.RULE_storageCluase); try { this.enterOuterAlt(_localctx, 1); { this.state = 3223; this.match(PostgreSQLParser.KW_STORAGE); this.state = 3230; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 188, this._ctx) ) { case 1: { this.state = 3224; this.match(PostgreSQLParser.KW_PLAIN); } break; case 2: { this.state = 3225; this.match(PostgreSQLParser.KW_EXTERNAL); } break; case 3: { this.state = 3226; this.match(PostgreSQLParser.KW_EXTENDED); } break; case 4: { this.state = 3227; this.match(PostgreSQLParser.KW_MAIN); } break; case 5: { this.state = 3228; this.match(PostgreSQLParser.KW_DEFAULT); } break; case 6: { this.state = 3229; this.colid(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public columnOptions(): ColumnOptionsContext { let _localctx: ColumnOptionsContext = new ColumnOptionsContext(this._ctx, this.state); this.enterRule(_localctx, 214, PostgreSQLParser.RULE_columnOptions); try { this.enterOuterAlt(_localctx, 1); { this.state = 3232; this.column_name(); this.state = 3235; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 189, this._ctx) ) { case 1: { this.state = 3233; this.match(PostgreSQLParser.KW_WITH); this.state = 3234; this.match(PostgreSQLParser.KW_OPTIONS); } break; } this.state = 3237; this.colquallist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public colquallist(): ColquallistContext { let _localctx: ColquallistContext = new ColquallistContext(this._ctx, this.state); this.enterRule(_localctx, 216, PostgreSQLParser.RULE_colquallist); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 3242; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 190, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 3239; this.colconstraint(); } } } this.state = 3244; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 190, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public colconstraint(): ColconstraintContext { let _localctx: ColconstraintContext = new ColconstraintContext(this._ctx, this.state); this.enterRule(_localctx, 218, PostgreSQLParser.RULE_colconstraint); let _la: number; try { this.state = 3263; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 196, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 3247; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_CONSTRAINT) { { this.state = 3245; this.match(PostgreSQLParser.KW_CONSTRAINT); this.state = 3246; this.name(); } } this.state = 3249; this.colconstraintelem(); this.state = 3251; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 192, this._ctx) ) { case 1: { this.state = 3250; this.deferrable_trigger(); } break; } this.state = 3254; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_INITIALLY) { { this.state = 3253; this.initially_trigger(); } } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 3256; this.colconstraintelem(); this.state = 3258; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 194, this._ctx) ) { case 1: { this.state = 3257; this.deferrable_trigger(); } break; } this.state = 3261; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_INITIALLY) { { this.state = 3260; this.initially_trigger(); } } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public colconstraintelem(): ColconstraintelemContext { let _localctx: ColconstraintelemContext = new ColconstraintelemContext(this._ctx, this.state); this.enterRule(_localctx, 220, PostgreSQLParser.RULE_colconstraintelem); let _la: number; try { this.state = 3323; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 208, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 3265; this.match(PostgreSQLParser.KW_NOT); this.state = 3266; this.match(PostgreSQLParser.KW_NULL); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 3267; this.match(PostgreSQLParser.KW_NULL); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 3268; this.match(PostgreSQLParser.KW_UNIQUE); this.state = 3270; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 197, this._ctx) ) { case 1: { this.state = 3269; this.opt_definition(); } break; } this.state = 3273; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 3272; this.optconstablespace(); } } } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 3275; this.match(PostgreSQLParser.KW_UNIQUE); this.state = 3277; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 199, this._ctx) ) { case 1: { this.state = 3276; this.nulls_distinct(); } break; } this.state = 3279; this.index_paramenters_create(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 3280; this.match(PostgreSQLParser.KW_PRIMARY); this.state = 3281; this.match(PostgreSQLParser.KW_KEY); this.state = 3283; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 200, this._ctx) ) { case 1: { this.state = 3282; this.opt_definition(); } break; } this.state = 3286; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 3285; this.optconstablespace(); } } } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 3288; this.match(PostgreSQLParser.KW_CHECK); this.state = 3289; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3290; this.a_expr(); this.state = 3291; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 3293; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 202, this._ctx) ) { case 1: { this.state = 3292; this.opt_no_inherit(); } break; } } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 3295; this.match(PostgreSQLParser.KW_DEFAULT); this.state = 3296; this.b_expr(0); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 3297; this.match(PostgreSQLParser.KW_GENERATED); this.state = 3298; this.generated_when(); this.state = 3299; this.match(PostgreSQLParser.KW_AS); this.state = 3309; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_IDENTITY: { this.state = 3300; this.match(PostgreSQLParser.KW_IDENTITY); this.state = 3302; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 203, this._ctx) ) { case 1: { this.state = 3301; this.optparenthesizedseqoptlist(); } break; } } break; case PostgreSQLParser.OPEN_PAREN: { this.state = 3304; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3305; this.a_expr(); this.state = 3306; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 3307; this.match(PostgreSQLParser.KW_STORED); } break; default: throw new NoViableAltException(this); } } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 3311; this.match(PostgreSQLParser.KW_REFERENCES); this.state = 3312; this.qualified_name(); this.state = 3314; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 205, this._ctx) ) { case 1: { this.state = 3313; this.opt_column_list(); } break; } this.state = 3317; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 206, this._ctx) ) { case 1: { this.state = 3316; this.key_match(); } break; } this.state = 3320; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ON) { { this.state = 3319; this.key_actions(); } } } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 3322; this.opt_collate(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public nulls_distinct(): Nulls_distinctContext { let _localctx: Nulls_distinctContext = new Nulls_distinctContext(this._ctx, this.state); this.enterRule(_localctx, 222, PostgreSQLParser.RULE_nulls_distinct); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3325; this.match(PostgreSQLParser.KW_NULLS); this.state = 3327; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NOT) { { this.state = 3326; this.match(PostgreSQLParser.KW_NOT); } } this.state = 3329; this.match(PostgreSQLParser.KW_DISTINCT); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public generated_when(): Generated_whenContext { let _localctx: Generated_whenContext = new Generated_whenContext(this._ctx, this.state); this.enterRule(_localctx, 224, PostgreSQLParser.RULE_generated_when); try { this.state = 3334; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_ALWAYS: this.enterOuterAlt(_localctx, 1); { this.state = 3331; this.match(PostgreSQLParser.KW_ALWAYS); } break; case PostgreSQLParser.KW_BY: this.enterOuterAlt(_localctx, 2); { this.state = 3332; this.match(PostgreSQLParser.KW_BY); this.state = 3333; this.match(PostgreSQLParser.KW_DEFAULT); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public deferrable_trigger(): Deferrable_triggerContext { let _localctx: Deferrable_triggerContext = new Deferrable_triggerContext(this._ctx, this.state); this.enterRule(_localctx, 226, PostgreSQLParser.RULE_deferrable_trigger); try { this.state = 3339; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_DEFERRABLE: this.enterOuterAlt(_localctx, 1); { this.state = 3336; this.match(PostgreSQLParser.KW_DEFERRABLE); } break; case PostgreSQLParser.KW_NOT: this.enterOuterAlt(_localctx, 2); { this.state = 3337; this.match(PostgreSQLParser.KW_NOT); this.state = 3338; this.match(PostgreSQLParser.KW_DEFERRABLE); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public initially_trigger(): Initially_triggerContext { let _localctx: Initially_triggerContext = new Initially_triggerContext(this._ctx, this.state); this.enterRule(_localctx, 228, PostgreSQLParser.RULE_initially_trigger); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3341; this.match(PostgreSQLParser.KW_INITIALLY); this.state = 3342; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_DEFERRED || _la === PostgreSQLParser.KW_IMMEDIATE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public tablelikeclause(): TablelikeclauseContext { let _localctx: TablelikeclauseContext = new TablelikeclauseContext(this._ctx, this.state); this.enterRule(_localctx, 230, PostgreSQLParser.RULE_tablelikeclause); try { this.enterOuterAlt(_localctx, 1); { this.state = 3344; this.match(PostgreSQLParser.KW_LIKE); this.state = 3345; this.qualified_name(); this.state = 3346; this.tablelikeoptionlist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public tablelikeoptionlist(): TablelikeoptionlistContext { let _localctx: TablelikeoptionlistContext = new TablelikeoptionlistContext(this._ctx, this.state); this.enterRule(_localctx, 232, PostgreSQLParser.RULE_tablelikeoptionlist); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3352; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.KW_EXCLUDING || _la === PostgreSQLParser.KW_INCLUDING) { { { this.state = 3348; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_EXCLUDING || _la === PostgreSQLParser.KW_INCLUDING)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 3349; this.tablelikeoption(); } } this.state = 3354; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public tablelikeoption(): TablelikeoptionContext { let _localctx: TablelikeoptionContext = new TablelikeoptionContext(this._ctx, this.state); this.enterRule(_localctx, 234, PostgreSQLParser.RULE_tablelikeoption); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3355; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_ALL || ((((_la - 160)) & ~0x1F) === 0 && ((1 << (_la - 160)) & ((1 << (PostgreSQLParser.KW_COMMENTS - 160)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 160)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 160)))) !== 0) || _la === PostgreSQLParser.KW_IDENTITY || _la === PostgreSQLParser.KW_INDEXES || _la === PostgreSQLParser.KW_STATISTICS || _la === PostgreSQLParser.KW_STORAGE || _la === PostgreSQLParser.KW_GENERATED)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public tableconstraint(): TableconstraintContext { let _localctx: TableconstraintContext = new TableconstraintContext(this._ctx, this.state); this.enterRule(_localctx, 236, PostgreSQLParser.RULE_tableconstraint); try { this.state = 3362; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_CONSTRAINT: this.enterOuterAlt(_localctx, 1); { this.state = 3357; this.match(PostgreSQLParser.KW_CONSTRAINT); this.state = 3358; this.name(); this.state = 3359; this.constraintelem(); } break; case PostgreSQLParser.KW_CHECK: case PostgreSQLParser.KW_FOREIGN: case PostgreSQLParser.KW_PRIMARY: case PostgreSQLParser.KW_UNIQUE: case PostgreSQLParser.KW_EXCLUDE: this.enterOuterAlt(_localctx, 2); { this.state = 3361; this.constraintelem(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public constraintelem(): ConstraintelemContext { let _localctx: ConstraintelemContext = new ConstraintelemContext(this._ctx, this.state); this.enterRule(_localctx, 238, PostgreSQLParser.RULE_constraintelem); let _la: number; try { this.state = 3450; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_CHECK: this.enterOuterAlt(_localctx, 1); { this.state = 3364; this.match(PostgreSQLParser.KW_CHECK); this.state = 3365; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3366; this.a_expr(); this.state = 3367; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 3368; this.constraintattributespec(); } break; case PostgreSQLParser.KW_UNIQUE: this.enterOuterAlt(_localctx, 2); { this.state = 3370; this.match(PostgreSQLParser.KW_UNIQUE); this.state = 3388; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: { this.state = 3371; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3372; this.columnlist(); this.state = 3373; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 3375; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 214, this._ctx) ) { case 1: { this.state = 3374; this.opt_c_include(); } break; } this.state = 3378; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 215, this._ctx) ) { case 1: { this.state = 3377; this.opt_definition(); } break; } this.state = 3381; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 3380; this.optconstablespace(); } } this.state = 3383; this.constraintattributespec(); } break; case PostgreSQLParser.KW_USING: { this.state = 3385; this.existingindex(); this.state = 3386; this.constraintattributespec(); } break; default: throw new NoViableAltException(this); } } break; case PostgreSQLParser.KW_PRIMARY: this.enterOuterAlt(_localctx, 3); { this.state = 3390; this.match(PostgreSQLParser.KW_PRIMARY); this.state = 3391; this.match(PostgreSQLParser.KW_KEY); this.state = 3409; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: { this.state = 3392; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3393; this.columnlist(); this.state = 3394; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 3396; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 218, this._ctx) ) { case 1: { this.state = 3395; this.opt_c_include(); } break; } this.state = 3399; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 219, this._ctx) ) { case 1: { this.state = 3398; this.opt_definition(); } break; } this.state = 3402; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 3401; this.optconstablespace(); } } this.state = 3404; this.constraintattributespec(); } break; case PostgreSQLParser.KW_USING: { this.state = 3406; this.existingindex(); this.state = 3407; this.constraintattributespec(); } break; default: throw new NoViableAltException(this); } } break; case PostgreSQLParser.KW_EXCLUDE: this.enterOuterAlt(_localctx, 4); { this.state = 3411; this.match(PostgreSQLParser.KW_EXCLUDE); this.state = 3413; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 3412; this.access_method_clause(); } } this.state = 3415; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3416; this.exclusionconstraintlist(); this.state = 3417; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 3419; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 223, this._ctx) ) { case 1: { this.state = 3418; this.opt_c_include(); } break; } this.state = 3422; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 224, this._ctx) ) { case 1: { this.state = 3421; this.opt_definition(); } break; } this.state = 3425; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 3424; this.optconstablespace(); } } this.state = 3428; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHERE) { { this.state = 3427; this.exclusionwhereclause(); } } this.state = 3430; this.constraintattributespec(); } break; case PostgreSQLParser.KW_FOREIGN: this.enterOuterAlt(_localctx, 5); { this.state = 3432; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 3433; this.match(PostgreSQLParser.KW_KEY); this.state = 3434; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3435; this.columnlist(); this.state = 3436; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 3437; this.match(PostgreSQLParser.KW_REFERENCES); this.state = 3438; this.qualified_name(); this.state = 3440; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 227, this._ctx) ) { case 1: { this.state = 3439; this.opt_column_list(); } break; } this.state = 3443; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 228, this._ctx) ) { case 1: { this.state = 3442; this.key_match(); } break; } this.state = 3446; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ON) { { this.state = 3445; this.key_actions(); } } this.state = 3448; this.constraintattributespec(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_no_inherit(): Opt_no_inheritContext { let _localctx: Opt_no_inheritContext = new Opt_no_inheritContext(this._ctx, this.state); this.enterRule(_localctx, 240, PostgreSQLParser.RULE_opt_no_inherit); try { this.enterOuterAlt(_localctx, 1); { this.state = 3452; this.match(PostgreSQLParser.KW_NO); this.state = 3453; this.match(PostgreSQLParser.KW_INHERIT); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_column_list(): Opt_column_listContext { let _localctx: Opt_column_listContext = new Opt_column_listContext(this._ctx, this.state); this.enterRule(_localctx, 242, PostgreSQLParser.RULE_opt_column_list); try { this.enterOuterAlt(_localctx, 1); { this.state = 3455; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3456; this.columnlist(); this.state = 3457; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public columnlist(): ColumnlistContext { let _localctx: ColumnlistContext = new ColumnlistContext(this._ctx, this.state); this.enterRule(_localctx, 244, PostgreSQLParser.RULE_columnlist); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 3459; this.column_name(); this.state = 3464; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 231, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 3460; this.match(PostgreSQLParser.COMMA); this.state = 3461; this.column_name(); } } } this.state = 3466; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 231, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_c_include(): Opt_c_includeContext { let _localctx: Opt_c_includeContext = new Opt_c_includeContext(this._ctx, this.state); this.enterRule(_localctx, 246, PostgreSQLParser.RULE_opt_c_include); try { this.enterOuterAlt(_localctx, 1); { this.state = 3467; this.match(PostgreSQLParser.KW_INCLUDE); this.state = 3468; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3469; this.columnlist(); this.state = 3470; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public key_match(): Key_matchContext { let _localctx: Key_matchContext = new Key_matchContext(this._ctx, this.state); this.enterRule(_localctx, 248, PostgreSQLParser.RULE_key_match); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3472; this.match(PostgreSQLParser.KW_MATCH); this.state = 3473; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_FULL || _la === PostgreSQLParser.KW_PARTIAL || _la === PostgreSQLParser.KW_SIMPLE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public exclusionconstraintlist(): ExclusionconstraintlistContext { let _localctx: ExclusionconstraintlistContext = new ExclusionconstraintlistContext(this._ctx, this.state); this.enterRule(_localctx, 250, PostgreSQLParser.RULE_exclusionconstraintlist); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3475; this.exclusionconstraintelem(); this.state = 3480; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 3476; this.match(PostgreSQLParser.COMMA); this.state = 3477; this.exclusionconstraintelem(); } } this.state = 3482; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public exclusionconstraintelem(): ExclusionconstraintelemContext { let _localctx: ExclusionconstraintelemContext = new ExclusionconstraintelemContext(this._ctx, this.state); this.enterRule(_localctx, 252, PostgreSQLParser.RULE_exclusionconstraintelem); try { this.enterOuterAlt(_localctx, 1); { this.state = 3483; this.index_elem(); this.state = 3484; this.match(PostgreSQLParser.KW_WITH); this.state = 3491; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 233, this._ctx) ) { case 1: { this.state = 3485; this.any_operator(); } break; case 2: { this.state = 3486; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 3487; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3488; this.any_operator(); this.state = 3489; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public exclusionwhereclause(): ExclusionwhereclauseContext { let _localctx: ExclusionwhereclauseContext = new ExclusionwhereclauseContext(this._ctx, this.state); this.enterRule(_localctx, 254, PostgreSQLParser.RULE_exclusionwhereclause); try { this.enterOuterAlt(_localctx, 1); { this.state = 3493; this.match(PostgreSQLParser.KW_WHERE); this.state = 3494; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3495; this.a_expr(); this.state = 3496; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public key_actions(): Key_actionsContext { let _localctx: Key_actionsContext = new Key_actionsContext(this._ctx, this.state); this.enterRule(_localctx, 256, PostgreSQLParser.RULE_key_actions); try { this.state = 3506; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 234, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 3498; this.key_update(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 3499; this.key_delete(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 3500; this.key_update(); this.state = 3501; this.key_delete(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 3503; this.key_delete(); this.state = 3504; this.key_update(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public key_update(): Key_updateContext { let _localctx: Key_updateContext = new Key_updateContext(this._ctx, this.state); this.enterRule(_localctx, 258, PostgreSQLParser.RULE_key_update); try { this.enterOuterAlt(_localctx, 1); { this.state = 3508; this.match(PostgreSQLParser.KW_ON); this.state = 3509; this.match(PostgreSQLParser.KW_UPDATE); this.state = 3510; this.key_action(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public key_delete(): Key_deleteContext { let _localctx: Key_deleteContext = new Key_deleteContext(this._ctx, this.state); this.enterRule(_localctx, 260, PostgreSQLParser.RULE_key_delete); try { this.enterOuterAlt(_localctx, 1); { this.state = 3512; this.match(PostgreSQLParser.KW_ON); this.state = 3513; this.match(PostgreSQLParser.KW_DELETE); this.state = 3514; this.key_action(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public key_action(): Key_actionContext { let _localctx: Key_actionContext = new Key_actionContext(this._ctx, this.state); this.enterRule(_localctx, 262, PostgreSQLParser.RULE_key_action); let _la: number; try { this.state = 3525; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_NO: this.enterOuterAlt(_localctx, 1); { this.state = 3516; this.match(PostgreSQLParser.KW_NO); this.state = 3517; this.match(PostgreSQLParser.KW_ACTION); } break; case PostgreSQLParser.KW_RESTRICT: this.enterOuterAlt(_localctx, 2); { this.state = 3518; this.match(PostgreSQLParser.KW_RESTRICT); } break; case PostgreSQLParser.KW_CASCADE: this.enterOuterAlt(_localctx, 3); { this.state = 3519; this.match(PostgreSQLParser.KW_CASCADE); } break; case PostgreSQLParser.KW_SET: this.enterOuterAlt(_localctx, 4); { this.state = 3520; this.match(PostgreSQLParser.KW_SET); this.state = 3521; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_DEFAULT || _la === PostgreSQLParser.KW_NULL)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 3523; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 235, this._ctx) ) { case 1: { this.state = 3522; this.columnlist(); } break; } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public optinherit(): OptinheritContext { let _localctx: OptinheritContext = new OptinheritContext(this._ctx, this.state); this.enterRule(_localctx, 264, PostgreSQLParser.RULE_optinherit); try { this.enterOuterAlt(_localctx, 1); { this.state = 3527; this.match(PostgreSQLParser.KW_INHERITS); this.state = 3528; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3529; this.qualified_name_list(); this.state = 3530; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public optpartitionspec(): OptpartitionspecContext { let _localctx: OptpartitionspecContext = new OptpartitionspecContext(this._ctx, this.state); this.enterRule(_localctx, 266, PostgreSQLParser.RULE_optpartitionspec); try { this.enterOuterAlt(_localctx, 1); { this.state = 3532; this.partitionspec(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public partitionspec(): PartitionspecContext { let _localctx: PartitionspecContext = new PartitionspecContext(this._ctx, this.state); this.enterRule(_localctx, 268, PostgreSQLParser.RULE_partitionspec); try { this.enterOuterAlt(_localctx, 1); { this.state = 3534; this.match(PostgreSQLParser.KW_PARTITION); this.state = 3535; this.match(PostgreSQLParser.KW_BY); this.state = 3536; this.colid(); this.state = 3537; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3538; this.part_params(); this.state = 3539; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public part_params(): Part_paramsContext { let _localctx: Part_paramsContext = new Part_paramsContext(this._ctx, this.state); this.enterRule(_localctx, 270, PostgreSQLParser.RULE_part_params); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3541; this.part_elem(); this.state = 3546; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 3542; this.match(PostgreSQLParser.COMMA); this.state = 3543; this.part_elem(); } } this.state = 3548; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public part_elem(): Part_elemContext { let _localctx: Part_elemContext = new Part_elemContext(this._ctx, this.state); this.enterRule(_localctx, 272, PostgreSQLParser.RULE_part_elem); let _la: number; try { this.state = 3572; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 244, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 3549; this.column_name(); this.state = 3551; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 238, this._ctx) ) { case 1: { this.state = 3550; this.opt_collate(); } break; } this.state = 3554; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (PostgreSQLParser.KW_TABLE - 92)) | (1 << (PostgreSQLParser.KW_IS - 92)) | (1 << (PostgreSQLParser.KW_OUTER - 92)))) !== 0) || ((((_la - 124)) & ~0x1F) === 0 && ((1 << (_la - 124)) & ((1 << (PostgreSQLParser.KW_OVER - 124)) | (1 << (PostgreSQLParser.KW_ABORT - 124)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 124)) | (1 << (PostgreSQLParser.KW_ACCESS - 124)) | (1 << (PostgreSQLParser.KW_ACTION - 124)) | (1 << (PostgreSQLParser.KW_ADD - 124)) | (1 << (PostgreSQLParser.KW_ADMIN - 124)) | (1 << (PostgreSQLParser.KW_AFTER - 124)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 124)) | (1 << (PostgreSQLParser.KW_ALSO - 124)) | (1 << (PostgreSQLParser.KW_ALTER - 124)) | (1 << (PostgreSQLParser.KW_ALWAYS - 124)) | (1 << (PostgreSQLParser.KW_ASSERTION - 124)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 124)) | (1 << (PostgreSQLParser.KW_AT - 124)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 124)) | (1 << (PostgreSQLParser.KW_BACKWARD - 124)) | (1 << (PostgreSQLParser.KW_BEFORE - 124)) | (1 << (PostgreSQLParser.KW_BEGIN - 124)) | (1 << (PostgreSQLParser.KW_BY - 124)) | (1 << (PostgreSQLParser.KW_CACHE - 124)) | (1 << (PostgreSQLParser.KW_CALLED - 124)) | (1 << (PostgreSQLParser.KW_CASCADE - 124)) | (1 << (PostgreSQLParser.KW_CASCADED - 124)) | (1 << (PostgreSQLParser.KW_CATALOG - 124)) | (1 << (PostgreSQLParser.KW_CHAIN - 124)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 124)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 124)))) !== 0) || ((((_la - 156)) & ~0x1F) === 0 && ((1 << (_la - 156)) & ((1 << (PostgreSQLParser.KW_CLASS - 156)) | (1 << (PostgreSQLParser.KW_CLOSE - 156)) | (1 << (PostgreSQLParser.KW_CLUSTER - 156)) | (1 << (PostgreSQLParser.KW_COMMENT - 156)) | (1 << (PostgreSQLParser.KW_COMMENTS - 156)) | (1 << (PostgreSQLParser.KW_COMMIT - 156)) | (1 << (PostgreSQLParser.KW_COMMITTED - 156)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 156)) | (1 << (PostgreSQLParser.KW_CONNECTION - 156)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 156)) | (1 << (PostgreSQLParser.KW_CONTENT - 156)) | (1 << (PostgreSQLParser.KW_CONTINUE - 156)) | (1 << (PostgreSQLParser.KW_CONVERSION - 156)) | (1 << (PostgreSQLParser.KW_COPY - 156)) | (1 << (PostgreSQLParser.KW_COST - 156)) | (1 << (PostgreSQLParser.KW_CSV - 156)) | (1 << (PostgreSQLParser.KW_CURSOR - 156)) | (1 << (PostgreSQLParser.KW_CYCLE - 156)) | (1 << (PostgreSQLParser.KW_DATA - 156)) | (1 << (PostgreSQLParser.KW_DATABASE - 156)) | (1 << (PostgreSQLParser.KW_DAY - 156)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 156)) | (1 << (PostgreSQLParser.KW_DECLARE - 156)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 156)) | (1 << (PostgreSQLParser.KW_DEFERRED - 156)) | (1 << (PostgreSQLParser.KW_DEFINER - 156)) | (1 << (PostgreSQLParser.KW_DELETE - 156)) | (1 << (PostgreSQLParser.KW_DELIMITER - 156)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 156)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 156)) | (1 << (PostgreSQLParser.KW_DISABLE - 156)) | (1 << (PostgreSQLParser.KW_DISCARD - 156)))) !== 0) || ((((_la - 188)) & ~0x1F) === 0 && ((1 << (_la - 188)) & ((1 << (PostgreSQLParser.KW_DOCUMENT - 188)) | (1 << (PostgreSQLParser.KW_DOMAIN - 188)) | (1 << (PostgreSQLParser.KW_DOUBLE - 188)) | (1 << (PostgreSQLParser.KW_DROP - 188)) | (1 << (PostgreSQLParser.KW_EACH - 188)) | (1 << (PostgreSQLParser.KW_ENABLE - 188)) | (1 << (PostgreSQLParser.KW_ENCODING - 188)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 188)) | (1 << (PostgreSQLParser.KW_ENUM - 188)) | (1 << (PostgreSQLParser.KW_ESCAPE - 188)) | (1 << (PostgreSQLParser.KW_EVENT - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 188)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 188)) | (1 << (PostgreSQLParser.KW_EXECUTE - 188)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 188)) | (1 << (PostgreSQLParser.KW_EXTENSION - 188)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 188)) | (1 << (PostgreSQLParser.KW_FAMILY - 188)) | (1 << (PostgreSQLParser.KW_FIRST - 188)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 188)) | (1 << (PostgreSQLParser.KW_FORCE - 188)) | (1 << (PostgreSQLParser.KW_FORWARD - 188)) | (1 << (PostgreSQLParser.KW_FUNCTION - 188)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 188)) | (1 << (PostgreSQLParser.KW_GLOBAL - 188)) | (1 << (PostgreSQLParser.KW_GRANTED - 188)) | (1 << (PostgreSQLParser.KW_HANDLER - 188)) | (1 << (PostgreSQLParser.KW_HEADER - 188)) | (1 << (PostgreSQLParser.KW_HOLD - 188)) | (1 << (PostgreSQLParser.KW_HOUR - 188)) | (1 << (PostgreSQLParser.KW_IDENTITY - 188)))) !== 0) || ((((_la - 220)) & ~0x1F) === 0 && ((1 << (_la - 220)) & ((1 << (PostgreSQLParser.KW_IF - 220)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 220)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 220)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 220)) | (1 << (PostgreSQLParser.KW_INCLUDING - 220)) | (1 << (PostgreSQLParser.KW_INCREMENT - 220)) | (1 << (PostgreSQLParser.KW_INDEX - 220)) | (1 << (PostgreSQLParser.KW_INDEXES - 220)) | (1 << (PostgreSQLParser.KW_INHERIT - 220)) | (1 << (PostgreSQLParser.KW_INHERITS - 220)) | (1 << (PostgreSQLParser.KW_INLINE - 220)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 220)) | (1 << (PostgreSQLParser.KW_INSERT - 220)) | (1 << (PostgreSQLParser.KW_INSTEAD - 220)) | (1 << (PostgreSQLParser.KW_INVOKER - 220)) | (1 << (PostgreSQLParser.KW_ISOLATION - 220)) | (1 << (PostgreSQLParser.KW_KEY - 220)) | (1 << (PostgreSQLParser.KW_LABEL - 220)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 220)) | (1 << (PostgreSQLParser.KW_LARGE - 220)) | (1 << (PostgreSQLParser.KW_LAST - 220)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 220)) | (1 << (PostgreSQLParser.KW_LEVEL - 220)))) !== 0) || ((((_la - 252)) & ~0x1F) === 0 && ((1 << (_la - 252)) & ((1 << (PostgreSQLParser.KW_LISTEN - 252)) | (1 << (PostgreSQLParser.KW_LOAD - 252)) | (1 << (PostgreSQLParser.KW_LOCAL - 252)) | (1 << (PostgreSQLParser.KW_LOCATION - 252)) | (1 << (PostgreSQLParser.KW_LOCK - 252)) | (1 << (PostgreSQLParser.KW_MAPPING - 252)) | (1 << (PostgreSQLParser.KW_MATCH - 252)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 252)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 252)) | (1 << (PostgreSQLParser.KW_MINUTE - 252)) | (1 << (PostgreSQLParser.KW_MINVALUE - 252)) | (1 << (PostgreSQLParser.KW_MODE - 252)) | (1 << (PostgreSQLParser.KW_MONTH - 252)) | (1 << (PostgreSQLParser.KW_MOVE - 252)) | (1 << (PostgreSQLParser.KW_NAME - 252)) | (1 << (PostgreSQLParser.KW_NAMES - 252)) | (1 << (PostgreSQLParser.KW_NEXT - 252)) | (1 << (PostgreSQLParser.KW_NO - 252)) | (1 << (PostgreSQLParser.KW_NOTHING - 252)) | (1 << (PostgreSQLParser.KW_NOTIFY - 252)) | (1 << (PostgreSQLParser.KW_NOWAIT - 252)) | (1 << (PostgreSQLParser.KW_NULLS - 252)) | (1 << (PostgreSQLParser.KW_OBJECT - 252)) | (1 << (PostgreSQLParser.KW_OF - 252)) | (1 << (PostgreSQLParser.KW_OFF - 252)) | (1 << (PostgreSQLParser.KW_OIDS - 252)) | (1 << (PostgreSQLParser.KW_OPERATOR - 252)) | (1 << (PostgreSQLParser.KW_OPTION - 252)) | (1 << (PostgreSQLParser.KW_OPTIONS - 252)) | (1 << (PostgreSQLParser.KW_OWNED - 252)) | (1 << (PostgreSQLParser.KW_OWNER - 252)) | (1 << (PostgreSQLParser.KW_PARSER - 252)))) !== 0) || ((((_la - 284)) & ~0x1F) === 0 && ((1 << (_la - 284)) & ((1 << (PostgreSQLParser.KW_PARTIAL - 284)) | (1 << (PostgreSQLParser.KW_PARTITION - 284)) | (1 << (PostgreSQLParser.KW_PASSING - 284)) | (1 << (PostgreSQLParser.KW_PASSWORD - 284)) | (1 << (PostgreSQLParser.KW_PLANS - 284)) | (1 << (PostgreSQLParser.KW_PRECEDING - 284)) | (1 << (PostgreSQLParser.KW_PREPARE - 284)) | (1 << (PostgreSQLParser.KW_PREPARED - 284)) | (1 << (PostgreSQLParser.KW_PRESERVE - 284)) | (1 << (PostgreSQLParser.KW_PRIOR - 284)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 284)) | (1 << (PostgreSQLParser.KW_PROGRAM - 284)) | (1 << (PostgreSQLParser.KW_QUOTE - 284)) | (1 << (PostgreSQLParser.KW_RANGE - 284)) | (1 << (PostgreSQLParser.KW_READ - 284)) | (1 << (PostgreSQLParser.KW_REASSIGN - 284)) | (1 << (PostgreSQLParser.KW_RECHECK - 284)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 284)) | (1 << (PostgreSQLParser.KW_REF - 284)) | (1 << (PostgreSQLParser.KW_REFRESH - 284)) | (1 << (PostgreSQLParser.KW_REINDEX - 284)) | (1 << (PostgreSQLParser.KW_RELATIVE - 284)) | (1 << (PostgreSQLParser.KW_RELEASE - 284)) | (1 << (PostgreSQLParser.KW_RENAME - 284)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 284)) | (1 << (PostgreSQLParser.KW_REPLACE - 284)) | (1 << (PostgreSQLParser.KW_REPLICA - 284)) | (1 << (PostgreSQLParser.KW_RESET - 284)) | (1 << (PostgreSQLParser.KW_RESTART - 284)) | (1 << (PostgreSQLParser.KW_RESTRICT - 284)))) !== 0) || ((((_la - 316)) & ~0x1F) === 0 && ((1 << (_la - 316)) & ((1 << (PostgreSQLParser.KW_RETURNS - 316)) | (1 << (PostgreSQLParser.KW_REVOKE - 316)) | (1 << (PostgreSQLParser.KW_ROLE - 316)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 316)) | (1 << (PostgreSQLParser.KW_ROWS - 316)) | (1 << (PostgreSQLParser.KW_RULE - 316)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 316)) | (1 << (PostgreSQLParser.KW_SCHEMA - 316)) | (1 << (PostgreSQLParser.KW_SCROLL - 316)) | (1 << (PostgreSQLParser.KW_SEARCH - 316)) | (1 << (PostgreSQLParser.KW_SECOND - 316)) | (1 << (PostgreSQLParser.KW_SECURITY - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 316)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 316)) | (1 << (PostgreSQLParser.KW_SERVER - 316)) | (1 << (PostgreSQLParser.KW_SESSION - 316)) | (1 << (PostgreSQLParser.KW_SET - 316)) | (1 << (PostgreSQLParser.KW_SHARE - 316)) | (1 << (PostgreSQLParser.KW_SHOW - 316)) | (1 << (PostgreSQLParser.KW_SIMPLE - 316)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 316)) | (1 << (PostgreSQLParser.KW_STABLE - 316)) | (1 << (PostgreSQLParser.KW_STANDALONE - 316)) | (1 << (PostgreSQLParser.KW_START - 316)) | (1 << (PostgreSQLParser.KW_STATEMENT - 316)) | (1 << (PostgreSQLParser.KW_STATISTICS - 316)) | (1 << (PostgreSQLParser.KW_STDIN - 316)) | (1 << (PostgreSQLParser.KW_STDOUT - 316)) | (1 << (PostgreSQLParser.KW_STORAGE - 316)) | (1 << (PostgreSQLParser.KW_STRICT - 316)) | (1 << (PostgreSQLParser.KW_STRIP - 316)))) !== 0) || ((((_la - 348)) & ~0x1F) === 0 && ((1 << (_la - 348)) & ((1 << (PostgreSQLParser.KW_SYSID - 348)) | (1 << (PostgreSQLParser.KW_SYSTEM - 348)) | (1 << (PostgreSQLParser.KW_TABLES - 348)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 348)) | (1 << (PostgreSQLParser.KW_TEMP - 348)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 348)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 348)) | (1 << (PostgreSQLParser.KW_TEXT - 348)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 348)) | (1 << (PostgreSQLParser.KW_TRIGGER - 348)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 348)) | (1 << (PostgreSQLParser.KW_TRUSTED - 348)) | (1 << (PostgreSQLParser.KW_TYPE - 348)) | (1 << (PostgreSQLParser.KW_TYPES - 348)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 348)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 348)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 348)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 348)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 348)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 348)) | (1 << (PostgreSQLParser.KW_UNTIL - 348)) | (1 << (PostgreSQLParser.KW_UPDATE - 348)) | (1 << (PostgreSQLParser.KW_VACUUM - 348)) | (1 << (PostgreSQLParser.KW_VALID - 348)) | (1 << (PostgreSQLParser.KW_VALIDATE - 348)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 348)) | (1 << (PostgreSQLParser.KW_VARYING - 348)) | (1 << (PostgreSQLParser.KW_VERSION - 348)) | (1 << (PostgreSQLParser.KW_VIEW - 348)) | (1 << (PostgreSQLParser.KW_VOLATILE - 348)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 348)) | (1 << (PostgreSQLParser.KW_WITHOUT - 348)))) !== 0) || ((((_la - 380)) & ~0x1F) === 0 && ((1 << (_la - 380)) & ((1 << (PostgreSQLParser.KW_WORK - 380)) | (1 << (PostgreSQLParser.KW_WRAPPER - 380)) | (1 << (PostgreSQLParser.KW_WRITE - 380)) | (1 << (PostgreSQLParser.KW_XML - 380)) | (1 << (PostgreSQLParser.KW_YEAR - 380)) | (1 << (PostgreSQLParser.KW_YES - 380)) | (1 << (PostgreSQLParser.KW_ZONE - 380)) | (1 << (PostgreSQLParser.KW_BETWEEN - 380)) | (1 << (PostgreSQLParser.KW_BIGINT - 380)) | (1 << (PostgreSQLParser.KW_BIT - 380)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 380)) | (1 << (PostgreSQLParser.KW_CHAR - 380)) | (1 << (PostgreSQLParser.KW_CHARACTER - 380)) | (1 << (PostgreSQLParser.KW_COALESCE - 380)) | (1 << (PostgreSQLParser.KW_DEC - 380)) | (1 << (PostgreSQLParser.KW_DECIMAL - 380)) | (1 << (PostgreSQLParser.KW_EXISTS - 380)) | (1 << (PostgreSQLParser.KW_EXTRACT - 380)) | (1 << (PostgreSQLParser.KW_FLOAT - 380)) | (1 << (PostgreSQLParser.KW_GREATEST - 380)) | (1 << (PostgreSQLParser.KW_INOUT - 380)) | (1 << (PostgreSQLParser.KW_INT - 380)) | (1 << (PostgreSQLParser.KW_INTEGER - 380)) | (1 << (PostgreSQLParser.KW_INTERVAL - 380)) | (1 << (PostgreSQLParser.KW_LEAST - 380)) | (1 << (PostgreSQLParser.KW_NATIONAL - 380)) | (1 << (PostgreSQLParser.KW_NCHAR - 380)) | (1 << (PostgreSQLParser.KW_NONE - 380)) | (1 << (PostgreSQLParser.KW_NULLIF - 380)) | (1 << (PostgreSQLParser.KW_NUMERIC - 380)) | (1 << (PostgreSQLParser.KW_OVERLAY - 380)) | (1 << (PostgreSQLParser.KW_POSITION - 380)))) !== 0) || ((((_la - 412)) & ~0x1F) === 0 && ((1 << (_la - 412)) & ((1 << (PostgreSQLParser.KW_PRECISION - 412)) | (1 << (PostgreSQLParser.KW_REAL - 412)) | (1 << (PostgreSQLParser.KW_ROW - 412)) | (1 << (PostgreSQLParser.KW_SETOF - 412)) | (1 << (PostgreSQLParser.KW_SMALLINT - 412)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 412)) | (1 << (PostgreSQLParser.KW_TIME - 412)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 412)) | (1 << (PostgreSQLParser.KW_TREAT - 412)) | (1 << (PostgreSQLParser.KW_TRIM - 412)) | (1 << (PostgreSQLParser.KW_VALUES - 412)) | (1 << (PostgreSQLParser.KW_VARCHAR - 412)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 412)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 412)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 412)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 412)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 412)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 412)) | (1 << (PostgreSQLParser.KW_XMLPI - 412)) | (1 << (PostgreSQLParser.KW_XMLROOT - 412)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 412)) | (1 << (PostgreSQLParser.KW_CALL - 412)) | (1 << (PostgreSQLParser.KW_CURRENT - 412)) | (1 << (PostgreSQLParser.KW_ATTACH - 412)) | (1 << (PostgreSQLParser.KW_DETACH - 412)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 412)) | (1 << (PostgreSQLParser.KW_GENERATED - 412)) | (1 << (PostgreSQLParser.KW_LOGGED - 412)) | (1 << (PostgreSQLParser.KW_STORED - 412)) | (1 << (PostgreSQLParser.KW_INCLUDE - 412)) | (1 << (PostgreSQLParser.KW_ROUTINE - 412)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 412)))) !== 0) || ((((_la - 444)) & ~0x1F) === 0 && ((1 << (_la - 444)) & ((1 << (PostgreSQLParser.KW_IMPORT - 444)) | (1 << (PostgreSQLParser.KW_POLICY - 444)) | (1 << (PostgreSQLParser.KW_METHOD - 444)) | (1 << (PostgreSQLParser.KW_REFERENCING - 444)) | (1 << (PostgreSQLParser.KW_NEW - 444)) | (1 << (PostgreSQLParser.KW_OLD - 444)) | (1 << (PostgreSQLParser.KW_VALUE - 444)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 444)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 444)) | (1 << (PostgreSQLParser.KW_OUT - 444)) | (1 << (PostgreSQLParser.KW_ROUTINES - 444)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 444)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 444)) | (1 << (PostgreSQLParser.KW_INPUT - 444)) | (1 << (PostgreSQLParser.KW_SUPPORT - 444)) | (1 << (PostgreSQLParser.KW_PARALLEL - 444)) | (1 << (PostgreSQLParser.KW_SQL - 444)) | (1 << (PostgreSQLParser.KW_DEPENDS - 444)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 444)) | (1 << (PostgreSQLParser.KW_CONFLICT - 444)) | (1 << (PostgreSQLParser.KW_SKIP - 444)) | (1 << (PostgreSQLParser.KW_LOCKED - 444)) | (1 << (PostgreSQLParser.KW_TIES - 444)) | (1 << (PostgreSQLParser.KW_ROLLUP - 444)) | (1 << (PostgreSQLParser.KW_CUBE - 444)) | (1 << (PostgreSQLParser.KW_GROUPING - 444)) | (1 << (PostgreSQLParser.KW_SETS - 444)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 444)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 444)) | (1 << (PostgreSQLParser.KW_COLUMNS - 444)))) !== 0) || ((((_la - 476)) & ~0x1F) === 0 && ((1 << (_la - 476)) & ((1 << (PostgreSQLParser.KW_XMLNAMESPACES - 476)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 476)) | (1 << (PostgreSQLParser.KW_WITHIN - 476)) | (1 << (PostgreSQLParser.KW_FILTER - 476)) | (1 << (PostgreSQLParser.KW_GROUPS - 476)) | (1 << (PostgreSQLParser.KW_OTHERS - 476)) | (1 << (PostgreSQLParser.KW_NFC - 476)) | (1 << (PostgreSQLParser.KW_NFD - 476)) | (1 << (PostgreSQLParser.KW_NFKC - 476)) | (1 << (PostgreSQLParser.KW_NFKD - 476)) | (1 << (PostgreSQLParser.KW_UESCAPE - 476)) | (1 << (PostgreSQLParser.KW_VIEWS - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 476)) | (1 << (PostgreSQLParser.KW_DUMP - 476)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 476)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 476)) | (1 << (PostgreSQLParser.KW_ERROR - 476)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 476)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 476)) | (1 << (PostgreSQLParser.KW_ALIAS - 476)) | (1 << (PostgreSQLParser.KW_CONSTANT - 476)) | (1 << (PostgreSQLParser.KW_PERFORM - 476)) | (1 << (PostgreSQLParser.KW_GET - 476)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 476)) | (1 << (PostgreSQLParser.KW_STACKED - 476)) | (1 << (PostgreSQLParser.KW_ELSIF - 476)) | (1 << (PostgreSQLParser.KW_REVERSE - 476)) | (1 << (PostgreSQLParser.KW_SLICE - 476)) | (1 << (PostgreSQLParser.KW_EXIT - 476)))) !== 0) || ((((_la - 508)) & ~0x1F) === 0 && ((1 << (_la - 508)) & ((1 << (PostgreSQLParser.KW_RETURN - 508)) | (1 << (PostgreSQLParser.KW_QUERY - 508)) | (1 << (PostgreSQLParser.KW_RAISE - 508)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 508)) | (1 << (PostgreSQLParser.KW_DEBUG - 508)) | (1 << (PostgreSQLParser.KW_LOG - 508)) | (1 << (PostgreSQLParser.KW_INFO - 508)) | (1 << (PostgreSQLParser.KW_NOTICE - 508)) | (1 << (PostgreSQLParser.KW_WARNING - 508)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 508)) | (1 << (PostgreSQLParser.KW_ASSERT - 508)) | (1 << (PostgreSQLParser.KW_OPEN - 508)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 3553; this.opt_class(); } } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 3556; this.func_expr_windowless(); this.state = 3558; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 240, this._ctx) ) { case 1: { this.state = 3557; this.opt_collate(); } break; } this.state = 3561; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (PostgreSQLParser.KW_TABLE - 92)) | (1 << (PostgreSQLParser.KW_IS - 92)) | (1 << (PostgreSQLParser.KW_OUTER - 92)))) !== 0) || ((((_la - 124)) & ~0x1F) === 0 && ((1 << (_la - 124)) & ((1 << (PostgreSQLParser.KW_OVER - 124)) | (1 << (PostgreSQLParser.KW_ABORT - 124)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 124)) | (1 << (PostgreSQLParser.KW_ACCESS - 124)) | (1 << (PostgreSQLParser.KW_ACTION - 124)) | (1 << (PostgreSQLParser.KW_ADD - 124)) | (1 << (PostgreSQLParser.KW_ADMIN - 124)) | (1 << (PostgreSQLParser.KW_AFTER - 124)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 124)) | (1 << (PostgreSQLParser.KW_ALSO - 124)) | (1 << (PostgreSQLParser.KW_ALTER - 124)) | (1 << (PostgreSQLParser.KW_ALWAYS - 124)) | (1 << (PostgreSQLParser.KW_ASSERTION - 124)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 124)) | (1 << (PostgreSQLParser.KW_AT - 124)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 124)) | (1 << (PostgreSQLParser.KW_BACKWARD - 124)) | (1 << (PostgreSQLParser.KW_BEFORE - 124)) | (1 << (PostgreSQLParser.KW_BEGIN - 124)) | (1 << (PostgreSQLParser.KW_BY - 124)) | (1 << (PostgreSQLParser.KW_CACHE - 124)) | (1 << (PostgreSQLParser.KW_CALLED - 124)) | (1 << (PostgreSQLParser.KW_CASCADE - 124)) | (1 << (PostgreSQLParser.KW_CASCADED - 124)) | (1 << (PostgreSQLParser.KW_CATALOG - 124)) | (1 << (PostgreSQLParser.KW_CHAIN - 124)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 124)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 124)))) !== 0) || ((((_la - 156)) & ~0x1F) === 0 && ((1 << (_la - 156)) & ((1 << (PostgreSQLParser.KW_CLASS - 156)) | (1 << (PostgreSQLParser.KW_CLOSE - 156)) | (1 << (PostgreSQLParser.KW_CLUSTER - 156)) | (1 << (PostgreSQLParser.KW_COMMENT - 156)) | (1 << (PostgreSQLParser.KW_COMMENTS - 156)) | (1 << (PostgreSQLParser.KW_COMMIT - 156)) | (1 << (PostgreSQLParser.KW_COMMITTED - 156)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 156)) | (1 << (PostgreSQLParser.KW_CONNECTION - 156)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 156)) | (1 << (PostgreSQLParser.KW_CONTENT - 156)) | (1 << (PostgreSQLParser.KW_CONTINUE - 156)) | (1 << (PostgreSQLParser.KW_CONVERSION - 156)) | (1 << (PostgreSQLParser.KW_COPY - 156)) | (1 << (PostgreSQLParser.KW_COST - 156)) | (1 << (PostgreSQLParser.KW_CSV - 156)) | (1 << (PostgreSQLParser.KW_CURSOR - 156)) | (1 << (PostgreSQLParser.KW_CYCLE - 156)) | (1 << (PostgreSQLParser.KW_DATA - 156)) | (1 << (PostgreSQLParser.KW_DATABASE - 156)) | (1 << (PostgreSQLParser.KW_DAY - 156)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 156)) | (1 << (PostgreSQLParser.KW_DECLARE - 156)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 156)) | (1 << (PostgreSQLParser.KW_DEFERRED - 156)) | (1 << (PostgreSQLParser.KW_DEFINER - 156)) | (1 << (PostgreSQLParser.KW_DELETE - 156)) | (1 << (PostgreSQLParser.KW_DELIMITER - 156)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 156)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 156)) | (1 << (PostgreSQLParser.KW_DISABLE - 156)) | (1 << (PostgreSQLParser.KW_DISCARD - 156)))) !== 0) || ((((_la - 188)) & ~0x1F) === 0 && ((1 << (_la - 188)) & ((1 << (PostgreSQLParser.KW_DOCUMENT - 188)) | (1 << (PostgreSQLParser.KW_DOMAIN - 188)) | (1 << (PostgreSQLParser.KW_DOUBLE - 188)) | (1 << (PostgreSQLParser.KW_DROP - 188)) | (1 << (PostgreSQLParser.KW_EACH - 188)) | (1 << (PostgreSQLParser.KW_ENABLE - 188)) | (1 << (PostgreSQLParser.KW_ENCODING - 188)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 188)) | (1 << (PostgreSQLParser.KW_ENUM - 188)) | (1 << (PostgreSQLParser.KW_ESCAPE - 188)) | (1 << (PostgreSQLParser.KW_EVENT - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 188)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 188)) | (1 << (PostgreSQLParser.KW_EXECUTE - 188)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 188)) | (1 << (PostgreSQLParser.KW_EXTENSION - 188)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 188)) | (1 << (PostgreSQLParser.KW_FAMILY - 188)) | (1 << (PostgreSQLParser.KW_FIRST - 188)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 188)) | (1 << (PostgreSQLParser.KW_FORCE - 188)) | (1 << (PostgreSQLParser.KW_FORWARD - 188)) | (1 << (PostgreSQLParser.KW_FUNCTION - 188)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 188)) | (1 << (PostgreSQLParser.KW_GLOBAL - 188)) | (1 << (PostgreSQLParser.KW_GRANTED - 188)) | (1 << (PostgreSQLParser.KW_HANDLER - 188)) | (1 << (PostgreSQLParser.KW_HEADER - 188)) | (1 << (PostgreSQLParser.KW_HOLD - 188)) | (1 << (PostgreSQLParser.KW_HOUR - 188)) | (1 << (PostgreSQLParser.KW_IDENTITY - 188)))) !== 0) || ((((_la - 220)) & ~0x1F) === 0 && ((1 << (_la - 220)) & ((1 << (PostgreSQLParser.KW_IF - 220)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 220)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 220)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 220)) | (1 << (PostgreSQLParser.KW_INCLUDING - 220)) | (1 << (PostgreSQLParser.KW_INCREMENT - 220)) | (1 << (PostgreSQLParser.KW_INDEX - 220)) | (1 << (PostgreSQLParser.KW_INDEXES - 220)) | (1 << (PostgreSQLParser.KW_INHERIT - 220)) | (1 << (PostgreSQLParser.KW_INHERITS - 220)) | (1 << (PostgreSQLParser.KW_INLINE - 220)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 220)) | (1 << (PostgreSQLParser.KW_INSERT - 220)) | (1 << (PostgreSQLParser.KW_INSTEAD - 220)) | (1 << (PostgreSQLParser.KW_INVOKER - 220)) | (1 << (PostgreSQLParser.KW_ISOLATION - 220)) | (1 << (PostgreSQLParser.KW_KEY - 220)) | (1 << (PostgreSQLParser.KW_LABEL - 220)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 220)) | (1 << (PostgreSQLParser.KW_LARGE - 220)) | (1 << (PostgreSQLParser.KW_LAST - 220)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 220)) | (1 << (PostgreSQLParser.KW_LEVEL - 220)))) !== 0) || ((((_la - 252)) & ~0x1F) === 0 && ((1 << (_la - 252)) & ((1 << (PostgreSQLParser.KW_LISTEN - 252)) | (1 << (PostgreSQLParser.KW_LOAD - 252)) | (1 << (PostgreSQLParser.KW_LOCAL - 252)) | (1 << (PostgreSQLParser.KW_LOCATION - 252)) | (1 << (PostgreSQLParser.KW_LOCK - 252)) | (1 << (PostgreSQLParser.KW_MAPPING - 252)) | (1 << (PostgreSQLParser.KW_MATCH - 252)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 252)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 252)) | (1 << (PostgreSQLParser.KW_MINUTE - 252)) | (1 << (PostgreSQLParser.KW_MINVALUE - 252)) | (1 << (PostgreSQLParser.KW_MODE - 252)) | (1 << (PostgreSQLParser.KW_MONTH - 252)) | (1 << (PostgreSQLParser.KW_MOVE - 252)) | (1 << (PostgreSQLParser.KW_NAME - 252)) | (1 << (PostgreSQLParser.KW_NAMES - 252)) | (1 << (PostgreSQLParser.KW_NEXT - 252)) | (1 << (PostgreSQLParser.KW_NO - 252)) | (1 << (PostgreSQLParser.KW_NOTHING - 252)) | (1 << (PostgreSQLParser.KW_NOTIFY - 252)) | (1 << (PostgreSQLParser.KW_NOWAIT - 252)) | (1 << (PostgreSQLParser.KW_NULLS - 252)) | (1 << (PostgreSQLParser.KW_OBJECT - 252)) | (1 << (PostgreSQLParser.KW_OF - 252)) | (1 << (PostgreSQLParser.KW_OFF - 252)) | (1 << (PostgreSQLParser.KW_OIDS - 252)) | (1 << (PostgreSQLParser.KW_OPERATOR - 252)) | (1 << (PostgreSQLParser.KW_OPTION - 252)) | (1 << (PostgreSQLParser.KW_OPTIONS - 252)) | (1 << (PostgreSQLParser.KW_OWNED - 252)) | (1 << (PostgreSQLParser.KW_OWNER - 252)) | (1 << (PostgreSQLParser.KW_PARSER - 252)))) !== 0) || ((((_la - 284)) & ~0x1F) === 0 && ((1 << (_la - 284)) & ((1 << (PostgreSQLParser.KW_PARTIAL - 284)) | (1 << (PostgreSQLParser.KW_PARTITION - 284)) | (1 << (PostgreSQLParser.KW_PASSING - 284)) | (1 << (PostgreSQLParser.KW_PASSWORD - 284)) | (1 << (PostgreSQLParser.KW_PLANS - 284)) | (1 << (PostgreSQLParser.KW_PRECEDING - 284)) | (1 << (PostgreSQLParser.KW_PREPARE - 284)) | (1 << (PostgreSQLParser.KW_PREPARED - 284)) | (1 << (PostgreSQLParser.KW_PRESERVE - 284)) | (1 << (PostgreSQLParser.KW_PRIOR - 284)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 284)) | (1 << (PostgreSQLParser.KW_PROGRAM - 284)) | (1 << (PostgreSQLParser.KW_QUOTE - 284)) | (1 << (PostgreSQLParser.KW_RANGE - 284)) | (1 << (PostgreSQLParser.KW_READ - 284)) | (1 << (PostgreSQLParser.KW_REASSIGN - 284)) | (1 << (PostgreSQLParser.KW_RECHECK - 284)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 284)) | (1 << (PostgreSQLParser.KW_REF - 284)) | (1 << (PostgreSQLParser.KW_REFRESH - 284)) | (1 << (PostgreSQLParser.KW_REINDEX - 284)) | (1 << (PostgreSQLParser.KW_RELATIVE - 284)) | (1 << (PostgreSQLParser.KW_RELEASE - 284)) | (1 << (PostgreSQLParser.KW_RENAME - 284)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 284)) | (1 << (PostgreSQLParser.KW_REPLACE - 284)) | (1 << (PostgreSQLParser.KW_REPLICA - 284)) | (1 << (PostgreSQLParser.KW_RESET - 284)) | (1 << (PostgreSQLParser.KW_RESTART - 284)) | (1 << (PostgreSQLParser.KW_RESTRICT - 284)))) !== 0) || ((((_la - 316)) & ~0x1F) === 0 && ((1 << (_la - 316)) & ((1 << (PostgreSQLParser.KW_RETURNS - 316)) | (1 << (PostgreSQLParser.KW_REVOKE - 316)) | (1 << (PostgreSQLParser.KW_ROLE - 316)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 316)) | (1 << (PostgreSQLParser.KW_ROWS - 316)) | (1 << (PostgreSQLParser.KW_RULE - 316)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 316)) | (1 << (PostgreSQLParser.KW_SCHEMA - 316)) | (1 << (PostgreSQLParser.KW_SCROLL - 316)) | (1 << (PostgreSQLParser.KW_SEARCH - 316)) | (1 << (PostgreSQLParser.KW_SECOND - 316)) | (1 << (PostgreSQLParser.KW_SECURITY - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 316)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 316)) | (1 << (PostgreSQLParser.KW_SERVER - 316)) | (1 << (PostgreSQLParser.KW_SESSION - 316)) | (1 << (PostgreSQLParser.KW_SET - 316)) | (1 << (PostgreSQLParser.KW_SHARE - 316)) | (1 << (PostgreSQLParser.KW_SHOW - 316)) | (1 << (PostgreSQLParser.KW_SIMPLE - 316)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 316)) | (1 << (PostgreSQLParser.KW_STABLE - 316)) | (1 << (PostgreSQLParser.KW_STANDALONE - 316)) | (1 << (PostgreSQLParser.KW_START - 316)) | (1 << (PostgreSQLParser.KW_STATEMENT - 316)) | (1 << (PostgreSQLParser.KW_STATISTICS - 316)) | (1 << (PostgreSQLParser.KW_STDIN - 316)) | (1 << (PostgreSQLParser.KW_STDOUT - 316)) | (1 << (PostgreSQLParser.KW_STORAGE - 316)) | (1 << (PostgreSQLParser.KW_STRICT - 316)) | (1 << (PostgreSQLParser.KW_STRIP - 316)))) !== 0) || ((((_la - 348)) & ~0x1F) === 0 && ((1 << (_la - 348)) & ((1 << (PostgreSQLParser.KW_SYSID - 348)) | (1 << (PostgreSQLParser.KW_SYSTEM - 348)) | (1 << (PostgreSQLParser.KW_TABLES - 348)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 348)) | (1 << (PostgreSQLParser.KW_TEMP - 348)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 348)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 348)) | (1 << (PostgreSQLParser.KW_TEXT - 348)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 348)) | (1 << (PostgreSQLParser.KW_TRIGGER - 348)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 348)) | (1 << (PostgreSQLParser.KW_TRUSTED - 348)) | (1 << (PostgreSQLParser.KW_TYPE - 348)) | (1 << (PostgreSQLParser.KW_TYPES - 348)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 348)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 348)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 348)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 348)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 348)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 348)) | (1 << (PostgreSQLParser.KW_UNTIL - 348)) | (1 << (PostgreSQLParser.KW_UPDATE - 348)) | (1 << (PostgreSQLParser.KW_VACUUM - 348)) | (1 << (PostgreSQLParser.KW_VALID - 348)) | (1 << (PostgreSQLParser.KW_VALIDATE - 348)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 348)) | (1 << (PostgreSQLParser.KW_VARYING - 348)) | (1 << (PostgreSQLParser.KW_VERSION - 348)) | (1 << (PostgreSQLParser.KW_VIEW - 348)) | (1 << (PostgreSQLParser.KW_VOLATILE - 348)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 348)) | (1 << (PostgreSQLParser.KW_WITHOUT - 348)))) !== 0) || ((((_la - 380)) & ~0x1F) === 0 && ((1 << (_la - 380)) & ((1 << (PostgreSQLParser.KW_WORK - 380)) | (1 << (PostgreSQLParser.KW_WRAPPER - 380)) | (1 << (PostgreSQLParser.KW_WRITE - 380)) | (1 << (PostgreSQLParser.KW_XML - 380)) | (1 << (PostgreSQLParser.KW_YEAR - 380)) | (1 << (PostgreSQLParser.KW_YES - 380)) | (1 << (PostgreSQLParser.KW_ZONE - 380)) | (1 << (PostgreSQLParser.KW_BETWEEN - 380)) | (1 << (PostgreSQLParser.KW_BIGINT - 380)) | (1 << (PostgreSQLParser.KW_BIT - 380)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 380)) | (1 << (PostgreSQLParser.KW_CHAR - 380)) | (1 << (PostgreSQLParser.KW_CHARACTER - 380)) | (1 << (PostgreSQLParser.KW_COALESCE - 380)) | (1 << (PostgreSQLParser.KW_DEC - 380)) | (1 << (PostgreSQLParser.KW_DECIMAL - 380)) | (1 << (PostgreSQLParser.KW_EXISTS - 380)) | (1 << (PostgreSQLParser.KW_EXTRACT - 380)) | (1 << (PostgreSQLParser.KW_FLOAT - 380)) | (1 << (PostgreSQLParser.KW_GREATEST - 380)) | (1 << (PostgreSQLParser.KW_INOUT - 380)) | (1 << (PostgreSQLParser.KW_INT - 380)) | (1 << (PostgreSQLParser.KW_INTEGER - 380)) | (1 << (PostgreSQLParser.KW_INTERVAL - 380)) | (1 << (PostgreSQLParser.KW_LEAST - 380)) | (1 << (PostgreSQLParser.KW_NATIONAL - 380)) | (1 << (PostgreSQLParser.KW_NCHAR - 380)) | (1 << (PostgreSQLParser.KW_NONE - 380)) | (1 << (PostgreSQLParser.KW_NULLIF - 380)) | (1 << (PostgreSQLParser.KW_NUMERIC - 380)) | (1 << (PostgreSQLParser.KW_OVERLAY - 380)) | (1 << (PostgreSQLParser.KW_POSITION - 380)))) !== 0) || ((((_la - 412)) & ~0x1F) === 0 && ((1 << (_la - 412)) & ((1 << (PostgreSQLParser.KW_PRECISION - 412)) | (1 << (PostgreSQLParser.KW_REAL - 412)) | (1 << (PostgreSQLParser.KW_ROW - 412)) | (1 << (PostgreSQLParser.KW_SETOF - 412)) | (1 << (PostgreSQLParser.KW_SMALLINT - 412)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 412)) | (1 << (PostgreSQLParser.KW_TIME - 412)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 412)) | (1 << (PostgreSQLParser.KW_TREAT - 412)) | (1 << (PostgreSQLParser.KW_TRIM - 412)) | (1 << (PostgreSQLParser.KW_VALUES - 412)) | (1 << (PostgreSQLParser.KW_VARCHAR - 412)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 412)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 412)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 412)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 412)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 412)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 412)) | (1 << (PostgreSQLParser.KW_XMLPI - 412)) | (1 << (PostgreSQLParser.KW_XMLROOT - 412)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 412)) | (1 << (PostgreSQLParser.KW_CALL - 412)) | (1 << (PostgreSQLParser.KW_CURRENT - 412)) | (1 << (PostgreSQLParser.KW_ATTACH - 412)) | (1 << (PostgreSQLParser.KW_DETACH - 412)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 412)) | (1 << (PostgreSQLParser.KW_GENERATED - 412)) | (1 << (PostgreSQLParser.KW_LOGGED - 412)) | (1 << (PostgreSQLParser.KW_STORED - 412)) | (1 << (PostgreSQLParser.KW_INCLUDE - 412)) | (1 << (PostgreSQLParser.KW_ROUTINE - 412)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 412)))) !== 0) || ((((_la - 444)) & ~0x1F) === 0 && ((1 << (_la - 444)) & ((1 << (PostgreSQLParser.KW_IMPORT - 444)) | (1 << (PostgreSQLParser.KW_POLICY - 444)) | (1 << (PostgreSQLParser.KW_METHOD - 444)) | (1 << (PostgreSQLParser.KW_REFERENCING - 444)) | (1 << (PostgreSQLParser.KW_NEW - 444)) | (1 << (PostgreSQLParser.KW_OLD - 444)) | (1 << (PostgreSQLParser.KW_VALUE - 444)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 444)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 444)) | (1 << (PostgreSQLParser.KW_OUT - 444)) | (1 << (PostgreSQLParser.KW_ROUTINES - 444)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 444)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 444)) | (1 << (PostgreSQLParser.KW_INPUT - 444)) | (1 << (PostgreSQLParser.KW_SUPPORT - 444)) | (1 << (PostgreSQLParser.KW_PARALLEL - 444)) | (1 << (PostgreSQLParser.KW_SQL - 444)) | (1 << (PostgreSQLParser.KW_DEPENDS - 444)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 444)) | (1 << (PostgreSQLParser.KW_CONFLICT - 444)) | (1 << (PostgreSQLParser.KW_SKIP - 444)) | (1 << (PostgreSQLParser.KW_LOCKED - 444)) | (1 << (PostgreSQLParser.KW_TIES - 444)) | (1 << (PostgreSQLParser.KW_ROLLUP - 444)) | (1 << (PostgreSQLParser.KW_CUBE - 444)) | (1 << (PostgreSQLParser.KW_GROUPING - 444)) | (1 << (PostgreSQLParser.KW_SETS - 444)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 444)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 444)) | (1 << (PostgreSQLParser.KW_COLUMNS - 444)))) !== 0) || ((((_la - 476)) & ~0x1F) === 0 && ((1 << (_la - 476)) & ((1 << (PostgreSQLParser.KW_XMLNAMESPACES - 476)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 476)) | (1 << (PostgreSQLParser.KW_WITHIN - 476)) | (1 << (PostgreSQLParser.KW_FILTER - 476)) | (1 << (PostgreSQLParser.KW_GROUPS - 476)) | (1 << (PostgreSQLParser.KW_OTHERS - 476)) | (1 << (PostgreSQLParser.KW_NFC - 476)) | (1 << (PostgreSQLParser.KW_NFD - 476)) | (1 << (PostgreSQLParser.KW_NFKC - 476)) | (1 << (PostgreSQLParser.KW_NFKD - 476)) | (1 << (PostgreSQLParser.KW_UESCAPE - 476)) | (1 << (PostgreSQLParser.KW_VIEWS - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 476)) | (1 << (PostgreSQLParser.KW_DUMP - 476)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 476)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 476)) | (1 << (PostgreSQLParser.KW_ERROR - 476)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 476)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 476)) | (1 << (PostgreSQLParser.KW_ALIAS - 476)) | (1 << (PostgreSQLParser.KW_CONSTANT - 476)) | (1 << (PostgreSQLParser.KW_PERFORM - 476)) | (1 << (PostgreSQLParser.KW_GET - 476)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 476)) | (1 << (PostgreSQLParser.KW_STACKED - 476)) | (1 << (PostgreSQLParser.KW_ELSIF - 476)) | (1 << (PostgreSQLParser.KW_REVERSE - 476)) | (1 << (PostgreSQLParser.KW_SLICE - 476)) | (1 << (PostgreSQLParser.KW_EXIT - 476)))) !== 0) || ((((_la - 508)) & ~0x1F) === 0 && ((1 << (_la - 508)) & ((1 << (PostgreSQLParser.KW_RETURN - 508)) | (1 << (PostgreSQLParser.KW_QUERY - 508)) | (1 << (PostgreSQLParser.KW_RAISE - 508)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 508)) | (1 << (PostgreSQLParser.KW_DEBUG - 508)) | (1 << (PostgreSQLParser.KW_LOG - 508)) | (1 << (PostgreSQLParser.KW_INFO - 508)) | (1 << (PostgreSQLParser.KW_NOTICE - 508)) | (1 << (PostgreSQLParser.KW_WARNING - 508)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 508)) | (1 << (PostgreSQLParser.KW_ASSERT - 508)) | (1 << (PostgreSQLParser.KW_OPEN - 508)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 3560; this.opt_class(); } } } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 3563; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3564; this.a_expr(); this.state = 3565; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 3567; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 242, this._ctx) ) { case 1: { this.state = 3566; this.opt_collate(); } break; } this.state = 3570; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (PostgreSQLParser.KW_TABLE - 92)) | (1 << (PostgreSQLParser.KW_IS - 92)) | (1 << (PostgreSQLParser.KW_OUTER - 92)))) !== 0) || ((((_la - 124)) & ~0x1F) === 0 && ((1 << (_la - 124)) & ((1 << (PostgreSQLParser.KW_OVER - 124)) | (1 << (PostgreSQLParser.KW_ABORT - 124)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 124)) | (1 << (PostgreSQLParser.KW_ACCESS - 124)) | (1 << (PostgreSQLParser.KW_ACTION - 124)) | (1 << (PostgreSQLParser.KW_ADD - 124)) | (1 << (PostgreSQLParser.KW_ADMIN - 124)) | (1 << (PostgreSQLParser.KW_AFTER - 124)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 124)) | (1 << (PostgreSQLParser.KW_ALSO - 124)) | (1 << (PostgreSQLParser.KW_ALTER - 124)) | (1 << (PostgreSQLParser.KW_ALWAYS - 124)) | (1 << (PostgreSQLParser.KW_ASSERTION - 124)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 124)) | (1 << (PostgreSQLParser.KW_AT - 124)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 124)) | (1 << (PostgreSQLParser.KW_BACKWARD - 124)) | (1 << (PostgreSQLParser.KW_BEFORE - 124)) | (1 << (PostgreSQLParser.KW_BEGIN - 124)) | (1 << (PostgreSQLParser.KW_BY - 124)) | (1 << (PostgreSQLParser.KW_CACHE - 124)) | (1 << (PostgreSQLParser.KW_CALLED - 124)) | (1 << (PostgreSQLParser.KW_CASCADE - 124)) | (1 << (PostgreSQLParser.KW_CASCADED - 124)) | (1 << (PostgreSQLParser.KW_CATALOG - 124)) | (1 << (PostgreSQLParser.KW_CHAIN - 124)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 124)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 124)))) !== 0) || ((((_la - 156)) & ~0x1F) === 0 && ((1 << (_la - 156)) & ((1 << (PostgreSQLParser.KW_CLASS - 156)) | (1 << (PostgreSQLParser.KW_CLOSE - 156)) | (1 << (PostgreSQLParser.KW_CLUSTER - 156)) | (1 << (PostgreSQLParser.KW_COMMENT - 156)) | (1 << (PostgreSQLParser.KW_COMMENTS - 156)) | (1 << (PostgreSQLParser.KW_COMMIT - 156)) | (1 << (PostgreSQLParser.KW_COMMITTED - 156)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 156)) | (1 << (PostgreSQLParser.KW_CONNECTION - 156)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 156)) | (1 << (PostgreSQLParser.KW_CONTENT - 156)) | (1 << (PostgreSQLParser.KW_CONTINUE - 156)) | (1 << (PostgreSQLParser.KW_CONVERSION - 156)) | (1 << (PostgreSQLParser.KW_COPY - 156)) | (1 << (PostgreSQLParser.KW_COST - 156)) | (1 << (PostgreSQLParser.KW_CSV - 156)) | (1 << (PostgreSQLParser.KW_CURSOR - 156)) | (1 << (PostgreSQLParser.KW_CYCLE - 156)) | (1 << (PostgreSQLParser.KW_DATA - 156)) | (1 << (PostgreSQLParser.KW_DATABASE - 156)) | (1 << (PostgreSQLParser.KW_DAY - 156)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 156)) | (1 << (PostgreSQLParser.KW_DECLARE - 156)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 156)) | (1 << (PostgreSQLParser.KW_DEFERRED - 156)) | (1 << (PostgreSQLParser.KW_DEFINER - 156)) | (1 << (PostgreSQLParser.KW_DELETE - 156)) | (1 << (PostgreSQLParser.KW_DELIMITER - 156)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 156)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 156)) | (1 << (PostgreSQLParser.KW_DISABLE - 156)) | (1 << (PostgreSQLParser.KW_DISCARD - 156)))) !== 0) || ((((_la - 188)) & ~0x1F) === 0 && ((1 << (_la - 188)) & ((1 << (PostgreSQLParser.KW_DOCUMENT - 188)) | (1 << (PostgreSQLParser.KW_DOMAIN - 188)) | (1 << (PostgreSQLParser.KW_DOUBLE - 188)) | (1 << (PostgreSQLParser.KW_DROP - 188)) | (1 << (PostgreSQLParser.KW_EACH - 188)) | (1 << (PostgreSQLParser.KW_ENABLE - 188)) | (1 << (PostgreSQLParser.KW_ENCODING - 188)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 188)) | (1 << (PostgreSQLParser.KW_ENUM - 188)) | (1 << (PostgreSQLParser.KW_ESCAPE - 188)) | (1 << (PostgreSQLParser.KW_EVENT - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 188)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 188)) | (1 << (PostgreSQLParser.KW_EXECUTE - 188)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 188)) | (1 << (PostgreSQLParser.KW_EXTENSION - 188)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 188)) | (1 << (PostgreSQLParser.KW_FAMILY - 188)) | (1 << (PostgreSQLParser.KW_FIRST - 188)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 188)) | (1 << (PostgreSQLParser.KW_FORCE - 188)) | (1 << (PostgreSQLParser.KW_FORWARD - 188)) | (1 << (PostgreSQLParser.KW_FUNCTION - 188)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 188)) | (1 << (PostgreSQLParser.KW_GLOBAL - 188)) | (1 << (PostgreSQLParser.KW_GRANTED - 188)) | (1 << (PostgreSQLParser.KW_HANDLER - 188)) | (1 << (PostgreSQLParser.KW_HEADER - 188)) | (1 << (PostgreSQLParser.KW_HOLD - 188)) | (1 << (PostgreSQLParser.KW_HOUR - 188)) | (1 << (PostgreSQLParser.KW_IDENTITY - 188)))) !== 0) || ((((_la - 220)) & ~0x1F) === 0 && ((1 << (_la - 220)) & ((1 << (PostgreSQLParser.KW_IF - 220)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 220)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 220)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 220)) | (1 << (PostgreSQLParser.KW_INCLUDING - 220)) | (1 << (PostgreSQLParser.KW_INCREMENT - 220)) | (1 << (PostgreSQLParser.KW_INDEX - 220)) | (1 << (PostgreSQLParser.KW_INDEXES - 220)) | (1 << (PostgreSQLParser.KW_INHERIT - 220)) | (1 << (PostgreSQLParser.KW_INHERITS - 220)) | (1 << (PostgreSQLParser.KW_INLINE - 220)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 220)) | (1 << (PostgreSQLParser.KW_INSERT - 220)) | (1 << (PostgreSQLParser.KW_INSTEAD - 220)) | (1 << (PostgreSQLParser.KW_INVOKER - 220)) | (1 << (PostgreSQLParser.KW_ISOLATION - 220)) | (1 << (PostgreSQLParser.KW_KEY - 220)) | (1 << (PostgreSQLParser.KW_LABEL - 220)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 220)) | (1 << (PostgreSQLParser.KW_LARGE - 220)) | (1 << (PostgreSQLParser.KW_LAST - 220)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 220)) | (1 << (PostgreSQLParser.KW_LEVEL - 220)))) !== 0) || ((((_la - 252)) & ~0x1F) === 0 && ((1 << (_la - 252)) & ((1 << (PostgreSQLParser.KW_LISTEN - 252)) | (1 << (PostgreSQLParser.KW_LOAD - 252)) | (1 << (PostgreSQLParser.KW_LOCAL - 252)) | (1 << (PostgreSQLParser.KW_LOCATION - 252)) | (1 << (PostgreSQLParser.KW_LOCK - 252)) | (1 << (PostgreSQLParser.KW_MAPPING - 252)) | (1 << (PostgreSQLParser.KW_MATCH - 252)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 252)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 252)) | (1 << (PostgreSQLParser.KW_MINUTE - 252)) | (1 << (PostgreSQLParser.KW_MINVALUE - 252)) | (1 << (PostgreSQLParser.KW_MODE - 252)) | (1 << (PostgreSQLParser.KW_MONTH - 252)) | (1 << (PostgreSQLParser.KW_MOVE - 252)) | (1 << (PostgreSQLParser.KW_NAME - 252)) | (1 << (PostgreSQLParser.KW_NAMES - 252)) | (1 << (PostgreSQLParser.KW_NEXT - 252)) | (1 << (PostgreSQLParser.KW_NO - 252)) | (1 << (PostgreSQLParser.KW_NOTHING - 252)) | (1 << (PostgreSQLParser.KW_NOTIFY - 252)) | (1 << (PostgreSQLParser.KW_NOWAIT - 252)) | (1 << (PostgreSQLParser.KW_NULLS - 252)) | (1 << (PostgreSQLParser.KW_OBJECT - 252)) | (1 << (PostgreSQLParser.KW_OF - 252)) | (1 << (PostgreSQLParser.KW_OFF - 252)) | (1 << (PostgreSQLParser.KW_OIDS - 252)) | (1 << (PostgreSQLParser.KW_OPERATOR - 252)) | (1 << (PostgreSQLParser.KW_OPTION - 252)) | (1 << (PostgreSQLParser.KW_OPTIONS - 252)) | (1 << (PostgreSQLParser.KW_OWNED - 252)) | (1 << (PostgreSQLParser.KW_OWNER - 252)) | (1 << (PostgreSQLParser.KW_PARSER - 252)))) !== 0) || ((((_la - 284)) & ~0x1F) === 0 && ((1 << (_la - 284)) & ((1 << (PostgreSQLParser.KW_PARTIAL - 284)) | (1 << (PostgreSQLParser.KW_PARTITION - 284)) | (1 << (PostgreSQLParser.KW_PASSING - 284)) | (1 << (PostgreSQLParser.KW_PASSWORD - 284)) | (1 << (PostgreSQLParser.KW_PLANS - 284)) | (1 << (PostgreSQLParser.KW_PRECEDING - 284)) | (1 << (PostgreSQLParser.KW_PREPARE - 284)) | (1 << (PostgreSQLParser.KW_PREPARED - 284)) | (1 << (PostgreSQLParser.KW_PRESERVE - 284)) | (1 << (PostgreSQLParser.KW_PRIOR - 284)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 284)) | (1 << (PostgreSQLParser.KW_PROGRAM - 284)) | (1 << (PostgreSQLParser.KW_QUOTE - 284)) | (1 << (PostgreSQLParser.KW_RANGE - 284)) | (1 << (PostgreSQLParser.KW_READ - 284)) | (1 << (PostgreSQLParser.KW_REASSIGN - 284)) | (1 << (PostgreSQLParser.KW_RECHECK - 284)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 284)) | (1 << (PostgreSQLParser.KW_REF - 284)) | (1 << (PostgreSQLParser.KW_REFRESH - 284)) | (1 << (PostgreSQLParser.KW_REINDEX - 284)) | (1 << (PostgreSQLParser.KW_RELATIVE - 284)) | (1 << (PostgreSQLParser.KW_RELEASE - 284)) | (1 << (PostgreSQLParser.KW_RENAME - 284)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 284)) | (1 << (PostgreSQLParser.KW_REPLACE - 284)) | (1 << (PostgreSQLParser.KW_REPLICA - 284)) | (1 << (PostgreSQLParser.KW_RESET - 284)) | (1 << (PostgreSQLParser.KW_RESTART - 284)) | (1 << (PostgreSQLParser.KW_RESTRICT - 284)))) !== 0) || ((((_la - 316)) & ~0x1F) === 0 && ((1 << (_la - 316)) & ((1 << (PostgreSQLParser.KW_RETURNS - 316)) | (1 << (PostgreSQLParser.KW_REVOKE - 316)) | (1 << (PostgreSQLParser.KW_ROLE - 316)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 316)) | (1 << (PostgreSQLParser.KW_ROWS - 316)) | (1 << (PostgreSQLParser.KW_RULE - 316)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 316)) | (1 << (PostgreSQLParser.KW_SCHEMA - 316)) | (1 << (PostgreSQLParser.KW_SCROLL - 316)) | (1 << (PostgreSQLParser.KW_SEARCH - 316)) | (1 << (PostgreSQLParser.KW_SECOND - 316)) | (1 << (PostgreSQLParser.KW_SECURITY - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 316)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 316)) | (1 << (PostgreSQLParser.KW_SERVER - 316)) | (1 << (PostgreSQLParser.KW_SESSION - 316)) | (1 << (PostgreSQLParser.KW_SET - 316)) | (1 << (PostgreSQLParser.KW_SHARE - 316)) | (1 << (PostgreSQLParser.KW_SHOW - 316)) | (1 << (PostgreSQLParser.KW_SIMPLE - 316)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 316)) | (1 << (PostgreSQLParser.KW_STABLE - 316)) | (1 << (PostgreSQLParser.KW_STANDALONE - 316)) | (1 << (PostgreSQLParser.KW_START - 316)) | (1 << (PostgreSQLParser.KW_STATEMENT - 316)) | (1 << (PostgreSQLParser.KW_STATISTICS - 316)) | (1 << (PostgreSQLParser.KW_STDIN - 316)) | (1 << (PostgreSQLParser.KW_STDOUT - 316)) | (1 << (PostgreSQLParser.KW_STORAGE - 316)) | (1 << (PostgreSQLParser.KW_STRICT - 316)) | (1 << (PostgreSQLParser.KW_STRIP - 316)))) !== 0) || ((((_la - 348)) & ~0x1F) === 0 && ((1 << (_la - 348)) & ((1 << (PostgreSQLParser.KW_SYSID - 348)) | (1 << (PostgreSQLParser.KW_SYSTEM - 348)) | (1 << (PostgreSQLParser.KW_TABLES - 348)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 348)) | (1 << (PostgreSQLParser.KW_TEMP - 348)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 348)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 348)) | (1 << (PostgreSQLParser.KW_TEXT - 348)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 348)) | (1 << (PostgreSQLParser.KW_TRIGGER - 348)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 348)) | (1 << (PostgreSQLParser.KW_TRUSTED - 348)) | (1 << (PostgreSQLParser.KW_TYPE - 348)) | (1 << (PostgreSQLParser.KW_TYPES - 348)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 348)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 348)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 348)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 348)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 348)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 348)) | (1 << (PostgreSQLParser.KW_UNTIL - 348)) | (1 << (PostgreSQLParser.KW_UPDATE - 348)) | (1 << (PostgreSQLParser.KW_VACUUM - 348)) | (1 << (PostgreSQLParser.KW_VALID - 348)) | (1 << (PostgreSQLParser.KW_VALIDATE - 348)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 348)) | (1 << (PostgreSQLParser.KW_VARYING - 348)) | (1 << (PostgreSQLParser.KW_VERSION - 348)) | (1 << (PostgreSQLParser.KW_VIEW - 348)) | (1 << (PostgreSQLParser.KW_VOLATILE - 348)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 348)) | (1 << (PostgreSQLParser.KW_WITHOUT - 348)))) !== 0) || ((((_la - 380)) & ~0x1F) === 0 && ((1 << (_la - 380)) & ((1 << (PostgreSQLParser.KW_WORK - 380)) | (1 << (PostgreSQLParser.KW_WRAPPER - 380)) | (1 << (PostgreSQLParser.KW_WRITE - 380)) | (1 << (PostgreSQLParser.KW_XML - 380)) | (1 << (PostgreSQLParser.KW_YEAR - 380)) | (1 << (PostgreSQLParser.KW_YES - 380)) | (1 << (PostgreSQLParser.KW_ZONE - 380)) | (1 << (PostgreSQLParser.KW_BETWEEN - 380)) | (1 << (PostgreSQLParser.KW_BIGINT - 380)) | (1 << (PostgreSQLParser.KW_BIT - 380)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 380)) | (1 << (PostgreSQLParser.KW_CHAR - 380)) | (1 << (PostgreSQLParser.KW_CHARACTER - 380)) | (1 << (PostgreSQLParser.KW_COALESCE - 380)) | (1 << (PostgreSQLParser.KW_DEC - 380)) | (1 << (PostgreSQLParser.KW_DECIMAL - 380)) | (1 << (PostgreSQLParser.KW_EXISTS - 380)) | (1 << (PostgreSQLParser.KW_EXTRACT - 380)) | (1 << (PostgreSQLParser.KW_FLOAT - 380)) | (1 << (PostgreSQLParser.KW_GREATEST - 380)) | (1 << (PostgreSQLParser.KW_INOUT - 380)) | (1 << (PostgreSQLParser.KW_INT - 380)) | (1 << (PostgreSQLParser.KW_INTEGER - 380)) | (1 << (PostgreSQLParser.KW_INTERVAL - 380)) | (1 << (PostgreSQLParser.KW_LEAST - 380)) | (1 << (PostgreSQLParser.KW_NATIONAL - 380)) | (1 << (PostgreSQLParser.KW_NCHAR - 380)) | (1 << (PostgreSQLParser.KW_NONE - 380)) | (1 << (PostgreSQLParser.KW_NULLIF - 380)) | (1 << (PostgreSQLParser.KW_NUMERIC - 380)) | (1 << (PostgreSQLParser.KW_OVERLAY - 380)) | (1 << (PostgreSQLParser.KW_POSITION - 380)))) !== 0) || ((((_la - 412)) & ~0x1F) === 0 && ((1 << (_la - 412)) & ((1 << (PostgreSQLParser.KW_PRECISION - 412)) | (1 << (PostgreSQLParser.KW_REAL - 412)) | (1 << (PostgreSQLParser.KW_ROW - 412)) | (1 << (PostgreSQLParser.KW_SETOF - 412)) | (1 << (PostgreSQLParser.KW_SMALLINT - 412)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 412)) | (1 << (PostgreSQLParser.KW_TIME - 412)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 412)) | (1 << (PostgreSQLParser.KW_TREAT - 412)) | (1 << (PostgreSQLParser.KW_TRIM - 412)) | (1 << (PostgreSQLParser.KW_VALUES - 412)) | (1 << (PostgreSQLParser.KW_VARCHAR - 412)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 412)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 412)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 412)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 412)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 412)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 412)) | (1 << (PostgreSQLParser.KW_XMLPI - 412)) | (1 << (PostgreSQLParser.KW_XMLROOT - 412)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 412)) | (1 << (PostgreSQLParser.KW_CALL - 412)) | (1 << (PostgreSQLParser.KW_CURRENT - 412)) | (1 << (PostgreSQLParser.KW_ATTACH - 412)) | (1 << (PostgreSQLParser.KW_DETACH - 412)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 412)) | (1 << (PostgreSQLParser.KW_GENERATED - 412)) | (1 << (PostgreSQLParser.KW_LOGGED - 412)) | (1 << (PostgreSQLParser.KW_STORED - 412)) | (1 << (PostgreSQLParser.KW_INCLUDE - 412)) | (1 << (PostgreSQLParser.KW_ROUTINE - 412)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 412)))) !== 0) || ((((_la - 444)) & ~0x1F) === 0 && ((1 << (_la - 444)) & ((1 << (PostgreSQLParser.KW_IMPORT - 444)) | (1 << (PostgreSQLParser.KW_POLICY - 444)) | (1 << (PostgreSQLParser.KW_METHOD - 444)) | (1 << (PostgreSQLParser.KW_REFERENCING - 444)) | (1 << (PostgreSQLParser.KW_NEW - 444)) | (1 << (PostgreSQLParser.KW_OLD - 444)) | (1 << (PostgreSQLParser.KW_VALUE - 444)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 444)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 444)) | (1 << (PostgreSQLParser.KW_OUT - 444)) | (1 << (PostgreSQLParser.KW_ROUTINES - 444)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 444)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 444)) | (1 << (PostgreSQLParser.KW_INPUT - 444)) | (1 << (PostgreSQLParser.KW_SUPPORT - 444)) | (1 << (PostgreSQLParser.KW_PARALLEL - 444)) | (1 << (PostgreSQLParser.KW_SQL - 444)) | (1 << (PostgreSQLParser.KW_DEPENDS - 444)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 444)) | (1 << (PostgreSQLParser.KW_CONFLICT - 444)) | (1 << (PostgreSQLParser.KW_SKIP - 444)) | (1 << (PostgreSQLParser.KW_LOCKED - 444)) | (1 << (PostgreSQLParser.KW_TIES - 444)) | (1 << (PostgreSQLParser.KW_ROLLUP - 444)) | (1 << (PostgreSQLParser.KW_CUBE - 444)) | (1 << (PostgreSQLParser.KW_GROUPING - 444)) | (1 << (PostgreSQLParser.KW_SETS - 444)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 444)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 444)) | (1 << (PostgreSQLParser.KW_COLUMNS - 444)))) !== 0) || ((((_la - 476)) & ~0x1F) === 0 && ((1 << (_la - 476)) & ((1 << (PostgreSQLParser.KW_XMLNAMESPACES - 476)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 476)) | (1 << (PostgreSQLParser.KW_WITHIN - 476)) | (1 << (PostgreSQLParser.KW_FILTER - 476)) | (1 << (PostgreSQLParser.KW_GROUPS - 476)) | (1 << (PostgreSQLParser.KW_OTHERS - 476)) | (1 << (PostgreSQLParser.KW_NFC - 476)) | (1 << (PostgreSQLParser.KW_NFD - 476)) | (1 << (PostgreSQLParser.KW_NFKC - 476)) | (1 << (PostgreSQLParser.KW_NFKD - 476)) | (1 << (PostgreSQLParser.KW_UESCAPE - 476)) | (1 << (PostgreSQLParser.KW_VIEWS - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 476)) | (1 << (PostgreSQLParser.KW_DUMP - 476)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 476)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 476)) | (1 << (PostgreSQLParser.KW_ERROR - 476)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 476)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 476)) | (1 << (PostgreSQLParser.KW_ALIAS - 476)) | (1 << (PostgreSQLParser.KW_CONSTANT - 476)) | (1 << (PostgreSQLParser.KW_PERFORM - 476)) | (1 << (PostgreSQLParser.KW_GET - 476)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 476)) | (1 << (PostgreSQLParser.KW_STACKED - 476)) | (1 << (PostgreSQLParser.KW_ELSIF - 476)) | (1 << (PostgreSQLParser.KW_REVERSE - 476)) | (1 << (PostgreSQLParser.KW_SLICE - 476)) | (1 << (PostgreSQLParser.KW_EXIT - 476)))) !== 0) || ((((_la - 508)) & ~0x1F) === 0 && ((1 << (_la - 508)) & ((1 << (PostgreSQLParser.KW_RETURN - 508)) | (1 << (PostgreSQLParser.KW_QUERY - 508)) | (1 << (PostgreSQLParser.KW_RAISE - 508)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 508)) | (1 << (PostgreSQLParser.KW_DEBUG - 508)) | (1 << (PostgreSQLParser.KW_LOG - 508)) | (1 << (PostgreSQLParser.KW_INFO - 508)) | (1 << (PostgreSQLParser.KW_NOTICE - 508)) | (1 << (PostgreSQLParser.KW_WARNING - 508)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 508)) | (1 << (PostgreSQLParser.KW_ASSERT - 508)) | (1 << (PostgreSQLParser.KW_OPEN - 508)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 3569; this.opt_class(); } } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public table_access_method_clause(): Table_access_method_clauseContext { let _localctx: Table_access_method_clauseContext = new Table_access_method_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 274, PostgreSQLParser.RULE_table_access_method_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 3574; this.match(PostgreSQLParser.KW_USING); this.state = 3575; this.name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public optwith(): OptwithContext { let _localctx: OptwithContext = new OptwithContext(this._ctx, this.state); this.enterRule(_localctx, 276, PostgreSQLParser.RULE_optwith); try { this.state = 3583; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 245, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 3577; this.match(PostgreSQLParser.KW_WITH); this.state = 3578; this.reloptions(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 3579; this.match(PostgreSQLParser.KW_WITHOUT); this.state = 3580; this.match(PostgreSQLParser.KW_OIDS); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 3581; this.match(PostgreSQLParser.KW_WITH); this.state = 3582; this.match(PostgreSQLParser.KW_OIDS); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public oncommitoption(): OncommitoptionContext { let _localctx: OncommitoptionContext = new OncommitoptionContext(this._ctx, this.state); this.enterRule(_localctx, 278, PostgreSQLParser.RULE_oncommitoption); try { this.enterOuterAlt(_localctx, 1); { this.state = 3585; this.match(PostgreSQLParser.KW_ON); this.state = 3586; this.match(PostgreSQLParser.KW_COMMIT); this.state = 3592; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_DROP: { this.state = 3587; this.match(PostgreSQLParser.KW_DROP); } break; case PostgreSQLParser.KW_DELETE: { this.state = 3588; this.match(PostgreSQLParser.KW_DELETE); this.state = 3589; this.match(PostgreSQLParser.KW_ROWS); } break; case PostgreSQLParser.KW_PRESERVE: { this.state = 3590; this.match(PostgreSQLParser.KW_PRESERVE); this.state = 3591; this.match(PostgreSQLParser.KW_ROWS); } break; default: throw new NoViableAltException(this); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opttablespace(): OpttablespaceContext { let _localctx: OpttablespaceContext = new OpttablespaceContext(this._ctx, this.state); this.enterRule(_localctx, 280, PostgreSQLParser.RULE_opttablespace); try { this.enterOuterAlt(_localctx, 1); { this.state = 3594; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 3595; this.tablespace_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public index_paramenters_create(): Index_paramenters_createContext { let _localctx: Index_paramenters_createContext = new Index_paramenters_createContext(this._ctx, this.state); this.enterRule(_localctx, 282, PostgreSQLParser.RULE_index_paramenters_create); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3598; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 247, this._ctx) ) { case 1: { this.state = 3597; this.opt_include(); } break; } this.state = 3601; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 248, this._ctx) ) { case 1: { this.state = 3600; this.with_clause(); } break; } this.state = 3604; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 3603; this.optconstablespace(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public optconstablespace(): OptconstablespaceContext { let _localctx: OptconstablespaceContext = new OptconstablespaceContext(this._ctx, this.state); this.enterRule(_localctx, 284, PostgreSQLParser.RULE_optconstablespace); try { this.enterOuterAlt(_localctx, 1); { this.state = 3606; this.match(PostgreSQLParser.KW_USING); this.state = 3607; this.match(PostgreSQLParser.KW_INDEX); this.state = 3608; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 3609; this.tablespace_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public existingindex(): ExistingindexContext { let _localctx: ExistingindexContext = new ExistingindexContext(this._ctx, this.state); this.enterRule(_localctx, 286, PostgreSQLParser.RULE_existingindex); try { this.enterOuterAlt(_localctx, 1); { this.state = 3611; this.match(PostgreSQLParser.KW_USING); this.state = 3612; this.match(PostgreSQLParser.KW_INDEX); this.state = 3613; this.name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createstatsstmt(): CreatestatsstmtContext { let _localctx: CreatestatsstmtContext = new CreatestatsstmtContext(this._ctx, this.state); this.enterRule(_localctx, 288, PostgreSQLParser.RULE_createstatsstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3615; this.match(PostgreSQLParser.KW_CREATE); this.state = 3616; this.match(PostgreSQLParser.KW_STATISTICS); this.state = 3621; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (PostgreSQLParser.KW_TABLE - 92)) | (1 << (PostgreSQLParser.KW_IS - 92)) | (1 << (PostgreSQLParser.KW_OUTER - 92)))) !== 0) || ((((_la - 124)) & ~0x1F) === 0 && ((1 << (_la - 124)) & ((1 << (PostgreSQLParser.KW_OVER - 124)) | (1 << (PostgreSQLParser.KW_ABORT - 124)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 124)) | (1 << (PostgreSQLParser.KW_ACCESS - 124)) | (1 << (PostgreSQLParser.KW_ACTION - 124)) | (1 << (PostgreSQLParser.KW_ADD - 124)) | (1 << (PostgreSQLParser.KW_ADMIN - 124)) | (1 << (PostgreSQLParser.KW_AFTER - 124)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 124)) | (1 << (PostgreSQLParser.KW_ALSO - 124)) | (1 << (PostgreSQLParser.KW_ALTER - 124)) | (1 << (PostgreSQLParser.KW_ALWAYS - 124)) | (1 << (PostgreSQLParser.KW_ASSERTION - 124)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 124)) | (1 << (PostgreSQLParser.KW_AT - 124)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 124)) | (1 << (PostgreSQLParser.KW_BACKWARD - 124)) | (1 << (PostgreSQLParser.KW_BEFORE - 124)) | (1 << (PostgreSQLParser.KW_BEGIN - 124)) | (1 << (PostgreSQLParser.KW_BY - 124)) | (1 << (PostgreSQLParser.KW_CACHE - 124)) | (1 << (PostgreSQLParser.KW_CALLED - 124)) | (1 << (PostgreSQLParser.KW_CASCADE - 124)) | (1 << (PostgreSQLParser.KW_CASCADED - 124)) | (1 << (PostgreSQLParser.KW_CATALOG - 124)) | (1 << (PostgreSQLParser.KW_CHAIN - 124)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 124)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 124)))) !== 0) || ((((_la - 156)) & ~0x1F) === 0 && ((1 << (_la - 156)) & ((1 << (PostgreSQLParser.KW_CLASS - 156)) | (1 << (PostgreSQLParser.KW_CLOSE - 156)) | (1 << (PostgreSQLParser.KW_CLUSTER - 156)) | (1 << (PostgreSQLParser.KW_COMMENT - 156)) | (1 << (PostgreSQLParser.KW_COMMENTS - 156)) | (1 << (PostgreSQLParser.KW_COMMIT - 156)) | (1 << (PostgreSQLParser.KW_COMMITTED - 156)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 156)) | (1 << (PostgreSQLParser.KW_CONNECTION - 156)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 156)) | (1 << (PostgreSQLParser.KW_CONTENT - 156)) | (1 << (PostgreSQLParser.KW_CONTINUE - 156)) | (1 << (PostgreSQLParser.KW_CONVERSION - 156)) | (1 << (PostgreSQLParser.KW_COPY - 156)) | (1 << (PostgreSQLParser.KW_COST - 156)) | (1 << (PostgreSQLParser.KW_CSV - 156)) | (1 << (PostgreSQLParser.KW_CURSOR - 156)) | (1 << (PostgreSQLParser.KW_CYCLE - 156)) | (1 << (PostgreSQLParser.KW_DATA - 156)) | (1 << (PostgreSQLParser.KW_DATABASE - 156)) | (1 << (PostgreSQLParser.KW_DAY - 156)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 156)) | (1 << (PostgreSQLParser.KW_DECLARE - 156)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 156)) | (1 << (PostgreSQLParser.KW_DEFERRED - 156)) | (1 << (PostgreSQLParser.KW_DEFINER - 156)) | (1 << (PostgreSQLParser.KW_DELETE - 156)) | (1 << (PostgreSQLParser.KW_DELIMITER - 156)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 156)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 156)) | (1 << (PostgreSQLParser.KW_DISABLE - 156)) | (1 << (PostgreSQLParser.KW_DISCARD - 156)))) !== 0) || ((((_la - 188)) & ~0x1F) === 0 && ((1 << (_la - 188)) & ((1 << (PostgreSQLParser.KW_DOCUMENT - 188)) | (1 << (PostgreSQLParser.KW_DOMAIN - 188)) | (1 << (PostgreSQLParser.KW_DOUBLE - 188)) | (1 << (PostgreSQLParser.KW_DROP - 188)) | (1 << (PostgreSQLParser.KW_EACH - 188)) | (1 << (PostgreSQLParser.KW_ENABLE - 188)) | (1 << (PostgreSQLParser.KW_ENCODING - 188)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 188)) | (1 << (PostgreSQLParser.KW_ENUM - 188)) | (1 << (PostgreSQLParser.KW_ESCAPE - 188)) | (1 << (PostgreSQLParser.KW_EVENT - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 188)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 188)) | (1 << (PostgreSQLParser.KW_EXECUTE - 188)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 188)) | (1 << (PostgreSQLParser.KW_EXTENSION - 188)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 188)) | (1 << (PostgreSQLParser.KW_FAMILY - 188)) | (1 << (PostgreSQLParser.KW_FIRST - 188)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 188)) | (1 << (PostgreSQLParser.KW_FORCE - 188)) | (1 << (PostgreSQLParser.KW_FORWARD - 188)) | (1 << (PostgreSQLParser.KW_FUNCTION - 188)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 188)) | (1 << (PostgreSQLParser.KW_GLOBAL - 188)) | (1 << (PostgreSQLParser.KW_GRANTED - 188)) | (1 << (PostgreSQLParser.KW_HANDLER - 188)) | (1 << (PostgreSQLParser.KW_HEADER - 188)) | (1 << (PostgreSQLParser.KW_HOLD - 188)) | (1 << (PostgreSQLParser.KW_HOUR - 188)) | (1 << (PostgreSQLParser.KW_IDENTITY - 188)))) !== 0) || ((((_la - 220)) & ~0x1F) === 0 && ((1 << (_la - 220)) & ((1 << (PostgreSQLParser.KW_IF - 220)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 220)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 220)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 220)) | (1 << (PostgreSQLParser.KW_INCLUDING - 220)) | (1 << (PostgreSQLParser.KW_INCREMENT - 220)) | (1 << (PostgreSQLParser.KW_INDEX - 220)) | (1 << (PostgreSQLParser.KW_INDEXES - 220)) | (1 << (PostgreSQLParser.KW_INHERIT - 220)) | (1 << (PostgreSQLParser.KW_INHERITS - 220)) | (1 << (PostgreSQLParser.KW_INLINE - 220)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 220)) | (1 << (PostgreSQLParser.KW_INSERT - 220)) | (1 << (PostgreSQLParser.KW_INSTEAD - 220)) | (1 << (PostgreSQLParser.KW_INVOKER - 220)) | (1 << (PostgreSQLParser.KW_ISOLATION - 220)) | (1 << (PostgreSQLParser.KW_KEY - 220)) | (1 << (PostgreSQLParser.KW_LABEL - 220)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 220)) | (1 << (PostgreSQLParser.KW_LARGE - 220)) | (1 << (PostgreSQLParser.KW_LAST - 220)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 220)) | (1 << (PostgreSQLParser.KW_LEVEL - 220)))) !== 0) || ((((_la - 252)) & ~0x1F) === 0 && ((1 << (_la - 252)) & ((1 << (PostgreSQLParser.KW_LISTEN - 252)) | (1 << (PostgreSQLParser.KW_LOAD - 252)) | (1 << (PostgreSQLParser.KW_LOCAL - 252)) | (1 << (PostgreSQLParser.KW_LOCATION - 252)) | (1 << (PostgreSQLParser.KW_LOCK - 252)) | (1 << (PostgreSQLParser.KW_MAPPING - 252)) | (1 << (PostgreSQLParser.KW_MATCH - 252)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 252)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 252)) | (1 << (PostgreSQLParser.KW_MINUTE - 252)) | (1 << (PostgreSQLParser.KW_MINVALUE - 252)) | (1 << (PostgreSQLParser.KW_MODE - 252)) | (1 << (PostgreSQLParser.KW_MONTH - 252)) | (1 << (PostgreSQLParser.KW_MOVE - 252)) | (1 << (PostgreSQLParser.KW_NAME - 252)) | (1 << (PostgreSQLParser.KW_NAMES - 252)) | (1 << (PostgreSQLParser.KW_NEXT - 252)) | (1 << (PostgreSQLParser.KW_NO - 252)) | (1 << (PostgreSQLParser.KW_NOTHING - 252)) | (1 << (PostgreSQLParser.KW_NOTIFY - 252)) | (1 << (PostgreSQLParser.KW_NOWAIT - 252)) | (1 << (PostgreSQLParser.KW_NULLS - 252)) | (1 << (PostgreSQLParser.KW_OBJECT - 252)) | (1 << (PostgreSQLParser.KW_OF - 252)) | (1 << (PostgreSQLParser.KW_OFF - 252)) | (1 << (PostgreSQLParser.KW_OIDS - 252)) | (1 << (PostgreSQLParser.KW_OPERATOR - 252)) | (1 << (PostgreSQLParser.KW_OPTION - 252)) | (1 << (PostgreSQLParser.KW_OPTIONS - 252)) | (1 << (PostgreSQLParser.KW_OWNED - 252)) | (1 << (PostgreSQLParser.KW_OWNER - 252)) | (1 << (PostgreSQLParser.KW_PARSER - 252)))) !== 0) || ((((_la - 284)) & ~0x1F) === 0 && ((1 << (_la - 284)) & ((1 << (PostgreSQLParser.KW_PARTIAL - 284)) | (1 << (PostgreSQLParser.KW_PARTITION - 284)) | (1 << (PostgreSQLParser.KW_PASSING - 284)) | (1 << (PostgreSQLParser.KW_PASSWORD - 284)) | (1 << (PostgreSQLParser.KW_PLANS - 284)) | (1 << (PostgreSQLParser.KW_PRECEDING - 284)) | (1 << (PostgreSQLParser.KW_PREPARE - 284)) | (1 << (PostgreSQLParser.KW_PREPARED - 284)) | (1 << (PostgreSQLParser.KW_PRESERVE - 284)) | (1 << (PostgreSQLParser.KW_PRIOR - 284)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 284)) | (1 << (PostgreSQLParser.KW_PROGRAM - 284)) | (1 << (PostgreSQLParser.KW_QUOTE - 284)) | (1 << (PostgreSQLParser.KW_RANGE - 284)) | (1 << (PostgreSQLParser.KW_READ - 284)) | (1 << (PostgreSQLParser.KW_REASSIGN - 284)) | (1 << (PostgreSQLParser.KW_RECHECK - 284)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 284)) | (1 << (PostgreSQLParser.KW_REF - 284)) | (1 << (PostgreSQLParser.KW_REFRESH - 284)) | (1 << (PostgreSQLParser.KW_REINDEX - 284)) | (1 << (PostgreSQLParser.KW_RELATIVE - 284)) | (1 << (PostgreSQLParser.KW_RELEASE - 284)) | (1 << (PostgreSQLParser.KW_RENAME - 284)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 284)) | (1 << (PostgreSQLParser.KW_REPLACE - 284)) | (1 << (PostgreSQLParser.KW_REPLICA - 284)) | (1 << (PostgreSQLParser.KW_RESET - 284)) | (1 << (PostgreSQLParser.KW_RESTART - 284)) | (1 << (PostgreSQLParser.KW_RESTRICT - 284)))) !== 0) || ((((_la - 316)) & ~0x1F) === 0 && ((1 << (_la - 316)) & ((1 << (PostgreSQLParser.KW_RETURNS - 316)) | (1 << (PostgreSQLParser.KW_REVOKE - 316)) | (1 << (PostgreSQLParser.KW_ROLE - 316)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 316)) | (1 << (PostgreSQLParser.KW_ROWS - 316)) | (1 << (PostgreSQLParser.KW_RULE - 316)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 316)) | (1 << (PostgreSQLParser.KW_SCHEMA - 316)) | (1 << (PostgreSQLParser.KW_SCROLL - 316)) | (1 << (PostgreSQLParser.KW_SEARCH - 316)) | (1 << (PostgreSQLParser.KW_SECOND - 316)) | (1 << (PostgreSQLParser.KW_SECURITY - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 316)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 316)) | (1 << (PostgreSQLParser.KW_SERVER - 316)) | (1 << (PostgreSQLParser.KW_SESSION - 316)) | (1 << (PostgreSQLParser.KW_SET - 316)) | (1 << (PostgreSQLParser.KW_SHARE - 316)) | (1 << (PostgreSQLParser.KW_SHOW - 316)) | (1 << (PostgreSQLParser.KW_SIMPLE - 316)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 316)) | (1 << (PostgreSQLParser.KW_STABLE - 316)) | (1 << (PostgreSQLParser.KW_STANDALONE - 316)) | (1 << (PostgreSQLParser.KW_START - 316)) | (1 << (PostgreSQLParser.KW_STATEMENT - 316)) | (1 << (PostgreSQLParser.KW_STATISTICS - 316)) | (1 << (PostgreSQLParser.KW_STDIN - 316)) | (1 << (PostgreSQLParser.KW_STDOUT - 316)) | (1 << (PostgreSQLParser.KW_STORAGE - 316)) | (1 << (PostgreSQLParser.KW_STRICT - 316)) | (1 << (PostgreSQLParser.KW_STRIP - 316)))) !== 0) || ((((_la - 348)) & ~0x1F) === 0 && ((1 << (_la - 348)) & ((1 << (PostgreSQLParser.KW_SYSID - 348)) | (1 << (PostgreSQLParser.KW_SYSTEM - 348)) | (1 << (PostgreSQLParser.KW_TABLES - 348)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 348)) | (1 << (PostgreSQLParser.KW_TEMP - 348)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 348)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 348)) | (1 << (PostgreSQLParser.KW_TEXT - 348)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 348)) | (1 << (PostgreSQLParser.KW_TRIGGER - 348)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 348)) | (1 << (PostgreSQLParser.KW_TRUSTED - 348)) | (1 << (PostgreSQLParser.KW_TYPE - 348)) | (1 << (PostgreSQLParser.KW_TYPES - 348)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 348)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 348)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 348)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 348)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 348)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 348)) | (1 << (PostgreSQLParser.KW_UNTIL - 348)) | (1 << (PostgreSQLParser.KW_UPDATE - 348)) | (1 << (PostgreSQLParser.KW_VACUUM - 348)) | (1 << (PostgreSQLParser.KW_VALID - 348)) | (1 << (PostgreSQLParser.KW_VALIDATE - 348)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 348)) | (1 << (PostgreSQLParser.KW_VARYING - 348)) | (1 << (PostgreSQLParser.KW_VERSION - 348)) | (1 << (PostgreSQLParser.KW_VIEW - 348)) | (1 << (PostgreSQLParser.KW_VOLATILE - 348)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 348)) | (1 << (PostgreSQLParser.KW_WITHOUT - 348)))) !== 0) || ((((_la - 380)) & ~0x1F) === 0 && ((1 << (_la - 380)) & ((1 << (PostgreSQLParser.KW_WORK - 380)) | (1 << (PostgreSQLParser.KW_WRAPPER - 380)) | (1 << (PostgreSQLParser.KW_WRITE - 380)) | (1 << (PostgreSQLParser.KW_XML - 380)) | (1 << (PostgreSQLParser.KW_YEAR - 380)) | (1 << (PostgreSQLParser.KW_YES - 380)) | (1 << (PostgreSQLParser.KW_ZONE - 380)) | (1 << (PostgreSQLParser.KW_BETWEEN - 380)) | (1 << (PostgreSQLParser.KW_BIGINT - 380)) | (1 << (PostgreSQLParser.KW_BIT - 380)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 380)) | (1 << (PostgreSQLParser.KW_CHAR - 380)) | (1 << (PostgreSQLParser.KW_CHARACTER - 380)) | (1 << (PostgreSQLParser.KW_COALESCE - 380)) | (1 << (PostgreSQLParser.KW_DEC - 380)) | (1 << (PostgreSQLParser.KW_DECIMAL - 380)) | (1 << (PostgreSQLParser.KW_EXISTS - 380)) | (1 << (PostgreSQLParser.KW_EXTRACT - 380)) | (1 << (PostgreSQLParser.KW_FLOAT - 380)) | (1 << (PostgreSQLParser.KW_GREATEST - 380)) | (1 << (PostgreSQLParser.KW_INOUT - 380)) | (1 << (PostgreSQLParser.KW_INT - 380)) | (1 << (PostgreSQLParser.KW_INTEGER - 380)) | (1 << (PostgreSQLParser.KW_INTERVAL - 380)) | (1 << (PostgreSQLParser.KW_LEAST - 380)) | (1 << (PostgreSQLParser.KW_NATIONAL - 380)) | (1 << (PostgreSQLParser.KW_NCHAR - 380)) | (1 << (PostgreSQLParser.KW_NONE - 380)) | (1 << (PostgreSQLParser.KW_NULLIF - 380)) | (1 << (PostgreSQLParser.KW_NUMERIC - 380)) | (1 << (PostgreSQLParser.KW_OVERLAY - 380)) | (1 << (PostgreSQLParser.KW_POSITION - 380)))) !== 0) || ((((_la - 412)) & ~0x1F) === 0 && ((1 << (_la - 412)) & ((1 << (PostgreSQLParser.KW_PRECISION - 412)) | (1 << (PostgreSQLParser.KW_REAL - 412)) | (1 << (PostgreSQLParser.KW_ROW - 412)) | (1 << (PostgreSQLParser.KW_SETOF - 412)) | (1 << (PostgreSQLParser.KW_SMALLINT - 412)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 412)) | (1 << (PostgreSQLParser.KW_TIME - 412)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 412)) | (1 << (PostgreSQLParser.KW_TREAT - 412)) | (1 << (PostgreSQLParser.KW_TRIM - 412)) | (1 << (PostgreSQLParser.KW_VALUES - 412)) | (1 << (PostgreSQLParser.KW_VARCHAR - 412)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 412)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 412)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 412)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 412)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 412)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 412)) | (1 << (PostgreSQLParser.KW_XMLPI - 412)) | (1 << (PostgreSQLParser.KW_XMLROOT - 412)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 412)) | (1 << (PostgreSQLParser.KW_CALL - 412)) | (1 << (PostgreSQLParser.KW_CURRENT - 412)) | (1 << (PostgreSQLParser.KW_ATTACH - 412)) | (1 << (PostgreSQLParser.KW_DETACH - 412)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 412)) | (1 << (PostgreSQLParser.KW_GENERATED - 412)) | (1 << (PostgreSQLParser.KW_LOGGED - 412)) | (1 << (PostgreSQLParser.KW_STORED - 412)) | (1 << (PostgreSQLParser.KW_INCLUDE - 412)) | (1 << (PostgreSQLParser.KW_ROUTINE - 412)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 412)))) !== 0) || ((((_la - 444)) & ~0x1F) === 0 && ((1 << (_la - 444)) & ((1 << (PostgreSQLParser.KW_IMPORT - 444)) | (1 << (PostgreSQLParser.KW_POLICY - 444)) | (1 << (PostgreSQLParser.KW_METHOD - 444)) | (1 << (PostgreSQLParser.KW_REFERENCING - 444)) | (1 << (PostgreSQLParser.KW_NEW - 444)) | (1 << (PostgreSQLParser.KW_OLD - 444)) | (1 << (PostgreSQLParser.KW_VALUE - 444)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 444)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 444)) | (1 << (PostgreSQLParser.KW_OUT - 444)) | (1 << (PostgreSQLParser.KW_ROUTINES - 444)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 444)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 444)) | (1 << (PostgreSQLParser.KW_INPUT - 444)) | (1 << (PostgreSQLParser.KW_SUPPORT - 444)) | (1 << (PostgreSQLParser.KW_PARALLEL - 444)) | (1 << (PostgreSQLParser.KW_SQL - 444)) | (1 << (PostgreSQLParser.KW_DEPENDS - 444)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 444)) | (1 << (PostgreSQLParser.KW_CONFLICT - 444)) | (1 << (PostgreSQLParser.KW_SKIP - 444)) | (1 << (PostgreSQLParser.KW_LOCKED - 444)) | (1 << (PostgreSQLParser.KW_TIES - 444)) | (1 << (PostgreSQLParser.KW_ROLLUP - 444)) | (1 << (PostgreSQLParser.KW_CUBE - 444)) | (1 << (PostgreSQLParser.KW_GROUPING - 444)) | (1 << (PostgreSQLParser.KW_SETS - 444)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 444)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 444)) | (1 << (PostgreSQLParser.KW_COLUMNS - 444)))) !== 0) || ((((_la - 476)) & ~0x1F) === 0 && ((1 << (_la - 476)) & ((1 << (PostgreSQLParser.KW_XMLNAMESPACES - 476)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 476)) | (1 << (PostgreSQLParser.KW_WITHIN - 476)) | (1 << (PostgreSQLParser.KW_FILTER - 476)) | (1 << (PostgreSQLParser.KW_GROUPS - 476)) | (1 << (PostgreSQLParser.KW_OTHERS - 476)) | (1 << (PostgreSQLParser.KW_NFC - 476)) | (1 << (PostgreSQLParser.KW_NFD - 476)) | (1 << (PostgreSQLParser.KW_NFKC - 476)) | (1 << (PostgreSQLParser.KW_NFKD - 476)) | (1 << (PostgreSQLParser.KW_UESCAPE - 476)) | (1 << (PostgreSQLParser.KW_VIEWS - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 476)) | (1 << (PostgreSQLParser.KW_DUMP - 476)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 476)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 476)) | (1 << (PostgreSQLParser.KW_ERROR - 476)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 476)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 476)) | (1 << (PostgreSQLParser.KW_ALIAS - 476)) | (1 << (PostgreSQLParser.KW_CONSTANT - 476)) | (1 << (PostgreSQLParser.KW_PERFORM - 476)) | (1 << (PostgreSQLParser.KW_GET - 476)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 476)) | (1 << (PostgreSQLParser.KW_STACKED - 476)) | (1 << (PostgreSQLParser.KW_ELSIF - 476)) | (1 << (PostgreSQLParser.KW_REVERSE - 476)) | (1 << (PostgreSQLParser.KW_SLICE - 476)) | (1 << (PostgreSQLParser.KW_EXIT - 476)))) !== 0) || ((((_la - 508)) & ~0x1F) === 0 && ((1 << (_la - 508)) & ((1 << (PostgreSQLParser.KW_RETURN - 508)) | (1 << (PostgreSQLParser.KW_QUERY - 508)) | (1 << (PostgreSQLParser.KW_RAISE - 508)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 508)) | (1 << (PostgreSQLParser.KW_DEBUG - 508)) | (1 << (PostgreSQLParser.KW_LOG - 508)) | (1 << (PostgreSQLParser.KW_INFO - 508)) | (1 << (PostgreSQLParser.KW_NOTICE - 508)) | (1 << (PostgreSQLParser.KW_WARNING - 508)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 508)) | (1 << (PostgreSQLParser.KW_ASSERT - 508)) | (1 << (PostgreSQLParser.KW_OPEN - 508)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 3618; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 250, this._ctx) ) { case 1: { this.state = 3617; this.opt_if_not_exists(); } break; } this.state = 3620; this.any_name(); } } this.state = 3624; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 3623; this.opt_name_list(); } } this.state = 3626; this.match(PostgreSQLParser.KW_ON); this.state = 3629; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 253, this._ctx) ) { case 1: { this.state = 3627; this.column_expr_list(); } break; case 2: { this.state = 3628; this.expr_list(); } break; } this.state = 3631; this.match(PostgreSQLParser.KW_FROM); this.state = 3632; this.from_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterstatsstmt(): AlterstatsstmtContext { let _localctx: AlterstatsstmtContext = new AlterstatsstmtContext(this._ctx, this.state); this.enterRule(_localctx, 290, PostgreSQLParser.RULE_alterstatsstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 3634; this.match(PostgreSQLParser.KW_ALTER); this.state = 3635; this.match(PostgreSQLParser.KW_STATISTICS); this.state = 3637; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 254, this._ctx) ) { case 1: { this.state = 3636; this.opt_if_exists(); } break; } this.state = 3639; this.any_name(); this.state = 3640; this.match(PostgreSQLParser.KW_SET); this.state = 3641; this.match(PostgreSQLParser.KW_STATISTICS); this.state = 3642; this.signediconst(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createasstmt(): CreateasstmtContext { let _localctx: CreateasstmtContext = new CreateasstmtContext(this._ctx, this.state); this.enterRule(_localctx, 292, PostgreSQLParser.RULE_createasstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3644; this.match(PostgreSQLParser.KW_CREATE); this.state = 3646; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_GLOBAL || _la === PostgreSQLParser.KW_LOCAL || ((((_la - 352)) & ~0x1F) === 0 && ((1 << (_la - 352)) & ((1 << (PostgreSQLParser.KW_TEMP - 352)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 352)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 352)))) !== 0)) { { this.state = 3645; this.opttemp(); } } this.state = 3648; this.match(PostgreSQLParser.KW_TABLE); this.state = 3650; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 256, this._ctx) ) { case 1: { this.state = 3649; this.opt_if_not_exists(); } break; } this.state = 3652; this.create_as_target(); this.state = 3653; this.match(PostgreSQLParser.KW_AS); this.state = 3654; this.selectstmt(); this.state = 3656; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 257, this._ctx) ) { case 1: { this.state = 3655; this.opt_with_data(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public create_as_target(): Create_as_targetContext { let _localctx: Create_as_targetContext = new Create_as_targetContext(this._ctx, this.state); this.enterRule(_localctx, 294, PostgreSQLParser.RULE_create_as_target); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3658; this.table_name_create(); this.state = 3660; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 3659; this.opt_column_list(); } } this.state = 3663; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 3662; this.table_access_method_clause(); } } this.state = 3666; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WITH || _la === PostgreSQLParser.KW_WITHOUT) { { this.state = 3665; this.optwith(); } } this.state = 3669; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ON) { { this.state = 3668; this.oncommitoption(); } } this.state = 3672; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_TABLESPACE) { { this.state = 3671; this.opttablespace(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_with_data(): Opt_with_dataContext { let _localctx: Opt_with_dataContext = new Opt_with_dataContext(this._ctx, this.state); this.enterRule(_localctx, 296, PostgreSQLParser.RULE_opt_with_data); try { this.enterOuterAlt(_localctx, 1); { this.state = 3674; this.match(PostgreSQLParser.KW_WITH); this.state = 3678; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_DATA: { this.state = 3675; this.match(PostgreSQLParser.KW_DATA); } break; case PostgreSQLParser.KW_NO: { this.state = 3676; this.match(PostgreSQLParser.KW_NO); this.state = 3677; this.match(PostgreSQLParser.KW_DATA); } break; default: throw new NoViableAltException(this); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public creatematviewstmt(): CreatematviewstmtContext { let _localctx: CreatematviewstmtContext = new CreatematviewstmtContext(this._ctx, this.state); this.enterRule(_localctx, 298, PostgreSQLParser.RULE_creatematviewstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3680; this.match(PostgreSQLParser.KW_CREATE); this.state = 3682; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_UNLOGGED) { { this.state = 3681; this.optnolog(); } } this.state = 3684; this.match(PostgreSQLParser.KW_MATERIALIZED); this.state = 3685; this.match(PostgreSQLParser.KW_VIEW); this.state = 3687; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 265, this._ctx) ) { case 1: { this.state = 3686; this.opt_if_not_exists(); } break; } this.state = 3689; this.create_mv_target(); this.state = 3690; this.match(PostgreSQLParser.KW_AS); this.state = 3691; this.selectstmt(); this.state = 3693; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 266, this._ctx) ) { case 1: { this.state = 3692; this.opt_with_data(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public create_mv_target(): Create_mv_targetContext { let _localctx: Create_mv_targetContext = new Create_mv_targetContext(this._ctx, this.state); this.enterRule(_localctx, 300, PostgreSQLParser.RULE_create_mv_target); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3695; this.view_name_create(); this.state = 3697; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 3696; this.opt_column_list(); } } this.state = 3700; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 3699; this.table_access_method_clause(); } } this.state = 3703; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WITH) { { this.state = 3702; this.opt_reloptions(); } } this.state = 3706; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_TABLESPACE) { { this.state = 3705; this.opttablespace(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public optnolog(): OptnologContext { let _localctx: OptnologContext = new OptnologContext(this._ctx, this.state); this.enterRule(_localctx, 302, PostgreSQLParser.RULE_optnolog); try { this.enterOuterAlt(_localctx, 1); { this.state = 3708; this.match(PostgreSQLParser.KW_UNLOGGED); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public refreshmatviewstmt(): RefreshmatviewstmtContext { let _localctx: RefreshmatviewstmtContext = new RefreshmatviewstmtContext(this._ctx, this.state); this.enterRule(_localctx, 304, PostgreSQLParser.RULE_refreshmatviewstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3710; this.match(PostgreSQLParser.KW_REFRESH); this.state = 3711; this.match(PostgreSQLParser.KW_MATERIALIZED); this.state = 3712; this.match(PostgreSQLParser.KW_VIEW); this.state = 3714; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_CONCURRENTLY) { { this.state = 3713; this.opt_concurrently(); } } this.state = 3716; this.view_name(); this.state = 3718; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 272, this._ctx) ) { case 1: { this.state = 3717; this.opt_with_data(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createseqstmt(): CreateseqstmtContext { let _localctx: CreateseqstmtContext = new CreateseqstmtContext(this._ctx, this.state); this.enterRule(_localctx, 306, PostgreSQLParser.RULE_createseqstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3720; this.match(PostgreSQLParser.KW_CREATE); this.state = 3722; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_GLOBAL || _la === PostgreSQLParser.KW_LOCAL || ((((_la - 352)) & ~0x1F) === 0 && ((1 << (_la - 352)) & ((1 << (PostgreSQLParser.KW_TEMP - 352)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 352)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 352)))) !== 0)) { { this.state = 3721; this.opttemp(); } } this.state = 3724; this.match(PostgreSQLParser.KW_SEQUENCE); this.state = 3726; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 274, this._ctx) ) { case 1: { this.state = 3725; this.opt_if_not_exists(); } break; } this.state = 3728; this.qualified_name(); this.state = 3730; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 275, this._ctx) ) { case 1: { this.state = 3729; this.optseqoptlist(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterseqstmt(): AlterseqstmtContext { let _localctx: AlterseqstmtContext = new AlterseqstmtContext(this._ctx, this.state); this.enterRule(_localctx, 308, PostgreSQLParser.RULE_alterseqstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 3732; this.match(PostgreSQLParser.KW_ALTER); this.state = 3733; this.match(PostgreSQLParser.KW_SEQUENCE); this.state = 3735; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 276, this._ctx) ) { case 1: { this.state = 3734; this.opt_if_exists(); } break; } this.state = 3737; this.qualified_name(); this.state = 3738; this.seqoptlist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public optseqoptlist(): OptseqoptlistContext { let _localctx: OptseqoptlistContext = new OptseqoptlistContext(this._ctx, this.state); this.enterRule(_localctx, 310, PostgreSQLParser.RULE_optseqoptlist); try { this.enterOuterAlt(_localctx, 1); { this.state = 3740; this.seqoptlist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public optparenthesizedseqoptlist(): OptparenthesizedseqoptlistContext { let _localctx: OptparenthesizedseqoptlistContext = new OptparenthesizedseqoptlistContext(this._ctx, this.state); this.enterRule(_localctx, 312, PostgreSQLParser.RULE_optparenthesizedseqoptlist); try { this.enterOuterAlt(_localctx, 1); { this.state = 3742; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3743; this.seqoptlist(); this.state = 3744; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public seqoptlist(): SeqoptlistContext { let _localctx: SeqoptlistContext = new SeqoptlistContext(this._ctx, this.state); this.enterRule(_localctx, 314, PostgreSQLParser.RULE_seqoptlist); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 3747; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 3746; this.seqoptelem(); } } break; default: throw new NoViableAltException(this); } this.state = 3749; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 277, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public seqoptelem(): SeqoptelemContext { let _localctx: SeqoptelemContext = new SeqoptelemContext(this._ctx, this.state); this.enterRule(_localctx, 316, PostgreSQLParser.RULE_seqoptelem); let _la: number; try { this.state = 3785; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AS: this.enterOuterAlt(_localctx, 1); { this.state = 3751; this.match(PostgreSQLParser.KW_AS); this.state = 3752; this.simpletypename(); } break; case PostgreSQLParser.KW_CACHE: this.enterOuterAlt(_localctx, 2); { this.state = 3753; this.match(PostgreSQLParser.KW_CACHE); this.state = 3754; this.numericonly(); } break; case PostgreSQLParser.KW_CYCLE: this.enterOuterAlt(_localctx, 3); { this.state = 3755; this.match(PostgreSQLParser.KW_CYCLE); } break; case PostgreSQLParser.KW_INCREMENT: this.enterOuterAlt(_localctx, 4); { this.state = 3756; this.match(PostgreSQLParser.KW_INCREMENT); this.state = 3758; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_BY) { { this.state = 3757; this.opt_by(); } } this.state = 3760; this.numericonly(); } break; case PostgreSQLParser.KW_MAXVALUE: this.enterOuterAlt(_localctx, 5); { this.state = 3761; this.match(PostgreSQLParser.KW_MAXVALUE); this.state = 3762; this.numericonly(); } break; case PostgreSQLParser.KW_MINVALUE: this.enterOuterAlt(_localctx, 6); { this.state = 3763; this.match(PostgreSQLParser.KW_MINVALUE); this.state = 3764; this.numericonly(); } break; case PostgreSQLParser.KW_NO: this.enterOuterAlt(_localctx, 7); { this.state = 3765; this.match(PostgreSQLParser.KW_NO); this.state = 3766; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_CYCLE || _la === PostgreSQLParser.KW_MAXVALUE || _la === PostgreSQLParser.KW_MINVALUE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case PostgreSQLParser.KW_OWNED: this.enterOuterAlt(_localctx, 8); { this.state = 3767; this.match(PostgreSQLParser.KW_OWNED); this.state = 3768; this.match(PostgreSQLParser.KW_BY); this.state = 3769; this.table_column_name(); } break; case PostgreSQLParser.KW_SEQUENCE: this.enterOuterAlt(_localctx, 9); { this.state = 3770; this.match(PostgreSQLParser.KW_SEQUENCE); this.state = 3771; this.match(PostgreSQLParser.KW_NAME); this.state = 3772; this.any_name(); } break; case PostgreSQLParser.KW_START: this.enterOuterAlt(_localctx, 10); { this.state = 3773; this.match(PostgreSQLParser.KW_START); this.state = 3775; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WITH) { { this.state = 3774; this.opt_with(); } } this.state = 3777; this.numericonly(); } break; case PostgreSQLParser.KW_RESTART: this.enterOuterAlt(_localctx, 11); { this.state = 3778; this.match(PostgreSQLParser.KW_RESTART); this.state = 3780; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 280, this._ctx) ) { case 1: { this.state = 3779; this.opt_with(); } break; } this.state = 3783; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.PLUS || _la === PostgreSQLParser.MINUS || _la === PostgreSQLParser.Integral || _la === PostgreSQLParser.Numeric) { { this.state = 3782; this.numericonly(); } } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_by(): Opt_byContext { let _localctx: Opt_byContext = new Opt_byContext(this._ctx, this.state); this.enterRule(_localctx, 318, PostgreSQLParser.RULE_opt_by); try { this.enterOuterAlt(_localctx, 1); { this.state = 3787; this.match(PostgreSQLParser.KW_BY); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public numericonly(): NumericonlyContext { let _localctx: NumericonlyContext = new NumericonlyContext(this._ctx, this.state); this.enterRule(_localctx, 320, PostgreSQLParser.RULE_numericonly); try { this.state = 3795; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 283, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 3789; this.fconst(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 3790; this.match(PostgreSQLParser.PLUS); this.state = 3791; this.fconst(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 3792; this.match(PostgreSQLParser.MINUS); this.state = 3793; this.fconst(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 3794; this.signediconst(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public numericonly_list(): Numericonly_listContext { let _localctx: Numericonly_listContext = new Numericonly_listContext(this._ctx, this.state); this.enterRule(_localctx, 322, PostgreSQLParser.RULE_numericonly_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3797; this.numericonly(); this.state = 3802; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 3798; this.match(PostgreSQLParser.COMMA); this.state = 3799; this.numericonly(); } } this.state = 3804; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createplangstmt(): CreateplangstmtContext { let _localctx: CreateplangstmtContext = new CreateplangstmtContext(this._ctx, this.state); this.enterRule(_localctx, 324, PostgreSQLParser.RULE_createplangstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3805; this.match(PostgreSQLParser.KW_CREATE); this.state = 3807; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OR) { { this.state = 3806; this.opt_or_replace(); } } this.state = 3810; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_TRUSTED) { { this.state = 3809; this.opt_trusted(); } } this.state = 3813; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_PROCEDURAL) { { this.state = 3812; this.opt_procedural(); } } this.state = 3815; this.match(PostgreSQLParser.KW_LANGUAGE); this.state = 3816; this.name(); this.state = 3825; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 290, this._ctx) ) { case 1: { this.state = 3817; this.match(PostgreSQLParser.KW_HANDLER); this.state = 3818; this.handler_name(); this.state = 3820; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 288, this._ctx) ) { case 1: { this.state = 3819; this.opt_inline_handler(); } break; } this.state = 3823; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 289, this._ctx) ) { case 1: { this.state = 3822; this.opt_validator(); } break; } } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_trusted(): Opt_trustedContext { let _localctx: Opt_trustedContext = new Opt_trustedContext(this._ctx, this.state); this.enterRule(_localctx, 326, PostgreSQLParser.RULE_opt_trusted); try { this.enterOuterAlt(_localctx, 1); { this.state = 3827; this.match(PostgreSQLParser.KW_TRUSTED); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public handler_name(): Handler_nameContext { let _localctx: Handler_nameContext = new Handler_nameContext(this._ctx, this.state); this.enterRule(_localctx, 328, PostgreSQLParser.RULE_handler_name); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3829; this.name(); this.state = 3831; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.DOT) { { this.state = 3830; this.attrs(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_inline_handler(): Opt_inline_handlerContext { let _localctx: Opt_inline_handlerContext = new Opt_inline_handlerContext(this._ctx, this.state); this.enterRule(_localctx, 330, PostgreSQLParser.RULE_opt_inline_handler); try { this.enterOuterAlt(_localctx, 1); { this.state = 3833; this.match(PostgreSQLParser.KW_INLINE); this.state = 3834; this.handler_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public validator_clause(): Validator_clauseContext { let _localctx: Validator_clauseContext = new Validator_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 332, PostgreSQLParser.RULE_validator_clause); try { this.state = 3840; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_VALIDATOR: this.enterOuterAlt(_localctx, 1); { this.state = 3836; this.match(PostgreSQLParser.KW_VALIDATOR); this.state = 3837; this.handler_name(); } break; case PostgreSQLParser.KW_NO: this.enterOuterAlt(_localctx, 2); { this.state = 3838; this.match(PostgreSQLParser.KW_NO); this.state = 3839; this.match(PostgreSQLParser.KW_VALIDATOR); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_validator(): Opt_validatorContext { let _localctx: Opt_validatorContext = new Opt_validatorContext(this._ctx, this.state); this.enterRule(_localctx, 334, PostgreSQLParser.RULE_opt_validator); try { this.enterOuterAlt(_localctx, 1); { this.state = 3842; this.validator_clause(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_procedural(): Opt_proceduralContext { let _localctx: Opt_proceduralContext = new Opt_proceduralContext(this._ctx, this.state); this.enterRule(_localctx, 336, PostgreSQLParser.RULE_opt_procedural); try { this.enterOuterAlt(_localctx, 1); { this.state = 3844; this.match(PostgreSQLParser.KW_PROCEDURAL); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createtablespacestmt(): CreatetablespacestmtContext { let _localctx: CreatetablespacestmtContext = new CreatetablespacestmtContext(this._ctx, this.state); this.enterRule(_localctx, 338, PostgreSQLParser.RULE_createtablespacestmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3846; this.match(PostgreSQLParser.KW_CREATE); this.state = 3847; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 3848; this.tablespace_name(); this.state = 3850; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OWNER) { { this.state = 3849; this.opttablespaceowner(); } } this.state = 3852; this.match(PostgreSQLParser.KW_LOCATION); this.state = 3853; this.sconst(); this.state = 3855; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 294, this._ctx) ) { case 1: { this.state = 3854; this.opt_reloptions(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opttablespaceowner(): OpttablespaceownerContext { let _localctx: OpttablespaceownerContext = new OpttablespaceownerContext(this._ctx, this.state); this.enterRule(_localctx, 340, PostgreSQLParser.RULE_opttablespaceowner); try { this.enterOuterAlt(_localctx, 1); { this.state = 3857; this.match(PostgreSQLParser.KW_OWNER); this.state = 3858; this.rolespec(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createextensionstmt(): CreateextensionstmtContext { let _localctx: CreateextensionstmtContext = new CreateextensionstmtContext(this._ctx, this.state); this.enterRule(_localctx, 342, PostgreSQLParser.RULE_createextensionstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 3860; this.match(PostgreSQLParser.KW_CREATE); this.state = 3861; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3863; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 295, this._ctx) ) { case 1: { this.state = 3862; this.opt_if_not_exists(); } break; } this.state = 3865; this.name(); this.state = 3867; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 296, this._ctx) ) { case 1: { this.state = 3866; this.opt_with(); } break; } this.state = 3869; this.create_extension_opt_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public create_extension_opt_list(): Create_extension_opt_listContext { let _localctx: Create_extension_opt_listContext = new Create_extension_opt_listContext(this._ctx, this.state); this.enterRule(_localctx, 344, PostgreSQLParser.RULE_create_extension_opt_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 3874; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 297, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 3871; this.create_extension_opt_item(); } } } this.state = 3876; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 297, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public create_extension_opt_item(): Create_extension_opt_itemContext { let _localctx: Create_extension_opt_itemContext = new Create_extension_opt_itemContext(this._ctx, this.state); this.enterRule(_localctx, 346, PostgreSQLParser.RULE_create_extension_opt_item); try { this.state = 3884; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_SCHEMA: this.enterOuterAlt(_localctx, 1); { this.state = 3877; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 3878; this.schema_name(); } break; case PostgreSQLParser.KW_VERSION: this.enterOuterAlt(_localctx, 2); { this.state = 3879; this.match(PostgreSQLParser.KW_VERSION); this.state = 3880; this.nonreservedword_or_sconst(); } break; case PostgreSQLParser.KW_FROM: this.enterOuterAlt(_localctx, 3); { this.state = 3881; this.match(PostgreSQLParser.KW_FROM); this.state = 3882; this.nonreservedword_or_sconst(); } break; case PostgreSQLParser.KW_CASCADE: this.enterOuterAlt(_localctx, 4); { this.state = 3883; this.match(PostgreSQLParser.KW_CASCADE); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterextensionstmt(): AlterextensionstmtContext { let _localctx: AlterextensionstmtContext = new AlterextensionstmtContext(this._ctx, this.state); this.enterRule(_localctx, 348, PostgreSQLParser.RULE_alterextensionstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 3886; this.match(PostgreSQLParser.KW_ALTER); this.state = 3887; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3888; this.name(); this.state = 3889; this.match(PostgreSQLParser.KW_UPDATE); this.state = 3890; this.alter_extension_opt_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_extension_opt_list(): Alter_extension_opt_listContext { let _localctx: Alter_extension_opt_listContext = new Alter_extension_opt_listContext(this._ctx, this.state); this.enterRule(_localctx, 350, PostgreSQLParser.RULE_alter_extension_opt_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 3895; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.KW_TO) { { { this.state = 3892; this.alter_extension_opt_item(); } } this.state = 3897; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_extension_opt_item(): Alter_extension_opt_itemContext { let _localctx: Alter_extension_opt_itemContext = new Alter_extension_opt_itemContext(this._ctx, this.state); this.enterRule(_localctx, 352, PostgreSQLParser.RULE_alter_extension_opt_item); try { this.enterOuterAlt(_localctx, 1); { this.state = 3898; this.match(PostgreSQLParser.KW_TO); this.state = 3899; this.nonreservedword_or_sconst(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterextensioncontentsstmt(): AlterextensioncontentsstmtContext { let _localctx: AlterextensioncontentsstmtContext = new AlterextensioncontentsstmtContext(this._ctx, this.state); this.enterRule(_localctx, 354, PostgreSQLParser.RULE_alterextensioncontentsstmt); try { this.state = 4003; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 300, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 3901; this.match(PostgreSQLParser.KW_ALTER); this.state = 3902; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3903; this.name(); this.state = 3904; this.add_drop(); this.state = 3905; this.object_type_name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 3907; this.match(PostgreSQLParser.KW_ALTER); this.state = 3908; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3909; this.name(); this.state = 3910; this.add_drop(); this.state = 3911; this.object_type_any_name(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 3913; this.match(PostgreSQLParser.KW_ALTER); this.state = 3914; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3915; this.name(); this.state = 3916; this.add_drop(); this.state = 3917; this.match(PostgreSQLParser.KW_AGGREGATE); this.state = 3918; this.aggregate_with_argtypes(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 3920; this.match(PostgreSQLParser.KW_ALTER); this.state = 3921; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3922; this.name(); this.state = 3923; this.add_drop(); this.state = 3924; this.match(PostgreSQLParser.KW_CAST); this.state = 3925; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 3926; this.typename(); this.state = 3927; this.match(PostgreSQLParser.KW_AS); this.state = 3928; this.typename(); this.state = 3929; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 3931; this.match(PostgreSQLParser.KW_ALTER); this.state = 3932; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3933; this.name(); this.state = 3934; this.add_drop(); this.state = 3935; this.match(PostgreSQLParser.KW_DOMAIN); this.state = 3936; this.typename(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 3938; this.match(PostgreSQLParser.KW_ALTER); this.state = 3939; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3940; this.name(); this.state = 3941; this.add_drop(); this.state = 3942; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 3943; this.function_with_argtypes(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 3945; this.match(PostgreSQLParser.KW_ALTER); this.state = 3946; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3947; this.name(); this.state = 3948; this.add_drop(); this.state = 3949; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 3950; this.operator_with_argtypes(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 3952; this.match(PostgreSQLParser.KW_ALTER); this.state = 3953; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3954; this.name(); this.state = 3955; this.add_drop(); this.state = 3956; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 3957; this.match(PostgreSQLParser.KW_CLASS); this.state = 3958; this.any_name(); this.state = 3959; this.match(PostgreSQLParser.KW_USING); this.state = 3960; this.name(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 3962; this.match(PostgreSQLParser.KW_ALTER); this.state = 3963; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3964; this.name(); this.state = 3965; this.add_drop(); this.state = 3966; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 3967; this.match(PostgreSQLParser.KW_FAMILY); this.state = 3968; this.any_name(); this.state = 3969; this.match(PostgreSQLParser.KW_USING); this.state = 3970; this.name(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 3972; this.match(PostgreSQLParser.KW_ALTER); this.state = 3973; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3974; this.name(); this.state = 3975; this.add_drop(); this.state = 3976; this.match(PostgreSQLParser.KW_PROCEDURE); this.state = 3977; this.procedure_with_argtypes(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 3979; this.match(PostgreSQLParser.KW_ALTER); this.state = 3980; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3981; this.name(); this.state = 3982; this.add_drop(); this.state = 3983; this.match(PostgreSQLParser.KW_ROUTINE); this.state = 3984; this.routine_with_argtypes(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 3986; this.match(PostgreSQLParser.KW_ALTER); this.state = 3987; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3988; this.name(); this.state = 3989; this.add_drop(); this.state = 3990; this.match(PostgreSQLParser.KW_TRANSFORM); this.state = 3991; this.match(PostgreSQLParser.KW_FOR); this.state = 3992; this.typename(); this.state = 3993; this.match(PostgreSQLParser.KW_LANGUAGE); this.state = 3994; this.name(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 3996; this.match(PostgreSQLParser.KW_ALTER); this.state = 3997; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 3998; this.name(); this.state = 3999; this.add_drop(); this.state = 4000; this.match(PostgreSQLParser.KW_TYPE); this.state = 4001; this.typename(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createfdwstmt(): CreatefdwstmtContext { let _localctx: CreatefdwstmtContext = new CreatefdwstmtContext(this._ctx, this.state); this.enterRule(_localctx, 356, PostgreSQLParser.RULE_createfdwstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 4005; this.match(PostgreSQLParser.KW_CREATE); this.state = 4006; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 4007; this.match(PostgreSQLParser.KW_DATA); this.state = 4008; this.match(PostgreSQLParser.KW_WRAPPER); this.state = 4009; this.name(); this.state = 4011; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 301, this._ctx) ) { case 1: { this.state = 4010; this.opt_fdw_options(); } break; } this.state = 4014; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 302, this._ctx) ) { case 1: { this.state = 4013; this.create_generic_options(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public fdw_option(): Fdw_optionContext { let _localctx: Fdw_optionContext = new Fdw_optionContext(this._ctx, this.state); this.enterRule(_localctx, 358, PostgreSQLParser.RULE_fdw_option); try { this.state = 4024; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 303, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4016; this.match(PostgreSQLParser.KW_HANDLER); this.state = 4017; this.handler_name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4018; this.match(PostgreSQLParser.KW_NO); this.state = 4019; this.match(PostgreSQLParser.KW_HANDLER); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 4020; this.match(PostgreSQLParser.KW_VALIDATOR); this.state = 4021; this.handler_name(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 4022; this.match(PostgreSQLParser.KW_NO); this.state = 4023; this.match(PostgreSQLParser.KW_VALIDATOR); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public fdw_options(): Fdw_optionsContext { let _localctx: Fdw_optionsContext = new Fdw_optionsContext(this._ctx, this.state); this.enterRule(_localctx, 360, PostgreSQLParser.RULE_fdw_options); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 4027; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 4026; this.fdw_option(); } } break; default: throw new NoViableAltException(this); } this.state = 4029; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 304, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_fdw_options(): Opt_fdw_optionsContext { let _localctx: Opt_fdw_optionsContext = new Opt_fdw_optionsContext(this._ctx, this.state); this.enterRule(_localctx, 362, PostgreSQLParser.RULE_opt_fdw_options); try { this.enterOuterAlt(_localctx, 1); { this.state = 4031; this.fdw_options(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterfdwstmt(): AlterfdwstmtContext { let _localctx: AlterfdwstmtContext = new AlterfdwstmtContext(this._ctx, this.state); this.enterRule(_localctx, 364, PostgreSQLParser.RULE_alterfdwstmt); let _la: number; try { this.state = 4050; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 306, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4033; this.match(PostgreSQLParser.KW_ALTER); this.state = 4034; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 4035; this.match(PostgreSQLParser.KW_DATA); this.state = 4036; this.match(PostgreSQLParser.KW_WRAPPER); this.state = 4037; this.name(); this.state = 4039; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_HANDLER || _la === PostgreSQLParser.KW_NO || _la === PostgreSQLParser.KW_VALIDATOR) { { this.state = 4038; this.opt_fdw_options(); } } this.state = 4041; this.alter_generic_options(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4043; this.match(PostgreSQLParser.KW_ALTER); this.state = 4044; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 4045; this.match(PostgreSQLParser.KW_DATA); this.state = 4046; this.match(PostgreSQLParser.KW_WRAPPER); this.state = 4047; this.name(); this.state = 4048; this.fdw_options(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public create_generic_options(): Create_generic_optionsContext { let _localctx: Create_generic_optionsContext = new Create_generic_optionsContext(this._ctx, this.state); this.enterRule(_localctx, 366, PostgreSQLParser.RULE_create_generic_options); try { this.enterOuterAlt(_localctx, 1); { this.state = 4052; this.match(PostgreSQLParser.KW_OPTIONS); this.state = 4053; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4054; this.generic_option_list(); this.state = 4055; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public generic_option_list(): Generic_option_listContext { let _localctx: Generic_option_listContext = new Generic_option_listContext(this._ctx, this.state); this.enterRule(_localctx, 368, PostgreSQLParser.RULE_generic_option_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4057; this.generic_option_elem(); this.state = 4062; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 4058; this.match(PostgreSQLParser.COMMA); this.state = 4059; this.generic_option_elem(); } } this.state = 4064; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_generic_options(): Alter_generic_optionsContext { let _localctx: Alter_generic_optionsContext = new Alter_generic_optionsContext(this._ctx, this.state); this.enterRule(_localctx, 370, PostgreSQLParser.RULE_alter_generic_options); try { this.enterOuterAlt(_localctx, 1); { this.state = 4065; this.match(PostgreSQLParser.KW_OPTIONS); this.state = 4066; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4067; this.alter_generic_option_list(); this.state = 4068; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_generic_option_list(): Alter_generic_option_listContext { let _localctx: Alter_generic_option_listContext = new Alter_generic_option_listContext(this._ctx, this.state); this.enterRule(_localctx, 372, PostgreSQLParser.RULE_alter_generic_option_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4070; this.alter_generic_option_elem(); this.state = 4075; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 4071; this.match(PostgreSQLParser.COMMA); this.state = 4072; this.alter_generic_option_elem(); } } this.state = 4077; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alter_generic_option_elem(): Alter_generic_option_elemContext { let _localctx: Alter_generic_option_elemContext = new Alter_generic_option_elemContext(this._ctx, this.state); this.enterRule(_localctx, 374, PostgreSQLParser.RULE_alter_generic_option_elem); try { this.state = 4085; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 309, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4078; this.generic_option_elem(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4079; this.match(PostgreSQLParser.KW_SET); this.state = 4080; this.generic_option_elem(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 4081; this.match(PostgreSQLParser.KW_ADD); this.state = 4082; this.generic_option_elem(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 4083; this.match(PostgreSQLParser.KW_DROP); this.state = 4084; this.generic_option_elem(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public generic_option_elem(): Generic_option_elemContext { let _localctx: Generic_option_elemContext = new Generic_option_elemContext(this._ctx, this.state); this.enterRule(_localctx, 376, PostgreSQLParser.RULE_generic_option_elem); try { this.enterOuterAlt(_localctx, 1); { this.state = 4087; this.generic_option_name(); this.state = 4088; this.generic_option_arg(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public generic_option_name(): Generic_option_nameContext { let _localctx: Generic_option_nameContext = new Generic_option_nameContext(this._ctx, this.state); this.enterRule(_localctx, 378, PostgreSQLParser.RULE_generic_option_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 4090; this.collabel(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public generic_option_arg(): Generic_option_argContext { let _localctx: Generic_option_argContext = new Generic_option_argContext(this._ctx, this.state); this.enterRule(_localctx, 380, PostgreSQLParser.RULE_generic_option_arg); try { this.enterOuterAlt(_localctx, 1); { this.state = 4092; this.sconst(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createforeignserverstmt(): CreateforeignserverstmtContext { let _localctx: CreateforeignserverstmtContext = new CreateforeignserverstmtContext(this._ctx, this.state); this.enterRule(_localctx, 382, PostgreSQLParser.RULE_createforeignserverstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4094; this.match(PostgreSQLParser.KW_CREATE); this.state = 4095; this.match(PostgreSQLParser.KW_SERVER); this.state = 4097; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 310, this._ctx) ) { case 1: { this.state = 4096; this.opt_if_not_exists(); } break; } this.state = 4099; this.name(); this.state = 4101; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_TYPE) { { this.state = 4100; this.opt_type(); } } this.state = 4104; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_VERSION) { { this.state = 4103; this.opt_foreign_server_version(); } } this.state = 4106; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 4107; this.match(PostgreSQLParser.KW_DATA); this.state = 4108; this.match(PostgreSQLParser.KW_WRAPPER); this.state = 4109; this.name(); this.state = 4111; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 313, this._ctx) ) { case 1: { this.state = 4110; this.create_generic_options(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_type(): Opt_typeContext { let _localctx: Opt_typeContext = new Opt_typeContext(this._ctx, this.state); this.enterRule(_localctx, 384, PostgreSQLParser.RULE_opt_type); try { this.enterOuterAlt(_localctx, 1); { this.state = 4113; this.match(PostgreSQLParser.KW_TYPE); this.state = 4114; this.sconst(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public foreign_server_version(): Foreign_server_versionContext { let _localctx: Foreign_server_versionContext = new Foreign_server_versionContext(this._ctx, this.state); this.enterRule(_localctx, 386, PostgreSQLParser.RULE_foreign_server_version); try { this.enterOuterAlt(_localctx, 1); { this.state = 4116; this.match(PostgreSQLParser.KW_VERSION); this.state = 4119; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.EscapeStringConstant: { this.state = 4117; this.sconst(); } break; case PostgreSQLParser.KW_NULL: { this.state = 4118; this.match(PostgreSQLParser.KW_NULL); } break; default: throw new NoViableAltException(this); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_foreign_server_version(): Opt_foreign_server_versionContext { let _localctx: Opt_foreign_server_versionContext = new Opt_foreign_server_versionContext(this._ctx, this.state); this.enterRule(_localctx, 388, PostgreSQLParser.RULE_opt_foreign_server_version); try { this.enterOuterAlt(_localctx, 1); { this.state = 4121; this.foreign_server_version(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterforeignserverstmt(): AlterforeignserverstmtContext { let _localctx: AlterforeignserverstmtContext = new AlterforeignserverstmtContext(this._ctx, this.state); this.enterRule(_localctx, 390, PostgreSQLParser.RULE_alterforeignserverstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 4123; this.match(PostgreSQLParser.KW_ALTER); this.state = 4124; this.match(PostgreSQLParser.KW_SERVER); this.state = 4125; this.name(); this.state = 4131; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_OPTIONS: { this.state = 4126; this.alter_generic_options(); } break; case PostgreSQLParser.KW_VERSION: { this.state = 4127; this.foreign_server_version(); this.state = 4129; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 315, this._ctx) ) { case 1: { this.state = 4128; this.alter_generic_options(); } break; } } break; default: throw new NoViableAltException(this); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createforeigntablestmt(): CreateforeigntablestmtContext { let _localctx: CreateforeigntablestmtContext = new CreateforeigntablestmtContext(this._ctx, this.state); this.enterRule(_localctx, 392, PostgreSQLParser.RULE_createforeigntablestmt); let _la: number; try { this.state = 4172; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 324, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4133; this.match(PostgreSQLParser.KW_CREATE); this.state = 4134; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 4135; this.match(PostgreSQLParser.KW_TABLE); this.state = 4137; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 317, this._ctx) ) { case 1: { this.state = 4136; this.opt_if_not_exists(); } break; } this.state = 4139; this.table_name_create(); this.state = 4140; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4142; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_CHECK - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)) | (1 << (PostgreSQLParser.KW_FOREIGN - 33)))) !== 0) || ((((_la - 85)) & ~0x1F) === 0 && ((1 << (_la - 85)) & ((1 << (PostgreSQLParser.KW_PRIMARY - 85)) | (1 << (PostgreSQLParser.KW_TABLE - 85)) | (1 << (PostgreSQLParser.KW_UNIQUE - 85)) | (1 << (PostgreSQLParser.KW_IS - 85)))) !== 0) || ((((_la - 120)) & ~0x1F) === 0 && ((1 << (_la - 120)) & ((1 << (PostgreSQLParser.KW_LIKE - 120)) | (1 << (PostgreSQLParser.KW_OUTER - 120)) | (1 << (PostgreSQLParser.KW_OVER - 120)) | (1 << (PostgreSQLParser.KW_ABORT - 120)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 120)) | (1 << (PostgreSQLParser.KW_ACCESS - 120)) | (1 << (PostgreSQLParser.KW_ACTION - 120)) | (1 << (PostgreSQLParser.KW_ADD - 120)) | (1 << (PostgreSQLParser.KW_ADMIN - 120)) | (1 << (PostgreSQLParser.KW_AFTER - 120)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 120)) | (1 << (PostgreSQLParser.KW_ALSO - 120)) | (1 << (PostgreSQLParser.KW_ALTER - 120)) | (1 << (PostgreSQLParser.KW_ALWAYS - 120)) | (1 << (PostgreSQLParser.KW_ASSERTION - 120)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 120)) | (1 << (PostgreSQLParser.KW_AT - 120)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 120)) | (1 << (PostgreSQLParser.KW_BACKWARD - 120)) | (1 << (PostgreSQLParser.KW_BEFORE - 120)) | (1 << (PostgreSQLParser.KW_BEGIN - 120)) | (1 << (PostgreSQLParser.KW_BY - 120)) | (1 << (PostgreSQLParser.KW_CACHE - 120)) | (1 << (PostgreSQLParser.KW_CALLED - 120)) | (1 << (PostgreSQLParser.KW_CASCADE - 120)) | (1 << (PostgreSQLParser.KW_CASCADED - 120)))) !== 0) || ((((_la - 152)) & ~0x1F) === 0 && ((1 << (_la - 152)) & ((1 << (PostgreSQLParser.KW_CATALOG - 152)) | (1 << (PostgreSQLParser.KW_CHAIN - 152)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 152)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 152)) | (1 << (PostgreSQLParser.KW_CLASS - 152)) | (1 << (PostgreSQLParser.KW_CLOSE - 152)) | (1 << (PostgreSQLParser.KW_CLUSTER - 152)) | (1 << (PostgreSQLParser.KW_COMMENT - 152)) | (1 << (PostgreSQLParser.KW_COMMENTS - 152)) | (1 << (PostgreSQLParser.KW_COMMIT - 152)) | (1 << (PostgreSQLParser.KW_COMMITTED - 152)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 152)) | (1 << (PostgreSQLParser.KW_CONNECTION - 152)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 152)) | (1 << (PostgreSQLParser.KW_CONTENT - 152)) | (1 << (PostgreSQLParser.KW_CONTINUE - 152)) | (1 << (PostgreSQLParser.KW_CONVERSION - 152)) | (1 << (PostgreSQLParser.KW_COPY - 152)) | (1 << (PostgreSQLParser.KW_COST - 152)) | (1 << (PostgreSQLParser.KW_CSV - 152)) | (1 << (PostgreSQLParser.KW_CURSOR - 152)) | (1 << (PostgreSQLParser.KW_CYCLE - 152)) | (1 << (PostgreSQLParser.KW_DATA - 152)) | (1 << (PostgreSQLParser.KW_DATABASE - 152)) | (1 << (PostgreSQLParser.KW_DAY - 152)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 152)) | (1 << (PostgreSQLParser.KW_DECLARE - 152)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 152)) | (1 << (PostgreSQLParser.KW_DEFERRED - 152)) | (1 << (PostgreSQLParser.KW_DEFINER - 152)) | (1 << (PostgreSQLParser.KW_DELETE - 152)) | (1 << (PostgreSQLParser.KW_DELIMITER - 152)))) !== 0) || ((((_la - 184)) & ~0x1F) === 0 && ((1 << (_la - 184)) & ((1 << (PostgreSQLParser.KW_DELIMITERS - 184)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 184)) | (1 << (PostgreSQLParser.KW_DISABLE - 184)) | (1 << (PostgreSQLParser.KW_DISCARD - 184)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 184)) | (1 << (PostgreSQLParser.KW_DOMAIN - 184)) | (1 << (PostgreSQLParser.KW_DOUBLE - 184)) | (1 << (PostgreSQLParser.KW_DROP - 184)) | (1 << (PostgreSQLParser.KW_EACH - 184)) | (1 << (PostgreSQLParser.KW_ENABLE - 184)) | (1 << (PostgreSQLParser.KW_ENCODING - 184)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 184)) | (1 << (PostgreSQLParser.KW_ENUM - 184)) | (1 << (PostgreSQLParser.KW_ESCAPE - 184)) | (1 << (PostgreSQLParser.KW_EVENT - 184)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 184)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 184)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 184)) | (1 << (PostgreSQLParser.KW_EXECUTE - 184)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 184)) | (1 << (PostgreSQLParser.KW_EXTENSION - 184)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 184)) | (1 << (PostgreSQLParser.KW_FAMILY - 184)) | (1 << (PostgreSQLParser.KW_FIRST - 184)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 184)) | (1 << (PostgreSQLParser.KW_FORCE - 184)) | (1 << (PostgreSQLParser.KW_FORWARD - 184)) | (1 << (PostgreSQLParser.KW_FUNCTION - 184)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 184)) | (1 << (PostgreSQLParser.KW_GLOBAL - 184)) | (1 << (PostgreSQLParser.KW_GRANTED - 184)) | (1 << (PostgreSQLParser.KW_HANDLER - 184)))) !== 0) || ((((_la - 216)) & ~0x1F) === 0 && ((1 << (_la - 216)) & ((1 << (PostgreSQLParser.KW_HEADER - 216)) | (1 << (PostgreSQLParser.KW_HOLD - 216)) | (1 << (PostgreSQLParser.KW_HOUR - 216)) | (1 << (PostgreSQLParser.KW_IDENTITY - 216)) | (1 << (PostgreSQLParser.KW_IF - 216)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 216)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 216)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 216)) | (1 << (PostgreSQLParser.KW_INCLUDING - 216)) | (1 << (PostgreSQLParser.KW_INCREMENT - 216)) | (1 << (PostgreSQLParser.KW_INDEX - 216)) | (1 << (PostgreSQLParser.KW_INDEXES - 216)) | (1 << (PostgreSQLParser.KW_INHERIT - 216)) | (1 << (PostgreSQLParser.KW_INHERITS - 216)) | (1 << (PostgreSQLParser.KW_INLINE - 216)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 216)) | (1 << (PostgreSQLParser.KW_INSERT - 216)) | (1 << (PostgreSQLParser.KW_INSTEAD - 216)) | (1 << (PostgreSQLParser.KW_INVOKER - 216)) | (1 << (PostgreSQLParser.KW_ISOLATION - 216)) | (1 << (PostgreSQLParser.KW_KEY - 216)) | (1 << (PostgreSQLParser.KW_LABEL - 216)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 216)))) !== 0) || ((((_la - 248)) & ~0x1F) === 0 && ((1 << (_la - 248)) & ((1 << (PostgreSQLParser.KW_LARGE - 248)) | (1 << (PostgreSQLParser.KW_LAST - 248)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 248)) | (1 << (PostgreSQLParser.KW_LEVEL - 248)) | (1 << (PostgreSQLParser.KW_LISTEN - 248)) | (1 << (PostgreSQLParser.KW_LOAD - 248)) | (1 << (PostgreSQLParser.KW_LOCAL - 248)) | (1 << (PostgreSQLParser.KW_LOCATION - 248)) | (1 << (PostgreSQLParser.KW_LOCK - 248)) | (1 << (PostgreSQLParser.KW_MAPPING - 248)) | (1 << (PostgreSQLParser.KW_MATCH - 248)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 248)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 248)) | (1 << (PostgreSQLParser.KW_MINUTE - 248)) | (1 << (PostgreSQLParser.KW_MINVALUE - 248)) | (1 << (PostgreSQLParser.KW_MODE - 248)) | (1 << (PostgreSQLParser.KW_MONTH - 248)) | (1 << (PostgreSQLParser.KW_MOVE - 248)) | (1 << (PostgreSQLParser.KW_NAME - 248)) | (1 << (PostgreSQLParser.KW_NAMES - 248)) | (1 << (PostgreSQLParser.KW_NEXT - 248)) | (1 << (PostgreSQLParser.KW_NO - 248)) | (1 << (PostgreSQLParser.KW_NOTHING - 248)) | (1 << (PostgreSQLParser.KW_NOTIFY - 248)) | (1 << (PostgreSQLParser.KW_NOWAIT - 248)) | (1 << (PostgreSQLParser.KW_NULLS - 248)) | (1 << (PostgreSQLParser.KW_OBJECT - 248)) | (1 << (PostgreSQLParser.KW_OF - 248)) | (1 << (PostgreSQLParser.KW_OFF - 248)) | (1 << (PostgreSQLParser.KW_OIDS - 248)) | (1 << (PostgreSQLParser.KW_OPERATOR - 248)) | (1 << (PostgreSQLParser.KW_OPTION - 248)))) !== 0) || ((((_la - 280)) & ~0x1F) === 0 && ((1 << (_la - 280)) & ((1 << (PostgreSQLParser.KW_OPTIONS - 280)) | (1 << (PostgreSQLParser.KW_OWNED - 280)) | (1 << (PostgreSQLParser.KW_OWNER - 280)) | (1 << (PostgreSQLParser.KW_PARSER - 280)) | (1 << (PostgreSQLParser.KW_PARTIAL - 280)) | (1 << (PostgreSQLParser.KW_PARTITION - 280)) | (1 << (PostgreSQLParser.KW_PASSING - 280)) | (1 << (PostgreSQLParser.KW_PASSWORD - 280)) | (1 << (PostgreSQLParser.KW_PLANS - 280)) | (1 << (PostgreSQLParser.KW_PRECEDING - 280)) | (1 << (PostgreSQLParser.KW_PREPARE - 280)) | (1 << (PostgreSQLParser.KW_PREPARED - 280)) | (1 << (PostgreSQLParser.KW_PRESERVE - 280)) | (1 << (PostgreSQLParser.KW_PRIOR - 280)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 280)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 280)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 280)) | (1 << (PostgreSQLParser.KW_PROGRAM - 280)) | (1 << (PostgreSQLParser.KW_QUOTE - 280)) | (1 << (PostgreSQLParser.KW_RANGE - 280)) | (1 << (PostgreSQLParser.KW_READ - 280)) | (1 << (PostgreSQLParser.KW_REASSIGN - 280)) | (1 << (PostgreSQLParser.KW_RECHECK - 280)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 280)) | (1 << (PostgreSQLParser.KW_REF - 280)) | (1 << (PostgreSQLParser.KW_REFRESH - 280)) | (1 << (PostgreSQLParser.KW_REINDEX - 280)) | (1 << (PostgreSQLParser.KW_RELATIVE - 280)) | (1 << (PostgreSQLParser.KW_RELEASE - 280)) | (1 << (PostgreSQLParser.KW_RENAME - 280)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 280)) | (1 << (PostgreSQLParser.KW_REPLACE - 280)))) !== 0) || ((((_la - 312)) & ~0x1F) === 0 && ((1 << (_la - 312)) & ((1 << (PostgreSQLParser.KW_REPLICA - 312)) | (1 << (PostgreSQLParser.KW_RESET - 312)) | (1 << (PostgreSQLParser.KW_RESTART - 312)) | (1 << (PostgreSQLParser.KW_RESTRICT - 312)) | (1 << (PostgreSQLParser.KW_RETURNS - 312)) | (1 << (PostgreSQLParser.KW_REVOKE - 312)) | (1 << (PostgreSQLParser.KW_ROLE - 312)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 312)) | (1 << (PostgreSQLParser.KW_ROWS - 312)) | (1 << (PostgreSQLParser.KW_RULE - 312)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 312)) | (1 << (PostgreSQLParser.KW_SCHEMA - 312)) | (1 << (PostgreSQLParser.KW_SCROLL - 312)) | (1 << (PostgreSQLParser.KW_SEARCH - 312)) | (1 << (PostgreSQLParser.KW_SECOND - 312)) | (1 << (PostgreSQLParser.KW_SECURITY - 312)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 312)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 312)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 312)) | (1 << (PostgreSQLParser.KW_SERVER - 312)) | (1 << (PostgreSQLParser.KW_SESSION - 312)) | (1 << (PostgreSQLParser.KW_SET - 312)) | (1 << (PostgreSQLParser.KW_SHARE - 312)) | (1 << (PostgreSQLParser.KW_SHOW - 312)) | (1 << (PostgreSQLParser.KW_SIMPLE - 312)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 312)) | (1 << (PostgreSQLParser.KW_STABLE - 312)) | (1 << (PostgreSQLParser.KW_STANDALONE - 312)) | (1 << (PostgreSQLParser.KW_START - 312)) | (1 << (PostgreSQLParser.KW_STATEMENT - 312)) | (1 << (PostgreSQLParser.KW_STATISTICS - 312)) | (1 << (PostgreSQLParser.KW_STDIN - 312)))) !== 0) || ((((_la - 344)) & ~0x1F) === 0 && ((1 << (_la - 344)) & ((1 << (PostgreSQLParser.KW_STDOUT - 344)) | (1 << (PostgreSQLParser.KW_STORAGE - 344)) | (1 << (PostgreSQLParser.KW_STRICT - 344)) | (1 << (PostgreSQLParser.KW_STRIP - 344)) | (1 << (PostgreSQLParser.KW_SYSID - 344)) | (1 << (PostgreSQLParser.KW_SYSTEM - 344)) | (1 << (PostgreSQLParser.KW_TABLES - 344)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 344)) | (1 << (PostgreSQLParser.KW_TEMP - 344)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 344)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 344)) | (1 << (PostgreSQLParser.KW_TEXT - 344)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 344)) | (1 << (PostgreSQLParser.KW_TRIGGER - 344)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 344)) | (1 << (PostgreSQLParser.KW_TRUSTED - 344)) | (1 << (PostgreSQLParser.KW_TYPE - 344)) | (1 << (PostgreSQLParser.KW_TYPES - 344)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 344)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 344)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 344)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 344)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 344)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 344)) | (1 << (PostgreSQLParser.KW_UNTIL - 344)) | (1 << (PostgreSQLParser.KW_UPDATE - 344)) | (1 << (PostgreSQLParser.KW_VACUUM - 344)) | (1 << (PostgreSQLParser.KW_VALID - 344)) | (1 << (PostgreSQLParser.KW_VALIDATE - 344)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 344)) | (1 << (PostgreSQLParser.KW_VARYING - 344)) | (1 << (PostgreSQLParser.KW_VERSION - 344)))) !== 0) || ((((_la - 376)) & ~0x1F) === 0 && ((1 << (_la - 376)) & ((1 << (PostgreSQLParser.KW_VIEW - 376)) | (1 << (PostgreSQLParser.KW_VOLATILE - 376)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 376)) | (1 << (PostgreSQLParser.KW_WITHOUT - 376)) | (1 << (PostgreSQLParser.KW_WORK - 376)) | (1 << (PostgreSQLParser.KW_WRAPPER - 376)) | (1 << (PostgreSQLParser.KW_WRITE - 376)) | (1 << (PostgreSQLParser.KW_XML - 376)) | (1 << (PostgreSQLParser.KW_YEAR - 376)) | (1 << (PostgreSQLParser.KW_YES - 376)) | (1 << (PostgreSQLParser.KW_ZONE - 376)) | (1 << (PostgreSQLParser.KW_BETWEEN - 376)) | (1 << (PostgreSQLParser.KW_BIGINT - 376)) | (1 << (PostgreSQLParser.KW_BIT - 376)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 376)) | (1 << (PostgreSQLParser.KW_CHAR - 376)) | (1 << (PostgreSQLParser.KW_CHARACTER - 376)) | (1 << (PostgreSQLParser.KW_COALESCE - 376)) | (1 << (PostgreSQLParser.KW_DEC - 376)) | (1 << (PostgreSQLParser.KW_DECIMAL - 376)) | (1 << (PostgreSQLParser.KW_EXISTS - 376)) | (1 << (PostgreSQLParser.KW_EXTRACT - 376)) | (1 << (PostgreSQLParser.KW_FLOAT - 376)) | (1 << (PostgreSQLParser.KW_GREATEST - 376)) | (1 << (PostgreSQLParser.KW_INOUT - 376)) | (1 << (PostgreSQLParser.KW_INT - 376)) | (1 << (PostgreSQLParser.KW_INTEGER - 376)) | (1 << (PostgreSQLParser.KW_INTERVAL - 376)) | (1 << (PostgreSQLParser.KW_LEAST - 376)) | (1 << (PostgreSQLParser.KW_NATIONAL - 376)) | (1 << (PostgreSQLParser.KW_NCHAR - 376)) | (1 << (PostgreSQLParser.KW_NONE - 376)))) !== 0) || ((((_la - 408)) & ~0x1F) === 0 && ((1 << (_la - 408)) & ((1 << (PostgreSQLParser.KW_NULLIF - 408)) | (1 << (PostgreSQLParser.KW_NUMERIC - 408)) | (1 << (PostgreSQLParser.KW_OVERLAY - 408)) | (1 << (PostgreSQLParser.KW_POSITION - 408)) | (1 << (PostgreSQLParser.KW_PRECISION - 408)) | (1 << (PostgreSQLParser.KW_REAL - 408)) | (1 << (PostgreSQLParser.KW_ROW - 408)) | (1 << (PostgreSQLParser.KW_SETOF - 408)) | (1 << (PostgreSQLParser.KW_SMALLINT - 408)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 408)) | (1 << (PostgreSQLParser.KW_TIME - 408)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 408)) | (1 << (PostgreSQLParser.KW_TREAT - 408)) | (1 << (PostgreSQLParser.KW_TRIM - 408)) | (1 << (PostgreSQLParser.KW_VALUES - 408)) | (1 << (PostgreSQLParser.KW_VARCHAR - 408)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 408)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 408)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 408)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 408)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 408)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 408)) | (1 << (PostgreSQLParser.KW_XMLPI - 408)) | (1 << (PostgreSQLParser.KW_XMLROOT - 408)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 408)) | (1 << (PostgreSQLParser.KW_CALL - 408)) | (1 << (PostgreSQLParser.KW_CURRENT - 408)) | (1 << (PostgreSQLParser.KW_ATTACH - 408)) | (1 << (PostgreSQLParser.KW_DETACH - 408)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 408)) | (1 << (PostgreSQLParser.KW_GENERATED - 408)) | (1 << (PostgreSQLParser.KW_LOGGED - 408)))) !== 0) || ((((_la - 440)) & ~0x1F) === 0 && ((1 << (_la - 440)) & ((1 << (PostgreSQLParser.KW_STORED - 440)) | (1 << (PostgreSQLParser.KW_INCLUDE - 440)) | (1 << (PostgreSQLParser.KW_ROUTINE - 440)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 440)) | (1 << (PostgreSQLParser.KW_IMPORT - 440)) | (1 << (PostgreSQLParser.KW_POLICY - 440)) | (1 << (PostgreSQLParser.KW_METHOD - 440)) | (1 << (PostgreSQLParser.KW_REFERENCING - 440)) | (1 << (PostgreSQLParser.KW_NEW - 440)) | (1 << (PostgreSQLParser.KW_OLD - 440)) | (1 << (PostgreSQLParser.KW_VALUE - 440)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 440)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 440)) | (1 << (PostgreSQLParser.KW_OUT - 440)) | (1 << (PostgreSQLParser.KW_ROUTINES - 440)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 440)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 440)) | (1 << (PostgreSQLParser.KW_INPUT - 440)) | (1 << (PostgreSQLParser.KW_SUPPORT - 440)) | (1 << (PostgreSQLParser.KW_PARALLEL - 440)) | (1 << (PostgreSQLParser.KW_SQL - 440)) | (1 << (PostgreSQLParser.KW_DEPENDS - 440)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 440)) | (1 << (PostgreSQLParser.KW_CONFLICT - 440)) | (1 << (PostgreSQLParser.KW_SKIP - 440)) | (1 << (PostgreSQLParser.KW_LOCKED - 440)) | (1 << (PostgreSQLParser.KW_TIES - 440)) | (1 << (PostgreSQLParser.KW_ROLLUP - 440)) | (1 << (PostgreSQLParser.KW_CUBE - 440)) | (1 << (PostgreSQLParser.KW_GROUPING - 440)) | (1 << (PostgreSQLParser.KW_SETS - 440)))) !== 0) || ((((_la - 473)) & ~0x1F) === 0 && ((1 << (_la - 473)) & ((1 << (PostgreSQLParser.KW_ORDINALITY - 473)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 473)) | (1 << (PostgreSQLParser.KW_COLUMNS - 473)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 473)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 473)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 473)) | (1 << (PostgreSQLParser.KW_WITHIN - 473)) | (1 << (PostgreSQLParser.KW_FILTER - 473)) | (1 << (PostgreSQLParser.KW_GROUPS - 473)) | (1 << (PostgreSQLParser.KW_OTHERS - 473)) | (1 << (PostgreSQLParser.KW_NFC - 473)) | (1 << (PostgreSQLParser.KW_NFD - 473)) | (1 << (PostgreSQLParser.KW_NFKC - 473)) | (1 << (PostgreSQLParser.KW_NFKD - 473)) | (1 << (PostgreSQLParser.KW_UESCAPE - 473)) | (1 << (PostgreSQLParser.KW_VIEWS - 473)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 473)) | (1 << (PostgreSQLParser.KW_DUMP - 473)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 473)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 473)) | (1 << (PostgreSQLParser.KW_ERROR - 473)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 473)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 473)) | (1 << (PostgreSQLParser.KW_ALIAS - 473)) | (1 << (PostgreSQLParser.KW_CONSTANT - 473)) | (1 << (PostgreSQLParser.KW_PERFORM - 473)) | (1 << (PostgreSQLParser.KW_GET - 473)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 473)) | (1 << (PostgreSQLParser.KW_STACKED - 473)) | (1 << (PostgreSQLParser.KW_ELSIF - 473)) | (1 << (PostgreSQLParser.KW_REVERSE - 473)))) !== 0) || ((((_la - 506)) & ~0x1F) === 0 && ((1 << (_la - 506)) & ((1 << (PostgreSQLParser.KW_SLICE - 506)) | (1 << (PostgreSQLParser.KW_EXIT - 506)) | (1 << (PostgreSQLParser.KW_RETURN - 506)) | (1 << (PostgreSQLParser.KW_QUERY - 506)) | (1 << (PostgreSQLParser.KW_RAISE - 506)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 506)) | (1 << (PostgreSQLParser.KW_DEBUG - 506)) | (1 << (PostgreSQLParser.KW_LOG - 506)) | (1 << (PostgreSQLParser.KW_INFO - 506)) | (1 << (PostgreSQLParser.KW_NOTICE - 506)) | (1 << (PostgreSQLParser.KW_WARNING - 506)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 506)) | (1 << (PostgreSQLParser.KW_ASSERT - 506)) | (1 << (PostgreSQLParser.KW_OPEN - 506)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 4141; this.opttableelementlist(); } } this.state = 4144; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 4146; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_INHERITS) { { this.state = 4145; this.optinherit(); } } this.state = 4148; this.match(PostgreSQLParser.KW_SERVER); this.state = 4149; this.name(); this.state = 4151; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 320, this._ctx) ) { case 1: { this.state = 4150; this.create_generic_options(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4153; this.match(PostgreSQLParser.KW_CREATE); this.state = 4154; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 4155; this.match(PostgreSQLParser.KW_TABLE); this.state = 4157; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 321, this._ctx) ) { case 1: { this.state = 4156; this.opt_if_not_exists(); } break; } this.state = 4159; this.table_name_create(); this.state = 4160; this.match(PostgreSQLParser.KW_PARTITION); this.state = 4161; this.match(PostgreSQLParser.KW_OF); this.state = 4162; this.table_name(); this.state = 4164; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 4163; this.opttypedtableelementlist(); } } this.state = 4166; this.partitionboundspec(); this.state = 4167; this.match(PostgreSQLParser.KW_SERVER); this.state = 4168; this.name(); this.state = 4170; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 323, this._ctx) ) { case 1: { this.state = 4169; this.create_generic_options(); } break; } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public importforeignschemastmt(): ImportforeignschemastmtContext { let _localctx: ImportforeignschemastmtContext = new ImportforeignschemastmtContext(this._ctx, this.state); this.enterRule(_localctx, 394, PostgreSQLParser.RULE_importforeignschemastmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4174; this.match(PostgreSQLParser.KW_IMPORT); this.state = 4175; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 4176; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 4177; this.schema_name(); this.state = 4179; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_EXCEPT || _la === PostgreSQLParser.KW_LIMIT) { { this.state = 4178; this.import_qualification(); } } this.state = 4181; this.match(PostgreSQLParser.KW_FROM); this.state = 4182; this.match(PostgreSQLParser.KW_SERVER); this.state = 4183; this.name(); this.state = 4184; this.match(PostgreSQLParser.KW_INTO); this.state = 4185; this.name(); this.state = 4187; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 326, this._ctx) ) { case 1: { this.state = 4186; this.create_generic_options(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public import_qualification_type(): Import_qualification_typeContext { let _localctx: Import_qualification_typeContext = new Import_qualification_typeContext(this._ctx, this.state); this.enterRule(_localctx, 396, PostgreSQLParser.RULE_import_qualification_type); try { this.state = 4192; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_LIMIT: this.enterOuterAlt(_localctx, 1); { this.state = 4189; this.match(PostgreSQLParser.KW_LIMIT); this.state = 4190; this.match(PostgreSQLParser.KW_TO); } break; case PostgreSQLParser.KW_EXCEPT: this.enterOuterAlt(_localctx, 2); { this.state = 4191; this.match(PostgreSQLParser.KW_EXCEPT); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public import_qualification(): Import_qualificationContext { let _localctx: Import_qualificationContext = new Import_qualificationContext(this._ctx, this.state); this.enterRule(_localctx, 398, PostgreSQLParser.RULE_import_qualification); try { this.enterOuterAlt(_localctx, 1); { this.state = 4194; this.import_qualification_type(); this.state = 4195; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4196; this.relation_expr_list(); this.state = 4197; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createusermappingstmt(): CreateusermappingstmtContext { let _localctx: CreateusermappingstmtContext = new CreateusermappingstmtContext(this._ctx, this.state); this.enterRule(_localctx, 400, PostgreSQLParser.RULE_createusermappingstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4199; this.match(PostgreSQLParser.KW_CREATE); this.state = 4200; this.match(PostgreSQLParser.KW_USER); this.state = 4201; this.match(PostgreSQLParser.KW_MAPPING); this.state = 4203; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_IF) { { this.state = 4202; this.opt_if_not_exists(); } } this.state = 4205; this.match(PostgreSQLParser.KW_FOR); this.state = 4206; this.auth_ident(); this.state = 4207; this.match(PostgreSQLParser.KW_SERVER); this.state = 4208; this.name(); this.state = 4210; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 329, this._ctx) ) { case 1: { this.state = 4209; this.create_generic_options(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public auth_ident(): Auth_identContext { let _localctx: Auth_identContext = new Auth_identContext(this._ctx, this.state); this.enterRule(_localctx, 402, PostgreSQLParser.RULE_auth_ident); try { this.state = 4214; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_CURRENT_ROLE: case PostgreSQLParser.KW_CURRENT_USER: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_SESSION_USER: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_PUBLIC: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 4212; this.rolespec(); } break; case PostgreSQLParser.KW_USER: this.enterOuterAlt(_localctx, 2); { this.state = 4213; this.match(PostgreSQLParser.KW_USER); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterusermappingstmt(): AlterusermappingstmtContext { let _localctx: AlterusermappingstmtContext = new AlterusermappingstmtContext(this._ctx, this.state); this.enterRule(_localctx, 404, PostgreSQLParser.RULE_alterusermappingstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 4216; this.match(PostgreSQLParser.KW_ALTER); this.state = 4217; this.match(PostgreSQLParser.KW_USER); this.state = 4218; this.match(PostgreSQLParser.KW_MAPPING); this.state = 4219; this.match(PostgreSQLParser.KW_FOR); this.state = 4220; this.auth_ident(); this.state = 4221; this.match(PostgreSQLParser.KW_SERVER); this.state = 4222; this.name(); this.state = 4223; this.alter_generic_options(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createpolicystmt(): CreatepolicystmtContext { let _localctx: CreatepolicystmtContext = new CreatepolicystmtContext(this._ctx, this.state); this.enterRule(_localctx, 406, PostgreSQLParser.RULE_createpolicystmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4225; this.match(PostgreSQLParser.KW_CREATE); this.state = 4226; this.match(PostgreSQLParser.KW_POLICY); this.state = 4227; this.name(); this.state = 4228; this.match(PostgreSQLParser.KW_ON); this.state = 4229; this.qualified_name(); this.state = 4231; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 331, this._ctx) ) { case 1: { this.state = 4230; this.rowsecuritydefaultpermissive(); } break; } this.state = 4234; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 4233; this.rowsecuritydefaultforcmd(); } } this.state = 4237; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_TO) { { this.state = 4236; this.rowsecuritydefaulttorole(); } } this.state = 4240; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 4239; this.rowsecurityoptionalexpr(); } } this.state = 4243; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 335, this._ctx) ) { case 1: { this.state = 4242; this.rowsecurityoptionalwithcheck(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterpolicystmt(): AlterpolicystmtContext { let _localctx: AlterpolicystmtContext = new AlterpolicystmtContext(this._ctx, this.state); this.enterRule(_localctx, 408, PostgreSQLParser.RULE_alterpolicystmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4245; this.match(PostgreSQLParser.KW_ALTER); this.state = 4246; this.match(PostgreSQLParser.KW_POLICY); this.state = 4247; this.name(); this.state = 4248; this.match(PostgreSQLParser.KW_ON); this.state = 4249; this.qualified_name(); this.state = 4251; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_TO) { { this.state = 4250; this.rowsecurityoptionaltorole(); } } this.state = 4254; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 4253; this.rowsecurityoptionalexpr(); } } this.state = 4257; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 338, this._ctx) ) { case 1: { this.state = 4256; this.rowsecurityoptionalwithcheck(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterprocedurestmt(): AlterprocedurestmtContext { let _localctx: AlterprocedurestmtContext = new AlterprocedurestmtContext(this._ctx, this.state); this.enterRule(_localctx, 410, PostgreSQLParser.RULE_alterprocedurestmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4259; this.match(PostgreSQLParser.KW_ALTER); this.state = 4260; this.match(PostgreSQLParser.KW_PROCEDURE); this.state = 4261; this.procedure_name(); this.state = 4263; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 4262; this.func_args(); } } this.state = 4265; this.procedure_cluase(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public procedure_cluase(): Procedure_cluaseContext { let _localctx: Procedure_cluaseContext = new Procedure_cluaseContext(this._ctx, this.state); this.enterRule(_localctx, 412, PostgreSQLParser.RULE_procedure_cluase); let _la: number; try { let _alt: number; this.state = 4293; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 343, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4267; this.procedure_action(); this.state = 4271; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 340, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 4268; this.procedure_action(); } } } this.state = 4273; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 340, this._ctx); } this.state = 4275; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 341, this._ctx) ) { case 1: { this.state = 4274; this.match(PostgreSQLParser.KW_RESTRICT); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4277; this.match(PostgreSQLParser.KW_RENAME); this.state = 4278; this.match(PostgreSQLParser.KW_TO); this.state = 4279; this.procedure_name_create(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 4280; this.match(PostgreSQLParser.KW_OWNER); this.state = 4281; this.match(PostgreSQLParser.KW_TO); this.state = 4282; this.rolespec(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 4283; this.match(PostgreSQLParser.KW_SET); this.state = 4284; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 4285; this.schema_name_create(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 4287; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NO) { { this.state = 4286; this.match(PostgreSQLParser.KW_NO); } } this.state = 4289; this.match(PostgreSQLParser.KW_DEPENDS); this.state = 4290; this.match(PostgreSQLParser.KW_ON); this.state = 4291; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 4292; this.name(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public procedure_action(): Procedure_actionContext { let _localctx: Procedure_actionContext = new Procedure_actionContext(this._ctx, this.state); this.enterRule(_localctx, 414, PostgreSQLParser.RULE_procedure_action); let _la: number; try { this.state = 4323; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 348, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4305; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 346, this._ctx) ) { case 1: { this.state = 4296; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_EXTERNAL) { { this.state = 4295; this.match(PostgreSQLParser.KW_EXTERNAL); } } this.state = 4298; this.match(PostgreSQLParser.KW_SECURITY); this.state = 4299; this.match(PostgreSQLParser.KW_INVOKER); } break; case 2: { this.state = 4301; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_EXTERNAL) { { this.state = 4300; this.match(PostgreSQLParser.KW_EXTERNAL); } } this.state = 4303; this.match(PostgreSQLParser.KW_SECURITY); this.state = 4304; this.match(PostgreSQLParser.KW_DEFINER); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4307; this.match(PostgreSQLParser.KW_SET); this.state = 4308; this.name(); this.state = 4309; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.STAR || _la === PostgreSQLParser.KW_TO)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 4312; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 347, this._ctx) ) { case 1: { this.state = 4310; this.name(); } break; case 2: { this.state = 4311; this.match(PostgreSQLParser.KW_DEFAULT); } break; } } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 4314; this.match(PostgreSQLParser.KW_SET); this.state = 4315; this.name(); this.state = 4316; this.match(PostgreSQLParser.KW_FROM); this.state = 4317; this.match(PostgreSQLParser.KW_CURRENT); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 4319; this.match(PostgreSQLParser.KW_RESET); this.state = 4320; this.name(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 4321; this.match(PostgreSQLParser.KW_RESET); this.state = 4322; this.match(PostgreSQLParser.KW_ALL); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public rowsecurityoptionalexpr(): RowsecurityoptionalexprContext { let _localctx: RowsecurityoptionalexprContext = new RowsecurityoptionalexprContext(this._ctx, this.state); this.enterRule(_localctx, 416, PostgreSQLParser.RULE_rowsecurityoptionalexpr); try { this.enterOuterAlt(_localctx, 1); { this.state = 4325; this.match(PostgreSQLParser.KW_USING); this.state = 4326; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4327; this.a_expr(); this.state = 4328; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public rowsecurityoptionalwithcheck(): RowsecurityoptionalwithcheckContext { let _localctx: RowsecurityoptionalwithcheckContext = new RowsecurityoptionalwithcheckContext(this._ctx, this.state); this.enterRule(_localctx, 418, PostgreSQLParser.RULE_rowsecurityoptionalwithcheck); try { this.enterOuterAlt(_localctx, 1); { this.state = 4330; this.match(PostgreSQLParser.KW_WITH); this.state = 4331; this.match(PostgreSQLParser.KW_CHECK); this.state = 4332; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4333; this.a_expr(); this.state = 4334; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public rowsecuritydefaulttorole(): RowsecuritydefaulttoroleContext { let _localctx: RowsecuritydefaulttoroleContext = new RowsecuritydefaulttoroleContext(this._ctx, this.state); this.enterRule(_localctx, 420, PostgreSQLParser.RULE_rowsecuritydefaulttorole); try { this.enterOuterAlt(_localctx, 1); { this.state = 4336; this.match(PostgreSQLParser.KW_TO); this.state = 4337; this.role_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public rowsecurityoptionaltorole(): RowsecurityoptionaltoroleContext { let _localctx: RowsecurityoptionaltoroleContext = new RowsecurityoptionaltoroleContext(this._ctx, this.state); this.enterRule(_localctx, 422, PostgreSQLParser.RULE_rowsecurityoptionaltorole); try { this.enterOuterAlt(_localctx, 1); { this.state = 4339; this.match(PostgreSQLParser.KW_TO); this.state = 4340; this.role_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public rowsecuritydefaultpermissive(): RowsecuritydefaultpermissiveContext { let _localctx: RowsecuritydefaultpermissiveContext = new RowsecuritydefaultpermissiveContext(this._ctx, this.state); this.enterRule(_localctx, 424, PostgreSQLParser.RULE_rowsecuritydefaultpermissive); try { this.enterOuterAlt(_localctx, 1); { this.state = 4342; this.match(PostgreSQLParser.KW_AS); this.state = 4346; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_PERMISSIVE: { this.state = 4343; this.match(PostgreSQLParser.KW_PERMISSIVE); } break; case PostgreSQLParser.KW_RESTRICTIVE: { this.state = 4344; this.match(PostgreSQLParser.KW_RESTRICTIVE); } break; case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 4345; this.identifier(); } break; default: throw new NoViableAltException(this); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public rowsecuritydefaultforcmd(): RowsecuritydefaultforcmdContext { let _localctx: RowsecuritydefaultforcmdContext = new RowsecuritydefaultforcmdContext(this._ctx, this.state); this.enterRule(_localctx, 426, PostgreSQLParser.RULE_rowsecuritydefaultforcmd); try { this.enterOuterAlt(_localctx, 1); { this.state = 4348; this.match(PostgreSQLParser.KW_FOR); this.state = 4349; this.row_security_cmd(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public row_security_cmd(): Row_security_cmdContext { let _localctx: Row_security_cmdContext = new Row_security_cmdContext(this._ctx, this.state); this.enterRule(_localctx, 428, PostgreSQLParser.RULE_row_security_cmd); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4351; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_ALL || _la === PostgreSQLParser.KW_SELECT || _la === PostgreSQLParser.KW_DELETE || _la === PostgreSQLParser.KW_INSERT || _la === PostgreSQLParser.KW_UPDATE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createamstmt(): CreateamstmtContext { let _localctx: CreateamstmtContext = new CreateamstmtContext(this._ctx, this.state); this.enterRule(_localctx, 430, PostgreSQLParser.RULE_createamstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 4353; this.match(PostgreSQLParser.KW_CREATE); this.state = 4354; this.match(PostgreSQLParser.KW_ACCESS); this.state = 4355; this.match(PostgreSQLParser.KW_METHOD); this.state = 4356; this.name(); this.state = 4357; this.match(PostgreSQLParser.KW_TYPE); this.state = 4358; this.am_type(); this.state = 4359; this.match(PostgreSQLParser.KW_HANDLER); this.state = 4360; this.handler_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public am_type(): Am_typeContext { let _localctx: Am_typeContext = new Am_typeContext(this._ctx, this.state); this.enterRule(_localctx, 432, PostgreSQLParser.RULE_am_type); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4362; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_TABLE || _la === PostgreSQLParser.KW_INDEX)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createtrigstmt(): CreatetrigstmtContext { let _localctx: CreatetrigstmtContext = new CreatetrigstmtContext(this._ctx, this.state); this.enterRule(_localctx, 434, PostgreSQLParser.RULE_createtrigstmt); let _la: number; try { this.state = 4418; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 359, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4364; this.match(PostgreSQLParser.KW_CREATE); this.state = 4366; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OR) { { this.state = 4365; this.opt_or_replace(); } } this.state = 4368; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 4369; this.name(); this.state = 4370; this.triggeractiontime(); this.state = 4371; this.triggerevents(); this.state = 4372; this.match(PostgreSQLParser.KW_ON); this.state = 4373; this.table_name(); this.state = 4375; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_REFERENCING) { { this.state = 4374; this.triggerreferencing(); } } this.state = 4378; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 4377; this.triggerforspec(); } } this.state = 4381; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHEN) { { this.state = 4380; this.triggerwhen(); } } this.state = 4383; this.match(PostgreSQLParser.KW_EXECUTE); this.state = 4384; this.function_or_procedure(); this.state = 4385; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4386; this.triggerfuncargs(); this.state = 4387; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4389; this.match(PostgreSQLParser.KW_CREATE); this.state = 4391; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OR) { { this.state = 4390; this.opt_or_replace(); } } this.state = 4394; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_CONSTRAINT) { { this.state = 4393; this.match(PostgreSQLParser.KW_CONSTRAINT); } } this.state = 4396; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 4397; this.name(); this.state = 4398; this.triggeractiontime(); this.state = 4399; this.triggerevents(); this.state = 4400; this.match(PostgreSQLParser.KW_ON); this.state = 4401; this.table_name(); this.state = 4403; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM) { { this.state = 4402; this.optconstrfromtable(); } } this.state = 4405; this.constraintattributespec(); this.state = 4407; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 4406; this.foreachrow(); } } this.state = 4410; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHEN) { { this.state = 4409; this.triggerwhen(); } } this.state = 4412; this.match(PostgreSQLParser.KW_EXECUTE); this.state = 4413; this.function_or_procedure(); this.state = 4414; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4415; this.triggerfuncargs(); this.state = 4416; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public triggeractiontime(): TriggeractiontimeContext { let _localctx: TriggeractiontimeContext = new TriggeractiontimeContext(this._ctx, this.state); this.enterRule(_localctx, 436, PostgreSQLParser.RULE_triggeractiontime); try { this.state = 4424; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_BEFORE: this.enterOuterAlt(_localctx, 1); { this.state = 4420; this.match(PostgreSQLParser.KW_BEFORE); } break; case PostgreSQLParser.KW_AFTER: this.enterOuterAlt(_localctx, 2); { this.state = 4421; this.match(PostgreSQLParser.KW_AFTER); } break; case PostgreSQLParser.KW_INSTEAD: this.enterOuterAlt(_localctx, 3); { this.state = 4422; this.match(PostgreSQLParser.KW_INSTEAD); this.state = 4423; this.match(PostgreSQLParser.KW_OF); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public foreachrow(): ForeachrowContext { let _localctx: ForeachrowContext = new ForeachrowContext(this._ctx, this.state); this.enterRule(_localctx, 438, PostgreSQLParser.RULE_foreachrow); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4426; this.match(PostgreSQLParser.KW_FOR); this.state = 4428; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_EACH) { { this.state = 4427; this.match(PostgreSQLParser.KW_EACH); } } this.state = 4430; this.roworstatment(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public roworstatment(): RoworstatmentContext { let _localctx: RoworstatmentContext = new RoworstatmentContext(this._ctx, this.state); this.enterRule(_localctx, 440, PostgreSQLParser.RULE_roworstatment); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4432; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_STATEMENT || _la === PostgreSQLParser.KW_ROW)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public triggerevents(): TriggereventsContext { let _localctx: TriggereventsContext = new TriggereventsContext(this._ctx, this.state); this.enterRule(_localctx, 442, PostgreSQLParser.RULE_triggerevents); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4434; this.triggeroneevent(); this.state = 4439; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.KW_OR) { { { this.state = 4435; this.match(PostgreSQLParser.KW_OR); this.state = 4436; this.triggeroneevent(); } } this.state = 4441; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public triggeroneevent(): TriggeroneeventContext { let _localctx: TriggeroneeventContext = new TriggeroneeventContext(this._ctx, this.state); this.enterRule(_localctx, 444, PostgreSQLParser.RULE_triggeroneevent); try { this.state = 4449; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 363, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4442; this.match(PostgreSQLParser.KW_INSERT); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4443; this.match(PostgreSQLParser.KW_DELETE); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 4444; this.match(PostgreSQLParser.KW_UPDATE); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 4445; this.match(PostgreSQLParser.KW_UPDATE); this.state = 4446; this.match(PostgreSQLParser.KW_OF); this.state = 4447; this.columnlist(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 4448; this.match(PostgreSQLParser.KW_TRUNCATE); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public triggerreferencing(): TriggerreferencingContext { let _localctx: TriggerreferencingContext = new TriggerreferencingContext(this._ctx, this.state); this.enterRule(_localctx, 446, PostgreSQLParser.RULE_triggerreferencing); try { this.enterOuterAlt(_localctx, 1); { this.state = 4451; this.match(PostgreSQLParser.KW_REFERENCING); this.state = 4452; this.triggertransitions(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public triggertransitions(): TriggertransitionsContext { let _localctx: TriggertransitionsContext = new TriggertransitionsContext(this._ctx, this.state); this.enterRule(_localctx, 448, PostgreSQLParser.RULE_triggertransitions); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4455; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 4454; this.triggertransition(); } } this.state = 4457; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === PostgreSQLParser.KW_NEW || _la === PostgreSQLParser.KW_OLD); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public triggertransition(): TriggertransitionContext { let _localctx: TriggertransitionContext = new TriggertransitionContext(this._ctx, this.state); this.enterRule(_localctx, 450, PostgreSQLParser.RULE_triggertransition); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4459; this.transitionoldornew(); this.state = 4460; this.transitionrowortable(); this.state = 4462; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AS) { { this.state = 4461; this.opt_as(); } } this.state = 4464; this.transitionrelname(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public transitionoldornew(): TransitionoldornewContext { let _localctx: TransitionoldornewContext = new TransitionoldornewContext(this._ctx, this.state); this.enterRule(_localctx, 452, PostgreSQLParser.RULE_transitionoldornew); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4466; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_NEW || _la === PostgreSQLParser.KW_OLD)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public transitionrowortable(): TransitionrowortableContext { let _localctx: TransitionrowortableContext = new TransitionrowortableContext(this._ctx, this.state); this.enterRule(_localctx, 454, PostgreSQLParser.RULE_transitionrowortable); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4468; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_TABLE || _la === PostgreSQLParser.KW_ROW)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public transitionrelname(): TransitionrelnameContext { let _localctx: TransitionrelnameContext = new TransitionrelnameContext(this._ctx, this.state); this.enterRule(_localctx, 456, PostgreSQLParser.RULE_transitionrelname); try { this.enterOuterAlt(_localctx, 1); { this.state = 4470; this.colid(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public triggerforspec(): TriggerforspecContext { let _localctx: TriggerforspecContext = new TriggerforspecContext(this._ctx, this.state); this.enterRule(_localctx, 458, PostgreSQLParser.RULE_triggerforspec); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4472; this.match(PostgreSQLParser.KW_FOR); this.state = 4474; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_EACH) { { this.state = 4473; this.triggerforopteach(); } } this.state = 4476; this.triggerfortype(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public triggerforopteach(): TriggerforopteachContext { let _localctx: TriggerforopteachContext = new TriggerforopteachContext(this._ctx, this.state); this.enterRule(_localctx, 460, PostgreSQLParser.RULE_triggerforopteach); try { this.enterOuterAlt(_localctx, 1); { this.state = 4478; this.match(PostgreSQLParser.KW_EACH); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public triggerfortype(): TriggerfortypeContext { let _localctx: TriggerfortypeContext = new TriggerfortypeContext(this._ctx, this.state); this.enterRule(_localctx, 462, PostgreSQLParser.RULE_triggerfortype); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4480; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_STATEMENT || _la === PostgreSQLParser.KW_ROW)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public triggerwhen(): TriggerwhenContext { let _localctx: TriggerwhenContext = new TriggerwhenContext(this._ctx, this.state); this.enterRule(_localctx, 464, PostgreSQLParser.RULE_triggerwhen); try { this.enterOuterAlt(_localctx, 1); { this.state = 4482; this.match(PostgreSQLParser.KW_WHEN); this.state = 4483; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4484; this.a_expr(); this.state = 4485; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public function_or_procedure(): Function_or_procedureContext { let _localctx: Function_or_procedureContext = new Function_or_procedureContext(this._ctx, this.state); this.enterRule(_localctx, 466, PostgreSQLParser.RULE_function_or_procedure); try { this.state = 4491; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_FUNCTION: this.enterOuterAlt(_localctx, 1); { this.state = 4487; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 4488; this.function_name(); } break; case PostgreSQLParser.KW_PROCEDURE: this.enterOuterAlt(_localctx, 2); { this.state = 4489; this.match(PostgreSQLParser.KW_PROCEDURE); this.state = 4490; this.procedure_name(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public triggerfuncargs(): TriggerfuncargsContext { let _localctx: TriggerfuncargsContext = new TriggerfuncargsContext(this._ctx, this.state); this.enterRule(_localctx, 468, PostgreSQLParser.RULE_triggerfuncargs); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4495; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_ALL: case PostgreSQLParser.KW_ANALYSE: case PostgreSQLParser.KW_ANALYZE: case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ANY: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_AS: case PostgreSQLParser.KW_ASC: case PostgreSQLParser.KW_ASYMMETRIC: case PostgreSQLParser.KW_BOTH: case PostgreSQLParser.KW_CASE: case PostgreSQLParser.KW_CAST: case PostgreSQLParser.KW_CHECK: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_CREATE: case PostgreSQLParser.KW_CURRENT_CATALOG: case PostgreSQLParser.KW_CURRENT_DATE: case PostgreSQLParser.KW_CURRENT_ROLE: case PostgreSQLParser.KW_CURRENT_TIME: case PostgreSQLParser.KW_CURRENT_TIMESTAMP: case PostgreSQLParser.KW_CURRENT_USER: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DEFERRABLE: case PostgreSQLParser.KW_DESC: case PostgreSQLParser.KW_DISTINCT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_ELSE: case PostgreSQLParser.KW_EXCEPT: case PostgreSQLParser.KW_FALSE: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_FOR: case PostgreSQLParser.KW_FOREIGN: case PostgreSQLParser.KW_FROM: case PostgreSQLParser.KW_GRANT: case PostgreSQLParser.KW_GROUP: case PostgreSQLParser.KW_HAVING: case PostgreSQLParser.KW_IN: case PostgreSQLParser.KW_INITIALLY: case PostgreSQLParser.KW_INTERSECT: case PostgreSQLParser.KW_LATERAL: case PostgreSQLParser.KW_LEADING: case PostgreSQLParser.KW_LIMIT: case PostgreSQLParser.KW_LOCALTIME: case PostgreSQLParser.KW_LOCALTIMESTAMP: case PostgreSQLParser.KW_NOT: case PostgreSQLParser.KW_NULL: case PostgreSQLParser.KW_OFFSET: case PostgreSQLParser.KW_ON: case PostgreSQLParser.KW_ONLY: case PostgreSQLParser.KW_OR: case PostgreSQLParser.KW_ORDER: case PostgreSQLParser.KW_PLACING: case PostgreSQLParser.KW_PRIMARY: case PostgreSQLParser.KW_REFERENCES: case PostgreSQLParser.KW_RETURNING: case PostgreSQLParser.KW_SELECT: case PostgreSQLParser.KW_SESSION_USER: case PostgreSQLParser.KW_SOME: case PostgreSQLParser.KW_SYMMETRIC: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_THEN: case PostgreSQLParser.KW_TO: case PostgreSQLParser.KW_TRAILING: case PostgreSQLParser.KW_TRUE: case PostgreSQLParser.KW_UNION: case PostgreSQLParser.KW_UNIQUE: case PostgreSQLParser.KW_USER: case PostgreSQLParser.KW_USING: case PostgreSQLParser.KW_VARIADIC: case PostgreSQLParser.KW_WHEN: case PostgreSQLParser.KW_WHERE: case PostgreSQLParser.KW_WINDOW: case PostgreSQLParser.KW_WITH: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_END: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.Integral: case PostgreSQLParser.Numeric: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 4493; this.triggerfuncarg(); } break; case PostgreSQLParser.CLOSE_PAREN: case PostgreSQLParser.COMMA: // tslint:disable-next-line:no-empty { } break; default: throw new NoViableAltException(this); } this.state = 4501; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 4497; this.match(PostgreSQLParser.COMMA); this.state = 4498; this.triggerfuncarg(); } } this.state = 4503; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public triggerfuncarg(): TriggerfuncargContext { let _localctx: TriggerfuncargContext = new TriggerfuncargContext(this._ctx, this.state); this.enterRule(_localctx, 470, PostgreSQLParser.RULE_triggerfuncarg); try { this.state = 4508; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 370, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4504; this.iconst(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4505; this.fconst(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 4506; this.sconst(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 4507; this.collabel(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public optconstrfromtable(): OptconstrfromtableContext { let _localctx: OptconstrfromtableContext = new OptconstrfromtableContext(this._ctx, this.state); this.enterRule(_localctx, 472, PostgreSQLParser.RULE_optconstrfromtable); try { this.enterOuterAlt(_localctx, 1); { this.state = 4510; this.match(PostgreSQLParser.KW_FROM); this.state = 4511; this.qualified_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public constraintattributespec(): ConstraintattributespecContext { let _localctx: ConstraintattributespecContext = new ConstraintattributespecContext(this._ctx, this.state); this.enterRule(_localctx, 474, PostgreSQLParser.RULE_constraintattributespec); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 4516; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 371, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 4513; this.constraintattributeElem(); } } } this.state = 4518; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 371, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public constraintattributeElem(): ConstraintattributeElemContext { let _localctx: ConstraintattributeElemContext = new ConstraintattributeElemContext(this._ctx, this.state); this.enterRule(_localctx, 476, PostgreSQLParser.RULE_constraintattributeElem); try { this.state = 4530; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 372, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4519; this.match(PostgreSQLParser.KW_NOT); this.state = 4520; this.match(PostgreSQLParser.KW_DEFERRABLE); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4521; this.match(PostgreSQLParser.KW_DEFERRABLE); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 4522; this.match(PostgreSQLParser.KW_INITIALLY); this.state = 4523; this.match(PostgreSQLParser.KW_IMMEDIATE); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 4524; this.match(PostgreSQLParser.KW_INITIALLY); this.state = 4525; this.match(PostgreSQLParser.KW_DEFERRED); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 4526; this.match(PostgreSQLParser.KW_NOT); this.state = 4527; this.match(PostgreSQLParser.KW_VALID); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 4528; this.match(PostgreSQLParser.KW_NO); this.state = 4529; this.match(PostgreSQLParser.KW_INHERIT); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createeventtrigstmt(): CreateeventtrigstmtContext { let _localctx: CreateeventtrigstmtContext = new CreateeventtrigstmtContext(this._ctx, this.state); this.enterRule(_localctx, 478, PostgreSQLParser.RULE_createeventtrigstmt); try { this.state = 4556; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 373, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4532; this.match(PostgreSQLParser.KW_CREATE); this.state = 4533; this.match(PostgreSQLParser.KW_EVENT); this.state = 4534; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 4535; this.name(); this.state = 4536; this.match(PostgreSQLParser.KW_ON); this.state = 4537; this.collabel(); this.state = 4538; this.match(PostgreSQLParser.KW_EXECUTE); this.state = 4539; this.function_or_procedure(); this.state = 4540; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4541; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4543; this.match(PostgreSQLParser.KW_CREATE); this.state = 4544; this.match(PostgreSQLParser.KW_EVENT); this.state = 4545; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 4546; this.name(); this.state = 4547; this.match(PostgreSQLParser.KW_ON); this.state = 4548; this.collabel(); this.state = 4549; this.match(PostgreSQLParser.KW_WHEN); this.state = 4550; this.event_trigger_when_list(); this.state = 4551; this.match(PostgreSQLParser.KW_EXECUTE); this.state = 4552; this.function_or_procedure(); this.state = 4553; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4554; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public event_trigger_when_list(): Event_trigger_when_listContext { let _localctx: Event_trigger_when_listContext = new Event_trigger_when_listContext(this._ctx, this.state); this.enterRule(_localctx, 480, PostgreSQLParser.RULE_event_trigger_when_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4558; this.event_trigger_when_item(); this.state = 4563; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.KW_AND) { { { this.state = 4559; this.match(PostgreSQLParser.KW_AND); this.state = 4560; this.event_trigger_when_item(); } } this.state = 4565; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public event_trigger_when_item(): Event_trigger_when_itemContext { let _localctx: Event_trigger_when_itemContext = new Event_trigger_when_itemContext(this._ctx, this.state); this.enterRule(_localctx, 482, PostgreSQLParser.RULE_event_trigger_when_item); try { this.enterOuterAlt(_localctx, 1); { this.state = 4566; this.colid(); this.state = 4567; this.match(PostgreSQLParser.KW_IN); this.state = 4568; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4569; this.event_trigger_value_list(); this.state = 4570; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public event_trigger_value_list(): Event_trigger_value_listContext { let _localctx: Event_trigger_value_listContext = new Event_trigger_value_listContext(this._ctx, this.state); this.enterRule(_localctx, 484, PostgreSQLParser.RULE_event_trigger_value_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4572; this.sconst(); this.state = 4577; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 4573; this.match(PostgreSQLParser.COMMA); this.state = 4574; this.sconst(); } } this.state = 4579; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public altereventtrigstmt(): AltereventtrigstmtContext { let _localctx: AltereventtrigstmtContext = new AltereventtrigstmtContext(this._ctx, this.state); this.enterRule(_localctx, 486, PostgreSQLParser.RULE_altereventtrigstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 4580; this.match(PostgreSQLParser.KW_ALTER); this.state = 4581; this.match(PostgreSQLParser.KW_EVENT); this.state = 4582; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 4583; this.name(); this.state = 4584; this.enable_trigger(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public enable_trigger(): Enable_triggerContext { let _localctx: Enable_triggerContext = new Enable_triggerContext(this._ctx, this.state); this.enterRule(_localctx, 488, PostgreSQLParser.RULE_enable_trigger); try { this.state = 4592; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 376, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4586; this.match(PostgreSQLParser.KW_ENABLE); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4587; this.match(PostgreSQLParser.KW_ENABLE); this.state = 4588; this.match(PostgreSQLParser.KW_REPLICA); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 4589; this.match(PostgreSQLParser.KW_ENABLE); this.state = 4590; this.match(PostgreSQLParser.KW_ALWAYS); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 4591; this.match(PostgreSQLParser.KW_DISABLE); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createassertionstmt(): CreateassertionstmtContext { let _localctx: CreateassertionstmtContext = new CreateassertionstmtContext(this._ctx, this.state); this.enterRule(_localctx, 490, PostgreSQLParser.RULE_createassertionstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 4594; this.match(PostgreSQLParser.KW_CREATE); this.state = 4595; this.match(PostgreSQLParser.KW_ASSERTION); this.state = 4596; this.any_name(); this.state = 4597; this.match(PostgreSQLParser.KW_CHECK); this.state = 4598; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4599; this.a_expr(); this.state = 4600; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 4601; this.constraintattributespec(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public definestmt(): DefinestmtContext { let _localctx: DefinestmtContext = new DefinestmtContext(this._ctx, this.state); this.enterRule(_localctx, 492, PostgreSQLParser.RULE_definestmt); let _la: number; try { this.state = 4706; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 383, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4603; this.match(PostgreSQLParser.KW_CREATE); this.state = 4605; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OR) { { this.state = 4604; this.opt_or_replace(); } } this.state = 4607; this.match(PostgreSQLParser.KW_AGGREGATE); this.state = 4608; this.function_name(); this.state = 4609; this.aggr_args(); this.state = 4610; this.definition(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4612; this.match(PostgreSQLParser.KW_CREATE); this.state = 4614; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OR) { { this.state = 4613; this.opt_or_replace(); } } this.state = 4616; this.match(PostgreSQLParser.KW_AGGREGATE); this.state = 4617; this.function_name(); this.state = 4618; this.old_aggr_definition(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 4620; this.match(PostgreSQLParser.KW_CREATE); this.state = 4621; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 4622; this.any_operator(); this.state = 4623; this.definition(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 4625; this.match(PostgreSQLParser.KW_CREATE); this.state = 4626; this.match(PostgreSQLParser.KW_TYPE); this.state = 4627; this.any_name(); this.state = 4628; this.definition(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 4630; this.match(PostgreSQLParser.KW_CREATE); this.state = 4631; this.match(PostgreSQLParser.KW_TYPE); this.state = 4632; this.any_name(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 4633; this.match(PostgreSQLParser.KW_CREATE); this.state = 4634; this.match(PostgreSQLParser.KW_TYPE); this.state = 4635; this.any_name(); this.state = 4636; this.match(PostgreSQLParser.KW_AS); this.state = 4637; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4639; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (PostgreSQLParser.KW_TABLE - 92)) | (1 << (PostgreSQLParser.KW_IS - 92)) | (1 << (PostgreSQLParser.KW_OUTER - 92)))) !== 0) || ((((_la - 124)) & ~0x1F) === 0 && ((1 << (_la - 124)) & ((1 << (PostgreSQLParser.KW_OVER - 124)) | (1 << (PostgreSQLParser.KW_ABORT - 124)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 124)) | (1 << (PostgreSQLParser.KW_ACCESS - 124)) | (1 << (PostgreSQLParser.KW_ACTION - 124)) | (1 << (PostgreSQLParser.KW_ADD - 124)) | (1 << (PostgreSQLParser.KW_ADMIN - 124)) | (1 << (PostgreSQLParser.KW_AFTER - 124)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 124)) | (1 << (PostgreSQLParser.KW_ALSO - 124)) | (1 << (PostgreSQLParser.KW_ALTER - 124)) | (1 << (PostgreSQLParser.KW_ALWAYS - 124)) | (1 << (PostgreSQLParser.KW_ASSERTION - 124)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 124)) | (1 << (PostgreSQLParser.KW_AT - 124)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 124)) | (1 << (PostgreSQLParser.KW_BACKWARD - 124)) | (1 << (PostgreSQLParser.KW_BEFORE - 124)) | (1 << (PostgreSQLParser.KW_BEGIN - 124)) | (1 << (PostgreSQLParser.KW_BY - 124)) | (1 << (PostgreSQLParser.KW_CACHE - 124)) | (1 << (PostgreSQLParser.KW_CALLED - 124)) | (1 << (PostgreSQLParser.KW_CASCADE - 124)) | (1 << (PostgreSQLParser.KW_CASCADED - 124)) | (1 << (PostgreSQLParser.KW_CATALOG - 124)) | (1 << (PostgreSQLParser.KW_CHAIN - 124)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 124)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 124)))) !== 0) || ((((_la - 156)) & ~0x1F) === 0 && ((1 << (_la - 156)) & ((1 << (PostgreSQLParser.KW_CLASS - 156)) | (1 << (PostgreSQLParser.KW_CLOSE - 156)) | (1 << (PostgreSQLParser.KW_CLUSTER - 156)) | (1 << (PostgreSQLParser.KW_COMMENT - 156)) | (1 << (PostgreSQLParser.KW_COMMENTS - 156)) | (1 << (PostgreSQLParser.KW_COMMIT - 156)) | (1 << (PostgreSQLParser.KW_COMMITTED - 156)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 156)) | (1 << (PostgreSQLParser.KW_CONNECTION - 156)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 156)) | (1 << (PostgreSQLParser.KW_CONTENT - 156)) | (1 << (PostgreSQLParser.KW_CONTINUE - 156)) | (1 << (PostgreSQLParser.KW_CONVERSION - 156)) | (1 << (PostgreSQLParser.KW_COPY - 156)) | (1 << (PostgreSQLParser.KW_COST - 156)) | (1 << (PostgreSQLParser.KW_CSV - 156)) | (1 << (PostgreSQLParser.KW_CURSOR - 156)) | (1 << (PostgreSQLParser.KW_CYCLE - 156)) | (1 << (PostgreSQLParser.KW_DATA - 156)) | (1 << (PostgreSQLParser.KW_DATABASE - 156)) | (1 << (PostgreSQLParser.KW_DAY - 156)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 156)) | (1 << (PostgreSQLParser.KW_DECLARE - 156)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 156)) | (1 << (PostgreSQLParser.KW_DEFERRED - 156)) | (1 << (PostgreSQLParser.KW_DEFINER - 156)) | (1 << (PostgreSQLParser.KW_DELETE - 156)) | (1 << (PostgreSQLParser.KW_DELIMITER - 156)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 156)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 156)) | (1 << (PostgreSQLParser.KW_DISABLE - 156)) | (1 << (PostgreSQLParser.KW_DISCARD - 156)))) !== 0) || ((((_la - 188)) & ~0x1F) === 0 && ((1 << (_la - 188)) & ((1 << (PostgreSQLParser.KW_DOCUMENT - 188)) | (1 << (PostgreSQLParser.KW_DOMAIN - 188)) | (1 << (PostgreSQLParser.KW_DOUBLE - 188)) | (1 << (PostgreSQLParser.KW_DROP - 188)) | (1 << (PostgreSQLParser.KW_EACH - 188)) | (1 << (PostgreSQLParser.KW_ENABLE - 188)) | (1 << (PostgreSQLParser.KW_ENCODING - 188)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 188)) | (1 << (PostgreSQLParser.KW_ENUM - 188)) | (1 << (PostgreSQLParser.KW_ESCAPE - 188)) | (1 << (PostgreSQLParser.KW_EVENT - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 188)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 188)) | (1 << (PostgreSQLParser.KW_EXECUTE - 188)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 188)) | (1 << (PostgreSQLParser.KW_EXTENSION - 188)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 188)) | (1 << (PostgreSQLParser.KW_FAMILY - 188)) | (1 << (PostgreSQLParser.KW_FIRST - 188)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 188)) | (1 << (PostgreSQLParser.KW_FORCE - 188)) | (1 << (PostgreSQLParser.KW_FORWARD - 188)) | (1 << (PostgreSQLParser.KW_FUNCTION - 188)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 188)) | (1 << (PostgreSQLParser.KW_GLOBAL - 188)) | (1 << (PostgreSQLParser.KW_GRANTED - 188)) | (1 << (PostgreSQLParser.KW_HANDLER - 188)) | (1 << (PostgreSQLParser.KW_HEADER - 188)) | (1 << (PostgreSQLParser.KW_HOLD - 188)) | (1 << (PostgreSQLParser.KW_HOUR - 188)) | (1 << (PostgreSQLParser.KW_IDENTITY - 188)))) !== 0) || ((((_la - 220)) & ~0x1F) === 0 && ((1 << (_la - 220)) & ((1 << (PostgreSQLParser.KW_IF - 220)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 220)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 220)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 220)) | (1 << (PostgreSQLParser.KW_INCLUDING - 220)) | (1 << (PostgreSQLParser.KW_INCREMENT - 220)) | (1 << (PostgreSQLParser.KW_INDEX - 220)) | (1 << (PostgreSQLParser.KW_INDEXES - 220)) | (1 << (PostgreSQLParser.KW_INHERIT - 220)) | (1 << (PostgreSQLParser.KW_INHERITS - 220)) | (1 << (PostgreSQLParser.KW_INLINE - 220)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 220)) | (1 << (PostgreSQLParser.KW_INSERT - 220)) | (1 << (PostgreSQLParser.KW_INSTEAD - 220)) | (1 << (PostgreSQLParser.KW_INVOKER - 220)) | (1 << (PostgreSQLParser.KW_ISOLATION - 220)) | (1 << (PostgreSQLParser.KW_KEY - 220)) | (1 << (PostgreSQLParser.KW_LABEL - 220)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 220)) | (1 << (PostgreSQLParser.KW_LARGE - 220)) | (1 << (PostgreSQLParser.KW_LAST - 220)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 220)) | (1 << (PostgreSQLParser.KW_LEVEL - 220)))) !== 0) || ((((_la - 252)) & ~0x1F) === 0 && ((1 << (_la - 252)) & ((1 << (PostgreSQLParser.KW_LISTEN - 252)) | (1 << (PostgreSQLParser.KW_LOAD - 252)) | (1 << (PostgreSQLParser.KW_LOCAL - 252)) | (1 << (PostgreSQLParser.KW_LOCATION - 252)) | (1 << (PostgreSQLParser.KW_LOCK - 252)) | (1 << (PostgreSQLParser.KW_MAPPING - 252)) | (1 << (PostgreSQLParser.KW_MATCH - 252)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 252)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 252)) | (1 << (PostgreSQLParser.KW_MINUTE - 252)) | (1 << (PostgreSQLParser.KW_MINVALUE - 252)) | (1 << (PostgreSQLParser.KW_MODE - 252)) | (1 << (PostgreSQLParser.KW_MONTH - 252)) | (1 << (PostgreSQLParser.KW_MOVE - 252)) | (1 << (PostgreSQLParser.KW_NAME - 252)) | (1 << (PostgreSQLParser.KW_NAMES - 252)) | (1 << (PostgreSQLParser.KW_NEXT - 252)) | (1 << (PostgreSQLParser.KW_NO - 252)) | (1 << (PostgreSQLParser.KW_NOTHING - 252)) | (1 << (PostgreSQLParser.KW_NOTIFY - 252)) | (1 << (PostgreSQLParser.KW_NOWAIT - 252)) | (1 << (PostgreSQLParser.KW_NULLS - 252)) | (1 << (PostgreSQLParser.KW_OBJECT - 252)) | (1 << (PostgreSQLParser.KW_OF - 252)) | (1 << (PostgreSQLParser.KW_OFF - 252)) | (1 << (PostgreSQLParser.KW_OIDS - 252)) | (1 << (PostgreSQLParser.KW_OPERATOR - 252)) | (1 << (PostgreSQLParser.KW_OPTION - 252)) | (1 << (PostgreSQLParser.KW_OPTIONS - 252)) | (1 << (PostgreSQLParser.KW_OWNED - 252)) | (1 << (PostgreSQLParser.KW_OWNER - 252)) | (1 << (PostgreSQLParser.KW_PARSER - 252)))) !== 0) || ((((_la - 284)) & ~0x1F) === 0 && ((1 << (_la - 284)) & ((1 << (PostgreSQLParser.KW_PARTIAL - 284)) | (1 << (PostgreSQLParser.KW_PARTITION - 284)) | (1 << (PostgreSQLParser.KW_PASSING - 284)) | (1 << (PostgreSQLParser.KW_PASSWORD - 284)) | (1 << (PostgreSQLParser.KW_PLANS - 284)) | (1 << (PostgreSQLParser.KW_PRECEDING - 284)) | (1 << (PostgreSQLParser.KW_PREPARE - 284)) | (1 << (PostgreSQLParser.KW_PREPARED - 284)) | (1 << (PostgreSQLParser.KW_PRESERVE - 284)) | (1 << (PostgreSQLParser.KW_PRIOR - 284)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 284)) | (1 << (PostgreSQLParser.KW_PROGRAM - 284)) | (1 << (PostgreSQLParser.KW_QUOTE - 284)) | (1 << (PostgreSQLParser.KW_RANGE - 284)) | (1 << (PostgreSQLParser.KW_READ - 284)) | (1 << (PostgreSQLParser.KW_REASSIGN - 284)) | (1 << (PostgreSQLParser.KW_RECHECK - 284)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 284)) | (1 << (PostgreSQLParser.KW_REF - 284)) | (1 << (PostgreSQLParser.KW_REFRESH - 284)) | (1 << (PostgreSQLParser.KW_REINDEX - 284)) | (1 << (PostgreSQLParser.KW_RELATIVE - 284)) | (1 << (PostgreSQLParser.KW_RELEASE - 284)) | (1 << (PostgreSQLParser.KW_RENAME - 284)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 284)) | (1 << (PostgreSQLParser.KW_REPLACE - 284)) | (1 << (PostgreSQLParser.KW_REPLICA - 284)) | (1 << (PostgreSQLParser.KW_RESET - 284)) | (1 << (PostgreSQLParser.KW_RESTART - 284)) | (1 << (PostgreSQLParser.KW_RESTRICT - 284)))) !== 0) || ((((_la - 316)) & ~0x1F) === 0 && ((1 << (_la - 316)) & ((1 << (PostgreSQLParser.KW_RETURNS - 316)) | (1 << (PostgreSQLParser.KW_REVOKE - 316)) | (1 << (PostgreSQLParser.KW_ROLE - 316)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 316)) | (1 << (PostgreSQLParser.KW_ROWS - 316)) | (1 << (PostgreSQLParser.KW_RULE - 316)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 316)) | (1 << (PostgreSQLParser.KW_SCHEMA - 316)) | (1 << (PostgreSQLParser.KW_SCROLL - 316)) | (1 << (PostgreSQLParser.KW_SEARCH - 316)) | (1 << (PostgreSQLParser.KW_SECOND - 316)) | (1 << (PostgreSQLParser.KW_SECURITY - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 316)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 316)) | (1 << (PostgreSQLParser.KW_SERVER - 316)) | (1 << (PostgreSQLParser.KW_SESSION - 316)) | (1 << (PostgreSQLParser.KW_SET - 316)) | (1 << (PostgreSQLParser.KW_SHARE - 316)) | (1 << (PostgreSQLParser.KW_SHOW - 316)) | (1 << (PostgreSQLParser.KW_SIMPLE - 316)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 316)) | (1 << (PostgreSQLParser.KW_STABLE - 316)) | (1 << (PostgreSQLParser.KW_STANDALONE - 316)) | (1 << (PostgreSQLParser.KW_START - 316)) | (1 << (PostgreSQLParser.KW_STATEMENT - 316)) | (1 << (PostgreSQLParser.KW_STATISTICS - 316)) | (1 << (PostgreSQLParser.KW_STDIN - 316)) | (1 << (PostgreSQLParser.KW_STDOUT - 316)) | (1 << (PostgreSQLParser.KW_STORAGE - 316)) | (1 << (PostgreSQLParser.KW_STRICT - 316)) | (1 << (PostgreSQLParser.KW_STRIP - 316)))) !== 0) || ((((_la - 348)) & ~0x1F) === 0 && ((1 << (_la - 348)) & ((1 << (PostgreSQLParser.KW_SYSID - 348)) | (1 << (PostgreSQLParser.KW_SYSTEM - 348)) | (1 << (PostgreSQLParser.KW_TABLES - 348)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 348)) | (1 << (PostgreSQLParser.KW_TEMP - 348)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 348)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 348)) | (1 << (PostgreSQLParser.KW_TEXT - 348)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 348)) | (1 << (PostgreSQLParser.KW_TRIGGER - 348)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 348)) | (1 << (PostgreSQLParser.KW_TRUSTED - 348)) | (1 << (PostgreSQLParser.KW_TYPE - 348)) | (1 << (PostgreSQLParser.KW_TYPES - 348)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 348)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 348)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 348)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 348)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 348)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 348)) | (1 << (PostgreSQLParser.KW_UNTIL - 348)) | (1 << (PostgreSQLParser.KW_UPDATE - 348)) | (1 << (PostgreSQLParser.KW_VACUUM - 348)) | (1 << (PostgreSQLParser.KW_VALID - 348)) | (1 << (PostgreSQLParser.KW_VALIDATE - 348)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 348)) | (1 << (PostgreSQLParser.KW_VARYING - 348)) | (1 << (PostgreSQLParser.KW_VERSION - 348)) | (1 << (PostgreSQLParser.KW_VIEW - 348)) | (1 << (PostgreSQLParser.KW_VOLATILE - 348)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 348)) | (1 << (PostgreSQLParser.KW_WITHOUT - 348)))) !== 0) || ((((_la - 380)) & ~0x1F) === 0 && ((1 << (_la - 380)) & ((1 << (PostgreSQLParser.KW_WORK - 380)) | (1 << (PostgreSQLParser.KW_WRAPPER - 380)) | (1 << (PostgreSQLParser.KW_WRITE - 380)) | (1 << (PostgreSQLParser.KW_XML - 380)) | (1 << (PostgreSQLParser.KW_YEAR - 380)) | (1 << (PostgreSQLParser.KW_YES - 380)) | (1 << (PostgreSQLParser.KW_ZONE - 380)) | (1 << (PostgreSQLParser.KW_BETWEEN - 380)) | (1 << (PostgreSQLParser.KW_BIGINT - 380)) | (1 << (PostgreSQLParser.KW_BIT - 380)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 380)) | (1 << (PostgreSQLParser.KW_CHAR - 380)) | (1 << (PostgreSQLParser.KW_CHARACTER - 380)) | (1 << (PostgreSQLParser.KW_COALESCE - 380)) | (1 << (PostgreSQLParser.KW_DEC - 380)) | (1 << (PostgreSQLParser.KW_DECIMAL - 380)) | (1 << (PostgreSQLParser.KW_EXISTS - 380)) | (1 << (PostgreSQLParser.KW_EXTRACT - 380)) | (1 << (PostgreSQLParser.KW_FLOAT - 380)) | (1 << (PostgreSQLParser.KW_GREATEST - 380)) | (1 << (PostgreSQLParser.KW_INOUT - 380)) | (1 << (PostgreSQLParser.KW_INT - 380)) | (1 << (PostgreSQLParser.KW_INTEGER - 380)) | (1 << (PostgreSQLParser.KW_INTERVAL - 380)) | (1 << (PostgreSQLParser.KW_LEAST - 380)) | (1 << (PostgreSQLParser.KW_NATIONAL - 380)) | (1 << (PostgreSQLParser.KW_NCHAR - 380)) | (1 << (PostgreSQLParser.KW_NONE - 380)) | (1 << (PostgreSQLParser.KW_NULLIF - 380)) | (1 << (PostgreSQLParser.KW_NUMERIC - 380)) | (1 << (PostgreSQLParser.KW_OVERLAY - 380)) | (1 << (PostgreSQLParser.KW_POSITION - 380)))) !== 0) || ((((_la - 412)) & ~0x1F) === 0 && ((1 << (_la - 412)) & ((1 << (PostgreSQLParser.KW_PRECISION - 412)) | (1 << (PostgreSQLParser.KW_REAL - 412)) | (1 << (PostgreSQLParser.KW_ROW - 412)) | (1 << (PostgreSQLParser.KW_SETOF - 412)) | (1 << (PostgreSQLParser.KW_SMALLINT - 412)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 412)) | (1 << (PostgreSQLParser.KW_TIME - 412)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 412)) | (1 << (PostgreSQLParser.KW_TREAT - 412)) | (1 << (PostgreSQLParser.KW_TRIM - 412)) | (1 << (PostgreSQLParser.KW_VALUES - 412)) | (1 << (PostgreSQLParser.KW_VARCHAR - 412)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 412)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 412)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 412)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 412)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 412)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 412)) | (1 << (PostgreSQLParser.KW_XMLPI - 412)) | (1 << (PostgreSQLParser.KW_XMLROOT - 412)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 412)) | (1 << (PostgreSQLParser.KW_CALL - 412)) | (1 << (PostgreSQLParser.KW_CURRENT - 412)) | (1 << (PostgreSQLParser.KW_ATTACH - 412)) | (1 << (PostgreSQLParser.KW_DETACH - 412)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 412)) | (1 << (PostgreSQLParser.KW_GENERATED - 412)) | (1 << (PostgreSQLParser.KW_LOGGED - 412)) | (1 << (PostgreSQLParser.KW_STORED - 412)) | (1 << (PostgreSQLParser.KW_INCLUDE - 412)) | (1 << (PostgreSQLParser.KW_ROUTINE - 412)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 412)))) !== 0) || ((((_la - 444)) & ~0x1F) === 0 && ((1 << (_la - 444)) & ((1 << (PostgreSQLParser.KW_IMPORT - 444)) | (1 << (PostgreSQLParser.KW_POLICY - 444)) | (1 << (PostgreSQLParser.KW_METHOD - 444)) | (1 << (PostgreSQLParser.KW_REFERENCING - 444)) | (1 << (PostgreSQLParser.KW_NEW - 444)) | (1 << (PostgreSQLParser.KW_OLD - 444)) | (1 << (PostgreSQLParser.KW_VALUE - 444)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 444)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 444)) | (1 << (PostgreSQLParser.KW_OUT - 444)) | (1 << (PostgreSQLParser.KW_ROUTINES - 444)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 444)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 444)) | (1 << (PostgreSQLParser.KW_INPUT - 444)) | (1 << (PostgreSQLParser.KW_SUPPORT - 444)) | (1 << (PostgreSQLParser.KW_PARALLEL - 444)) | (1 << (PostgreSQLParser.KW_SQL - 444)) | (1 << (PostgreSQLParser.KW_DEPENDS - 444)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 444)) | (1 << (PostgreSQLParser.KW_CONFLICT - 444)) | (1 << (PostgreSQLParser.KW_SKIP - 444)) | (1 << (PostgreSQLParser.KW_LOCKED - 444)) | (1 << (PostgreSQLParser.KW_TIES - 444)) | (1 << (PostgreSQLParser.KW_ROLLUP - 444)) | (1 << (PostgreSQLParser.KW_CUBE - 444)) | (1 << (PostgreSQLParser.KW_GROUPING - 444)) | (1 << (PostgreSQLParser.KW_SETS - 444)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 444)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 444)) | (1 << (PostgreSQLParser.KW_COLUMNS - 444)))) !== 0) || ((((_la - 476)) & ~0x1F) === 0 && ((1 << (_la - 476)) & ((1 << (PostgreSQLParser.KW_XMLNAMESPACES - 476)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 476)) | (1 << (PostgreSQLParser.KW_WITHIN - 476)) | (1 << (PostgreSQLParser.KW_FILTER - 476)) | (1 << (PostgreSQLParser.KW_GROUPS - 476)) | (1 << (PostgreSQLParser.KW_OTHERS - 476)) | (1 << (PostgreSQLParser.KW_NFC - 476)) | (1 << (PostgreSQLParser.KW_NFD - 476)) | (1 << (PostgreSQLParser.KW_NFKC - 476)) | (1 << (PostgreSQLParser.KW_NFKD - 476)) | (1 << (PostgreSQLParser.KW_UESCAPE - 476)) | (1 << (PostgreSQLParser.KW_VIEWS - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 476)) | (1 << (PostgreSQLParser.KW_DUMP - 476)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 476)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 476)) | (1 << (PostgreSQLParser.KW_ERROR - 476)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 476)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 476)) | (1 << (PostgreSQLParser.KW_ALIAS - 476)) | (1 << (PostgreSQLParser.KW_CONSTANT - 476)) | (1 << (PostgreSQLParser.KW_PERFORM - 476)) | (1 << (PostgreSQLParser.KW_GET - 476)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 476)) | (1 << (PostgreSQLParser.KW_STACKED - 476)) | (1 << (PostgreSQLParser.KW_ELSIF - 476)) | (1 << (PostgreSQLParser.KW_REVERSE - 476)) | (1 << (PostgreSQLParser.KW_SLICE - 476)) | (1 << (PostgreSQLParser.KW_EXIT - 476)))) !== 0) || ((((_la - 508)) & ~0x1F) === 0 && ((1 << (_la - 508)) & ((1 << (PostgreSQLParser.KW_RETURN - 508)) | (1 << (PostgreSQLParser.KW_QUERY - 508)) | (1 << (PostgreSQLParser.KW_RAISE - 508)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 508)) | (1 << (PostgreSQLParser.KW_DEBUG - 508)) | (1 << (PostgreSQLParser.KW_LOG - 508)) | (1 << (PostgreSQLParser.KW_INFO - 508)) | (1 << (PostgreSQLParser.KW_NOTICE - 508)) | (1 << (PostgreSQLParser.KW_WARNING - 508)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 508)) | (1 << (PostgreSQLParser.KW_ASSERT - 508)) | (1 << (PostgreSQLParser.KW_OPEN - 508)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 4638; this.opttablefuncelementlist(); } } this.state = 4641; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 4643; this.match(PostgreSQLParser.KW_CREATE); this.state = 4644; this.match(PostgreSQLParser.KW_TYPE); this.state = 4645; this.any_name(); this.state = 4646; this.match(PostgreSQLParser.KW_AS); this.state = 4647; this.match(PostgreSQLParser.KW_ENUM); this.state = 4648; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4650; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 558)) & ~0x1F) === 0 && ((1 << (_la - 558)) & ((1 << (PostgreSQLParser.StringConstant - 558)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 558)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 558)) | (1 << (PostgreSQLParser.EscapeStringConstant - 558)))) !== 0)) { { this.state = 4649; this.opt_enum_val_list(); } } this.state = 4652; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 4654; this.match(PostgreSQLParser.KW_CREATE); this.state = 4655; this.match(PostgreSQLParser.KW_TYPE); this.state = 4656; this.any_name(); this.state = 4657; this.match(PostgreSQLParser.KW_AS); this.state = 4658; this.match(PostgreSQLParser.KW_RANGE); this.state = 4659; this.definition(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 4661; this.match(PostgreSQLParser.KW_CREATE); this.state = 4662; this.match(PostgreSQLParser.KW_TEXT); this.state = 4663; this.match(PostgreSQLParser.KW_SEARCH); this.state = 4664; this.match(PostgreSQLParser.KW_PARSER); this.state = 4665; this.any_name(); this.state = 4666; this.definition(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 4668; this.match(PostgreSQLParser.KW_CREATE); this.state = 4669; this.match(PostgreSQLParser.KW_TEXT); this.state = 4670; this.match(PostgreSQLParser.KW_SEARCH); this.state = 4671; this.match(PostgreSQLParser.KW_DICTIONARY); this.state = 4672; this.any_name(); this.state = 4673; this.definition(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 4675; this.match(PostgreSQLParser.KW_CREATE); this.state = 4676; this.match(PostgreSQLParser.KW_TEXT); this.state = 4677; this.match(PostgreSQLParser.KW_SEARCH); this.state = 4678; this.match(PostgreSQLParser.KW_TEMPLATE); this.state = 4679; this.any_name(); this.state = 4680; this.definition(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 4682; this.match(PostgreSQLParser.KW_CREATE); this.state = 4683; this.match(PostgreSQLParser.KW_TEXT); this.state = 4684; this.match(PostgreSQLParser.KW_SEARCH); this.state = 4685; this.match(PostgreSQLParser.KW_CONFIGURATION); this.state = 4686; this.any_name(); this.state = 4687; this.definition(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 4689; this.match(PostgreSQLParser.KW_CREATE); this.state = 4690; this.match(PostgreSQLParser.KW_COLLATION); this.state = 4692; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 381, this._ctx) ) { case 1: { this.state = 4691; this.opt_if_not_exists(); } break; } this.state = 4694; this.any_name(); this.state = 4695; this.definition(); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 4697; this.match(PostgreSQLParser.KW_CREATE); this.state = 4698; this.match(PostgreSQLParser.KW_COLLATION); this.state = 4700; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 382, this._ctx) ) { case 1: { this.state = 4699; this.opt_if_not_exists(); } break; } this.state = 4702; this.any_name(); this.state = 4703; this.match(PostgreSQLParser.KW_FROM); this.state = 4704; this.any_name(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public definition(): DefinitionContext { let _localctx: DefinitionContext = new DefinitionContext(this._ctx, this.state); this.enterRule(_localctx, 494, PostgreSQLParser.RULE_definition); try { this.enterOuterAlt(_localctx, 1); { this.state = 4708; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4709; this.def_list(); this.state = 4710; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public def_list(): Def_listContext { let _localctx: Def_listContext = new Def_listContext(this._ctx, this.state); this.enterRule(_localctx, 496, PostgreSQLParser.RULE_def_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4712; this.def_elem(); this.state = 4717; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 4713; this.match(PostgreSQLParser.COMMA); this.state = 4714; this.def_elem(); } } this.state = 4719; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public def_elem(): Def_elemContext { let _localctx: Def_elemContext = new Def_elemContext(this._ctx, this.state); this.enterRule(_localctx, 498, PostgreSQLParser.RULE_def_elem); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4720; this.collabel(); this.state = 4723; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.EQUAL) { { this.state = 4721; this.match(PostgreSQLParser.EQUAL); this.state = 4722; this.def_arg(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public def_arg(): Def_argContext { let _localctx: Def_argContext = new Def_argContext(this._ctx, this.state); this.enterRule(_localctx, 500, PostgreSQLParser.RULE_def_arg); try { this.state = 4731; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 386, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4725; this.func_type(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4726; this.reserved_keyword(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 4727; this.qual_all_op(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 4728; this.numericonly(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 4729; this.sconst(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 4730; this.match(PostgreSQLParser.KW_NONE); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public old_aggr_definition(): Old_aggr_definitionContext { let _localctx: Old_aggr_definitionContext = new Old_aggr_definitionContext(this._ctx, this.state); this.enterRule(_localctx, 502, PostgreSQLParser.RULE_old_aggr_definition); try { this.enterOuterAlt(_localctx, 1); { this.state = 4733; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4734; this.old_aggr_list(); this.state = 4735; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public old_aggr_list(): Old_aggr_listContext { let _localctx: Old_aggr_listContext = new Old_aggr_listContext(this._ctx, this.state); this.enterRule(_localctx, 504, PostgreSQLParser.RULE_old_aggr_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4737; this.old_aggr_elem(); this.state = 4742; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 4738; this.match(PostgreSQLParser.COMMA); this.state = 4739; this.old_aggr_elem(); } } this.state = 4744; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public old_aggr_elem(): Old_aggr_elemContext { let _localctx: Old_aggr_elemContext = new Old_aggr_elemContext(this._ctx, this.state); this.enterRule(_localctx, 506, PostgreSQLParser.RULE_old_aggr_elem); try { this.enterOuterAlt(_localctx, 1); { this.state = 4745; this.identifier(); this.state = 4746; this.match(PostgreSQLParser.EQUAL); this.state = 4747; this.def_arg(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_enum_val_list(): Opt_enum_val_listContext { let _localctx: Opt_enum_val_listContext = new Opt_enum_val_listContext(this._ctx, this.state); this.enterRule(_localctx, 508, PostgreSQLParser.RULE_opt_enum_val_list); try { this.enterOuterAlt(_localctx, 1); { this.state = 4749; this.enum_val_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public enum_val_list(): Enum_val_listContext { let _localctx: Enum_val_listContext = new Enum_val_listContext(this._ctx, this.state); this.enterRule(_localctx, 510, PostgreSQLParser.RULE_enum_val_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4751; this.sconst(); this.state = 4756; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 4752; this.match(PostgreSQLParser.COMMA); this.state = 4753; this.sconst(); } } this.state = 4758; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterenumstmt(): AlterenumstmtContext { let _localctx: AlterenumstmtContext = new AlterenumstmtContext(this._ctx, this.state); this.enterRule(_localctx, 512, PostgreSQLParser.RULE_alterenumstmt); let _la: number; try { this.state = 4802; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 392, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4759; this.match(PostgreSQLParser.KW_ALTER); this.state = 4760; this.match(PostgreSQLParser.KW_TYPE); this.state = 4761; this.any_name(); this.state = 4762; this.match(PostgreSQLParser.KW_ADD); this.state = 4763; this.match(PostgreSQLParser.KW_VALUE); this.state = 4765; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_IF) { { this.state = 4764; this.opt_if_not_exists(); } } this.state = 4767; this.sconst(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4769; this.match(PostgreSQLParser.KW_ALTER); this.state = 4770; this.match(PostgreSQLParser.KW_TYPE); this.state = 4771; this.any_name(); this.state = 4772; this.match(PostgreSQLParser.KW_ADD); this.state = 4773; this.match(PostgreSQLParser.KW_VALUE); this.state = 4775; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_IF) { { this.state = 4774; this.opt_if_not_exists(); } } this.state = 4777; this.sconst(); this.state = 4778; this.match(PostgreSQLParser.KW_BEFORE); this.state = 4779; this.sconst(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 4781; this.match(PostgreSQLParser.KW_ALTER); this.state = 4782; this.match(PostgreSQLParser.KW_TYPE); this.state = 4783; this.any_name(); this.state = 4784; this.match(PostgreSQLParser.KW_ADD); this.state = 4785; this.match(PostgreSQLParser.KW_VALUE); this.state = 4787; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_IF) { { this.state = 4786; this.opt_if_not_exists(); } } this.state = 4789; this.sconst(); this.state = 4790; this.match(PostgreSQLParser.KW_AFTER); this.state = 4791; this.sconst(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 4793; this.match(PostgreSQLParser.KW_ALTER); this.state = 4794; this.match(PostgreSQLParser.KW_TYPE); this.state = 4795; this.any_name(); this.state = 4796; this.match(PostgreSQLParser.KW_RENAME); this.state = 4797; this.match(PostgreSQLParser.KW_VALUE); this.state = 4798; this.sconst(); this.state = 4799; this.match(PostgreSQLParser.KW_TO); this.state = 4800; this.sconst(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_if_not_exists(): Opt_if_not_existsContext { let _localctx: Opt_if_not_existsContext = new Opt_if_not_existsContext(this._ctx, this.state); this.enterRule(_localctx, 514, PostgreSQLParser.RULE_opt_if_not_exists); try { this.enterOuterAlt(_localctx, 1); { this.state = 4804; this.match(PostgreSQLParser.KW_IF); this.state = 4805; this.match(PostgreSQLParser.KW_NOT); this.state = 4806; this.match(PostgreSQLParser.KW_EXISTS); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createopclassstmt(): CreateopclassstmtContext { let _localctx: CreateopclassstmtContext = new CreateopclassstmtContext(this._ctx, this.state); this.enterRule(_localctx, 516, PostgreSQLParser.RULE_createopclassstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4808; this.match(PostgreSQLParser.KW_CREATE); this.state = 4809; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 4810; this.match(PostgreSQLParser.KW_CLASS); this.state = 4811; this.any_name(); this.state = 4813; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_DEFAULT) { { this.state = 4812; this.opt_default(); } } this.state = 4815; this.match(PostgreSQLParser.KW_FOR); this.state = 4816; this.match(PostgreSQLParser.KW_TYPE); this.state = 4817; this.typename(); this.state = 4818; this.match(PostgreSQLParser.KW_USING); this.state = 4819; this.name(); this.state = 4821; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FAMILY) { { this.state = 4820; this.opt_opfamily(); } } this.state = 4823; this.match(PostgreSQLParser.KW_AS); this.state = 4824; this.opclass_item_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opclass_item_list(): Opclass_item_listContext { let _localctx: Opclass_item_listContext = new Opclass_item_listContext(this._ctx, this.state); this.enterRule(_localctx, 518, PostgreSQLParser.RULE_opclass_item_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4826; this.opclass_item(); this.state = 4831; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 4827; this.match(PostgreSQLParser.COMMA); this.state = 4828; this.opclass_item(); } } this.state = 4833; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opclass_item(): Opclass_itemContext { let _localctx: Opclass_itemContext = new Opclass_itemContext(this._ctx, this.state); this.enterRule(_localctx, 520, PostgreSQLParser.RULE_opclass_item); let _la: number; try { this.state = 4865; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 400, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4834; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 4835; this.iconst(); this.state = 4836; this.any_operator(); this.state = 4838; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 4837; this.opclass_purpose(); } } this.state = 4841; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 397, this._ctx) ) { case 1: { this.state = 4840; this.opt_recheck(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4843; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 4844; this.iconst(); this.state = 4845; this.operator_with_argtypes(); this.state = 4847; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 4846; this.opclass_purpose(); } } this.state = 4850; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 399, this._ctx) ) { case 1: { this.state = 4849; this.opt_recheck(); } break; } } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 4852; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 4853; this.iconst(); this.state = 4854; this.function_with_argtypes(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 4856; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 4857; this.iconst(); this.state = 4858; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4859; this.type_list(); this.state = 4860; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 4861; this.function_with_argtypes(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 4863; this.match(PostgreSQLParser.KW_STORAGE); this.state = 4864; this.typename(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_default(): Opt_defaultContext { let _localctx: Opt_defaultContext = new Opt_defaultContext(this._ctx, this.state); this.enterRule(_localctx, 522, PostgreSQLParser.RULE_opt_default); try { this.enterOuterAlt(_localctx, 1); { this.state = 4867; this.match(PostgreSQLParser.KW_DEFAULT); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_opfamily(): Opt_opfamilyContext { let _localctx: Opt_opfamilyContext = new Opt_opfamilyContext(this._ctx, this.state); this.enterRule(_localctx, 524, PostgreSQLParser.RULE_opt_opfamily); try { this.enterOuterAlt(_localctx, 1); { this.state = 4869; this.match(PostgreSQLParser.KW_FAMILY); this.state = 4870; this.any_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opclass_purpose(): Opclass_purposeContext { let _localctx: Opclass_purposeContext = new Opclass_purposeContext(this._ctx, this.state); this.enterRule(_localctx, 526, PostgreSQLParser.RULE_opclass_purpose); try { this.state = 4878; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 401, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4872; this.match(PostgreSQLParser.KW_FOR); this.state = 4873; this.match(PostgreSQLParser.KW_SEARCH); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4874; this.match(PostgreSQLParser.KW_FOR); this.state = 4875; this.match(PostgreSQLParser.KW_ORDER); this.state = 4876; this.match(PostgreSQLParser.KW_BY); this.state = 4877; this.any_name(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_recheck(): Opt_recheckContext { let _localctx: Opt_recheckContext = new Opt_recheckContext(this._ctx, this.state); this.enterRule(_localctx, 528, PostgreSQLParser.RULE_opt_recheck); try { this.enterOuterAlt(_localctx, 1); { this.state = 4880; this.match(PostgreSQLParser.KW_RECHECK); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createopfamilystmt(): CreateopfamilystmtContext { let _localctx: CreateopfamilystmtContext = new CreateopfamilystmtContext(this._ctx, this.state); this.enterRule(_localctx, 530, PostgreSQLParser.RULE_createopfamilystmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 4882; this.match(PostgreSQLParser.KW_CREATE); this.state = 4883; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 4884; this.match(PostgreSQLParser.KW_FAMILY); this.state = 4885; this.any_name(); this.state = 4886; this.match(PostgreSQLParser.KW_USING); this.state = 4887; this.name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alteropfamilystmt(): AlteropfamilystmtContext { let _localctx: AlteropfamilystmtContext = new AlteropfamilystmtContext(this._ctx, this.state); this.enterRule(_localctx, 532, PostgreSQLParser.RULE_alteropfamilystmt); try { this.state = 4907; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 402, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4889; this.match(PostgreSQLParser.KW_ALTER); this.state = 4890; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 4891; this.match(PostgreSQLParser.KW_FAMILY); this.state = 4892; this.any_name(); this.state = 4893; this.match(PostgreSQLParser.KW_USING); this.state = 4894; this.name(); this.state = 4895; this.match(PostgreSQLParser.KW_ADD); this.state = 4896; this.opclass_item_list(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4898; this.match(PostgreSQLParser.KW_ALTER); this.state = 4899; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 4900; this.match(PostgreSQLParser.KW_FAMILY); this.state = 4901; this.any_name(); this.state = 4902; this.match(PostgreSQLParser.KW_USING); this.state = 4903; this.name(); this.state = 4904; this.match(PostgreSQLParser.KW_DROP); this.state = 4905; this.opclass_drop_list(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opclass_drop_list(): Opclass_drop_listContext { let _localctx: Opclass_drop_listContext = new Opclass_drop_listContext(this._ctx, this.state); this.enterRule(_localctx, 534, PostgreSQLParser.RULE_opclass_drop_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 4909; this.opclass_drop(); this.state = 4914; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 4910; this.match(PostgreSQLParser.COMMA); this.state = 4911; this.opclass_drop(); } } this.state = 4916; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opclass_drop(): Opclass_dropContext { let _localctx: Opclass_dropContext = new Opclass_dropContext(this._ctx, this.state); this.enterRule(_localctx, 536, PostgreSQLParser.RULE_opclass_drop); try { this.state = 4929; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_OPERATOR: this.enterOuterAlt(_localctx, 1); { this.state = 4917; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 4918; this.iconst(); this.state = 4919; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4920; this.type_list(); this.state = 4921; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_FUNCTION: this.enterOuterAlt(_localctx, 2); { this.state = 4923; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 4924; this.iconst(); this.state = 4925; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 4926; this.type_list(); this.state = 4927; this.match(PostgreSQLParser.CLOSE_PAREN); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public reassignownedstmt(): ReassignownedstmtContext { let _localctx: ReassignownedstmtContext = new ReassignownedstmtContext(this._ctx, this.state); this.enterRule(_localctx, 538, PostgreSQLParser.RULE_reassignownedstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 4931; this.match(PostgreSQLParser.KW_REASSIGN); this.state = 4932; this.match(PostgreSQLParser.KW_OWNED); this.state = 4933; this.match(PostgreSQLParser.KW_BY); this.state = 4934; this.role_list(); this.state = 4935; this.match(PostgreSQLParser.KW_TO); this.state = 4936; this.rolespec(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public dropstmt(): DropstmtContext { let _localctx: DropstmtContext = new DropstmtContext(this._ctx, this.state); this.enterRule(_localctx, 540, PostgreSQLParser.RULE_dropstmt); let _la: number; try { this.state = 5317; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 479, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 4938; this.match(PostgreSQLParser.KW_DROP); this.state = 4939; this.match(PostgreSQLParser.KW_TABLE); this.state = 4941; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 405, this._ctx) ) { case 1: { this.state = 4940; this.opt_if_exists(); } break; } this.state = 4943; this.table_name_list(); this.state = 4945; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 406, this._ctx) ) { case 1: { this.state = 4944; this.opt_drop_behavior(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 4947; this.match(PostgreSQLParser.KW_DROP); this.state = 4948; this.match(PostgreSQLParser.KW_SEQUENCE); this.state = 4950; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 407, this._ctx) ) { case 1: { this.state = 4949; this.opt_if_exists(); } break; } this.state = 4952; this.name_list(); this.state = 4954; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 408, this._ctx) ) { case 1: { this.state = 4953; this.opt_drop_behavior(); } break; } } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 4956; this.match(PostgreSQLParser.KW_DROP); this.state = 4957; this.match(PostgreSQLParser.KW_VIEW); this.state = 4959; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 409, this._ctx) ) { case 1: { this.state = 4958; this.opt_if_exists(); } break; } this.state = 4961; this.view_nameList(); this.state = 4963; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 410, this._ctx) ) { case 1: { this.state = 4962; this.opt_drop_behavior(); } break; } } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 4965; this.match(PostgreSQLParser.KW_DROP); this.state = 4966; this.match(PostgreSQLParser.KW_MATERIALIZED); this.state = 4967; this.match(PostgreSQLParser.KW_VIEW); this.state = 4969; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 411, this._ctx) ) { case 1: { this.state = 4968; this.opt_if_exists(); } break; } this.state = 4971; this.view_nameList(); this.state = 4973; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 412, this._ctx) ) { case 1: { this.state = 4972; this.opt_drop_behavior(); } break; } } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 4975; this.match(PostgreSQLParser.KW_DROP); this.state = 4976; this.match(PostgreSQLParser.KW_INDEX); this.state = 4978; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 413, this._ctx) ) { case 1: { this.state = 4977; this.opt_if_exists(); } break; } this.state = 4980; this.name_list(); this.state = 4982; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 414, this._ctx) ) { case 1: { this.state = 4981; this.opt_drop_behavior(); } break; } } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 4984; this.match(PostgreSQLParser.KW_DROP); this.state = 4985; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 4986; this.match(PostgreSQLParser.KW_TABLE); this.state = 4988; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 415, this._ctx) ) { case 1: { this.state = 4987; this.opt_if_exists(); } break; } this.state = 4990; this.table_name_list(); this.state = 4992; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 416, this._ctx) ) { case 1: { this.state = 4991; this.opt_drop_behavior(); } break; } } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 4994; this.match(PostgreSQLParser.KW_DROP); this.state = 4995; this.match(PostgreSQLParser.KW_COLLATION); this.state = 4997; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 417, this._ctx) ) { case 1: { this.state = 4996; this.opt_if_exists(); } break; } this.state = 4999; this.name_list(); this.state = 5001; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 418, this._ctx) ) { case 1: { this.state = 5000; this.opt_drop_behavior(); } break; } } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 5003; this.match(PostgreSQLParser.KW_DROP); this.state = 5004; this.match(PostgreSQLParser.KW_CONVERSION); this.state = 5006; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 419, this._ctx) ) { case 1: { this.state = 5005; this.opt_if_exists(); } break; } this.state = 5008; this.name_list(); this.state = 5010; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 420, this._ctx) ) { case 1: { this.state = 5009; this.opt_drop_behavior(); } break; } } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 5012; this.match(PostgreSQLParser.KW_DROP); this.state = 5013; this.match(PostgreSQLParser.KW_STATISTICS); this.state = 5015; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 421, this._ctx) ) { case 1: { this.state = 5014; this.opt_if_exists(); } break; } this.state = 5017; this.name_list(); this.state = 5019; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 422, this._ctx) ) { case 1: { this.state = 5018; this.opt_drop_behavior(); } break; } } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 5021; this.match(PostgreSQLParser.KW_DROP); this.state = 5022; this.match(PostgreSQLParser.KW_TEXT); this.state = 5023; this.match(PostgreSQLParser.KW_SEARCH); this.state = 5024; this.match(PostgreSQLParser.KW_PARSER); this.state = 5026; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 423, this._ctx) ) { case 1: { this.state = 5025; this.opt_if_exists(); } break; } this.state = 5028; this.name_list(); this.state = 5030; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 424, this._ctx) ) { case 1: { this.state = 5029; this.opt_drop_behavior(); } break; } } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 5032; this.match(PostgreSQLParser.KW_DROP); this.state = 5033; this.match(PostgreSQLParser.KW_TEXT); this.state = 5034; this.match(PostgreSQLParser.KW_SEARCH); this.state = 5035; this.match(PostgreSQLParser.KW_DICTIONARY); this.state = 5037; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 425, this._ctx) ) { case 1: { this.state = 5036; this.opt_if_exists(); } break; } this.state = 5039; this.name_list(); this.state = 5041; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 426, this._ctx) ) { case 1: { this.state = 5040; this.opt_drop_behavior(); } break; } } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 5043; this.match(PostgreSQLParser.KW_DROP); this.state = 5044; this.match(PostgreSQLParser.KW_TEXT); this.state = 5045; this.match(PostgreSQLParser.KW_SEARCH); this.state = 5046; this.match(PostgreSQLParser.KW_TEMPLATE); this.state = 5048; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 427, this._ctx) ) { case 1: { this.state = 5047; this.opt_if_exists(); } break; } this.state = 5050; this.name_list(); this.state = 5052; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 428, this._ctx) ) { case 1: { this.state = 5051; this.opt_drop_behavior(); } break; } } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 5054; this.match(PostgreSQLParser.KW_DROP); this.state = 5055; this.match(PostgreSQLParser.KW_TEXT); this.state = 5056; this.match(PostgreSQLParser.KW_SEARCH); this.state = 5057; this.match(PostgreSQLParser.KW_CONFIGURATION); this.state = 5059; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 429, this._ctx) ) { case 1: { this.state = 5058; this.opt_if_exists(); } break; } this.state = 5061; this.name_list(); this.state = 5063; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 430, this._ctx) ) { case 1: { this.state = 5062; this.opt_drop_behavior(); } break; } } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 5065; this.match(PostgreSQLParser.KW_DROP); this.state = 5066; this.match(PostgreSQLParser.KW_ACCESS); this.state = 5067; this.match(PostgreSQLParser.KW_METHOD); this.state = 5069; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 431, this._ctx) ) { case 1: { this.state = 5068; this.opt_if_exists(); } break; } this.state = 5071; this.name_list(); this.state = 5073; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 432, this._ctx) ) { case 1: { this.state = 5072; this.opt_drop_behavior(); } break; } } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 5075; this.match(PostgreSQLParser.KW_DROP); this.state = 5076; this.match(PostgreSQLParser.KW_EVENT); this.state = 5077; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 5079; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 433, this._ctx) ) { case 1: { this.state = 5078; this.opt_if_exists(); } break; } this.state = 5081; this.name_list(); this.state = 5083; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 434, this._ctx) ) { case 1: { this.state = 5082; this.opt_drop_behavior(); } break; } } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 5085; this.match(PostgreSQLParser.KW_DROP); this.state = 5086; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 5088; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 435, this._ctx) ) { case 1: { this.state = 5087; this.opt_if_exists(); } break; } this.state = 5090; this.name_list(); this.state = 5092; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 436, this._ctx) ) { case 1: { this.state = 5091; this.opt_drop_behavior(); } break; } } break; case 17: this.enterOuterAlt(_localctx, 17); { this.state = 5094; this.match(PostgreSQLParser.KW_DROP); this.state = 5095; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 5096; this.match(PostgreSQLParser.KW_DATA); this.state = 5097; this.match(PostgreSQLParser.KW_WRAPPER); this.state = 5099; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 437, this._ctx) ) { case 1: { this.state = 5098; this.opt_if_exists(); } break; } this.state = 5101; this.name_list(); this.state = 5103; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 438, this._ctx) ) { case 1: { this.state = 5102; this.opt_drop_behavior(); } break; } } break; case 18: this.enterOuterAlt(_localctx, 18); { this.state = 5105; this.match(PostgreSQLParser.KW_DROP); this.state = 5107; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_PROCEDURAL) { { this.state = 5106; this.opt_procedural(); } } this.state = 5109; this.match(PostgreSQLParser.KW_LANGUAGE); this.state = 5111; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 440, this._ctx) ) { case 1: { this.state = 5110; this.opt_if_exists(); } break; } this.state = 5113; this.name_list(); this.state = 5115; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 441, this._ctx) ) { case 1: { this.state = 5114; this.opt_drop_behavior(); } break; } } break; case 19: this.enterOuterAlt(_localctx, 19); { this.state = 5117; this.match(PostgreSQLParser.KW_DROP); this.state = 5118; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 5120; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 442, this._ctx) ) { case 1: { this.state = 5119; this.opt_if_exists(); } break; } this.state = 5122; this.name_list(); this.state = 5124; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 443, this._ctx) ) { case 1: { this.state = 5123; this.opt_drop_behavior(); } break; } } break; case 20: this.enterOuterAlt(_localctx, 20); { this.state = 5126; this.match(PostgreSQLParser.KW_DROP); this.state = 5127; this.match(PostgreSQLParser.KW_SERVER); this.state = 5129; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 444, this._ctx) ) { case 1: { this.state = 5128; this.opt_if_exists(); } break; } this.state = 5131; this.name_list(); this.state = 5133; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 445, this._ctx) ) { case 1: { this.state = 5132; this.opt_drop_behavior(); } break; } } break; case 21: this.enterOuterAlt(_localctx, 21); { this.state = 5135; this.match(PostgreSQLParser.KW_DROP); this.state = 5136; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 5138; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 446, this._ctx) ) { case 1: { this.state = 5137; this.opt_if_exists(); } break; } this.state = 5140; this.schema_name_list(); this.state = 5142; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 447, this._ctx) ) { case 1: { this.state = 5141; this.opt_drop_behavior(); } break; } } break; case 22: this.enterOuterAlt(_localctx, 22); { this.state = 5144; this.match(PostgreSQLParser.KW_DROP); this.state = 5145; this.match(PostgreSQLParser.KW_POLICY); this.state = 5147; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 448, this._ctx) ) { case 1: { this.state = 5146; this.opt_if_exists(); } break; } this.state = 5149; this.name(); this.state = 5150; this.match(PostgreSQLParser.KW_ON); this.state = 5151; this.any_name(); this.state = 5153; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 449, this._ctx) ) { case 1: { this.state = 5152; this.opt_drop_behavior(); } break; } } break; case 23: this.enterOuterAlt(_localctx, 23); { this.state = 5155; this.match(PostgreSQLParser.KW_DROP); this.state = 5156; this.match(PostgreSQLParser.KW_RULE); this.state = 5158; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 450, this._ctx) ) { case 1: { this.state = 5157; this.opt_if_exists(); } break; } this.state = 5160; this.name(); this.state = 5161; this.match(PostgreSQLParser.KW_ON); this.state = 5162; this.any_name(); this.state = 5164; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 451, this._ctx) ) { case 1: { this.state = 5163; this.opt_drop_behavior(); } break; } } break; case 24: this.enterOuterAlt(_localctx, 24); { this.state = 5166; this.match(PostgreSQLParser.KW_DROP); this.state = 5167; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 5169; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 452, this._ctx) ) { case 1: { this.state = 5168; this.opt_if_exists(); } break; } this.state = 5171; this.name(); this.state = 5172; this.match(PostgreSQLParser.KW_ON); this.state = 5173; this.any_name(); this.state = 5175; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 453, this._ctx) ) { case 1: { this.state = 5174; this.opt_drop_behavior(); } break; } } break; case 25: this.enterOuterAlt(_localctx, 25); { this.state = 5177; this.match(PostgreSQLParser.KW_DROP); this.state = 5178; this.match(PostgreSQLParser.KW_TYPE); this.state = 5180; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 454, this._ctx) ) { case 1: { this.state = 5179; this.opt_if_exists(); } break; } this.state = 5182; this.type_name_list(); this.state = 5184; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 455, this._ctx) ) { case 1: { this.state = 5183; this.opt_drop_behavior(); } break; } } break; case 26: this.enterOuterAlt(_localctx, 26); { this.state = 5186; this.match(PostgreSQLParser.KW_DROP); this.state = 5187; this.match(PostgreSQLParser.KW_DOMAIN); this.state = 5189; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 456, this._ctx) ) { case 1: { this.state = 5188; this.opt_if_exists(); } break; } this.state = 5191; this.type_name_list(); this.state = 5193; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 457, this._ctx) ) { case 1: { this.state = 5192; this.opt_drop_behavior(); } break; } } break; case 27: this.enterOuterAlt(_localctx, 27); { this.state = 5195; this.match(PostgreSQLParser.KW_DROP); this.state = 5196; this.match(PostgreSQLParser.KW_INDEX); this.state = 5197; this.match(PostgreSQLParser.KW_CONCURRENTLY); this.state = 5199; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 458, this._ctx) ) { case 1: { this.state = 5198; this.opt_if_exists(); } break; } this.state = 5201; this.any_name_list(); this.state = 5203; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 459, this._ctx) ) { case 1: { this.state = 5202; this.opt_drop_behavior(); } break; } } break; case 28: this.enterOuterAlt(_localctx, 28); { this.state = 5205; this.match(PostgreSQLParser.KW_DROP); this.state = 5206; this.match(PostgreSQLParser.KW_CAST); this.state = 5208; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_IF) { { this.state = 5207; this.opt_if_exists(); } } this.state = 5210; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 5211; this.typename(); this.state = 5212; this.match(PostgreSQLParser.KW_AS); this.state = 5213; this.typename(); this.state = 5214; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 5216; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 461, this._ctx) ) { case 1: { this.state = 5215; this.opt_drop_behavior(); } break; } } break; case 29: this.enterOuterAlt(_localctx, 29); { this.state = 5218; this.match(PostgreSQLParser.KW_DROP); this.state = 5219; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 5220; this.match(PostgreSQLParser.KW_CLASS); this.state = 5222; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 462, this._ctx) ) { case 1: { this.state = 5221; this.opt_if_exists(); } break; } this.state = 5224; this.any_name(); this.state = 5225; this.match(PostgreSQLParser.KW_USING); this.state = 5226; this.name(); this.state = 5228; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 463, this._ctx) ) { case 1: { this.state = 5227; this.opt_drop_behavior(); } break; } } break; case 30: this.enterOuterAlt(_localctx, 30); { this.state = 5230; this.match(PostgreSQLParser.KW_DROP); this.state = 5231; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 5232; this.match(PostgreSQLParser.KW_FAMILY); this.state = 5234; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 464, this._ctx) ) { case 1: { this.state = 5233; this.opt_if_exists(); } break; } this.state = 5236; this.any_name(); this.state = 5237; this.match(PostgreSQLParser.KW_USING); this.state = 5238; this.name(); this.state = 5240; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 465, this._ctx) ) { case 1: { this.state = 5239; this.opt_drop_behavior(); } break; } } break; case 31: this.enterOuterAlt(_localctx, 31); { this.state = 5242; this.match(PostgreSQLParser.KW_DROP); this.state = 5243; this.match(PostgreSQLParser.KW_OWNED); this.state = 5244; this.match(PostgreSQLParser.KW_BY); this.state = 5245; this.role_list(); this.state = 5247; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 466, this._ctx) ) { case 1: { this.state = 5246; this.opt_drop_behavior(); } break; } } break; case 32: this.enterOuterAlt(_localctx, 32); { this.state = 5249; this.match(PostgreSQLParser.KW_DROP); this.state = 5250; this.match(PostgreSQLParser.KW_VIEW); this.state = 5252; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 467, this._ctx) ) { case 1: { this.state = 5251; this.opt_if_exists(); } break; } this.state = 5254; this.view_nameList(); this.state = 5256; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 468, this._ctx) ) { case 1: { this.state = 5255; this.opt_drop_behavior(); } break; } } break; case 33: this.enterOuterAlt(_localctx, 33); { this.state = 5258; this.match(PostgreSQLParser.KW_DROP); this.state = 5259; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 5261; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 469, this._ctx) ) { case 1: { this.state = 5260; this.opt_if_exists(); } break; } this.state = 5263; this.name(); this.state = 5265; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 470, this._ctx) ) { case 1: { this.state = 5264; this.opt_drop_behavior(); } break; } } break; case 34: this.enterOuterAlt(_localctx, 34); { this.state = 5267; this.match(PostgreSQLParser.KW_DROP); this.state = 5268; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 5270; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 471, this._ctx) ) { case 1: { this.state = 5269; this.opt_if_exists(); } break; } this.state = 5272; this.tablespace_name(); } break; case 35: this.enterOuterAlt(_localctx, 35); { this.state = 5273; this.match(PostgreSQLParser.KW_DROP); this.state = 5274; this.match(PostgreSQLParser.KW_TRANSFORM); this.state = 5276; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_IF) { { this.state = 5275; this.opt_if_exists(); } } this.state = 5278; this.match(PostgreSQLParser.KW_FOR); this.state = 5279; this.typename(); this.state = 5280; this.match(PostgreSQLParser.KW_LANGUAGE); this.state = 5281; this.name(); this.state = 5283; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 473, this._ctx) ) { case 1: { this.state = 5282; this.opt_drop_behavior(); } break; } } break; case 36: this.enterOuterAlt(_localctx, 36); { this.state = 5285; this.match(PostgreSQLParser.KW_DROP); this.state = 5286; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_GROUP || _la === PostgreSQLParser.KW_USER || _la === PostgreSQLParser.KW_ROLE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 5288; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 474, this._ctx) ) { case 1: { this.state = 5287; this.opt_if_exists(); } break; } this.state = 5290; this.role_list(); } break; case 37: this.enterOuterAlt(_localctx, 37); { this.state = 5291; this.match(PostgreSQLParser.KW_DROP); this.state = 5292; this.match(PostgreSQLParser.KW_USER); this.state = 5293; this.match(PostgreSQLParser.KW_MAPPING); this.state = 5295; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_IF) { { this.state = 5294; this.opt_if_exists(); } } this.state = 5297; this.match(PostgreSQLParser.KW_FOR); this.state = 5298; this.auth_ident(); this.state = 5299; this.match(PostgreSQLParser.KW_SERVER); this.state = 5300; this.name(); } break; case 38: this.enterOuterAlt(_localctx, 38); { this.state = 5302; this.match(PostgreSQLParser.KW_DROP); this.state = 5303; this.match(PostgreSQLParser.KW_DATABASE); this.state = 5305; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 476, this._ctx) ) { case 1: { this.state = 5304; this.opt_if_exists(); } break; } this.state = 5307; this.database_name(); this.state = 5315; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 478, this._ctx) ) { case 1: { this.state = 5309; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WITH) { { this.state = 5308; this.opt_with(); } } this.state = 5311; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 5312; this.drop_option_list(); this.state = 5313; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public view_nameList(): View_nameListContext { let _localctx: View_nameListContext = new View_nameListContext(this._ctx, this.state); this.enterRule(_localctx, 542, PostgreSQLParser.RULE_view_nameList); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 5319; this.view_name(); this.state = 5324; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 5320; this.match(PostgreSQLParser.COMMA); this.state = 5321; this.view_name(); } } this.state = 5326; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public object_type_any_name(): Object_type_any_nameContext { let _localctx: Object_type_any_nameContext = new Object_type_any_nameContext(this._ctx, this.state); this.enterRule(_localctx, 544, PostgreSQLParser.RULE_object_type_any_name); try { this.state = 5363; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 481, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 5327; this.match(PostgreSQLParser.KW_TABLE); this.state = 5328; this.table_name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 5329; this.match(PostgreSQLParser.KW_SEQUENCE); this.state = 5330; this.any_name(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 5331; this.match(PostgreSQLParser.KW_VIEW); this.state = 5332; this.view_name(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 5333; this.match(PostgreSQLParser.KW_MATERIALIZED); this.state = 5334; this.match(PostgreSQLParser.KW_VIEW); this.state = 5335; this.view_name(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 5336; this.match(PostgreSQLParser.KW_INDEX); this.state = 5337; this.any_name(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 5338; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 5339; this.match(PostgreSQLParser.KW_TABLE); this.state = 5340; this.table_name(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 5341; this.match(PostgreSQLParser.KW_COLLATION); this.state = 5342; this.any_name(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 5343; this.match(PostgreSQLParser.KW_CONVERSION); this.state = 5344; this.any_name(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 5345; this.match(PostgreSQLParser.KW_STATISTICS); this.state = 5346; this.any_name(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 5347; this.match(PostgreSQLParser.KW_TEXT); this.state = 5348; this.match(PostgreSQLParser.KW_SEARCH); this.state = 5349; this.match(PostgreSQLParser.KW_PARSER); this.state = 5350; this.any_name(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 5351; this.match(PostgreSQLParser.KW_TEXT); this.state = 5352; this.match(PostgreSQLParser.KW_SEARCH); this.state = 5353; this.match(PostgreSQLParser.KW_DICTIONARY); this.state = 5354; this.any_name(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 5355; this.match(PostgreSQLParser.KW_TEXT); this.state = 5356; this.match(PostgreSQLParser.KW_SEARCH); this.state = 5357; this.match(PostgreSQLParser.KW_TEMPLATE); this.state = 5358; this.any_name(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 5359; this.match(PostgreSQLParser.KW_TEXT); this.state = 5360; this.match(PostgreSQLParser.KW_SEARCH); this.state = 5361; this.match(PostgreSQLParser.KW_CONFIGURATION); this.state = 5362; this.any_name(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public object_type_name(): Object_type_nameContext { let _localctx: Object_type_nameContext = new Object_type_nameContext(this._ctx, this.state); this.enterRule(_localctx, 546, PostgreSQLParser.RULE_object_type_name); let _la: number; try { this.state = 5396; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_ACCESS: this.enterOuterAlt(_localctx, 1); { { this.state = 5365; this.match(PostgreSQLParser.KW_ACCESS); this.state = 5366; this.match(PostgreSQLParser.KW_METHOD); this.state = 5367; this.name(); } } break; case PostgreSQLParser.KW_EVENT: this.enterOuterAlt(_localctx, 2); { { this.state = 5368; this.match(PostgreSQLParser.KW_EVENT); this.state = 5369; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 5370; this.name(); } } break; case PostgreSQLParser.KW_EXTENSION: this.enterOuterAlt(_localctx, 3); { { this.state = 5371; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 5372; this.name(); } } break; case PostgreSQLParser.KW_FOREIGN: this.enterOuterAlt(_localctx, 4); { { this.state = 5373; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 5374; this.match(PostgreSQLParser.KW_DATA); this.state = 5375; this.match(PostgreSQLParser.KW_WRAPPER); this.state = 5376; this.name(); } } break; case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_PROCEDURAL: this.enterOuterAlt(_localctx, 5); { { this.state = 5378; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_PROCEDURAL) { { this.state = 5377; this.opt_procedural(); } } this.state = 5380; this.match(PostgreSQLParser.KW_LANGUAGE); this.state = 5381; this.name(); } } break; case PostgreSQLParser.KW_PUBLICATION: this.enterOuterAlt(_localctx, 6); { { this.state = 5382; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 5383; this.name(); } } break; case PostgreSQLParser.KW_SCHEMA: this.enterOuterAlt(_localctx, 7); { { this.state = 5384; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 5385; this.schema_name(); } } break; case PostgreSQLParser.KW_SERVER: this.enterOuterAlt(_localctx, 8); { { this.state = 5386; this.match(PostgreSQLParser.KW_SERVER); this.state = 5387; this.name(); } } break; case PostgreSQLParser.KW_DATABASE: this.enterOuterAlt(_localctx, 9); { { this.state = 5388; this.match(PostgreSQLParser.KW_DATABASE); this.state = 5389; this.database_name(); } } break; case PostgreSQLParser.KW_ROLE: this.enterOuterAlt(_localctx, 10); { { this.state = 5390; this.match(PostgreSQLParser.KW_ROLE); this.state = 5391; this.name(); } } break; case PostgreSQLParser.KW_SUBSCRIPTION: this.enterOuterAlt(_localctx, 11); { { this.state = 5392; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 5393; this.name(); } } break; case PostgreSQLParser.KW_TABLESPACE: this.enterOuterAlt(_localctx, 12); { { this.state = 5394; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 5395; this.tablespace_name(); } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public object_type_name_on_any_name(): Object_type_name_on_any_nameContext { let _localctx: Object_type_name_on_any_nameContext = new Object_type_name_on_any_nameContext(this._ctx, this.state); this.enterRule(_localctx, 548, PostgreSQLParser.RULE_object_type_name_on_any_name); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 5398; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_RULE || _la === PostgreSQLParser.KW_TRIGGER || _la === PostgreSQLParser.KW_POLICY)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public any_name_list(): Any_name_listContext { let _localctx: Any_name_listContext = new Any_name_listContext(this._ctx, this.state); this.enterRule(_localctx, 550, PostgreSQLParser.RULE_any_name_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 5400; this.any_name(); this.state = 5405; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 5401; this.match(PostgreSQLParser.COMMA); this.state = 5402; this.any_name(); } } this.state = 5407; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public table_column_name(): Table_column_nameContext { let _localctx: Table_column_nameContext = new Table_column_nameContext(this._ctx, this.state); this.enterRule(_localctx, 552, PostgreSQLParser.RULE_table_column_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 5408; this.table_name(); this.state = 5409; this.match(PostgreSQLParser.DOT); this.state = 5410; this.column_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public relation_column_name(): Relation_column_nameContext { let _localctx: Relation_column_nameContext = new Relation_column_nameContext(this._ctx, this.state); this.enterRule(_localctx, 554, PostgreSQLParser.RULE_relation_column_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 5412; this.relation_name(); this.state = 5413; this.match(PostgreSQLParser.DOT); this.state = 5414; this.column_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public relation_name(): Relation_nameContext { let _localctx: Relation_nameContext = new Relation_nameContext(this._ctx, this.state); this.enterRule(_localctx, 556, PostgreSQLParser.RULE_relation_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 5416; this.colid(); this.state = 5418; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 485, this._ctx) ) { case 1: { this.state = 5417; this.attrs(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public any_name(): Any_nameContext { let _localctx: Any_nameContext = new Any_nameContext(this._ctx, this.state); this.enterRule(_localctx, 558, PostgreSQLParser.RULE_any_name); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 5420; this.colid(); this.state = 5422; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.DOT) { { this.state = 5421; this.attrs(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public attrs(): AttrsContext { let _localctx: AttrsContext = new AttrsContext(this._ctx, this.state); this.enterRule(_localctx, 560, PostgreSQLParser.RULE_attrs); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 5426; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 5424; this.match(PostgreSQLParser.DOT); this.state = 5425; this.attr_name(); } } break; default: throw new NoViableAltException(this); } this.state = 5428; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 487, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public type_name_list(): Type_name_listContext { let _localctx: Type_name_listContext = new Type_name_listContext(this._ctx, this.state); this.enterRule(_localctx, 562, PostgreSQLParser.RULE_type_name_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 5430; this.typename(); this.state = 5435; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 5431; this.match(PostgreSQLParser.COMMA); this.state = 5432; this.typename(); } } this.state = 5437; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public truncatestmt(): TruncatestmtContext { let _localctx: TruncatestmtContext = new TruncatestmtContext(this._ctx, this.state); this.enterRule(_localctx, 564, PostgreSQLParser.RULE_truncatestmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 5438; this.match(PostgreSQLParser.KW_TRUNCATE); this.state = 5440; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 489, this._ctx) ) { case 1: { this.state = 5439; this.opt_table(); } break; } this.state = 5442; this.relation_expr_list(); this.state = 5444; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 490, this._ctx) ) { case 1: { this.state = 5443; this.opt_restart_seqs(); } break; } this.state = 5447; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 491, this._ctx) ) { case 1: { this.state = 5446; this.opt_drop_behavior(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_restart_seqs(): Opt_restart_seqsContext { let _localctx: Opt_restart_seqsContext = new Opt_restart_seqsContext(this._ctx, this.state); this.enterRule(_localctx, 566, PostgreSQLParser.RULE_opt_restart_seqs); try { this.state = 5453; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_CONTINUE: this.enterOuterAlt(_localctx, 1); { this.state = 5449; this.match(PostgreSQLParser.KW_CONTINUE); this.state = 5450; this.match(PostgreSQLParser.KW_IDENTITY); } break; case PostgreSQLParser.KW_RESTART: this.enterOuterAlt(_localctx, 2); { this.state = 5451; this.match(PostgreSQLParser.KW_RESTART); this.state = 5452; this.match(PostgreSQLParser.KW_IDENTITY); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public commentstmt(): CommentstmtContext { let _localctx: CommentstmtContext = new CommentstmtContext(this._ctx, this.state); this.enterRule(_localctx, 568, PostgreSQLParser.RULE_commentstmt); try { this.state = 5620; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 494, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 5455; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5456; this.match(PostgreSQLParser.KW_ON); this.state = 5457; this.object_type_any_name(); this.state = 5458; this.match(PostgreSQLParser.KW_IS); this.state = 5459; this.comment_text(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 5461; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5462; this.match(PostgreSQLParser.KW_ON); this.state = 5463; this.match(PostgreSQLParser.KW_COLUMN); this.state = 5464; this.relation_column_name(); this.state = 5465; this.match(PostgreSQLParser.KW_IS); this.state = 5466; this.comment_text(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 5468; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5469; this.match(PostgreSQLParser.KW_ON); this.state = 5470; this.object_type_name(); this.state = 5471; this.match(PostgreSQLParser.KW_IS); this.state = 5472; this.comment_text(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 5474; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5475; this.match(PostgreSQLParser.KW_ON); this.state = 5476; this.match(PostgreSQLParser.KW_TYPE); this.state = 5477; this.typename(); this.state = 5478; this.match(PostgreSQLParser.KW_IS); this.state = 5479; this.comment_text(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 5481; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5482; this.match(PostgreSQLParser.KW_ON); this.state = 5483; this.match(PostgreSQLParser.KW_DOMAIN); this.state = 5484; this.typename(); this.state = 5485; this.match(PostgreSQLParser.KW_IS); this.state = 5486; this.comment_text(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 5488; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5489; this.match(PostgreSQLParser.KW_ON); this.state = 5490; this.match(PostgreSQLParser.KW_AGGREGATE); this.state = 5491; this.aggregate_with_argtypes(); this.state = 5492; this.match(PostgreSQLParser.KW_IS); this.state = 5493; this.comment_text(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 5495; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5496; this.match(PostgreSQLParser.KW_ON); this.state = 5497; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 5498; this.function_with_argtypes(); this.state = 5499; this.match(PostgreSQLParser.KW_IS); this.state = 5500; this.comment_text(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 5502; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5503; this.match(PostgreSQLParser.KW_ON); this.state = 5504; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 5505; this.operator_with_argtypes(); this.state = 5506; this.match(PostgreSQLParser.KW_IS); this.state = 5507; this.comment_text(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 5509; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5510; this.match(PostgreSQLParser.KW_ON); this.state = 5511; this.match(PostgreSQLParser.KW_CONSTRAINT); this.state = 5512; this.name(); this.state = 5513; this.match(PostgreSQLParser.KW_ON); this.state = 5514; this.table_name(); this.state = 5515; this.match(PostgreSQLParser.KW_IS); this.state = 5516; this.comment_text(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 5518; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5519; this.match(PostgreSQLParser.KW_ON); this.state = 5520; this.match(PostgreSQLParser.KW_CONSTRAINT); this.state = 5521; this.name(); this.state = 5522; this.match(PostgreSQLParser.KW_ON); this.state = 5524; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 493, this._ctx) ) { case 1: { this.state = 5523; this.match(PostgreSQLParser.KW_DOMAIN); } break; } this.state = 5526; this.any_name(); this.state = 5527; this.match(PostgreSQLParser.KW_IS); this.state = 5528; this.comment_text(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 5530; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5531; this.match(PostgreSQLParser.KW_ON); this.state = 5532; this.match(PostgreSQLParser.KW_POLICY); this.state = 5533; this.name(); this.state = 5534; this.match(PostgreSQLParser.KW_ON); this.state = 5535; this.any_name(); this.state = 5536; this.match(PostgreSQLParser.KW_IS); this.state = 5537; this.comment_text(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 5539; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5540; this.match(PostgreSQLParser.KW_ON); this.state = 5541; this.match(PostgreSQLParser.KW_RULE); this.state = 5542; this.name(); this.state = 5543; this.match(PostgreSQLParser.KW_ON); this.state = 5544; this.any_name(); this.state = 5545; this.match(PostgreSQLParser.KW_IS); this.state = 5546; this.comment_text(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 5548; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5549; this.match(PostgreSQLParser.KW_ON); this.state = 5550; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 5551; this.name(); this.state = 5552; this.match(PostgreSQLParser.KW_ON); this.state = 5553; this.any_name(); this.state = 5554; this.match(PostgreSQLParser.KW_IS); this.state = 5555; this.comment_text(); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 5557; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5558; this.match(PostgreSQLParser.KW_ON); this.state = 5559; this.match(PostgreSQLParser.KW_PROCEDURE); this.state = 5560; this.procedure_with_argtypes(); this.state = 5561; this.match(PostgreSQLParser.KW_IS); this.state = 5562; this.comment_text(); } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 5564; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5565; this.match(PostgreSQLParser.KW_ON); this.state = 5566; this.match(PostgreSQLParser.KW_ROUTINE); this.state = 5567; this.routine_with_argtypes(); this.state = 5568; this.match(PostgreSQLParser.KW_IS); this.state = 5569; this.comment_text(); } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 5571; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5572; this.match(PostgreSQLParser.KW_ON); this.state = 5573; this.match(PostgreSQLParser.KW_TRANSFORM); this.state = 5574; this.match(PostgreSQLParser.KW_FOR); this.state = 5575; this.typename(); this.state = 5576; this.match(PostgreSQLParser.KW_LANGUAGE); this.state = 5577; this.name(); this.state = 5578; this.match(PostgreSQLParser.KW_IS); this.state = 5579; this.comment_text(); } break; case 17: this.enterOuterAlt(_localctx, 17); { this.state = 5581; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5582; this.match(PostgreSQLParser.KW_ON); this.state = 5583; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 5584; this.match(PostgreSQLParser.KW_CLASS); this.state = 5585; this.any_name(); this.state = 5586; this.match(PostgreSQLParser.KW_USING); this.state = 5587; this.name(); this.state = 5588; this.match(PostgreSQLParser.KW_IS); this.state = 5589; this.comment_text(); } break; case 18: this.enterOuterAlt(_localctx, 18); { this.state = 5591; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5592; this.match(PostgreSQLParser.KW_ON); this.state = 5593; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 5594; this.match(PostgreSQLParser.KW_FAMILY); this.state = 5595; this.any_name(); this.state = 5596; this.match(PostgreSQLParser.KW_USING); this.state = 5597; this.name(); this.state = 5598; this.match(PostgreSQLParser.KW_IS); this.state = 5599; this.comment_text(); } break; case 19: this.enterOuterAlt(_localctx, 19); { this.state = 5601; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5602; this.match(PostgreSQLParser.KW_ON); this.state = 5603; this.match(PostgreSQLParser.KW_LARGE); this.state = 5604; this.match(PostgreSQLParser.KW_OBJECT); this.state = 5605; this.numericonly(); this.state = 5606; this.match(PostgreSQLParser.KW_IS); this.state = 5607; this.comment_text(); } break; case 20: this.enterOuterAlt(_localctx, 20); { this.state = 5609; this.match(PostgreSQLParser.KW_COMMENT); this.state = 5610; this.match(PostgreSQLParser.KW_ON); this.state = 5611; this.match(PostgreSQLParser.KW_CAST); this.state = 5612; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 5613; this.typename(); this.state = 5614; this.match(PostgreSQLParser.KW_AS); this.state = 5615; this.typename(); this.state = 5616; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 5617; this.match(PostgreSQLParser.KW_IS); this.state = 5618; this.comment_text(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public comment_text(): Comment_textContext { let _localctx: Comment_textContext = new Comment_textContext(this._ctx, this.state); this.enterRule(_localctx, 570, PostgreSQLParser.RULE_comment_text); try { this.state = 5624; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 5622; this.sconst(); } break; case PostgreSQLParser.KW_NULL: this.enterOuterAlt(_localctx, 2); { this.state = 5623; this.match(PostgreSQLParser.KW_NULL); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public seclabelstmt(): SeclabelstmtContext { let _localctx: SeclabelstmtContext = new SeclabelstmtContext(this._ctx, this.state); this.enterRule(_localctx, 572, PostgreSQLParser.RULE_seclabelstmt); let _la: number; try { this.state = 5735; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 506, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 5626; this.match(PostgreSQLParser.KW_SECURITY); this.state = 5627; this.match(PostgreSQLParser.KW_LABEL); this.state = 5629; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 5628; this.opt_provider(); } } this.state = 5631; this.match(PostgreSQLParser.KW_ON); this.state = 5632; this.object_type_any_name(); this.state = 5633; this.match(PostgreSQLParser.KW_IS); this.state = 5634; this.security_label(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 5636; this.match(PostgreSQLParser.KW_SECURITY); this.state = 5637; this.match(PostgreSQLParser.KW_LABEL); this.state = 5639; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 5638; this.opt_provider(); } } this.state = 5641; this.match(PostgreSQLParser.KW_ON); this.state = 5642; this.match(PostgreSQLParser.KW_COLUMN); this.state = 5643; this.table_column_name(); this.state = 5644; this.match(PostgreSQLParser.KW_IS); this.state = 5645; this.security_label(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 5647; this.match(PostgreSQLParser.KW_SECURITY); this.state = 5648; this.match(PostgreSQLParser.KW_LABEL); this.state = 5650; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 5649; this.opt_provider(); } } this.state = 5652; this.match(PostgreSQLParser.KW_ON); this.state = 5653; this.object_type_name(); this.state = 5654; this.match(PostgreSQLParser.KW_IS); this.state = 5655; this.security_label(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 5657; this.match(PostgreSQLParser.KW_SECURITY); this.state = 5658; this.match(PostgreSQLParser.KW_LABEL); this.state = 5660; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 5659; this.opt_provider(); } } this.state = 5662; this.match(PostgreSQLParser.KW_ON); this.state = 5663; this.match(PostgreSQLParser.KW_TYPE); this.state = 5664; this.typename(); this.state = 5665; this.match(PostgreSQLParser.KW_IS); this.state = 5666; this.security_label(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 5668; this.match(PostgreSQLParser.KW_SECURITY); this.state = 5669; this.match(PostgreSQLParser.KW_LABEL); this.state = 5671; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 5670; this.opt_provider(); } } this.state = 5673; this.match(PostgreSQLParser.KW_ON); this.state = 5674; this.match(PostgreSQLParser.KW_DOMAIN); this.state = 5675; this.typename(); this.state = 5676; this.match(PostgreSQLParser.KW_IS); this.state = 5677; this.security_label(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 5679; this.match(PostgreSQLParser.KW_SECURITY); this.state = 5680; this.match(PostgreSQLParser.KW_LABEL); this.state = 5682; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 5681; this.opt_provider(); } } this.state = 5684; this.match(PostgreSQLParser.KW_ON); this.state = 5685; this.match(PostgreSQLParser.KW_AGGREGATE); this.state = 5686; this.aggregate_with_argtypes(); this.state = 5687; this.match(PostgreSQLParser.KW_IS); this.state = 5688; this.security_label(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 5690; this.match(PostgreSQLParser.KW_SECURITY); this.state = 5691; this.match(PostgreSQLParser.KW_LABEL); this.state = 5693; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 5692; this.opt_provider(); } } this.state = 5695; this.match(PostgreSQLParser.KW_ON); this.state = 5696; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 5697; this.function_with_argtypes(); this.state = 5698; this.match(PostgreSQLParser.KW_IS); this.state = 5699; this.security_label(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 5701; this.match(PostgreSQLParser.KW_SECURITY); this.state = 5702; this.match(PostgreSQLParser.KW_LABEL); this.state = 5704; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 5703; this.opt_provider(); } } this.state = 5706; this.match(PostgreSQLParser.KW_ON); this.state = 5707; this.match(PostgreSQLParser.KW_LARGE); this.state = 5708; this.match(PostgreSQLParser.KW_OBJECT); this.state = 5709; this.numericonly(); this.state = 5710; this.match(PostgreSQLParser.KW_IS); this.state = 5711; this.security_label(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 5713; this.match(PostgreSQLParser.KW_SECURITY); this.state = 5714; this.match(PostgreSQLParser.KW_LABEL); this.state = 5716; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 5715; this.opt_provider(); } } this.state = 5718; this.match(PostgreSQLParser.KW_ON); this.state = 5719; this.match(PostgreSQLParser.KW_PROCEDURE); this.state = 5720; this.procedure_with_argtypes(); this.state = 5721; this.match(PostgreSQLParser.KW_IS); this.state = 5722; this.security_label(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 5724; this.match(PostgreSQLParser.KW_SECURITY); this.state = 5725; this.match(PostgreSQLParser.KW_LABEL); this.state = 5727; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 5726; this.opt_provider(); } } this.state = 5729; this.match(PostgreSQLParser.KW_ON); this.state = 5730; this.match(PostgreSQLParser.KW_ROUTINE); this.state = 5731; this.routine_with_argtypes(); this.state = 5732; this.match(PostgreSQLParser.KW_IS); this.state = 5733; this.security_label(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_provider(): Opt_providerContext { let _localctx: Opt_providerContext = new Opt_providerContext(this._ctx, this.state); this.enterRule(_localctx, 574, PostgreSQLParser.RULE_opt_provider); try { this.enterOuterAlt(_localctx, 1); { this.state = 5737; this.match(PostgreSQLParser.KW_FOR); this.state = 5738; this.nonreservedword_or_sconst(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public security_label(): Security_labelContext { let _localctx: Security_labelContext = new Security_labelContext(this._ctx, this.state); this.enterRule(_localctx, 576, PostgreSQLParser.RULE_security_label); try { this.state = 5742; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 5740; this.sconst(); } break; case PostgreSQLParser.KW_NULL: this.enterOuterAlt(_localctx, 2); { this.state = 5741; this.match(PostgreSQLParser.KW_NULL); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public fetchstmt(): FetchstmtContext { let _localctx: FetchstmtContext = new FetchstmtContext(this._ctx, this.state); this.enterRule(_localctx, 578, PostgreSQLParser.RULE_fetchstmt); try { this.state = 5748; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_FETCH: this.enterOuterAlt(_localctx, 1); { this.state = 5744; this.match(PostgreSQLParser.KW_FETCH); this.state = 5745; this.fetch_args(); } break; case PostgreSQLParser.KW_MOVE: this.enterOuterAlt(_localctx, 2); { this.state = 5746; this.match(PostgreSQLParser.KW_MOVE); this.state = 5747; this.fetch_args(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public fetch_args(): Fetch_argsContext { let _localctx: Fetch_argsContext = new Fetch_argsContext(this._ctx, this.state); this.enterRule(_localctx, 580, PostgreSQLParser.RULE_fetch_args); let _la: number; try { this.state = 5835; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 523, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 5750; this.cursor_name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 5751; this.from_in(); this.state = 5752; this.cursor_name(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 5754; this.match(PostgreSQLParser.KW_NEXT); this.state = 5756; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5755; this.opt_from_in(); } } this.state = 5758; this.cursor_name(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 5759; this.match(PostgreSQLParser.KW_PRIOR); this.state = 5761; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5760; this.opt_from_in(); } } this.state = 5763; this.cursor_name(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 5764; this.match(PostgreSQLParser.KW_FIRST); this.state = 5766; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5765; this.opt_from_in(); } } this.state = 5768; this.cursor_name(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 5769; this.match(PostgreSQLParser.KW_LAST); this.state = 5771; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5770; this.opt_from_in(); } } this.state = 5773; this.cursor_name(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 5774; this.match(PostgreSQLParser.KW_ABSOLUTE); this.state = 5775; this.signediconst(); this.state = 5777; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5776; this.opt_from_in(); } } this.state = 5779; this.cursor_name(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 5781; this.match(PostgreSQLParser.KW_RELATIVE); this.state = 5782; this.signediconst(); this.state = 5784; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5783; this.opt_from_in(); } } this.state = 5786; this.cursor_name(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 5788; this.signediconst(); this.state = 5790; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5789; this.opt_from_in(); } } this.state = 5792; this.cursor_name(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 5794; this.match(PostgreSQLParser.KW_ALL); this.state = 5796; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5795; this.opt_from_in(); } } this.state = 5798; this.cursor_name(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 5799; this.match(PostgreSQLParser.KW_FORWARD); this.state = 5801; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5800; this.opt_from_in(); } } this.state = 5803; this.cursor_name(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 5804; this.match(PostgreSQLParser.KW_FORWARD); this.state = 5805; this.signediconst(); this.state = 5807; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5806; this.opt_from_in(); } } this.state = 5809; this.cursor_name(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 5811; this.match(PostgreSQLParser.KW_FORWARD); this.state = 5812; this.match(PostgreSQLParser.KW_ALL); this.state = 5814; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5813; this.opt_from_in(); } } this.state = 5816; this.cursor_name(); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 5817; this.match(PostgreSQLParser.KW_BACKWARD); this.state = 5819; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5818; this.opt_from_in(); } } this.state = 5821; this.cursor_name(); } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 5822; this.match(PostgreSQLParser.KW_BACKWARD); this.state = 5823; this.signediconst(); this.state = 5825; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5824; this.opt_from_in(); } } this.state = 5827; this.cursor_name(); } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 5829; this.match(PostgreSQLParser.KW_BACKWARD); this.state = 5830; this.match(PostgreSQLParser.KW_ALL); this.state = 5832; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN) { { this.state = 5831; this.opt_from_in(); } } this.state = 5834; this.cursor_name(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public from_in(): From_inContext { let _localctx: From_inContext = new From_inContext(this._ctx, this.state); this.enterRule(_localctx, 582, PostgreSQLParser.RULE_from_in); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 5837; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_FROM || _la === PostgreSQLParser.KW_IN)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_from_in(): Opt_from_inContext { let _localctx: Opt_from_inContext = new Opt_from_inContext(this._ctx, this.state); this.enterRule(_localctx, 584, PostgreSQLParser.RULE_opt_from_in); try { this.enterOuterAlt(_localctx, 1); { this.state = 5839; this.from_in(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public grantstmt(): GrantstmtContext { let _localctx: GrantstmtContext = new GrantstmtContext(this._ctx, this.state); this.enterRule(_localctx, 586, PostgreSQLParser.RULE_grantstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 5841; this.match(PostgreSQLParser.KW_GRANT); this.state = 5842; this.privileges(); this.state = 5843; this.match(PostgreSQLParser.KW_ON); this.state = 5844; this.privilege_target(); this.state = 5845; this.match(PostgreSQLParser.KW_TO); this.state = 5846; this.grantee_list(); this.state = 5848; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 524, this._ctx) ) { case 1: { this.state = 5847; this.opt_grant_grant_option(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public revokestmt(): RevokestmtContext { let _localctx: RevokestmtContext = new RevokestmtContext(this._ctx, this.state); this.enterRule(_localctx, 588, PostgreSQLParser.RULE_revokestmt); try { this.state = 5871; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 527, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 5850; this.match(PostgreSQLParser.KW_REVOKE); this.state = 5851; this.privileges(); this.state = 5852; this.match(PostgreSQLParser.KW_ON); this.state = 5853; this.privilege_target(); this.state = 5854; this.match(PostgreSQLParser.KW_FROM); this.state = 5855; this.grantee_list(); this.state = 5857; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 525, this._ctx) ) { case 1: { this.state = 5856; this.opt_drop_behavior(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 5859; this.match(PostgreSQLParser.KW_REVOKE); this.state = 5860; this.match(PostgreSQLParser.KW_GRANT); this.state = 5861; this.match(PostgreSQLParser.KW_OPTION); this.state = 5862; this.match(PostgreSQLParser.KW_FOR); this.state = 5863; this.privileges(); this.state = 5864; this.match(PostgreSQLParser.KW_ON); this.state = 5865; this.privilege_target(); this.state = 5866; this.match(PostgreSQLParser.KW_FROM); this.state = 5867; this.grantee_list(); this.state = 5869; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 526, this._ctx) ) { case 1: { this.state = 5868; this.opt_drop_behavior(); } break; } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public privileges(): PrivilegesContext { let _localctx: PrivilegesContext = new PrivilegesContext(this._ctx, this.state); this.enterRule(_localctx, 590, PostgreSQLParser.RULE_privileges); try { this.state = 5889; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 528, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 5873; this.privilege_list(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 5874; this.match(PostgreSQLParser.KW_ALL); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 5875; this.match(PostgreSQLParser.KW_ALL); this.state = 5876; this.match(PostgreSQLParser.KW_PRIVILEGES); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 5877; this.match(PostgreSQLParser.KW_ALL); this.state = 5878; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 5879; this.columnlist(); this.state = 5880; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 5882; this.match(PostgreSQLParser.KW_ALL); this.state = 5883; this.match(PostgreSQLParser.KW_PRIVILEGES); this.state = 5884; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 5885; this.columnlist(); this.state = 5886; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 5888; this.beforeprivilegeselectlist(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public beforeprivilegeselectlist(): BeforeprivilegeselectlistContext { let _localctx: BeforeprivilegeselectlistContext = new BeforeprivilegeselectlistContext(this._ctx, this.state); this.enterRule(_localctx, 592, PostgreSQLParser.RULE_beforeprivilegeselectlist); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 5891; this.beforeprivilegeselect(); this.state = 5896; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 5892; this.match(PostgreSQLParser.COMMA); this.state = 5893; this.beforeprivilegeselect(); } } this.state = 5898; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public beforeprivilegeselect(): BeforeprivilegeselectContext { let _localctx: BeforeprivilegeselectContext = new BeforeprivilegeselectContext(this._ctx, this.state); this.enterRule(_localctx, 594, PostgreSQLParser.RULE_beforeprivilegeselect); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 5899; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_CREATE || _la === PostgreSQLParser.KW_SELECT || _la === PostgreSQLParser.KW_DELETE || _la === PostgreSQLParser.KW_EXECUTE || _la === PostgreSQLParser.KW_INSERT || ((((_la - 352)) & ~0x1F) === 0 && ((1 << (_la - 352)) & ((1 << (PostgreSQLParser.KW_TEMP - 352)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 352)) | (1 << (PostgreSQLParser.KW_TRIGGER - 352)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 352)) | (1 << (PostgreSQLParser.KW_UPDATE - 352)))) !== 0) || ((((_la - 521)) & ~0x1F) === 0 && ((1 << (_la - 521)) & ((1 << (PostgreSQLParser.KW_PEFERENCES - 521)) | (1 << (PostgreSQLParser.KW_USAGE - 521)) | (1 << (PostgreSQLParser.KW_CONNECT - 521)))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public privilege_list(): Privilege_listContext { let _localctx: Privilege_listContext = new Privilege_listContext(this._ctx, this.state); this.enterRule(_localctx, 596, PostgreSQLParser.RULE_privilege_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 5901; this.privilege(); this.state = 5906; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 5902; this.match(PostgreSQLParser.COMMA); this.state = 5903; this.privilege(); } } this.state = 5908; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public privilege(): PrivilegeContext { let _localctx: PrivilegeContext = new PrivilegeContext(this._ctx, this.state); this.enterRule(_localctx, 598, PostgreSQLParser.RULE_privilege); let _la: number; try { this.state = 5925; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_SELECT: this.enterOuterAlt(_localctx, 1); { this.state = 5909; this.match(PostgreSQLParser.KW_SELECT); this.state = 5911; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 5910; this.opt_column_list(); } } } break; case PostgreSQLParser.KW_REFERENCES: this.enterOuterAlt(_localctx, 2); { this.state = 5913; this.match(PostgreSQLParser.KW_REFERENCES); this.state = 5915; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 5914; this.opt_column_list(); } } } break; case PostgreSQLParser.KW_CREATE: this.enterOuterAlt(_localctx, 3); { this.state = 5917; this.match(PostgreSQLParser.KW_CREATE); this.state = 5919; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 5918; this.opt_column_list(); } } } break; case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 4); { this.state = 5921; this.colid(); this.state = 5923; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 5922; this.opt_column_list(); } } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public privilege_target(): Privilege_targetContext { let _localctx: Privilege_targetContext = new Privilege_targetContext(this._ctx, this.state); this.enterRule(_localctx, 600, PostgreSQLParser.RULE_privilege_target); try { this.state = 5985; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 536, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 5927; this.qualified_name_list(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 5928; this.match(PostgreSQLParser.KW_TABLE); this.state = 5929; this.table_name_list(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 5930; this.match(PostgreSQLParser.KW_SEQUENCE); this.state = 5931; this.qualified_name_list(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 5932; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 5933; this.match(PostgreSQLParser.KW_DATA); this.state = 5934; this.match(PostgreSQLParser.KW_WRAPPER); this.state = 5935; this.name_list(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 5936; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 5937; this.match(PostgreSQLParser.KW_SERVER); this.state = 5938; this.name_list(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 5939; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 5940; this.function_with_argtypes_list(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 5941; this.match(PostgreSQLParser.KW_PROCEDURE); this.state = 5942; this.procedure_with_argtypes_list(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 5943; this.match(PostgreSQLParser.KW_ROUTINE); this.state = 5944; this.routine_with_argtypes_list(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 5945; this.match(PostgreSQLParser.KW_DATABASE); this.state = 5946; this.database_nameList(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 5947; this.match(PostgreSQLParser.KW_DOMAIN); this.state = 5948; this.any_name_list(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 5949; this.match(PostgreSQLParser.KW_LANGUAGE); this.state = 5950; this.name_list(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 5951; this.match(PostgreSQLParser.KW_LARGE); this.state = 5952; this.match(PostgreSQLParser.KW_OBJECT); this.state = 5953; this.numericonly_list(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 5954; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 5955; this.schema_name_list(); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 5956; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 5957; this.tablespace_name_list(); } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 5958; this.match(PostgreSQLParser.KW_TYPE); this.state = 5959; this.any_name_list(); } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 5960; this.match(PostgreSQLParser.KW_ALL); this.state = 5961; this.match(PostgreSQLParser.KW_TABLES); this.state = 5962; this.match(PostgreSQLParser.KW_IN); this.state = 5963; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 5964; this.schema_name_list(); } break; case 17: this.enterOuterAlt(_localctx, 17); { this.state = 5965; this.match(PostgreSQLParser.KW_ALL); this.state = 5966; this.match(PostgreSQLParser.KW_SEQUENCES); this.state = 5967; this.match(PostgreSQLParser.KW_IN); this.state = 5968; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 5969; this.schema_name_list(); } break; case 18: this.enterOuterAlt(_localctx, 18); { this.state = 5970; this.match(PostgreSQLParser.KW_ALL); this.state = 5971; this.match(PostgreSQLParser.KW_FUNCTIONS); this.state = 5972; this.match(PostgreSQLParser.KW_IN); this.state = 5973; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 5974; this.schema_name_list(); } break; case 19: this.enterOuterAlt(_localctx, 19); { this.state = 5975; this.match(PostgreSQLParser.KW_ALL); this.state = 5976; this.match(PostgreSQLParser.KW_PROCEDURES); this.state = 5977; this.match(PostgreSQLParser.KW_IN); this.state = 5978; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 5979; this.schema_name_list(); } break; case 20: this.enterOuterAlt(_localctx, 20); { this.state = 5980; this.match(PostgreSQLParser.KW_ALL); this.state = 5981; this.match(PostgreSQLParser.KW_ROUTINES); this.state = 5982; this.match(PostgreSQLParser.KW_IN); this.state = 5983; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 5984; this.schema_name_list(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public grantee_list(): Grantee_listContext { let _localctx: Grantee_listContext = new Grantee_listContext(this._ctx, this.state); this.enterRule(_localctx, 602, PostgreSQLParser.RULE_grantee_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 5987; this.grantee(); this.state = 5992; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 5988; this.match(PostgreSQLParser.COMMA); this.state = 5989; this.grantee(); } } this.state = 5994; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public grantee(): GranteeContext { let _localctx: GranteeContext = new GranteeContext(this._ctx, this.state); this.enterRule(_localctx, 604, PostgreSQLParser.RULE_grantee); try { this.state = 5998; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_CURRENT_ROLE: case PostgreSQLParser.KW_CURRENT_USER: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_SESSION_USER: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_PUBLIC: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 5995; this.rolespec(); } break; case PostgreSQLParser.KW_GROUP: this.enterOuterAlt(_localctx, 2); { this.state = 5996; this.match(PostgreSQLParser.KW_GROUP); this.state = 5997; this.rolespec(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_grant_grant_option(): Opt_grant_grant_optionContext { let _localctx: Opt_grant_grant_optionContext = new Opt_grant_grant_optionContext(this._ctx, this.state); this.enterRule(_localctx, 606, PostgreSQLParser.RULE_opt_grant_grant_option); try { this.enterOuterAlt(_localctx, 1); { this.state = 6000; this.match(PostgreSQLParser.KW_WITH); this.state = 6001; this.match(PostgreSQLParser.KW_GRANT); this.state = 6002; this.match(PostgreSQLParser.KW_OPTION); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public grantrolestmt(): GrantrolestmtContext { let _localctx: GrantrolestmtContext = new GrantrolestmtContext(this._ctx, this.state); this.enterRule(_localctx, 608, PostgreSQLParser.RULE_grantrolestmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 6004; this.match(PostgreSQLParser.KW_GRANT); this.state = 6005; this.privilege_list(); this.state = 6006; this.match(PostgreSQLParser.KW_TO); this.state = 6007; this.role_list(); this.state = 6009; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 539, this._ctx) ) { case 1: { this.state = 6008; this.opt_grant_admin_option(); } break; } this.state = 6012; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 540, this._ctx) ) { case 1: { this.state = 6011; this.opt_granted_by(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public revokerolestmt(): RevokerolestmtContext { let _localctx: RevokerolestmtContext = new RevokerolestmtContext(this._ctx, this.state); this.enterRule(_localctx, 610, PostgreSQLParser.RULE_revokerolestmt); try { this.state = 6037; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 545, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6014; this.match(PostgreSQLParser.KW_REVOKE); this.state = 6015; this.privilege_list(); this.state = 6016; this.match(PostgreSQLParser.KW_FROM); this.state = 6017; this.role_list(); this.state = 6019; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 541, this._ctx) ) { case 1: { this.state = 6018; this.opt_granted_by(); } break; } this.state = 6022; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 542, this._ctx) ) { case 1: { this.state = 6021; this.opt_drop_behavior(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6024; this.match(PostgreSQLParser.KW_REVOKE); this.state = 6025; this.match(PostgreSQLParser.KW_ADMIN); this.state = 6026; this.match(PostgreSQLParser.KW_OPTION); this.state = 6027; this.match(PostgreSQLParser.KW_FOR); this.state = 6028; this.privilege_list(); this.state = 6029; this.match(PostgreSQLParser.KW_FROM); this.state = 6030; this.role_list(); this.state = 6032; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 543, this._ctx) ) { case 1: { this.state = 6031; this.opt_granted_by(); } break; } this.state = 6035; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 544, this._ctx) ) { case 1: { this.state = 6034; this.opt_drop_behavior(); } break; } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_grant_admin_option(): Opt_grant_admin_optionContext { let _localctx: Opt_grant_admin_optionContext = new Opt_grant_admin_optionContext(this._ctx, this.state); this.enterRule(_localctx, 612, PostgreSQLParser.RULE_opt_grant_admin_option); try { this.enterOuterAlt(_localctx, 1); { this.state = 6039; this.match(PostgreSQLParser.KW_WITH); this.state = 6040; this.match(PostgreSQLParser.KW_ADMIN); this.state = 6041; this.match(PostgreSQLParser.KW_OPTION); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_granted_by(): Opt_granted_byContext { let _localctx: Opt_granted_byContext = new Opt_granted_byContext(this._ctx, this.state); this.enterRule(_localctx, 614, PostgreSQLParser.RULE_opt_granted_by); try { this.enterOuterAlt(_localctx, 1); { this.state = 6043; this.match(PostgreSQLParser.KW_GRANTED); this.state = 6044; this.match(PostgreSQLParser.KW_BY); this.state = 6045; this.rolespec(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterdefaultprivilegesstmt(): AlterdefaultprivilegesstmtContext { let _localctx: AlterdefaultprivilegesstmtContext = new AlterdefaultprivilegesstmtContext(this._ctx, this.state); this.enterRule(_localctx, 616, PostgreSQLParser.RULE_alterdefaultprivilegesstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 6047; this.match(PostgreSQLParser.KW_ALTER); this.state = 6048; this.match(PostgreSQLParser.KW_DEFAULT); this.state = 6049; this.match(PostgreSQLParser.KW_PRIVILEGES); this.state = 6050; this.defacloptionlist(); this.state = 6051; this.defaclaction(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public defacloptionlist(): DefacloptionlistContext { let _localctx: DefacloptionlistContext = new DefacloptionlistContext(this._ctx, this.state); this.enterRule(_localctx, 618, PostgreSQLParser.RULE_defacloptionlist); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6056; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.KW_FOR || _la === PostgreSQLParser.KW_IN) { { { this.state = 6053; this.defacloption(); } } this.state = 6058; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public defacloption(): DefacloptionContext { let _localctx: DefacloptionContext = new DefacloptionContext(this._ctx, this.state); this.enterRule(_localctx, 620, PostgreSQLParser.RULE_defacloption); try { this.state = 6068; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 547, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6059; this.match(PostgreSQLParser.KW_IN); this.state = 6060; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 6061; this.schema_name_list(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6062; this.match(PostgreSQLParser.KW_FOR); this.state = 6063; this.match(PostgreSQLParser.KW_ROLE); this.state = 6064; this.role_list(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6065; this.match(PostgreSQLParser.KW_FOR); this.state = 6066; this.match(PostgreSQLParser.KW_USER); this.state = 6067; this.role_list(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public defaclaction(): DefaclactionContext { let _localctx: DefaclactionContext = new DefaclactionContext(this._ctx, this.state); this.enterRule(_localctx, 622, PostgreSQLParser.RULE_defaclaction); try { this.state = 6100; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 551, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6070; this.match(PostgreSQLParser.KW_GRANT); this.state = 6071; this.privileges(); this.state = 6072; this.match(PostgreSQLParser.KW_ON); this.state = 6073; this.defacl_privilege_target(); this.state = 6074; this.match(PostgreSQLParser.KW_TO); this.state = 6075; this.grantee_list(); this.state = 6077; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 548, this._ctx) ) { case 1: { this.state = 6076; this.opt_grant_grant_option(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6079; this.match(PostgreSQLParser.KW_REVOKE); this.state = 6080; this.privileges(); this.state = 6081; this.match(PostgreSQLParser.KW_ON); this.state = 6082; this.defacl_privilege_target(); this.state = 6083; this.match(PostgreSQLParser.KW_FROM); this.state = 6084; this.grantee_list(); this.state = 6086; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 549, this._ctx) ) { case 1: { this.state = 6085; this.opt_drop_behavior(); } break; } } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6088; this.match(PostgreSQLParser.KW_REVOKE); this.state = 6089; this.match(PostgreSQLParser.KW_GRANT); this.state = 6090; this.match(PostgreSQLParser.KW_OPTION); this.state = 6091; this.match(PostgreSQLParser.KW_FOR); this.state = 6092; this.privileges(); this.state = 6093; this.match(PostgreSQLParser.KW_ON); this.state = 6094; this.defacl_privilege_target(); this.state = 6095; this.match(PostgreSQLParser.KW_FROM); this.state = 6096; this.grantee_list(); this.state = 6098; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 550, this._ctx) ) { case 1: { this.state = 6097; this.opt_drop_behavior(); } break; } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public defacl_privilege_target(): Defacl_privilege_targetContext { let _localctx: Defacl_privilege_targetContext = new Defacl_privilege_targetContext(this._ctx, this.state); this.enterRule(_localctx, 624, PostgreSQLParser.RULE_defacl_privilege_target); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6102; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_FUNCTIONS || _la === PostgreSQLParser.KW_SEQUENCES || _la === PostgreSQLParser.KW_TABLES || _la === PostgreSQLParser.KW_TYPES || _la === PostgreSQLParser.KW_ROUTINES || _la === PostgreSQLParser.KW_SCHEMAS)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public indexstmt(): IndexstmtContext { let _localctx: IndexstmtContext = new IndexstmtContext(this._ctx, this.state); this.enterRule(_localctx, 626, PostgreSQLParser.RULE_indexstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6104; this.match(PostgreSQLParser.KW_CREATE); this.state = 6106; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_UNIQUE) { { this.state = 6105; this.opt_unique(); } } this.state = 6108; this.match(PostgreSQLParser.KW_INDEX); this.state = 6110; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_CONCURRENTLY) { { this.state = 6109; this.opt_concurrently(); } } this.state = 6113; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 554, this._ctx) ) { case 1: { this.state = 6112; this.opt_if_not_exists(); } break; } this.state = 6116; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (PostgreSQLParser.KW_TABLE - 92)) | (1 << (PostgreSQLParser.KW_IS - 92)) | (1 << (PostgreSQLParser.KW_OUTER - 92)))) !== 0) || ((((_la - 124)) & ~0x1F) === 0 && ((1 << (_la - 124)) & ((1 << (PostgreSQLParser.KW_OVER - 124)) | (1 << (PostgreSQLParser.KW_ABORT - 124)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 124)) | (1 << (PostgreSQLParser.KW_ACCESS - 124)) | (1 << (PostgreSQLParser.KW_ACTION - 124)) | (1 << (PostgreSQLParser.KW_ADD - 124)) | (1 << (PostgreSQLParser.KW_ADMIN - 124)) | (1 << (PostgreSQLParser.KW_AFTER - 124)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 124)) | (1 << (PostgreSQLParser.KW_ALSO - 124)) | (1 << (PostgreSQLParser.KW_ALTER - 124)) | (1 << (PostgreSQLParser.KW_ALWAYS - 124)) | (1 << (PostgreSQLParser.KW_ASSERTION - 124)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 124)) | (1 << (PostgreSQLParser.KW_AT - 124)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 124)) | (1 << (PostgreSQLParser.KW_BACKWARD - 124)) | (1 << (PostgreSQLParser.KW_BEFORE - 124)) | (1 << (PostgreSQLParser.KW_BEGIN - 124)) | (1 << (PostgreSQLParser.KW_BY - 124)) | (1 << (PostgreSQLParser.KW_CACHE - 124)) | (1 << (PostgreSQLParser.KW_CALLED - 124)) | (1 << (PostgreSQLParser.KW_CASCADE - 124)) | (1 << (PostgreSQLParser.KW_CASCADED - 124)) | (1 << (PostgreSQLParser.KW_CATALOG - 124)) | (1 << (PostgreSQLParser.KW_CHAIN - 124)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 124)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 124)))) !== 0) || ((((_la - 156)) & ~0x1F) === 0 && ((1 << (_la - 156)) & ((1 << (PostgreSQLParser.KW_CLASS - 156)) | (1 << (PostgreSQLParser.KW_CLOSE - 156)) | (1 << (PostgreSQLParser.KW_CLUSTER - 156)) | (1 << (PostgreSQLParser.KW_COMMENT - 156)) | (1 << (PostgreSQLParser.KW_COMMENTS - 156)) | (1 << (PostgreSQLParser.KW_COMMIT - 156)) | (1 << (PostgreSQLParser.KW_COMMITTED - 156)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 156)) | (1 << (PostgreSQLParser.KW_CONNECTION - 156)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 156)) | (1 << (PostgreSQLParser.KW_CONTENT - 156)) | (1 << (PostgreSQLParser.KW_CONTINUE - 156)) | (1 << (PostgreSQLParser.KW_CONVERSION - 156)) | (1 << (PostgreSQLParser.KW_COPY - 156)) | (1 << (PostgreSQLParser.KW_COST - 156)) | (1 << (PostgreSQLParser.KW_CSV - 156)) | (1 << (PostgreSQLParser.KW_CURSOR - 156)) | (1 << (PostgreSQLParser.KW_CYCLE - 156)) | (1 << (PostgreSQLParser.KW_DATA - 156)) | (1 << (PostgreSQLParser.KW_DATABASE - 156)) | (1 << (PostgreSQLParser.KW_DAY - 156)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 156)) | (1 << (PostgreSQLParser.KW_DECLARE - 156)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 156)) | (1 << (PostgreSQLParser.KW_DEFERRED - 156)) | (1 << (PostgreSQLParser.KW_DEFINER - 156)) | (1 << (PostgreSQLParser.KW_DELETE - 156)) | (1 << (PostgreSQLParser.KW_DELIMITER - 156)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 156)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 156)) | (1 << (PostgreSQLParser.KW_DISABLE - 156)) | (1 << (PostgreSQLParser.KW_DISCARD - 156)))) !== 0) || ((((_la - 188)) & ~0x1F) === 0 && ((1 << (_la - 188)) & ((1 << (PostgreSQLParser.KW_DOCUMENT - 188)) | (1 << (PostgreSQLParser.KW_DOMAIN - 188)) | (1 << (PostgreSQLParser.KW_DOUBLE - 188)) | (1 << (PostgreSQLParser.KW_DROP - 188)) | (1 << (PostgreSQLParser.KW_EACH - 188)) | (1 << (PostgreSQLParser.KW_ENABLE - 188)) | (1 << (PostgreSQLParser.KW_ENCODING - 188)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 188)) | (1 << (PostgreSQLParser.KW_ENUM - 188)) | (1 << (PostgreSQLParser.KW_ESCAPE - 188)) | (1 << (PostgreSQLParser.KW_EVENT - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 188)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 188)) | (1 << (PostgreSQLParser.KW_EXECUTE - 188)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 188)) | (1 << (PostgreSQLParser.KW_EXTENSION - 188)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 188)) | (1 << (PostgreSQLParser.KW_FAMILY - 188)) | (1 << (PostgreSQLParser.KW_FIRST - 188)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 188)) | (1 << (PostgreSQLParser.KW_FORCE - 188)) | (1 << (PostgreSQLParser.KW_FORWARD - 188)) | (1 << (PostgreSQLParser.KW_FUNCTION - 188)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 188)) | (1 << (PostgreSQLParser.KW_GLOBAL - 188)) | (1 << (PostgreSQLParser.KW_GRANTED - 188)) | (1 << (PostgreSQLParser.KW_HANDLER - 188)) | (1 << (PostgreSQLParser.KW_HEADER - 188)) | (1 << (PostgreSQLParser.KW_HOLD - 188)) | (1 << (PostgreSQLParser.KW_HOUR - 188)) | (1 << (PostgreSQLParser.KW_IDENTITY - 188)))) !== 0) || ((((_la - 220)) & ~0x1F) === 0 && ((1 << (_la - 220)) & ((1 << (PostgreSQLParser.KW_IF - 220)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 220)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 220)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 220)) | (1 << (PostgreSQLParser.KW_INCLUDING - 220)) | (1 << (PostgreSQLParser.KW_INCREMENT - 220)) | (1 << (PostgreSQLParser.KW_INDEX - 220)) | (1 << (PostgreSQLParser.KW_INDEXES - 220)) | (1 << (PostgreSQLParser.KW_INHERIT - 220)) | (1 << (PostgreSQLParser.KW_INHERITS - 220)) | (1 << (PostgreSQLParser.KW_INLINE - 220)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 220)) | (1 << (PostgreSQLParser.KW_INSERT - 220)) | (1 << (PostgreSQLParser.KW_INSTEAD - 220)) | (1 << (PostgreSQLParser.KW_INVOKER - 220)) | (1 << (PostgreSQLParser.KW_ISOLATION - 220)) | (1 << (PostgreSQLParser.KW_KEY - 220)) | (1 << (PostgreSQLParser.KW_LABEL - 220)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 220)) | (1 << (PostgreSQLParser.KW_LARGE - 220)) | (1 << (PostgreSQLParser.KW_LAST - 220)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 220)) | (1 << (PostgreSQLParser.KW_LEVEL - 220)))) !== 0) || ((((_la - 252)) & ~0x1F) === 0 && ((1 << (_la - 252)) & ((1 << (PostgreSQLParser.KW_LISTEN - 252)) | (1 << (PostgreSQLParser.KW_LOAD - 252)) | (1 << (PostgreSQLParser.KW_LOCAL - 252)) | (1 << (PostgreSQLParser.KW_LOCATION - 252)) | (1 << (PostgreSQLParser.KW_LOCK - 252)) | (1 << (PostgreSQLParser.KW_MAPPING - 252)) | (1 << (PostgreSQLParser.KW_MATCH - 252)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 252)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 252)) | (1 << (PostgreSQLParser.KW_MINUTE - 252)) | (1 << (PostgreSQLParser.KW_MINVALUE - 252)) | (1 << (PostgreSQLParser.KW_MODE - 252)) | (1 << (PostgreSQLParser.KW_MONTH - 252)) | (1 << (PostgreSQLParser.KW_MOVE - 252)) | (1 << (PostgreSQLParser.KW_NAME - 252)) | (1 << (PostgreSQLParser.KW_NAMES - 252)) | (1 << (PostgreSQLParser.KW_NEXT - 252)) | (1 << (PostgreSQLParser.KW_NO - 252)) | (1 << (PostgreSQLParser.KW_NOTHING - 252)) | (1 << (PostgreSQLParser.KW_NOTIFY - 252)) | (1 << (PostgreSQLParser.KW_NOWAIT - 252)) | (1 << (PostgreSQLParser.KW_NULLS - 252)) | (1 << (PostgreSQLParser.KW_OBJECT - 252)) | (1 << (PostgreSQLParser.KW_OF - 252)) | (1 << (PostgreSQLParser.KW_OFF - 252)) | (1 << (PostgreSQLParser.KW_OIDS - 252)) | (1 << (PostgreSQLParser.KW_OPERATOR - 252)) | (1 << (PostgreSQLParser.KW_OPTION - 252)) | (1 << (PostgreSQLParser.KW_OPTIONS - 252)) | (1 << (PostgreSQLParser.KW_OWNED - 252)) | (1 << (PostgreSQLParser.KW_OWNER - 252)) | (1 << (PostgreSQLParser.KW_PARSER - 252)))) !== 0) || ((((_la - 284)) & ~0x1F) === 0 && ((1 << (_la - 284)) & ((1 << (PostgreSQLParser.KW_PARTIAL - 284)) | (1 << (PostgreSQLParser.KW_PARTITION - 284)) | (1 << (PostgreSQLParser.KW_PASSING - 284)) | (1 << (PostgreSQLParser.KW_PASSWORD - 284)) | (1 << (PostgreSQLParser.KW_PLANS - 284)) | (1 << (PostgreSQLParser.KW_PRECEDING - 284)) | (1 << (PostgreSQLParser.KW_PREPARE - 284)) | (1 << (PostgreSQLParser.KW_PREPARED - 284)) | (1 << (PostgreSQLParser.KW_PRESERVE - 284)) | (1 << (PostgreSQLParser.KW_PRIOR - 284)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 284)) | (1 << (PostgreSQLParser.KW_PROGRAM - 284)) | (1 << (PostgreSQLParser.KW_QUOTE - 284)) | (1 << (PostgreSQLParser.KW_RANGE - 284)) | (1 << (PostgreSQLParser.KW_READ - 284)) | (1 << (PostgreSQLParser.KW_REASSIGN - 284)) | (1 << (PostgreSQLParser.KW_RECHECK - 284)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 284)) | (1 << (PostgreSQLParser.KW_REF - 284)) | (1 << (PostgreSQLParser.KW_REFRESH - 284)) | (1 << (PostgreSQLParser.KW_REINDEX - 284)) | (1 << (PostgreSQLParser.KW_RELATIVE - 284)) | (1 << (PostgreSQLParser.KW_RELEASE - 284)) | (1 << (PostgreSQLParser.KW_RENAME - 284)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 284)) | (1 << (PostgreSQLParser.KW_REPLACE - 284)) | (1 << (PostgreSQLParser.KW_REPLICA - 284)) | (1 << (PostgreSQLParser.KW_RESET - 284)) | (1 << (PostgreSQLParser.KW_RESTART - 284)) | (1 << (PostgreSQLParser.KW_RESTRICT - 284)))) !== 0) || ((((_la - 316)) & ~0x1F) === 0 && ((1 << (_la - 316)) & ((1 << (PostgreSQLParser.KW_RETURNS - 316)) | (1 << (PostgreSQLParser.KW_REVOKE - 316)) | (1 << (PostgreSQLParser.KW_ROLE - 316)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 316)) | (1 << (PostgreSQLParser.KW_ROWS - 316)) | (1 << (PostgreSQLParser.KW_RULE - 316)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 316)) | (1 << (PostgreSQLParser.KW_SCHEMA - 316)) | (1 << (PostgreSQLParser.KW_SCROLL - 316)) | (1 << (PostgreSQLParser.KW_SEARCH - 316)) | (1 << (PostgreSQLParser.KW_SECOND - 316)) | (1 << (PostgreSQLParser.KW_SECURITY - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 316)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 316)) | (1 << (PostgreSQLParser.KW_SERVER - 316)) | (1 << (PostgreSQLParser.KW_SESSION - 316)) | (1 << (PostgreSQLParser.KW_SET - 316)) | (1 << (PostgreSQLParser.KW_SHARE - 316)) | (1 << (PostgreSQLParser.KW_SHOW - 316)) | (1 << (PostgreSQLParser.KW_SIMPLE - 316)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 316)) | (1 << (PostgreSQLParser.KW_STABLE - 316)) | (1 << (PostgreSQLParser.KW_STANDALONE - 316)) | (1 << (PostgreSQLParser.KW_START - 316)) | (1 << (PostgreSQLParser.KW_STATEMENT - 316)) | (1 << (PostgreSQLParser.KW_STATISTICS - 316)) | (1 << (PostgreSQLParser.KW_STDIN - 316)) | (1 << (PostgreSQLParser.KW_STDOUT - 316)) | (1 << (PostgreSQLParser.KW_STORAGE - 316)) | (1 << (PostgreSQLParser.KW_STRICT - 316)) | (1 << (PostgreSQLParser.KW_STRIP - 316)))) !== 0) || ((((_la - 348)) & ~0x1F) === 0 && ((1 << (_la - 348)) & ((1 << (PostgreSQLParser.KW_SYSID - 348)) | (1 << (PostgreSQLParser.KW_SYSTEM - 348)) | (1 << (PostgreSQLParser.KW_TABLES - 348)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 348)) | (1 << (PostgreSQLParser.KW_TEMP - 348)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 348)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 348)) | (1 << (PostgreSQLParser.KW_TEXT - 348)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 348)) | (1 << (PostgreSQLParser.KW_TRIGGER - 348)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 348)) | (1 << (PostgreSQLParser.KW_TRUSTED - 348)) | (1 << (PostgreSQLParser.KW_TYPE - 348)) | (1 << (PostgreSQLParser.KW_TYPES - 348)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 348)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 348)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 348)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 348)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 348)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 348)) | (1 << (PostgreSQLParser.KW_UNTIL - 348)) | (1 << (PostgreSQLParser.KW_UPDATE - 348)) | (1 << (PostgreSQLParser.KW_VACUUM - 348)) | (1 << (PostgreSQLParser.KW_VALID - 348)) | (1 << (PostgreSQLParser.KW_VALIDATE - 348)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 348)) | (1 << (PostgreSQLParser.KW_VARYING - 348)) | (1 << (PostgreSQLParser.KW_VERSION - 348)) | (1 << (PostgreSQLParser.KW_VIEW - 348)) | (1 << (PostgreSQLParser.KW_VOLATILE - 348)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 348)) | (1 << (PostgreSQLParser.KW_WITHOUT - 348)))) !== 0) || ((((_la - 380)) & ~0x1F) === 0 && ((1 << (_la - 380)) & ((1 << (PostgreSQLParser.KW_WORK - 380)) | (1 << (PostgreSQLParser.KW_WRAPPER - 380)) | (1 << (PostgreSQLParser.KW_WRITE - 380)) | (1 << (PostgreSQLParser.KW_XML - 380)) | (1 << (PostgreSQLParser.KW_YEAR - 380)) | (1 << (PostgreSQLParser.KW_YES - 380)) | (1 << (PostgreSQLParser.KW_ZONE - 380)) | (1 << (PostgreSQLParser.KW_BETWEEN - 380)) | (1 << (PostgreSQLParser.KW_BIGINT - 380)) | (1 << (PostgreSQLParser.KW_BIT - 380)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 380)) | (1 << (PostgreSQLParser.KW_CHAR - 380)) | (1 << (PostgreSQLParser.KW_CHARACTER - 380)) | (1 << (PostgreSQLParser.KW_COALESCE - 380)) | (1 << (PostgreSQLParser.KW_DEC - 380)) | (1 << (PostgreSQLParser.KW_DECIMAL - 380)) | (1 << (PostgreSQLParser.KW_EXISTS - 380)) | (1 << (PostgreSQLParser.KW_EXTRACT - 380)) | (1 << (PostgreSQLParser.KW_FLOAT - 380)) | (1 << (PostgreSQLParser.KW_GREATEST - 380)) | (1 << (PostgreSQLParser.KW_INOUT - 380)) | (1 << (PostgreSQLParser.KW_INT - 380)) | (1 << (PostgreSQLParser.KW_INTEGER - 380)) | (1 << (PostgreSQLParser.KW_INTERVAL - 380)) | (1 << (PostgreSQLParser.KW_LEAST - 380)) | (1 << (PostgreSQLParser.KW_NATIONAL - 380)) | (1 << (PostgreSQLParser.KW_NCHAR - 380)) | (1 << (PostgreSQLParser.KW_NONE - 380)) | (1 << (PostgreSQLParser.KW_NULLIF - 380)) | (1 << (PostgreSQLParser.KW_NUMERIC - 380)) | (1 << (PostgreSQLParser.KW_OVERLAY - 380)) | (1 << (PostgreSQLParser.KW_POSITION - 380)))) !== 0) || ((((_la - 412)) & ~0x1F) === 0 && ((1 << (_la - 412)) & ((1 << (PostgreSQLParser.KW_PRECISION - 412)) | (1 << (PostgreSQLParser.KW_REAL - 412)) | (1 << (PostgreSQLParser.KW_ROW - 412)) | (1 << (PostgreSQLParser.KW_SETOF - 412)) | (1 << (PostgreSQLParser.KW_SMALLINT - 412)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 412)) | (1 << (PostgreSQLParser.KW_TIME - 412)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 412)) | (1 << (PostgreSQLParser.KW_TREAT - 412)) | (1 << (PostgreSQLParser.KW_TRIM - 412)) | (1 << (PostgreSQLParser.KW_VALUES - 412)) | (1 << (PostgreSQLParser.KW_VARCHAR - 412)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 412)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 412)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 412)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 412)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 412)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 412)) | (1 << (PostgreSQLParser.KW_XMLPI - 412)) | (1 << (PostgreSQLParser.KW_XMLROOT - 412)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 412)) | (1 << (PostgreSQLParser.KW_CALL - 412)) | (1 << (PostgreSQLParser.KW_CURRENT - 412)) | (1 << (PostgreSQLParser.KW_ATTACH - 412)) | (1 << (PostgreSQLParser.KW_DETACH - 412)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 412)) | (1 << (PostgreSQLParser.KW_GENERATED - 412)) | (1 << (PostgreSQLParser.KW_LOGGED - 412)) | (1 << (PostgreSQLParser.KW_STORED - 412)) | (1 << (PostgreSQLParser.KW_INCLUDE - 412)) | (1 << (PostgreSQLParser.KW_ROUTINE - 412)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 412)))) !== 0) || ((((_la - 444)) & ~0x1F) === 0 && ((1 << (_la - 444)) & ((1 << (PostgreSQLParser.KW_IMPORT - 444)) | (1 << (PostgreSQLParser.KW_POLICY - 444)) | (1 << (PostgreSQLParser.KW_METHOD - 444)) | (1 << (PostgreSQLParser.KW_REFERENCING - 444)) | (1 << (PostgreSQLParser.KW_NEW - 444)) | (1 << (PostgreSQLParser.KW_OLD - 444)) | (1 << (PostgreSQLParser.KW_VALUE - 444)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 444)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 444)) | (1 << (PostgreSQLParser.KW_OUT - 444)) | (1 << (PostgreSQLParser.KW_ROUTINES - 444)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 444)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 444)) | (1 << (PostgreSQLParser.KW_INPUT - 444)) | (1 << (PostgreSQLParser.KW_SUPPORT - 444)) | (1 << (PostgreSQLParser.KW_PARALLEL - 444)) | (1 << (PostgreSQLParser.KW_SQL - 444)) | (1 << (PostgreSQLParser.KW_DEPENDS - 444)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 444)) | (1 << (PostgreSQLParser.KW_CONFLICT - 444)) | (1 << (PostgreSQLParser.KW_SKIP - 444)) | (1 << (PostgreSQLParser.KW_LOCKED - 444)) | (1 << (PostgreSQLParser.KW_TIES - 444)) | (1 << (PostgreSQLParser.KW_ROLLUP - 444)) | (1 << (PostgreSQLParser.KW_CUBE - 444)) | (1 << (PostgreSQLParser.KW_GROUPING - 444)) | (1 << (PostgreSQLParser.KW_SETS - 444)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 444)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 444)) | (1 << (PostgreSQLParser.KW_COLUMNS - 444)))) !== 0) || ((((_la - 476)) & ~0x1F) === 0 && ((1 << (_la - 476)) & ((1 << (PostgreSQLParser.KW_XMLNAMESPACES - 476)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 476)) | (1 << (PostgreSQLParser.KW_WITHIN - 476)) | (1 << (PostgreSQLParser.KW_FILTER - 476)) | (1 << (PostgreSQLParser.KW_GROUPS - 476)) | (1 << (PostgreSQLParser.KW_OTHERS - 476)) | (1 << (PostgreSQLParser.KW_NFC - 476)) | (1 << (PostgreSQLParser.KW_NFD - 476)) | (1 << (PostgreSQLParser.KW_NFKC - 476)) | (1 << (PostgreSQLParser.KW_NFKD - 476)) | (1 << (PostgreSQLParser.KW_UESCAPE - 476)) | (1 << (PostgreSQLParser.KW_VIEWS - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 476)) | (1 << (PostgreSQLParser.KW_DUMP - 476)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 476)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 476)) | (1 << (PostgreSQLParser.KW_ERROR - 476)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 476)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 476)) | (1 << (PostgreSQLParser.KW_ALIAS - 476)) | (1 << (PostgreSQLParser.KW_CONSTANT - 476)) | (1 << (PostgreSQLParser.KW_PERFORM - 476)) | (1 << (PostgreSQLParser.KW_GET - 476)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 476)) | (1 << (PostgreSQLParser.KW_STACKED - 476)) | (1 << (PostgreSQLParser.KW_ELSIF - 476)) | (1 << (PostgreSQLParser.KW_REVERSE - 476)) | (1 << (PostgreSQLParser.KW_SLICE - 476)) | (1 << (PostgreSQLParser.KW_EXIT - 476)))) !== 0) || ((((_la - 508)) & ~0x1F) === 0 && ((1 << (_la - 508)) & ((1 << (PostgreSQLParser.KW_RETURN - 508)) | (1 << (PostgreSQLParser.KW_QUERY - 508)) | (1 << (PostgreSQLParser.KW_RAISE - 508)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 508)) | (1 << (PostgreSQLParser.KW_DEBUG - 508)) | (1 << (PostgreSQLParser.KW_LOG - 508)) | (1 << (PostgreSQLParser.KW_INFO - 508)) | (1 << (PostgreSQLParser.KW_NOTICE - 508)) | (1 << (PostgreSQLParser.KW_WARNING - 508)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 508)) | (1 << (PostgreSQLParser.KW_ASSERT - 508)) | (1 << (PostgreSQLParser.KW_OPEN - 508)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 6115; this.opt_index_name(); } } this.state = 6118; this.match(PostgreSQLParser.KW_ON); this.state = 6119; this.relation_expr(); this.state = 6121; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 6120; this.access_method_clause(); } } this.state = 6123; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6124; this.index_params(); this.state = 6125; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 6127; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 557, this._ctx) ) { case 1: { this.state = 6126; this.opt_include(); } break; } this.state = 6130; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 558, this._ctx) ) { case 1: { this.state = 6129; this.nulls_distinct(); } break; } this.state = 6133; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 559, this._ctx) ) { case 1: { this.state = 6132; this.opt_reloptions(); } break; } this.state = 6136; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 560, this._ctx) ) { case 1: { this.state = 6135; this.opttablespace(); } break; } this.state = 6139; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHERE) { { this.state = 6138; this.where_clause(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_unique(): Opt_uniqueContext { let _localctx: Opt_uniqueContext = new Opt_uniqueContext(this._ctx, this.state); this.enterRule(_localctx, 628, PostgreSQLParser.RULE_opt_unique); try { this.enterOuterAlt(_localctx, 1); { this.state = 6141; this.match(PostgreSQLParser.KW_UNIQUE); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_concurrently(): Opt_concurrentlyContext { let _localctx: Opt_concurrentlyContext = new Opt_concurrentlyContext(this._ctx, this.state); this.enterRule(_localctx, 630, PostgreSQLParser.RULE_opt_concurrently); try { this.enterOuterAlt(_localctx, 1); { this.state = 6143; this.match(PostgreSQLParser.KW_CONCURRENTLY); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_index_name(): Opt_index_nameContext { let _localctx: Opt_index_nameContext = new Opt_index_nameContext(this._ctx, this.state); this.enterRule(_localctx, 632, PostgreSQLParser.RULE_opt_index_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 6145; this.name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public access_method_clause(): Access_method_clauseContext { let _localctx: Access_method_clauseContext = new Access_method_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 634, PostgreSQLParser.RULE_access_method_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 6147; this.match(PostgreSQLParser.KW_USING); this.state = 6148; this.name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public index_params(): Index_paramsContext { let _localctx: Index_paramsContext = new Index_paramsContext(this._ctx, this.state); this.enterRule(_localctx, 636, PostgreSQLParser.RULE_index_params); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6150; this.index_elem(); this.state = 6155; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6151; this.match(PostgreSQLParser.COMMA); this.state = 6152; this.index_elem(); } } this.state = 6157; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public index_elem_options(): Index_elem_optionsContext { let _localctx: Index_elem_optionsContext = new Index_elem_optionsContext(this._ctx, this.state); this.enterRule(_localctx, 638, PostgreSQLParser.RULE_index_elem_options); let _la: number; try { this.state = 6181; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 570, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6159; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 563, this._ctx) ) { case 1: { this.state = 6158; this.opt_collate(); } break; } this.state = 6162; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 564, this._ctx) ) { case 1: { this.state = 6161; this.opt_class(); } break; } this.state = 6165; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ASC || _la === PostgreSQLParser.KW_DESC) { { this.state = 6164; this.opt_asc_desc(); } } this.state = 6168; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NULLS) { { this.state = 6167; this.opt_nulls_order(); } } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6171; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 567, this._ctx) ) { case 1: { this.state = 6170; this.opt_collate(); } break; } this.state = 6173; this.any_name(); this.state = 6174; this.reloptions(); this.state = 6176; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ASC || _la === PostgreSQLParser.KW_DESC) { { this.state = 6175; this.opt_asc_desc(); } } this.state = 6179; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NULLS) { { this.state = 6178; this.opt_nulls_order(); } } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public index_elem(): Index_elemContext { let _localctx: Index_elemContext = new Index_elemContext(this._ctx, this.state); this.enterRule(_localctx, 640, PostgreSQLParser.RULE_index_elem); try { this.state = 6194; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 571, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6183; this.column_name(); this.state = 6184; this.index_elem_options(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6186; this.func_expr_windowless(); this.state = 6187; this.index_elem_options(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6189; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6190; this.a_expr(); this.state = 6191; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 6192; this.index_elem_options(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_include(): Opt_includeContext { let _localctx: Opt_includeContext = new Opt_includeContext(this._ctx, this.state); this.enterRule(_localctx, 642, PostgreSQLParser.RULE_opt_include); try { this.enterOuterAlt(_localctx, 1); { this.state = 6196; this.match(PostgreSQLParser.KW_INCLUDE); this.state = 6197; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6198; this.index_including_params(); this.state = 6199; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public index_including_params(): Index_including_paramsContext { let _localctx: Index_including_paramsContext = new Index_including_paramsContext(this._ctx, this.state); this.enterRule(_localctx, 644, PostgreSQLParser.RULE_index_including_params); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6201; this.index_elem(); this.state = 6206; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6202; this.match(PostgreSQLParser.COMMA); this.state = 6203; this.index_elem(); } } this.state = 6208; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_collate(): Opt_collateContext { let _localctx: Opt_collateContext = new Opt_collateContext(this._ctx, this.state); this.enterRule(_localctx, 646, PostgreSQLParser.RULE_opt_collate); try { this.enterOuterAlt(_localctx, 1); { this.state = 6209; this.match(PostgreSQLParser.KW_COLLATE); this.state = 6210; this.any_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_class(): Opt_classContext { let _localctx: Opt_classContext = new Opt_classContext(this._ctx, this.state); this.enterRule(_localctx, 648, PostgreSQLParser.RULE_opt_class); try { this.enterOuterAlt(_localctx, 1); { this.state = 6212; this.any_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_asc_desc(): Opt_asc_descContext { let _localctx: Opt_asc_descContext = new Opt_asc_descContext(this._ctx, this.state); this.enterRule(_localctx, 650, PostgreSQLParser.RULE_opt_asc_desc); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6214; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_ASC || _la === PostgreSQLParser.KW_DESC)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_nulls_order(): Opt_nulls_orderContext { let _localctx: Opt_nulls_orderContext = new Opt_nulls_orderContext(this._ctx, this.state); this.enterRule(_localctx, 652, PostgreSQLParser.RULE_opt_nulls_order); try { this.state = 6220; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 573, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6216; this.match(PostgreSQLParser.KW_NULLS); this.state = 6217; this.match(PostgreSQLParser.KW_FIRST); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6218; this.match(PostgreSQLParser.KW_NULLS); this.state = 6219; this.match(PostgreSQLParser.KW_LAST); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createfunctionstmt(): CreatefunctionstmtContext { let _localctx: CreatefunctionstmtContext = new CreatefunctionstmtContext(this._ctx, this.state); this.enterRule(_localctx, 654, PostgreSQLParser.RULE_createfunctionstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6222; this.match(PostgreSQLParser.KW_CREATE); this.state = 6224; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OR) { { this.state = 6223; this.opt_or_replace(); } } this.state = 6230; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_FUNCTION: { this.state = 6226; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 6227; this.function_name_create(); } break; case PostgreSQLParser.KW_PROCEDURE: { this.state = 6228; this.match(PostgreSQLParser.KW_PROCEDURE); this.state = 6229; this.procedure_name_create(); } break; default: throw new NoViableAltException(this); } this.state = 6232; this.func_args_with_defaults(); this.state = 6242; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 577, this._ctx) ) { case 1: { this.state = 6233; this.match(PostgreSQLParser.KW_RETURNS); this.state = 6240; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 576, this._ctx) ) { case 1: { this.state = 6234; this.func_return(); } break; case 2: { this.state = 6235; this.match(PostgreSQLParser.KW_TABLE); this.state = 6236; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6237; this.table_func_column_list(); this.state = 6238; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } break; } this.state = 6244; this.createfunc_opt_list(); this.state = 6247; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 578, this._ctx) ) { case 1: { this.state = 6245; this.match(PostgreSQLParser.KW_WITH); this.state = 6246; this.attrilist(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public attrilist(): AttrilistContext { let _localctx: AttrilistContext = new AttrilistContext(this._ctx, this.state); this.enterRule(_localctx, 656, PostgreSQLParser.RULE_attrilist); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6249; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6250; this.colid(); this.state = 6255; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6251; this.match(PostgreSQLParser.COMMA); this.state = 6252; this.colid(); } } this.state = 6257; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 6258; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_or_replace(): Opt_or_replaceContext { let _localctx: Opt_or_replaceContext = new Opt_or_replaceContext(this._ctx, this.state); this.enterRule(_localctx, 658, PostgreSQLParser.RULE_opt_or_replace); try { this.enterOuterAlt(_localctx, 1); { this.state = 6260; this.match(PostgreSQLParser.KW_OR); this.state = 6261; this.match(PostgreSQLParser.KW_REPLACE); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_args(): Func_argsContext { let _localctx: Func_argsContext = new Func_argsContext(this._ctx, this.state); this.enterRule(_localctx, 660, PostgreSQLParser.RULE_func_args); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6263; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6265; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || _la === PostgreSQLParser.KW_IN || _la === PostgreSQLParser.KW_TABLE || ((((_la - 101)) & ~0x1F) === 0 && ((1 << (_la - 101)) & ((1 << (PostgreSQLParser.KW_VARIADIC - 101)) | (1 << (PostgreSQLParser.KW_AUTHORIZATION - 101)) | (1 << (PostgreSQLParser.KW_BINARY - 101)) | (1 << (PostgreSQLParser.KW_COLLATION - 101)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 101)) | (1 << (PostgreSQLParser.KW_CROSS - 101)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 101)) | (1 << (PostgreSQLParser.KW_FREEZE - 101)) | (1 << (PostgreSQLParser.KW_FULL - 101)) | (1 << (PostgreSQLParser.KW_ILIKE - 101)) | (1 << (PostgreSQLParser.KW_INNER - 101)) | (1 << (PostgreSQLParser.KW_IS - 101)) | (1 << (PostgreSQLParser.KW_ISNULL - 101)) | (1 << (PostgreSQLParser.KW_JOIN - 101)) | (1 << (PostgreSQLParser.KW_LEFT - 101)) | (1 << (PostgreSQLParser.KW_LIKE - 101)) | (1 << (PostgreSQLParser.KW_NATURAL - 101)) | (1 << (PostgreSQLParser.KW_NOTNULL - 101)) | (1 << (PostgreSQLParser.KW_OUTER - 101)) | (1 << (PostgreSQLParser.KW_OVER - 101)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 101)) | (1 << (PostgreSQLParser.KW_RIGHT - 101)) | (1 << (PostgreSQLParser.KW_SIMILAR - 101)) | (1 << (PostgreSQLParser.KW_VERBOSE - 101)) | (1 << (PostgreSQLParser.KW_ABORT - 101)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 101)) | (1 << (PostgreSQLParser.KW_ACCESS - 101)) | (1 << (PostgreSQLParser.KW_ACTION - 101)))) !== 0) || ((((_la - 133)) & ~0x1F) === 0 && ((1 << (_la - 133)) & ((1 << (PostgreSQLParser.KW_ADD - 133)) | (1 << (PostgreSQLParser.KW_ADMIN - 133)) | (1 << (PostgreSQLParser.KW_AFTER - 133)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 133)) | (1 << (PostgreSQLParser.KW_ALSO - 133)) | (1 << (PostgreSQLParser.KW_ALTER - 133)) | (1 << (PostgreSQLParser.KW_ALWAYS - 133)) | (1 << (PostgreSQLParser.KW_ASSERTION - 133)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 133)) | (1 << (PostgreSQLParser.KW_AT - 133)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 133)) | (1 << (PostgreSQLParser.KW_BACKWARD - 133)) | (1 << (PostgreSQLParser.KW_BEFORE - 133)) | (1 << (PostgreSQLParser.KW_BEGIN - 133)) | (1 << (PostgreSQLParser.KW_BY - 133)) | (1 << (PostgreSQLParser.KW_CACHE - 133)) | (1 << (PostgreSQLParser.KW_CALLED - 133)) | (1 << (PostgreSQLParser.KW_CASCADE - 133)) | (1 << (PostgreSQLParser.KW_CASCADED - 133)) | (1 << (PostgreSQLParser.KW_CATALOG - 133)) | (1 << (PostgreSQLParser.KW_CHAIN - 133)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 133)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 133)) | (1 << (PostgreSQLParser.KW_CLASS - 133)) | (1 << (PostgreSQLParser.KW_CLOSE - 133)) | (1 << (PostgreSQLParser.KW_CLUSTER - 133)) | (1 << (PostgreSQLParser.KW_COMMENT - 133)) | (1 << (PostgreSQLParser.KW_COMMENTS - 133)) | (1 << (PostgreSQLParser.KW_COMMIT - 133)) | (1 << (PostgreSQLParser.KW_COMMITTED - 133)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 133)) | (1 << (PostgreSQLParser.KW_CONNECTION - 133)))) !== 0) || ((((_la - 165)) & ~0x1F) === 0 && ((1 << (_la - 165)) & ((1 << (PostgreSQLParser.KW_CONSTRAINTS - 165)) | (1 << (PostgreSQLParser.KW_CONTENT - 165)) | (1 << (PostgreSQLParser.KW_CONTINUE - 165)) | (1 << (PostgreSQLParser.KW_CONVERSION - 165)) | (1 << (PostgreSQLParser.KW_COPY - 165)) | (1 << (PostgreSQLParser.KW_COST - 165)) | (1 << (PostgreSQLParser.KW_CSV - 165)) | (1 << (PostgreSQLParser.KW_CURSOR - 165)) | (1 << (PostgreSQLParser.KW_CYCLE - 165)) | (1 << (PostgreSQLParser.KW_DATA - 165)) | (1 << (PostgreSQLParser.KW_DATABASE - 165)) | (1 << (PostgreSQLParser.KW_DAY - 165)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 165)) | (1 << (PostgreSQLParser.KW_DECLARE - 165)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 165)) | (1 << (PostgreSQLParser.KW_DEFERRED - 165)) | (1 << (PostgreSQLParser.KW_DEFINER - 165)) | (1 << (PostgreSQLParser.KW_DELETE - 165)) | (1 << (PostgreSQLParser.KW_DELIMITER - 165)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 165)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 165)) | (1 << (PostgreSQLParser.KW_DISABLE - 165)) | (1 << (PostgreSQLParser.KW_DISCARD - 165)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 165)) | (1 << (PostgreSQLParser.KW_DOMAIN - 165)) | (1 << (PostgreSQLParser.KW_DOUBLE - 165)) | (1 << (PostgreSQLParser.KW_DROP - 165)) | (1 << (PostgreSQLParser.KW_EACH - 165)) | (1 << (PostgreSQLParser.KW_ENABLE - 165)) | (1 << (PostgreSQLParser.KW_ENCODING - 165)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 165)) | (1 << (PostgreSQLParser.KW_ENUM - 165)))) !== 0) || ((((_la - 197)) & ~0x1F) === 0 && ((1 << (_la - 197)) & ((1 << (PostgreSQLParser.KW_ESCAPE - 197)) | (1 << (PostgreSQLParser.KW_EVENT - 197)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 197)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 197)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 197)) | (1 << (PostgreSQLParser.KW_EXECUTE - 197)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 197)) | (1 << (PostgreSQLParser.KW_EXTENSION - 197)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 197)) | (1 << (PostgreSQLParser.KW_FAMILY - 197)) | (1 << (PostgreSQLParser.KW_FIRST - 197)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 197)) | (1 << (PostgreSQLParser.KW_FORCE - 197)) | (1 << (PostgreSQLParser.KW_FORWARD - 197)) | (1 << (PostgreSQLParser.KW_FUNCTION - 197)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 197)) | (1 << (PostgreSQLParser.KW_GLOBAL - 197)) | (1 << (PostgreSQLParser.KW_GRANTED - 197)) | (1 << (PostgreSQLParser.KW_HANDLER - 197)) | (1 << (PostgreSQLParser.KW_HEADER - 197)) | (1 << (PostgreSQLParser.KW_HOLD - 197)) | (1 << (PostgreSQLParser.KW_HOUR - 197)) | (1 << (PostgreSQLParser.KW_IDENTITY - 197)) | (1 << (PostgreSQLParser.KW_IF - 197)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 197)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 197)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 197)) | (1 << (PostgreSQLParser.KW_INCLUDING - 197)) | (1 << (PostgreSQLParser.KW_INCREMENT - 197)) | (1 << (PostgreSQLParser.KW_INDEX - 197)) | (1 << (PostgreSQLParser.KW_INDEXES - 197)) | (1 << (PostgreSQLParser.KW_INHERIT - 197)))) !== 0) || ((((_la - 238)) & ~0x1F) === 0 && ((1 << (_la - 238)) & ((1 << (PostgreSQLParser.KW_INHERITS - 238)) | (1 << (PostgreSQLParser.KW_INLINE - 238)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 238)) | (1 << (PostgreSQLParser.KW_INSERT - 238)) | (1 << (PostgreSQLParser.KW_INSTEAD - 238)) | (1 << (PostgreSQLParser.KW_INVOKER - 238)) | (1 << (PostgreSQLParser.KW_ISOLATION - 238)) | (1 << (PostgreSQLParser.KW_KEY - 238)) | (1 << (PostgreSQLParser.KW_LABEL - 238)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 238)) | (1 << (PostgreSQLParser.KW_LARGE - 238)) | (1 << (PostgreSQLParser.KW_LAST - 238)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 238)) | (1 << (PostgreSQLParser.KW_LEVEL - 238)) | (1 << (PostgreSQLParser.KW_LISTEN - 238)) | (1 << (PostgreSQLParser.KW_LOAD - 238)) | (1 << (PostgreSQLParser.KW_LOCAL - 238)) | (1 << (PostgreSQLParser.KW_LOCATION - 238)) | (1 << (PostgreSQLParser.KW_LOCK - 238)) | (1 << (PostgreSQLParser.KW_MAPPING - 238)) | (1 << (PostgreSQLParser.KW_MATCH - 238)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 238)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 238)) | (1 << (PostgreSQLParser.KW_MINUTE - 238)) | (1 << (PostgreSQLParser.KW_MINVALUE - 238)) | (1 << (PostgreSQLParser.KW_MODE - 238)) | (1 << (PostgreSQLParser.KW_MONTH - 238)) | (1 << (PostgreSQLParser.KW_MOVE - 238)) | (1 << (PostgreSQLParser.KW_NAME - 238)) | (1 << (PostgreSQLParser.KW_NAMES - 238)) | (1 << (PostgreSQLParser.KW_NEXT - 238)) | (1 << (PostgreSQLParser.KW_NO - 238)))) !== 0) || ((((_la - 270)) & ~0x1F) === 0 && ((1 << (_la - 270)) & ((1 << (PostgreSQLParser.KW_NOTHING - 270)) | (1 << (PostgreSQLParser.KW_NOTIFY - 270)) | (1 << (PostgreSQLParser.KW_NOWAIT - 270)) | (1 << (PostgreSQLParser.KW_NULLS - 270)) | (1 << (PostgreSQLParser.KW_OBJECT - 270)) | (1 << (PostgreSQLParser.KW_OF - 270)) | (1 << (PostgreSQLParser.KW_OFF - 270)) | (1 << (PostgreSQLParser.KW_OIDS - 270)) | (1 << (PostgreSQLParser.KW_OPERATOR - 270)) | (1 << (PostgreSQLParser.KW_OPTION - 270)) | (1 << (PostgreSQLParser.KW_OPTIONS - 270)) | (1 << (PostgreSQLParser.KW_OWNED - 270)) | (1 << (PostgreSQLParser.KW_OWNER - 270)) | (1 << (PostgreSQLParser.KW_PARSER - 270)) | (1 << (PostgreSQLParser.KW_PARTIAL - 270)) | (1 << (PostgreSQLParser.KW_PARTITION - 270)) | (1 << (PostgreSQLParser.KW_PASSING - 270)) | (1 << (PostgreSQLParser.KW_PASSWORD - 270)) | (1 << (PostgreSQLParser.KW_PLANS - 270)) | (1 << (PostgreSQLParser.KW_PRECEDING - 270)) | (1 << (PostgreSQLParser.KW_PREPARE - 270)) | (1 << (PostgreSQLParser.KW_PREPARED - 270)) | (1 << (PostgreSQLParser.KW_PRESERVE - 270)) | (1 << (PostgreSQLParser.KW_PRIOR - 270)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 270)) | (1 << (PostgreSQLParser.KW_PROGRAM - 270)) | (1 << (PostgreSQLParser.KW_QUOTE - 270)) | (1 << (PostgreSQLParser.KW_RANGE - 270)) | (1 << (PostgreSQLParser.KW_READ - 270)) | (1 << (PostgreSQLParser.KW_REASSIGN - 270)))) !== 0) || ((((_la - 302)) & ~0x1F) === 0 && ((1 << (_la - 302)) & ((1 << (PostgreSQLParser.KW_RECHECK - 302)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 302)) | (1 << (PostgreSQLParser.KW_REF - 302)) | (1 << (PostgreSQLParser.KW_REFRESH - 302)) | (1 << (PostgreSQLParser.KW_REINDEX - 302)) | (1 << (PostgreSQLParser.KW_RELATIVE - 302)) | (1 << (PostgreSQLParser.KW_RELEASE - 302)) | (1 << (PostgreSQLParser.KW_RENAME - 302)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 302)) | (1 << (PostgreSQLParser.KW_REPLACE - 302)) | (1 << (PostgreSQLParser.KW_REPLICA - 302)) | (1 << (PostgreSQLParser.KW_RESET - 302)) | (1 << (PostgreSQLParser.KW_RESTART - 302)) | (1 << (PostgreSQLParser.KW_RESTRICT - 302)) | (1 << (PostgreSQLParser.KW_RETURNS - 302)) | (1 << (PostgreSQLParser.KW_REVOKE - 302)) | (1 << (PostgreSQLParser.KW_ROLE - 302)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 302)) | (1 << (PostgreSQLParser.KW_ROWS - 302)) | (1 << (PostgreSQLParser.KW_RULE - 302)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 302)) | (1 << (PostgreSQLParser.KW_SCHEMA - 302)) | (1 << (PostgreSQLParser.KW_SCROLL - 302)) | (1 << (PostgreSQLParser.KW_SEARCH - 302)) | (1 << (PostgreSQLParser.KW_SECOND - 302)) | (1 << (PostgreSQLParser.KW_SECURITY - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 302)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 302)) | (1 << (PostgreSQLParser.KW_SERVER - 302)) | (1 << (PostgreSQLParser.KW_SESSION - 302)) | (1 << (PostgreSQLParser.KW_SET - 302)))) !== 0) || ((((_la - 334)) & ~0x1F) === 0 && ((1 << (_la - 334)) & ((1 << (PostgreSQLParser.KW_SHARE - 334)) | (1 << (PostgreSQLParser.KW_SHOW - 334)) | (1 << (PostgreSQLParser.KW_SIMPLE - 334)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 334)) | (1 << (PostgreSQLParser.KW_STABLE - 334)) | (1 << (PostgreSQLParser.KW_STANDALONE - 334)) | (1 << (PostgreSQLParser.KW_START - 334)) | (1 << (PostgreSQLParser.KW_STATEMENT - 334)) | (1 << (PostgreSQLParser.KW_STATISTICS - 334)) | (1 << (PostgreSQLParser.KW_STDIN - 334)) | (1 << (PostgreSQLParser.KW_STDOUT - 334)) | (1 << (PostgreSQLParser.KW_STORAGE - 334)) | (1 << (PostgreSQLParser.KW_STRICT - 334)) | (1 << (PostgreSQLParser.KW_STRIP - 334)) | (1 << (PostgreSQLParser.KW_SYSID - 334)) | (1 << (PostgreSQLParser.KW_SYSTEM - 334)) | (1 << (PostgreSQLParser.KW_TABLES - 334)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 334)) | (1 << (PostgreSQLParser.KW_TEMP - 334)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 334)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 334)) | (1 << (PostgreSQLParser.KW_TEXT - 334)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 334)) | (1 << (PostgreSQLParser.KW_TRIGGER - 334)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 334)) | (1 << (PostgreSQLParser.KW_TRUSTED - 334)) | (1 << (PostgreSQLParser.KW_TYPE - 334)) | (1 << (PostgreSQLParser.KW_TYPES - 334)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 334)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 334)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 334)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 334)))) !== 0) || ((((_la - 366)) & ~0x1F) === 0 && ((1 << (_la - 366)) & ((1 << (PostgreSQLParser.KW_UNLISTEN - 366)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 366)) | (1 << (PostgreSQLParser.KW_UNTIL - 366)) | (1 << (PostgreSQLParser.KW_UPDATE - 366)) | (1 << (PostgreSQLParser.KW_VACUUM - 366)) | (1 << (PostgreSQLParser.KW_VALID - 366)) | (1 << (PostgreSQLParser.KW_VALIDATE - 366)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 366)) | (1 << (PostgreSQLParser.KW_VARYING - 366)) | (1 << (PostgreSQLParser.KW_VERSION - 366)) | (1 << (PostgreSQLParser.KW_VIEW - 366)) | (1 << (PostgreSQLParser.KW_VOLATILE - 366)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 366)) | (1 << (PostgreSQLParser.KW_WITHOUT - 366)) | (1 << (PostgreSQLParser.KW_WORK - 366)) | (1 << (PostgreSQLParser.KW_WRAPPER - 366)) | (1 << (PostgreSQLParser.KW_WRITE - 366)) | (1 << (PostgreSQLParser.KW_XML - 366)) | (1 << (PostgreSQLParser.KW_YEAR - 366)) | (1 << (PostgreSQLParser.KW_YES - 366)) | (1 << (PostgreSQLParser.KW_ZONE - 366)) | (1 << (PostgreSQLParser.KW_BETWEEN - 366)) | (1 << (PostgreSQLParser.KW_BIGINT - 366)) | (1 << (PostgreSQLParser.KW_BIT - 366)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 366)) | (1 << (PostgreSQLParser.KW_CHAR - 366)) | (1 << (PostgreSQLParser.KW_CHARACTER - 366)) | (1 << (PostgreSQLParser.KW_COALESCE - 366)) | (1 << (PostgreSQLParser.KW_DEC - 366)) | (1 << (PostgreSQLParser.KW_DECIMAL - 366)) | (1 << (PostgreSQLParser.KW_EXISTS - 366)) | (1 << (PostgreSQLParser.KW_EXTRACT - 366)))) !== 0) || ((((_la - 398)) & ~0x1F) === 0 && ((1 << (_la - 398)) & ((1 << (PostgreSQLParser.KW_FLOAT - 398)) | (1 << (PostgreSQLParser.KW_GREATEST - 398)) | (1 << (PostgreSQLParser.KW_INOUT - 398)) | (1 << (PostgreSQLParser.KW_INT - 398)) | (1 << (PostgreSQLParser.KW_INTEGER - 398)) | (1 << (PostgreSQLParser.KW_INTERVAL - 398)) | (1 << (PostgreSQLParser.KW_LEAST - 398)) | (1 << (PostgreSQLParser.KW_NATIONAL - 398)) | (1 << (PostgreSQLParser.KW_NCHAR - 398)) | (1 << (PostgreSQLParser.KW_NONE - 398)) | (1 << (PostgreSQLParser.KW_NULLIF - 398)) | (1 << (PostgreSQLParser.KW_NUMERIC - 398)) | (1 << (PostgreSQLParser.KW_OVERLAY - 398)) | (1 << (PostgreSQLParser.KW_POSITION - 398)) | (1 << (PostgreSQLParser.KW_PRECISION - 398)) | (1 << (PostgreSQLParser.KW_REAL - 398)) | (1 << (PostgreSQLParser.KW_ROW - 398)) | (1 << (PostgreSQLParser.KW_SETOF - 398)) | (1 << (PostgreSQLParser.KW_SMALLINT - 398)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 398)) | (1 << (PostgreSQLParser.KW_TIME - 398)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 398)) | (1 << (PostgreSQLParser.KW_TREAT - 398)) | (1 << (PostgreSQLParser.KW_TRIM - 398)) | (1 << (PostgreSQLParser.KW_VALUES - 398)) | (1 << (PostgreSQLParser.KW_VARCHAR - 398)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 398)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 398)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 398)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 398)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 398)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 398)))) !== 0) || ((((_la - 430)) & ~0x1F) === 0 && ((1 << (_la - 430)) & ((1 << (PostgreSQLParser.KW_XMLPI - 430)) | (1 << (PostgreSQLParser.KW_XMLROOT - 430)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 430)) | (1 << (PostgreSQLParser.KW_CALL - 430)) | (1 << (PostgreSQLParser.KW_CURRENT - 430)) | (1 << (PostgreSQLParser.KW_ATTACH - 430)) | (1 << (PostgreSQLParser.KW_DETACH - 430)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 430)) | (1 << (PostgreSQLParser.KW_GENERATED - 430)) | (1 << (PostgreSQLParser.KW_LOGGED - 430)) | (1 << (PostgreSQLParser.KW_STORED - 430)) | (1 << (PostgreSQLParser.KW_INCLUDE - 430)) | (1 << (PostgreSQLParser.KW_ROUTINE - 430)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 430)) | (1 << (PostgreSQLParser.KW_IMPORT - 430)) | (1 << (PostgreSQLParser.KW_POLICY - 430)) | (1 << (PostgreSQLParser.KW_METHOD - 430)) | (1 << (PostgreSQLParser.KW_REFERENCING - 430)) | (1 << (PostgreSQLParser.KW_NEW - 430)) | (1 << (PostgreSQLParser.KW_OLD - 430)) | (1 << (PostgreSQLParser.KW_VALUE - 430)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 430)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 430)) | (1 << (PostgreSQLParser.KW_OUT - 430)) | (1 << (PostgreSQLParser.KW_ROUTINES - 430)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 430)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 430)) | (1 << (PostgreSQLParser.KW_INPUT - 430)) | (1 << (PostgreSQLParser.KW_SUPPORT - 430)) | (1 << (PostgreSQLParser.KW_PARALLEL - 430)) | (1 << (PostgreSQLParser.KW_SQL - 430)))) !== 0) || ((((_la - 462)) & ~0x1F) === 0 && ((1 << (_la - 462)) & ((1 << (PostgreSQLParser.KW_DEPENDS - 462)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 462)) | (1 << (PostgreSQLParser.KW_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_SKIP - 462)) | (1 << (PostgreSQLParser.KW_LOCKED - 462)) | (1 << (PostgreSQLParser.KW_TIES - 462)) | (1 << (PostgreSQLParser.KW_ROLLUP - 462)) | (1 << (PostgreSQLParser.KW_CUBE - 462)) | (1 << (PostgreSQLParser.KW_GROUPING - 462)) | (1 << (PostgreSQLParser.KW_SETS - 462)) | (1 << (PostgreSQLParser.KW_TABLESAMPLE - 462)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 462)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 462)) | (1 << (PostgreSQLParser.KW_COLUMNS - 462)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 462)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 462)) | (1 << (PostgreSQLParser.KW_WITHIN - 462)) | (1 << (PostgreSQLParser.KW_FILTER - 462)) | (1 << (PostgreSQLParser.KW_GROUPS - 462)) | (1 << (PostgreSQLParser.KW_OTHERS - 462)) | (1 << (PostgreSQLParser.KW_NFC - 462)) | (1 << (PostgreSQLParser.KW_NFD - 462)) | (1 << (PostgreSQLParser.KW_NFKC - 462)) | (1 << (PostgreSQLParser.KW_NFKD - 462)) | (1 << (PostgreSQLParser.KW_UESCAPE - 462)) | (1 << (PostgreSQLParser.KW_VIEWS - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 462)) | (1 << (PostgreSQLParser.KW_DUMP - 462)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 462)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_ERROR - 462)))) !== 0) || ((((_la - 494)) & ~0x1F) === 0 && ((1 << (_la - 494)) & ((1 << (PostgreSQLParser.KW_USE_VARIABLE - 494)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 494)) | (1 << (PostgreSQLParser.KW_ALIAS - 494)) | (1 << (PostgreSQLParser.KW_CONSTANT - 494)) | (1 << (PostgreSQLParser.KW_PERFORM - 494)) | (1 << (PostgreSQLParser.KW_GET - 494)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 494)) | (1 << (PostgreSQLParser.KW_STACKED - 494)) | (1 << (PostgreSQLParser.KW_ELSIF - 494)) | (1 << (PostgreSQLParser.KW_REVERSE - 494)) | (1 << (PostgreSQLParser.KW_SLICE - 494)) | (1 << (PostgreSQLParser.KW_EXIT - 494)) | (1 << (PostgreSQLParser.KW_RETURN - 494)) | (1 << (PostgreSQLParser.KW_QUERY - 494)) | (1 << (PostgreSQLParser.KW_RAISE - 494)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 494)) | (1 << (PostgreSQLParser.KW_DEBUG - 494)) | (1 << (PostgreSQLParser.KW_LOG - 494)) | (1 << (PostgreSQLParser.KW_INFO - 494)) | (1 << (PostgreSQLParser.KW_NOTICE - 494)) | (1 << (PostgreSQLParser.KW_WARNING - 494)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 494)) | (1 << (PostgreSQLParser.KW_ASSERT - 494)) | (1 << (PostgreSQLParser.KW_OPEN - 494)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 6264; this.func_args_list(); } } this.state = 6267; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_args_list(): Func_args_listContext { let _localctx: Func_args_listContext = new Func_args_listContext(this._ctx, this.state); this.enterRule(_localctx, 662, PostgreSQLParser.RULE_func_args_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6269; this.func_arg(); this.state = 6274; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6270; this.match(PostgreSQLParser.COMMA); this.state = 6271; this.func_arg(); } } this.state = 6276; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public routine_with_argtypes_list(): Routine_with_argtypes_listContext { let _localctx: Routine_with_argtypes_listContext = new Routine_with_argtypes_listContext(this._ctx, this.state); this.enterRule(_localctx, 664, PostgreSQLParser.RULE_routine_with_argtypes_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6277; this.routine_with_argtypes(); this.state = 6282; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6278; this.match(PostgreSQLParser.COMMA); this.state = 6279; this.routine_with_argtypes(); } } this.state = 6284; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public routine_with_argtypes(): Routine_with_argtypesContext { let _localctx: Routine_with_argtypesContext = new Routine_with_argtypesContext(this._ctx, this.state); this.enterRule(_localctx, 666, PostgreSQLParser.RULE_routine_with_argtypes); let _la: number; try { this.state = 6293; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 584, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6285; this.routine_name(); this.state = 6286; this.func_args(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6288; this.type_func_name_keyword(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6289; this.colid(); this.state = 6291; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_BRACKET || _la === PostgreSQLParser.DOT) { { this.state = 6290; this.indirection(); } } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public procedure_with_argtypes_list(): Procedure_with_argtypes_listContext { let _localctx: Procedure_with_argtypes_listContext = new Procedure_with_argtypes_listContext(this._ctx, this.state); this.enterRule(_localctx, 668, PostgreSQLParser.RULE_procedure_with_argtypes_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6295; this.procedure_with_argtypes(); this.state = 6300; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6296; this.match(PostgreSQLParser.COMMA); this.state = 6297; this.procedure_with_argtypes(); } } this.state = 6302; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public procedure_with_argtypes(): Procedure_with_argtypesContext { let _localctx: Procedure_with_argtypesContext = new Procedure_with_argtypesContext(this._ctx, this.state); this.enterRule(_localctx, 670, PostgreSQLParser.RULE_procedure_with_argtypes); let _la: number; try { this.state = 6311; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 587, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6303; this.procedure_name(); this.state = 6304; this.func_args(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6306; this.type_func_name_keyword(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6307; this.colid(); this.state = 6309; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_BRACKET || _la === PostgreSQLParser.DOT) { { this.state = 6308; this.indirection(); } } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public function_with_argtypes_list(): Function_with_argtypes_listContext { let _localctx: Function_with_argtypes_listContext = new Function_with_argtypes_listContext(this._ctx, this.state); this.enterRule(_localctx, 672, PostgreSQLParser.RULE_function_with_argtypes_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6313; this.function_with_argtypes(); this.state = 6318; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6314; this.match(PostgreSQLParser.COMMA); this.state = 6315; this.function_with_argtypes(); } } this.state = 6320; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public function_with_argtypes(): Function_with_argtypesContext { let _localctx: Function_with_argtypesContext = new Function_with_argtypesContext(this._ctx, this.state); this.enterRule(_localctx, 674, PostgreSQLParser.RULE_function_with_argtypes); let _la: number; try { this.state = 6329; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 590, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6321; this.function_name(); this.state = 6322; this.func_args(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6324; this.type_func_name_keyword(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6325; this.colid(); this.state = 6327; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_BRACKET || _la === PostgreSQLParser.DOT) { { this.state = 6326; this.indirection(); } } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_args_with_defaults(): Func_args_with_defaultsContext { let _localctx: Func_args_with_defaultsContext = new Func_args_with_defaultsContext(this._ctx, this.state); this.enterRule(_localctx, 676, PostgreSQLParser.RULE_func_args_with_defaults); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6331; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6333; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || _la === PostgreSQLParser.KW_IN || _la === PostgreSQLParser.KW_TABLE || ((((_la - 101)) & ~0x1F) === 0 && ((1 << (_la - 101)) & ((1 << (PostgreSQLParser.KW_VARIADIC - 101)) | (1 << (PostgreSQLParser.KW_AUTHORIZATION - 101)) | (1 << (PostgreSQLParser.KW_BINARY - 101)) | (1 << (PostgreSQLParser.KW_COLLATION - 101)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 101)) | (1 << (PostgreSQLParser.KW_CROSS - 101)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 101)) | (1 << (PostgreSQLParser.KW_FREEZE - 101)) | (1 << (PostgreSQLParser.KW_FULL - 101)) | (1 << (PostgreSQLParser.KW_ILIKE - 101)) | (1 << (PostgreSQLParser.KW_INNER - 101)) | (1 << (PostgreSQLParser.KW_IS - 101)) | (1 << (PostgreSQLParser.KW_ISNULL - 101)) | (1 << (PostgreSQLParser.KW_JOIN - 101)) | (1 << (PostgreSQLParser.KW_LEFT - 101)) | (1 << (PostgreSQLParser.KW_LIKE - 101)) | (1 << (PostgreSQLParser.KW_NATURAL - 101)) | (1 << (PostgreSQLParser.KW_NOTNULL - 101)) | (1 << (PostgreSQLParser.KW_OUTER - 101)) | (1 << (PostgreSQLParser.KW_OVER - 101)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 101)) | (1 << (PostgreSQLParser.KW_RIGHT - 101)) | (1 << (PostgreSQLParser.KW_SIMILAR - 101)) | (1 << (PostgreSQLParser.KW_VERBOSE - 101)) | (1 << (PostgreSQLParser.KW_ABORT - 101)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 101)) | (1 << (PostgreSQLParser.KW_ACCESS - 101)) | (1 << (PostgreSQLParser.KW_ACTION - 101)))) !== 0) || ((((_la - 133)) & ~0x1F) === 0 && ((1 << (_la - 133)) & ((1 << (PostgreSQLParser.KW_ADD - 133)) | (1 << (PostgreSQLParser.KW_ADMIN - 133)) | (1 << (PostgreSQLParser.KW_AFTER - 133)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 133)) | (1 << (PostgreSQLParser.KW_ALSO - 133)) | (1 << (PostgreSQLParser.KW_ALTER - 133)) | (1 << (PostgreSQLParser.KW_ALWAYS - 133)) | (1 << (PostgreSQLParser.KW_ASSERTION - 133)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 133)) | (1 << (PostgreSQLParser.KW_AT - 133)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 133)) | (1 << (PostgreSQLParser.KW_BACKWARD - 133)) | (1 << (PostgreSQLParser.KW_BEFORE - 133)) | (1 << (PostgreSQLParser.KW_BEGIN - 133)) | (1 << (PostgreSQLParser.KW_BY - 133)) | (1 << (PostgreSQLParser.KW_CACHE - 133)) | (1 << (PostgreSQLParser.KW_CALLED - 133)) | (1 << (PostgreSQLParser.KW_CASCADE - 133)) | (1 << (PostgreSQLParser.KW_CASCADED - 133)) | (1 << (PostgreSQLParser.KW_CATALOG - 133)) | (1 << (PostgreSQLParser.KW_CHAIN - 133)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 133)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 133)) | (1 << (PostgreSQLParser.KW_CLASS - 133)) | (1 << (PostgreSQLParser.KW_CLOSE - 133)) | (1 << (PostgreSQLParser.KW_CLUSTER - 133)) | (1 << (PostgreSQLParser.KW_COMMENT - 133)) | (1 << (PostgreSQLParser.KW_COMMENTS - 133)) | (1 << (PostgreSQLParser.KW_COMMIT - 133)) | (1 << (PostgreSQLParser.KW_COMMITTED - 133)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 133)) | (1 << (PostgreSQLParser.KW_CONNECTION - 133)))) !== 0) || ((((_la - 165)) & ~0x1F) === 0 && ((1 << (_la - 165)) & ((1 << (PostgreSQLParser.KW_CONSTRAINTS - 165)) | (1 << (PostgreSQLParser.KW_CONTENT - 165)) | (1 << (PostgreSQLParser.KW_CONTINUE - 165)) | (1 << (PostgreSQLParser.KW_CONVERSION - 165)) | (1 << (PostgreSQLParser.KW_COPY - 165)) | (1 << (PostgreSQLParser.KW_COST - 165)) | (1 << (PostgreSQLParser.KW_CSV - 165)) | (1 << (PostgreSQLParser.KW_CURSOR - 165)) | (1 << (PostgreSQLParser.KW_CYCLE - 165)) | (1 << (PostgreSQLParser.KW_DATA - 165)) | (1 << (PostgreSQLParser.KW_DATABASE - 165)) | (1 << (PostgreSQLParser.KW_DAY - 165)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 165)) | (1 << (PostgreSQLParser.KW_DECLARE - 165)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 165)) | (1 << (PostgreSQLParser.KW_DEFERRED - 165)) | (1 << (PostgreSQLParser.KW_DEFINER - 165)) | (1 << (PostgreSQLParser.KW_DELETE - 165)) | (1 << (PostgreSQLParser.KW_DELIMITER - 165)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 165)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 165)) | (1 << (PostgreSQLParser.KW_DISABLE - 165)) | (1 << (PostgreSQLParser.KW_DISCARD - 165)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 165)) | (1 << (PostgreSQLParser.KW_DOMAIN - 165)) | (1 << (PostgreSQLParser.KW_DOUBLE - 165)) | (1 << (PostgreSQLParser.KW_DROP - 165)) | (1 << (PostgreSQLParser.KW_EACH - 165)) | (1 << (PostgreSQLParser.KW_ENABLE - 165)) | (1 << (PostgreSQLParser.KW_ENCODING - 165)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 165)) | (1 << (PostgreSQLParser.KW_ENUM - 165)))) !== 0) || ((((_la - 197)) & ~0x1F) === 0 && ((1 << (_la - 197)) & ((1 << (PostgreSQLParser.KW_ESCAPE - 197)) | (1 << (PostgreSQLParser.KW_EVENT - 197)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 197)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 197)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 197)) | (1 << (PostgreSQLParser.KW_EXECUTE - 197)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 197)) | (1 << (PostgreSQLParser.KW_EXTENSION - 197)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 197)) | (1 << (PostgreSQLParser.KW_FAMILY - 197)) | (1 << (PostgreSQLParser.KW_FIRST - 197)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 197)) | (1 << (PostgreSQLParser.KW_FORCE - 197)) | (1 << (PostgreSQLParser.KW_FORWARD - 197)) | (1 << (PostgreSQLParser.KW_FUNCTION - 197)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 197)) | (1 << (PostgreSQLParser.KW_GLOBAL - 197)) | (1 << (PostgreSQLParser.KW_GRANTED - 197)) | (1 << (PostgreSQLParser.KW_HANDLER - 197)) | (1 << (PostgreSQLParser.KW_HEADER - 197)) | (1 << (PostgreSQLParser.KW_HOLD - 197)) | (1 << (PostgreSQLParser.KW_HOUR - 197)) | (1 << (PostgreSQLParser.KW_IDENTITY - 197)) | (1 << (PostgreSQLParser.KW_IF - 197)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 197)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 197)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 197)) | (1 << (PostgreSQLParser.KW_INCLUDING - 197)) | (1 << (PostgreSQLParser.KW_INCREMENT - 197)) | (1 << (PostgreSQLParser.KW_INDEX - 197)) | (1 << (PostgreSQLParser.KW_INDEXES - 197)) | (1 << (PostgreSQLParser.KW_INHERIT - 197)))) !== 0) || ((((_la - 238)) & ~0x1F) === 0 && ((1 << (_la - 238)) & ((1 << (PostgreSQLParser.KW_INHERITS - 238)) | (1 << (PostgreSQLParser.KW_INLINE - 238)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 238)) | (1 << (PostgreSQLParser.KW_INSERT - 238)) | (1 << (PostgreSQLParser.KW_INSTEAD - 238)) | (1 << (PostgreSQLParser.KW_INVOKER - 238)) | (1 << (PostgreSQLParser.KW_ISOLATION - 238)) | (1 << (PostgreSQLParser.KW_KEY - 238)) | (1 << (PostgreSQLParser.KW_LABEL - 238)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 238)) | (1 << (PostgreSQLParser.KW_LARGE - 238)) | (1 << (PostgreSQLParser.KW_LAST - 238)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 238)) | (1 << (PostgreSQLParser.KW_LEVEL - 238)) | (1 << (PostgreSQLParser.KW_LISTEN - 238)) | (1 << (PostgreSQLParser.KW_LOAD - 238)) | (1 << (PostgreSQLParser.KW_LOCAL - 238)) | (1 << (PostgreSQLParser.KW_LOCATION - 238)) | (1 << (PostgreSQLParser.KW_LOCK - 238)) | (1 << (PostgreSQLParser.KW_MAPPING - 238)) | (1 << (PostgreSQLParser.KW_MATCH - 238)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 238)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 238)) | (1 << (PostgreSQLParser.KW_MINUTE - 238)) | (1 << (PostgreSQLParser.KW_MINVALUE - 238)) | (1 << (PostgreSQLParser.KW_MODE - 238)) | (1 << (PostgreSQLParser.KW_MONTH - 238)) | (1 << (PostgreSQLParser.KW_MOVE - 238)) | (1 << (PostgreSQLParser.KW_NAME - 238)) | (1 << (PostgreSQLParser.KW_NAMES - 238)) | (1 << (PostgreSQLParser.KW_NEXT - 238)) | (1 << (PostgreSQLParser.KW_NO - 238)))) !== 0) || ((((_la - 270)) & ~0x1F) === 0 && ((1 << (_la - 270)) & ((1 << (PostgreSQLParser.KW_NOTHING - 270)) | (1 << (PostgreSQLParser.KW_NOTIFY - 270)) | (1 << (PostgreSQLParser.KW_NOWAIT - 270)) | (1 << (PostgreSQLParser.KW_NULLS - 270)) | (1 << (PostgreSQLParser.KW_OBJECT - 270)) | (1 << (PostgreSQLParser.KW_OF - 270)) | (1 << (PostgreSQLParser.KW_OFF - 270)) | (1 << (PostgreSQLParser.KW_OIDS - 270)) | (1 << (PostgreSQLParser.KW_OPERATOR - 270)) | (1 << (PostgreSQLParser.KW_OPTION - 270)) | (1 << (PostgreSQLParser.KW_OPTIONS - 270)) | (1 << (PostgreSQLParser.KW_OWNED - 270)) | (1 << (PostgreSQLParser.KW_OWNER - 270)) | (1 << (PostgreSQLParser.KW_PARSER - 270)) | (1 << (PostgreSQLParser.KW_PARTIAL - 270)) | (1 << (PostgreSQLParser.KW_PARTITION - 270)) | (1 << (PostgreSQLParser.KW_PASSING - 270)) | (1 << (PostgreSQLParser.KW_PASSWORD - 270)) | (1 << (PostgreSQLParser.KW_PLANS - 270)) | (1 << (PostgreSQLParser.KW_PRECEDING - 270)) | (1 << (PostgreSQLParser.KW_PREPARE - 270)) | (1 << (PostgreSQLParser.KW_PREPARED - 270)) | (1 << (PostgreSQLParser.KW_PRESERVE - 270)) | (1 << (PostgreSQLParser.KW_PRIOR - 270)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 270)) | (1 << (PostgreSQLParser.KW_PROGRAM - 270)) | (1 << (PostgreSQLParser.KW_QUOTE - 270)) | (1 << (PostgreSQLParser.KW_RANGE - 270)) | (1 << (PostgreSQLParser.KW_READ - 270)) | (1 << (PostgreSQLParser.KW_REASSIGN - 270)))) !== 0) || ((((_la - 302)) & ~0x1F) === 0 && ((1 << (_la - 302)) & ((1 << (PostgreSQLParser.KW_RECHECK - 302)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 302)) | (1 << (PostgreSQLParser.KW_REF - 302)) | (1 << (PostgreSQLParser.KW_REFRESH - 302)) | (1 << (PostgreSQLParser.KW_REINDEX - 302)) | (1 << (PostgreSQLParser.KW_RELATIVE - 302)) | (1 << (PostgreSQLParser.KW_RELEASE - 302)) | (1 << (PostgreSQLParser.KW_RENAME - 302)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 302)) | (1 << (PostgreSQLParser.KW_REPLACE - 302)) | (1 << (PostgreSQLParser.KW_REPLICA - 302)) | (1 << (PostgreSQLParser.KW_RESET - 302)) | (1 << (PostgreSQLParser.KW_RESTART - 302)) | (1 << (PostgreSQLParser.KW_RESTRICT - 302)) | (1 << (PostgreSQLParser.KW_RETURNS - 302)) | (1 << (PostgreSQLParser.KW_REVOKE - 302)) | (1 << (PostgreSQLParser.KW_ROLE - 302)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 302)) | (1 << (PostgreSQLParser.KW_ROWS - 302)) | (1 << (PostgreSQLParser.KW_RULE - 302)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 302)) | (1 << (PostgreSQLParser.KW_SCHEMA - 302)) | (1 << (PostgreSQLParser.KW_SCROLL - 302)) | (1 << (PostgreSQLParser.KW_SEARCH - 302)) | (1 << (PostgreSQLParser.KW_SECOND - 302)) | (1 << (PostgreSQLParser.KW_SECURITY - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 302)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 302)) | (1 << (PostgreSQLParser.KW_SERVER - 302)) | (1 << (PostgreSQLParser.KW_SESSION - 302)) | (1 << (PostgreSQLParser.KW_SET - 302)))) !== 0) || ((((_la - 334)) & ~0x1F) === 0 && ((1 << (_la - 334)) & ((1 << (PostgreSQLParser.KW_SHARE - 334)) | (1 << (PostgreSQLParser.KW_SHOW - 334)) | (1 << (PostgreSQLParser.KW_SIMPLE - 334)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 334)) | (1 << (PostgreSQLParser.KW_STABLE - 334)) | (1 << (PostgreSQLParser.KW_STANDALONE - 334)) | (1 << (PostgreSQLParser.KW_START - 334)) | (1 << (PostgreSQLParser.KW_STATEMENT - 334)) | (1 << (PostgreSQLParser.KW_STATISTICS - 334)) | (1 << (PostgreSQLParser.KW_STDIN - 334)) | (1 << (PostgreSQLParser.KW_STDOUT - 334)) | (1 << (PostgreSQLParser.KW_STORAGE - 334)) | (1 << (PostgreSQLParser.KW_STRICT - 334)) | (1 << (PostgreSQLParser.KW_STRIP - 334)) | (1 << (PostgreSQLParser.KW_SYSID - 334)) | (1 << (PostgreSQLParser.KW_SYSTEM - 334)) | (1 << (PostgreSQLParser.KW_TABLES - 334)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 334)) | (1 << (PostgreSQLParser.KW_TEMP - 334)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 334)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 334)) | (1 << (PostgreSQLParser.KW_TEXT - 334)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 334)) | (1 << (PostgreSQLParser.KW_TRIGGER - 334)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 334)) | (1 << (PostgreSQLParser.KW_TRUSTED - 334)) | (1 << (PostgreSQLParser.KW_TYPE - 334)) | (1 << (PostgreSQLParser.KW_TYPES - 334)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 334)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 334)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 334)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 334)))) !== 0) || ((((_la - 366)) & ~0x1F) === 0 && ((1 << (_la - 366)) & ((1 << (PostgreSQLParser.KW_UNLISTEN - 366)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 366)) | (1 << (PostgreSQLParser.KW_UNTIL - 366)) | (1 << (PostgreSQLParser.KW_UPDATE - 366)) | (1 << (PostgreSQLParser.KW_VACUUM - 366)) | (1 << (PostgreSQLParser.KW_VALID - 366)) | (1 << (PostgreSQLParser.KW_VALIDATE - 366)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 366)) | (1 << (PostgreSQLParser.KW_VARYING - 366)) | (1 << (PostgreSQLParser.KW_VERSION - 366)) | (1 << (PostgreSQLParser.KW_VIEW - 366)) | (1 << (PostgreSQLParser.KW_VOLATILE - 366)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 366)) | (1 << (PostgreSQLParser.KW_WITHOUT - 366)) | (1 << (PostgreSQLParser.KW_WORK - 366)) | (1 << (PostgreSQLParser.KW_WRAPPER - 366)) | (1 << (PostgreSQLParser.KW_WRITE - 366)) | (1 << (PostgreSQLParser.KW_XML - 366)) | (1 << (PostgreSQLParser.KW_YEAR - 366)) | (1 << (PostgreSQLParser.KW_YES - 366)) | (1 << (PostgreSQLParser.KW_ZONE - 366)) | (1 << (PostgreSQLParser.KW_BETWEEN - 366)) | (1 << (PostgreSQLParser.KW_BIGINT - 366)) | (1 << (PostgreSQLParser.KW_BIT - 366)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 366)) | (1 << (PostgreSQLParser.KW_CHAR - 366)) | (1 << (PostgreSQLParser.KW_CHARACTER - 366)) | (1 << (PostgreSQLParser.KW_COALESCE - 366)) | (1 << (PostgreSQLParser.KW_DEC - 366)) | (1 << (PostgreSQLParser.KW_DECIMAL - 366)) | (1 << (PostgreSQLParser.KW_EXISTS - 366)) | (1 << (PostgreSQLParser.KW_EXTRACT - 366)))) !== 0) || ((((_la - 398)) & ~0x1F) === 0 && ((1 << (_la - 398)) & ((1 << (PostgreSQLParser.KW_FLOAT - 398)) | (1 << (PostgreSQLParser.KW_GREATEST - 398)) | (1 << (PostgreSQLParser.KW_INOUT - 398)) | (1 << (PostgreSQLParser.KW_INT - 398)) | (1 << (PostgreSQLParser.KW_INTEGER - 398)) | (1 << (PostgreSQLParser.KW_INTERVAL - 398)) | (1 << (PostgreSQLParser.KW_LEAST - 398)) | (1 << (PostgreSQLParser.KW_NATIONAL - 398)) | (1 << (PostgreSQLParser.KW_NCHAR - 398)) | (1 << (PostgreSQLParser.KW_NONE - 398)) | (1 << (PostgreSQLParser.KW_NULLIF - 398)) | (1 << (PostgreSQLParser.KW_NUMERIC - 398)) | (1 << (PostgreSQLParser.KW_OVERLAY - 398)) | (1 << (PostgreSQLParser.KW_POSITION - 398)) | (1 << (PostgreSQLParser.KW_PRECISION - 398)) | (1 << (PostgreSQLParser.KW_REAL - 398)) | (1 << (PostgreSQLParser.KW_ROW - 398)) | (1 << (PostgreSQLParser.KW_SETOF - 398)) | (1 << (PostgreSQLParser.KW_SMALLINT - 398)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 398)) | (1 << (PostgreSQLParser.KW_TIME - 398)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 398)) | (1 << (PostgreSQLParser.KW_TREAT - 398)) | (1 << (PostgreSQLParser.KW_TRIM - 398)) | (1 << (PostgreSQLParser.KW_VALUES - 398)) | (1 << (PostgreSQLParser.KW_VARCHAR - 398)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 398)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 398)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 398)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 398)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 398)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 398)))) !== 0) || ((((_la - 430)) & ~0x1F) === 0 && ((1 << (_la - 430)) & ((1 << (PostgreSQLParser.KW_XMLPI - 430)) | (1 << (PostgreSQLParser.KW_XMLROOT - 430)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 430)) | (1 << (PostgreSQLParser.KW_CALL - 430)) | (1 << (PostgreSQLParser.KW_CURRENT - 430)) | (1 << (PostgreSQLParser.KW_ATTACH - 430)) | (1 << (PostgreSQLParser.KW_DETACH - 430)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 430)) | (1 << (PostgreSQLParser.KW_GENERATED - 430)) | (1 << (PostgreSQLParser.KW_LOGGED - 430)) | (1 << (PostgreSQLParser.KW_STORED - 430)) | (1 << (PostgreSQLParser.KW_INCLUDE - 430)) | (1 << (PostgreSQLParser.KW_ROUTINE - 430)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 430)) | (1 << (PostgreSQLParser.KW_IMPORT - 430)) | (1 << (PostgreSQLParser.KW_POLICY - 430)) | (1 << (PostgreSQLParser.KW_METHOD - 430)) | (1 << (PostgreSQLParser.KW_REFERENCING - 430)) | (1 << (PostgreSQLParser.KW_NEW - 430)) | (1 << (PostgreSQLParser.KW_OLD - 430)) | (1 << (PostgreSQLParser.KW_VALUE - 430)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 430)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 430)) | (1 << (PostgreSQLParser.KW_OUT - 430)) | (1 << (PostgreSQLParser.KW_ROUTINES - 430)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 430)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 430)) | (1 << (PostgreSQLParser.KW_INPUT - 430)) | (1 << (PostgreSQLParser.KW_SUPPORT - 430)) | (1 << (PostgreSQLParser.KW_PARALLEL - 430)) | (1 << (PostgreSQLParser.KW_SQL - 430)))) !== 0) || ((((_la - 462)) & ~0x1F) === 0 && ((1 << (_la - 462)) & ((1 << (PostgreSQLParser.KW_DEPENDS - 462)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 462)) | (1 << (PostgreSQLParser.KW_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_SKIP - 462)) | (1 << (PostgreSQLParser.KW_LOCKED - 462)) | (1 << (PostgreSQLParser.KW_TIES - 462)) | (1 << (PostgreSQLParser.KW_ROLLUP - 462)) | (1 << (PostgreSQLParser.KW_CUBE - 462)) | (1 << (PostgreSQLParser.KW_GROUPING - 462)) | (1 << (PostgreSQLParser.KW_SETS - 462)) | (1 << (PostgreSQLParser.KW_TABLESAMPLE - 462)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 462)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 462)) | (1 << (PostgreSQLParser.KW_COLUMNS - 462)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 462)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 462)) | (1 << (PostgreSQLParser.KW_WITHIN - 462)) | (1 << (PostgreSQLParser.KW_FILTER - 462)) | (1 << (PostgreSQLParser.KW_GROUPS - 462)) | (1 << (PostgreSQLParser.KW_OTHERS - 462)) | (1 << (PostgreSQLParser.KW_NFC - 462)) | (1 << (PostgreSQLParser.KW_NFD - 462)) | (1 << (PostgreSQLParser.KW_NFKC - 462)) | (1 << (PostgreSQLParser.KW_NFKD - 462)) | (1 << (PostgreSQLParser.KW_UESCAPE - 462)) | (1 << (PostgreSQLParser.KW_VIEWS - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 462)) | (1 << (PostgreSQLParser.KW_DUMP - 462)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 462)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_ERROR - 462)))) !== 0) || ((((_la - 494)) & ~0x1F) === 0 && ((1 << (_la - 494)) & ((1 << (PostgreSQLParser.KW_USE_VARIABLE - 494)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 494)) | (1 << (PostgreSQLParser.KW_ALIAS - 494)) | (1 << (PostgreSQLParser.KW_CONSTANT - 494)) | (1 << (PostgreSQLParser.KW_PERFORM - 494)) | (1 << (PostgreSQLParser.KW_GET - 494)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 494)) | (1 << (PostgreSQLParser.KW_STACKED - 494)) | (1 << (PostgreSQLParser.KW_ELSIF - 494)) | (1 << (PostgreSQLParser.KW_REVERSE - 494)) | (1 << (PostgreSQLParser.KW_SLICE - 494)) | (1 << (PostgreSQLParser.KW_EXIT - 494)) | (1 << (PostgreSQLParser.KW_RETURN - 494)) | (1 << (PostgreSQLParser.KW_QUERY - 494)) | (1 << (PostgreSQLParser.KW_RAISE - 494)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 494)) | (1 << (PostgreSQLParser.KW_DEBUG - 494)) | (1 << (PostgreSQLParser.KW_LOG - 494)) | (1 << (PostgreSQLParser.KW_INFO - 494)) | (1 << (PostgreSQLParser.KW_NOTICE - 494)) | (1 << (PostgreSQLParser.KW_WARNING - 494)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 494)) | (1 << (PostgreSQLParser.KW_ASSERT - 494)) | (1 << (PostgreSQLParser.KW_OPEN - 494)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 6332; this.func_args_with_defaults_list(); } } this.state = 6335; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_args_with_defaults_list(): Func_args_with_defaults_listContext { let _localctx: Func_args_with_defaults_listContext = new Func_args_with_defaults_listContext(this._ctx, this.state); this.enterRule(_localctx, 678, PostgreSQLParser.RULE_func_args_with_defaults_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6337; this.func_arg_with_default(); this.state = 6342; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6338; this.match(PostgreSQLParser.COMMA); this.state = 6339; this.func_arg_with_default(); } } this.state = 6344; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_arg(): Func_argContext { let _localctx: Func_argContext = new Func_argContext(this._ctx, this.state); this.enterRule(_localctx, 680, PostgreSQLParser.RULE_func_arg); try { this.state = 6358; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 595, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6345; this.arg_class(); this.state = 6347; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 593, this._ctx) ) { case 1: { this.state = 6346; this.param_name(); } break; } this.state = 6349; this.func_type(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6351; this.param_name(); this.state = 6353; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 594, this._ctx) ) { case 1: { this.state = 6352; this.arg_class(); } break; } this.state = 6355; this.func_type(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6357; this.func_type(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public arg_class(): Arg_classContext { let _localctx: Arg_classContext = new Arg_classContext(this._ctx, this.state); this.enterRule(_localctx, 682, PostgreSQLParser.RULE_arg_class); try { this.state = 6367; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_IN: this.enterOuterAlt(_localctx, 1); { this.state = 6360; this.match(PostgreSQLParser.KW_IN); this.state = 6362; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 596, this._ctx) ) { case 1: { this.state = 6361; this.match(PostgreSQLParser.KW_OUT); } break; } } break; case PostgreSQLParser.KW_OUT: this.enterOuterAlt(_localctx, 2); { this.state = 6364; this.match(PostgreSQLParser.KW_OUT); } break; case PostgreSQLParser.KW_INOUT: this.enterOuterAlt(_localctx, 3); { this.state = 6365; this.match(PostgreSQLParser.KW_INOUT); } break; case PostgreSQLParser.KW_VARIADIC: this.enterOuterAlt(_localctx, 4); { this.state = 6366; this.match(PostgreSQLParser.KW_VARIADIC); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public param_name(): Param_nameContext { let _localctx: Param_nameContext = new Param_nameContext(this._ctx, this.state); this.enterRule(_localctx, 684, PostgreSQLParser.RULE_param_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 6369; this.type_function_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_return(): Func_returnContext { let _localctx: Func_returnContext = new Func_returnContext(this._ctx, this.state); this.enterRule(_localctx, 686, PostgreSQLParser.RULE_func_return); try { this.enterOuterAlt(_localctx, 1); { this.state = 6371; this.func_type(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_type(): Func_typeContext { let _localctx: Func_typeContext = new Func_typeContext(this._ctx, this.state); this.enterRule(_localctx, 688, PostgreSQLParser.RULE_func_type); try { this.state = 6385; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 598, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6373; this.typename(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6374; this.type_function_name(); this.state = 6375; this.attrs(); this.state = 6376; this.match(PostgreSQLParser.PERCENT); this.state = 6377; this.match(PostgreSQLParser.KW_TYPE); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6379; this.match(PostgreSQLParser.KW_SETOF); this.state = 6380; this.type_function_name(); this.state = 6381; this.attrs(); this.state = 6382; this.match(PostgreSQLParser.PERCENT); this.state = 6383; this.match(PostgreSQLParser.KW_TYPE); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_arg_with_default(): Func_arg_with_defaultContext { let _localctx: Func_arg_with_defaultContext = new Func_arg_with_defaultContext(this._ctx, this.state); this.enterRule(_localctx, 690, PostgreSQLParser.RULE_func_arg_with_default); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6387; this.func_arg(); this.state = 6390; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.EQUAL || _la === PostgreSQLParser.KW_DEFAULT) { { this.state = 6388; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.EQUAL || _la === PostgreSQLParser.KW_DEFAULT)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 6389; this.a_expr(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public aggr_arg(): Aggr_argContext { let _localctx: Aggr_argContext = new Aggr_argContext(this._ctx, this.state); this.enterRule(_localctx, 692, PostgreSQLParser.RULE_aggr_arg); try { this.enterOuterAlt(_localctx, 1); { this.state = 6392; this.func_arg(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public aggr_args(): Aggr_argsContext { let _localctx: Aggr_argsContext = new Aggr_argsContext(this._ctx, this.state); this.enterRule(_localctx, 694, PostgreSQLParser.RULE_aggr_args); try { this.enterOuterAlt(_localctx, 1); { this.state = 6394; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6405; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 600, this._ctx) ) { case 1: { this.state = 6395; this.match(PostgreSQLParser.STAR); } break; case 2: { this.state = 6396; this.aggr_args_list(); } break; case 3: { this.state = 6397; this.match(PostgreSQLParser.KW_ORDER); this.state = 6398; this.match(PostgreSQLParser.KW_BY); this.state = 6399; this.aggr_args_list(); } break; case 4: { this.state = 6400; this.aggr_args_list(); this.state = 6401; this.match(PostgreSQLParser.KW_ORDER); this.state = 6402; this.match(PostgreSQLParser.KW_BY); this.state = 6403; this.aggr_args_list(); } break; } this.state = 6407; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public aggr_args_list(): Aggr_args_listContext { let _localctx: Aggr_args_listContext = new Aggr_args_listContext(this._ctx, this.state); this.enterRule(_localctx, 696, PostgreSQLParser.RULE_aggr_args_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6409; this.aggr_arg(); this.state = 6414; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6410; this.match(PostgreSQLParser.COMMA); this.state = 6411; this.aggr_arg(); } } this.state = 6416; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public aggregate_with_argtypes(): Aggregate_with_argtypesContext { let _localctx: Aggregate_with_argtypesContext = new Aggregate_with_argtypesContext(this._ctx, this.state); this.enterRule(_localctx, 698, PostgreSQLParser.RULE_aggregate_with_argtypes); try { this.enterOuterAlt(_localctx, 1); { this.state = 6417; this.function_name(); this.state = 6418; this.aggr_args(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public aggregate_with_argtypes_list(): Aggregate_with_argtypes_listContext { let _localctx: Aggregate_with_argtypes_listContext = new Aggregate_with_argtypes_listContext(this._ctx, this.state); this.enterRule(_localctx, 700, PostgreSQLParser.RULE_aggregate_with_argtypes_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6420; this.aggregate_with_argtypes(); this.state = 6425; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6421; this.match(PostgreSQLParser.COMMA); this.state = 6422; this.aggregate_with_argtypes(); } } this.state = 6427; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createfunc_opt_list(): Createfunc_opt_listContext { let _localctx: Createfunc_opt_listContext = new Createfunc_opt_listContext(this._ctx, this.state); this.enterRule(_localctx, 702, PostgreSQLParser.RULE_createfunc_opt_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 6429; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 6428; this.createfunc_opt_item(); } } break; default: throw new NoViableAltException(this); } this.state = 6431; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 603, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public common_func_opt_item(): Common_func_opt_itemContext { let _localctx: Common_func_opt_itemContext = new Common_func_opt_itemContext(this._ctx, this.state); this.enterRule(_localctx, 704, PostgreSQLParser.RULE_common_func_opt_item); try { this.state = 6468; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 604, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6433; this.match(PostgreSQLParser.KW_CALLED); this.state = 6434; this.match(PostgreSQLParser.KW_ON); this.state = 6435; this.match(PostgreSQLParser.KW_NULL); this.state = 6436; this.match(PostgreSQLParser.KW_INPUT); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6437; this.match(PostgreSQLParser.KW_RETURNS); this.state = 6438; this.match(PostgreSQLParser.KW_NULL); this.state = 6439; this.match(PostgreSQLParser.KW_ON); this.state = 6440; this.match(PostgreSQLParser.KW_NULL); this.state = 6441; this.match(PostgreSQLParser.KW_INPUT); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6442; this.match(PostgreSQLParser.KW_STRICT); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 6443; this.match(PostgreSQLParser.KW_IMMUTABLE); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 6444; this.match(PostgreSQLParser.KW_STABLE); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 6445; this.match(PostgreSQLParser.KW_VOLATILE); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 6446; this.match(PostgreSQLParser.KW_EXTERNAL); this.state = 6447; this.match(PostgreSQLParser.KW_SECURITY); this.state = 6448; this.match(PostgreSQLParser.KW_DEFINER); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 6449; this.match(PostgreSQLParser.KW_EXTERNAL); this.state = 6450; this.match(PostgreSQLParser.KW_SECURITY); this.state = 6451; this.match(PostgreSQLParser.KW_INVOKER); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 6452; this.match(PostgreSQLParser.KW_SECURITY); this.state = 6453; this.match(PostgreSQLParser.KW_DEFINER); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 6454; this.match(PostgreSQLParser.KW_SECURITY); this.state = 6455; this.match(PostgreSQLParser.KW_INVOKER); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 6456; this.match(PostgreSQLParser.KW_LEAKPROOF); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 6457; this.match(PostgreSQLParser.KW_NOT); this.state = 6458; this.match(PostgreSQLParser.KW_LEAKPROOF); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 6459; this.match(PostgreSQLParser.KW_COST); this.state = 6460; this.numericonly(); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 6461; this.match(PostgreSQLParser.KW_ROWS); this.state = 6462; this.numericonly(); } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 6463; this.match(PostgreSQLParser.KW_SUPPORT); this.state = 6464; this.any_name(); } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 6465; this.functionsetresetclause(); } break; case 17: this.enterOuterAlt(_localctx, 17); { this.state = 6466; this.match(PostgreSQLParser.KW_PARALLEL); this.state = 6467; this.colid(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createfunc_opt_item(): Createfunc_opt_itemContext { let _localctx: Createfunc_opt_itemContext = new Createfunc_opt_itemContext(this._ctx, this.state); this.enterRule(_localctx, 706, PostgreSQLParser.RULE_createfunc_opt_item); try { this.state = 6495; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 606, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6470; this.match(PostgreSQLParser.KW_AS); this.state = 6471; this.sconst(); this.state = 6472; this.match(PostgreSQLParser.COMMA); this.state = 6473; this.sconst(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6475; this.match(PostgreSQLParser.KW_LANGUAGE); this.state = 6476; this.nonreservedword_or_sconst(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6477; this.match(PostgreSQLParser.KW_TRANSFORM); this.state = 6478; this.transform_type_list(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 6479; this.match(PostgreSQLParser.KW_WINDOW); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 6480; this.match(PostgreSQLParser.KW_SET); this.state = 6481; this.colid(); this.state = 6488; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_TO: { this.state = 6482; this.match(PostgreSQLParser.KW_TO); this.state = 6483; this.colid(); } break; case PostgreSQLParser.EQUAL: { this.state = 6484; this.match(PostgreSQLParser.EQUAL); this.state = 6485; this.colid(); } break; case PostgreSQLParser.KW_FROM: { this.state = 6486; this.match(PostgreSQLParser.KW_FROM); this.state = 6487; this.match(PostgreSQLParser.KW_CURRENT); } break; default: throw new NoViableAltException(this); } } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 6490; this.match(PostgreSQLParser.KW_AS); this.state = 6491; this.colid(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 6492; this.stmt(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 6493; this.common_func_opt_item(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 6494; this.colid(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public transform_type_list(): Transform_type_listContext { let _localctx: Transform_type_listContext = new Transform_type_listContext(this._ctx, this.state); this.enterRule(_localctx, 708, PostgreSQLParser.RULE_transform_type_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6497; this.match(PostgreSQLParser.KW_FOR); this.state = 6498; this.match(PostgreSQLParser.KW_TYPE); this.state = 6499; this.typename(); this.state = 6506; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6500; this.match(PostgreSQLParser.COMMA); this.state = 6501; this.match(PostgreSQLParser.KW_FOR); this.state = 6502; this.match(PostgreSQLParser.KW_TYPE); this.state = 6503; this.typename(); } } this.state = 6508; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_definition(): Opt_definitionContext { let _localctx: Opt_definitionContext = new Opt_definitionContext(this._ctx, this.state); this.enterRule(_localctx, 710, PostgreSQLParser.RULE_opt_definition); try { this.enterOuterAlt(_localctx, 1); { this.state = 6509; this.match(PostgreSQLParser.KW_WITH); this.state = 6510; this.definition(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public table_func_column(): Table_func_columnContext { let _localctx: Table_func_columnContext = new Table_func_columnContext(this._ctx, this.state); this.enterRule(_localctx, 712, PostgreSQLParser.RULE_table_func_column); try { this.enterOuterAlt(_localctx, 1); { this.state = 6512; this.column_name(); this.state = 6513; this.func_type(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public table_func_column_list(): Table_func_column_listContext { let _localctx: Table_func_column_listContext = new Table_func_column_listContext(this._ctx, this.state); this.enterRule(_localctx, 714, PostgreSQLParser.RULE_table_func_column_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6515; this.table_func_column(); this.state = 6520; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6516; this.match(PostgreSQLParser.COMMA); this.state = 6517; this.table_func_column(); } } this.state = 6522; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterfunctionstmt(): AlterfunctionstmtContext { let _localctx: AlterfunctionstmtContext = new AlterfunctionstmtContext(this._ctx, this.state); this.enterRule(_localctx, 716, PostgreSQLParser.RULE_alterfunctionstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 6523; this.match(PostgreSQLParser.KW_ALTER); this.state = 6524; this.alterFunctionTypeClause(); this.state = 6525; this.alterfunc_opt_list(); this.state = 6527; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 609, this._ctx) ) { case 1: { this.state = 6526; this.opt_restrict(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterFunctionTypeClause(): AlterFunctionTypeClauseContext { let _localctx: AlterFunctionTypeClauseContext = new AlterFunctionTypeClauseContext(this._ctx, this.state); this.enterRule(_localctx, 718, PostgreSQLParser.RULE_alterFunctionTypeClause); try { this.state = 6535; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_FUNCTION: this.enterOuterAlt(_localctx, 1); { this.state = 6529; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 6530; this.function_with_argtypes(); } break; case PostgreSQLParser.KW_PROCEDURE: this.enterOuterAlt(_localctx, 2); { this.state = 6531; this.match(PostgreSQLParser.KW_PROCEDURE); this.state = 6532; this.procedure_with_argtypes(); } break; case PostgreSQLParser.KW_ROUTINE: this.enterOuterAlt(_localctx, 3); { this.state = 6533; this.match(PostgreSQLParser.KW_ROUTINE); this.state = 6534; this.routine_with_argtypes(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterfunc_opt_list(): Alterfunc_opt_listContext { let _localctx: Alterfunc_opt_listContext = new Alterfunc_opt_listContext(this._ctx, this.state); this.enterRule(_localctx, 720, PostgreSQLParser.RULE_alterfunc_opt_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 6538; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 6537; this.common_func_opt_item(); } } break; default: throw new NoViableAltException(this); } this.state = 6540; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 611, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_restrict(): Opt_restrictContext { let _localctx: Opt_restrictContext = new Opt_restrictContext(this._ctx, this.state); this.enterRule(_localctx, 722, PostgreSQLParser.RULE_opt_restrict); try { this.enterOuterAlt(_localctx, 1); { this.state = 6542; this.match(PostgreSQLParser.KW_RESTRICT); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public removefuncstmt(): RemovefuncstmtContext { let _localctx: RemovefuncstmtContext = new RemovefuncstmtContext(this._ctx, this.state); this.enterRule(_localctx, 724, PostgreSQLParser.RULE_removefuncstmt); try { this.state = 6571; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 618, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6544; this.match(PostgreSQLParser.KW_DROP); this.state = 6545; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 6547; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 612, this._ctx) ) { case 1: { this.state = 6546; this.opt_if_exists(); } break; } this.state = 6549; this.function_with_argtypes_list(); this.state = 6551; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 613, this._ctx) ) { case 1: { this.state = 6550; this.opt_drop_behavior(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6553; this.match(PostgreSQLParser.KW_DROP); this.state = 6554; this.match(PostgreSQLParser.KW_PROCEDURE); this.state = 6556; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 614, this._ctx) ) { case 1: { this.state = 6555; this.opt_if_exists(); } break; } this.state = 6558; this.procedure_with_argtypes_list(); this.state = 6560; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 615, this._ctx) ) { case 1: { this.state = 6559; this.opt_drop_behavior(); } break; } } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6562; this.match(PostgreSQLParser.KW_DROP); this.state = 6563; this.match(PostgreSQLParser.KW_ROUTINE); this.state = 6565; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 616, this._ctx) ) { case 1: { this.state = 6564; this.opt_if_exists(); } break; } this.state = 6567; this.routine_with_argtypes_list(); this.state = 6569; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 617, this._ctx) ) { case 1: { this.state = 6568; this.opt_drop_behavior(); } break; } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public removeaggrstmt(): RemoveaggrstmtContext { let _localctx: RemoveaggrstmtContext = new RemoveaggrstmtContext(this._ctx, this.state); this.enterRule(_localctx, 726, PostgreSQLParser.RULE_removeaggrstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 6573; this.match(PostgreSQLParser.KW_DROP); this.state = 6574; this.match(PostgreSQLParser.KW_AGGREGATE); this.state = 6576; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 619, this._ctx) ) { case 1: { this.state = 6575; this.opt_if_exists(); } break; } this.state = 6578; this.aggregate_with_argtypes_list(); this.state = 6580; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 620, this._ctx) ) { case 1: { this.state = 6579; this.opt_drop_behavior(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public removeoperstmt(): RemoveoperstmtContext { let _localctx: RemoveoperstmtContext = new RemoveoperstmtContext(this._ctx, this.state); this.enterRule(_localctx, 728, PostgreSQLParser.RULE_removeoperstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 6582; this.match(PostgreSQLParser.KW_DROP); this.state = 6583; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 6585; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 621, this._ctx) ) { case 1: { this.state = 6584; this.opt_if_exists(); } break; } this.state = 6587; this.operator_with_argtypes_list(); this.state = 6589; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 622, this._ctx) ) { case 1: { this.state = 6588; this.opt_drop_behavior(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public oper_argtypes(): Oper_argtypesContext { let _localctx: Oper_argtypesContext = new Oper_argtypesContext(this._ctx, this.state); this.enterRule(_localctx, 730, PostgreSQLParser.RULE_oper_argtypes); try { this.state = 6613; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 623, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6591; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6592; this.typename(); this.state = 6593; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6595; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6596; this.typename(); this.state = 6597; this.match(PostgreSQLParser.COMMA); this.state = 6598; this.typename(); this.state = 6599; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6601; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6602; this.match(PostgreSQLParser.KW_NONE); this.state = 6603; this.match(PostgreSQLParser.COMMA); this.state = 6604; this.typename(); this.state = 6605; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 6607; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6608; this.typename(); this.state = 6609; this.match(PostgreSQLParser.COMMA); this.state = 6610; this.match(PostgreSQLParser.KW_NONE); this.state = 6611; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public any_operator(): Any_operatorContext { let _localctx: Any_operatorContext = new Any_operatorContext(this._ctx, this.state); this.enterRule(_localctx, 732, PostgreSQLParser.RULE_any_operator); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6620; this._errHandler.sync(this); _la = this._input.LA(1); while (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (PostgreSQLParser.KW_TABLE - 92)) | (1 << (PostgreSQLParser.KW_IS - 92)) | (1 << (PostgreSQLParser.KW_OUTER - 92)))) !== 0) || ((((_la - 124)) & ~0x1F) === 0 && ((1 << (_la - 124)) & ((1 << (PostgreSQLParser.KW_OVER - 124)) | (1 << (PostgreSQLParser.KW_ABORT - 124)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 124)) | (1 << (PostgreSQLParser.KW_ACCESS - 124)) | (1 << (PostgreSQLParser.KW_ACTION - 124)) | (1 << (PostgreSQLParser.KW_ADD - 124)) | (1 << (PostgreSQLParser.KW_ADMIN - 124)) | (1 << (PostgreSQLParser.KW_AFTER - 124)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 124)) | (1 << (PostgreSQLParser.KW_ALSO - 124)) | (1 << (PostgreSQLParser.KW_ALTER - 124)) | (1 << (PostgreSQLParser.KW_ALWAYS - 124)) | (1 << (PostgreSQLParser.KW_ASSERTION - 124)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 124)) | (1 << (PostgreSQLParser.KW_AT - 124)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 124)) | (1 << (PostgreSQLParser.KW_BACKWARD - 124)) | (1 << (PostgreSQLParser.KW_BEFORE - 124)) | (1 << (PostgreSQLParser.KW_BEGIN - 124)) | (1 << (PostgreSQLParser.KW_BY - 124)) | (1 << (PostgreSQLParser.KW_CACHE - 124)) | (1 << (PostgreSQLParser.KW_CALLED - 124)) | (1 << (PostgreSQLParser.KW_CASCADE - 124)) | (1 << (PostgreSQLParser.KW_CASCADED - 124)) | (1 << (PostgreSQLParser.KW_CATALOG - 124)) | (1 << (PostgreSQLParser.KW_CHAIN - 124)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 124)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 124)))) !== 0) || ((((_la - 156)) & ~0x1F) === 0 && ((1 << (_la - 156)) & ((1 << (PostgreSQLParser.KW_CLASS - 156)) | (1 << (PostgreSQLParser.KW_CLOSE - 156)) | (1 << (PostgreSQLParser.KW_CLUSTER - 156)) | (1 << (PostgreSQLParser.KW_COMMENT - 156)) | (1 << (PostgreSQLParser.KW_COMMENTS - 156)) | (1 << (PostgreSQLParser.KW_COMMIT - 156)) | (1 << (PostgreSQLParser.KW_COMMITTED - 156)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 156)) | (1 << (PostgreSQLParser.KW_CONNECTION - 156)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 156)) | (1 << (PostgreSQLParser.KW_CONTENT - 156)) | (1 << (PostgreSQLParser.KW_CONTINUE - 156)) | (1 << (PostgreSQLParser.KW_CONVERSION - 156)) | (1 << (PostgreSQLParser.KW_COPY - 156)) | (1 << (PostgreSQLParser.KW_COST - 156)) | (1 << (PostgreSQLParser.KW_CSV - 156)) | (1 << (PostgreSQLParser.KW_CURSOR - 156)) | (1 << (PostgreSQLParser.KW_CYCLE - 156)) | (1 << (PostgreSQLParser.KW_DATA - 156)) | (1 << (PostgreSQLParser.KW_DATABASE - 156)) | (1 << (PostgreSQLParser.KW_DAY - 156)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 156)) | (1 << (PostgreSQLParser.KW_DECLARE - 156)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 156)) | (1 << (PostgreSQLParser.KW_DEFERRED - 156)) | (1 << (PostgreSQLParser.KW_DEFINER - 156)) | (1 << (PostgreSQLParser.KW_DELETE - 156)) | (1 << (PostgreSQLParser.KW_DELIMITER - 156)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 156)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 156)) | (1 << (PostgreSQLParser.KW_DISABLE - 156)) | (1 << (PostgreSQLParser.KW_DISCARD - 156)))) !== 0) || ((((_la - 188)) & ~0x1F) === 0 && ((1 << (_la - 188)) & ((1 << (PostgreSQLParser.KW_DOCUMENT - 188)) | (1 << (PostgreSQLParser.KW_DOMAIN - 188)) | (1 << (PostgreSQLParser.KW_DOUBLE - 188)) | (1 << (PostgreSQLParser.KW_DROP - 188)) | (1 << (PostgreSQLParser.KW_EACH - 188)) | (1 << (PostgreSQLParser.KW_ENABLE - 188)) | (1 << (PostgreSQLParser.KW_ENCODING - 188)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 188)) | (1 << (PostgreSQLParser.KW_ENUM - 188)) | (1 << (PostgreSQLParser.KW_ESCAPE - 188)) | (1 << (PostgreSQLParser.KW_EVENT - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 188)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 188)) | (1 << (PostgreSQLParser.KW_EXECUTE - 188)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 188)) | (1 << (PostgreSQLParser.KW_EXTENSION - 188)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 188)) | (1 << (PostgreSQLParser.KW_FAMILY - 188)) | (1 << (PostgreSQLParser.KW_FIRST - 188)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 188)) | (1 << (PostgreSQLParser.KW_FORCE - 188)) | (1 << (PostgreSQLParser.KW_FORWARD - 188)) | (1 << (PostgreSQLParser.KW_FUNCTION - 188)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 188)) | (1 << (PostgreSQLParser.KW_GLOBAL - 188)) | (1 << (PostgreSQLParser.KW_GRANTED - 188)) | (1 << (PostgreSQLParser.KW_HANDLER - 188)) | (1 << (PostgreSQLParser.KW_HEADER - 188)) | (1 << (PostgreSQLParser.KW_HOLD - 188)) | (1 << (PostgreSQLParser.KW_HOUR - 188)) | (1 << (PostgreSQLParser.KW_IDENTITY - 188)))) !== 0) || ((((_la - 220)) & ~0x1F) === 0 && ((1 << (_la - 220)) & ((1 << (PostgreSQLParser.KW_IF - 220)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 220)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 220)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 220)) | (1 << (PostgreSQLParser.KW_INCLUDING - 220)) | (1 << (PostgreSQLParser.KW_INCREMENT - 220)) | (1 << (PostgreSQLParser.KW_INDEX - 220)) | (1 << (PostgreSQLParser.KW_INDEXES - 220)) | (1 << (PostgreSQLParser.KW_INHERIT - 220)) | (1 << (PostgreSQLParser.KW_INHERITS - 220)) | (1 << (PostgreSQLParser.KW_INLINE - 220)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 220)) | (1 << (PostgreSQLParser.KW_INSERT - 220)) | (1 << (PostgreSQLParser.KW_INSTEAD - 220)) | (1 << (PostgreSQLParser.KW_INVOKER - 220)) | (1 << (PostgreSQLParser.KW_ISOLATION - 220)) | (1 << (PostgreSQLParser.KW_KEY - 220)) | (1 << (PostgreSQLParser.KW_LABEL - 220)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 220)) | (1 << (PostgreSQLParser.KW_LARGE - 220)) | (1 << (PostgreSQLParser.KW_LAST - 220)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 220)) | (1 << (PostgreSQLParser.KW_LEVEL - 220)))) !== 0) || ((((_la - 252)) & ~0x1F) === 0 && ((1 << (_la - 252)) & ((1 << (PostgreSQLParser.KW_LISTEN - 252)) | (1 << (PostgreSQLParser.KW_LOAD - 252)) | (1 << (PostgreSQLParser.KW_LOCAL - 252)) | (1 << (PostgreSQLParser.KW_LOCATION - 252)) | (1 << (PostgreSQLParser.KW_LOCK - 252)) | (1 << (PostgreSQLParser.KW_MAPPING - 252)) | (1 << (PostgreSQLParser.KW_MATCH - 252)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 252)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 252)) | (1 << (PostgreSQLParser.KW_MINUTE - 252)) | (1 << (PostgreSQLParser.KW_MINVALUE - 252)) | (1 << (PostgreSQLParser.KW_MODE - 252)) | (1 << (PostgreSQLParser.KW_MONTH - 252)) | (1 << (PostgreSQLParser.KW_MOVE - 252)) | (1 << (PostgreSQLParser.KW_NAME - 252)) | (1 << (PostgreSQLParser.KW_NAMES - 252)) | (1 << (PostgreSQLParser.KW_NEXT - 252)) | (1 << (PostgreSQLParser.KW_NO - 252)) | (1 << (PostgreSQLParser.KW_NOTHING - 252)) | (1 << (PostgreSQLParser.KW_NOTIFY - 252)) | (1 << (PostgreSQLParser.KW_NOWAIT - 252)) | (1 << (PostgreSQLParser.KW_NULLS - 252)) | (1 << (PostgreSQLParser.KW_OBJECT - 252)) | (1 << (PostgreSQLParser.KW_OF - 252)) | (1 << (PostgreSQLParser.KW_OFF - 252)) | (1 << (PostgreSQLParser.KW_OIDS - 252)) | (1 << (PostgreSQLParser.KW_OPERATOR - 252)) | (1 << (PostgreSQLParser.KW_OPTION - 252)) | (1 << (PostgreSQLParser.KW_OPTIONS - 252)) | (1 << (PostgreSQLParser.KW_OWNED - 252)) | (1 << (PostgreSQLParser.KW_OWNER - 252)) | (1 << (PostgreSQLParser.KW_PARSER - 252)))) !== 0) || ((((_la - 284)) & ~0x1F) === 0 && ((1 << (_la - 284)) & ((1 << (PostgreSQLParser.KW_PARTIAL - 284)) | (1 << (PostgreSQLParser.KW_PARTITION - 284)) | (1 << (PostgreSQLParser.KW_PASSING - 284)) | (1 << (PostgreSQLParser.KW_PASSWORD - 284)) | (1 << (PostgreSQLParser.KW_PLANS - 284)) | (1 << (PostgreSQLParser.KW_PRECEDING - 284)) | (1 << (PostgreSQLParser.KW_PREPARE - 284)) | (1 << (PostgreSQLParser.KW_PREPARED - 284)) | (1 << (PostgreSQLParser.KW_PRESERVE - 284)) | (1 << (PostgreSQLParser.KW_PRIOR - 284)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 284)) | (1 << (PostgreSQLParser.KW_PROGRAM - 284)) | (1 << (PostgreSQLParser.KW_QUOTE - 284)) | (1 << (PostgreSQLParser.KW_RANGE - 284)) | (1 << (PostgreSQLParser.KW_READ - 284)) | (1 << (PostgreSQLParser.KW_REASSIGN - 284)) | (1 << (PostgreSQLParser.KW_RECHECK - 284)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 284)) | (1 << (PostgreSQLParser.KW_REF - 284)) | (1 << (PostgreSQLParser.KW_REFRESH - 284)) | (1 << (PostgreSQLParser.KW_REINDEX - 284)) | (1 << (PostgreSQLParser.KW_RELATIVE - 284)) | (1 << (PostgreSQLParser.KW_RELEASE - 284)) | (1 << (PostgreSQLParser.KW_RENAME - 284)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 284)) | (1 << (PostgreSQLParser.KW_REPLACE - 284)) | (1 << (PostgreSQLParser.KW_REPLICA - 284)) | (1 << (PostgreSQLParser.KW_RESET - 284)) | (1 << (PostgreSQLParser.KW_RESTART - 284)) | (1 << (PostgreSQLParser.KW_RESTRICT - 284)))) !== 0) || ((((_la - 316)) & ~0x1F) === 0 && ((1 << (_la - 316)) & ((1 << (PostgreSQLParser.KW_RETURNS - 316)) | (1 << (PostgreSQLParser.KW_REVOKE - 316)) | (1 << (PostgreSQLParser.KW_ROLE - 316)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 316)) | (1 << (PostgreSQLParser.KW_ROWS - 316)) | (1 << (PostgreSQLParser.KW_RULE - 316)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 316)) | (1 << (PostgreSQLParser.KW_SCHEMA - 316)) | (1 << (PostgreSQLParser.KW_SCROLL - 316)) | (1 << (PostgreSQLParser.KW_SEARCH - 316)) | (1 << (PostgreSQLParser.KW_SECOND - 316)) | (1 << (PostgreSQLParser.KW_SECURITY - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 316)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 316)) | (1 << (PostgreSQLParser.KW_SERVER - 316)) | (1 << (PostgreSQLParser.KW_SESSION - 316)) | (1 << (PostgreSQLParser.KW_SET - 316)) | (1 << (PostgreSQLParser.KW_SHARE - 316)) | (1 << (PostgreSQLParser.KW_SHOW - 316)) | (1 << (PostgreSQLParser.KW_SIMPLE - 316)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 316)) | (1 << (PostgreSQLParser.KW_STABLE - 316)) | (1 << (PostgreSQLParser.KW_STANDALONE - 316)) | (1 << (PostgreSQLParser.KW_START - 316)) | (1 << (PostgreSQLParser.KW_STATEMENT - 316)) | (1 << (PostgreSQLParser.KW_STATISTICS - 316)) | (1 << (PostgreSQLParser.KW_STDIN - 316)) | (1 << (PostgreSQLParser.KW_STDOUT - 316)) | (1 << (PostgreSQLParser.KW_STORAGE - 316)) | (1 << (PostgreSQLParser.KW_STRICT - 316)) | (1 << (PostgreSQLParser.KW_STRIP - 316)))) !== 0) || ((((_la - 348)) & ~0x1F) === 0 && ((1 << (_la - 348)) & ((1 << (PostgreSQLParser.KW_SYSID - 348)) | (1 << (PostgreSQLParser.KW_SYSTEM - 348)) | (1 << (PostgreSQLParser.KW_TABLES - 348)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 348)) | (1 << (PostgreSQLParser.KW_TEMP - 348)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 348)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 348)) | (1 << (PostgreSQLParser.KW_TEXT - 348)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 348)) | (1 << (PostgreSQLParser.KW_TRIGGER - 348)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 348)) | (1 << (PostgreSQLParser.KW_TRUSTED - 348)) | (1 << (PostgreSQLParser.KW_TYPE - 348)) | (1 << (PostgreSQLParser.KW_TYPES - 348)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 348)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 348)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 348)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 348)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 348)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 348)) | (1 << (PostgreSQLParser.KW_UNTIL - 348)) | (1 << (PostgreSQLParser.KW_UPDATE - 348)) | (1 << (PostgreSQLParser.KW_VACUUM - 348)) | (1 << (PostgreSQLParser.KW_VALID - 348)) | (1 << (PostgreSQLParser.KW_VALIDATE - 348)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 348)) | (1 << (PostgreSQLParser.KW_VARYING - 348)) | (1 << (PostgreSQLParser.KW_VERSION - 348)) | (1 << (PostgreSQLParser.KW_VIEW - 348)) | (1 << (PostgreSQLParser.KW_VOLATILE - 348)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 348)) | (1 << (PostgreSQLParser.KW_WITHOUT - 348)))) !== 0) || ((((_la - 380)) & ~0x1F) === 0 && ((1 << (_la - 380)) & ((1 << (PostgreSQLParser.KW_WORK - 380)) | (1 << (PostgreSQLParser.KW_WRAPPER - 380)) | (1 << (PostgreSQLParser.KW_WRITE - 380)) | (1 << (PostgreSQLParser.KW_XML - 380)) | (1 << (PostgreSQLParser.KW_YEAR - 380)) | (1 << (PostgreSQLParser.KW_YES - 380)) | (1 << (PostgreSQLParser.KW_ZONE - 380)) | (1 << (PostgreSQLParser.KW_BETWEEN - 380)) | (1 << (PostgreSQLParser.KW_BIGINT - 380)) | (1 << (PostgreSQLParser.KW_BIT - 380)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 380)) | (1 << (PostgreSQLParser.KW_CHAR - 380)) | (1 << (PostgreSQLParser.KW_CHARACTER - 380)) | (1 << (PostgreSQLParser.KW_COALESCE - 380)) | (1 << (PostgreSQLParser.KW_DEC - 380)) | (1 << (PostgreSQLParser.KW_DECIMAL - 380)) | (1 << (PostgreSQLParser.KW_EXISTS - 380)) | (1 << (PostgreSQLParser.KW_EXTRACT - 380)) | (1 << (PostgreSQLParser.KW_FLOAT - 380)) | (1 << (PostgreSQLParser.KW_GREATEST - 380)) | (1 << (PostgreSQLParser.KW_INOUT - 380)) | (1 << (PostgreSQLParser.KW_INT - 380)) | (1 << (PostgreSQLParser.KW_INTEGER - 380)) | (1 << (PostgreSQLParser.KW_INTERVAL - 380)) | (1 << (PostgreSQLParser.KW_LEAST - 380)) | (1 << (PostgreSQLParser.KW_NATIONAL - 380)) | (1 << (PostgreSQLParser.KW_NCHAR - 380)) | (1 << (PostgreSQLParser.KW_NONE - 380)) | (1 << (PostgreSQLParser.KW_NULLIF - 380)) | (1 << (PostgreSQLParser.KW_NUMERIC - 380)) | (1 << (PostgreSQLParser.KW_OVERLAY - 380)) | (1 << (PostgreSQLParser.KW_POSITION - 380)))) !== 0) || ((((_la - 412)) & ~0x1F) === 0 && ((1 << (_la - 412)) & ((1 << (PostgreSQLParser.KW_PRECISION - 412)) | (1 << (PostgreSQLParser.KW_REAL - 412)) | (1 << (PostgreSQLParser.KW_ROW - 412)) | (1 << (PostgreSQLParser.KW_SETOF - 412)) | (1 << (PostgreSQLParser.KW_SMALLINT - 412)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 412)) | (1 << (PostgreSQLParser.KW_TIME - 412)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 412)) | (1 << (PostgreSQLParser.KW_TREAT - 412)) | (1 << (PostgreSQLParser.KW_TRIM - 412)) | (1 << (PostgreSQLParser.KW_VALUES - 412)) | (1 << (PostgreSQLParser.KW_VARCHAR - 412)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 412)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 412)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 412)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 412)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 412)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 412)) | (1 << (PostgreSQLParser.KW_XMLPI - 412)) | (1 << (PostgreSQLParser.KW_XMLROOT - 412)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 412)) | (1 << (PostgreSQLParser.KW_CALL - 412)) | (1 << (PostgreSQLParser.KW_CURRENT - 412)) | (1 << (PostgreSQLParser.KW_ATTACH - 412)) | (1 << (PostgreSQLParser.KW_DETACH - 412)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 412)) | (1 << (PostgreSQLParser.KW_GENERATED - 412)) | (1 << (PostgreSQLParser.KW_LOGGED - 412)) | (1 << (PostgreSQLParser.KW_STORED - 412)) | (1 << (PostgreSQLParser.KW_INCLUDE - 412)) | (1 << (PostgreSQLParser.KW_ROUTINE - 412)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 412)))) !== 0) || ((((_la - 444)) & ~0x1F) === 0 && ((1 << (_la - 444)) & ((1 << (PostgreSQLParser.KW_IMPORT - 444)) | (1 << (PostgreSQLParser.KW_POLICY - 444)) | (1 << (PostgreSQLParser.KW_METHOD - 444)) | (1 << (PostgreSQLParser.KW_REFERENCING - 444)) | (1 << (PostgreSQLParser.KW_NEW - 444)) | (1 << (PostgreSQLParser.KW_OLD - 444)) | (1 << (PostgreSQLParser.KW_VALUE - 444)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 444)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 444)) | (1 << (PostgreSQLParser.KW_OUT - 444)) | (1 << (PostgreSQLParser.KW_ROUTINES - 444)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 444)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 444)) | (1 << (PostgreSQLParser.KW_INPUT - 444)) | (1 << (PostgreSQLParser.KW_SUPPORT - 444)) | (1 << (PostgreSQLParser.KW_PARALLEL - 444)) | (1 << (PostgreSQLParser.KW_SQL - 444)) | (1 << (PostgreSQLParser.KW_DEPENDS - 444)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 444)) | (1 << (PostgreSQLParser.KW_CONFLICT - 444)) | (1 << (PostgreSQLParser.KW_SKIP - 444)) | (1 << (PostgreSQLParser.KW_LOCKED - 444)) | (1 << (PostgreSQLParser.KW_TIES - 444)) | (1 << (PostgreSQLParser.KW_ROLLUP - 444)) | (1 << (PostgreSQLParser.KW_CUBE - 444)) | (1 << (PostgreSQLParser.KW_GROUPING - 444)) | (1 << (PostgreSQLParser.KW_SETS - 444)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 444)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 444)) | (1 << (PostgreSQLParser.KW_COLUMNS - 444)))) !== 0) || ((((_la - 476)) & ~0x1F) === 0 && ((1 << (_la - 476)) & ((1 << (PostgreSQLParser.KW_XMLNAMESPACES - 476)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 476)) | (1 << (PostgreSQLParser.KW_WITHIN - 476)) | (1 << (PostgreSQLParser.KW_FILTER - 476)) | (1 << (PostgreSQLParser.KW_GROUPS - 476)) | (1 << (PostgreSQLParser.KW_OTHERS - 476)) | (1 << (PostgreSQLParser.KW_NFC - 476)) | (1 << (PostgreSQLParser.KW_NFD - 476)) | (1 << (PostgreSQLParser.KW_NFKC - 476)) | (1 << (PostgreSQLParser.KW_NFKD - 476)) | (1 << (PostgreSQLParser.KW_UESCAPE - 476)) | (1 << (PostgreSQLParser.KW_VIEWS - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 476)) | (1 << (PostgreSQLParser.KW_DUMP - 476)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 476)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 476)) | (1 << (PostgreSQLParser.KW_ERROR - 476)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 476)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 476)) | (1 << (PostgreSQLParser.KW_ALIAS - 476)) | (1 << (PostgreSQLParser.KW_CONSTANT - 476)) | (1 << (PostgreSQLParser.KW_PERFORM - 476)) | (1 << (PostgreSQLParser.KW_GET - 476)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 476)) | (1 << (PostgreSQLParser.KW_STACKED - 476)) | (1 << (PostgreSQLParser.KW_ELSIF - 476)) | (1 << (PostgreSQLParser.KW_REVERSE - 476)) | (1 << (PostgreSQLParser.KW_SLICE - 476)) | (1 << (PostgreSQLParser.KW_EXIT - 476)))) !== 0) || ((((_la - 508)) & ~0x1F) === 0 && ((1 << (_la - 508)) & ((1 << (PostgreSQLParser.KW_RETURN - 508)) | (1 << (PostgreSQLParser.KW_QUERY - 508)) | (1 << (PostgreSQLParser.KW_RAISE - 508)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 508)) | (1 << (PostgreSQLParser.KW_DEBUG - 508)) | (1 << (PostgreSQLParser.KW_LOG - 508)) | (1 << (PostgreSQLParser.KW_INFO - 508)) | (1 << (PostgreSQLParser.KW_NOTICE - 508)) | (1 << (PostgreSQLParser.KW_WARNING - 508)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 508)) | (1 << (PostgreSQLParser.KW_ASSERT - 508)) | (1 << (PostgreSQLParser.KW_OPEN - 508)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { { this.state = 6615; this.colid(); this.state = 6616; this.match(PostgreSQLParser.DOT); } } this.state = 6622; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 6623; this.all_op(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public operator_with_argtypes_list(): Operator_with_argtypes_listContext { let _localctx: Operator_with_argtypes_listContext = new Operator_with_argtypes_listContext(this._ctx, this.state); this.enterRule(_localctx, 734, PostgreSQLParser.RULE_operator_with_argtypes_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6625; this.operator_with_argtypes(); this.state = 6630; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6626; this.match(PostgreSQLParser.COMMA); this.state = 6627; this.operator_with_argtypes(); } } this.state = 6632; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public operator_with_argtypes(): Operator_with_argtypesContext { let _localctx: Operator_with_argtypesContext = new Operator_with_argtypesContext(this._ctx, this.state); this.enterRule(_localctx, 736, PostgreSQLParser.RULE_operator_with_argtypes); try { this.enterOuterAlt(_localctx, 1); { this.state = 6633; this.any_operator(); this.state = 6634; this.oper_argtypes(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public dostmt(): DostmtContext { let _localctx: DostmtContext = new DostmtContext(this._ctx, this.state); this.enterRule(_localctx, 738, PostgreSQLParser.RULE_dostmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 6636; this.match(PostgreSQLParser.KW_DO); this.state = 6637; this.dostmt_opt_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public dostmt_opt_list(): Dostmt_opt_listContext { let _localctx: Dostmt_opt_listContext = new Dostmt_opt_listContext(this._ctx, this.state); this.enterRule(_localctx, 740, PostgreSQLParser.RULE_dostmt_opt_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 6640; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 6639; this.dostmt_opt_item(); } } break; default: throw new NoViableAltException(this); } this.state = 6642; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 626, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public dostmt_opt_item(): Dostmt_opt_itemContext { let _localctx: Dostmt_opt_itemContext = new Dostmt_opt_itemContext(this._ctx, this.state); this.enterRule(_localctx, 742, PostgreSQLParser.RULE_dostmt_opt_item); try { this.state = 6647; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 6644; this.sconst(); } break; case PostgreSQLParser.KW_LANGUAGE: this.enterOuterAlt(_localctx, 2); { this.state = 6645; this.match(PostgreSQLParser.KW_LANGUAGE); this.state = 6646; this.nonreservedword_or_sconst(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createcaststmt(): CreatecaststmtContext { let _localctx: CreatecaststmtContext = new CreatecaststmtContext(this._ctx, this.state); this.enterRule(_localctx, 744, PostgreSQLParser.RULE_createcaststmt); try { this.state = 6686; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 631, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6649; this.match(PostgreSQLParser.KW_CREATE); this.state = 6650; this.match(PostgreSQLParser.KW_CAST); this.state = 6651; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6652; this.typename(); this.state = 6653; this.match(PostgreSQLParser.KW_AS); this.state = 6654; this.typename(); this.state = 6655; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 6656; this.match(PostgreSQLParser.KW_WITH); this.state = 6657; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 6658; this.function_with_argtypes(); this.state = 6660; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 628, this._ctx) ) { case 1: { this.state = 6659; this.cast_context(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6662; this.match(PostgreSQLParser.KW_CREATE); this.state = 6663; this.match(PostgreSQLParser.KW_CAST); this.state = 6664; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6665; this.typename(); this.state = 6666; this.match(PostgreSQLParser.KW_AS); this.state = 6667; this.typename(); this.state = 6668; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 6669; this.match(PostgreSQLParser.KW_WITHOUT); this.state = 6670; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 6672; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 629, this._ctx) ) { case 1: { this.state = 6671; this.cast_context(); } break; } } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6674; this.match(PostgreSQLParser.KW_CREATE); this.state = 6675; this.match(PostgreSQLParser.KW_CAST); this.state = 6676; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6677; this.typename(); this.state = 6678; this.match(PostgreSQLParser.KW_AS); this.state = 6679; this.typename(); this.state = 6680; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 6681; this.match(PostgreSQLParser.KW_WITH); this.state = 6682; this.match(PostgreSQLParser.KW_INOUT); this.state = 6684; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 630, this._ctx) ) { case 1: { this.state = 6683; this.cast_context(); } break; } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public cast_context(): Cast_contextContext { let _localctx: Cast_contextContext = new Cast_contextContext(this._ctx, this.state); this.enterRule(_localctx, 746, PostgreSQLParser.RULE_cast_context); try { this.state = 6692; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 632, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6688; this.match(PostgreSQLParser.KW_AS); this.state = 6689; this.match(PostgreSQLParser.KW_IMPLICIT); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6690; this.match(PostgreSQLParser.KW_AS); this.state = 6691; this.match(PostgreSQLParser.KW_ASSIGNMENT); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_if_exists(): Opt_if_existsContext { let _localctx: Opt_if_existsContext = new Opt_if_existsContext(this._ctx, this.state); this.enterRule(_localctx, 748, PostgreSQLParser.RULE_opt_if_exists); try { this.enterOuterAlt(_localctx, 1); { this.state = 6694; this.match(PostgreSQLParser.KW_IF); this.state = 6695; this.match(PostgreSQLParser.KW_EXISTS); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createtransformstmt(): CreatetransformstmtContext { let _localctx: CreatetransformstmtContext = new CreatetransformstmtContext(this._ctx, this.state); this.enterRule(_localctx, 750, PostgreSQLParser.RULE_createtransformstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6697; this.match(PostgreSQLParser.KW_CREATE); this.state = 6699; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OR) { { this.state = 6698; this.opt_or_replace(); } } this.state = 6701; this.match(PostgreSQLParser.KW_TRANSFORM); this.state = 6702; this.match(PostgreSQLParser.KW_FOR); this.state = 6703; this.typename(); this.state = 6704; this.match(PostgreSQLParser.KW_LANGUAGE); this.state = 6705; this.name(); this.state = 6706; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6707; this.transform_element_list(); this.state = 6708; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public transform_element_list(): Transform_element_listContext { let _localctx: Transform_element_listContext = new Transform_element_listContext(this._ctx, this.state); this.enterRule(_localctx, 752, PostgreSQLParser.RULE_transform_element_list); try { this.state = 6744; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 634, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6710; this.match(PostgreSQLParser.KW_FROM); this.state = 6711; this.match(PostgreSQLParser.KW_SQL); this.state = 6712; this.match(PostgreSQLParser.KW_WITH); this.state = 6713; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 6714; this.function_with_argtypes(); this.state = 6715; this.match(PostgreSQLParser.COMMA); this.state = 6716; this.match(PostgreSQLParser.KW_TO); this.state = 6717; this.match(PostgreSQLParser.KW_SQL); this.state = 6718; this.match(PostgreSQLParser.KW_WITH); this.state = 6719; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 6720; this.function_with_argtypes(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6722; this.match(PostgreSQLParser.KW_TO); this.state = 6723; this.match(PostgreSQLParser.KW_SQL); this.state = 6724; this.match(PostgreSQLParser.KW_WITH); this.state = 6725; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 6726; this.function_with_argtypes(); this.state = 6727; this.match(PostgreSQLParser.COMMA); this.state = 6728; this.match(PostgreSQLParser.KW_FROM); this.state = 6729; this.match(PostgreSQLParser.KW_SQL); this.state = 6730; this.match(PostgreSQLParser.KW_WITH); this.state = 6731; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 6732; this.function_with_argtypes(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6734; this.match(PostgreSQLParser.KW_FROM); this.state = 6735; this.match(PostgreSQLParser.KW_SQL); this.state = 6736; this.match(PostgreSQLParser.KW_WITH); this.state = 6737; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 6738; this.function_with_argtypes(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 6739; this.match(PostgreSQLParser.KW_TO); this.state = 6740; this.match(PostgreSQLParser.KW_SQL); this.state = 6741; this.match(PostgreSQLParser.KW_WITH); this.state = 6742; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 6743; this.function_with_argtypes(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public reindexstmt(): ReindexstmtContext { let _localctx: ReindexstmtContext = new ReindexstmtContext(this._ctx, this.state); this.enterRule(_localctx, 754, PostgreSQLParser.RULE_reindexstmt); try { this.state = 6762; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 635, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6746; this.match(PostgreSQLParser.KW_REINDEX); this.state = 6747; this.reindex_target_type(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6748; this.match(PostgreSQLParser.KW_REINDEX); this.state = 6749; this.reindex_target_multitable(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6750; this.match(PostgreSQLParser.KW_REINDEX); this.state = 6751; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6752; this.reindex_option_list(); this.state = 6753; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 6754; this.reindex_target_type(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 6756; this.match(PostgreSQLParser.KW_REINDEX); this.state = 6757; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 6758; this.reindex_option_list(); this.state = 6759; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 6760; this.reindex_target_multitable(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public reindex_target_type(): Reindex_target_typeContext { let _localctx: Reindex_target_typeContext = new Reindex_target_typeContext(this._ctx, this.state); this.enterRule(_localctx, 756, PostgreSQLParser.RULE_reindex_target_type); let _la: number; try { this.state = 6774; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_INDEX: this.enterOuterAlt(_localctx, 1); { { this.state = 6764; this.match(PostgreSQLParser.KW_INDEX); this.state = 6766; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_CONCURRENTLY) { { this.state = 6765; this.opt_concurrently(); } } this.state = 6768; this.qualified_name(); } } break; case PostgreSQLParser.KW_TABLE: this.enterOuterAlt(_localctx, 2); { { this.state = 6769; this.match(PostgreSQLParser.KW_TABLE); this.state = 6771; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_CONCURRENTLY) { { this.state = 6770; this.opt_concurrently(); } } this.state = 6773; this.table_name(); } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public reindex_target_multitable(): Reindex_target_multitableContext { let _localctx: Reindex_target_multitableContext = new Reindex_target_multitableContext(this._ctx, this.state); this.enterRule(_localctx, 758, PostgreSQLParser.RULE_reindex_target_multitable); let _la: number; try { this.state = 6791; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_SCHEMA: this.enterOuterAlt(_localctx, 1); { { this.state = 6776; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 6778; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_CONCURRENTLY) { { this.state = 6777; this.opt_concurrently(); } } this.state = 6780; this.schema_name(); } } break; case PostgreSQLParser.KW_SYSTEM: this.enterOuterAlt(_localctx, 2); { { this.state = 6781; this.match(PostgreSQLParser.KW_SYSTEM); this.state = 6783; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_CONCURRENTLY) { { this.state = 6782; this.opt_concurrently(); } } this.state = 6785; this.name(); } } break; case PostgreSQLParser.KW_DATABASE: this.enterOuterAlt(_localctx, 3); { { this.state = 6786; this.match(PostgreSQLParser.KW_DATABASE); this.state = 6788; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_CONCURRENTLY) { { this.state = 6787; this.opt_concurrently(); } } this.state = 6790; this.database_name(); } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public reindex_option_list(): Reindex_option_listContext { let _localctx: Reindex_option_listContext = new Reindex_option_listContext(this._ctx, this.state); this.enterRule(_localctx, 760, PostgreSQLParser.RULE_reindex_option_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 6793; this.reindex_option_elem(); this.state = 6798; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 6794; this.match(PostgreSQLParser.COMMA); this.state = 6795; this.reindex_option_elem(); } } this.state = 6800; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public reindex_option_elem(): Reindex_option_elemContext { let _localctx: Reindex_option_elemContext = new Reindex_option_elemContext(this._ctx, this.state); this.enterRule(_localctx, 762, PostgreSQLParser.RULE_reindex_option_elem); try { this.enterOuterAlt(_localctx, 1); { this.state = 6801; this.match(PostgreSQLParser.KW_VERBOSE); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public altertblspcstmt(): AltertblspcstmtContext { let _localctx: AltertblspcstmtContext = new AltertblspcstmtContext(this._ctx, this.state); this.enterRule(_localctx, 764, PostgreSQLParser.RULE_altertblspcstmt); try { this.state = 6815; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 644, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6803; this.match(PostgreSQLParser.KW_ALTER); this.state = 6804; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 6805; this.tablespace_name(); this.state = 6806; this.match(PostgreSQLParser.KW_SET); this.state = 6807; this.reloptions(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6809; this.match(PostgreSQLParser.KW_ALTER); this.state = 6810; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 6811; this.tablespace_name(); this.state = 6812; this.match(PostgreSQLParser.KW_RESET); this.state = 6813; this.reloptions(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public renamestmt(): RenamestmtContext { let _localctx: RenamestmtContext = new RenamestmtContext(this._ctx, this.state); this.enterRule(_localctx, 766, PostgreSQLParser.RULE_renamestmt); let _la: number; try { this.state = 7208; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 663, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 6817; this.match(PostgreSQLParser.KW_ALTER); this.state = 6818; this.match(PostgreSQLParser.KW_AGGREGATE); this.state = 6819; this.aggregate_with_argtypes(); this.state = 6820; this.match(PostgreSQLParser.KW_RENAME); this.state = 6821; this.match(PostgreSQLParser.KW_TO); this.state = 6822; this.name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 6824; this.match(PostgreSQLParser.KW_ALTER); this.state = 6825; this.match(PostgreSQLParser.KW_COLLATION); this.state = 6826; this.any_name(); this.state = 6827; this.match(PostgreSQLParser.KW_RENAME); this.state = 6828; this.match(PostgreSQLParser.KW_TO); this.state = 6829; this.name(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 6831; this.match(PostgreSQLParser.KW_ALTER); this.state = 6832; this.match(PostgreSQLParser.KW_CONVERSION); this.state = 6833; this.any_name(); this.state = 6834; this.match(PostgreSQLParser.KW_RENAME); this.state = 6835; this.match(PostgreSQLParser.KW_TO); this.state = 6836; this.name(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 6838; this.match(PostgreSQLParser.KW_ALTER); this.state = 6839; this.match(PostgreSQLParser.KW_DATABASE); this.state = 6840; this.database_name(); this.state = 6841; this.match(PostgreSQLParser.KW_RENAME); this.state = 6842; this.match(PostgreSQLParser.KW_TO); this.state = 6843; this.database_name_create(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 6845; this.match(PostgreSQLParser.KW_ALTER); this.state = 6846; this.match(PostgreSQLParser.KW_DOMAIN); this.state = 6847; this.any_name(); this.state = 6848; this.match(PostgreSQLParser.KW_RENAME); this.state = 6849; this.match(PostgreSQLParser.KW_TO); this.state = 6850; this.name(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 6852; this.match(PostgreSQLParser.KW_ALTER); this.state = 6853; this.match(PostgreSQLParser.KW_DOMAIN); this.state = 6854; this.any_name(); this.state = 6855; this.match(PostgreSQLParser.KW_RENAME); this.state = 6856; this.match(PostgreSQLParser.KW_CONSTRAINT); this.state = 6857; this.name(); this.state = 6858; this.match(PostgreSQLParser.KW_TO); this.state = 6859; this.name(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 6861; this.match(PostgreSQLParser.KW_ALTER); this.state = 6862; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 6863; this.match(PostgreSQLParser.KW_DATA); this.state = 6864; this.match(PostgreSQLParser.KW_WRAPPER); this.state = 6865; this.name(); this.state = 6866; this.match(PostgreSQLParser.KW_RENAME); this.state = 6867; this.match(PostgreSQLParser.KW_TO); this.state = 6868; this.name(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 6870; this.match(PostgreSQLParser.KW_ALTER); this.state = 6871; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 6872; this.function_with_argtypes(); this.state = 6873; this.match(PostgreSQLParser.KW_RENAME); this.state = 6874; this.match(PostgreSQLParser.KW_TO); this.state = 6875; this.function_name_create(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 6877; this.match(PostgreSQLParser.KW_ALTER); this.state = 6878; this.match(PostgreSQLParser.KW_GROUP); this.state = 6879; this.roleid(); this.state = 6880; this.match(PostgreSQLParser.KW_RENAME); this.state = 6881; this.match(PostgreSQLParser.KW_TO); this.state = 6882; this.roleid(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 6884; this.match(PostgreSQLParser.KW_ALTER); this.state = 6886; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_PROCEDURAL) { { this.state = 6885; this.opt_procedural(); } } this.state = 6888; this.match(PostgreSQLParser.KW_LANGUAGE); this.state = 6889; this.name(); this.state = 6890; this.match(PostgreSQLParser.KW_RENAME); this.state = 6891; this.match(PostgreSQLParser.KW_TO); this.state = 6892; this.name(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 6894; this.match(PostgreSQLParser.KW_ALTER); this.state = 6895; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 6896; this.match(PostgreSQLParser.KW_CLASS); this.state = 6897; this.any_name(); this.state = 6898; this.match(PostgreSQLParser.KW_USING); this.state = 6899; this.name(); this.state = 6900; this.match(PostgreSQLParser.KW_RENAME); this.state = 6901; this.match(PostgreSQLParser.KW_TO); this.state = 6902; this.name(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 6904; this.match(PostgreSQLParser.KW_ALTER); this.state = 6905; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 6906; this.match(PostgreSQLParser.KW_FAMILY); this.state = 6907; this.any_name(); this.state = 6908; this.match(PostgreSQLParser.KW_USING); this.state = 6909; this.name(); this.state = 6910; this.match(PostgreSQLParser.KW_RENAME); this.state = 6911; this.match(PostgreSQLParser.KW_TO); this.state = 6912; this.name(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 6914; this.match(PostgreSQLParser.KW_ALTER); this.state = 6915; this.match(PostgreSQLParser.KW_POLICY); this.state = 6917; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 646, this._ctx) ) { case 1: { this.state = 6916; this.opt_if_exists(); } break; } this.state = 6919; this.name(); this.state = 6920; this.match(PostgreSQLParser.KW_ON); this.state = 6921; this.qualified_name(); this.state = 6922; this.match(PostgreSQLParser.KW_RENAME); this.state = 6923; this.match(PostgreSQLParser.KW_TO); this.state = 6924; this.name(); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 6926; this.match(PostgreSQLParser.KW_ALTER); this.state = 6927; this.match(PostgreSQLParser.KW_PROCEDURE); this.state = 6928; this.procedure_with_argtypes(); this.state = 6929; this.match(PostgreSQLParser.KW_RENAME); this.state = 6930; this.match(PostgreSQLParser.KW_TO); this.state = 6931; this.procedure_name_create(); } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 6933; this.match(PostgreSQLParser.KW_ALTER); this.state = 6934; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 6935; this.name(); this.state = 6936; this.match(PostgreSQLParser.KW_RENAME); this.state = 6937; this.match(PostgreSQLParser.KW_TO); this.state = 6938; this.name(); } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 6940; this.match(PostgreSQLParser.KW_ALTER); this.state = 6941; this.match(PostgreSQLParser.KW_ROUTINE); this.state = 6942; this.routine_with_argtypes(); this.state = 6943; this.match(PostgreSQLParser.KW_RENAME); this.state = 6944; this.match(PostgreSQLParser.KW_TO); this.state = 6945; this.name(); } break; case 17: this.enterOuterAlt(_localctx, 17); { this.state = 6947; this.match(PostgreSQLParser.KW_ALTER); this.state = 6948; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 6949; this.schema_name(); this.state = 6950; this.match(PostgreSQLParser.KW_RENAME); this.state = 6951; this.match(PostgreSQLParser.KW_TO); this.state = 6952; this.schema_name_create(); } break; case 18: this.enterOuterAlt(_localctx, 18); { this.state = 6954; this.match(PostgreSQLParser.KW_ALTER); this.state = 6955; this.match(PostgreSQLParser.KW_SERVER); this.state = 6956; this.name(); this.state = 6957; this.match(PostgreSQLParser.KW_RENAME); this.state = 6958; this.match(PostgreSQLParser.KW_TO); this.state = 6959; this.name(); } break; case 19: this.enterOuterAlt(_localctx, 19); { this.state = 6961; this.match(PostgreSQLParser.KW_ALTER); this.state = 6962; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 6963; this.name(); this.state = 6964; this.match(PostgreSQLParser.KW_RENAME); this.state = 6965; this.match(PostgreSQLParser.KW_TO); this.state = 6966; this.name(); } break; case 20: this.enterOuterAlt(_localctx, 20); { this.state = 6968; this.match(PostgreSQLParser.KW_ALTER); this.state = 6969; this.match(PostgreSQLParser.KW_TABLE); this.state = 6971; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 647, this._ctx) ) { case 1: { this.state = 6970; this.opt_if_exists(); } break; } this.state = 6973; this.relation_expr(); this.state = 6974; this.match(PostgreSQLParser.KW_RENAME); this.state = 6975; this.match(PostgreSQLParser.KW_TO); this.state = 6976; this.table_name_create(); } break; case 21: this.enterOuterAlt(_localctx, 21); { this.state = 6978; this.match(PostgreSQLParser.KW_ALTER); this.state = 6979; this.match(PostgreSQLParser.KW_SEQUENCE); this.state = 6981; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 648, this._ctx) ) { case 1: { this.state = 6980; this.opt_if_exists(); } break; } this.state = 6983; this.qualified_name(); this.state = 6984; this.match(PostgreSQLParser.KW_RENAME); this.state = 6985; this.match(PostgreSQLParser.KW_TO); this.state = 6986; this.name(); } break; case 22: this.enterOuterAlt(_localctx, 22); { this.state = 6988; this.match(PostgreSQLParser.KW_ALTER); this.state = 6989; this.match(PostgreSQLParser.KW_VIEW); this.state = 6991; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 649, this._ctx) ) { case 1: { this.state = 6990; this.opt_if_exists(); } break; } this.state = 6993; this.view_name(); this.state = 6994; this.match(PostgreSQLParser.KW_RENAME); this.state = 6995; this.match(PostgreSQLParser.KW_TO); this.state = 6996; this.view_name_create(); } break; case 23: this.enterOuterAlt(_localctx, 23); { this.state = 6998; this.match(PostgreSQLParser.KW_ALTER); this.state = 6999; this.match(PostgreSQLParser.KW_MATERIALIZED); this.state = 7000; this.match(PostgreSQLParser.KW_VIEW); this.state = 7002; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 650, this._ctx) ) { case 1: { this.state = 7001; this.opt_if_exists(); } break; } this.state = 7004; this.view_name(); this.state = 7005; this.match(PostgreSQLParser.KW_RENAME); this.state = 7006; this.match(PostgreSQLParser.KW_TO); this.state = 7007; this.view_name_create(); } break; case 24: this.enterOuterAlt(_localctx, 24); { this.state = 7009; this.match(PostgreSQLParser.KW_ALTER); this.state = 7010; this.match(PostgreSQLParser.KW_INDEX); this.state = 7012; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 651, this._ctx) ) { case 1: { this.state = 7011; this.opt_if_exists(); } break; } this.state = 7014; this.qualified_name(); this.state = 7015; this.match(PostgreSQLParser.KW_RENAME); this.state = 7016; this.match(PostgreSQLParser.KW_TO); this.state = 7017; this.name(); } break; case 25: this.enterOuterAlt(_localctx, 25); { this.state = 7019; this.match(PostgreSQLParser.KW_ALTER); this.state = 7020; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 7021; this.match(PostgreSQLParser.KW_TABLE); this.state = 7023; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 652, this._ctx) ) { case 1: { this.state = 7022; this.opt_if_exists(); } break; } this.state = 7025; this.relation_expr(); this.state = 7026; this.match(PostgreSQLParser.KW_RENAME); this.state = 7027; this.match(PostgreSQLParser.KW_TO); this.state = 7028; this.table_name_create(); } break; case 26: this.enterOuterAlt(_localctx, 26); { this.state = 7030; this.match(PostgreSQLParser.KW_ALTER); this.state = 7031; this.match(PostgreSQLParser.KW_TABLE); this.state = 7033; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 653, this._ctx) ) { case 1: { this.state = 7032; this.opt_if_exists(); } break; } this.state = 7035; this.relation_expr(); this.state = 7036; this.match(PostgreSQLParser.KW_RENAME); this.state = 7038; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 654, this._ctx) ) { case 1: { this.state = 7037; this.opt_column(); } break; } this.state = 7040; this.column_name(); this.state = 7041; this.match(PostgreSQLParser.KW_TO); this.state = 7042; this.column_name_create(); } break; case 27: this.enterOuterAlt(_localctx, 27); { this.state = 7044; this.match(PostgreSQLParser.KW_ALTER); this.state = 7045; this.match(PostgreSQLParser.KW_VIEW); this.state = 7047; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 655, this._ctx) ) { case 1: { this.state = 7046; this.opt_if_exists(); } break; } this.state = 7049; this.view_name(); this.state = 7050; this.match(PostgreSQLParser.KW_RENAME); this.state = 7052; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 656, this._ctx) ) { case 1: { this.state = 7051; this.opt_column(); } break; } this.state = 7054; this.column_name(); this.state = 7055; this.match(PostgreSQLParser.KW_TO); this.state = 7056; this.column_name_create(); } break; case 28: this.enterOuterAlt(_localctx, 28); { this.state = 7058; this.match(PostgreSQLParser.KW_ALTER); this.state = 7059; this.match(PostgreSQLParser.KW_MATERIALIZED); this.state = 7060; this.match(PostgreSQLParser.KW_VIEW); this.state = 7062; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 657, this._ctx) ) { case 1: { this.state = 7061; this.opt_if_exists(); } break; } this.state = 7064; this.view_name(); this.state = 7065; this.match(PostgreSQLParser.KW_RENAME); this.state = 7067; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 658, this._ctx) ) { case 1: { this.state = 7066; this.opt_column(); } break; } this.state = 7069; this.column_name(); this.state = 7070; this.match(PostgreSQLParser.KW_TO); this.state = 7071; this.column_name_create(); } break; case 29: this.enterOuterAlt(_localctx, 29); { this.state = 7073; this.match(PostgreSQLParser.KW_ALTER); this.state = 7074; this.match(PostgreSQLParser.KW_TABLE); this.state = 7076; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 659, this._ctx) ) { case 1: { this.state = 7075; this.opt_if_exists(); } break; } this.state = 7078; this.relation_expr(); this.state = 7079; this.match(PostgreSQLParser.KW_RENAME); this.state = 7080; this.match(PostgreSQLParser.KW_CONSTRAINT); this.state = 7081; this.name(); this.state = 7082; this.match(PostgreSQLParser.KW_TO); this.state = 7083; this.name(); } break; case 30: this.enterOuterAlt(_localctx, 30); { this.state = 7085; this.match(PostgreSQLParser.KW_ALTER); this.state = 7086; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 7087; this.match(PostgreSQLParser.KW_TABLE); this.state = 7089; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 660, this._ctx) ) { case 1: { this.state = 7088; this.opt_if_exists(); } break; } this.state = 7091; this.relation_expr(); this.state = 7092; this.match(PostgreSQLParser.KW_RENAME); this.state = 7094; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 661, this._ctx) ) { case 1: { this.state = 7093; this.opt_column(); } break; } this.state = 7096; this.column_name(); this.state = 7097; this.match(PostgreSQLParser.KW_TO); this.state = 7098; this.column_name_create(); } break; case 31: this.enterOuterAlt(_localctx, 31); { this.state = 7100; this.match(PostgreSQLParser.KW_ALTER); this.state = 7101; this.match(PostgreSQLParser.KW_RULE); this.state = 7102; this.name(); this.state = 7103; this.match(PostgreSQLParser.KW_ON); this.state = 7104; this.qualified_name(); this.state = 7105; this.match(PostgreSQLParser.KW_RENAME); this.state = 7106; this.match(PostgreSQLParser.KW_TO); this.state = 7107; this.name(); } break; case 32: this.enterOuterAlt(_localctx, 32); { this.state = 7109; this.match(PostgreSQLParser.KW_ALTER); this.state = 7110; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 7111; this.name(); this.state = 7112; this.match(PostgreSQLParser.KW_ON); this.state = 7113; this.qualified_name(); this.state = 7114; this.match(PostgreSQLParser.KW_RENAME); this.state = 7115; this.match(PostgreSQLParser.KW_TO); this.state = 7116; this.name(); } break; case 33: this.enterOuterAlt(_localctx, 33); { this.state = 7118; this.match(PostgreSQLParser.KW_ALTER); this.state = 7119; this.match(PostgreSQLParser.KW_EVENT); this.state = 7120; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 7121; this.name(); this.state = 7122; this.match(PostgreSQLParser.KW_RENAME); this.state = 7123; this.match(PostgreSQLParser.KW_TO); this.state = 7124; this.name(); } break; case 34: this.enterOuterAlt(_localctx, 34); { this.state = 7126; this.match(PostgreSQLParser.KW_ALTER); this.state = 7127; this.match(PostgreSQLParser.KW_ROLE); this.state = 7128; this.roleid(); this.state = 7129; this.match(PostgreSQLParser.KW_RENAME); this.state = 7130; this.match(PostgreSQLParser.KW_TO); this.state = 7131; this.roleid(); } break; case 35: this.enterOuterAlt(_localctx, 35); { this.state = 7133; this.match(PostgreSQLParser.KW_ALTER); this.state = 7134; this.match(PostgreSQLParser.KW_USER); this.state = 7135; this.roleid(); this.state = 7136; this.match(PostgreSQLParser.KW_RENAME); this.state = 7137; this.match(PostgreSQLParser.KW_TO); this.state = 7138; this.roleid(); } break; case 36: this.enterOuterAlt(_localctx, 36); { this.state = 7140; this.match(PostgreSQLParser.KW_ALTER); this.state = 7141; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 7142; this.tablespace_name(); this.state = 7143; this.match(PostgreSQLParser.KW_RENAME); this.state = 7144; this.match(PostgreSQLParser.KW_TO); this.state = 7145; this.tablespace_name_create(); } break; case 37: this.enterOuterAlt(_localctx, 37); { this.state = 7147; this.match(PostgreSQLParser.KW_ALTER); this.state = 7148; this.match(PostgreSQLParser.KW_STATISTICS); this.state = 7149; this.any_name(); this.state = 7150; this.match(PostgreSQLParser.KW_RENAME); this.state = 7151; this.match(PostgreSQLParser.KW_TO); this.state = 7152; this.name(); } break; case 38: this.enterOuterAlt(_localctx, 38); { this.state = 7154; this.match(PostgreSQLParser.KW_ALTER); this.state = 7155; this.match(PostgreSQLParser.KW_TEXT); this.state = 7156; this.match(PostgreSQLParser.KW_SEARCH); this.state = 7157; this.match(PostgreSQLParser.KW_PARSER); this.state = 7158; this.any_name(); this.state = 7159; this.match(PostgreSQLParser.KW_RENAME); this.state = 7160; this.match(PostgreSQLParser.KW_TO); this.state = 7161; this.name(); } break; case 39: this.enterOuterAlt(_localctx, 39); { this.state = 7163; this.match(PostgreSQLParser.KW_ALTER); this.state = 7164; this.match(PostgreSQLParser.KW_TEXT); this.state = 7165; this.match(PostgreSQLParser.KW_SEARCH); this.state = 7166; this.match(PostgreSQLParser.KW_DICTIONARY); this.state = 7167; this.any_name(); this.state = 7168; this.match(PostgreSQLParser.KW_RENAME); this.state = 7169; this.match(PostgreSQLParser.KW_TO); this.state = 7170; this.name(); } break; case 40: this.enterOuterAlt(_localctx, 40); { this.state = 7172; this.match(PostgreSQLParser.KW_ALTER); this.state = 7173; this.match(PostgreSQLParser.KW_TEXT); this.state = 7174; this.match(PostgreSQLParser.KW_SEARCH); this.state = 7175; this.match(PostgreSQLParser.KW_TEMPLATE); this.state = 7176; this.any_name(); this.state = 7177; this.match(PostgreSQLParser.KW_RENAME); this.state = 7178; this.match(PostgreSQLParser.KW_TO); this.state = 7179; this.name(); } break; case 41: this.enterOuterAlt(_localctx, 41); { this.state = 7181; this.match(PostgreSQLParser.KW_ALTER); this.state = 7182; this.match(PostgreSQLParser.KW_TEXT); this.state = 7183; this.match(PostgreSQLParser.KW_SEARCH); this.state = 7184; this.match(PostgreSQLParser.KW_CONFIGURATION); this.state = 7185; this.any_name(); this.state = 7186; this.match(PostgreSQLParser.KW_RENAME); this.state = 7187; this.match(PostgreSQLParser.KW_TO); this.state = 7188; this.name(); } break; case 42: this.enterOuterAlt(_localctx, 42); { this.state = 7190; this.match(PostgreSQLParser.KW_ALTER); this.state = 7191; this.match(PostgreSQLParser.KW_TYPE); this.state = 7192; this.any_name(); this.state = 7193; this.match(PostgreSQLParser.KW_RENAME); this.state = 7194; this.match(PostgreSQLParser.KW_TO); this.state = 7195; this.name(); } break; case 43: this.enterOuterAlt(_localctx, 43); { this.state = 7197; this.match(PostgreSQLParser.KW_ALTER); this.state = 7198; this.match(PostgreSQLParser.KW_TYPE); this.state = 7199; this.any_name(); this.state = 7200; this.match(PostgreSQLParser.KW_RENAME); this.state = 7201; this.match(PostgreSQLParser.KW_ATTRIBUTE); this.state = 7202; this.name(); this.state = 7203; this.match(PostgreSQLParser.KW_TO); this.state = 7204; this.name(); this.state = 7206; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 662, this._ctx) ) { case 1: { this.state = 7205; this.opt_drop_behavior(); } break; } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_column(): Opt_columnContext { let _localctx: Opt_columnContext = new Opt_columnContext(this._ctx, this.state); this.enterRule(_localctx, 768, PostgreSQLParser.RULE_opt_column); try { this.enterOuterAlt(_localctx, 1); { this.state = 7210; this.match(PostgreSQLParser.KW_COLUMN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_set_data(): Opt_set_dataContext { let _localctx: Opt_set_dataContext = new Opt_set_dataContext(this._ctx, this.state); this.enterRule(_localctx, 770, PostgreSQLParser.RULE_opt_set_data); try { this.enterOuterAlt(_localctx, 1); { this.state = 7212; this.match(PostgreSQLParser.KW_SET); this.state = 7213; this.match(PostgreSQLParser.KW_DATA); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterobjectdependsstmt(): AlterobjectdependsstmtContext { let _localctx: AlterobjectdependsstmtContext = new AlterobjectdependsstmtContext(this._ctx, this.state); this.enterRule(_localctx, 772, PostgreSQLParser.RULE_alterobjectdependsstmt); let _la: number; try { this.state = 7284; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 670, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 7215; this.match(PostgreSQLParser.KW_ALTER); this.state = 7216; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 7217; this.function_with_argtypes(); this.state = 7219; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NO) { { this.state = 7218; this.opt_no(); } } this.state = 7221; this.match(PostgreSQLParser.KW_DEPENDS); this.state = 7222; this.match(PostgreSQLParser.KW_ON); this.state = 7223; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 7224; this.name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 7226; this.match(PostgreSQLParser.KW_ALTER); this.state = 7227; this.match(PostgreSQLParser.KW_PROCEDURE); this.state = 7228; this.procedure_with_argtypes(); this.state = 7230; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NO) { { this.state = 7229; this.opt_no(); } } this.state = 7232; this.match(PostgreSQLParser.KW_DEPENDS); this.state = 7233; this.match(PostgreSQLParser.KW_ON); this.state = 7234; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 7235; this.name(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 7237; this.match(PostgreSQLParser.KW_ALTER); this.state = 7238; this.match(PostgreSQLParser.KW_ROUTINE); this.state = 7239; this.routine_with_argtypes(); this.state = 7241; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NO) { { this.state = 7240; this.opt_no(); } } this.state = 7243; this.match(PostgreSQLParser.KW_DEPENDS); this.state = 7244; this.match(PostgreSQLParser.KW_ON); this.state = 7245; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 7246; this.name(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 7248; this.match(PostgreSQLParser.KW_ALTER); this.state = 7249; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 7250; this.name(); this.state = 7251; this.match(PostgreSQLParser.KW_ON); this.state = 7252; this.qualified_name(); this.state = 7254; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NO) { { this.state = 7253; this.opt_no(); } } this.state = 7256; this.match(PostgreSQLParser.KW_DEPENDS); this.state = 7257; this.match(PostgreSQLParser.KW_ON); this.state = 7258; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 7259; this.name(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 7261; this.match(PostgreSQLParser.KW_ALTER); this.state = 7262; this.match(PostgreSQLParser.KW_MATERIALIZED); this.state = 7263; this.match(PostgreSQLParser.KW_VIEW); this.state = 7264; this.view_name(); this.state = 7266; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NO) { { this.state = 7265; this.opt_no(); } } this.state = 7268; this.match(PostgreSQLParser.KW_DEPENDS); this.state = 7269; this.match(PostgreSQLParser.KW_ON); this.state = 7270; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 7271; this.name(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 7273; this.match(PostgreSQLParser.KW_ALTER); this.state = 7274; this.match(PostgreSQLParser.KW_INDEX); this.state = 7275; this.qualified_name(); this.state = 7277; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NO) { { this.state = 7276; this.opt_no(); } } this.state = 7279; this.match(PostgreSQLParser.KW_DEPENDS); this.state = 7280; this.match(PostgreSQLParser.KW_ON); this.state = 7281; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 7282; this.name(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_no(): Opt_noContext { let _localctx: Opt_noContext = new Opt_noContext(this._ctx, this.state); this.enterRule(_localctx, 774, PostgreSQLParser.RULE_opt_no); try { this.enterOuterAlt(_localctx, 1); { this.state = 7286; this.match(PostgreSQLParser.KW_NO); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterobjectschemastmt(): AlterobjectschemastmtContext { let _localctx: AlterobjectschemastmtContext = new AlterobjectschemastmtContext(this._ctx, this.state); this.enterRule(_localctx, 776, PostgreSQLParser.RULE_alterobjectschemastmt); try { this.state = 7473; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 676, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 7288; this.match(PostgreSQLParser.KW_ALTER); this.state = 7289; this.match(PostgreSQLParser.KW_AGGREGATE); this.state = 7290; this.aggregate_with_argtypes(); this.state = 7291; this.match(PostgreSQLParser.KW_SET); this.state = 7292; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7293; this.schema_name_create(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 7295; this.match(PostgreSQLParser.KW_ALTER); this.state = 7296; this.match(PostgreSQLParser.KW_COLLATION); this.state = 7297; this.any_name(); this.state = 7298; this.match(PostgreSQLParser.KW_SET); this.state = 7299; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7300; this.schema_name_create(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 7302; this.match(PostgreSQLParser.KW_ALTER); this.state = 7303; this.match(PostgreSQLParser.KW_CONVERSION); this.state = 7304; this.any_name(); this.state = 7305; this.match(PostgreSQLParser.KW_SET); this.state = 7306; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7307; this.schema_name_create(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 7309; this.match(PostgreSQLParser.KW_ALTER); this.state = 7310; this.match(PostgreSQLParser.KW_DOMAIN); this.state = 7311; this.any_name(); this.state = 7312; this.match(PostgreSQLParser.KW_SET); this.state = 7313; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7314; this.schema_name_create(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 7316; this.match(PostgreSQLParser.KW_ALTER); this.state = 7317; this.match(PostgreSQLParser.KW_EXTENSION); this.state = 7318; this.name(); this.state = 7319; this.match(PostgreSQLParser.KW_SET); this.state = 7320; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7321; this.schema_name_create(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 7323; this.match(PostgreSQLParser.KW_ALTER); this.state = 7324; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 7325; this.function_with_argtypes(); this.state = 7326; this.match(PostgreSQLParser.KW_SET); this.state = 7327; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7328; this.schema_name_create(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 7330; this.match(PostgreSQLParser.KW_ALTER); this.state = 7331; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 7332; this.operator_with_argtypes(); this.state = 7333; this.match(PostgreSQLParser.KW_SET); this.state = 7334; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7335; this.schema_name_create(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 7337; this.match(PostgreSQLParser.KW_ALTER); this.state = 7338; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 7339; this.match(PostgreSQLParser.KW_CLASS); this.state = 7340; this.any_name(); this.state = 7341; this.match(PostgreSQLParser.KW_USING); this.state = 7342; this.name(); this.state = 7343; this.match(PostgreSQLParser.KW_SET); this.state = 7344; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7345; this.schema_name_create(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 7347; this.match(PostgreSQLParser.KW_ALTER); this.state = 7348; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 7349; this.match(PostgreSQLParser.KW_FAMILY); this.state = 7350; this.any_name(); this.state = 7351; this.match(PostgreSQLParser.KW_USING); this.state = 7352; this.name(); this.state = 7353; this.match(PostgreSQLParser.KW_SET); this.state = 7354; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7355; this.schema_name_create(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 7357; this.match(PostgreSQLParser.KW_ALTER); this.state = 7358; this.match(PostgreSQLParser.KW_PROCEDURE); this.state = 7359; this.procedure_with_argtypes(); this.state = 7360; this.match(PostgreSQLParser.KW_SET); this.state = 7361; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7362; this.schema_name_create(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 7364; this.match(PostgreSQLParser.KW_ALTER); this.state = 7365; this.match(PostgreSQLParser.KW_ROUTINE); this.state = 7366; this.routine_with_argtypes(); this.state = 7367; this.match(PostgreSQLParser.KW_SET); this.state = 7368; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7369; this.schema_name_create(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 7371; this.match(PostgreSQLParser.KW_ALTER); this.state = 7372; this.match(PostgreSQLParser.KW_TABLE); this.state = 7374; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 671, this._ctx) ) { case 1: { this.state = 7373; this.opt_if_exists(); } break; } this.state = 7376; this.relation_expr(); this.state = 7377; this.match(PostgreSQLParser.KW_SET); this.state = 7378; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7379; this.schema_name_create(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 7381; this.match(PostgreSQLParser.KW_ALTER); this.state = 7382; this.match(PostgreSQLParser.KW_STATISTICS); this.state = 7383; this.any_name(); this.state = 7384; this.match(PostgreSQLParser.KW_SET); this.state = 7385; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7386; this.schema_name_create(); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 7388; this.match(PostgreSQLParser.KW_ALTER); this.state = 7389; this.match(PostgreSQLParser.KW_TEXT); this.state = 7390; this.match(PostgreSQLParser.KW_SEARCH); this.state = 7391; this.match(PostgreSQLParser.KW_PARSER); this.state = 7392; this.any_name(); this.state = 7393; this.match(PostgreSQLParser.KW_SET); this.state = 7394; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7395; this.schema_name_create(); } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 7397; this.match(PostgreSQLParser.KW_ALTER); this.state = 7398; this.match(PostgreSQLParser.KW_TEXT); this.state = 7399; this.match(PostgreSQLParser.KW_SEARCH); this.state = 7400; this.match(PostgreSQLParser.KW_DICTIONARY); this.state = 7401; this.any_name(); this.state = 7402; this.match(PostgreSQLParser.KW_SET); this.state = 7403; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7404; this.schema_name_create(); } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 7406; this.match(PostgreSQLParser.KW_ALTER); this.state = 7407; this.match(PostgreSQLParser.KW_TEXT); this.state = 7408; this.match(PostgreSQLParser.KW_SEARCH); this.state = 7409; this.match(PostgreSQLParser.KW_TEMPLATE); this.state = 7410; this.any_name(); this.state = 7411; this.match(PostgreSQLParser.KW_SET); this.state = 7412; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7413; this.schema_name_create(); } break; case 17: this.enterOuterAlt(_localctx, 17); { this.state = 7415; this.match(PostgreSQLParser.KW_ALTER); this.state = 7416; this.match(PostgreSQLParser.KW_TEXT); this.state = 7417; this.match(PostgreSQLParser.KW_SEARCH); this.state = 7418; this.match(PostgreSQLParser.KW_CONFIGURATION); this.state = 7419; this.any_name(); this.state = 7420; this.match(PostgreSQLParser.KW_SET); this.state = 7421; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7422; this.schema_name_create(); } break; case 18: this.enterOuterAlt(_localctx, 18); { this.state = 7424; this.match(PostgreSQLParser.KW_ALTER); this.state = 7425; this.match(PostgreSQLParser.KW_SEQUENCE); this.state = 7427; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 672, this._ctx) ) { case 1: { this.state = 7426; this.opt_if_exists(); } break; } this.state = 7429; this.qualified_name(); this.state = 7430; this.match(PostgreSQLParser.KW_SET); this.state = 7431; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7432; this.schema_name_create(); } break; case 19: this.enterOuterAlt(_localctx, 19); { this.state = 7434; this.match(PostgreSQLParser.KW_ALTER); this.state = 7435; this.match(PostgreSQLParser.KW_VIEW); this.state = 7437; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 673, this._ctx) ) { case 1: { this.state = 7436; this.opt_if_exists(); } break; } this.state = 7439; this.view_name(); this.state = 7440; this.match(PostgreSQLParser.KW_SET); this.state = 7441; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7442; this.schema_name_create(); } break; case 20: this.enterOuterAlt(_localctx, 20); { this.state = 7444; this.match(PostgreSQLParser.KW_ALTER); this.state = 7445; this.match(PostgreSQLParser.KW_MATERIALIZED); this.state = 7446; this.match(PostgreSQLParser.KW_VIEW); this.state = 7448; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 674, this._ctx) ) { case 1: { this.state = 7447; this.opt_if_exists(); } break; } this.state = 7450; this.view_name(); this.state = 7451; this.match(PostgreSQLParser.KW_SET); this.state = 7452; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7453; this.schema_name_create(); } break; case 21: this.enterOuterAlt(_localctx, 21); { this.state = 7455; this.match(PostgreSQLParser.KW_ALTER); this.state = 7456; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 7457; this.match(PostgreSQLParser.KW_TABLE); this.state = 7459; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 675, this._ctx) ) { case 1: { this.state = 7458; this.opt_if_exists(); } break; } this.state = 7461; this.relation_expr(); this.state = 7462; this.match(PostgreSQLParser.KW_SET); this.state = 7463; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7464; this.schema_name_create(); } break; case 22: this.enterOuterAlt(_localctx, 22); { this.state = 7466; this.match(PostgreSQLParser.KW_ALTER); this.state = 7467; this.match(PostgreSQLParser.KW_TYPE); this.state = 7468; this.any_name(); this.state = 7469; this.match(PostgreSQLParser.KW_SET); this.state = 7470; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7471; this.schema_name_create(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alteroperatorstmt(): AlteroperatorstmtContext { let _localctx: AlteroperatorstmtContext = new AlteroperatorstmtContext(this._ctx, this.state); this.enterRule(_localctx, 778, PostgreSQLParser.RULE_alteroperatorstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 7475; this.match(PostgreSQLParser.KW_ALTER); this.state = 7476; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 7477; this.operator_with_argtypes(); this.state = 7478; this.match(PostgreSQLParser.KW_SET); this.state = 7479; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 7480; this.operator_def_list(); this.state = 7481; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public operator_def_list(): Operator_def_listContext { let _localctx: Operator_def_listContext = new Operator_def_listContext(this._ctx, this.state); this.enterRule(_localctx, 780, PostgreSQLParser.RULE_operator_def_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 7483; this.operator_def_elem(); this.state = 7488; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 7484; this.match(PostgreSQLParser.COMMA); this.state = 7485; this.operator_def_elem(); } } this.state = 7490; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public operator_def_elem(): Operator_def_elemContext { let _localctx: Operator_def_elemContext = new Operator_def_elemContext(this._ctx, this.state); this.enterRule(_localctx, 782, PostgreSQLParser.RULE_operator_def_elem); try { this.state = 7499; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 678, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 7491; this.collabel(); this.state = 7492; this.match(PostgreSQLParser.EQUAL); this.state = 7493; this.match(PostgreSQLParser.KW_NONE); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 7495; this.collabel(); this.state = 7496; this.match(PostgreSQLParser.EQUAL); this.state = 7497; this.operator_def_arg(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public operator_def_arg(): Operator_def_argContext { let _localctx: Operator_def_argContext = new Operator_def_argContext(this._ctx, this.state); this.enterRule(_localctx, 784, PostgreSQLParser.RULE_operator_def_arg); try { this.state = 7506; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 679, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 7501; this.func_type(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 7502; this.reserved_keyword(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 7503; this.qual_all_op(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 7504; this.numericonly(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 7505; this.sconst(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public altertypestmt(): AltertypestmtContext { let _localctx: AltertypestmtContext = new AltertypestmtContext(this._ctx, this.state); this.enterRule(_localctx, 786, PostgreSQLParser.RULE_altertypestmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 7508; this.match(PostgreSQLParser.KW_ALTER); this.state = 7509; this.match(PostgreSQLParser.KW_TYPE); this.state = 7510; this.any_name(); this.state = 7511; this.match(PostgreSQLParser.KW_SET); this.state = 7512; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 7513; this.operator_def_list(); this.state = 7514; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterownerstmt(): AlterownerstmtContext { let _localctx: AlterownerstmtContext = new AlterownerstmtContext(this._ctx, this.state); this.enterRule(_localctx, 788, PostgreSQLParser.RULE_alterownerstmt); let _la: number; try { this.state = 7701; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 681, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 7516; this.match(PostgreSQLParser.KW_ALTER); this.state = 7517; this.match(PostgreSQLParser.KW_AGGREGATE); this.state = 7518; this.aggregate_with_argtypes(); this.state = 7519; this.match(PostgreSQLParser.KW_OWNER); this.state = 7520; this.match(PostgreSQLParser.KW_TO); this.state = 7521; this.rolespec(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 7523; this.match(PostgreSQLParser.KW_ALTER); this.state = 7524; this.match(PostgreSQLParser.KW_COLLATION); this.state = 7525; this.any_name(); this.state = 7526; this.match(PostgreSQLParser.KW_OWNER); this.state = 7527; this.match(PostgreSQLParser.KW_TO); this.state = 7528; this.rolespec(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 7530; this.match(PostgreSQLParser.KW_ALTER); this.state = 7531; this.match(PostgreSQLParser.KW_CONVERSION); this.state = 7532; this.any_name(); this.state = 7533; this.match(PostgreSQLParser.KW_OWNER); this.state = 7534; this.match(PostgreSQLParser.KW_TO); this.state = 7535; this.rolespec(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 7537; this.match(PostgreSQLParser.KW_ALTER); this.state = 7538; this.match(PostgreSQLParser.KW_DATABASE); this.state = 7539; this.database_name(); this.state = 7540; this.match(PostgreSQLParser.KW_OWNER); this.state = 7541; this.match(PostgreSQLParser.KW_TO); this.state = 7542; this.rolespec(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 7544; this.match(PostgreSQLParser.KW_ALTER); this.state = 7545; this.match(PostgreSQLParser.KW_DOMAIN); this.state = 7546; this.any_name(); this.state = 7547; this.match(PostgreSQLParser.KW_OWNER); this.state = 7548; this.match(PostgreSQLParser.KW_TO); this.state = 7549; this.rolespec(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 7551; this.match(PostgreSQLParser.KW_ALTER); this.state = 7552; this.match(PostgreSQLParser.KW_FUNCTION); this.state = 7553; this.function_with_argtypes(); this.state = 7554; this.match(PostgreSQLParser.KW_OWNER); this.state = 7555; this.match(PostgreSQLParser.KW_TO); this.state = 7556; this.rolespec(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 7558; this.match(PostgreSQLParser.KW_ALTER); this.state = 7560; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_PROCEDURAL) { { this.state = 7559; this.opt_procedural(); } } this.state = 7562; this.match(PostgreSQLParser.KW_LANGUAGE); this.state = 7563; this.name(); this.state = 7564; this.match(PostgreSQLParser.KW_OWNER); this.state = 7565; this.match(PostgreSQLParser.KW_TO); this.state = 7566; this.rolespec(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 7568; this.match(PostgreSQLParser.KW_ALTER); this.state = 7569; this.match(PostgreSQLParser.KW_LARGE); this.state = 7570; this.match(PostgreSQLParser.KW_OBJECT); this.state = 7571; this.numericonly(); this.state = 7572; this.match(PostgreSQLParser.KW_OWNER); this.state = 7573; this.match(PostgreSQLParser.KW_TO); this.state = 7574; this.rolespec(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 7576; this.match(PostgreSQLParser.KW_ALTER); this.state = 7577; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 7578; this.operator_with_argtypes(); this.state = 7579; this.match(PostgreSQLParser.KW_OWNER); this.state = 7580; this.match(PostgreSQLParser.KW_TO); this.state = 7581; this.rolespec(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 7583; this.match(PostgreSQLParser.KW_ALTER); this.state = 7584; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 7585; this.match(PostgreSQLParser.KW_CLASS); this.state = 7586; this.any_name(); this.state = 7587; this.match(PostgreSQLParser.KW_USING); this.state = 7588; this.name(); this.state = 7589; this.match(PostgreSQLParser.KW_OWNER); this.state = 7590; this.match(PostgreSQLParser.KW_TO); this.state = 7591; this.rolespec(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 7593; this.match(PostgreSQLParser.KW_ALTER); this.state = 7594; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 7595; this.match(PostgreSQLParser.KW_FAMILY); this.state = 7596; this.any_name(); this.state = 7597; this.match(PostgreSQLParser.KW_USING); this.state = 7598; this.name(); this.state = 7599; this.match(PostgreSQLParser.KW_OWNER); this.state = 7600; this.match(PostgreSQLParser.KW_TO); this.state = 7601; this.rolespec(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 7603; this.match(PostgreSQLParser.KW_ALTER); this.state = 7604; this.match(PostgreSQLParser.KW_PROCEDURE); this.state = 7605; this.procedure_with_argtypes(); this.state = 7606; this.match(PostgreSQLParser.KW_OWNER); this.state = 7607; this.match(PostgreSQLParser.KW_TO); this.state = 7608; this.rolespec(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 7610; this.match(PostgreSQLParser.KW_ALTER); this.state = 7611; this.match(PostgreSQLParser.KW_ROUTINE); this.state = 7612; this.routine_with_argtypes(); this.state = 7613; this.match(PostgreSQLParser.KW_OWNER); this.state = 7614; this.match(PostgreSQLParser.KW_TO); this.state = 7615; this.rolespec(); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 7617; this.match(PostgreSQLParser.KW_ALTER); this.state = 7618; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 7619; this.schema_name(); this.state = 7620; this.match(PostgreSQLParser.KW_OWNER); this.state = 7621; this.match(PostgreSQLParser.KW_TO); this.state = 7622; this.rolespec(); } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 7624; this.match(PostgreSQLParser.KW_ALTER); this.state = 7625; this.match(PostgreSQLParser.KW_TYPE); this.state = 7626; this.any_name(); this.state = 7627; this.match(PostgreSQLParser.KW_OWNER); this.state = 7628; this.match(PostgreSQLParser.KW_TO); this.state = 7629; this.rolespec(); } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 7631; this.match(PostgreSQLParser.KW_ALTER); this.state = 7632; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 7633; this.tablespace_name(); this.state = 7634; this.match(PostgreSQLParser.KW_OWNER); this.state = 7635; this.match(PostgreSQLParser.KW_TO); this.state = 7636; this.rolespec(); } break; case 17: this.enterOuterAlt(_localctx, 17); { this.state = 7638; this.match(PostgreSQLParser.KW_ALTER); this.state = 7639; this.match(PostgreSQLParser.KW_STATISTICS); this.state = 7640; this.any_name(); this.state = 7641; this.match(PostgreSQLParser.KW_OWNER); this.state = 7642; this.match(PostgreSQLParser.KW_TO); this.state = 7643; this.rolespec(); } break; case 18: this.enterOuterAlt(_localctx, 18); { this.state = 7645; this.match(PostgreSQLParser.KW_ALTER); this.state = 7646; this.match(PostgreSQLParser.KW_TEXT); this.state = 7647; this.match(PostgreSQLParser.KW_SEARCH); this.state = 7648; this.match(PostgreSQLParser.KW_DICTIONARY); this.state = 7649; this.any_name(); this.state = 7650; this.match(PostgreSQLParser.KW_OWNER); this.state = 7651; this.match(PostgreSQLParser.KW_TO); this.state = 7652; this.rolespec(); } break; case 19: this.enterOuterAlt(_localctx, 19); { this.state = 7654; this.match(PostgreSQLParser.KW_ALTER); this.state = 7655; this.match(PostgreSQLParser.KW_TEXT); this.state = 7656; this.match(PostgreSQLParser.KW_SEARCH); this.state = 7657; this.match(PostgreSQLParser.KW_CONFIGURATION); this.state = 7658; this.any_name(); this.state = 7659; this.match(PostgreSQLParser.KW_OWNER); this.state = 7660; this.match(PostgreSQLParser.KW_TO); this.state = 7661; this.rolespec(); } break; case 20: this.enterOuterAlt(_localctx, 20); { this.state = 7663; this.match(PostgreSQLParser.KW_ALTER); this.state = 7664; this.match(PostgreSQLParser.KW_FOREIGN); this.state = 7665; this.match(PostgreSQLParser.KW_DATA); this.state = 7666; this.match(PostgreSQLParser.KW_WRAPPER); this.state = 7667; this.name(); this.state = 7668; this.match(PostgreSQLParser.KW_OWNER); this.state = 7669; this.match(PostgreSQLParser.KW_TO); this.state = 7670; this.rolespec(); } break; case 21: this.enterOuterAlt(_localctx, 21); { this.state = 7672; this.match(PostgreSQLParser.KW_ALTER); this.state = 7673; this.match(PostgreSQLParser.KW_SERVER); this.state = 7674; this.name(); this.state = 7675; this.match(PostgreSQLParser.KW_OWNER); this.state = 7676; this.match(PostgreSQLParser.KW_TO); this.state = 7677; this.rolespec(); } break; case 22: this.enterOuterAlt(_localctx, 22); { this.state = 7679; this.match(PostgreSQLParser.KW_ALTER); this.state = 7680; this.match(PostgreSQLParser.KW_EVENT); this.state = 7681; this.match(PostgreSQLParser.KW_TRIGGER); this.state = 7682; this.name(); this.state = 7683; this.match(PostgreSQLParser.KW_OWNER); this.state = 7684; this.match(PostgreSQLParser.KW_TO); this.state = 7685; this.rolespec(); } break; case 23: this.enterOuterAlt(_localctx, 23); { this.state = 7687; this.match(PostgreSQLParser.KW_ALTER); this.state = 7688; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 7689; this.name(); this.state = 7690; this.match(PostgreSQLParser.KW_OWNER); this.state = 7691; this.match(PostgreSQLParser.KW_TO); this.state = 7692; this.rolespec(); } break; case 24: this.enterOuterAlt(_localctx, 24); { this.state = 7694; this.match(PostgreSQLParser.KW_ALTER); this.state = 7695; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 7696; this.name(); this.state = 7697; this.match(PostgreSQLParser.KW_OWNER); this.state = 7698; this.match(PostgreSQLParser.KW_TO); this.state = 7699; this.rolespec(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createpublicationstmt(): CreatepublicationstmtContext { let _localctx: CreatepublicationstmtContext = new CreatepublicationstmtContext(this._ctx, this.state); this.enterRule(_localctx, 790, PostgreSQLParser.RULE_createpublicationstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 7703; this.match(PostgreSQLParser.KW_CREATE); this.state = 7704; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 7705; this.name(); this.state = 7707; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 7706; this.opt_publication_for_tables(); } } this.state = 7710; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 683, this._ctx) ) { case 1: { this.state = 7709; this.opt_definition(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_publication_for_tables(): Opt_publication_for_tablesContext { let _localctx: Opt_publication_for_tablesContext = new Opt_publication_for_tablesContext(this._ctx, this.state); this.enterRule(_localctx, 792, PostgreSQLParser.RULE_opt_publication_for_tables); try { this.enterOuterAlt(_localctx, 1); { this.state = 7712; this.publication_for_tables(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public publication_for_tables(): Publication_for_tablesContext { let _localctx: Publication_for_tablesContext = new Publication_for_tablesContext(this._ctx, this.state); this.enterRule(_localctx, 794, PostgreSQLParser.RULE_publication_for_tables); try { this.state = 7720; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 684, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 7714; this.match(PostgreSQLParser.KW_FOR); this.state = 7715; this.match(PostgreSQLParser.KW_TABLE); this.state = 7716; this.relation_expr_list(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 7717; this.match(PostgreSQLParser.KW_FOR); this.state = 7718; this.match(PostgreSQLParser.KW_ALL); this.state = 7719; this.match(PostgreSQLParser.KW_TABLES); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterpublicationstmt(): AlterpublicationstmtContext { let _localctx: AlterpublicationstmtContext = new AlterpublicationstmtContext(this._ctx, this.state); this.enterRule(_localctx, 796, PostgreSQLParser.RULE_alterpublicationstmt); try { this.state = 7760; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 685, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 7722; this.match(PostgreSQLParser.KW_ALTER); this.state = 7723; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 7724; this.name(); this.state = 7725; this.match(PostgreSQLParser.KW_SET); this.state = 7726; this.definition(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 7728; this.match(PostgreSQLParser.KW_ALTER); this.state = 7729; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 7730; this.name(); this.state = 7731; this.match(PostgreSQLParser.KW_ADD); this.state = 7732; this.publication_relation_expr_list(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 7734; this.match(PostgreSQLParser.KW_ALTER); this.state = 7735; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 7736; this.name(); this.state = 7737; this.match(PostgreSQLParser.KW_SET); this.state = 7738; this.publication_relation_expr_list(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 7740; this.match(PostgreSQLParser.KW_ALTER); this.state = 7741; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 7742; this.name(); this.state = 7743; this.match(PostgreSQLParser.KW_DROP); this.state = 7744; this.publication_relation_expr_list(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 7746; this.match(PostgreSQLParser.KW_ALTER); this.state = 7747; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 7748; this.name(); this.state = 7749; this.match(PostgreSQLParser.KW_OWNER); this.state = 7750; this.match(PostgreSQLParser.KW_TO); this.state = 7751; this.rolespec(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 7753; this.match(PostgreSQLParser.KW_ALTER); this.state = 7754; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 7755; this.name(); this.state = 7756; this.match(PostgreSQLParser.KW_RENAME); this.state = 7757; this.match(PostgreSQLParser.KW_TO); this.state = 7758; this.name(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createsubscriptionstmt(): CreatesubscriptionstmtContext { let _localctx: CreatesubscriptionstmtContext = new CreatesubscriptionstmtContext(this._ctx, this.state); this.enterRule(_localctx, 798, PostgreSQLParser.RULE_createsubscriptionstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 7762; this.match(PostgreSQLParser.KW_CREATE); this.state = 7763; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 7764; this.name(); this.state = 7765; this.match(PostgreSQLParser.KW_CONNECTION); this.state = 7766; this.sconst(); this.state = 7767; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 7768; this.publication_name_list(); this.state = 7770; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 686, this._ctx) ) { case 1: { this.state = 7769; this.opt_definition(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public publication_name_list(): Publication_name_listContext { let _localctx: Publication_name_listContext = new Publication_name_listContext(this._ctx, this.state); this.enterRule(_localctx, 800, PostgreSQLParser.RULE_publication_name_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 7772; this.publication_name_item(); this.state = 7777; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 7773; this.match(PostgreSQLParser.COMMA); this.state = 7774; this.publication_name_item(); } } this.state = 7779; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public publication_name_item(): Publication_name_itemContext { let _localctx: Publication_name_itemContext = new Publication_name_itemContext(this._ctx, this.state); this.enterRule(_localctx, 802, PostgreSQLParser.RULE_publication_name_item); try { this.enterOuterAlt(_localctx, 1); { this.state = 7780; this.collabel(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public altersubscriptionstmt(): AltersubscriptionstmtContext { let _localctx: AltersubscriptionstmtContext = new AltersubscriptionstmtContext(this._ctx, this.state); this.enterRule(_localctx, 804, PostgreSQLParser.RULE_altersubscriptionstmt); try { this.state = 7860; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 692, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 7782; this.match(PostgreSQLParser.KW_ALTER); this.state = 7783; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 7784; this.name(); this.state = 7785; this.match(PostgreSQLParser.KW_SET); this.state = 7786; this.definition(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 7788; this.match(PostgreSQLParser.KW_ALTER); this.state = 7789; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 7790; this.name(); this.state = 7791; this.match(PostgreSQLParser.KW_CONNECTION); this.state = 7792; this.sconst(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 7794; this.match(PostgreSQLParser.KW_ALTER); this.state = 7795; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 7796; this.name(); this.state = 7797; this.match(PostgreSQLParser.KW_REFRESH); this.state = 7798; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 7800; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 688, this._ctx) ) { case 1: { this.state = 7799; this.opt_definition(); } break; } } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 7802; this.match(PostgreSQLParser.KW_ALTER); this.state = 7803; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 7804; this.name(); this.state = 7805; this.match(PostgreSQLParser.KW_SET); this.state = 7806; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 7807; this.publication_name_list(); this.state = 7809; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 689, this._ctx) ) { case 1: { this.state = 7808; this.opt_definition(); } break; } } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 7811; this.match(PostgreSQLParser.KW_ALTER); this.state = 7812; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 7813; this.name(); this.state = 7814; this.match(PostgreSQLParser.KW_ADD); this.state = 7815; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 7816; this.publication_name_list(); this.state = 7818; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 690, this._ctx) ) { case 1: { this.state = 7817; this.opt_definition(); } break; } } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 7820; this.match(PostgreSQLParser.KW_ALTER); this.state = 7821; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 7822; this.name(); this.state = 7823; this.match(PostgreSQLParser.KW_DROP); this.state = 7824; this.match(PostgreSQLParser.KW_PUBLICATION); this.state = 7825; this.publication_name_list(); this.state = 7827; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 691, this._ctx) ) { case 1: { this.state = 7826; this.opt_definition(); } break; } } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 7829; this.match(PostgreSQLParser.KW_ALTER); this.state = 7830; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 7831; this.name(); this.state = 7832; this.match(PostgreSQLParser.KW_ENABLE); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 7834; this.match(PostgreSQLParser.KW_ALTER); this.state = 7835; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 7836; this.name(); this.state = 7837; this.match(PostgreSQLParser.KW_DISABLE); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 7839; this.match(PostgreSQLParser.KW_ALTER); this.state = 7840; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 7841; this.name(); this.state = 7842; this.match(PostgreSQLParser.KW_SET); this.state = 7843; this.definition(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 7845; this.match(PostgreSQLParser.KW_ALTER); this.state = 7846; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 7847; this.name(); this.state = 7848; this.match(PostgreSQLParser.KW_SKIP); this.state = 7849; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 7850; this.old_aggr_elem(); this.state = 7851; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 7853; this.match(PostgreSQLParser.KW_ALTER); this.state = 7854; this.match(PostgreSQLParser.KW_SUBSCRIPTION); this.state = 7855; this.name(); this.state = 7856; this.match(PostgreSQLParser.KW_OWNER); this.state = 7857; this.match(PostgreSQLParser.KW_TO); this.state = 7858; this.rolespec(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public rulestmt(): RulestmtContext { let _localctx: RulestmtContext = new RulestmtContext(this._ctx, this.state); this.enterRule(_localctx, 806, PostgreSQLParser.RULE_rulestmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 7862; this.match(PostgreSQLParser.KW_CREATE); this.state = 7864; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OR) { { this.state = 7863; this.opt_or_replace(); } } this.state = 7866; this.match(PostgreSQLParser.KW_RULE); this.state = 7867; this.name(); this.state = 7868; this.match(PostgreSQLParser.KW_AS); this.state = 7869; this.match(PostgreSQLParser.KW_ON); this.state = 7870; this.event(); this.state = 7871; this.match(PostgreSQLParser.KW_TO); this.state = 7872; this.qualified_name(); this.state = 7874; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHERE) { { this.state = 7873; this.where_clause(); } } this.state = 7876; this.match(PostgreSQLParser.KW_DO); this.state = 7878; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ALSO || _la === PostgreSQLParser.KW_INSTEAD) { { this.state = 7877; this.opt_instead(); } } this.state = 7880; this.ruleactionlist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public ruleactionlist(): RuleactionlistContext { let _localctx: RuleactionlistContext = new RuleactionlistContext(this._ctx, this.state); this.enterRule(_localctx, 808, PostgreSQLParser.RULE_ruleactionlist); try { this.state = 7888; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 696, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 7882; this.match(PostgreSQLParser.KW_NOTHING); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 7883; this.ruleactionstmt(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 7884; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 7885; this.ruleactionmulti(); this.state = 7886; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public ruleactionmulti(): RuleactionmultiContext { let _localctx: RuleactionmultiContext = new RuleactionmultiContext(this._ctx, this.state); this.enterRule(_localctx, 810, PostgreSQLParser.RULE_ruleactionmulti); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 7891; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN || ((((_la - 88)) & ~0x1F) === 0 && ((1 << (_la - 88)) & ((1 << (PostgreSQLParser.KW_SELECT - 88)) | (1 << (PostgreSQLParser.KW_TABLE - 88)) | (1 << (PostgreSQLParser.KW_WITH - 88)))) !== 0) || _la === PostgreSQLParser.KW_DELETE || _la === PostgreSQLParser.KW_INSERT || _la === PostgreSQLParser.KW_NOTIFY || _la === PostgreSQLParser.KW_UPDATE || _la === PostgreSQLParser.KW_VALUES) { { this.state = 7890; this.ruleactionstmtOrEmpty(); } } this.state = 7899; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.SEMI) { { { this.state = 7893; this.match(PostgreSQLParser.SEMI); this.state = 7895; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN || ((((_la - 88)) & ~0x1F) === 0 && ((1 << (_la - 88)) & ((1 << (PostgreSQLParser.KW_SELECT - 88)) | (1 << (PostgreSQLParser.KW_TABLE - 88)) | (1 << (PostgreSQLParser.KW_WITH - 88)))) !== 0) || _la === PostgreSQLParser.KW_DELETE || _la === PostgreSQLParser.KW_INSERT || _la === PostgreSQLParser.KW_NOTIFY || _la === PostgreSQLParser.KW_UPDATE || _la === PostgreSQLParser.KW_VALUES) { { this.state = 7894; this.ruleactionstmtOrEmpty(); } } } } this.state = 7901; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public ruleactionstmt(): RuleactionstmtContext { let _localctx: RuleactionstmtContext = new RuleactionstmtContext(this._ctx, this.state); this.enterRule(_localctx, 812, PostgreSQLParser.RULE_ruleactionstmt); try { this.state = 7907; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 700, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 7902; this.selectstmt(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 7903; this.insertstmt(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 7904; this.updatestmt(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 7905; this.deletestmt(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 7906; this.notifystmt(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public ruleactionstmtOrEmpty(): RuleactionstmtOrEmptyContext { let _localctx: RuleactionstmtOrEmptyContext = new RuleactionstmtOrEmptyContext(this._ctx, this.state); this.enterRule(_localctx, 814, PostgreSQLParser.RULE_ruleactionstmtOrEmpty); try { this.enterOuterAlt(_localctx, 1); { this.state = 7909; this.ruleactionstmt(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public event(): EventContext { let _localctx: EventContext = new EventContext(this._ctx, this.state); this.enterRule(_localctx, 816, PostgreSQLParser.RULE_event); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 7911; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_SELECT || _la === PostgreSQLParser.KW_DELETE || _la === PostgreSQLParser.KW_INSERT || _la === PostgreSQLParser.KW_UPDATE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_instead(): Opt_insteadContext { let _localctx: Opt_insteadContext = new Opt_insteadContext(this._ctx, this.state); this.enterRule(_localctx, 818, PostgreSQLParser.RULE_opt_instead); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 7913; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_ALSO || _la === PostgreSQLParser.KW_INSTEAD)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public notifystmt(): NotifystmtContext { let _localctx: NotifystmtContext = new NotifystmtContext(this._ctx, this.state); this.enterRule(_localctx, 820, PostgreSQLParser.RULE_notifystmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 7915; this.match(PostgreSQLParser.KW_NOTIFY); this.state = 7916; this.colid(); this.state = 7918; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.COMMA) { { this.state = 7917; this.notify_payload(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public notify_payload(): Notify_payloadContext { let _localctx: Notify_payloadContext = new Notify_payloadContext(this._ctx, this.state); this.enterRule(_localctx, 822, PostgreSQLParser.RULE_notify_payload); try { this.enterOuterAlt(_localctx, 1); { this.state = 7920; this.match(PostgreSQLParser.COMMA); this.state = 7921; this.sconst(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public listenstmt(): ListenstmtContext { let _localctx: ListenstmtContext = new ListenstmtContext(this._ctx, this.state); this.enterRule(_localctx, 824, PostgreSQLParser.RULE_listenstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 7923; this.match(PostgreSQLParser.KW_LISTEN); this.state = 7924; this.colid(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public unlistenstmt(): UnlistenstmtContext { let _localctx: UnlistenstmtContext = new UnlistenstmtContext(this._ctx, this.state); this.enterRule(_localctx, 826, PostgreSQLParser.RULE_unlistenstmt); try { this.state = 7930; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 702, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 7926; this.match(PostgreSQLParser.KW_UNLISTEN); this.state = 7927; this.colid(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 7928; this.match(PostgreSQLParser.KW_UNLISTEN); this.state = 7929; this.match(PostgreSQLParser.STAR); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public transactionstmt(): TransactionstmtContext { let _localctx: TransactionstmtContext = new TransactionstmtContext(this._ctx, this.state); this.enterRule(_localctx, 828, PostgreSQLParser.RULE_transactionstmt); let _la: number; try { this.state = 8001; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 716, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 7932; this.match(PostgreSQLParser.KW_ABORT); this.state = 7934; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 703, this._ctx) ) { case 1: { this.state = 7933; this.opt_transaction(); } break; } this.state = 7937; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 704, this._ctx) ) { case 1: { this.state = 7936; this.opt_transaction_chain(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 7939; this.match(PostgreSQLParser.KW_BEGIN); this.state = 7941; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 705, this._ctx) ) { case 1: { this.state = 7940; this.opt_transaction(); } break; } this.state = 7944; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 706, this._ctx) ) { case 1: { this.state = 7943; this.transaction_mode_list_or_empty(); } break; } } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 7946; this.match(PostgreSQLParser.KW_START); this.state = 7947; this.match(PostgreSQLParser.KW_TRANSACTION); this.state = 7949; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 707, this._ctx) ) { case 1: { this.state = 7948; this.transaction_mode_list_or_empty(); } break; } } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 7951; this.match(PostgreSQLParser.KW_COMMIT); this.state = 7953; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 708, this._ctx) ) { case 1: { this.state = 7952; this.opt_transaction(); } break; } this.state = 7956; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 709, this._ctx) ) { case 1: { this.state = 7955; this.opt_transaction_chain(); } break; } } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 7958; this.match(PostgreSQLParser.KW_END); this.state = 7960; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 710, this._ctx) ) { case 1: { this.state = 7959; this.opt_transaction(); } break; } this.state = 7963; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 711, this._ctx) ) { case 1: { this.state = 7962; this.opt_transaction_chain(); } break; } } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 7965; this.match(PostgreSQLParser.KW_ROLLBACK); this.state = 7967; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 712, this._ctx) ) { case 1: { this.state = 7966; this.opt_transaction(); } break; } this.state = 7970; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 713, this._ctx) ) { case 1: { this.state = 7969; this.opt_transaction_chain(); } break; } } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 7972; this.match(PostgreSQLParser.KW_SAVEPOINT); this.state = 7973; this.colid(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 7974; this.match(PostgreSQLParser.KW_RELEASE); this.state = 7975; this.match(PostgreSQLParser.KW_SAVEPOINT); this.state = 7976; this.colid(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 7977; this.match(PostgreSQLParser.KW_RELEASE); this.state = 7978; this.colid(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 7979; this.match(PostgreSQLParser.KW_ROLLBACK); this.state = 7981; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_TRANSACTION || _la === PostgreSQLParser.KW_WORK) { { this.state = 7980; this.opt_transaction(); } } this.state = 7983; this.match(PostgreSQLParser.KW_TO); this.state = 7984; this.match(PostgreSQLParser.KW_SAVEPOINT); this.state = 7985; this.colid(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 7986; this.match(PostgreSQLParser.KW_ROLLBACK); this.state = 7988; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_TRANSACTION || _la === PostgreSQLParser.KW_WORK) { { this.state = 7987; this.opt_transaction(); } } this.state = 7990; this.match(PostgreSQLParser.KW_TO); this.state = 7991; this.colid(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 7992; this.match(PostgreSQLParser.KW_PREPARE); this.state = 7993; this.match(PostgreSQLParser.KW_TRANSACTION); this.state = 7994; this.sconst(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 7995; this.match(PostgreSQLParser.KW_COMMIT); this.state = 7996; this.match(PostgreSQLParser.KW_PREPARED); this.state = 7997; this.sconst(); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 7998; this.match(PostgreSQLParser.KW_ROLLBACK); this.state = 7999; this.match(PostgreSQLParser.KW_PREPARED); this.state = 8000; this.sconst(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_transaction(): Opt_transactionContext { let _localctx: Opt_transactionContext = new Opt_transactionContext(this._ctx, this.state); this.enterRule(_localctx, 830, PostgreSQLParser.RULE_opt_transaction); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8003; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_TRANSACTION || _la === PostgreSQLParser.KW_WORK)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public transaction_mode_item(): Transaction_mode_itemContext { let _localctx: Transaction_mode_itemContext = new Transaction_mode_itemContext(this._ctx, this.state); this.enterRule(_localctx, 832, PostgreSQLParser.RULE_transaction_mode_item); try { this.state = 8015; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 717, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 8005; this.match(PostgreSQLParser.KW_ISOLATION); this.state = 8006; this.match(PostgreSQLParser.KW_LEVEL); this.state = 8007; this.iso_level(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8008; this.match(PostgreSQLParser.KW_READ); this.state = 8009; this.match(PostgreSQLParser.KW_ONLY); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 8010; this.match(PostgreSQLParser.KW_READ); this.state = 8011; this.match(PostgreSQLParser.KW_WRITE); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 8012; this.match(PostgreSQLParser.KW_DEFERRABLE); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 8013; this.match(PostgreSQLParser.KW_NOT); this.state = 8014; this.match(PostgreSQLParser.KW_DEFERRABLE); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public transaction_mode_list(): Transaction_mode_listContext { let _localctx: Transaction_mode_listContext = new Transaction_mode_listContext(this._ctx, this.state); this.enterRule(_localctx, 834, PostgreSQLParser.RULE_transaction_mode_list); let _la: number; try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 8017; this.transaction_mode_item(); this.state = 8024; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 719, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 8019; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.COMMA) { { this.state = 8018; this.match(PostgreSQLParser.COMMA); } } this.state = 8021; this.transaction_mode_item(); } } } this.state = 8026; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 719, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public transaction_mode_list_or_empty(): Transaction_mode_list_or_emptyContext { let _localctx: Transaction_mode_list_or_emptyContext = new Transaction_mode_list_or_emptyContext(this._ctx, this.state); this.enterRule(_localctx, 836, PostgreSQLParser.RULE_transaction_mode_list_or_empty); try { this.enterOuterAlt(_localctx, 1); { this.state = 8027; this.transaction_mode_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_transaction_chain(): Opt_transaction_chainContext { let _localctx: Opt_transaction_chainContext = new Opt_transaction_chainContext(this._ctx, this.state); this.enterRule(_localctx, 838, PostgreSQLParser.RULE_opt_transaction_chain); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8029; this.match(PostgreSQLParser.KW_AND); this.state = 8031; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NO) { { this.state = 8030; this.match(PostgreSQLParser.KW_NO); } } this.state = 8033; this.match(PostgreSQLParser.KW_CHAIN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public viewstmt(): ViewstmtContext { let _localctx: ViewstmtContext = new ViewstmtContext(this._ctx, this.state); this.enterRule(_localctx, 840, PostgreSQLParser.RULE_viewstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8035; this.match(PostgreSQLParser.KW_CREATE); this.state = 8038; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OR) { { this.state = 8036; this.match(PostgreSQLParser.KW_OR); this.state = 8037; this.match(PostgreSQLParser.KW_REPLACE); } } this.state = 8041; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_GLOBAL || _la === PostgreSQLParser.KW_LOCAL || ((((_la - 352)) & ~0x1F) === 0 && ((1 << (_la - 352)) & ((1 << (PostgreSQLParser.KW_TEMP - 352)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 352)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 352)))) !== 0)) { { this.state = 8040; this.opttemp(); } } this.state = 8060; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_VIEW: { this.state = 8043; this.match(PostgreSQLParser.KW_VIEW); this.state = 8044; this.view_name_create(); this.state = 8046; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 8045; this.opt_column_list(); } } this.state = 8049; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WITH) { { this.state = 8048; this.opt_reloptions(); } } } break; case PostgreSQLParser.KW_RECURSIVE: { this.state = 8051; this.match(PostgreSQLParser.KW_RECURSIVE); this.state = 8052; this.match(PostgreSQLParser.KW_VIEW); this.state = 8053; this.view_name_create(); this.state = 8054; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8055; this.columnlist(); this.state = 8056; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 8058; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WITH) { { this.state = 8057; this.opt_reloptions(); } } } break; default: throw new NoViableAltException(this); } this.state = 8062; this.match(PostgreSQLParser.KW_AS); this.state = 8063; this.selectstmt(); this.state = 8065; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 727, this._ctx) ) { case 1: { this.state = 8064; this.opt_check_option(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_check_option(): Opt_check_optionContext { let _localctx: Opt_check_optionContext = new Opt_check_optionContext(this._ctx, this.state); this.enterRule(_localctx, 842, PostgreSQLParser.RULE_opt_check_option); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8067; this.match(PostgreSQLParser.KW_WITH); this.state = 8069; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_CASCADED || _la === PostgreSQLParser.KW_LOCAL) { { this.state = 8068; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_CASCADED || _la === PostgreSQLParser.KW_LOCAL)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } this.state = 8071; this.match(PostgreSQLParser.KW_CHECK); this.state = 8072; this.match(PostgreSQLParser.KW_OPTION); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public loadstmt(): LoadstmtContext { let _localctx: LoadstmtContext = new LoadstmtContext(this._ctx, this.state); this.enterRule(_localctx, 844, PostgreSQLParser.RULE_loadstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 8074; this.match(PostgreSQLParser.KW_LOAD); this.state = 8075; this.file_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createdbstmt(): CreatedbstmtContext { let _localctx: CreatedbstmtContext = new CreatedbstmtContext(this._ctx, this.state); this.enterRule(_localctx, 846, PostgreSQLParser.RULE_createdbstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 8077; this.match(PostgreSQLParser.KW_CREATE); this.state = 8078; this.match(PostgreSQLParser.KW_DATABASE); this.state = 8079; this.database_name_create(); this.state = 8081; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 729, this._ctx) ) { case 1: { this.state = 8080; this.opt_with(); } break; } this.state = 8084; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 730, this._ctx) ) { case 1: { this.state = 8083; this.createdb_opt_list(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createdb_opt_list(): Createdb_opt_listContext { let _localctx: Createdb_opt_listContext = new Createdb_opt_listContext(this._ctx, this.state); this.enterRule(_localctx, 848, PostgreSQLParser.RULE_createdb_opt_list); try { this.enterOuterAlt(_localctx, 1); { this.state = 8086; this.createdb_opt_items(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createdb_opt_items(): Createdb_opt_itemsContext { let _localctx: Createdb_opt_itemsContext = new Createdb_opt_itemsContext(this._ctx, this.state); this.enterRule(_localctx, 850, PostgreSQLParser.RULE_createdb_opt_items); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 8089; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 8088; this.createdb_opt_item(); } } break; default: throw new NoViableAltException(this); } this.state = 8091; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 731, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createdb_opt_item(): Createdb_opt_itemContext { let _localctx: Createdb_opt_itemContext = new Createdb_opt_itemContext(this._ctx, this.state); this.enterRule(_localctx, 852, PostgreSQLParser.RULE_createdb_opt_item); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8093; this.createdb_opt_name(); this.state = 8095; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.EQUAL) { { this.state = 8094; this.opt_equal(); } } this.state = 8100; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 733, this._ctx) ) { case 1: { this.state = 8097; this.signediconst(); } break; case 2: { this.state = 8098; this.opt_boolean_or_string(); } break; case 3: { this.state = 8099; this.match(PostgreSQLParser.KW_DEFAULT); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createdb_opt_name(): Createdb_opt_nameContext { let _localctx: Createdb_opt_nameContext = new Createdb_opt_nameContext(this._ctx, this.state); this.enterRule(_localctx, 854, PostgreSQLParser.RULE_createdb_opt_name); try { this.state = 8110; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 8102; this.identifier(); } break; case PostgreSQLParser.KW_CONNECTION: this.enterOuterAlt(_localctx, 2); { this.state = 8103; this.match(PostgreSQLParser.KW_CONNECTION); this.state = 8104; this.match(PostgreSQLParser.KW_LIMIT); } break; case PostgreSQLParser.KW_ENCODING: this.enterOuterAlt(_localctx, 3); { this.state = 8105; this.match(PostgreSQLParser.KW_ENCODING); } break; case PostgreSQLParser.KW_LOCATION: this.enterOuterAlt(_localctx, 4); { this.state = 8106; this.match(PostgreSQLParser.KW_LOCATION); } break; case PostgreSQLParser.KW_OWNER: this.enterOuterAlt(_localctx, 5); { this.state = 8107; this.match(PostgreSQLParser.KW_OWNER); } break; case PostgreSQLParser.KW_TABLESPACE: this.enterOuterAlt(_localctx, 6); { this.state = 8108; this.match(PostgreSQLParser.KW_TABLESPACE); } break; case PostgreSQLParser.KW_TEMPLATE: this.enterOuterAlt(_localctx, 7); { this.state = 8109; this.match(PostgreSQLParser.KW_TEMPLATE); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_equal(): Opt_equalContext { let _localctx: Opt_equalContext = new Opt_equalContext(this._ctx, this.state); this.enterRule(_localctx, 856, PostgreSQLParser.RULE_opt_equal); try { this.enterOuterAlt(_localctx, 1); { this.state = 8112; this.match(PostgreSQLParser.EQUAL); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterdatabasestmt(): AlterdatabasestmtContext { let _localctx: AlterdatabasestmtContext = new AlterdatabasestmtContext(this._ctx, this.state); this.enterRule(_localctx, 858, PostgreSQLParser.RULE_alterdatabasestmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8114; this.match(PostgreSQLParser.KW_ALTER); this.state = 8115; this.match(PostgreSQLParser.KW_DATABASE); this.state = 8116; this.database_name(); this.state = 8131; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 739, this._ctx) ) { case 1: { this.state = 8121; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 736, this._ctx) ) { case 1: { this.state = 8118; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WITH) { { this.state = 8117; this.match(PostgreSQLParser.KW_WITH); } } this.state = 8120; this.createdb_opt_list(); } break; } } break; case 2: { this.state = 8124; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 737, this._ctx) ) { case 1: { this.state = 8123; this.createdb_opt_list(); } break; } } break; case 3: { this.state = 8129; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 738, this._ctx) ) { case 1: { this.state = 8126; this.match(PostgreSQLParser.KW_SET); this.state = 8127; this.match(PostgreSQLParser.KW_TABLESPACE); this.state = 8128; this.tablespace_name_create(); } break; } } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterdatabasesetstmt(): AlterdatabasesetstmtContext { let _localctx: AlterdatabasesetstmtContext = new AlterdatabasesetstmtContext(this._ctx, this.state); this.enterRule(_localctx, 860, PostgreSQLParser.RULE_alterdatabasesetstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 8133; this.match(PostgreSQLParser.KW_ALTER); this.state = 8134; this.match(PostgreSQLParser.KW_DATABASE); this.state = 8135; this.database_name(); this.state = 8137; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 740, this._ctx) ) { case 1: { this.state = 8136; this.setresetclause(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public drop_option_list(): Drop_option_listContext { let _localctx: Drop_option_listContext = new Drop_option_listContext(this._ctx, this.state); this.enterRule(_localctx, 862, PostgreSQLParser.RULE_drop_option_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8139; this.drop_option(); this.state = 8144; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 8140; this.match(PostgreSQLParser.COMMA); this.state = 8141; this.drop_option(); } } this.state = 8146; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public drop_option(): Drop_optionContext { let _localctx: Drop_optionContext = new Drop_optionContext(this._ctx, this.state); this.enterRule(_localctx, 864, PostgreSQLParser.RULE_drop_option); try { this.enterOuterAlt(_localctx, 1); { this.state = 8147; this.match(PostgreSQLParser.KW_FORCE); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public altercollationstmt(): AltercollationstmtContext { let _localctx: AltercollationstmtContext = new AltercollationstmtContext(this._ctx, this.state); this.enterRule(_localctx, 866, PostgreSQLParser.RULE_altercollationstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 8149; this.match(PostgreSQLParser.KW_ALTER); this.state = 8150; this.match(PostgreSQLParser.KW_COLLATION); this.state = 8151; this.any_name(); this.state = 8152; this.match(PostgreSQLParser.KW_REFRESH); this.state = 8153; this.match(PostgreSQLParser.KW_VERSION); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public altersystemstmt(): AltersystemstmtContext { let _localctx: AltersystemstmtContext = new AltersystemstmtContext(this._ctx, this.state); this.enterRule(_localctx, 868, PostgreSQLParser.RULE_altersystemstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8155; this.match(PostgreSQLParser.KW_ALTER); this.state = 8156; this.match(PostgreSQLParser.KW_SYSTEM); this.state = 8157; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_RESET || _la === PostgreSQLParser.KW_SET)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 8158; this.generic_set(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createdomainstmt(): CreatedomainstmtContext { let _localctx: CreatedomainstmtContext = new CreatedomainstmtContext(this._ctx, this.state); this.enterRule(_localctx, 870, PostgreSQLParser.RULE_createdomainstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8160; this.match(PostgreSQLParser.KW_CREATE); this.state = 8161; this.match(PostgreSQLParser.KW_DOMAIN); this.state = 8162; this.any_name(); this.state = 8164; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AS) { { this.state = 8163; this.opt_as(); } } this.state = 8166; this.typename(); this.state = 8167; this.colquallist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alterdomainstmt(): AlterdomainstmtContext { let _localctx: AlterdomainstmtContext = new AlterdomainstmtContext(this._ctx, this.state); this.enterRule(_localctx, 872, PostgreSQLParser.RULE_alterdomainstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 8169; this.match(PostgreSQLParser.KW_ALTER); this.state = 8170; this.match(PostgreSQLParser.KW_DOMAIN); this.state = 8171; this.any_name(); this.state = 8193; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 745, this._ctx) ) { case 1: { this.state = 8172; this.alter_column_default(); } break; case 2: { this.state = 8173; this.match(PostgreSQLParser.KW_DROP); this.state = 8174; this.match(PostgreSQLParser.KW_NOT); this.state = 8175; this.match(PostgreSQLParser.KW_NULL); } break; case 3: { this.state = 8176; this.match(PostgreSQLParser.KW_SET); this.state = 8177; this.match(PostgreSQLParser.KW_NOT); this.state = 8178; this.match(PostgreSQLParser.KW_NULL); } break; case 4: { this.state = 8179; this.match(PostgreSQLParser.KW_ADD); this.state = 8180; this.tableconstraint(); } break; case 5: { this.state = 8181; this.match(PostgreSQLParser.KW_DROP); this.state = 8182; this.match(PostgreSQLParser.KW_CONSTRAINT); this.state = 8184; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 743, this._ctx) ) { case 1: { this.state = 8183; this.opt_if_exists(); } break; } this.state = 8186; this.name(); this.state = 8188; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 744, this._ctx) ) { case 1: { this.state = 8187; this.opt_drop_behavior(); } break; } } break; case 6: { this.state = 8190; this.match(PostgreSQLParser.KW_VALIDATE); this.state = 8191; this.match(PostgreSQLParser.KW_CONSTRAINT); this.state = 8192; this.name(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_as(): Opt_asContext { let _localctx: Opt_asContext = new Opt_asContext(this._ctx, this.state); this.enterRule(_localctx, 874, PostgreSQLParser.RULE_opt_as); try { this.enterOuterAlt(_localctx, 1); { this.state = 8195; this.match(PostgreSQLParser.KW_AS); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public altertsdictionarystmt(): AltertsdictionarystmtContext { let _localctx: AltertsdictionarystmtContext = new AltertsdictionarystmtContext(this._ctx, this.state); this.enterRule(_localctx, 876, PostgreSQLParser.RULE_altertsdictionarystmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 8197; this.match(PostgreSQLParser.KW_ALTER); this.state = 8198; this.match(PostgreSQLParser.KW_TEXT); this.state = 8199; this.match(PostgreSQLParser.KW_SEARCH); this.state = 8200; this.match(PostgreSQLParser.KW_DICTIONARY); this.state = 8201; this.any_name(); this.state = 8202; this.definition(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public altertsconfigurationstmt(): AltertsconfigurationstmtContext { let _localctx: AltertsconfigurationstmtContext = new AltertsconfigurationstmtContext(this._ctx, this.state); this.enterRule(_localctx, 878, PostgreSQLParser.RULE_altertsconfigurationstmt); let _la: number; try { this.state = 8267; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 747, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 8204; this.match(PostgreSQLParser.KW_ALTER); this.state = 8205; this.match(PostgreSQLParser.KW_TEXT); this.state = 8206; this.match(PostgreSQLParser.KW_SEARCH); this.state = 8207; this.match(PostgreSQLParser.KW_CONFIGURATION); this.state = 8208; this.any_name(); this.state = 8209; this.match(PostgreSQLParser.KW_ADD); this.state = 8210; this.match(PostgreSQLParser.KW_MAPPING); this.state = 8211; this.match(PostgreSQLParser.KW_FOR); this.state = 8212; this.name_list(); this.state = 8213; this.any_with(); this.state = 8214; this.any_name_list(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8216; this.match(PostgreSQLParser.KW_ALTER); this.state = 8217; this.match(PostgreSQLParser.KW_TEXT); this.state = 8218; this.match(PostgreSQLParser.KW_SEARCH); this.state = 8219; this.match(PostgreSQLParser.KW_CONFIGURATION); this.state = 8220; this.any_name(); this.state = 8221; this.match(PostgreSQLParser.KW_ALTER); this.state = 8222; this.match(PostgreSQLParser.KW_MAPPING); this.state = 8223; this.match(PostgreSQLParser.KW_FOR); this.state = 8224; this.name_list(); this.state = 8225; this.any_with(); this.state = 8226; this.any_name_list(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 8228; this.match(PostgreSQLParser.KW_ALTER); this.state = 8229; this.match(PostgreSQLParser.KW_TEXT); this.state = 8230; this.match(PostgreSQLParser.KW_SEARCH); this.state = 8231; this.match(PostgreSQLParser.KW_CONFIGURATION); this.state = 8232; this.any_name(); this.state = 8233; this.match(PostgreSQLParser.KW_ALTER); this.state = 8234; this.match(PostgreSQLParser.KW_MAPPING); this.state = 8235; this.match(PostgreSQLParser.KW_REPLACE); this.state = 8236; this.any_name(); this.state = 8237; this.any_with(); this.state = 8238; this.any_name(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 8240; this.match(PostgreSQLParser.KW_ALTER); this.state = 8241; this.match(PostgreSQLParser.KW_TEXT); this.state = 8242; this.match(PostgreSQLParser.KW_SEARCH); this.state = 8243; this.match(PostgreSQLParser.KW_CONFIGURATION); this.state = 8244; this.any_name(); this.state = 8245; this.match(PostgreSQLParser.KW_ALTER); this.state = 8246; this.match(PostgreSQLParser.KW_MAPPING); this.state = 8247; this.match(PostgreSQLParser.KW_FOR); this.state = 8248; this.name_list(); this.state = 8249; this.match(PostgreSQLParser.KW_REPLACE); this.state = 8250; this.any_name(); this.state = 8251; this.any_with(); this.state = 8252; this.any_name(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 8254; this.match(PostgreSQLParser.KW_ALTER); this.state = 8255; this.match(PostgreSQLParser.KW_TEXT); this.state = 8256; this.match(PostgreSQLParser.KW_SEARCH); this.state = 8257; this.match(PostgreSQLParser.KW_CONFIGURATION); this.state = 8258; this.any_name(); this.state = 8259; this.match(PostgreSQLParser.KW_DROP); this.state = 8260; this.match(PostgreSQLParser.KW_MAPPING); this.state = 8262; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_IF) { { this.state = 8261; this.opt_if_exists(); } } this.state = 8264; this.match(PostgreSQLParser.KW_FOR); this.state = 8265; this.name_list(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public any_with(): Any_withContext { let _localctx: Any_withContext = new Any_withContext(this._ctx, this.state); this.enterRule(_localctx, 880, PostgreSQLParser.RULE_any_with); try { this.enterOuterAlt(_localctx, 1); { this.state = 8269; this.match(PostgreSQLParser.KW_WITH); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public createconversionstmt(): CreateconversionstmtContext { let _localctx: CreateconversionstmtContext = new CreateconversionstmtContext(this._ctx, this.state); this.enterRule(_localctx, 882, PostgreSQLParser.RULE_createconversionstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8271; this.match(PostgreSQLParser.KW_CREATE); this.state = 8273; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_DEFAULT) { { this.state = 8272; this.opt_default(); } } this.state = 8275; this.match(PostgreSQLParser.KW_CONVERSION); this.state = 8276; this.any_name(); this.state = 8277; this.match(PostgreSQLParser.KW_FOR); this.state = 8278; this.sconst(); this.state = 8279; this.match(PostgreSQLParser.KW_TO); this.state = 8280; this.sconst(); this.state = 8281; this.match(PostgreSQLParser.KW_FROM); this.state = 8282; this.any_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public clusterstmt(): ClusterstmtContext { let _localctx: ClusterstmtContext = new ClusterstmtContext(this._ctx, this.state); this.enterRule(_localctx, 884, PostgreSQLParser.RULE_clusterstmt); let _la: number; try { this.state = 8302; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 753, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 8284; this.match(PostgreSQLParser.KW_CLUSTER); this.state = 8286; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_VERBOSE) { { this.state = 8285; this.opt_verbose(); } } this.state = 8288; this.table_name(); this.state = 8290; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 8289; this.cluster_index_specification(); } } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8292; this.match(PostgreSQLParser.KW_CLUSTER); this.state = 8294; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_VERBOSE) { { this.state = 8293; this.opt_verbose(); } } } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 8296; this.match(PostgreSQLParser.KW_CLUSTER); this.state = 8297; this.opt_verbose_list(); this.state = 8298; this.table_name(); this.state = 8300; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 8299; this.cluster_index_specification(); } } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_verbose_list(): Opt_verbose_listContext { let _localctx: Opt_verbose_listContext = new Opt_verbose_listContext(this._ctx, this.state); this.enterRule(_localctx, 886, PostgreSQLParser.RULE_opt_verbose_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8304; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8305; this.opt_verbose(); this.state = 8310; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 8306; this.match(PostgreSQLParser.COMMA); this.state = 8307; this.opt_verbose(); } } this.state = 8312; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 8313; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public cluster_index_specification(): Cluster_index_specificationContext { let _localctx: Cluster_index_specificationContext = new Cluster_index_specificationContext(this._ctx, this.state); this.enterRule(_localctx, 888, PostgreSQLParser.RULE_cluster_index_specification); try { this.enterOuterAlt(_localctx, 1); { this.state = 8315; this.match(PostgreSQLParser.KW_USING); this.state = 8316; this.name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public vacuumstmt(): VacuumstmtContext { let _localctx: VacuumstmtContext = new VacuumstmtContext(this._ctx, this.state); this.enterRule(_localctx, 890, PostgreSQLParser.RULE_vacuumstmt); let _la: number; try { this.state = 8344; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 762, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 8318; this.match(PostgreSQLParser.KW_VACUUM); this.state = 8320; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FULL) { { this.state = 8319; this.opt_full(); } } this.state = 8323; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FREEZE) { { this.state = 8322; this.opt_freeze(); } } this.state = 8326; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_VERBOSE) { { this.state = 8325; this.opt_verbose(); } } this.state = 8329; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 758, this._ctx) ) { case 1: { this.state = 8328; this.opt_analyze(); } break; } this.state = 8332; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 759, this._ctx) ) { case 1: { this.state = 8331; this.opt_vacuum_relation_list(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8334; this.match(PostgreSQLParser.KW_VACUUM); this.state = 8339; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 760, this._ctx) ) { case 1: { this.state = 8335; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8336; this.vac_analyze_option_list(); this.state = 8337; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } this.state = 8342; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 761, this._ctx) ) { case 1: { this.state = 8341; this.opt_vacuum_relation_list(); } break; } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public analyzestmt(): AnalyzestmtContext { let _localctx: AnalyzestmtContext = new AnalyzestmtContext(this._ctx, this.state); this.enterRule(_localctx, 892, PostgreSQLParser.RULE_analyzestmt); let _la: number; try { this.state = 8360; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 766, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 8346; this.analyze_keyword(); this.state = 8348; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_VERBOSE) { { this.state = 8347; this.opt_verbose(); } } this.state = 8351; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 764, this._ctx) ) { case 1: { this.state = 8350; this.opt_vacuum_relation_list(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8353; this.analyze_keyword(); this.state = 8354; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8355; this.analyze_options_list(); this.state = 8356; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 8358; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 765, this._ctx) ) { case 1: { this.state = 8357; this.opt_vacuum_relation_list(); } break; } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public vac_analyze_option_list(): Vac_analyze_option_listContext { let _localctx: Vac_analyze_option_listContext = new Vac_analyze_option_listContext(this._ctx, this.state); this.enterRule(_localctx, 894, PostgreSQLParser.RULE_vac_analyze_option_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8362; this.vac_analyze_option_elem(); this.state = 8367; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 8363; this.match(PostgreSQLParser.COMMA); this.state = 8364; this.vac_analyze_option_elem(); } } this.state = 8369; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public analyze_keyword(): Analyze_keywordContext { let _localctx: Analyze_keywordContext = new Analyze_keywordContext(this._ctx, this.state); this.enterRule(_localctx, 896, PostgreSQLParser.RULE_analyze_keyword); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8370; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_ANALYSE || _la === PostgreSQLParser.KW_ANALYZE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public vac_analyze_option_elem(): Vac_analyze_option_elemContext { let _localctx: Vac_analyze_option_elemContext = new Vac_analyze_option_elemContext(this._ctx, this.state); this.enterRule(_localctx, 898, PostgreSQLParser.RULE_vac_analyze_option_elem); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8372; this.vac_analyze_option_name(); this.state = 8374; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.PLUS || _la === PostgreSQLParser.MINUS || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FALSE - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 80)) & ~0x1F) === 0 && ((1 << (_la - 80)) & ((1 << (PostgreSQLParser.KW_ON - 80)) | (1 << (PostgreSQLParser.KW_TABLE - 80)) | (1 << (PostgreSQLParser.KW_TRUE - 80)) | (1 << (PostgreSQLParser.KW_AUTHORIZATION - 80)) | (1 << (PostgreSQLParser.KW_BINARY - 80)) | (1 << (PostgreSQLParser.KW_COLLATION - 80)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 80)) | (1 << (PostgreSQLParser.KW_CROSS - 80)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 80)))) !== 0) || ((((_la - 112)) & ~0x1F) === 0 && ((1 << (_la - 112)) & ((1 << (PostgreSQLParser.KW_FREEZE - 112)) | (1 << (PostgreSQLParser.KW_FULL - 112)) | (1 << (PostgreSQLParser.KW_ILIKE - 112)) | (1 << (PostgreSQLParser.KW_INNER - 112)) | (1 << (PostgreSQLParser.KW_IS - 112)) | (1 << (PostgreSQLParser.KW_ISNULL - 112)) | (1 << (PostgreSQLParser.KW_JOIN - 112)) | (1 << (PostgreSQLParser.KW_LEFT - 112)) | (1 << (PostgreSQLParser.KW_LIKE - 112)) | (1 << (PostgreSQLParser.KW_NATURAL - 112)) | (1 << (PostgreSQLParser.KW_NOTNULL - 112)) | (1 << (PostgreSQLParser.KW_OUTER - 112)) | (1 << (PostgreSQLParser.KW_OVER - 112)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 112)) | (1 << (PostgreSQLParser.KW_RIGHT - 112)) | (1 << (PostgreSQLParser.KW_SIMILAR - 112)) | (1 << (PostgreSQLParser.KW_VERBOSE - 112)) | (1 << (PostgreSQLParser.KW_ABORT - 112)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 112)) | (1 << (PostgreSQLParser.KW_ACCESS - 112)) | (1 << (PostgreSQLParser.KW_ACTION - 112)) | (1 << (PostgreSQLParser.KW_ADD - 112)) | (1 << (PostgreSQLParser.KW_ADMIN - 112)) | (1 << (PostgreSQLParser.KW_AFTER - 112)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 112)) | (1 << (PostgreSQLParser.KW_ALSO - 112)) | (1 << (PostgreSQLParser.KW_ALTER - 112)) | (1 << (PostgreSQLParser.KW_ALWAYS - 112)) | (1 << (PostgreSQLParser.KW_ASSERTION - 112)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 112)) | (1 << (PostgreSQLParser.KW_AT - 112)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 112)))) !== 0) || ((((_la - 144)) & ~0x1F) === 0 && ((1 << (_la - 144)) & ((1 << (PostgreSQLParser.KW_BACKWARD - 144)) | (1 << (PostgreSQLParser.KW_BEFORE - 144)) | (1 << (PostgreSQLParser.KW_BEGIN - 144)) | (1 << (PostgreSQLParser.KW_BY - 144)) | (1 << (PostgreSQLParser.KW_CACHE - 144)) | (1 << (PostgreSQLParser.KW_CALLED - 144)) | (1 << (PostgreSQLParser.KW_CASCADE - 144)) | (1 << (PostgreSQLParser.KW_CASCADED - 144)) | (1 << (PostgreSQLParser.KW_CATALOG - 144)) | (1 << (PostgreSQLParser.KW_CHAIN - 144)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 144)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 144)) | (1 << (PostgreSQLParser.KW_CLASS - 144)) | (1 << (PostgreSQLParser.KW_CLOSE - 144)) | (1 << (PostgreSQLParser.KW_CLUSTER - 144)) | (1 << (PostgreSQLParser.KW_COMMENT - 144)) | (1 << (PostgreSQLParser.KW_COMMENTS - 144)) | (1 << (PostgreSQLParser.KW_COMMIT - 144)) | (1 << (PostgreSQLParser.KW_COMMITTED - 144)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 144)) | (1 << (PostgreSQLParser.KW_CONNECTION - 144)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 144)) | (1 << (PostgreSQLParser.KW_CONTENT - 144)) | (1 << (PostgreSQLParser.KW_CONTINUE - 144)) | (1 << (PostgreSQLParser.KW_CONVERSION - 144)) | (1 << (PostgreSQLParser.KW_COPY - 144)) | (1 << (PostgreSQLParser.KW_COST - 144)) | (1 << (PostgreSQLParser.KW_CSV - 144)) | (1 << (PostgreSQLParser.KW_CURSOR - 144)) | (1 << (PostgreSQLParser.KW_CYCLE - 144)) | (1 << (PostgreSQLParser.KW_DATA - 144)) | (1 << (PostgreSQLParser.KW_DATABASE - 144)))) !== 0) || ((((_la - 176)) & ~0x1F) === 0 && ((1 << (_la - 176)) & ((1 << (PostgreSQLParser.KW_DAY - 176)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 176)) | (1 << (PostgreSQLParser.KW_DECLARE - 176)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 176)) | (1 << (PostgreSQLParser.KW_DEFERRED - 176)) | (1 << (PostgreSQLParser.KW_DEFINER - 176)) | (1 << (PostgreSQLParser.KW_DELETE - 176)) | (1 << (PostgreSQLParser.KW_DELIMITER - 176)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 176)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 176)) | (1 << (PostgreSQLParser.KW_DISABLE - 176)) | (1 << (PostgreSQLParser.KW_DISCARD - 176)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 176)) | (1 << (PostgreSQLParser.KW_DOMAIN - 176)) | (1 << (PostgreSQLParser.KW_DOUBLE - 176)) | (1 << (PostgreSQLParser.KW_DROP - 176)) | (1 << (PostgreSQLParser.KW_EACH - 176)) | (1 << (PostgreSQLParser.KW_ENABLE - 176)) | (1 << (PostgreSQLParser.KW_ENCODING - 176)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 176)) | (1 << (PostgreSQLParser.KW_ENUM - 176)) | (1 << (PostgreSQLParser.KW_ESCAPE - 176)) | (1 << (PostgreSQLParser.KW_EVENT - 176)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 176)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 176)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 176)) | (1 << (PostgreSQLParser.KW_EXECUTE - 176)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 176)) | (1 << (PostgreSQLParser.KW_EXTENSION - 176)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 176)) | (1 << (PostgreSQLParser.KW_FAMILY - 176)) | (1 << (PostgreSQLParser.KW_FIRST - 176)))) !== 0) || ((((_la - 208)) & ~0x1F) === 0 && ((1 << (_la - 208)) & ((1 << (PostgreSQLParser.KW_FOLLOWING - 208)) | (1 << (PostgreSQLParser.KW_FORCE - 208)) | (1 << (PostgreSQLParser.KW_FORWARD - 208)) | (1 << (PostgreSQLParser.KW_FUNCTION - 208)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 208)) | (1 << (PostgreSQLParser.KW_GLOBAL - 208)) | (1 << (PostgreSQLParser.KW_GRANTED - 208)) | (1 << (PostgreSQLParser.KW_HANDLER - 208)) | (1 << (PostgreSQLParser.KW_HEADER - 208)) | (1 << (PostgreSQLParser.KW_HOLD - 208)) | (1 << (PostgreSQLParser.KW_HOUR - 208)) | (1 << (PostgreSQLParser.KW_IDENTITY - 208)) | (1 << (PostgreSQLParser.KW_IF - 208)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 208)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 208)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 208)) | (1 << (PostgreSQLParser.KW_INCLUDING - 208)) | (1 << (PostgreSQLParser.KW_INCREMENT - 208)) | (1 << (PostgreSQLParser.KW_INDEX - 208)) | (1 << (PostgreSQLParser.KW_INDEXES - 208)) | (1 << (PostgreSQLParser.KW_INHERIT - 208)) | (1 << (PostgreSQLParser.KW_INHERITS - 208)) | (1 << (PostgreSQLParser.KW_INLINE - 208)))) !== 0) || ((((_la - 240)) & ~0x1F) === 0 && ((1 << (_la - 240)) & ((1 << (PostgreSQLParser.KW_INSENSITIVE - 240)) | (1 << (PostgreSQLParser.KW_INSERT - 240)) | (1 << (PostgreSQLParser.KW_INSTEAD - 240)) | (1 << (PostgreSQLParser.KW_INVOKER - 240)) | (1 << (PostgreSQLParser.KW_ISOLATION - 240)) | (1 << (PostgreSQLParser.KW_KEY - 240)) | (1 << (PostgreSQLParser.KW_LABEL - 240)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 240)) | (1 << (PostgreSQLParser.KW_LARGE - 240)) | (1 << (PostgreSQLParser.KW_LAST - 240)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 240)) | (1 << (PostgreSQLParser.KW_LEVEL - 240)) | (1 << (PostgreSQLParser.KW_LISTEN - 240)) | (1 << (PostgreSQLParser.KW_LOAD - 240)) | (1 << (PostgreSQLParser.KW_LOCAL - 240)) | (1 << (PostgreSQLParser.KW_LOCATION - 240)) | (1 << (PostgreSQLParser.KW_LOCK - 240)) | (1 << (PostgreSQLParser.KW_MAPPING - 240)) | (1 << (PostgreSQLParser.KW_MATCH - 240)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 240)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 240)) | (1 << (PostgreSQLParser.KW_MINUTE - 240)) | (1 << (PostgreSQLParser.KW_MINVALUE - 240)) | (1 << (PostgreSQLParser.KW_MODE - 240)) | (1 << (PostgreSQLParser.KW_MONTH - 240)) | (1 << (PostgreSQLParser.KW_MOVE - 240)) | (1 << (PostgreSQLParser.KW_NAME - 240)) | (1 << (PostgreSQLParser.KW_NAMES - 240)) | (1 << (PostgreSQLParser.KW_NEXT - 240)) | (1 << (PostgreSQLParser.KW_NO - 240)) | (1 << (PostgreSQLParser.KW_NOTHING - 240)) | (1 << (PostgreSQLParser.KW_NOTIFY - 240)))) !== 0) || ((((_la - 272)) & ~0x1F) === 0 && ((1 << (_la - 272)) & ((1 << (PostgreSQLParser.KW_NOWAIT - 272)) | (1 << (PostgreSQLParser.KW_NULLS - 272)) | (1 << (PostgreSQLParser.KW_OBJECT - 272)) | (1 << (PostgreSQLParser.KW_OF - 272)) | (1 << (PostgreSQLParser.KW_OFF - 272)) | (1 << (PostgreSQLParser.KW_OIDS - 272)) | (1 << (PostgreSQLParser.KW_OPERATOR - 272)) | (1 << (PostgreSQLParser.KW_OPTION - 272)) | (1 << (PostgreSQLParser.KW_OPTIONS - 272)) | (1 << (PostgreSQLParser.KW_OWNED - 272)) | (1 << (PostgreSQLParser.KW_OWNER - 272)) | (1 << (PostgreSQLParser.KW_PARSER - 272)) | (1 << (PostgreSQLParser.KW_PARTIAL - 272)) | (1 << (PostgreSQLParser.KW_PARTITION - 272)) | (1 << (PostgreSQLParser.KW_PASSING - 272)) | (1 << (PostgreSQLParser.KW_PASSWORD - 272)) | (1 << (PostgreSQLParser.KW_PLANS - 272)) | (1 << (PostgreSQLParser.KW_PRECEDING - 272)) | (1 << (PostgreSQLParser.KW_PREPARE - 272)) | (1 << (PostgreSQLParser.KW_PREPARED - 272)) | (1 << (PostgreSQLParser.KW_PRESERVE - 272)) | (1 << (PostgreSQLParser.KW_PRIOR - 272)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 272)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 272)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 272)) | (1 << (PostgreSQLParser.KW_PROGRAM - 272)) | (1 << (PostgreSQLParser.KW_QUOTE - 272)) | (1 << (PostgreSQLParser.KW_RANGE - 272)) | (1 << (PostgreSQLParser.KW_READ - 272)) | (1 << (PostgreSQLParser.KW_REASSIGN - 272)) | (1 << (PostgreSQLParser.KW_RECHECK - 272)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 272)))) !== 0) || ((((_la - 304)) & ~0x1F) === 0 && ((1 << (_la - 304)) & ((1 << (PostgreSQLParser.KW_REF - 304)) | (1 << (PostgreSQLParser.KW_REFRESH - 304)) | (1 << (PostgreSQLParser.KW_REINDEX - 304)) | (1 << (PostgreSQLParser.KW_RELATIVE - 304)) | (1 << (PostgreSQLParser.KW_RELEASE - 304)) | (1 << (PostgreSQLParser.KW_RENAME - 304)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 304)) | (1 << (PostgreSQLParser.KW_REPLACE - 304)) | (1 << (PostgreSQLParser.KW_REPLICA - 304)) | (1 << (PostgreSQLParser.KW_RESET - 304)) | (1 << (PostgreSQLParser.KW_RESTART - 304)) | (1 << (PostgreSQLParser.KW_RESTRICT - 304)) | (1 << (PostgreSQLParser.KW_RETURNS - 304)) | (1 << (PostgreSQLParser.KW_REVOKE - 304)) | (1 << (PostgreSQLParser.KW_ROLE - 304)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 304)) | (1 << (PostgreSQLParser.KW_ROWS - 304)) | (1 << (PostgreSQLParser.KW_RULE - 304)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 304)) | (1 << (PostgreSQLParser.KW_SCHEMA - 304)) | (1 << (PostgreSQLParser.KW_SCROLL - 304)) | (1 << (PostgreSQLParser.KW_SEARCH - 304)) | (1 << (PostgreSQLParser.KW_SECOND - 304)) | (1 << (PostgreSQLParser.KW_SECURITY - 304)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 304)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 304)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 304)) | (1 << (PostgreSQLParser.KW_SERVER - 304)) | (1 << (PostgreSQLParser.KW_SESSION - 304)) | (1 << (PostgreSQLParser.KW_SET - 304)) | (1 << (PostgreSQLParser.KW_SHARE - 304)) | (1 << (PostgreSQLParser.KW_SHOW - 304)))) !== 0) || ((((_la - 336)) & ~0x1F) === 0 && ((1 << (_la - 336)) & ((1 << (PostgreSQLParser.KW_SIMPLE - 336)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 336)) | (1 << (PostgreSQLParser.KW_STABLE - 336)) | (1 << (PostgreSQLParser.KW_STANDALONE - 336)) | (1 << (PostgreSQLParser.KW_START - 336)) | (1 << (PostgreSQLParser.KW_STATEMENT - 336)) | (1 << (PostgreSQLParser.KW_STATISTICS - 336)) | (1 << (PostgreSQLParser.KW_STDIN - 336)) | (1 << (PostgreSQLParser.KW_STDOUT - 336)) | (1 << (PostgreSQLParser.KW_STORAGE - 336)) | (1 << (PostgreSQLParser.KW_STRICT - 336)) | (1 << (PostgreSQLParser.KW_STRIP - 336)) | (1 << (PostgreSQLParser.KW_SYSID - 336)) | (1 << (PostgreSQLParser.KW_SYSTEM - 336)) | (1 << (PostgreSQLParser.KW_TABLES - 336)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 336)) | (1 << (PostgreSQLParser.KW_TEMP - 336)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 336)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 336)) | (1 << (PostgreSQLParser.KW_TEXT - 336)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 336)) | (1 << (PostgreSQLParser.KW_TRIGGER - 336)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 336)) | (1 << (PostgreSQLParser.KW_TRUSTED - 336)) | (1 << (PostgreSQLParser.KW_TYPE - 336)) | (1 << (PostgreSQLParser.KW_TYPES - 336)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 336)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 336)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 336)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 336)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 336)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 336)))) !== 0) || ((((_la - 368)) & ~0x1F) === 0 && ((1 << (_la - 368)) & ((1 << (PostgreSQLParser.KW_UNTIL - 368)) | (1 << (PostgreSQLParser.KW_UPDATE - 368)) | (1 << (PostgreSQLParser.KW_VACUUM - 368)) | (1 << (PostgreSQLParser.KW_VALID - 368)) | (1 << (PostgreSQLParser.KW_VALIDATE - 368)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 368)) | (1 << (PostgreSQLParser.KW_VARYING - 368)) | (1 << (PostgreSQLParser.KW_VERSION - 368)) | (1 << (PostgreSQLParser.KW_VIEW - 368)) | (1 << (PostgreSQLParser.KW_VOLATILE - 368)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 368)) | (1 << (PostgreSQLParser.KW_WITHOUT - 368)) | (1 << (PostgreSQLParser.KW_WORK - 368)) | (1 << (PostgreSQLParser.KW_WRAPPER - 368)) | (1 << (PostgreSQLParser.KW_WRITE - 368)) | (1 << (PostgreSQLParser.KW_XML - 368)) | (1 << (PostgreSQLParser.KW_YEAR - 368)) | (1 << (PostgreSQLParser.KW_YES - 368)) | (1 << (PostgreSQLParser.KW_ZONE - 368)) | (1 << (PostgreSQLParser.KW_BETWEEN - 368)) | (1 << (PostgreSQLParser.KW_BIGINT - 368)) | (1 << (PostgreSQLParser.KW_BIT - 368)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 368)) | (1 << (PostgreSQLParser.KW_CHAR - 368)) | (1 << (PostgreSQLParser.KW_CHARACTER - 368)) | (1 << (PostgreSQLParser.KW_COALESCE - 368)) | (1 << (PostgreSQLParser.KW_DEC - 368)) | (1 << (PostgreSQLParser.KW_DECIMAL - 368)) | (1 << (PostgreSQLParser.KW_EXISTS - 368)) | (1 << (PostgreSQLParser.KW_EXTRACT - 368)) | (1 << (PostgreSQLParser.KW_FLOAT - 368)) | (1 << (PostgreSQLParser.KW_GREATEST - 368)))) !== 0) || ((((_la - 400)) & ~0x1F) === 0 && ((1 << (_la - 400)) & ((1 << (PostgreSQLParser.KW_INOUT - 400)) | (1 << (PostgreSQLParser.KW_INT - 400)) | (1 << (PostgreSQLParser.KW_INTEGER - 400)) | (1 << (PostgreSQLParser.KW_INTERVAL - 400)) | (1 << (PostgreSQLParser.KW_LEAST - 400)) | (1 << (PostgreSQLParser.KW_NATIONAL - 400)) | (1 << (PostgreSQLParser.KW_NCHAR - 400)) | (1 << (PostgreSQLParser.KW_NONE - 400)) | (1 << (PostgreSQLParser.KW_NULLIF - 400)) | (1 << (PostgreSQLParser.KW_NUMERIC - 400)) | (1 << (PostgreSQLParser.KW_OVERLAY - 400)) | (1 << (PostgreSQLParser.KW_POSITION - 400)) | (1 << (PostgreSQLParser.KW_PRECISION - 400)) | (1 << (PostgreSQLParser.KW_REAL - 400)) | (1 << (PostgreSQLParser.KW_ROW - 400)) | (1 << (PostgreSQLParser.KW_SETOF - 400)) | (1 << (PostgreSQLParser.KW_SMALLINT - 400)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 400)) | (1 << (PostgreSQLParser.KW_TIME - 400)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 400)) | (1 << (PostgreSQLParser.KW_TREAT - 400)) | (1 << (PostgreSQLParser.KW_TRIM - 400)) | (1 << (PostgreSQLParser.KW_VALUES - 400)) | (1 << (PostgreSQLParser.KW_VARCHAR - 400)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 400)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 400)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 400)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 400)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 400)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 400)) | (1 << (PostgreSQLParser.KW_XMLPI - 400)) | (1 << (PostgreSQLParser.KW_XMLROOT - 400)))) !== 0) || ((((_la - 432)) & ~0x1F) === 0 && ((1 << (_la - 432)) & ((1 << (PostgreSQLParser.KW_XMLSERIALIZE - 432)) | (1 << (PostgreSQLParser.KW_CALL - 432)) | (1 << (PostgreSQLParser.KW_CURRENT - 432)) | (1 << (PostgreSQLParser.KW_ATTACH - 432)) | (1 << (PostgreSQLParser.KW_DETACH - 432)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 432)) | (1 << (PostgreSQLParser.KW_GENERATED - 432)) | (1 << (PostgreSQLParser.KW_LOGGED - 432)) | (1 << (PostgreSQLParser.KW_STORED - 432)) | (1 << (PostgreSQLParser.KW_INCLUDE - 432)) | (1 << (PostgreSQLParser.KW_ROUTINE - 432)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 432)) | (1 << (PostgreSQLParser.KW_IMPORT - 432)) | (1 << (PostgreSQLParser.KW_POLICY - 432)) | (1 << (PostgreSQLParser.KW_METHOD - 432)) | (1 << (PostgreSQLParser.KW_REFERENCING - 432)) | (1 << (PostgreSQLParser.KW_NEW - 432)) | (1 << (PostgreSQLParser.KW_OLD - 432)) | (1 << (PostgreSQLParser.KW_VALUE - 432)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 432)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 432)) | (1 << (PostgreSQLParser.KW_OUT - 432)) | (1 << (PostgreSQLParser.KW_ROUTINES - 432)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 432)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 432)) | (1 << (PostgreSQLParser.KW_INPUT - 432)) | (1 << (PostgreSQLParser.KW_SUPPORT - 432)) | (1 << (PostgreSQLParser.KW_PARALLEL - 432)) | (1 << (PostgreSQLParser.KW_SQL - 432)) | (1 << (PostgreSQLParser.KW_DEPENDS - 432)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 432)))) !== 0) || ((((_la - 464)) & ~0x1F) === 0 && ((1 << (_la - 464)) & ((1 << (PostgreSQLParser.KW_CONFLICT - 464)) | (1 << (PostgreSQLParser.KW_SKIP - 464)) | (1 << (PostgreSQLParser.KW_LOCKED - 464)) | (1 << (PostgreSQLParser.KW_TIES - 464)) | (1 << (PostgreSQLParser.KW_ROLLUP - 464)) | (1 << (PostgreSQLParser.KW_CUBE - 464)) | (1 << (PostgreSQLParser.KW_GROUPING - 464)) | (1 << (PostgreSQLParser.KW_SETS - 464)) | (1 << (PostgreSQLParser.KW_TABLESAMPLE - 464)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 464)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 464)) | (1 << (PostgreSQLParser.KW_COLUMNS - 464)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 464)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 464)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 464)) | (1 << (PostgreSQLParser.KW_WITHIN - 464)) | (1 << (PostgreSQLParser.KW_FILTER - 464)) | (1 << (PostgreSQLParser.KW_GROUPS - 464)) | (1 << (PostgreSQLParser.KW_OTHERS - 464)) | (1 << (PostgreSQLParser.KW_NFC - 464)) | (1 << (PostgreSQLParser.KW_NFD - 464)) | (1 << (PostgreSQLParser.KW_NFKC - 464)) | (1 << (PostgreSQLParser.KW_NFKD - 464)) | (1 << (PostgreSQLParser.KW_UESCAPE - 464)) | (1 << (PostgreSQLParser.KW_VIEWS - 464)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 464)) | (1 << (PostgreSQLParser.KW_DUMP - 464)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 464)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 464)) | (1 << (PostgreSQLParser.KW_ERROR - 464)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 464)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 464)))) !== 0) || ((((_la - 496)) & ~0x1F) === 0 && ((1 << (_la - 496)) & ((1 << (PostgreSQLParser.KW_ALIAS - 496)) | (1 << (PostgreSQLParser.KW_CONSTANT - 496)) | (1 << (PostgreSQLParser.KW_PERFORM - 496)) | (1 << (PostgreSQLParser.KW_GET - 496)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 496)) | (1 << (PostgreSQLParser.KW_STACKED - 496)) | (1 << (PostgreSQLParser.KW_ELSIF - 496)) | (1 << (PostgreSQLParser.KW_REVERSE - 496)) | (1 << (PostgreSQLParser.KW_SLICE - 496)) | (1 << (PostgreSQLParser.KW_EXIT - 496)) | (1 << (PostgreSQLParser.KW_RETURN - 496)) | (1 << (PostgreSQLParser.KW_QUERY - 496)) | (1 << (PostgreSQLParser.KW_RAISE - 496)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 496)) | (1 << (PostgreSQLParser.KW_DEBUG - 496)) | (1 << (PostgreSQLParser.KW_LOG - 496)) | (1 << (PostgreSQLParser.KW_INFO - 496)) | (1 << (PostgreSQLParser.KW_NOTICE - 496)) | (1 << (PostgreSQLParser.KW_WARNING - 496)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 496)) | (1 << (PostgreSQLParser.KW_ASSERT - 496)) | (1 << (PostgreSQLParser.KW_OPEN - 496)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.Integral - 547)) | (1 << (PostgreSQLParser.Numeric - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 8373; this.vac_analyze_option_arg(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public vac_analyze_option_name(): Vac_analyze_option_nameContext { let _localctx: Vac_analyze_option_nameContext = new Vac_analyze_option_nameContext(this._ctx, this.state); this.enterRule(_localctx, 900, PostgreSQLParser.RULE_vac_analyze_option_name); try { this.state = 8378; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 8376; this.nonreservedword(); } break; case PostgreSQLParser.KW_ANALYSE: case PostgreSQLParser.KW_ANALYZE: this.enterOuterAlt(_localctx, 2); { this.state = 8377; this.analyze_keyword(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public vac_analyze_option_arg(): Vac_analyze_option_argContext { let _localctx: Vac_analyze_option_argContext = new Vac_analyze_option_argContext(this._ctx, this.state); this.enterRule(_localctx, 902, PostgreSQLParser.RULE_vac_analyze_option_arg); try { this.state = 8382; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FALSE: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_ON: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_TRUE: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 8380; this.opt_boolean_or_string(); } break; case PostgreSQLParser.PLUS: case PostgreSQLParser.MINUS: case PostgreSQLParser.Integral: case PostgreSQLParser.Numeric: this.enterOuterAlt(_localctx, 2); { this.state = 8381; this.numericonly(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_analyze(): Opt_analyzeContext { let _localctx: Opt_analyzeContext = new Opt_analyzeContext(this._ctx, this.state); this.enterRule(_localctx, 904, PostgreSQLParser.RULE_opt_analyze); try { this.enterOuterAlt(_localctx, 1); { this.state = 8384; this.analyze_keyword(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public analyze_options_list(): Analyze_options_listContext { let _localctx: Analyze_options_listContext = new Analyze_options_listContext(this._ctx, this.state); this.enterRule(_localctx, 906, PostgreSQLParser.RULE_analyze_options_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8386; this.analyze_option_elem(); this.state = 8391; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 8387; this.match(PostgreSQLParser.COMMA); this.state = 8388; this.analyze_option_elem(); } } this.state = 8393; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public analyze_option_elem(): Analyze_option_elemContext { let _localctx: Analyze_option_elemContext = new Analyze_option_elemContext(this._ctx, this.state); this.enterRule(_localctx, 908, PostgreSQLParser.RULE_analyze_option_elem); try { this.state = 8397; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_VERBOSE: this.enterOuterAlt(_localctx, 1); { this.state = 8394; this.opt_verbose(); } break; case PostgreSQLParser.KW_SKIP_LOCKED: this.enterOuterAlt(_localctx, 2); { this.state = 8395; this.opt_skiplock(); } break; case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: this.enterOuterAlt(_localctx, 3); { this.state = 8396; this.opt_buffer_usage_limit(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_verbose(): Opt_verboseContext { let _localctx: Opt_verboseContext = new Opt_verboseContext(this._ctx, this.state); this.enterRule(_localctx, 910, PostgreSQLParser.RULE_opt_verbose); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8399; this.match(PostgreSQLParser.KW_VERBOSE); this.state = 8401; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FALSE || _la === PostgreSQLParser.KW_TRUE) { { this.state = 8400; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_FALSE || _la === PostgreSQLParser.KW_TRUE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_skiplock(): Opt_skiplockContext { let _localctx: Opt_skiplockContext = new Opt_skiplockContext(this._ctx, this.state); this.enterRule(_localctx, 912, PostgreSQLParser.RULE_opt_skiplock); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8403; this.match(PostgreSQLParser.KW_SKIP_LOCKED); this.state = 8405; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FALSE || _la === PostgreSQLParser.KW_TRUE) { { this.state = 8404; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_FALSE || _la === PostgreSQLParser.KW_TRUE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_buffer_usage_limit(): Opt_buffer_usage_limitContext { let _localctx: Opt_buffer_usage_limitContext = new Opt_buffer_usage_limitContext(this._ctx, this.state); this.enterRule(_localctx, 914, PostgreSQLParser.RULE_opt_buffer_usage_limit); try { this.enterOuterAlt(_localctx, 1); { this.state = 8407; this.match(PostgreSQLParser.KW_BUFFER_USAGE_LIMIT); this.state = 8410; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.PLUS: case PostgreSQLParser.MINUS: case PostgreSQLParser.Integral: case PostgreSQLParser.Numeric: { this.state = 8408; this.numericonly(); } break; case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.EscapeStringConstant: { this.state = 8409; this.sconst(); } break; default: throw new NoViableAltException(this); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_full(): Opt_fullContext { let _localctx: Opt_fullContext = new Opt_fullContext(this._ctx, this.state); this.enterRule(_localctx, 916, PostgreSQLParser.RULE_opt_full); try { this.enterOuterAlt(_localctx, 1); { this.state = 8412; this.match(PostgreSQLParser.KW_FULL); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_freeze(): Opt_freezeContext { let _localctx: Opt_freezeContext = new Opt_freezeContext(this._ctx, this.state); this.enterRule(_localctx, 918, PostgreSQLParser.RULE_opt_freeze); try { this.enterOuterAlt(_localctx, 1); { this.state = 8414; this.match(PostgreSQLParser.KW_FREEZE); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_name_list(): Opt_name_listContext { let _localctx: Opt_name_listContext = new Opt_name_listContext(this._ctx, this.state); this.enterRule(_localctx, 920, PostgreSQLParser.RULE_opt_name_list); try { this.enterOuterAlt(_localctx, 1); { this.state = 8416; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8417; this.columnlist(); this.state = 8418; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public vacuum_relation(): Vacuum_relationContext { let _localctx: Vacuum_relationContext = new Vacuum_relationContext(this._ctx, this.state); this.enterRule(_localctx, 922, PostgreSQLParser.RULE_vacuum_relation); try { this.enterOuterAlt(_localctx, 1); { this.state = 8420; this.table_name(); this.state = 8422; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 776, this._ctx) ) { case 1: { this.state = 8421; this.opt_name_list(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public vacuum_relation_list(): Vacuum_relation_listContext { let _localctx: Vacuum_relation_listContext = new Vacuum_relation_listContext(this._ctx, this.state); this.enterRule(_localctx, 924, PostgreSQLParser.RULE_vacuum_relation_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8424; this.vacuum_relation(); this.state = 8429; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 8425; this.match(PostgreSQLParser.COMMA); this.state = 8426; this.vacuum_relation(); } } this.state = 8431; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_vacuum_relation_list(): Opt_vacuum_relation_listContext { let _localctx: Opt_vacuum_relation_listContext = new Opt_vacuum_relation_listContext(this._ctx, this.state); this.enterRule(_localctx, 926, PostgreSQLParser.RULE_opt_vacuum_relation_list); try { this.enterOuterAlt(_localctx, 1); { this.state = 8432; this.vacuum_relation_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public explainstmt(): ExplainstmtContext { let _localctx: ExplainstmtContext = new ExplainstmtContext(this._ctx, this.state); this.enterRule(_localctx, 928, PostgreSQLParser.RULE_explainstmt); let _la: number; try { this.state = 8452; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 779, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 8434; this.match(PostgreSQLParser.KW_EXPLAIN); this.state = 8435; this.explainablestmt(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8436; this.match(PostgreSQLParser.KW_EXPLAIN); this.state = 8437; this.analyze_keyword(); this.state = 8439; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_VERBOSE) { { this.state = 8438; this.opt_verbose(); } } this.state = 8441; this.explainablestmt(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 8443; this.match(PostgreSQLParser.KW_EXPLAIN); this.state = 8444; this.match(PostgreSQLParser.KW_VERBOSE); this.state = 8445; this.explainablestmt(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 8446; this.match(PostgreSQLParser.KW_EXPLAIN); this.state = 8447; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8448; this.explain_option_list(); this.state = 8449; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 8450; this.explainablestmt(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public explainablestmt(): ExplainablestmtContext { let _localctx: ExplainablestmtContext = new ExplainablestmtContext(this._ctx, this.state); this.enterRule(_localctx, 930, PostgreSQLParser.RULE_explainablestmt); try { this.state = 8463; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 780, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 8454; this.selectstmt(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8455; this.insertstmt(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 8456; this.updatestmt(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 8457; this.deletestmt(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 8458; this.declarecursorstmt(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 8459; this.createasstmt(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 8460; this.creatematviewstmt(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 8461; this.refreshmatviewstmt(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 8462; this.executestmt(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public explain_option_list(): Explain_option_listContext { let _localctx: Explain_option_listContext = new Explain_option_listContext(this._ctx, this.state); this.enterRule(_localctx, 932, PostgreSQLParser.RULE_explain_option_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8465; this.explain_option_elem(); this.state = 8470; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 8466; this.match(PostgreSQLParser.COMMA); this.state = 8467; this.explain_option_elem(); } } this.state = 8472; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public explain_option_elem(): Explain_option_elemContext { let _localctx: Explain_option_elemContext = new Explain_option_elemContext(this._ctx, this.state); this.enterRule(_localctx, 934, PostgreSQLParser.RULE_explain_option_elem); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8473; this.explain_option_name(); this.state = 8475; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.PLUS || _la === PostgreSQLParser.MINUS || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FALSE - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 80)) & ~0x1F) === 0 && ((1 << (_la - 80)) & ((1 << (PostgreSQLParser.KW_ON - 80)) | (1 << (PostgreSQLParser.KW_TABLE - 80)) | (1 << (PostgreSQLParser.KW_TRUE - 80)) | (1 << (PostgreSQLParser.KW_AUTHORIZATION - 80)) | (1 << (PostgreSQLParser.KW_BINARY - 80)) | (1 << (PostgreSQLParser.KW_COLLATION - 80)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 80)) | (1 << (PostgreSQLParser.KW_CROSS - 80)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 80)))) !== 0) || ((((_la - 112)) & ~0x1F) === 0 && ((1 << (_la - 112)) & ((1 << (PostgreSQLParser.KW_FREEZE - 112)) | (1 << (PostgreSQLParser.KW_FULL - 112)) | (1 << (PostgreSQLParser.KW_ILIKE - 112)) | (1 << (PostgreSQLParser.KW_INNER - 112)) | (1 << (PostgreSQLParser.KW_IS - 112)) | (1 << (PostgreSQLParser.KW_ISNULL - 112)) | (1 << (PostgreSQLParser.KW_JOIN - 112)) | (1 << (PostgreSQLParser.KW_LEFT - 112)) | (1 << (PostgreSQLParser.KW_LIKE - 112)) | (1 << (PostgreSQLParser.KW_NATURAL - 112)) | (1 << (PostgreSQLParser.KW_NOTNULL - 112)) | (1 << (PostgreSQLParser.KW_OUTER - 112)) | (1 << (PostgreSQLParser.KW_OVER - 112)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 112)) | (1 << (PostgreSQLParser.KW_RIGHT - 112)) | (1 << (PostgreSQLParser.KW_SIMILAR - 112)) | (1 << (PostgreSQLParser.KW_VERBOSE - 112)) | (1 << (PostgreSQLParser.KW_ABORT - 112)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 112)) | (1 << (PostgreSQLParser.KW_ACCESS - 112)) | (1 << (PostgreSQLParser.KW_ACTION - 112)) | (1 << (PostgreSQLParser.KW_ADD - 112)) | (1 << (PostgreSQLParser.KW_ADMIN - 112)) | (1 << (PostgreSQLParser.KW_AFTER - 112)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 112)) | (1 << (PostgreSQLParser.KW_ALSO - 112)) | (1 << (PostgreSQLParser.KW_ALTER - 112)) | (1 << (PostgreSQLParser.KW_ALWAYS - 112)) | (1 << (PostgreSQLParser.KW_ASSERTION - 112)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 112)) | (1 << (PostgreSQLParser.KW_AT - 112)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 112)))) !== 0) || ((((_la - 144)) & ~0x1F) === 0 && ((1 << (_la - 144)) & ((1 << (PostgreSQLParser.KW_BACKWARD - 144)) | (1 << (PostgreSQLParser.KW_BEFORE - 144)) | (1 << (PostgreSQLParser.KW_BEGIN - 144)) | (1 << (PostgreSQLParser.KW_BY - 144)) | (1 << (PostgreSQLParser.KW_CACHE - 144)) | (1 << (PostgreSQLParser.KW_CALLED - 144)) | (1 << (PostgreSQLParser.KW_CASCADE - 144)) | (1 << (PostgreSQLParser.KW_CASCADED - 144)) | (1 << (PostgreSQLParser.KW_CATALOG - 144)) | (1 << (PostgreSQLParser.KW_CHAIN - 144)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 144)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 144)) | (1 << (PostgreSQLParser.KW_CLASS - 144)) | (1 << (PostgreSQLParser.KW_CLOSE - 144)) | (1 << (PostgreSQLParser.KW_CLUSTER - 144)) | (1 << (PostgreSQLParser.KW_COMMENT - 144)) | (1 << (PostgreSQLParser.KW_COMMENTS - 144)) | (1 << (PostgreSQLParser.KW_COMMIT - 144)) | (1 << (PostgreSQLParser.KW_COMMITTED - 144)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 144)) | (1 << (PostgreSQLParser.KW_CONNECTION - 144)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 144)) | (1 << (PostgreSQLParser.KW_CONTENT - 144)) | (1 << (PostgreSQLParser.KW_CONTINUE - 144)) | (1 << (PostgreSQLParser.KW_CONVERSION - 144)) | (1 << (PostgreSQLParser.KW_COPY - 144)) | (1 << (PostgreSQLParser.KW_COST - 144)) | (1 << (PostgreSQLParser.KW_CSV - 144)) | (1 << (PostgreSQLParser.KW_CURSOR - 144)) | (1 << (PostgreSQLParser.KW_CYCLE - 144)) | (1 << (PostgreSQLParser.KW_DATA - 144)) | (1 << (PostgreSQLParser.KW_DATABASE - 144)))) !== 0) || ((((_la - 176)) & ~0x1F) === 0 && ((1 << (_la - 176)) & ((1 << (PostgreSQLParser.KW_DAY - 176)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 176)) | (1 << (PostgreSQLParser.KW_DECLARE - 176)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 176)) | (1 << (PostgreSQLParser.KW_DEFERRED - 176)) | (1 << (PostgreSQLParser.KW_DEFINER - 176)) | (1 << (PostgreSQLParser.KW_DELETE - 176)) | (1 << (PostgreSQLParser.KW_DELIMITER - 176)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 176)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 176)) | (1 << (PostgreSQLParser.KW_DISABLE - 176)) | (1 << (PostgreSQLParser.KW_DISCARD - 176)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 176)) | (1 << (PostgreSQLParser.KW_DOMAIN - 176)) | (1 << (PostgreSQLParser.KW_DOUBLE - 176)) | (1 << (PostgreSQLParser.KW_DROP - 176)) | (1 << (PostgreSQLParser.KW_EACH - 176)) | (1 << (PostgreSQLParser.KW_ENABLE - 176)) | (1 << (PostgreSQLParser.KW_ENCODING - 176)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 176)) | (1 << (PostgreSQLParser.KW_ENUM - 176)) | (1 << (PostgreSQLParser.KW_ESCAPE - 176)) | (1 << (PostgreSQLParser.KW_EVENT - 176)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 176)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 176)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 176)) | (1 << (PostgreSQLParser.KW_EXECUTE - 176)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 176)) | (1 << (PostgreSQLParser.KW_EXTENSION - 176)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 176)) | (1 << (PostgreSQLParser.KW_FAMILY - 176)) | (1 << (PostgreSQLParser.KW_FIRST - 176)))) !== 0) || ((((_la - 208)) & ~0x1F) === 0 && ((1 << (_la - 208)) & ((1 << (PostgreSQLParser.KW_FOLLOWING - 208)) | (1 << (PostgreSQLParser.KW_FORCE - 208)) | (1 << (PostgreSQLParser.KW_FORWARD - 208)) | (1 << (PostgreSQLParser.KW_FUNCTION - 208)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 208)) | (1 << (PostgreSQLParser.KW_GLOBAL - 208)) | (1 << (PostgreSQLParser.KW_GRANTED - 208)) | (1 << (PostgreSQLParser.KW_HANDLER - 208)) | (1 << (PostgreSQLParser.KW_HEADER - 208)) | (1 << (PostgreSQLParser.KW_HOLD - 208)) | (1 << (PostgreSQLParser.KW_HOUR - 208)) | (1 << (PostgreSQLParser.KW_IDENTITY - 208)) | (1 << (PostgreSQLParser.KW_IF - 208)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 208)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 208)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 208)) | (1 << (PostgreSQLParser.KW_INCLUDING - 208)) | (1 << (PostgreSQLParser.KW_INCREMENT - 208)) | (1 << (PostgreSQLParser.KW_INDEX - 208)) | (1 << (PostgreSQLParser.KW_INDEXES - 208)) | (1 << (PostgreSQLParser.KW_INHERIT - 208)) | (1 << (PostgreSQLParser.KW_INHERITS - 208)) | (1 << (PostgreSQLParser.KW_INLINE - 208)))) !== 0) || ((((_la - 240)) & ~0x1F) === 0 && ((1 << (_la - 240)) & ((1 << (PostgreSQLParser.KW_INSENSITIVE - 240)) | (1 << (PostgreSQLParser.KW_INSERT - 240)) | (1 << (PostgreSQLParser.KW_INSTEAD - 240)) | (1 << (PostgreSQLParser.KW_INVOKER - 240)) | (1 << (PostgreSQLParser.KW_ISOLATION - 240)) | (1 << (PostgreSQLParser.KW_KEY - 240)) | (1 << (PostgreSQLParser.KW_LABEL - 240)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 240)) | (1 << (PostgreSQLParser.KW_LARGE - 240)) | (1 << (PostgreSQLParser.KW_LAST - 240)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 240)) | (1 << (PostgreSQLParser.KW_LEVEL - 240)) | (1 << (PostgreSQLParser.KW_LISTEN - 240)) | (1 << (PostgreSQLParser.KW_LOAD - 240)) | (1 << (PostgreSQLParser.KW_LOCAL - 240)) | (1 << (PostgreSQLParser.KW_LOCATION - 240)) | (1 << (PostgreSQLParser.KW_LOCK - 240)) | (1 << (PostgreSQLParser.KW_MAPPING - 240)) | (1 << (PostgreSQLParser.KW_MATCH - 240)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 240)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 240)) | (1 << (PostgreSQLParser.KW_MINUTE - 240)) | (1 << (PostgreSQLParser.KW_MINVALUE - 240)) | (1 << (PostgreSQLParser.KW_MODE - 240)) | (1 << (PostgreSQLParser.KW_MONTH - 240)) | (1 << (PostgreSQLParser.KW_MOVE - 240)) | (1 << (PostgreSQLParser.KW_NAME - 240)) | (1 << (PostgreSQLParser.KW_NAMES - 240)) | (1 << (PostgreSQLParser.KW_NEXT - 240)) | (1 << (PostgreSQLParser.KW_NO - 240)) | (1 << (PostgreSQLParser.KW_NOTHING - 240)) | (1 << (PostgreSQLParser.KW_NOTIFY - 240)))) !== 0) || ((((_la - 272)) & ~0x1F) === 0 && ((1 << (_la - 272)) & ((1 << (PostgreSQLParser.KW_NOWAIT - 272)) | (1 << (PostgreSQLParser.KW_NULLS - 272)) | (1 << (PostgreSQLParser.KW_OBJECT - 272)) | (1 << (PostgreSQLParser.KW_OF - 272)) | (1 << (PostgreSQLParser.KW_OFF - 272)) | (1 << (PostgreSQLParser.KW_OIDS - 272)) | (1 << (PostgreSQLParser.KW_OPERATOR - 272)) | (1 << (PostgreSQLParser.KW_OPTION - 272)) | (1 << (PostgreSQLParser.KW_OPTIONS - 272)) | (1 << (PostgreSQLParser.KW_OWNED - 272)) | (1 << (PostgreSQLParser.KW_OWNER - 272)) | (1 << (PostgreSQLParser.KW_PARSER - 272)) | (1 << (PostgreSQLParser.KW_PARTIAL - 272)) | (1 << (PostgreSQLParser.KW_PARTITION - 272)) | (1 << (PostgreSQLParser.KW_PASSING - 272)) | (1 << (PostgreSQLParser.KW_PASSWORD - 272)) | (1 << (PostgreSQLParser.KW_PLANS - 272)) | (1 << (PostgreSQLParser.KW_PRECEDING - 272)) | (1 << (PostgreSQLParser.KW_PREPARE - 272)) | (1 << (PostgreSQLParser.KW_PREPARED - 272)) | (1 << (PostgreSQLParser.KW_PRESERVE - 272)) | (1 << (PostgreSQLParser.KW_PRIOR - 272)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 272)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 272)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 272)) | (1 << (PostgreSQLParser.KW_PROGRAM - 272)) | (1 << (PostgreSQLParser.KW_QUOTE - 272)) | (1 << (PostgreSQLParser.KW_RANGE - 272)) | (1 << (PostgreSQLParser.KW_READ - 272)) | (1 << (PostgreSQLParser.KW_REASSIGN - 272)) | (1 << (PostgreSQLParser.KW_RECHECK - 272)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 272)))) !== 0) || ((((_la - 304)) & ~0x1F) === 0 && ((1 << (_la - 304)) & ((1 << (PostgreSQLParser.KW_REF - 304)) | (1 << (PostgreSQLParser.KW_REFRESH - 304)) | (1 << (PostgreSQLParser.KW_REINDEX - 304)) | (1 << (PostgreSQLParser.KW_RELATIVE - 304)) | (1 << (PostgreSQLParser.KW_RELEASE - 304)) | (1 << (PostgreSQLParser.KW_RENAME - 304)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 304)) | (1 << (PostgreSQLParser.KW_REPLACE - 304)) | (1 << (PostgreSQLParser.KW_REPLICA - 304)) | (1 << (PostgreSQLParser.KW_RESET - 304)) | (1 << (PostgreSQLParser.KW_RESTART - 304)) | (1 << (PostgreSQLParser.KW_RESTRICT - 304)) | (1 << (PostgreSQLParser.KW_RETURNS - 304)) | (1 << (PostgreSQLParser.KW_REVOKE - 304)) | (1 << (PostgreSQLParser.KW_ROLE - 304)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 304)) | (1 << (PostgreSQLParser.KW_ROWS - 304)) | (1 << (PostgreSQLParser.KW_RULE - 304)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 304)) | (1 << (PostgreSQLParser.KW_SCHEMA - 304)) | (1 << (PostgreSQLParser.KW_SCROLL - 304)) | (1 << (PostgreSQLParser.KW_SEARCH - 304)) | (1 << (PostgreSQLParser.KW_SECOND - 304)) | (1 << (PostgreSQLParser.KW_SECURITY - 304)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 304)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 304)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 304)) | (1 << (PostgreSQLParser.KW_SERVER - 304)) | (1 << (PostgreSQLParser.KW_SESSION - 304)) | (1 << (PostgreSQLParser.KW_SET - 304)) | (1 << (PostgreSQLParser.KW_SHARE - 304)) | (1 << (PostgreSQLParser.KW_SHOW - 304)))) !== 0) || ((((_la - 336)) & ~0x1F) === 0 && ((1 << (_la - 336)) & ((1 << (PostgreSQLParser.KW_SIMPLE - 336)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 336)) | (1 << (PostgreSQLParser.KW_STABLE - 336)) | (1 << (PostgreSQLParser.KW_STANDALONE - 336)) | (1 << (PostgreSQLParser.KW_START - 336)) | (1 << (PostgreSQLParser.KW_STATEMENT - 336)) | (1 << (PostgreSQLParser.KW_STATISTICS - 336)) | (1 << (PostgreSQLParser.KW_STDIN - 336)) | (1 << (PostgreSQLParser.KW_STDOUT - 336)) | (1 << (PostgreSQLParser.KW_STORAGE - 336)) | (1 << (PostgreSQLParser.KW_STRICT - 336)) | (1 << (PostgreSQLParser.KW_STRIP - 336)) | (1 << (PostgreSQLParser.KW_SYSID - 336)) | (1 << (PostgreSQLParser.KW_SYSTEM - 336)) | (1 << (PostgreSQLParser.KW_TABLES - 336)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 336)) | (1 << (PostgreSQLParser.KW_TEMP - 336)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 336)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 336)) | (1 << (PostgreSQLParser.KW_TEXT - 336)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 336)) | (1 << (PostgreSQLParser.KW_TRIGGER - 336)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 336)) | (1 << (PostgreSQLParser.KW_TRUSTED - 336)) | (1 << (PostgreSQLParser.KW_TYPE - 336)) | (1 << (PostgreSQLParser.KW_TYPES - 336)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 336)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 336)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 336)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 336)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 336)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 336)))) !== 0) || ((((_la - 368)) & ~0x1F) === 0 && ((1 << (_la - 368)) & ((1 << (PostgreSQLParser.KW_UNTIL - 368)) | (1 << (PostgreSQLParser.KW_UPDATE - 368)) | (1 << (PostgreSQLParser.KW_VACUUM - 368)) | (1 << (PostgreSQLParser.KW_VALID - 368)) | (1 << (PostgreSQLParser.KW_VALIDATE - 368)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 368)) | (1 << (PostgreSQLParser.KW_VARYING - 368)) | (1 << (PostgreSQLParser.KW_VERSION - 368)) | (1 << (PostgreSQLParser.KW_VIEW - 368)) | (1 << (PostgreSQLParser.KW_VOLATILE - 368)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 368)) | (1 << (PostgreSQLParser.KW_WITHOUT - 368)) | (1 << (PostgreSQLParser.KW_WORK - 368)) | (1 << (PostgreSQLParser.KW_WRAPPER - 368)) | (1 << (PostgreSQLParser.KW_WRITE - 368)) | (1 << (PostgreSQLParser.KW_XML - 368)) | (1 << (PostgreSQLParser.KW_YEAR - 368)) | (1 << (PostgreSQLParser.KW_YES - 368)) | (1 << (PostgreSQLParser.KW_ZONE - 368)) | (1 << (PostgreSQLParser.KW_BETWEEN - 368)) | (1 << (PostgreSQLParser.KW_BIGINT - 368)) | (1 << (PostgreSQLParser.KW_BIT - 368)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 368)) | (1 << (PostgreSQLParser.KW_CHAR - 368)) | (1 << (PostgreSQLParser.KW_CHARACTER - 368)) | (1 << (PostgreSQLParser.KW_COALESCE - 368)) | (1 << (PostgreSQLParser.KW_DEC - 368)) | (1 << (PostgreSQLParser.KW_DECIMAL - 368)) | (1 << (PostgreSQLParser.KW_EXISTS - 368)) | (1 << (PostgreSQLParser.KW_EXTRACT - 368)) | (1 << (PostgreSQLParser.KW_FLOAT - 368)) | (1 << (PostgreSQLParser.KW_GREATEST - 368)))) !== 0) || ((((_la - 400)) & ~0x1F) === 0 && ((1 << (_la - 400)) & ((1 << (PostgreSQLParser.KW_INOUT - 400)) | (1 << (PostgreSQLParser.KW_INT - 400)) | (1 << (PostgreSQLParser.KW_INTEGER - 400)) | (1 << (PostgreSQLParser.KW_INTERVAL - 400)) | (1 << (PostgreSQLParser.KW_LEAST - 400)) | (1 << (PostgreSQLParser.KW_NATIONAL - 400)) | (1 << (PostgreSQLParser.KW_NCHAR - 400)) | (1 << (PostgreSQLParser.KW_NONE - 400)) | (1 << (PostgreSQLParser.KW_NULLIF - 400)) | (1 << (PostgreSQLParser.KW_NUMERIC - 400)) | (1 << (PostgreSQLParser.KW_OVERLAY - 400)) | (1 << (PostgreSQLParser.KW_POSITION - 400)) | (1 << (PostgreSQLParser.KW_PRECISION - 400)) | (1 << (PostgreSQLParser.KW_REAL - 400)) | (1 << (PostgreSQLParser.KW_ROW - 400)) | (1 << (PostgreSQLParser.KW_SETOF - 400)) | (1 << (PostgreSQLParser.KW_SMALLINT - 400)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 400)) | (1 << (PostgreSQLParser.KW_TIME - 400)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 400)) | (1 << (PostgreSQLParser.KW_TREAT - 400)) | (1 << (PostgreSQLParser.KW_TRIM - 400)) | (1 << (PostgreSQLParser.KW_VALUES - 400)) | (1 << (PostgreSQLParser.KW_VARCHAR - 400)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 400)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 400)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 400)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 400)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 400)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 400)) | (1 << (PostgreSQLParser.KW_XMLPI - 400)) | (1 << (PostgreSQLParser.KW_XMLROOT - 400)))) !== 0) || ((((_la - 432)) & ~0x1F) === 0 && ((1 << (_la - 432)) & ((1 << (PostgreSQLParser.KW_XMLSERIALIZE - 432)) | (1 << (PostgreSQLParser.KW_CALL - 432)) | (1 << (PostgreSQLParser.KW_CURRENT - 432)) | (1 << (PostgreSQLParser.KW_ATTACH - 432)) | (1 << (PostgreSQLParser.KW_DETACH - 432)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 432)) | (1 << (PostgreSQLParser.KW_GENERATED - 432)) | (1 << (PostgreSQLParser.KW_LOGGED - 432)) | (1 << (PostgreSQLParser.KW_STORED - 432)) | (1 << (PostgreSQLParser.KW_INCLUDE - 432)) | (1 << (PostgreSQLParser.KW_ROUTINE - 432)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 432)) | (1 << (PostgreSQLParser.KW_IMPORT - 432)) | (1 << (PostgreSQLParser.KW_POLICY - 432)) | (1 << (PostgreSQLParser.KW_METHOD - 432)) | (1 << (PostgreSQLParser.KW_REFERENCING - 432)) | (1 << (PostgreSQLParser.KW_NEW - 432)) | (1 << (PostgreSQLParser.KW_OLD - 432)) | (1 << (PostgreSQLParser.KW_VALUE - 432)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 432)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 432)) | (1 << (PostgreSQLParser.KW_OUT - 432)) | (1 << (PostgreSQLParser.KW_ROUTINES - 432)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 432)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 432)) | (1 << (PostgreSQLParser.KW_INPUT - 432)) | (1 << (PostgreSQLParser.KW_SUPPORT - 432)) | (1 << (PostgreSQLParser.KW_PARALLEL - 432)) | (1 << (PostgreSQLParser.KW_SQL - 432)) | (1 << (PostgreSQLParser.KW_DEPENDS - 432)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 432)))) !== 0) || ((((_la - 464)) & ~0x1F) === 0 && ((1 << (_la - 464)) & ((1 << (PostgreSQLParser.KW_CONFLICT - 464)) | (1 << (PostgreSQLParser.KW_SKIP - 464)) | (1 << (PostgreSQLParser.KW_LOCKED - 464)) | (1 << (PostgreSQLParser.KW_TIES - 464)) | (1 << (PostgreSQLParser.KW_ROLLUP - 464)) | (1 << (PostgreSQLParser.KW_CUBE - 464)) | (1 << (PostgreSQLParser.KW_GROUPING - 464)) | (1 << (PostgreSQLParser.KW_SETS - 464)) | (1 << (PostgreSQLParser.KW_TABLESAMPLE - 464)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 464)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 464)) | (1 << (PostgreSQLParser.KW_COLUMNS - 464)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 464)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 464)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 464)) | (1 << (PostgreSQLParser.KW_WITHIN - 464)) | (1 << (PostgreSQLParser.KW_FILTER - 464)) | (1 << (PostgreSQLParser.KW_GROUPS - 464)) | (1 << (PostgreSQLParser.KW_OTHERS - 464)) | (1 << (PostgreSQLParser.KW_NFC - 464)) | (1 << (PostgreSQLParser.KW_NFD - 464)) | (1 << (PostgreSQLParser.KW_NFKC - 464)) | (1 << (PostgreSQLParser.KW_NFKD - 464)) | (1 << (PostgreSQLParser.KW_UESCAPE - 464)) | (1 << (PostgreSQLParser.KW_VIEWS - 464)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 464)) | (1 << (PostgreSQLParser.KW_DUMP - 464)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 464)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 464)) | (1 << (PostgreSQLParser.KW_ERROR - 464)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 464)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 464)))) !== 0) || ((((_la - 496)) & ~0x1F) === 0 && ((1 << (_la - 496)) & ((1 << (PostgreSQLParser.KW_ALIAS - 496)) | (1 << (PostgreSQLParser.KW_CONSTANT - 496)) | (1 << (PostgreSQLParser.KW_PERFORM - 496)) | (1 << (PostgreSQLParser.KW_GET - 496)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 496)) | (1 << (PostgreSQLParser.KW_STACKED - 496)) | (1 << (PostgreSQLParser.KW_ELSIF - 496)) | (1 << (PostgreSQLParser.KW_REVERSE - 496)) | (1 << (PostgreSQLParser.KW_SLICE - 496)) | (1 << (PostgreSQLParser.KW_EXIT - 496)) | (1 << (PostgreSQLParser.KW_RETURN - 496)) | (1 << (PostgreSQLParser.KW_QUERY - 496)) | (1 << (PostgreSQLParser.KW_RAISE - 496)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 496)) | (1 << (PostgreSQLParser.KW_DEBUG - 496)) | (1 << (PostgreSQLParser.KW_LOG - 496)) | (1 << (PostgreSQLParser.KW_INFO - 496)) | (1 << (PostgreSQLParser.KW_NOTICE - 496)) | (1 << (PostgreSQLParser.KW_WARNING - 496)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 496)) | (1 << (PostgreSQLParser.KW_ASSERT - 496)) | (1 << (PostgreSQLParser.KW_OPEN - 496)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.Integral - 547)) | (1 << (PostgreSQLParser.Numeric - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 8474; this.explain_option_arg(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public explain_option_name(): Explain_option_nameContext { let _localctx: Explain_option_nameContext = new Explain_option_nameContext(this._ctx, this.state); this.enterRule(_localctx, 936, PostgreSQLParser.RULE_explain_option_name); try { this.state = 8479; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 8477; this.nonreservedword(); } break; case PostgreSQLParser.KW_ANALYSE: case PostgreSQLParser.KW_ANALYZE: this.enterOuterAlt(_localctx, 2); { this.state = 8478; this.analyze_keyword(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public explain_option_arg(): Explain_option_argContext { let _localctx: Explain_option_argContext = new Explain_option_argContext(this._ctx, this.state); this.enterRule(_localctx, 938, PostgreSQLParser.RULE_explain_option_arg); try { this.state = 8483; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FALSE: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_ON: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_TRUE: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 8481; this.opt_boolean_or_string(); } break; case PostgreSQLParser.PLUS: case PostgreSQLParser.MINUS: case PostgreSQLParser.Integral: case PostgreSQLParser.Numeric: this.enterOuterAlt(_localctx, 2); { this.state = 8482; this.numericonly(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public preparestmt(): PreparestmtContext { let _localctx: PreparestmtContext = new PreparestmtContext(this._ctx, this.state); this.enterRule(_localctx, 940, PostgreSQLParser.RULE_preparestmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8485; this.match(PostgreSQLParser.KW_PREPARE); this.state = 8486; this.name(); this.state = 8488; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 8487; this.prep_type_clause(); } } this.state = 8490; this.match(PostgreSQLParser.KW_AS); this.state = 8491; this.preparablestmt(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public prep_type_clause(): Prep_type_clauseContext { let _localctx: Prep_type_clauseContext = new Prep_type_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 942, PostgreSQLParser.RULE_prep_type_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 8493; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8494; this.type_list(); this.state = 8495; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public preparablestmt(): PreparablestmtContext { let _localctx: PreparablestmtContext = new PreparablestmtContext(this._ctx, this.state); this.enterRule(_localctx, 944, PostgreSQLParser.RULE_preparablestmt); try { this.state = 8501; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 786, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 8497; this.selectstmt(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8498; this.insertstmt(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 8499; this.updatestmt(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 8500; this.deletestmt(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public executestmt(): ExecutestmtContext { let _localctx: ExecutestmtContext = new ExecutestmtContext(this._ctx, this.state); this.enterRule(_localctx, 946, PostgreSQLParser.RULE_executestmt); let _la: number; try { this.state = 8526; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_EXECUTE: this.enterOuterAlt(_localctx, 1); { this.state = 8503; this.match(PostgreSQLParser.KW_EXECUTE); this.state = 8504; this.name(); this.state = 8506; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 787, this._ctx) ) { case 1: { this.state = 8505; this.execute_param_clause(); } break; } } break; case PostgreSQLParser.KW_CREATE: this.enterOuterAlt(_localctx, 2); { this.state = 8508; this.match(PostgreSQLParser.KW_CREATE); this.state = 8510; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_GLOBAL || _la === PostgreSQLParser.KW_LOCAL || ((((_la - 352)) & ~0x1F) === 0 && ((1 << (_la - 352)) & ((1 << (PostgreSQLParser.KW_TEMP - 352)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 352)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 352)))) !== 0)) { { this.state = 8509; this.opttemp(); } } this.state = 8512; this.match(PostgreSQLParser.KW_TABLE); this.state = 8514; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 789, this._ctx) ) { case 1: { this.state = 8513; this.opt_if_not_exists(); } break; } this.state = 8516; this.create_as_target(); this.state = 8517; this.match(PostgreSQLParser.KW_AS); this.state = 8518; this.match(PostgreSQLParser.KW_EXECUTE); this.state = 8519; this.name(); this.state = 8521; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 790, this._ctx) ) { case 1: { this.state = 8520; this.execute_param_clause(); } break; } this.state = 8524; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 791, this._ctx) ) { case 1: { this.state = 8523; this.opt_with_data(); } break; } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public execute_param_clause(): Execute_param_clauseContext { let _localctx: Execute_param_clauseContext = new Execute_param_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 948, PostgreSQLParser.RULE_execute_param_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 8528; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8529; this.expr_list(); this.state = 8530; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public deallocatestmt(): DeallocatestmtContext { let _localctx: DeallocatestmtContext = new DeallocatestmtContext(this._ctx, this.state); this.enterRule(_localctx, 950, PostgreSQLParser.RULE_deallocatestmt); try { this.state = 8542; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 793, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 8532; this.match(PostgreSQLParser.KW_DEALLOCATE); this.state = 8533; this.name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8534; this.match(PostgreSQLParser.KW_DEALLOCATE); this.state = 8535; this.match(PostgreSQLParser.KW_PREPARE); this.state = 8536; this.name(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 8537; this.match(PostgreSQLParser.KW_DEALLOCATE); this.state = 8538; this.match(PostgreSQLParser.KW_ALL); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 8539; this.match(PostgreSQLParser.KW_DEALLOCATE); this.state = 8540; this.match(PostgreSQLParser.KW_PREPARE); this.state = 8541; this.match(PostgreSQLParser.KW_ALL); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public insertstmt(): InsertstmtContext { let _localctx: InsertstmtContext = new InsertstmtContext(this._ctx, this.state); this.enterRule(_localctx, 952, PostgreSQLParser.RULE_insertstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8545; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WITH) { { this.state = 8544; this.opt_with_clause(); } } this.state = 8547; this.match(PostgreSQLParser.KW_INSERT); this.state = 8548; this.match(PostgreSQLParser.KW_INTO); this.state = 8549; this.insert_target(); this.state = 8550; this.insert_rest(); this.state = 8552; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ON) { { this.state = 8551; this.opt_on_conflict(); } } this.state = 8555; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_RETURNING) { { this.state = 8554; this.returning_clause(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public insert_target(): Insert_targetContext { let _localctx: Insert_targetContext = new Insert_targetContext(this._ctx, this.state); this.enterRule(_localctx, 954, PostgreSQLParser.RULE_insert_target); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8557; this.table_name(); this.state = 8560; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AS) { { this.state = 8558; this.match(PostgreSQLParser.KW_AS); this.state = 8559; this.colid(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public insert_rest(): Insert_restContext { let _localctx: Insert_restContext = new Insert_restContext(this._ctx, this.state); this.enterRule(_localctx, 956, PostgreSQLParser.RULE_insert_rest); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8566; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 798, this._ctx) ) { case 1: { this.state = 8562; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8563; this.insert_column_list(); this.state = 8564; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } this.state = 8572; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OVERRIDING) { { this.state = 8568; this.match(PostgreSQLParser.KW_OVERRIDING); this.state = 8569; this.override_kind(); this.state = 8570; this.match(PostgreSQLParser.KW_VALUE); } } this.state = 8576; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 800, this._ctx) ) { case 1: { this.state = 8574; this.default_values_or_values(); } break; case 2: { this.state = 8575; this.selectstmt(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public override_kind(): Override_kindContext { let _localctx: Override_kindContext = new Override_kindContext(this._ctx, this.state); this.enterRule(_localctx, 958, PostgreSQLParser.RULE_override_kind); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8578; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_USER || _la === PostgreSQLParser.KW_SYSTEM)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public insert_column_list(): Insert_column_listContext { let _localctx: Insert_column_listContext = new Insert_column_listContext(this._ctx, this.state); this.enterRule(_localctx, 960, PostgreSQLParser.RULE_insert_column_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8580; this.insert_column_item(); this.state = 8585; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 8581; this.match(PostgreSQLParser.COMMA); this.state = 8582; this.insert_column_item(); } } this.state = 8587; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public insert_column_item(): Insert_column_itemContext { let _localctx: Insert_column_itemContext = new Insert_column_itemContext(this._ctx, this.state); this.enterRule(_localctx, 962, PostgreSQLParser.RULE_insert_column_item); try { this.enterOuterAlt(_localctx, 1); { this.state = 8588; this.column_name(); this.state = 8589; this.opt_indirection(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_on_conflict(): Opt_on_conflictContext { let _localctx: Opt_on_conflictContext = new Opt_on_conflictContext(this._ctx, this.state); this.enterRule(_localctx, 964, PostgreSQLParser.RULE_opt_on_conflict); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8591; this.match(PostgreSQLParser.KW_ON); this.state = 8592; this.match(PostgreSQLParser.KW_CONFLICT); this.state = 8594; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN || _la === PostgreSQLParser.KW_ON) { { this.state = 8593; this.opt_conf_expr(); } } this.state = 8596; this.match(PostgreSQLParser.KW_DO); this.state = 8604; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_UPDATE: { this.state = 8597; this.match(PostgreSQLParser.KW_UPDATE); this.state = 8598; this.match(PostgreSQLParser.KW_SET); this.state = 8599; this.set_clause_list(); this.state = 8601; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHERE) { { this.state = 8600; this.where_clause(); } } } break; case PostgreSQLParser.KW_NOTHING: { this.state = 8603; this.match(PostgreSQLParser.KW_NOTHING); } break; default: throw new NoViableAltException(this); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_conf_expr(): Opt_conf_exprContext { let _localctx: Opt_conf_exprContext = new Opt_conf_exprContext(this._ctx, this.state); this.enterRule(_localctx, 966, PostgreSQLParser.RULE_opt_conf_expr); let _la: number; try { this.state = 8615; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: this.enterOuterAlt(_localctx, 1); { this.state = 8606; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8607; this.index_params(); this.state = 8608; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 8610; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHERE) { { this.state = 8609; this.where_clause(); } } } break; case PostgreSQLParser.KW_ON: this.enterOuterAlt(_localctx, 2); { this.state = 8612; this.match(PostgreSQLParser.KW_ON); this.state = 8613; this.match(PostgreSQLParser.KW_CONSTRAINT); this.state = 8614; this.name(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public returning_clause(): Returning_clauseContext { let _localctx: Returning_clauseContext = new Returning_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 968, PostgreSQLParser.RULE_returning_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 8617; this.match(PostgreSQLParser.KW_RETURNING); this.state = 8618; this.target_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public deletestmt(): DeletestmtContext { let _localctx: DeletestmtContext = new DeletestmtContext(this._ctx, this.state); this.enterRule(_localctx, 970, PostgreSQLParser.RULE_deletestmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8621; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WITH) { { this.state = 8620; this.opt_with_clause(); } } this.state = 8623; this.match(PostgreSQLParser.KW_DELETE); this.state = 8624; this.match(PostgreSQLParser.KW_FROM); this.state = 8625; this.relation_expr_opt_alias(); this.state = 8627; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 8626; this.using_clause(); } } this.state = 8630; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHERE) { { this.state = 8629; this.where_or_current_clause(); } } this.state = 8633; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_RETURNING) { { this.state = 8632; this.returning_clause(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public using_clause(): Using_clauseContext { let _localctx: Using_clauseContext = new Using_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 972, PostgreSQLParser.RULE_using_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 8635; this.match(PostgreSQLParser.KW_USING); this.state = 8636; this.from_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public lockstmt(): LockstmtContext { let _localctx: LockstmtContext = new LockstmtContext(this._ctx, this.state); this.enterRule(_localctx, 974, PostgreSQLParser.RULE_lockstmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8638; this.match(PostgreSQLParser.KW_LOCK); this.state = 8640; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 811, this._ctx) ) { case 1: { this.state = 8639; this.opt_table(); } break; } this.state = 8642; this.relation_expr_list(); this.state = 8644; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_IN) { { this.state = 8643; this.opt_lock(); } } this.state = 8647; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 813, this._ctx) ) { case 1: { this.state = 8646; this.opt_nowait(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_lock(): Opt_lockContext { let _localctx: Opt_lockContext = new Opt_lockContext(this._ctx, this.state); this.enterRule(_localctx, 976, PostgreSQLParser.RULE_opt_lock); try { this.enterOuterAlt(_localctx, 1); { this.state = 8649; this.match(PostgreSQLParser.KW_IN); this.state = 8650; this.lock_type(); this.state = 8651; this.match(PostgreSQLParser.KW_MODE); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public lock_type(): Lock_typeContext { let _localctx: Lock_typeContext = new Lock_typeContext(this._ctx, this.state); this.enterRule(_localctx, 978, PostgreSQLParser.RULE_lock_type); let _la: number; try { this.state = 8665; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_ACCESS: this.enterOuterAlt(_localctx, 1); { this.state = 8653; this.match(PostgreSQLParser.KW_ACCESS); this.state = 8654; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_EXCLUSIVE || _la === PostgreSQLParser.KW_SHARE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case PostgreSQLParser.KW_ROW: this.enterOuterAlt(_localctx, 2); { this.state = 8655; this.match(PostgreSQLParser.KW_ROW); this.state = 8656; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_EXCLUSIVE || _la === PostgreSQLParser.KW_SHARE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case PostgreSQLParser.KW_SHARE: this.enterOuterAlt(_localctx, 3); { this.state = 8657; this.match(PostgreSQLParser.KW_SHARE); this.state = 8662; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_UPDATE: { this.state = 8658; this.match(PostgreSQLParser.KW_UPDATE); this.state = 8659; this.match(PostgreSQLParser.KW_EXCLUSIVE); } break; case PostgreSQLParser.KW_ROW: { this.state = 8660; this.match(PostgreSQLParser.KW_ROW); this.state = 8661; this.match(PostgreSQLParser.KW_EXCLUSIVE); } break; case PostgreSQLParser.KW_MODE: break; default: break; } } break; case PostgreSQLParser.KW_EXCLUSIVE: this.enterOuterAlt(_localctx, 4); { this.state = 8664; this.match(PostgreSQLParser.KW_EXCLUSIVE); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_nowait(): Opt_nowaitContext { let _localctx: Opt_nowaitContext = new Opt_nowaitContext(this._ctx, this.state); this.enterRule(_localctx, 980, PostgreSQLParser.RULE_opt_nowait); try { this.enterOuterAlt(_localctx, 1); { this.state = 8667; this.match(PostgreSQLParser.KW_NOWAIT); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_nowait_or_skip(): Opt_nowait_or_skipContext { let _localctx: Opt_nowait_or_skipContext = new Opt_nowait_or_skipContext(this._ctx, this.state); this.enterRule(_localctx, 982, PostgreSQLParser.RULE_opt_nowait_or_skip); try { this.state = 8672; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_NOWAIT: this.enterOuterAlt(_localctx, 1); { this.state = 8669; this.match(PostgreSQLParser.KW_NOWAIT); } break; case PostgreSQLParser.KW_SKIP: this.enterOuterAlt(_localctx, 2); { this.state = 8670; this.match(PostgreSQLParser.KW_SKIP); this.state = 8671; this.match(PostgreSQLParser.KW_LOCKED); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public updatestmt(): UpdatestmtContext { let _localctx: UpdatestmtContext = new UpdatestmtContext(this._ctx, this.state); this.enterRule(_localctx, 984, PostgreSQLParser.RULE_updatestmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8675; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WITH) { { this.state = 8674; this.opt_with_clause(); } } this.state = 8677; this.match(PostgreSQLParser.KW_UPDATE); this.state = 8678; this.relation_expr_opt_alias(); this.state = 8679; this.match(PostgreSQLParser.KW_SET); this.state = 8680; this.set_clause_list(); this.state = 8682; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM) { { this.state = 8681; this.from_clause(); } } this.state = 8685; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHERE) { { this.state = 8684; this.where_or_current_clause(); } } this.state = 8688; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_RETURNING) { { this.state = 8687; this.returning_clause(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public set_clause_list(): Set_clause_listContext { let _localctx: Set_clause_listContext = new Set_clause_listContext(this._ctx, this.state); this.enterRule(_localctx, 986, PostgreSQLParser.RULE_set_clause_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8690; this.set_clause(); this.state = 8695; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 8691; this.match(PostgreSQLParser.COMMA); this.state = 8692; this.set_clause(); } } this.state = 8697; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public set_clause(): Set_clauseContext { let _localctx: Set_clauseContext = new Set_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 988, PostgreSQLParser.RULE_set_clause); try { this.state = 8716; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 8698; this.set_target(); this.state = 8699; this.match(PostgreSQLParser.EQUAL); this.state = 8700; this.a_expr(); } break; case PostgreSQLParser.OPEN_PAREN: this.enterOuterAlt(_localctx, 2); { this.state = 8702; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8703; this.set_target_list(); this.state = 8704; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 8705; this.match(PostgreSQLParser.EQUAL); this.state = 8714; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 823, this._ctx) ) { case 1: { this.state = 8707; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 822, this._ctx) ) { case 1: { this.state = 8706; this.match(PostgreSQLParser.KW_ROW); } break; } this.state = 8709; this.a_expr(); } break; case 2: { this.state = 8710; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8711; this.select_clause(); this.state = 8712; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public set_target(): Set_targetContext { let _localctx: Set_targetContext = new Set_targetContext(this._ctx, this.state); this.enterRule(_localctx, 990, PostgreSQLParser.RULE_set_target); try { this.enterOuterAlt(_localctx, 1); { this.state = 8718; this.column_name(); this.state = 8719; this.opt_indirection(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public set_target_list(): Set_target_listContext { let _localctx: Set_target_listContext = new Set_target_listContext(this._ctx, this.state); this.enterRule(_localctx, 992, PostgreSQLParser.RULE_set_target_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8721; this.set_target(); this.state = 8726; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 8722; this.match(PostgreSQLParser.COMMA); this.state = 8723; this.set_target(); } } this.state = 8728; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public declarecursorstmt(): DeclarecursorstmtContext { let _localctx: DeclarecursorstmtContext = new DeclarecursorstmtContext(this._ctx, this.state); this.enterRule(_localctx, 994, PostgreSQLParser.RULE_declarecursorstmt); try { this.enterOuterAlt(_localctx, 1); { this.state = 8729; this.match(PostgreSQLParser.KW_DECLARE); this.state = 8730; this.cursor_name(); this.state = 8731; this.cursor_options(); this.state = 8732; this.match(PostgreSQLParser.KW_CURSOR); this.state = 8733; this.opt_hold(); this.state = 8734; this.match(PostgreSQLParser.KW_FOR); this.state = 8735; this.selectstmt(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public cursor_name(): Cursor_nameContext { let _localctx: Cursor_nameContext = new Cursor_nameContext(this._ctx, this.state); this.enterRule(_localctx, 996, PostgreSQLParser.RULE_cursor_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 8737; this.name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public cursor_options(): Cursor_optionsContext { let _localctx: Cursor_optionsContext = new Cursor_optionsContext(this._ctx, this.state); this.enterRule(_localctx, 998, PostgreSQLParser.RULE_cursor_options); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8746; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.KW_BINARY || _la === PostgreSQLParser.KW_INSENSITIVE || _la === PostgreSQLParser.KW_NO || _la === PostgreSQLParser.KW_SCROLL) { { this.state = 8744; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_NO: { this.state = 8739; this.match(PostgreSQLParser.KW_NO); this.state = 8740; this.match(PostgreSQLParser.KW_SCROLL); } break; case PostgreSQLParser.KW_SCROLL: { this.state = 8741; this.match(PostgreSQLParser.KW_SCROLL); } break; case PostgreSQLParser.KW_BINARY: { this.state = 8742; this.match(PostgreSQLParser.KW_BINARY); } break; case PostgreSQLParser.KW_INSENSITIVE: { this.state = 8743; this.match(PostgreSQLParser.KW_INSENSITIVE); } break; default: throw new NoViableAltException(this); } } this.state = 8748; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_hold(): Opt_holdContext { let _localctx: Opt_holdContext = new Opt_holdContext(this._ctx, this.state); this.enterRule(_localctx, 1000, PostgreSQLParser.RULE_opt_hold); try { this.state = 8754; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_FOR: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_WITH: this.enterOuterAlt(_localctx, 2); { this.state = 8750; this.match(PostgreSQLParser.KW_WITH); this.state = 8751; this.match(PostgreSQLParser.KW_HOLD); } break; case PostgreSQLParser.KW_WITHOUT: this.enterOuterAlt(_localctx, 3); { this.state = 8752; this.match(PostgreSQLParser.KW_WITHOUT); this.state = 8753; this.match(PostgreSQLParser.KW_HOLD); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public selectstmt(): SelectstmtContext { let _localctx: SelectstmtContext = new SelectstmtContext(this._ctx, this.state); this.enterRule(_localctx, 1002, PostgreSQLParser.RULE_selectstmt); try { this.state = 8758; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 829, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 8756; this.select_no_parens(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8757; this.select_with_parens(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public select_with_parens(): Select_with_parensContext { let _localctx: Select_with_parensContext = new Select_with_parensContext(this._ctx, this.state); this.enterRule(_localctx, 1004, PostgreSQLParser.RULE_select_with_parens); try { this.state = 8768; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 830, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 8760; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8761; this.select_no_parens(); this.state = 8762; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8764; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8765; this.select_with_parens(); this.state = 8766; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public select_no_parens(): Select_no_parensContext { let _localctx: Select_no_parensContext = new Select_no_parensContext(this._ctx, this.state); this.enterRule(_localctx, 1006, PostgreSQLParser.RULE_select_no_parens); let _la: number; try { this.state = 8799; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: case PostgreSQLParser.KW_SELECT: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_VALUES: this.enterOuterAlt(_localctx, 1); { this.state = 8770; this.select_clause(); this.state = 8772; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ORDER) { { this.state = 8771; this.opt_sort_clause(); } } this.state = 8782; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 834, this._ctx) ) { case 1: { this.state = 8774; this.for_locking_clause(); this.state = 8776; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 832, this._ctx) ) { case 1: { this.state = 8775; this.opt_select_limit(); } break; } } break; case 2: { this.state = 8778; this.select_limit(); this.state = 8780; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 8779; this.opt_for_locking_clause(); } } } break; } } break; case PostgreSQLParser.KW_WITH: this.enterOuterAlt(_localctx, 2); { this.state = 8784; this.with_clause(); this.state = 8785; this.select_clause(); this.state = 8787; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ORDER) { { this.state = 8786; this.opt_sort_clause(); } } this.state = 8797; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 838, this._ctx) ) { case 1: { this.state = 8789; this.for_locking_clause(); this.state = 8791; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 836, this._ctx) ) { case 1: { this.state = 8790; this.opt_select_limit(); } break; } } break; case 2: { this.state = 8793; this.select_limit(); this.state = 8795; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 8794; this.opt_for_locking_clause(); } } } break; } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public select_clause(): Select_clauseContext { let _localctx: Select_clauseContext = new Select_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1008, PostgreSQLParser.RULE_select_clause); try { this.state = 8803; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 840, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 8801; this.simple_select(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8802; this.select_with_parens(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public simple_select(): Simple_selectContext { let _localctx: Simple_selectContext = new Simple_selectContext(this._ctx, this.state); this.enterRule(_localctx, 1010, PostgreSQLParser.RULE_simple_select); let _la: number; try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 8850; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_SELECT: { this.state = 8805; this.match(PostgreSQLParser.KW_SELECT); this.state = 8821; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 846, this._ctx) ) { case 1: { this.state = 8807; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ALL) { { this.state = 8806; this.opt_all_clause(); } } this.state = 8810; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 842, this._ctx) ) { case 1: { this.state = 8809; this.into_clause(); } break; } this.state = 8813; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 843, this._ctx) ) { case 1: { this.state = 8812; this.opt_target_list(); } break; } } break; case 2: { this.state = 8816; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_DISTINCT) { { this.state = 8815; this.distinct_clause(); } } this.state = 8819; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 845, this._ctx) ) { case 1: { this.state = 8818; this.target_list(); } break; } } break; } this.state = 8824; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 847, this._ctx) ) { case 1: { this.state = 8823; this.into_clause(); } break; } this.state = 8827; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM) { { this.state = 8826; this.from_clause(); } } this.state = 8830; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHERE) { { this.state = 8829; this.where_clause(); } } this.state = 8833; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_GROUP) { { this.state = 8832; this.group_clause(); } } this.state = 8836; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_HAVING) { { this.state = 8835; this.having_clause(); } } this.state = 8839; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 852, this._ctx) ) { case 1: { this.state = 8838; this.window_clause(); } break; } } break; case PostgreSQLParser.KW_VALUES: { this.state = 8841; this.values_clause(); } break; case PostgreSQLParser.KW_TABLE: { this.state = 8842; this.match(PostgreSQLParser.KW_TABLE); this.state = 8843; this.relation_expr(); } break; case PostgreSQLParser.OPEN_PAREN: { this.state = 8844; this.select_with_parens(); this.state = 8845; this.set_operator_with_all_or_distinct(); this.state = 8848; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 853, this._ctx) ) { case 1: { this.state = 8846; this.simple_select(); } break; case 2: { this.state = 8847; this.select_with_parens(); } break; } } break; default: throw new NoViableAltException(this); } this.state = 8859; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 856, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 8852; this.set_operator_with_all_or_distinct(); this.state = 8855; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 855, this._ctx) ) { case 1: { this.state = 8853; this.simple_select(); } break; case 2: { this.state = 8854; this.select_with_parens(); } break; } } } } this.state = 8861; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 856, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public set_operator(): Set_operatorContext { let _localctx: Set_operatorContext = new Set_operatorContext(this._ctx, this.state); this.enterRule(_localctx, 1012, PostgreSQLParser.RULE_set_operator); try { this.state = 8865; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_UNION: _localctx = new UnionContext(_localctx); this.enterOuterAlt(_localctx, 1); { this.state = 8862; this.match(PostgreSQLParser.KW_UNION); } break; case PostgreSQLParser.KW_INTERSECT: _localctx = new IntersectContext(_localctx); this.enterOuterAlt(_localctx, 2); { this.state = 8863; this.match(PostgreSQLParser.KW_INTERSECT); } break; case PostgreSQLParser.KW_EXCEPT: _localctx = new ExceptContext(_localctx); this.enterOuterAlt(_localctx, 3); { this.state = 8864; this.match(PostgreSQLParser.KW_EXCEPT); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public set_operator_with_all_or_distinct(): Set_operator_with_all_or_distinctContext { let _localctx: Set_operator_with_all_or_distinctContext = new Set_operator_with_all_or_distinctContext(this._ctx, this.state); this.enterRule(_localctx, 1014, PostgreSQLParser.RULE_set_operator_with_all_or_distinct); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8867; this.set_operator(); this.state = 8869; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ALL || _la === PostgreSQLParser.KW_DISTINCT) { { this.state = 8868; this.all_or_distinct(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public with_clause(): With_clauseContext { let _localctx: With_clauseContext = new With_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1016, PostgreSQLParser.RULE_with_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 8871; this.match(PostgreSQLParser.KW_WITH); this.state = 8873; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 859, this._ctx) ) { case 1: { this.state = 8872; this.match(PostgreSQLParser.KW_RECURSIVE); } break; } this.state = 8875; this.cte_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public cte_list(): Cte_listContext { let _localctx: Cte_listContext = new Cte_listContext(this._ctx, this.state); this.enterRule(_localctx, 1018, PostgreSQLParser.RULE_cte_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 8877; this.common_table_expr(); this.state = 8882; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 860, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 8878; this.match(PostgreSQLParser.COMMA); this.state = 8879; this.common_table_expr(); } } } this.state = 8884; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 860, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public common_table_expr(): Common_table_exprContext { let _localctx: Common_table_exprContext = new Common_table_exprContext(this._ctx, this.state); this.enterRule(_localctx, 1020, PostgreSQLParser.RULE_common_table_expr); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8885; this.name(); this.state = 8887; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 8886; this.opt_name_list(); } } this.state = 8889; this.match(PostgreSQLParser.KW_AS); this.state = 8891; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NOT || _la === PostgreSQLParser.KW_MATERIALIZED) { { this.state = 8890; this.opt_materialized(); } } this.state = 8893; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8894; this.preparablestmt(); this.state = 8895; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 8897; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 863, this._ctx) ) { case 1: { this.state = 8896; this.search_cluase(); } break; } this.state = 8900; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 864, this._ctx) ) { case 1: { this.state = 8899; this.cycle_cluase(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public search_cluase(): Search_cluaseContext { let _localctx: Search_cluaseContext = new Search_cluaseContext(this._ctx, this.state); this.enterRule(_localctx, 1022, PostgreSQLParser.RULE_search_cluase); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8902; this.match(PostgreSQLParser.KW_SEARCH); this.state = 8903; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_BREADTH || _la === PostgreSQLParser.KW_DEPTH)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 8904; this.match(PostgreSQLParser.KW_FIRST); this.state = 8905; this.match(PostgreSQLParser.KW_BY); this.state = 8906; this.columnlist(); this.state = 8907; this.match(PostgreSQLParser.KW_SET); this.state = 8908; this.column_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public cycle_cluase(): Cycle_cluaseContext { let _localctx: Cycle_cluaseContext = new Cycle_cluaseContext(this._ctx, this.state); this.enterRule(_localctx, 1024, PostgreSQLParser.RULE_cycle_cluase); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8910; this.match(PostgreSQLParser.KW_CYCLE); this.state = 8911; this.columnlist(); this.state = 8912; this.match(PostgreSQLParser.KW_SET); this.state = 8913; this.column_name(); this.state = 8919; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_TO) { { this.state = 8914; this.match(PostgreSQLParser.KW_TO); this.state = 8915; this.name(); this.state = 8916; this.match(PostgreSQLParser.KW_DEFAULT); this.state = 8917; this.name(); } } this.state = 8921; this.match(PostgreSQLParser.KW_USING); this.state = 8922; this.column_name(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_materialized(): Opt_materializedContext { let _localctx: Opt_materializedContext = new Opt_materializedContext(this._ctx, this.state); this.enterRule(_localctx, 1026, PostgreSQLParser.RULE_opt_materialized); try { this.state = 8927; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_MATERIALIZED: this.enterOuterAlt(_localctx, 1); { this.state = 8924; this.match(PostgreSQLParser.KW_MATERIALIZED); } break; case PostgreSQLParser.KW_NOT: this.enterOuterAlt(_localctx, 2); { this.state = 8925; this.match(PostgreSQLParser.KW_NOT); this.state = 8926; this.match(PostgreSQLParser.KW_MATERIALIZED); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_with_clause(): Opt_with_clauseContext { let _localctx: Opt_with_clauseContext = new Opt_with_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1028, PostgreSQLParser.RULE_opt_with_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 8929; this.with_clause(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public into_clause(): Into_clauseContext { let _localctx: Into_clauseContext = new Into_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1030, PostgreSQLParser.RULE_into_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 8931; this.match(PostgreSQLParser.KW_INTO); this.state = 8936; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 867, this._ctx) ) { case 1: { this.state = 8932; this.opt_strict(); this.state = 8933; this.opttempTableName(); } break; case 2: { this.state = 8935; this.into_target(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_strict(): Opt_strictContext { let _localctx: Opt_strictContext = new Opt_strictContext(this._ctx, this.state); this.enterRule(_localctx, 1032, PostgreSQLParser.RULE_opt_strict); try { this.state = 8940; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 868, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8939; this.match(PostgreSQLParser.KW_STRICT); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opttempTableName(): OpttempTableNameContext { let _localctx: OpttempTableNameContext = new OpttempTableNameContext(this._ctx, this.state); this.enterRule(_localctx, 1034, PostgreSQLParser.RULE_opttempTableName); let _la: number; try { this.state = 8958; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 872, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 8943; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_GLOBAL || _la === PostgreSQLParser.KW_LOCAL) { { this.state = 8942; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_GLOBAL || _la === PostgreSQLParser.KW_LOCAL)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } this.state = 8945; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_TEMP || _la === PostgreSQLParser.KW_TEMPORARY)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 8947; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 870, this._ctx) ) { case 1: { this.state = 8946; this.opt_table(); } break; } this.state = 8949; this.table_name_create(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 8950; this.match(PostgreSQLParser.KW_UNLOGGED); this.state = 8952; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 871, this._ctx) ) { case 1: { this.state = 8951; this.opt_table(); } break; } this.state = 8954; this.table_name_create(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 8955; this.match(PostgreSQLParser.KW_TABLE); this.state = 8956; this.table_name_create(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 8957; this.table_name_create(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_table(): Opt_tableContext { let _localctx: Opt_tableContext = new Opt_tableContext(this._ctx, this.state); this.enterRule(_localctx, 1036, PostgreSQLParser.RULE_opt_table); try { this.enterOuterAlt(_localctx, 1); { this.state = 8960; this.match(PostgreSQLParser.KW_TABLE); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public all_or_distinct(): All_or_distinctContext { let _localctx: All_or_distinctContext = new All_or_distinctContext(this._ctx, this.state); this.enterRule(_localctx, 1038, PostgreSQLParser.RULE_all_or_distinct); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8962; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_ALL || _la === PostgreSQLParser.KW_DISTINCT)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public distinct_clause(): Distinct_clauseContext { let _localctx: Distinct_clauseContext = new Distinct_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1040, PostgreSQLParser.RULE_distinct_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 8964; this.match(PostgreSQLParser.KW_DISTINCT); this.state = 8970; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 873, this._ctx) ) { case 1: { this.state = 8965; this.match(PostgreSQLParser.KW_ON); this.state = 8966; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 8967; this.expr_list(); this.state = 8968; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_all_clause(): Opt_all_clauseContext { let _localctx: Opt_all_clauseContext = new Opt_all_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1042, PostgreSQLParser.RULE_opt_all_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 8972; this.match(PostgreSQLParser.KW_ALL); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_sort_clause(): Opt_sort_clauseContext { let _localctx: Opt_sort_clauseContext = new Opt_sort_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1044, PostgreSQLParser.RULE_opt_sort_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 8974; this.sort_clause(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public sort_clause(): Sort_clauseContext { let _localctx: Sort_clauseContext = new Sort_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1046, PostgreSQLParser.RULE_sort_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 8976; this.match(PostgreSQLParser.KW_ORDER); this.state = 8977; this.match(PostgreSQLParser.KW_BY); this.state = 8978; this.sortby_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public sortby_list(): Sortby_listContext { let _localctx: Sortby_listContext = new Sortby_listContext(this._ctx, this.state); this.enterRule(_localctx, 1048, PostgreSQLParser.RULE_sortby_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 8980; this.sortby(); this.state = 8985; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 8981; this.match(PostgreSQLParser.COMMA); this.state = 8982; this.sortby(); } } this.state = 8987; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public sortby(): SortbyContext { let _localctx: SortbyContext = new SortbyContext(this._ctx, this.state); this.enterRule(_localctx, 1050, PostgreSQLParser.RULE_sortby); try { this.enterOuterAlt(_localctx, 1); { this.state = 8988; this.column_expr_noparen(); this.state = 8992; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_USING: { this.state = 8989; this.match(PostgreSQLParser.KW_USING); this.state = 8990; this.qual_all_op(); } break; case PostgreSQLParser.KW_ASC: case PostgreSQLParser.KW_DESC: { this.state = 8991; this.opt_asc_desc(); } break; case PostgreSQLParser.EOF: case PostgreSQLParser.OPEN_PAREN: case PostgreSQLParser.CLOSE_PAREN: case PostgreSQLParser.COMMA: case PostgreSQLParser.SEMI: case PostgreSQLParser.KW_ANALYSE: case PostgreSQLParser.KW_ANALYZE: case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_AS: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_CREATE: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_FOR: case PostgreSQLParser.KW_GRANT: case PostgreSQLParser.KW_INTO: case PostgreSQLParser.KW_LIMIT: case PostgreSQLParser.KW_NOT: case PostgreSQLParser.KW_OFFSET: case PostgreSQLParser.KW_ON: case PostgreSQLParser.KW_RETURNING: case PostgreSQLParser.KW_SELECT: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_WHEN: case PostgreSQLParser.KW_WINDOW: case PostgreSQLParser.KW_WITH: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_END: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_LOOP: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_MERGE: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.MetaCommand: case PostgreSQLParser.EscapeStringConstant: break; default: break; } this.state = 8995; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 876, this._ctx) ) { case 1: { this.state = 8994; this.opt_nulls_order(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public select_limit(): Select_limitContext { let _localctx: Select_limitContext = new Select_limitContext(this._ctx, this.state); this.enterRule(_localctx, 1052, PostgreSQLParser.RULE_select_limit); let _la: number; try { this.state = 9009; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_LIMIT: this.enterOuterAlt(_localctx, 1); { this.state = 8997; this.limit_clause(); this.state = 8999; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OFFSET) { { this.state = 8998; this.offset_clause(); } } } break; case PostgreSQLParser.KW_OFFSET: this.enterOuterAlt(_localctx, 2); { this.state = 9001; this.offset_clause(); this.state = 9003; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 878, this._ctx) ) { case 1: { this.state = 9002; this.fetch_clause(); } break; } } break; case PostgreSQLParser.KW_FETCH: this.enterOuterAlt(_localctx, 3); { this.state = 9005; this.fetch_clause(); this.state = 9007; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OFFSET) { { this.state = 9006; this.offset_clause(); } } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_select_limit(): Opt_select_limitContext { let _localctx: Opt_select_limitContext = new Opt_select_limitContext(this._ctx, this.state); this.enterRule(_localctx, 1054, PostgreSQLParser.RULE_opt_select_limit); try { this.enterOuterAlt(_localctx, 1); { this.state = 9011; this.select_limit(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public limit_clause(): Limit_clauseContext { let _localctx: Limit_clauseContext = new Limit_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1056, PostgreSQLParser.RULE_limit_clause); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9013; this.match(PostgreSQLParser.KW_LIMIT); this.state = 9014; this.select_limit_value(); this.state = 9017; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.COMMA) { { this.state = 9015; this.match(PostgreSQLParser.COMMA); this.state = 9016; this.select_offset_value(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public fetch_clause(): Fetch_clauseContext { let _localctx: Fetch_clauseContext = new Fetch_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1058, PostgreSQLParser.RULE_fetch_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 9019; this.match(PostgreSQLParser.KW_FETCH); this.state = 9020; this.first_or_next(); this.state = 9034; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 884, this._ctx) ) { case 1: { this.state = 9021; this.select_fetch_first_value(); this.state = 9022; this.row_or_rows(); this.state = 9026; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_ONLY: { this.state = 9023; this.match(PostgreSQLParser.KW_ONLY); } break; case PostgreSQLParser.KW_WITH: { this.state = 9024; this.match(PostgreSQLParser.KW_WITH); this.state = 9025; this.match(PostgreSQLParser.KW_TIES); } break; default: throw new NoViableAltException(this); } } break; case 2: { this.state = 9028; this.row_or_rows(); this.state = 9032; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_ONLY: { this.state = 9029; this.match(PostgreSQLParser.KW_ONLY); } break; case PostgreSQLParser.KW_WITH: { this.state = 9030; this.match(PostgreSQLParser.KW_WITH); this.state = 9031; this.match(PostgreSQLParser.KW_TIES); } break; default: throw new NoViableAltException(this); } } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public offset_clause(): Offset_clauseContext { let _localctx: Offset_clauseContext = new Offset_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1060, PostgreSQLParser.RULE_offset_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 9036; this.match(PostgreSQLParser.KW_OFFSET); this.state = 9041; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 885, this._ctx) ) { case 1: { this.state = 9037; this.select_offset_value(); } break; case 2: { this.state = 9038; this.select_fetch_first_value(); this.state = 9039; this.row_or_rows(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public select_limit_value(): Select_limit_valueContext { let _localctx: Select_limit_valueContext = new Select_limit_valueContext(this._ctx, this.state); this.enterRule(_localctx, 1062, PostgreSQLParser.RULE_select_limit_value); try { this.state = 9045; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: case PostgreSQLParser.PLUS: case PostgreSQLParser.MINUS: case PostgreSQLParser.PARAM: case PostgreSQLParser.Operator: case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_CASE: case PostgreSQLParser.KW_CAST: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_CURRENT_CATALOG: case PostgreSQLParser.KW_CURRENT_DATE: case PostgreSQLParser.KW_CURRENT_ROLE: case PostgreSQLParser.KW_CURRENT_TIME: case PostgreSQLParser.KW_CURRENT_TIMESTAMP: case PostgreSQLParser.KW_CURRENT_USER: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FALSE: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_LOCALTIME: case PostgreSQLParser.KW_LOCALTIMESTAMP: case PostgreSQLParser.KW_NOT: case PostgreSQLParser.KW_NULL: case PostgreSQLParser.KW_SESSION_USER: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_TRUE: case PostgreSQLParser.KW_UNIQUE: case PostgreSQLParser.KW_USER: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.BinaryStringConstant: case PostgreSQLParser.HexadecimalStringConstant: case PostgreSQLParser.Integral: case PostgreSQLParser.Numeric: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 9043; this.a_expr(); } break; case PostgreSQLParser.KW_ALL: this.enterOuterAlt(_localctx, 2); { this.state = 9044; this.match(PostgreSQLParser.KW_ALL); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public select_offset_value(): Select_offset_valueContext { let _localctx: Select_offset_valueContext = new Select_offset_valueContext(this._ctx, this.state); this.enterRule(_localctx, 1064, PostgreSQLParser.RULE_select_offset_value); try { this.enterOuterAlt(_localctx, 1); { this.state = 9047; this.a_expr(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public select_fetch_first_value(): Select_fetch_first_valueContext { let _localctx: Select_fetch_first_valueContext = new Select_fetch_first_valueContext(this._ctx, this.state); this.enterRule(_localctx, 1066, PostgreSQLParser.RULE_select_fetch_first_value); try { this.state = 9054; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: case PostgreSQLParser.PARAM: case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_CASE: case PostgreSQLParser.KW_CAST: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_CURRENT_CATALOG: case PostgreSQLParser.KW_CURRENT_DATE: case PostgreSQLParser.KW_CURRENT_ROLE: case PostgreSQLParser.KW_CURRENT_TIME: case PostgreSQLParser.KW_CURRENT_TIMESTAMP: case PostgreSQLParser.KW_CURRENT_USER: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FALSE: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_LOCALTIME: case PostgreSQLParser.KW_LOCALTIMESTAMP: case PostgreSQLParser.KW_NULL: case PostgreSQLParser.KW_SESSION_USER: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_TRUE: case PostgreSQLParser.KW_UNIQUE: case PostgreSQLParser.KW_USER: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.BinaryStringConstant: case PostgreSQLParser.HexadecimalStringConstant: case PostgreSQLParser.Integral: case PostgreSQLParser.Numeric: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 9049; this.c_expr(); } break; case PostgreSQLParser.PLUS: this.enterOuterAlt(_localctx, 2); { this.state = 9050; this.match(PostgreSQLParser.PLUS); this.state = 9051; this.i_or_f_const(); } break; case PostgreSQLParser.MINUS: this.enterOuterAlt(_localctx, 3); { this.state = 9052; this.match(PostgreSQLParser.MINUS); this.state = 9053; this.i_or_f_const(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public i_or_f_const(): I_or_f_constContext { let _localctx: I_or_f_constContext = new I_or_f_constContext(this._ctx, this.state); this.enterRule(_localctx, 1068, PostgreSQLParser.RULE_i_or_f_const); try { this.state = 9058; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.Integral: this.enterOuterAlt(_localctx, 1); { this.state = 9056; this.iconst(); } break; case PostgreSQLParser.Numeric: this.enterOuterAlt(_localctx, 2); { this.state = 9057; this.fconst(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public row_or_rows(): Row_or_rowsContext { let _localctx: Row_or_rowsContext = new Row_or_rowsContext(this._ctx, this.state); this.enterRule(_localctx, 1070, PostgreSQLParser.RULE_row_or_rows); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9060; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_ROWS || _la === PostgreSQLParser.KW_ROW)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public first_or_next(): First_or_nextContext { let _localctx: First_or_nextContext = new First_or_nextContext(this._ctx, this.state); this.enterRule(_localctx, 1072, PostgreSQLParser.RULE_first_or_next); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9062; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_FIRST || _la === PostgreSQLParser.KW_NEXT)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public group_clause(): Group_clauseContext { let _localctx: Group_clauseContext = new Group_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1074, PostgreSQLParser.RULE_group_clause); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9064; this.match(PostgreSQLParser.KW_GROUP); this.state = 9065; this.match(PostgreSQLParser.KW_BY); this.state = 9067; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ALL || _la === PostgreSQLParser.KW_DISTINCT) { { this.state = 9066; this.all_or_distinct(); } } this.state = 9069; this.group_by_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public group_by_list(): Group_by_listContext { let _localctx: Group_by_listContext = new Group_by_listContext(this._ctx, this.state); this.enterRule(_localctx, 1076, PostgreSQLParser.RULE_group_by_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 9071; this.group_by_item(); this.state = 9076; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 890, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 9072; this.match(PostgreSQLParser.COMMA); this.state = 9073; this.group_by_item(); } } } this.state = 9078; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 890, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public group_by_item(): Group_by_itemContext { let _localctx: Group_by_itemContext = new Group_by_itemContext(this._ctx, this.state); this.enterRule(_localctx, 1078, PostgreSQLParser.RULE_group_by_item); try { this.state = 9088; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 891, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 9079; this.column_expr_noparen(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 9080; this.empty_grouping_set(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 9081; this.cube_clause(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 9082; this.rollup_clause(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 9083; this.grouping_sets_clause(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 9084; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9085; this.column_expr_list_noparen(); this.state = 9086; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public empty_grouping_set(): Empty_grouping_setContext { let _localctx: Empty_grouping_setContext = new Empty_grouping_setContext(this._ctx, this.state); this.enterRule(_localctx, 1080, PostgreSQLParser.RULE_empty_grouping_set); try { this.enterOuterAlt(_localctx, 1); { this.state = 9090; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9091; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public rollup_clause(): Rollup_clauseContext { let _localctx: Rollup_clauseContext = new Rollup_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1082, PostgreSQLParser.RULE_rollup_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 9093; this.match(PostgreSQLParser.KW_ROLLUP); this.state = 9094; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9095; this.column_expr_list_noparen(); this.state = 9096; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public cube_clause(): Cube_clauseContext { let _localctx: Cube_clauseContext = new Cube_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1084, PostgreSQLParser.RULE_cube_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 9098; this.match(PostgreSQLParser.KW_CUBE); this.state = 9099; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9100; this.column_expr_list_noparen(); this.state = 9101; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public grouping_sets_clause(): Grouping_sets_clauseContext { let _localctx: Grouping_sets_clauseContext = new Grouping_sets_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1086, PostgreSQLParser.RULE_grouping_sets_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 9103; this.match(PostgreSQLParser.KW_GROUPING); this.state = 9104; this.match(PostgreSQLParser.KW_SETS); this.state = 9105; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9106; this.group_by_list(); this.state = 9107; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public having_clause(): Having_clauseContext { let _localctx: Having_clauseContext = new Having_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1088, PostgreSQLParser.RULE_having_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 9109; this.match(PostgreSQLParser.KW_HAVING); this.state = 9110; this.a_expr(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public for_locking_clause(): For_locking_clauseContext { let _localctx: For_locking_clauseContext = new For_locking_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1090, PostgreSQLParser.RULE_for_locking_clause); try { this.state = 9116; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 892, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 9112; this.for_locking_items(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 9113; this.match(PostgreSQLParser.KW_FOR); this.state = 9114; this.match(PostgreSQLParser.KW_READ); this.state = 9115; this.match(PostgreSQLParser.KW_ONLY); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_for_locking_clause(): Opt_for_locking_clauseContext { let _localctx: Opt_for_locking_clauseContext = new Opt_for_locking_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1092, PostgreSQLParser.RULE_opt_for_locking_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 9118; this.for_locking_clause(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public for_locking_items(): For_locking_itemsContext { let _localctx: For_locking_itemsContext = new For_locking_itemsContext(this._ctx, this.state); this.enterRule(_localctx, 1094, PostgreSQLParser.RULE_for_locking_items); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9121; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 9120; this.for_locking_item(); } } this.state = 9123; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === PostgreSQLParser.KW_FOR); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public for_locking_item(): For_locking_itemContext { let _localctx: For_locking_itemContext = new For_locking_itemContext(this._ctx, this.state); this.enterRule(_localctx, 1096, PostgreSQLParser.RULE_for_locking_item); try { this.enterOuterAlt(_localctx, 1); { this.state = 9125; this.for_locking_strength(); this.state = 9127; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 894, this._ctx) ) { case 1: { this.state = 9126; this.locked_rels_list(); } break; } this.state = 9130; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 895, this._ctx) ) { case 1: { this.state = 9129; this.opt_nowait_or_skip(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public for_locking_strength(): For_locking_strengthContext { let _localctx: For_locking_strengthContext = new For_locking_strengthContext(this._ctx, this.state); this.enterRule(_localctx, 1098, PostgreSQLParser.RULE_for_locking_strength); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9132; this.match(PostgreSQLParser.KW_FOR); this.state = 9142; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_UPDATE: { this.state = 9135; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NO) { { this.state = 9133; this.match(PostgreSQLParser.KW_NO); this.state = 9134; this.match(PostgreSQLParser.KW_KEY); } } this.state = 9137; this.match(PostgreSQLParser.KW_UPDATE); } break; case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_SHARE: { this.state = 9139; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_KEY) { { this.state = 9138; this.match(PostgreSQLParser.KW_KEY); } } this.state = 9141; this.match(PostgreSQLParser.KW_SHARE); } break; default: throw new NoViableAltException(this); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public locked_rels_list(): Locked_rels_listContext { let _localctx: Locked_rels_listContext = new Locked_rels_listContext(this._ctx, this.state); this.enterRule(_localctx, 1100, PostgreSQLParser.RULE_locked_rels_list); try { this.enterOuterAlt(_localctx, 1); { this.state = 9144; this.match(PostgreSQLParser.KW_OF); this.state = 9145; this.qualified_name_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public values_clause(): Values_clauseContext { let _localctx: Values_clauseContext = new Values_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1102, PostgreSQLParser.RULE_values_clause); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9147; this.match(PostgreSQLParser.KW_VALUES); this.state = 9148; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9149; this.expr_list(); this.state = 9150; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 9158; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 9151; this.match(PostgreSQLParser.COMMA); this.state = 9152; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9153; this.expr_list(); this.state = 9154; this.match(PostgreSQLParser.CLOSE_PAREN); } } this.state = 9160; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public from_clause(): From_clauseContext { let _localctx: From_clauseContext = new From_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1104, PostgreSQLParser.RULE_from_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 9161; this.match(PostgreSQLParser.KW_FROM); this.state = 9162; this.from_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public from_list(): From_listContext { let _localctx: From_listContext = new From_listContext(this._ctx, this.state); this.enterRule(_localctx, 1106, PostgreSQLParser.RULE_from_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 9164; this.table_ref(); this.state = 9169; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 900, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 9165; this.match(PostgreSQLParser.COMMA); this.state = 9166; this.table_ref(); } } } this.state = 9171; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 900, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public table_ref(): Table_refContext { let _localctx: Table_refContext = new Table_refContext(this._ctx, this.state); this.enterRule(_localctx, 1108, PostgreSQLParser.RULE_table_ref); let _la: number; try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 9233; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 915, this._ctx) ) { case 1: { this.state = 9174; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 901, this._ctx) ) { case 1: { this.state = 9172; this.relation_expr(); } break; case 2: { this.state = 9173; this.view_relation_expr(); } break; } this.state = 9177; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 902, this._ctx) ) { case 1: { this.state = 9176; this.opt_alias_clause(); } break; } this.state = 9180; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_TABLESAMPLE) { { this.state = 9179; this.tablesample_clause(); } } } break; case 2: { this.state = 9182; this.func_table(); this.state = 9184; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 904, this._ctx) ) { case 1: { this.state = 9183; this.func_alias_clause(); } break; } } break; case 3: { this.state = 9186; this.xmltable(); this.state = 9188; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 905, this._ctx) ) { case 1: { this.state = 9187; this.opt_alias_clause(); } break; } } break; case 4: { this.state = 9190; this.select_with_parens(); this.state = 9192; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 906, this._ctx) ) { case 1: { this.state = 9191; this.opt_alias_clause(); } break; } } break; case 5: { this.state = 9194; this.match(PostgreSQLParser.KW_LATERAL); this.state = 9207; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 910, this._ctx) ) { case 1: { this.state = 9195; this.xmltable(); this.state = 9197; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 907, this._ctx) ) { case 1: { this.state = 9196; this.opt_alias_clause(); } break; } } break; case 2: { this.state = 9199; this.func_table(); this.state = 9201; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 908, this._ctx) ) { case 1: { this.state = 9200; this.func_alias_clause(); } break; } } break; case 3: { this.state = 9203; this.select_with_parens(); this.state = 9205; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 909, this._ctx) ) { case 1: { this.state = 9204; this.opt_alias_clause(); } break; } } break; } } break; case 6: { this.state = 9209; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9210; this.table_ref(); this.state = 9227; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_CROSS: { this.state = 9211; this.match(PostgreSQLParser.KW_CROSS); this.state = 9212; this.match(PostgreSQLParser.KW_JOIN); this.state = 9213; this.table_ref(); } break; case PostgreSQLParser.KW_NATURAL: { this.state = 9214; this.match(PostgreSQLParser.KW_NATURAL); this.state = 9216; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 113)) & ~0x1F) === 0 && ((1 << (_la - 113)) & ((1 << (PostgreSQLParser.KW_FULL - 113)) | (1 << (PostgreSQLParser.KW_INNER - 113)) | (1 << (PostgreSQLParser.KW_LEFT - 113)) | (1 << (PostgreSQLParser.KW_RIGHT - 113)))) !== 0)) { { this.state = 9215; this.join_type(); } } this.state = 9218; this.match(PostgreSQLParser.KW_JOIN); this.state = 9219; this.table_ref(); } break; case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_RIGHT: { this.state = 9221; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 113)) & ~0x1F) === 0 && ((1 << (_la - 113)) & ((1 << (PostgreSQLParser.KW_FULL - 113)) | (1 << (PostgreSQLParser.KW_INNER - 113)) | (1 << (PostgreSQLParser.KW_LEFT - 113)) | (1 << (PostgreSQLParser.KW_RIGHT - 113)))) !== 0)) { { this.state = 9220; this.join_type(); } } this.state = 9223; this.match(PostgreSQLParser.KW_JOIN); this.state = 9224; this.table_ref(); this.state = 9225; this.join_qual(); } break; case PostgreSQLParser.CLOSE_PAREN: break; default: break; } this.state = 9229; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 9231; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 914, this._ctx) ) { case 1: { this.state = 9230; this.opt_alias_clause(); } break; } } break; } this.state = 9253; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 919, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { this.state = 9251; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_CROSS: { this.state = 9235; this.match(PostgreSQLParser.KW_CROSS); this.state = 9236; this.match(PostgreSQLParser.KW_JOIN); this.state = 9237; this.table_ref(); } break; case PostgreSQLParser.KW_NATURAL: { this.state = 9238; this.match(PostgreSQLParser.KW_NATURAL); this.state = 9240; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 113)) & ~0x1F) === 0 && ((1 << (_la - 113)) & ((1 << (PostgreSQLParser.KW_FULL - 113)) | (1 << (PostgreSQLParser.KW_INNER - 113)) | (1 << (PostgreSQLParser.KW_LEFT - 113)) | (1 << (PostgreSQLParser.KW_RIGHT - 113)))) !== 0)) { { this.state = 9239; this.join_type(); } } this.state = 9242; this.match(PostgreSQLParser.KW_JOIN); this.state = 9243; this.table_ref(); } break; case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_RIGHT: { this.state = 9245; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 113)) & ~0x1F) === 0 && ((1 << (_la - 113)) & ((1 << (PostgreSQLParser.KW_FULL - 113)) | (1 << (PostgreSQLParser.KW_INNER - 113)) | (1 << (PostgreSQLParser.KW_LEFT - 113)) | (1 << (PostgreSQLParser.KW_RIGHT - 113)))) !== 0)) { { this.state = 9244; this.join_type(); } } this.state = 9247; this.match(PostgreSQLParser.KW_JOIN); this.state = 9248; this.table_ref(); this.state = 9249; this.join_qual(); } break; default: throw new NoViableAltException(this); } } } this.state = 9255; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 919, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public alias_clause(): Alias_clauseContext { let _localctx: Alias_clauseContext = new Alias_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1110, PostgreSQLParser.RULE_alias_clause); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9257; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AS) { { this.state = 9256; this.match(PostgreSQLParser.KW_AS); } } this.state = 9259; this.colid(); this.state = 9264; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 921, this._ctx) ) { case 1: { this.state = 9260; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9261; this.name_list(); this.state = 9262; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_alias_clause(): Opt_alias_clauseContext { let _localctx: Opt_alias_clauseContext = new Opt_alias_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1112, PostgreSQLParser.RULE_opt_alias_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 9266; this.alias_clause(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_alias_clause(): Func_alias_clauseContext { let _localctx: Func_alias_clauseContext = new Func_alias_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1114, PostgreSQLParser.RULE_func_alias_clause); let _la: number; try { this.state = 9280; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 924, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 9268; this.alias_clause(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 9274; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AS: { this.state = 9269; this.match(PostgreSQLParser.KW_AS); this.state = 9271; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (PostgreSQLParser.KW_TABLE - 92)) | (1 << (PostgreSQLParser.KW_IS - 92)) | (1 << (PostgreSQLParser.KW_OUTER - 92)))) !== 0) || ((((_la - 124)) & ~0x1F) === 0 && ((1 << (_la - 124)) & ((1 << (PostgreSQLParser.KW_OVER - 124)) | (1 << (PostgreSQLParser.KW_ABORT - 124)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 124)) | (1 << (PostgreSQLParser.KW_ACCESS - 124)) | (1 << (PostgreSQLParser.KW_ACTION - 124)) | (1 << (PostgreSQLParser.KW_ADD - 124)) | (1 << (PostgreSQLParser.KW_ADMIN - 124)) | (1 << (PostgreSQLParser.KW_AFTER - 124)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 124)) | (1 << (PostgreSQLParser.KW_ALSO - 124)) | (1 << (PostgreSQLParser.KW_ALTER - 124)) | (1 << (PostgreSQLParser.KW_ALWAYS - 124)) | (1 << (PostgreSQLParser.KW_ASSERTION - 124)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 124)) | (1 << (PostgreSQLParser.KW_AT - 124)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 124)) | (1 << (PostgreSQLParser.KW_BACKWARD - 124)) | (1 << (PostgreSQLParser.KW_BEFORE - 124)) | (1 << (PostgreSQLParser.KW_BEGIN - 124)) | (1 << (PostgreSQLParser.KW_BY - 124)) | (1 << (PostgreSQLParser.KW_CACHE - 124)) | (1 << (PostgreSQLParser.KW_CALLED - 124)) | (1 << (PostgreSQLParser.KW_CASCADE - 124)) | (1 << (PostgreSQLParser.KW_CASCADED - 124)) | (1 << (PostgreSQLParser.KW_CATALOG - 124)) | (1 << (PostgreSQLParser.KW_CHAIN - 124)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 124)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 124)))) !== 0) || ((((_la - 156)) & ~0x1F) === 0 && ((1 << (_la - 156)) & ((1 << (PostgreSQLParser.KW_CLASS - 156)) | (1 << (PostgreSQLParser.KW_CLOSE - 156)) | (1 << (PostgreSQLParser.KW_CLUSTER - 156)) | (1 << (PostgreSQLParser.KW_COMMENT - 156)) | (1 << (PostgreSQLParser.KW_COMMENTS - 156)) | (1 << (PostgreSQLParser.KW_COMMIT - 156)) | (1 << (PostgreSQLParser.KW_COMMITTED - 156)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 156)) | (1 << (PostgreSQLParser.KW_CONNECTION - 156)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 156)) | (1 << (PostgreSQLParser.KW_CONTENT - 156)) | (1 << (PostgreSQLParser.KW_CONTINUE - 156)) | (1 << (PostgreSQLParser.KW_CONVERSION - 156)) | (1 << (PostgreSQLParser.KW_COPY - 156)) | (1 << (PostgreSQLParser.KW_COST - 156)) | (1 << (PostgreSQLParser.KW_CSV - 156)) | (1 << (PostgreSQLParser.KW_CURSOR - 156)) | (1 << (PostgreSQLParser.KW_CYCLE - 156)) | (1 << (PostgreSQLParser.KW_DATA - 156)) | (1 << (PostgreSQLParser.KW_DATABASE - 156)) | (1 << (PostgreSQLParser.KW_DAY - 156)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 156)) | (1 << (PostgreSQLParser.KW_DECLARE - 156)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 156)) | (1 << (PostgreSQLParser.KW_DEFERRED - 156)) | (1 << (PostgreSQLParser.KW_DEFINER - 156)) | (1 << (PostgreSQLParser.KW_DELETE - 156)) | (1 << (PostgreSQLParser.KW_DELIMITER - 156)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 156)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 156)) | (1 << (PostgreSQLParser.KW_DISABLE - 156)) | (1 << (PostgreSQLParser.KW_DISCARD - 156)))) !== 0) || ((((_la - 188)) & ~0x1F) === 0 && ((1 << (_la - 188)) & ((1 << (PostgreSQLParser.KW_DOCUMENT - 188)) | (1 << (PostgreSQLParser.KW_DOMAIN - 188)) | (1 << (PostgreSQLParser.KW_DOUBLE - 188)) | (1 << (PostgreSQLParser.KW_DROP - 188)) | (1 << (PostgreSQLParser.KW_EACH - 188)) | (1 << (PostgreSQLParser.KW_ENABLE - 188)) | (1 << (PostgreSQLParser.KW_ENCODING - 188)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 188)) | (1 << (PostgreSQLParser.KW_ENUM - 188)) | (1 << (PostgreSQLParser.KW_ESCAPE - 188)) | (1 << (PostgreSQLParser.KW_EVENT - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 188)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 188)) | (1 << (PostgreSQLParser.KW_EXECUTE - 188)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 188)) | (1 << (PostgreSQLParser.KW_EXTENSION - 188)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 188)) | (1 << (PostgreSQLParser.KW_FAMILY - 188)) | (1 << (PostgreSQLParser.KW_FIRST - 188)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 188)) | (1 << (PostgreSQLParser.KW_FORCE - 188)) | (1 << (PostgreSQLParser.KW_FORWARD - 188)) | (1 << (PostgreSQLParser.KW_FUNCTION - 188)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 188)) | (1 << (PostgreSQLParser.KW_GLOBAL - 188)) | (1 << (PostgreSQLParser.KW_GRANTED - 188)) | (1 << (PostgreSQLParser.KW_HANDLER - 188)) | (1 << (PostgreSQLParser.KW_HEADER - 188)) | (1 << (PostgreSQLParser.KW_HOLD - 188)) | (1 << (PostgreSQLParser.KW_HOUR - 188)) | (1 << (PostgreSQLParser.KW_IDENTITY - 188)))) !== 0) || ((((_la - 220)) & ~0x1F) === 0 && ((1 << (_la - 220)) & ((1 << (PostgreSQLParser.KW_IF - 220)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 220)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 220)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 220)) | (1 << (PostgreSQLParser.KW_INCLUDING - 220)) | (1 << (PostgreSQLParser.KW_INCREMENT - 220)) | (1 << (PostgreSQLParser.KW_INDEX - 220)) | (1 << (PostgreSQLParser.KW_INDEXES - 220)) | (1 << (PostgreSQLParser.KW_INHERIT - 220)) | (1 << (PostgreSQLParser.KW_INHERITS - 220)) | (1 << (PostgreSQLParser.KW_INLINE - 220)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 220)) | (1 << (PostgreSQLParser.KW_INSERT - 220)) | (1 << (PostgreSQLParser.KW_INSTEAD - 220)) | (1 << (PostgreSQLParser.KW_INVOKER - 220)) | (1 << (PostgreSQLParser.KW_ISOLATION - 220)) | (1 << (PostgreSQLParser.KW_KEY - 220)) | (1 << (PostgreSQLParser.KW_LABEL - 220)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 220)) | (1 << (PostgreSQLParser.KW_LARGE - 220)) | (1 << (PostgreSQLParser.KW_LAST - 220)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 220)) | (1 << (PostgreSQLParser.KW_LEVEL - 220)))) !== 0) || ((((_la - 252)) & ~0x1F) === 0 && ((1 << (_la - 252)) & ((1 << (PostgreSQLParser.KW_LISTEN - 252)) | (1 << (PostgreSQLParser.KW_LOAD - 252)) | (1 << (PostgreSQLParser.KW_LOCAL - 252)) | (1 << (PostgreSQLParser.KW_LOCATION - 252)) | (1 << (PostgreSQLParser.KW_LOCK - 252)) | (1 << (PostgreSQLParser.KW_MAPPING - 252)) | (1 << (PostgreSQLParser.KW_MATCH - 252)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 252)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 252)) | (1 << (PostgreSQLParser.KW_MINUTE - 252)) | (1 << (PostgreSQLParser.KW_MINVALUE - 252)) | (1 << (PostgreSQLParser.KW_MODE - 252)) | (1 << (PostgreSQLParser.KW_MONTH - 252)) | (1 << (PostgreSQLParser.KW_MOVE - 252)) | (1 << (PostgreSQLParser.KW_NAME - 252)) | (1 << (PostgreSQLParser.KW_NAMES - 252)) | (1 << (PostgreSQLParser.KW_NEXT - 252)) | (1 << (PostgreSQLParser.KW_NO - 252)) | (1 << (PostgreSQLParser.KW_NOTHING - 252)) | (1 << (PostgreSQLParser.KW_NOTIFY - 252)) | (1 << (PostgreSQLParser.KW_NOWAIT - 252)) | (1 << (PostgreSQLParser.KW_NULLS - 252)) | (1 << (PostgreSQLParser.KW_OBJECT - 252)) | (1 << (PostgreSQLParser.KW_OF - 252)) | (1 << (PostgreSQLParser.KW_OFF - 252)) | (1 << (PostgreSQLParser.KW_OIDS - 252)) | (1 << (PostgreSQLParser.KW_OPERATOR - 252)) | (1 << (PostgreSQLParser.KW_OPTION - 252)) | (1 << (PostgreSQLParser.KW_OPTIONS - 252)) | (1 << (PostgreSQLParser.KW_OWNED - 252)) | (1 << (PostgreSQLParser.KW_OWNER - 252)) | (1 << (PostgreSQLParser.KW_PARSER - 252)))) !== 0) || ((((_la - 284)) & ~0x1F) === 0 && ((1 << (_la - 284)) & ((1 << (PostgreSQLParser.KW_PARTIAL - 284)) | (1 << (PostgreSQLParser.KW_PARTITION - 284)) | (1 << (PostgreSQLParser.KW_PASSING - 284)) | (1 << (PostgreSQLParser.KW_PASSWORD - 284)) | (1 << (PostgreSQLParser.KW_PLANS - 284)) | (1 << (PostgreSQLParser.KW_PRECEDING - 284)) | (1 << (PostgreSQLParser.KW_PREPARE - 284)) | (1 << (PostgreSQLParser.KW_PREPARED - 284)) | (1 << (PostgreSQLParser.KW_PRESERVE - 284)) | (1 << (PostgreSQLParser.KW_PRIOR - 284)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 284)) | (1 << (PostgreSQLParser.KW_PROGRAM - 284)) | (1 << (PostgreSQLParser.KW_QUOTE - 284)) | (1 << (PostgreSQLParser.KW_RANGE - 284)) | (1 << (PostgreSQLParser.KW_READ - 284)) | (1 << (PostgreSQLParser.KW_REASSIGN - 284)) | (1 << (PostgreSQLParser.KW_RECHECK - 284)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 284)) | (1 << (PostgreSQLParser.KW_REF - 284)) | (1 << (PostgreSQLParser.KW_REFRESH - 284)) | (1 << (PostgreSQLParser.KW_REINDEX - 284)) | (1 << (PostgreSQLParser.KW_RELATIVE - 284)) | (1 << (PostgreSQLParser.KW_RELEASE - 284)) | (1 << (PostgreSQLParser.KW_RENAME - 284)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 284)) | (1 << (PostgreSQLParser.KW_REPLACE - 284)) | (1 << (PostgreSQLParser.KW_REPLICA - 284)) | (1 << (PostgreSQLParser.KW_RESET - 284)) | (1 << (PostgreSQLParser.KW_RESTART - 284)) | (1 << (PostgreSQLParser.KW_RESTRICT - 284)))) !== 0) || ((((_la - 316)) & ~0x1F) === 0 && ((1 << (_la - 316)) & ((1 << (PostgreSQLParser.KW_RETURNS - 316)) | (1 << (PostgreSQLParser.KW_REVOKE - 316)) | (1 << (PostgreSQLParser.KW_ROLE - 316)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 316)) | (1 << (PostgreSQLParser.KW_ROWS - 316)) | (1 << (PostgreSQLParser.KW_RULE - 316)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 316)) | (1 << (PostgreSQLParser.KW_SCHEMA - 316)) | (1 << (PostgreSQLParser.KW_SCROLL - 316)) | (1 << (PostgreSQLParser.KW_SEARCH - 316)) | (1 << (PostgreSQLParser.KW_SECOND - 316)) | (1 << (PostgreSQLParser.KW_SECURITY - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 316)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 316)) | (1 << (PostgreSQLParser.KW_SERVER - 316)) | (1 << (PostgreSQLParser.KW_SESSION - 316)) | (1 << (PostgreSQLParser.KW_SET - 316)) | (1 << (PostgreSQLParser.KW_SHARE - 316)) | (1 << (PostgreSQLParser.KW_SHOW - 316)) | (1 << (PostgreSQLParser.KW_SIMPLE - 316)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 316)) | (1 << (PostgreSQLParser.KW_STABLE - 316)) | (1 << (PostgreSQLParser.KW_STANDALONE - 316)) | (1 << (PostgreSQLParser.KW_START - 316)) | (1 << (PostgreSQLParser.KW_STATEMENT - 316)) | (1 << (PostgreSQLParser.KW_STATISTICS - 316)) | (1 << (PostgreSQLParser.KW_STDIN - 316)) | (1 << (PostgreSQLParser.KW_STDOUT - 316)) | (1 << (PostgreSQLParser.KW_STORAGE - 316)) | (1 << (PostgreSQLParser.KW_STRICT - 316)) | (1 << (PostgreSQLParser.KW_STRIP - 316)))) !== 0) || ((((_la - 348)) & ~0x1F) === 0 && ((1 << (_la - 348)) & ((1 << (PostgreSQLParser.KW_SYSID - 348)) | (1 << (PostgreSQLParser.KW_SYSTEM - 348)) | (1 << (PostgreSQLParser.KW_TABLES - 348)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 348)) | (1 << (PostgreSQLParser.KW_TEMP - 348)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 348)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 348)) | (1 << (PostgreSQLParser.KW_TEXT - 348)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 348)) | (1 << (PostgreSQLParser.KW_TRIGGER - 348)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 348)) | (1 << (PostgreSQLParser.KW_TRUSTED - 348)) | (1 << (PostgreSQLParser.KW_TYPE - 348)) | (1 << (PostgreSQLParser.KW_TYPES - 348)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 348)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 348)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 348)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 348)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 348)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 348)) | (1 << (PostgreSQLParser.KW_UNTIL - 348)) | (1 << (PostgreSQLParser.KW_UPDATE - 348)) | (1 << (PostgreSQLParser.KW_VACUUM - 348)) | (1 << (PostgreSQLParser.KW_VALID - 348)) | (1 << (PostgreSQLParser.KW_VALIDATE - 348)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 348)) | (1 << (PostgreSQLParser.KW_VARYING - 348)) | (1 << (PostgreSQLParser.KW_VERSION - 348)) | (1 << (PostgreSQLParser.KW_VIEW - 348)) | (1 << (PostgreSQLParser.KW_VOLATILE - 348)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 348)) | (1 << (PostgreSQLParser.KW_WITHOUT - 348)))) !== 0) || ((((_la - 380)) & ~0x1F) === 0 && ((1 << (_la - 380)) & ((1 << (PostgreSQLParser.KW_WORK - 380)) | (1 << (PostgreSQLParser.KW_WRAPPER - 380)) | (1 << (PostgreSQLParser.KW_WRITE - 380)) | (1 << (PostgreSQLParser.KW_XML - 380)) | (1 << (PostgreSQLParser.KW_YEAR - 380)) | (1 << (PostgreSQLParser.KW_YES - 380)) | (1 << (PostgreSQLParser.KW_ZONE - 380)) | (1 << (PostgreSQLParser.KW_BETWEEN - 380)) | (1 << (PostgreSQLParser.KW_BIGINT - 380)) | (1 << (PostgreSQLParser.KW_BIT - 380)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 380)) | (1 << (PostgreSQLParser.KW_CHAR - 380)) | (1 << (PostgreSQLParser.KW_CHARACTER - 380)) | (1 << (PostgreSQLParser.KW_COALESCE - 380)) | (1 << (PostgreSQLParser.KW_DEC - 380)) | (1 << (PostgreSQLParser.KW_DECIMAL - 380)) | (1 << (PostgreSQLParser.KW_EXISTS - 380)) | (1 << (PostgreSQLParser.KW_EXTRACT - 380)) | (1 << (PostgreSQLParser.KW_FLOAT - 380)) | (1 << (PostgreSQLParser.KW_GREATEST - 380)) | (1 << (PostgreSQLParser.KW_INOUT - 380)) | (1 << (PostgreSQLParser.KW_INT - 380)) | (1 << (PostgreSQLParser.KW_INTEGER - 380)) | (1 << (PostgreSQLParser.KW_INTERVAL - 380)) | (1 << (PostgreSQLParser.KW_LEAST - 380)) | (1 << (PostgreSQLParser.KW_NATIONAL - 380)) | (1 << (PostgreSQLParser.KW_NCHAR - 380)) | (1 << (PostgreSQLParser.KW_NONE - 380)) | (1 << (PostgreSQLParser.KW_NULLIF - 380)) | (1 << (PostgreSQLParser.KW_NUMERIC - 380)) | (1 << (PostgreSQLParser.KW_OVERLAY - 380)) | (1 << (PostgreSQLParser.KW_POSITION - 380)))) !== 0) || ((((_la - 412)) & ~0x1F) === 0 && ((1 << (_la - 412)) & ((1 << (PostgreSQLParser.KW_PRECISION - 412)) | (1 << (PostgreSQLParser.KW_REAL - 412)) | (1 << (PostgreSQLParser.KW_ROW - 412)) | (1 << (PostgreSQLParser.KW_SETOF - 412)) | (1 << (PostgreSQLParser.KW_SMALLINT - 412)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 412)) | (1 << (PostgreSQLParser.KW_TIME - 412)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 412)) | (1 << (PostgreSQLParser.KW_TREAT - 412)) | (1 << (PostgreSQLParser.KW_TRIM - 412)) | (1 << (PostgreSQLParser.KW_VALUES - 412)) | (1 << (PostgreSQLParser.KW_VARCHAR - 412)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 412)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 412)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 412)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 412)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 412)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 412)) | (1 << (PostgreSQLParser.KW_XMLPI - 412)) | (1 << (PostgreSQLParser.KW_XMLROOT - 412)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 412)) | (1 << (PostgreSQLParser.KW_CALL - 412)) | (1 << (PostgreSQLParser.KW_CURRENT - 412)) | (1 << (PostgreSQLParser.KW_ATTACH - 412)) | (1 << (PostgreSQLParser.KW_DETACH - 412)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 412)) | (1 << (PostgreSQLParser.KW_GENERATED - 412)) | (1 << (PostgreSQLParser.KW_LOGGED - 412)) | (1 << (PostgreSQLParser.KW_STORED - 412)) | (1 << (PostgreSQLParser.KW_INCLUDE - 412)) | (1 << (PostgreSQLParser.KW_ROUTINE - 412)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 412)))) !== 0) || ((((_la - 444)) & ~0x1F) === 0 && ((1 << (_la - 444)) & ((1 << (PostgreSQLParser.KW_IMPORT - 444)) | (1 << (PostgreSQLParser.KW_POLICY - 444)) | (1 << (PostgreSQLParser.KW_METHOD - 444)) | (1 << (PostgreSQLParser.KW_REFERENCING - 444)) | (1 << (PostgreSQLParser.KW_NEW - 444)) | (1 << (PostgreSQLParser.KW_OLD - 444)) | (1 << (PostgreSQLParser.KW_VALUE - 444)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 444)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 444)) | (1 << (PostgreSQLParser.KW_OUT - 444)) | (1 << (PostgreSQLParser.KW_ROUTINES - 444)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 444)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 444)) | (1 << (PostgreSQLParser.KW_INPUT - 444)) | (1 << (PostgreSQLParser.KW_SUPPORT - 444)) | (1 << (PostgreSQLParser.KW_PARALLEL - 444)) | (1 << (PostgreSQLParser.KW_SQL - 444)) | (1 << (PostgreSQLParser.KW_DEPENDS - 444)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 444)) | (1 << (PostgreSQLParser.KW_CONFLICT - 444)) | (1 << (PostgreSQLParser.KW_SKIP - 444)) | (1 << (PostgreSQLParser.KW_LOCKED - 444)) | (1 << (PostgreSQLParser.KW_TIES - 444)) | (1 << (PostgreSQLParser.KW_ROLLUP - 444)) | (1 << (PostgreSQLParser.KW_CUBE - 444)) | (1 << (PostgreSQLParser.KW_GROUPING - 444)) | (1 << (PostgreSQLParser.KW_SETS - 444)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 444)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 444)) | (1 << (PostgreSQLParser.KW_COLUMNS - 444)))) !== 0) || ((((_la - 476)) & ~0x1F) === 0 && ((1 << (_la - 476)) & ((1 << (PostgreSQLParser.KW_XMLNAMESPACES - 476)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 476)) | (1 << (PostgreSQLParser.KW_WITHIN - 476)) | (1 << (PostgreSQLParser.KW_FILTER - 476)) | (1 << (PostgreSQLParser.KW_GROUPS - 476)) | (1 << (PostgreSQLParser.KW_OTHERS - 476)) | (1 << (PostgreSQLParser.KW_NFC - 476)) | (1 << (PostgreSQLParser.KW_NFD - 476)) | (1 << (PostgreSQLParser.KW_NFKC - 476)) | (1 << (PostgreSQLParser.KW_NFKD - 476)) | (1 << (PostgreSQLParser.KW_UESCAPE - 476)) | (1 << (PostgreSQLParser.KW_VIEWS - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 476)) | (1 << (PostgreSQLParser.KW_DUMP - 476)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 476)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 476)) | (1 << (PostgreSQLParser.KW_ERROR - 476)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 476)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 476)) | (1 << (PostgreSQLParser.KW_ALIAS - 476)) | (1 << (PostgreSQLParser.KW_CONSTANT - 476)) | (1 << (PostgreSQLParser.KW_PERFORM - 476)) | (1 << (PostgreSQLParser.KW_GET - 476)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 476)) | (1 << (PostgreSQLParser.KW_STACKED - 476)) | (1 << (PostgreSQLParser.KW_ELSIF - 476)) | (1 << (PostgreSQLParser.KW_REVERSE - 476)) | (1 << (PostgreSQLParser.KW_SLICE - 476)) | (1 << (PostgreSQLParser.KW_EXIT - 476)))) !== 0) || ((((_la - 508)) & ~0x1F) === 0 && ((1 << (_la - 508)) & ((1 << (PostgreSQLParser.KW_RETURN - 508)) | (1 << (PostgreSQLParser.KW_QUERY - 508)) | (1 << (PostgreSQLParser.KW_RAISE - 508)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 508)) | (1 << (PostgreSQLParser.KW_DEBUG - 508)) | (1 << (PostgreSQLParser.KW_LOG - 508)) | (1 << (PostgreSQLParser.KW_INFO - 508)) | (1 << (PostgreSQLParser.KW_NOTICE - 508)) | (1 << (PostgreSQLParser.KW_WARNING - 508)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 508)) | (1 << (PostgreSQLParser.KW_ASSERT - 508)) | (1 << (PostgreSQLParser.KW_OPEN - 508)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 9270; this.colid(); } } } break; case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 9273; this.colid(); } break; default: throw new NoViableAltException(this); } this.state = 9276; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9277; this.tablefuncelementlist(); this.state = 9278; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public join_type(): Join_typeContext { let _localctx: Join_typeContext = new Join_typeContext(this._ctx, this.state); this.enterRule(_localctx, 1116, PostgreSQLParser.RULE_join_type); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9282; _la = this._input.LA(1); if (!(((((_la - 113)) & ~0x1F) === 0 && ((1 << (_la - 113)) & ((1 << (PostgreSQLParser.KW_FULL - 113)) | (1 << (PostgreSQLParser.KW_INNER - 113)) | (1 << (PostgreSQLParser.KW_LEFT - 113)) | (1 << (PostgreSQLParser.KW_RIGHT - 113)))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 9284; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OUTER) { { this.state = 9283; this.match(PostgreSQLParser.KW_OUTER); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public join_qual(): Join_qualContext { let _localctx: Join_qualContext = new Join_qualContext(this._ctx, this.state); this.enterRule(_localctx, 1118, PostgreSQLParser.RULE_join_qual); try { this.state = 9293; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_USING: this.enterOuterAlt(_localctx, 1); { this.state = 9286; this.match(PostgreSQLParser.KW_USING); this.state = 9287; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9288; this.columnlist(); this.state = 9289; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_ON: this.enterOuterAlt(_localctx, 2); { this.state = 9291; this.match(PostgreSQLParser.KW_ON); this.state = 9292; this.a_expr(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public relation_expr(): Relation_exprContext { let _localctx: Relation_exprContext = new Relation_exprContext(this._ctx, this.state); this.enterRule(_localctx, 1120, PostgreSQLParser.RULE_relation_expr); let _la: number; try { this.state = 9322; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 933, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 9296; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ONLY) { { this.state = 9295; this.match(PostgreSQLParser.KW_ONLY); } } this.state = 9298; this.table_name(); this.state = 9300; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.STAR) { { this.state = 9299; this.match(PostgreSQLParser.STAR); } } this.state = 9303; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 929, this._ctx) ) { case 1: { this.state = 9302; this.columnlist(); } break; } this.state = 9306; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 930, this._ctx) ) { case 1: { this.state = 9305; this.where_clause(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 9308; this.match(PostgreSQLParser.KW_ONLY); this.state = 9314; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 9309; this.table_name(); } break; case PostgreSQLParser.OPEN_PAREN: { this.state = 9310; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9311; this.table_name(); this.state = 9312; this.match(PostgreSQLParser.CLOSE_PAREN); } break; default: throw new NoViableAltException(this); } } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 9316; this.match(PostgreSQLParser.KW_IN); this.state = 9317; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 9320; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 9318; this.schema_name(); } break; case PostgreSQLParser.KW_CURRENT_SCHEMA: { this.state = 9319; this.match(PostgreSQLParser.KW_CURRENT_SCHEMA); } break; default: throw new NoViableAltException(this); } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public view_relation_expr(): View_relation_exprContext { let _localctx: View_relation_exprContext = new View_relation_exprContext(this._ctx, this.state); this.enterRule(_localctx, 1122, PostgreSQLParser.RULE_view_relation_expr); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9325; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ONLY) { { this.state = 9324; this.match(PostgreSQLParser.KW_ONLY); } } this.state = 9327; this.view_name(); this.state = 9329; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.STAR) { { this.state = 9328; this.match(PostgreSQLParser.STAR); } } this.state = 9332; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 936, this._ctx) ) { case 1: { this.state = 9331; this.columnlist(); } break; } this.state = 9335; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 937, this._ctx) ) { case 1: { this.state = 9334; this.where_clause(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public publication_relation_expr(): Publication_relation_exprContext { let _localctx: Publication_relation_exprContext = new Publication_relation_exprContext(this._ctx, this.state); this.enterRule(_localctx, 1124, PostgreSQLParser.RULE_publication_relation_expr); let _la: number; try { this.state = 9370; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 944, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 9337; this.match(PostgreSQLParser.KW_TABLE); this.state = 9339; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ONLY) { { this.state = 9338; this.match(PostgreSQLParser.KW_ONLY); } } this.state = 9341; this.table_name(); this.state = 9343; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.STAR) { { this.state = 9342; this.match(PostgreSQLParser.STAR); } } this.state = 9349; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 940, this._ctx) ) { case 1: { this.state = 9345; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9346; this.columnlist(); this.state = 9347; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } this.state = 9352; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHERE) { { this.state = 9351; this.where_clause(); } } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 9354; this.match(PostgreSQLParser.KW_TABLE); this.state = 9355; this.match(PostgreSQLParser.KW_ONLY); this.state = 9361; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 9356; this.table_name(); } break; case PostgreSQLParser.OPEN_PAREN: { this.state = 9357; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9358; this.table_name(); this.state = 9359; this.match(PostgreSQLParser.CLOSE_PAREN); } break; default: throw new NoViableAltException(this); } } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 9363; this.match(PostgreSQLParser.KW_TABLES); this.state = 9364; this.match(PostgreSQLParser.KW_IN); this.state = 9365; this.match(PostgreSQLParser.KW_SCHEMA); this.state = 9368; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 9366; this.schema_name(); } break; case PostgreSQLParser.KW_CURRENT_SCHEMA: { this.state = 9367; this.match(PostgreSQLParser.KW_CURRENT_SCHEMA); } break; default: throw new NoViableAltException(this); } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public relation_expr_list(): Relation_expr_listContext { let _localctx: Relation_expr_listContext = new Relation_expr_listContext(this._ctx, this.state); this.enterRule(_localctx, 1126, PostgreSQLParser.RULE_relation_expr_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9372; this.relation_expr(); this.state = 9377; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 9373; this.match(PostgreSQLParser.COMMA); this.state = 9374; this.relation_expr(); } } this.state = 9379; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public publication_relation_expr_list(): Publication_relation_expr_listContext { let _localctx: Publication_relation_expr_listContext = new Publication_relation_expr_listContext(this._ctx, this.state); this.enterRule(_localctx, 1128, PostgreSQLParser.RULE_publication_relation_expr_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9380; this.publication_relation_expr(); this.state = 9385; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 9381; this.match(PostgreSQLParser.COMMA); this.state = 9382; this.publication_relation_expr(); } } this.state = 9387; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public relation_expr_opt_alias(): Relation_expr_opt_aliasContext { let _localctx: Relation_expr_opt_aliasContext = new Relation_expr_opt_aliasContext(this._ctx, this.state); this.enterRule(_localctx, 1130, PostgreSQLParser.RULE_relation_expr_opt_alias); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9388; this.relation_expr(); this.state = 9393; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 948, this._ctx) ) { case 1: { this.state = 9390; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AS) { { this.state = 9389; this.match(PostgreSQLParser.KW_AS); } } this.state = 9392; this.colid(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public tablesample_clause(): Tablesample_clauseContext { let _localctx: Tablesample_clauseContext = new Tablesample_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1132, PostgreSQLParser.RULE_tablesample_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 9395; this.match(PostgreSQLParser.KW_TABLESAMPLE); this.state = 9396; this.function_name(); this.state = 9397; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9398; this.expr_list(); this.state = 9399; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 9401; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 949, this._ctx) ) { case 1: { this.state = 9400; this.opt_repeatable_clause(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_repeatable_clause(): Opt_repeatable_clauseContext { let _localctx: Opt_repeatable_clauseContext = new Opt_repeatable_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1134, PostgreSQLParser.RULE_opt_repeatable_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 9403; this.match(PostgreSQLParser.KW_REPEATABLE); this.state = 9404; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9405; this.a_expr(); this.state = 9406; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_table(): Func_tableContext { let _localctx: Func_tableContext = new Func_tableContext(this._ctx, this.state); this.enterRule(_localctx, 1136, PostgreSQLParser.RULE_func_table); try { this.state = 9420; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 952, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 9408; this.func_expr_windowless(); this.state = 9410; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 950, this._ctx) ) { case 1: { this.state = 9409; this.opt_ordinality(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 9412; this.match(PostgreSQLParser.KW_ROWS); this.state = 9413; this.match(PostgreSQLParser.KW_FROM); this.state = 9414; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9415; this.rowsfrom_list(); this.state = 9416; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 9418; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 951, this._ctx) ) { case 1: { this.state = 9417; this.opt_ordinality(); } break; } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public rowsfrom_item(): Rowsfrom_itemContext { let _localctx: Rowsfrom_itemContext = new Rowsfrom_itemContext(this._ctx, this.state); this.enterRule(_localctx, 1138, PostgreSQLParser.RULE_rowsfrom_item); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9422; this.func_expr_windowless(); this.state = 9424; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AS) { { this.state = 9423; this.opt_col_def_list(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public rowsfrom_list(): Rowsfrom_listContext { let _localctx: Rowsfrom_listContext = new Rowsfrom_listContext(this._ctx, this.state); this.enterRule(_localctx, 1140, PostgreSQLParser.RULE_rowsfrom_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9426; this.rowsfrom_item(); this.state = 9431; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 9427; this.match(PostgreSQLParser.COMMA); this.state = 9428; this.rowsfrom_item(); } } this.state = 9433; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_col_def_list(): Opt_col_def_listContext { let _localctx: Opt_col_def_listContext = new Opt_col_def_listContext(this._ctx, this.state); this.enterRule(_localctx, 1142, PostgreSQLParser.RULE_opt_col_def_list); try { this.enterOuterAlt(_localctx, 1); { this.state = 9434; this.match(PostgreSQLParser.KW_AS); this.state = 9435; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9436; this.tablefuncelementlist(); this.state = 9437; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_ordinality(): Opt_ordinalityContext { let _localctx: Opt_ordinalityContext = new Opt_ordinalityContext(this._ctx, this.state); this.enterRule(_localctx, 1144, PostgreSQLParser.RULE_opt_ordinality); try { this.enterOuterAlt(_localctx, 1); { this.state = 9439; this.match(PostgreSQLParser.KW_WITH); this.state = 9440; this.match(PostgreSQLParser.KW_ORDINALITY); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public where_clause(): Where_clauseContext { let _localctx: Where_clauseContext = new Where_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1146, PostgreSQLParser.RULE_where_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 9442; this.match(PostgreSQLParser.KW_WHERE); this.state = 9443; this.column_expr_noparen(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public where_or_current_clause(): Where_or_current_clauseContext { let _localctx: Where_or_current_clauseContext = new Where_or_current_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1148, PostgreSQLParser.RULE_where_or_current_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 9445; this.match(PostgreSQLParser.KW_WHERE); this.state = 9450; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 955, this._ctx) ) { case 1: { this.state = 9446; this.match(PostgreSQLParser.KW_CURRENT); this.state = 9447; this.match(PostgreSQLParser.KW_OF); this.state = 9448; this.cursor_name(); } break; case 2: { this.state = 9449; this.a_expr(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opttablefuncelementlist(): OpttablefuncelementlistContext { let _localctx: OpttablefuncelementlistContext = new OpttablefuncelementlistContext(this._ctx, this.state); this.enterRule(_localctx, 1150, PostgreSQLParser.RULE_opttablefuncelementlist); try { this.enterOuterAlt(_localctx, 1); { this.state = 9452; this.tablefuncelementlist(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public tablefuncelementlist(): TablefuncelementlistContext { let _localctx: TablefuncelementlistContext = new TablefuncelementlistContext(this._ctx, this.state); this.enterRule(_localctx, 1152, PostgreSQLParser.RULE_tablefuncelementlist); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9454; this.tablefuncelement(); this.state = 9459; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 9455; this.match(PostgreSQLParser.COMMA); this.state = 9456; this.tablefuncelement(); } } this.state = 9461; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public tablefuncelement(): TablefuncelementContext { let _localctx: TablefuncelementContext = new TablefuncelementContext(this._ctx, this.state); this.enterRule(_localctx, 1154, PostgreSQLParser.RULE_tablefuncelement); try { this.enterOuterAlt(_localctx, 1); { this.state = 9462; this.colid(); this.state = 9463; this.typename(); this.state = 9465; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 957, this._ctx) ) { case 1: { this.state = 9464; this.opt_collate_clause(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xmltable(): XmltableContext { let _localctx: XmltableContext = new XmltableContext(this._ctx, this.state); this.enterRule(_localctx, 1156, PostgreSQLParser.RULE_xmltable); try { this.enterOuterAlt(_localctx, 1); { this.state = 9467; this.match(PostgreSQLParser.KW_XMLTABLE); this.state = 9468; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9484; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 958, this._ctx) ) { case 1: { this.state = 9469; this.c_expr(); this.state = 9470; this.xmlexists_argument(); this.state = 9471; this.match(PostgreSQLParser.KW_COLUMNS); this.state = 9472; this.xmltable_column_list(); } break; case 2: { this.state = 9474; this.match(PostgreSQLParser.KW_XMLNAMESPACES); this.state = 9475; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9476; this.xml_namespace_list(); this.state = 9477; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 9478; this.match(PostgreSQLParser.COMMA); this.state = 9479; this.c_expr(); this.state = 9480; this.xmlexists_argument(); this.state = 9481; this.match(PostgreSQLParser.KW_COLUMNS); this.state = 9482; this.xmltable_column_list(); } break; } this.state = 9486; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xmltable_column_list(): Xmltable_column_listContext { let _localctx: Xmltable_column_listContext = new Xmltable_column_listContext(this._ctx, this.state); this.enterRule(_localctx, 1158, PostgreSQLParser.RULE_xmltable_column_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9488; this.xmltable_column_el(); this.state = 9493; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 9489; this.match(PostgreSQLParser.COMMA); this.state = 9490; this.xmltable_column_el(); } } this.state = 9495; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xmltable_column_el(): Xmltable_column_elContext { let _localctx: Xmltable_column_elContext = new Xmltable_column_elContext(this._ctx, this.state); this.enterRule(_localctx, 1160, PostgreSQLParser.RULE_xmltable_column_el); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9496; this.colid(); this.state = 9503; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 9497; this.typename(); this.state = 9499; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 77)) & ~0x1F) === 0 && ((1 << (_la - 77)) & ((1 << (PostgreSQLParser.KW_NOT - 77)) | (1 << (PostgreSQLParser.KW_NULL - 77)) | (1 << (PostgreSQLParser.KW_TABLE - 77)))) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & ((1 << (PostgreSQLParser.KW_IS - 116)) | (1 << (PostgreSQLParser.KW_OUTER - 116)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 116)) | (1 << (PostgreSQLParser.KW_BACKWARD - 116)))) !== 0) || ((((_la - 153)) & ~0x1F) === 0 && ((1 << (_la - 153)) & ((1 << (PostgreSQLParser.KW_CHAIN - 153)) | (1 << (PostgreSQLParser.KW_CLOSE - 153)) | (1 << (PostgreSQLParser.KW_COMMIT - 153)) | (1 << (PostgreSQLParser.KW_CONTINUE - 153)) | (1 << (PostgreSQLParser.KW_CURSOR - 153)))) !== 0) || _la === PostgreSQLParser.KW_FIRST || _la === PostgreSQLParser.KW_FORWARD || ((((_la - 241)) & ~0x1F) === 0 && ((1 << (_la - 241)) & ((1 << (PostgreSQLParser.KW_INSERT - 241)) | (1 << (PostgreSQLParser.KW_LAST - 241)) | (1 << (PostgreSQLParser.KW_MOVE - 241)) | (1 << (PostgreSQLParser.KW_NEXT - 241)) | (1 << (PostgreSQLParser.KW_NO - 241)))) !== 0) || ((((_la - 279)) & ~0x1F) === 0 && ((1 << (_la - 279)) & ((1 << (PostgreSQLParser.KW_OPTION - 279)) | (1 << (PostgreSQLParser.KW_PRIOR - 279)) | (1 << (PostgreSQLParser.KW_RELATIVE - 279)))) !== 0) || ((((_la - 313)) & ~0x1F) === 0 && ((1 << (_la - 313)) & ((1 << (PostgreSQLParser.KW_RESET - 313)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 313)) | (1 << (PostgreSQLParser.KW_SCHEMA - 313)) | (1 << (PostgreSQLParser.KW_SCROLL - 313)) | (1 << (PostgreSQLParser.KW_SET - 313)))) !== 0) || _la === PostgreSQLParser.KW_TYPE || _la === PostgreSQLParser.KW_CALL || _la === PostgreSQLParser.KW_CURRENT || ((((_la - 477)) & ~0x1F) === 0 && ((1 << (_la - 477)) & ((1 << (PostgreSQLParser.KW_ROWTYPE - 477)) | (1 << (PostgreSQLParser.KW_DUMP - 477)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 477)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 477)) | (1 << (PostgreSQLParser.KW_ERROR - 477)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 477)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 477)) | (1 << (PostgreSQLParser.KW_ALIAS - 477)) | (1 << (PostgreSQLParser.KW_CONSTANT - 477)) | (1 << (PostgreSQLParser.KW_PERFORM - 477)) | (1 << (PostgreSQLParser.KW_GET - 477)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 477)) | (1 << (PostgreSQLParser.KW_STACKED - 477)) | (1 << (PostgreSQLParser.KW_ELSIF - 477)) | (1 << (PostgreSQLParser.KW_REVERSE - 477)) | (1 << (PostgreSQLParser.KW_SLICE - 477)) | (1 << (PostgreSQLParser.KW_EXIT - 477)) | (1 << (PostgreSQLParser.KW_RETURN - 477)))) !== 0) || ((((_la - 509)) & ~0x1F) === 0 && ((1 << (_la - 509)) & ((1 << (PostgreSQLParser.KW_QUERY - 509)) | (1 << (PostgreSQLParser.KW_RAISE - 509)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 509)) | (1 << (PostgreSQLParser.KW_DEBUG - 509)) | (1 << (PostgreSQLParser.KW_LOG - 509)) | (1 << (PostgreSQLParser.KW_INFO - 509)) | (1 << (PostgreSQLParser.KW_NOTICE - 509)) | (1 << (PostgreSQLParser.KW_WARNING - 509)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 509)) | (1 << (PostgreSQLParser.KW_ASSERT - 509)) | (1 << (PostgreSQLParser.KW_OPEN - 509)))) !== 0) || ((((_la - 549)) & ~0x1F) === 0 && ((1 << (_la - 549)) & ((1 << (PostgreSQLParser.Identifier - 549)) | (1 << (PostgreSQLParser.QuotedIdentifier - 549)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 549)) | (1 << (PostgreSQLParser.StringConstant - 549)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 549)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 549)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 549)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 549)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 9498; this.xmltable_column_option_list(); } } } break; case PostgreSQLParser.KW_FOR: { this.state = 9501; this.match(PostgreSQLParser.KW_FOR); this.state = 9502; this.match(PostgreSQLParser.KW_ORDINALITY); } break; default: throw new NoViableAltException(this); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xmltable_column_option_list(): Xmltable_column_option_listContext { let _localctx: Xmltable_column_option_listContext = new Xmltable_column_option_listContext(this._ctx, this.state); this.enterRule(_localctx, 1162, PostgreSQLParser.RULE_xmltable_column_option_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9506; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 9505; this.xmltable_column_option_el(); } } this.state = 9508; this._errHandler.sync(this); _la = this._input.LA(1); } while (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 77)) & ~0x1F) === 0 && ((1 << (_la - 77)) & ((1 << (PostgreSQLParser.KW_NOT - 77)) | (1 << (PostgreSQLParser.KW_NULL - 77)) | (1 << (PostgreSQLParser.KW_TABLE - 77)))) !== 0) || ((((_la - 116)) & ~0x1F) === 0 && ((1 << (_la - 116)) & ((1 << (PostgreSQLParser.KW_IS - 116)) | (1 << (PostgreSQLParser.KW_OUTER - 116)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 116)) | (1 << (PostgreSQLParser.KW_BACKWARD - 116)))) !== 0) || ((((_la - 153)) & ~0x1F) === 0 && ((1 << (_la - 153)) & ((1 << (PostgreSQLParser.KW_CHAIN - 153)) | (1 << (PostgreSQLParser.KW_CLOSE - 153)) | (1 << (PostgreSQLParser.KW_COMMIT - 153)) | (1 << (PostgreSQLParser.KW_CONTINUE - 153)) | (1 << (PostgreSQLParser.KW_CURSOR - 153)))) !== 0) || _la === PostgreSQLParser.KW_FIRST || _la === PostgreSQLParser.KW_FORWARD || ((((_la - 241)) & ~0x1F) === 0 && ((1 << (_la - 241)) & ((1 << (PostgreSQLParser.KW_INSERT - 241)) | (1 << (PostgreSQLParser.KW_LAST - 241)) | (1 << (PostgreSQLParser.KW_MOVE - 241)) | (1 << (PostgreSQLParser.KW_NEXT - 241)) | (1 << (PostgreSQLParser.KW_NO - 241)))) !== 0) || ((((_la - 279)) & ~0x1F) === 0 && ((1 << (_la - 279)) & ((1 << (PostgreSQLParser.KW_OPTION - 279)) | (1 << (PostgreSQLParser.KW_PRIOR - 279)) | (1 << (PostgreSQLParser.KW_RELATIVE - 279)))) !== 0) || ((((_la - 313)) & ~0x1F) === 0 && ((1 << (_la - 313)) & ((1 << (PostgreSQLParser.KW_RESET - 313)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 313)) | (1 << (PostgreSQLParser.KW_SCHEMA - 313)) | (1 << (PostgreSQLParser.KW_SCROLL - 313)) | (1 << (PostgreSQLParser.KW_SET - 313)))) !== 0) || _la === PostgreSQLParser.KW_TYPE || _la === PostgreSQLParser.KW_CALL || _la === PostgreSQLParser.KW_CURRENT || ((((_la - 477)) & ~0x1F) === 0 && ((1 << (_la - 477)) & ((1 << (PostgreSQLParser.KW_ROWTYPE - 477)) | (1 << (PostgreSQLParser.KW_DUMP - 477)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 477)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 477)) | (1 << (PostgreSQLParser.KW_ERROR - 477)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 477)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 477)) | (1 << (PostgreSQLParser.KW_ALIAS - 477)) | (1 << (PostgreSQLParser.KW_CONSTANT - 477)) | (1 << (PostgreSQLParser.KW_PERFORM - 477)) | (1 << (PostgreSQLParser.KW_GET - 477)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 477)) | (1 << (PostgreSQLParser.KW_STACKED - 477)) | (1 << (PostgreSQLParser.KW_ELSIF - 477)) | (1 << (PostgreSQLParser.KW_REVERSE - 477)) | (1 << (PostgreSQLParser.KW_SLICE - 477)) | (1 << (PostgreSQLParser.KW_EXIT - 477)) | (1 << (PostgreSQLParser.KW_RETURN - 477)))) !== 0) || ((((_la - 509)) & ~0x1F) === 0 && ((1 << (_la - 509)) & ((1 << (PostgreSQLParser.KW_QUERY - 509)) | (1 << (PostgreSQLParser.KW_RAISE - 509)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 509)) | (1 << (PostgreSQLParser.KW_DEBUG - 509)) | (1 << (PostgreSQLParser.KW_LOG - 509)) | (1 << (PostgreSQLParser.KW_INFO - 509)) | (1 << (PostgreSQLParser.KW_NOTICE - 509)) | (1 << (PostgreSQLParser.KW_WARNING - 509)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 509)) | (1 << (PostgreSQLParser.KW_ASSERT - 509)) | (1 << (PostgreSQLParser.KW_OPEN - 509)))) !== 0) || ((((_la - 549)) & ~0x1F) === 0 && ((1 << (_la - 549)) & ((1 << (PostgreSQLParser.Identifier - 549)) | (1 << (PostgreSQLParser.QuotedIdentifier - 549)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 549)) | (1 << (PostgreSQLParser.StringConstant - 549)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 549)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 549)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 549)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 549)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xmltable_column_option_el(): Xmltable_column_option_elContext { let _localctx: Xmltable_column_option_elContext = new Xmltable_column_option_elContext(this._ctx, this.state); this.enterRule(_localctx, 1164, PostgreSQLParser.RULE_xmltable_column_option_el); try { this.state = 9518; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 963, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 9510; this.match(PostgreSQLParser.KW_DEFAULT); this.state = 9511; this.a_expr(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 9512; this.identifier(); this.state = 9513; this.a_expr(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 9515; this.match(PostgreSQLParser.KW_NOT); this.state = 9516; this.match(PostgreSQLParser.KW_NULL); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 9517; this.match(PostgreSQLParser.KW_NULL); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xml_namespace_list(): Xml_namespace_listContext { let _localctx: Xml_namespace_listContext = new Xml_namespace_listContext(this._ctx, this.state); this.enterRule(_localctx, 1166, PostgreSQLParser.RULE_xml_namespace_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9520; this.xml_namespace_el(); this.state = 9525; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 9521; this.match(PostgreSQLParser.COMMA); this.state = 9522; this.xml_namespace_el(); } } this.state = 9527; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xml_namespace_el(): Xml_namespace_elContext { let _localctx: Xml_namespace_elContext = new Xml_namespace_elContext(this._ctx, this.state); this.enterRule(_localctx, 1168, PostgreSQLParser.RULE_xml_namespace_el); try { this.state = 9534; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 965, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 9528; this.b_expr(0); this.state = 9529; this.match(PostgreSQLParser.KW_AS); this.state = 9530; this.collabel(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 9532; this.match(PostgreSQLParser.KW_DEFAULT); this.state = 9533; this.b_expr(0); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public typename(): TypenameContext { let _localctx: TypenameContext = new TypenameContext(this._ctx, this.state); this.enterRule(_localctx, 1170, PostgreSQLParser.RULE_typename); let _la: number; try { this.state = 9554; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 969, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 9537; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_SETOF) { { this.state = 9536; this.match(PostgreSQLParser.KW_SETOF); } } this.state = 9539; this.simpletypename(); this.state = 9548; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 968, this._ctx) ) { case 1: { this.state = 9540; this.opt_array_bounds(); } break; case 2: { this.state = 9541; this.match(PostgreSQLParser.KW_ARRAY); this.state = 9546; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 967, this._ctx) ) { case 1: { this.state = 9542; this.match(PostgreSQLParser.OPEN_BRACKET); this.state = 9543; this.iconst(); this.state = 9544; this.match(PostgreSQLParser.CLOSE_BRACKET); } break; } } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 9550; this.qualified_name(); this.state = 9551; this.match(PostgreSQLParser.PERCENT); this.state = 9552; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_TYPE || _la === PostgreSQLParser.KW_ROWTYPE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_array_bounds(): Opt_array_boundsContext { let _localctx: Opt_array_boundsContext = new Opt_array_boundsContext(this._ctx, this.state); this.enterRule(_localctx, 1172, PostgreSQLParser.RULE_opt_array_bounds); let _la: number; try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 9563; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 971, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 9556; this.match(PostgreSQLParser.OPEN_BRACKET); this.state = 9558; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.Integral) { { this.state = 9557; this.iconst(); } } this.state = 9560; this.match(PostgreSQLParser.CLOSE_BRACKET); } } } this.state = 9565; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 971, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public simpletypename(): SimpletypenameContext { let _localctx: SimpletypenameContext = new SimpletypenameContext(this._ctx, this.state); this.enterRule(_localctx, 1174, PostgreSQLParser.RULE_simpletypename); try { this.state = 9581; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 974, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 9566; this.generictype(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 9567; this.numeric(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 9568; this.bit(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 9569; this.character(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 9570; this.constdatetime(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 9571; this.constinterval(); this.state = 9579; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 973, this._ctx) ) { case 1: { this.state = 9573; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 972, this._ctx) ) { case 1: { this.state = 9572; this.opt_interval(); } break; } } break; case 2: { this.state = 9575; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9576; this.iconst(); this.state = 9577; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public consttypename(): ConsttypenameContext { let _localctx: ConsttypenameContext = new ConsttypenameContext(this._ctx, this.state); this.enterRule(_localctx, 1176, PostgreSQLParser.RULE_consttypename); try { this.state = 9587; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_SMALLINT: this.enterOuterAlt(_localctx, 1); { this.state = 9583; this.numeric(); } break; case PostgreSQLParser.KW_BIT: this.enterOuterAlt(_localctx, 2); { this.state = 9584; this.constbit(); } break; case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_VARCHAR: this.enterOuterAlt(_localctx, 3); { this.state = 9585; this.constcharacter(); } break; case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: this.enterOuterAlt(_localctx, 4); { this.state = 9586; this.constdatetime(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public generictype(): GenerictypeContext { let _localctx: GenerictypeContext = new GenerictypeContext(this._ctx, this.state); this.enterRule(_localctx, 1178, PostgreSQLParser.RULE_generictype); try { this.enterOuterAlt(_localctx, 1); { this.state = 9589; this.type_function_name(); this.state = 9591; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 976, this._ctx) ) { case 1: { this.state = 9590; this.attrs(); } break; } this.state = 9594; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 977, this._ctx) ) { case 1: { this.state = 9593; this.opt_type_modifiers(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_type_modifiers(): Opt_type_modifiersContext { let _localctx: Opt_type_modifiersContext = new Opt_type_modifiersContext(this._ctx, this.state); this.enterRule(_localctx, 1180, PostgreSQLParser.RULE_opt_type_modifiers); try { this.enterOuterAlt(_localctx, 1); { this.state = 9596; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9597; this.expr_list(); this.state = 9598; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public numeric(): NumericContext { let _localctx: NumericContext = new NumericContext(this._ctx, this.state); this.enterRule(_localctx, 1182, PostgreSQLParser.RULE_numeric); try { this.state = 9624; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_INT: this.enterOuterAlt(_localctx, 1); { this.state = 9600; this.match(PostgreSQLParser.KW_INT); } break; case PostgreSQLParser.KW_INTEGER: this.enterOuterAlt(_localctx, 2); { this.state = 9601; this.match(PostgreSQLParser.KW_INTEGER); } break; case PostgreSQLParser.KW_SMALLINT: this.enterOuterAlt(_localctx, 3); { this.state = 9602; this.match(PostgreSQLParser.KW_SMALLINT); } break; case PostgreSQLParser.KW_BIGINT: this.enterOuterAlt(_localctx, 4); { this.state = 9603; this.match(PostgreSQLParser.KW_BIGINT); } break; case PostgreSQLParser.KW_REAL: this.enterOuterAlt(_localctx, 5); { this.state = 9604; this.match(PostgreSQLParser.KW_REAL); } break; case PostgreSQLParser.KW_FLOAT: this.enterOuterAlt(_localctx, 6); { this.state = 9605; this.match(PostgreSQLParser.KW_FLOAT); this.state = 9607; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 978, this._ctx) ) { case 1: { this.state = 9606; this.opt_float(); } break; } } break; case PostgreSQLParser.KW_DOUBLE: this.enterOuterAlt(_localctx, 7); { this.state = 9609; this.match(PostgreSQLParser.KW_DOUBLE); this.state = 9610; this.match(PostgreSQLParser.KW_PRECISION); } break; case PostgreSQLParser.KW_DECIMAL: this.enterOuterAlt(_localctx, 8); { this.state = 9611; this.match(PostgreSQLParser.KW_DECIMAL); this.state = 9613; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 979, this._ctx) ) { case 1: { this.state = 9612; this.opt_type_modifiers(); } break; } } break; case PostgreSQLParser.KW_DEC: this.enterOuterAlt(_localctx, 9); { this.state = 9615; this.match(PostgreSQLParser.KW_DEC); this.state = 9617; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 980, this._ctx) ) { case 1: { this.state = 9616; this.opt_type_modifiers(); } break; } } break; case PostgreSQLParser.KW_NUMERIC: this.enterOuterAlt(_localctx, 10); { this.state = 9619; this.match(PostgreSQLParser.KW_NUMERIC); this.state = 9621; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 981, this._ctx) ) { case 1: { this.state = 9620; this.opt_type_modifiers(); } break; } } break; case PostgreSQLParser.KW_BOOLEAN: this.enterOuterAlt(_localctx, 11); { this.state = 9623; this.match(PostgreSQLParser.KW_BOOLEAN); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_float(): Opt_floatContext { let _localctx: Opt_floatContext = new Opt_floatContext(this._ctx, this.state); this.enterRule(_localctx, 1184, PostgreSQLParser.RULE_opt_float); try { this.enterOuterAlt(_localctx, 1); { this.state = 9626; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9627; this.iconst(); this.state = 9628; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public bit(): BitContext { let _localctx: BitContext = new BitContext(this._ctx, this.state); this.enterRule(_localctx, 1186, PostgreSQLParser.RULE_bit); try { this.state = 9632; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 983, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 9630; this.bitwithlength(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 9631; this.bitwithoutlength(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public constbit(): ConstbitContext { let _localctx: ConstbitContext = new ConstbitContext(this._ctx, this.state); this.enterRule(_localctx, 1188, PostgreSQLParser.RULE_constbit); try { this.state = 9636; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 984, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 9634; this.bitwithlength(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 9635; this.bitwithoutlength(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public bitwithlength(): BitwithlengthContext { let _localctx: BitwithlengthContext = new BitwithlengthContext(this._ctx, this.state); this.enterRule(_localctx, 1190, PostgreSQLParser.RULE_bitwithlength); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9638; this.match(PostgreSQLParser.KW_BIT); this.state = 9640; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_VARYING) { { this.state = 9639; this.opt_varying(); } } this.state = 9642; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9643; this.expr_list(); this.state = 9644; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public bitwithoutlength(): BitwithoutlengthContext { let _localctx: BitwithoutlengthContext = new BitwithoutlengthContext(this._ctx, this.state); this.enterRule(_localctx, 1192, PostgreSQLParser.RULE_bitwithoutlength); try { this.enterOuterAlt(_localctx, 1); { this.state = 9646; this.match(PostgreSQLParser.KW_BIT); this.state = 9648; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 986, this._ctx) ) { case 1: { this.state = 9647; this.opt_varying(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public character(): CharacterContext { let _localctx: CharacterContext = new CharacterContext(this._ctx, this.state); this.enterRule(_localctx, 1194, PostgreSQLParser.RULE_character); try { this.enterOuterAlt(_localctx, 1); { this.state = 9650; this.character_c(); this.state = 9655; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 987, this._ctx) ) { case 1: { this.state = 9651; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9652; this.iconst(); this.state = 9653; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public constcharacter(): ConstcharacterContext { let _localctx: ConstcharacterContext = new ConstcharacterContext(this._ctx, this.state); this.enterRule(_localctx, 1196, PostgreSQLParser.RULE_constcharacter); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9657; this.character_c(); this.state = 9662; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 9658; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9659; this.iconst(); this.state = 9660; this.match(PostgreSQLParser.CLOSE_PAREN); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public character_c(): Character_cContext { let _localctx: Character_cContext = new Character_cContext(this._ctx, this.state); this.enterRule(_localctx, 1198, PostgreSQLParser.RULE_character_c); let _la: number; try { this.state = 9674; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_NCHAR: this.enterOuterAlt(_localctx, 1); { this.state = 9664; _la = this._input.LA(1); if (!(((((_la - 391)) & ~0x1F) === 0 && ((1 << (_la - 391)) & ((1 << (PostgreSQLParser.KW_CHAR - 391)) | (1 << (PostgreSQLParser.KW_CHARACTER - 391)) | (1 << (PostgreSQLParser.KW_NCHAR - 391)))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 9666; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 989, this._ctx) ) { case 1: { this.state = 9665; this.opt_varying(); } break; } } break; case PostgreSQLParser.KW_VARCHAR: this.enterOuterAlt(_localctx, 2); { this.state = 9668; this.match(PostgreSQLParser.KW_VARCHAR); } break; case PostgreSQLParser.KW_NATIONAL: this.enterOuterAlt(_localctx, 3); { this.state = 9669; this.match(PostgreSQLParser.KW_NATIONAL); this.state = 9670; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_CHAR || _la === PostgreSQLParser.KW_CHARACTER)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 9672; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 990, this._ctx) ) { case 1: { this.state = 9671; this.opt_varying(); } break; } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_varying(): Opt_varyingContext { let _localctx: Opt_varyingContext = new Opt_varyingContext(this._ctx, this.state); this.enterRule(_localctx, 1200, PostgreSQLParser.RULE_opt_varying); try { this.enterOuterAlt(_localctx, 1); { this.state = 9676; this.match(PostgreSQLParser.KW_VARYING); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public constdatetime(): ConstdatetimeContext { let _localctx: ConstdatetimeContext = new ConstdatetimeContext(this._ctx, this.state); this.enterRule(_localctx, 1202, PostgreSQLParser.RULE_constdatetime); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9678; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_TIME || _la === PostgreSQLParser.KW_TIMESTAMP)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 9683; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 992, this._ctx) ) { case 1: { this.state = 9679; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9680; this.iconst(); this.state = 9681; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } this.state = 9686; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 993, this._ctx) ) { case 1: { this.state = 9685; this.opt_timezone(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public constinterval(): ConstintervalContext { let _localctx: ConstintervalContext = new ConstintervalContext(this._ctx, this.state); this.enterRule(_localctx, 1204, PostgreSQLParser.RULE_constinterval); try { this.enterOuterAlt(_localctx, 1); { this.state = 9688; this.match(PostgreSQLParser.KW_INTERVAL); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_timezone(): Opt_timezoneContext { let _localctx: Opt_timezoneContext = new Opt_timezoneContext(this._ctx, this.state); this.enterRule(_localctx, 1206, PostgreSQLParser.RULE_opt_timezone); try { this.state = 9696; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_WITH: this.enterOuterAlt(_localctx, 1); { this.state = 9690; this.match(PostgreSQLParser.KW_WITH); this.state = 9691; this.match(PostgreSQLParser.KW_TIME); this.state = 9692; this.match(PostgreSQLParser.KW_ZONE); } break; case PostgreSQLParser.KW_WITHOUT: this.enterOuterAlt(_localctx, 2); { this.state = 9693; this.match(PostgreSQLParser.KW_WITHOUT); this.state = 9694; this.match(PostgreSQLParser.KW_TIME); this.state = 9695; this.match(PostgreSQLParser.KW_ZONE); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_interval(): Opt_intervalContext { let _localctx: Opt_intervalContext = new Opt_intervalContext(this._ctx, this.state); this.enterRule(_localctx, 1208, PostgreSQLParser.RULE_opt_interval); try { this.state = 9723; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 997, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 9698; this.match(PostgreSQLParser.KW_YEAR); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 9699; this.match(PostgreSQLParser.KW_MONTH); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 9700; this.match(PostgreSQLParser.KW_DAY); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 9701; this.match(PostgreSQLParser.KW_HOUR); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 9702; this.match(PostgreSQLParser.KW_MINUTE); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 9703; this.interval_second(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 9704; this.match(PostgreSQLParser.KW_YEAR); this.state = 9705; this.match(PostgreSQLParser.KW_TO); this.state = 9706; this.match(PostgreSQLParser.KW_MONTH); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 9707; this.match(PostgreSQLParser.KW_DAY); this.state = 9708; this.match(PostgreSQLParser.KW_TO); this.state = 9712; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_HOUR: { this.state = 9709; this.match(PostgreSQLParser.KW_HOUR); } break; case PostgreSQLParser.KW_MINUTE: { this.state = 9710; this.match(PostgreSQLParser.KW_MINUTE); } break; case PostgreSQLParser.KW_SECOND: { this.state = 9711; this.interval_second(); } break; default: throw new NoViableAltException(this); } } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 9714; this.match(PostgreSQLParser.KW_HOUR); this.state = 9715; this.match(PostgreSQLParser.KW_TO); this.state = 9718; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_MINUTE: { this.state = 9716; this.match(PostgreSQLParser.KW_MINUTE); } break; case PostgreSQLParser.KW_SECOND: { this.state = 9717; this.interval_second(); } break; default: throw new NoViableAltException(this); } } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 9720; this.match(PostgreSQLParser.KW_MINUTE); this.state = 9721; this.match(PostgreSQLParser.KW_TO); this.state = 9722; this.interval_second(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public interval_second(): Interval_secondContext { let _localctx: Interval_secondContext = new Interval_secondContext(this._ctx, this.state); this.enterRule(_localctx, 1210, PostgreSQLParser.RULE_interval_second); try { this.enterOuterAlt(_localctx, 1); { this.state = 9725; this.match(PostgreSQLParser.KW_SECOND); this.state = 9730; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 998, this._ctx) ) { case 1: { this.state = 9726; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9727; this.iconst(); this.state = 9728; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_escape(): Opt_escapeContext { let _localctx: Opt_escapeContext = new Opt_escapeContext(this._ctx, this.state); this.enterRule(_localctx, 1212, PostgreSQLParser.RULE_opt_escape); try { this.enterOuterAlt(_localctx, 1); { this.state = 9732; this.match(PostgreSQLParser.KW_ESCAPE); this.state = 9733; this.a_expr(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr(): A_exprContext { let _localctx: A_exprContext = new A_exprContext(this._ctx, this.state); this.enterRule(_localctx, 1214, PostgreSQLParser.RULE_a_expr); try { this.enterOuterAlt(_localctx, 1); { this.state = 9735; this.a_expr_qual(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_qual(): A_expr_qualContext { let _localctx: A_expr_qualContext = new A_expr_qualContext(this._ctx, this.state); this.enterRule(_localctx, 1216, PostgreSQLParser.RULE_a_expr_qual); try { this.enterOuterAlt(_localctx, 1); { this.state = 9737; this.a_expr_lessless(); this.state = 9739; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 999, this._ctx) ) { case 1: { this.state = 9738; this.qual_op(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_lessless(): A_expr_lesslessContext { let _localctx: A_expr_lesslessContext = new A_expr_lesslessContext(this._ctx, this.state); this.enterRule(_localctx, 1218, PostgreSQLParser.RULE_a_expr_lessless); let _la: number; try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 9741; this.a_expr_or(); this.state = 9746; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1000, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 9742; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.LESS_LESS || _la === PostgreSQLParser.GREATER_GREATER)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 9743; this.a_expr_or(); } } } this.state = 9748; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1000, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_or(): A_expr_orContext { let _localctx: A_expr_orContext = new A_expr_orContext(this._ctx, this.state); this.enterRule(_localctx, 1220, PostgreSQLParser.RULE_a_expr_or); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 9749; this.a_expr_and(); this.state = 9754; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1001, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 9750; this.match(PostgreSQLParser.KW_OR); this.state = 9751; this.a_expr_and(); } } } this.state = 9756; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1001, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_and(): A_expr_andContext { let _localctx: A_expr_andContext = new A_expr_andContext(this._ctx, this.state); this.enterRule(_localctx, 1222, PostgreSQLParser.RULE_a_expr_and); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 9757; this.a_expr_in(); this.state = 9762; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1002, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 9758; this.match(PostgreSQLParser.KW_AND); this.state = 9759; this.a_expr_in(); } } } this.state = 9764; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1002, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_in(): A_expr_inContext { let _localctx: A_expr_inContext = new A_expr_inContext(this._ctx, this.state); this.enterRule(_localctx, 1224, PostgreSQLParser.RULE_a_expr_in); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9765; this.a_expr_unary_not(); this.state = 9771; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1004, this._ctx) ) { case 1: { this.state = 9767; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NOT) { { this.state = 9766; this.match(PostgreSQLParser.KW_NOT); } } this.state = 9769; this.match(PostgreSQLParser.KW_IN); this.state = 9770; this.in_expr(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_unary_not(): A_expr_unary_notContext { let _localctx: A_expr_unary_notContext = new A_expr_unary_notContext(this._ctx, this.state); this.enterRule(_localctx, 1226, PostgreSQLParser.RULE_a_expr_unary_not); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9774; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NOT) { { this.state = 9773; this.match(PostgreSQLParser.KW_NOT); } } this.state = 9776; this.a_expr_isnull(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_isnull(): A_expr_isnullContext { let _localctx: A_expr_isnullContext = new A_expr_isnullContext(this._ctx, this.state); this.enterRule(_localctx, 1228, PostgreSQLParser.RULE_a_expr_isnull); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9778; this.a_expr_is_not(); this.state = 9780; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1006, this._ctx) ) { case 1: { this.state = 9779; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_ISNULL || _la === PostgreSQLParser.KW_NOTNULL)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_is_not(): A_expr_is_notContext { let _localctx: A_expr_is_notContext = new A_expr_is_notContext(this._ctx, this.state); this.enterRule(_localctx, 1230, PostgreSQLParser.RULE_a_expr_is_not); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9782; this.a_expr_compare(); this.state = 9806; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1010, this._ctx) ) { case 1: { this.state = 9783; this.match(PostgreSQLParser.KW_IS); this.state = 9785; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NOT) { { this.state = 9784; this.match(PostgreSQLParser.KW_NOT); } } this.state = 9804; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_NULL: { this.state = 9787; this.match(PostgreSQLParser.KW_NULL); } break; case PostgreSQLParser.KW_TRUE: { this.state = 9788; this.match(PostgreSQLParser.KW_TRUE); } break; case PostgreSQLParser.KW_FALSE: { this.state = 9789; this.match(PostgreSQLParser.KW_FALSE); } break; case PostgreSQLParser.KW_UNKNOWN: { this.state = 9790; this.match(PostgreSQLParser.KW_UNKNOWN); } break; case PostgreSQLParser.KW_DISTINCT: { this.state = 9791; this.match(PostgreSQLParser.KW_DISTINCT); this.state = 9792; this.match(PostgreSQLParser.KW_FROM); this.state = 9793; this.a_expr(); } break; case PostgreSQLParser.KW_OF: { this.state = 9794; this.match(PostgreSQLParser.KW_OF); this.state = 9795; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9796; this.type_list(); this.state = 9797; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_DOCUMENT: { this.state = 9799; this.match(PostgreSQLParser.KW_DOCUMENT); } break; case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: { this.state = 9801; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 483)) & ~0x1F) === 0 && ((1 << (_la - 483)) & ((1 << (PostgreSQLParser.KW_NFC - 483)) | (1 << (PostgreSQLParser.KW_NFD - 483)) | (1 << (PostgreSQLParser.KW_NFKC - 483)) | (1 << (PostgreSQLParser.KW_NFKD - 483)))) !== 0)) { { this.state = 9800; this.unicode_normal_form(); } } this.state = 9803; this.match(PostgreSQLParser.KW_NORMALIZED); } break; default: throw new NoViableAltException(this); } } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_compare(): A_expr_compareContext { let _localctx: A_expr_compareContext = new A_expr_compareContext(this._ctx, this.state); this.enterRule(_localctx, 1232, PostgreSQLParser.RULE_a_expr_compare); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9808; this.a_expr_like(); this.state = 9820; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1012, this._ctx) ) { case 1: { this.state = 9809; _la = this._input.LA(1); if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.EQUAL) | (1 << PostgreSQLParser.LT) | (1 << PostgreSQLParser.GT) | (1 << PostgreSQLParser.LESS_EQUALS) | (1 << PostgreSQLParser.GREATER_EQUALS) | (1 << PostgreSQLParser.NOT_EQUALS))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 9810; this.a_expr_like(); } break; case 2: { this.state = 9811; this.subquery_Op(); this.state = 9812; this.sub_type(); this.state = 9818; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1011, this._ctx) ) { case 1: { this.state = 9813; this.select_with_parens(); } break; case 2: { this.state = 9814; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9815; this.a_expr(); this.state = 9816; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_like(): A_expr_likeContext { let _localctx: A_expr_likeContext = new A_expr_likeContext(this._ctx, this.state); this.enterRule(_localctx, 1234, PostgreSQLParser.RULE_a_expr_like); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9822; this.a_expr_qual_op(); this.state = 9840; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1017, this._ctx) ) { case 1: { this.state = 9824; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NOT) { { this.state = 9823; this.match(PostgreSQLParser.KW_NOT); } } this.state = 9834; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_LIKE: { this.state = 9826; this.match(PostgreSQLParser.KW_LIKE); } break; case PostgreSQLParser.KW_ILIKE: { this.state = 9827; this.match(PostgreSQLParser.KW_ILIKE); } break; case PostgreSQLParser.KW_SIMILAR: { this.state = 9828; this.match(PostgreSQLParser.KW_SIMILAR); this.state = 9829; this.match(PostgreSQLParser.KW_TO); } break; case PostgreSQLParser.KW_BETWEEN: { this.state = 9830; this.match(PostgreSQLParser.KW_BETWEEN); this.state = 9832; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_SYMMETRIC) { { this.state = 9831; this.match(PostgreSQLParser.KW_SYMMETRIC); } } } break; default: throw new NoViableAltException(this); } this.state = 9836; this.a_expr_qual_op(); this.state = 9838; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1016, this._ctx) ) { case 1: { this.state = 9837; this.opt_escape(); } break; } } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_qual_op(): A_expr_qual_opContext { let _localctx: A_expr_qual_opContext = new A_expr_qual_opContext(this._ctx, this.state); this.enterRule(_localctx, 1236, PostgreSQLParser.RULE_a_expr_qual_op); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 9842; this.a_expr_unary_qualop(); this.state = 9848; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1018, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 9843; this.qual_op(); this.state = 9844; this.a_expr_unary_qualop(); } } } this.state = 9850; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1018, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_unary_qualop(): A_expr_unary_qualopContext { let _localctx: A_expr_unary_qualopContext = new A_expr_unary_qualopContext(this._ctx, this.state); this.enterRule(_localctx, 1238, PostgreSQLParser.RULE_a_expr_unary_qualop); try { this.enterOuterAlt(_localctx, 1); { this.state = 9852; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1019, this._ctx) ) { case 1: { this.state = 9851; this.qual_op(); } break; } this.state = 9854; this.a_expr_add(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_add(): A_expr_addContext { let _localctx: A_expr_addContext = new A_expr_addContext(this._ctx, this.state); this.enterRule(_localctx, 1240, PostgreSQLParser.RULE_a_expr_add); let _la: number; try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 9856; this.a_expr_mul(); this.state = 9861; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1020, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 9857; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.PLUS || _la === PostgreSQLParser.MINUS)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 9858; this.a_expr_mul(); } } } this.state = 9863; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1020, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_mul(): A_expr_mulContext { let _localctx: A_expr_mulContext = new A_expr_mulContext(this._ctx, this.state); this.enterRule(_localctx, 1242, PostgreSQLParser.RULE_a_expr_mul); let _la: number; try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 9864; this.a_expr_caret(); this.state = 9869; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1021, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 9865; _la = this._input.LA(1); if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.STAR) | (1 << PostgreSQLParser.SLASH) | (1 << PostgreSQLParser.PERCENT))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 9866; this.a_expr_caret(); } } } this.state = 9871; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1021, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_caret(): A_expr_caretContext { let _localctx: A_expr_caretContext = new A_expr_caretContext(this._ctx, this.state); this.enterRule(_localctx, 1244, PostgreSQLParser.RULE_a_expr_caret); try { this.enterOuterAlt(_localctx, 1); { this.state = 9872; this.a_expr_unary_sign(); this.state = 9875; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1022, this._ctx) ) { case 1: { this.state = 9873; this.match(PostgreSQLParser.CARET); this.state = 9874; this.a_expr(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_unary_sign(): A_expr_unary_signContext { let _localctx: A_expr_unary_signContext = new A_expr_unary_signContext(this._ctx, this.state); this.enterRule(_localctx, 1246, PostgreSQLParser.RULE_a_expr_unary_sign); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9878; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.PLUS || _la === PostgreSQLParser.MINUS) { { this.state = 9877; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.PLUS || _la === PostgreSQLParser.MINUS)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } this.state = 9880; this.a_expr_at_time_zone(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_at_time_zone(): A_expr_at_time_zoneContext { let _localctx: A_expr_at_time_zoneContext = new A_expr_at_time_zoneContext(this._ctx, this.state); this.enterRule(_localctx, 1248, PostgreSQLParser.RULE_a_expr_at_time_zone); try { this.enterOuterAlt(_localctx, 1); { this.state = 9882; this.a_expr_collate(); this.state = 9887; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1024, this._ctx) ) { case 1: { this.state = 9883; this.match(PostgreSQLParser.KW_AT); this.state = 9884; this.match(PostgreSQLParser.KW_TIME); this.state = 9885; this.match(PostgreSQLParser.KW_ZONE); this.state = 9886; this.a_expr(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_collate(): A_expr_collateContext { let _localctx: A_expr_collateContext = new A_expr_collateContext(this._ctx, this.state); this.enterRule(_localctx, 1250, PostgreSQLParser.RULE_a_expr_collate); try { this.enterOuterAlt(_localctx, 1); { this.state = 9889; this.a_expr_typecast(); this.state = 9892; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1025, this._ctx) ) { case 1: { this.state = 9890; this.match(PostgreSQLParser.KW_COLLATE); this.state = 9891; this.any_name(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public a_expr_typecast(): A_expr_typecastContext { let _localctx: A_expr_typecastContext = new A_expr_typecastContext(this._ctx, this.state); this.enterRule(_localctx, 1252, PostgreSQLParser.RULE_a_expr_typecast); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9894; this.c_expr(); this.state = 9899; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.TYPECAST) { { { this.state = 9895; this.match(PostgreSQLParser.TYPECAST); this.state = 9896; this.typename(); } } this.state = 9901; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } public b_expr(): B_exprContext; public b_expr(_p: number): B_exprContext; // @RuleVersion(0) public b_expr(_p?: number): B_exprContext { if (_p === undefined) { _p = 0; } let _parentctx: ParserRuleContext = this._ctx; let _parentState: number = this.state; let _localctx: B_exprContext = new B_exprContext(this._ctx, _parentState); let _prevctx: B_exprContext = _localctx; let _startState: number = 1254; this.enterRecursionRule(_localctx, 1254, PostgreSQLParser.RULE_b_expr, _p); let _la: number; try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 9909; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1027, this._ctx) ) { case 1: { this.state = 9903; this.c_expr(); } break; case 2: { this.state = 9904; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.PLUS || _la === PostgreSQLParser.MINUS)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 9905; this.b_expr(9); } break; case 3: { this.state = 9906; this.qual_op(); this.state = 9907; this.b_expr(3); } break; } this._ctx._stop = this._input.tryLT(-1); this.state = 9950; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1031, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { if (this._parseListeners != null) { this.triggerExitRuleEvent(); } _prevctx = _localctx; { this.state = 9948; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1030, this._ctx) ) { case 1: { _localctx = new B_exprContext(_parentctx, _parentState); this.pushNewRecursionContext(_localctx, _startState, PostgreSQLParser.RULE_b_expr); this.state = 9911; if (!(this.precpred(this._ctx, 8))) { throw this.createFailedPredicateException("this.precpred(this._ctx, 8)"); } this.state = 9912; this.match(PostgreSQLParser.CARET); this.state = 9913; this.b_expr(9); } break; case 2: { _localctx = new B_exprContext(_parentctx, _parentState); this.pushNewRecursionContext(_localctx, _startState, PostgreSQLParser.RULE_b_expr); this.state = 9914; if (!(this.precpred(this._ctx, 7))) { throw this.createFailedPredicateException("this.precpred(this._ctx, 7)"); } this.state = 9915; _la = this._input.LA(1); if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.STAR) | (1 << PostgreSQLParser.SLASH) | (1 << PostgreSQLParser.PERCENT))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 9916; this.b_expr(8); } break; case 3: { _localctx = new B_exprContext(_parentctx, _parentState); this.pushNewRecursionContext(_localctx, _startState, PostgreSQLParser.RULE_b_expr); this.state = 9917; if (!(this.precpred(this._ctx, 6))) { throw this.createFailedPredicateException("this.precpred(this._ctx, 6)"); } this.state = 9918; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.PLUS || _la === PostgreSQLParser.MINUS)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 9919; this.b_expr(7); } break; case 4: { _localctx = new B_exprContext(_parentctx, _parentState); this.pushNewRecursionContext(_localctx, _startState, PostgreSQLParser.RULE_b_expr); this.state = 9920; if (!(this.precpred(this._ctx, 5))) { throw this.createFailedPredicateException("this.precpred(this._ctx, 5)"); } this.state = 9921; this.qual_op(); this.state = 9922; this.b_expr(6); } break; case 5: { _localctx = new B_exprContext(_parentctx, _parentState); this.pushNewRecursionContext(_localctx, _startState, PostgreSQLParser.RULE_b_expr); this.state = 9924; if (!(this.precpred(this._ctx, 4))) { throw this.createFailedPredicateException("this.precpred(this._ctx, 4)"); } this.state = 9925; _la = this._input.LA(1); if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.EQUAL) | (1 << PostgreSQLParser.LT) | (1 << PostgreSQLParser.GT) | (1 << PostgreSQLParser.LESS_EQUALS) | (1 << PostgreSQLParser.GREATER_EQUALS) | (1 << PostgreSQLParser.NOT_EQUALS))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 9926; this.b_expr(5); } break; case 6: { _localctx = new B_exprContext(_parentctx, _parentState); this.pushNewRecursionContext(_localctx, _startState, PostgreSQLParser.RULE_b_expr); this.state = 9927; if (!(this.precpred(this._ctx, 10))) { throw this.createFailedPredicateException("this.precpred(this._ctx, 10)"); } this.state = 9928; this.match(PostgreSQLParser.TYPECAST); this.state = 9929; this.typename(); } break; case 7: { _localctx = new B_exprContext(_parentctx, _parentState); this.pushNewRecursionContext(_localctx, _startState, PostgreSQLParser.RULE_b_expr); this.state = 9930; if (!(this.precpred(this._ctx, 2))) { throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); } this.state = 9931; this.qual_op(); } break; case 8: { _localctx = new B_exprContext(_parentctx, _parentState); this.pushNewRecursionContext(_localctx, _startState, PostgreSQLParser.RULE_b_expr); this.state = 9932; if (!(this.precpred(this._ctx, 1))) { throw this.createFailedPredicateException("this.precpred(this._ctx, 1)"); } this.state = 9933; this.match(PostgreSQLParser.KW_IS); this.state = 9935; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NOT) { { this.state = 9934; this.match(PostgreSQLParser.KW_NOT); } } this.state = 9946; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_DISTINCT: { this.state = 9937; this.match(PostgreSQLParser.KW_DISTINCT); this.state = 9938; this.match(PostgreSQLParser.KW_FROM); this.state = 9939; this.b_expr(0); } break; case PostgreSQLParser.KW_OF: { this.state = 9940; this.match(PostgreSQLParser.KW_OF); this.state = 9941; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9942; this.type_list(); this.state = 9943; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_DOCUMENT: { this.state = 9945; this.match(PostgreSQLParser.KW_DOCUMENT); } break; default: throw new NoViableAltException(this); } } break; } } } this.state = 9952; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1031, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.unrollRecursionContexts(_parentctx); } return _localctx; } // @RuleVersion(0) public c_expr(): C_exprContext { let _localctx: C_exprContext = new C_exprContext(this._ctx, this.state); this.enterRule(_localctx, 1256, PostgreSQLParser.RULE_c_expr); try { this.state = 9989; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1034, this._ctx) ) { case 1: _localctx = new C_expr_existsContext(_localctx); this.enterOuterAlt(_localctx, 1); { this.state = 9953; this.match(PostgreSQLParser.KW_EXISTS); this.state = 9954; this.select_with_parens(); } break; case 2: _localctx = new C_expr_exprContext(_localctx); this.enterOuterAlt(_localctx, 2); { this.state = 9955; this.match(PostgreSQLParser.KW_ARRAY); this.state = 9958; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: { this.state = 9956; this.select_with_parens(); } break; case PostgreSQLParser.OPEN_BRACKET: { this.state = 9957; this.array_expr(); } break; default: throw new NoViableAltException(this); } } break; case 3: _localctx = new C_expr_exprContext(_localctx); this.enterOuterAlt(_localctx, 3); { this.state = 9960; this.match(PostgreSQLParser.PARAM); this.state = 9961; this.opt_indirection(); } break; case 4: _localctx = new C_expr_exprContext(_localctx); this.enterOuterAlt(_localctx, 4); { this.state = 9962; this.match(PostgreSQLParser.KW_GROUPING); this.state = 9963; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9964; this.expr_list(); this.state = 9965; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 5: _localctx = new C_expr_exprContext(_localctx); this.enterOuterAlt(_localctx, 5); { this.state = 9967; this.match(PostgreSQLParser.KW_UNIQUE); this.state = 9968; this.select_with_parens(); } break; case 6: _localctx = new C_expr_exprContext(_localctx); this.enterOuterAlt(_localctx, 6); { this.state = 9969; this.columnref(); } break; case 7: _localctx = new C_expr_exprContext(_localctx); this.enterOuterAlt(_localctx, 7); { this.state = 9970; this.aexprconst(); } break; case 8: _localctx = new C_expr_exprContext(_localctx); this.enterOuterAlt(_localctx, 8); { this.state = 9971; this.plsqlvariablename(); } break; case 9: _localctx = new C_expr_exprContext(_localctx); this.enterOuterAlt(_localctx, 9); { this.state = 9972; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 9973; (_localctx as C_expr_exprContext)._a_expr_in_parens = this.a_expr(); this.state = 9974; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 9975; this.opt_indirection(); } break; case 10: _localctx = new C_expr_caseContext(_localctx); this.enterOuterAlt(_localctx, 10); { this.state = 9977; this.case_expr(); } break; case 11: _localctx = new C_expr_exprContext(_localctx); this.enterOuterAlt(_localctx, 11); { this.state = 9978; this.func_expr(); } break; case 12: _localctx = new C_expr_exprContext(_localctx); this.enterOuterAlt(_localctx, 12); { this.state = 9979; this.select_with_parens(); this.state = 9981; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1033, this._ctx) ) { case 1: { this.state = 9980; this.indirection(); } break; } } break; case 13: _localctx = new C_expr_exprContext(_localctx); this.enterOuterAlt(_localctx, 13); { this.state = 9983; this.explicit_row(); } break; case 14: _localctx = new C_expr_exprContext(_localctx); this.enterOuterAlt(_localctx, 14); { this.state = 9984; this.implicit_row(); } break; case 15: _localctx = new C_expr_exprContext(_localctx); this.enterOuterAlt(_localctx, 15); { this.state = 9985; this.row(); this.state = 9986; this.match(PostgreSQLParser.KW_OVERLAPS); this.state = 9987; this.row(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public plsqlvariablename(): PlsqlvariablenameContext { let _localctx: PlsqlvariablenameContext = new PlsqlvariablenameContext(this._ctx, this.state); this.enterRule(_localctx, 1258, PostgreSQLParser.RULE_plsqlvariablename); try { this.enterOuterAlt(_localctx, 1); { this.state = 9991; this.match(PostgreSQLParser.PLSQLVARIABLENAME); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_application(): Func_applicationContext { let _localctx: Func_applicationContext = new Func_applicationContext(this._ctx, this.state); this.enterRule(_localctx, 1260, PostgreSQLParser.RULE_func_application); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 9993; this.function_name(); this.state = 10019; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1040, this._ctx) ) { case 1: { this.state = 9994; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10016; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: case PostgreSQLParser.PLUS: case PostgreSQLParser.MINUS: case PostgreSQLParser.PARAM: case PostgreSQLParser.Operator: case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_CASE: case PostgreSQLParser.KW_CAST: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_CURRENT_CATALOG: case PostgreSQLParser.KW_CURRENT_DATE: case PostgreSQLParser.KW_CURRENT_ROLE: case PostgreSQLParser.KW_CURRENT_TIME: case PostgreSQLParser.KW_CURRENT_TIMESTAMP: case PostgreSQLParser.KW_CURRENT_USER: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FALSE: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_LOCALTIME: case PostgreSQLParser.KW_LOCALTIMESTAMP: case PostgreSQLParser.KW_NOT: case PostgreSQLParser.KW_NULL: case PostgreSQLParser.KW_SESSION_USER: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_TRUE: case PostgreSQLParser.KW_UNIQUE: case PostgreSQLParser.KW_USER: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.BinaryStringConstant: case PostgreSQLParser.HexadecimalStringConstant: case PostgreSQLParser.Integral: case PostgreSQLParser.Numeric: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 9995; this.func_arg_list(); this.state = 9999; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.COMMA) { { this.state = 9996; this.match(PostgreSQLParser.COMMA); this.state = 9997; this.match(PostgreSQLParser.KW_VARIADIC); this.state = 9998; this.func_arg_expr(); } } this.state = 10002; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ORDER) { { this.state = 10001; this.opt_sort_clause(); } } } break; case PostgreSQLParser.KW_VARIADIC: { this.state = 10004; this.match(PostgreSQLParser.KW_VARIADIC); this.state = 10005; this.func_arg_expr(); this.state = 10007; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ORDER) { { this.state = 10006; this.opt_sort_clause(); } } } break; case PostgreSQLParser.KW_ALL: case PostgreSQLParser.KW_DISTINCT: { this.state = 10009; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_ALL || _la === PostgreSQLParser.KW_DISTINCT)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 10010; this.func_arg_list(); this.state = 10012; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ORDER) { { this.state = 10011; this.opt_sort_clause(); } } } break; case PostgreSQLParser.STAR: { this.state = 10014; this.match(PostgreSQLParser.STAR); } break; case PostgreSQLParser.CLOSE_PAREN: // tslint:disable-next-line:no-empty { } break; default: throw new NoViableAltException(this); } this.state = 10018; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_expr(): Func_exprContext { let _localctx: Func_exprContext = new Func_exprContext(this._ctx, this.state); this.enterRule(_localctx, 1262, PostgreSQLParser.RULE_func_expr); try { this.state = 10032; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1044, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10021; this.func_application(); this.state = 10023; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1041, this._ctx) ) { case 1: { this.state = 10022; this.within_group_clause(); } break; } this.state = 10026; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1042, this._ctx) ) { case 1: { this.state = 10025; this.filter_clause(); } break; } this.state = 10029; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1043, this._ctx) ) { case 1: { this.state = 10028; this.over_clause(); } break; } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10031; this.func_expr_common_subexpr(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_expr_windowless(): Func_expr_windowlessContext { let _localctx: Func_expr_windowlessContext = new Func_expr_windowlessContext(this._ctx, this.state); this.enterRule(_localctx, 1264, PostgreSQLParser.RULE_func_expr_windowless); try { this.state = 10036; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1045, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10034; this.func_application(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10035; this.func_expr_common_subexpr(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_expr_common_subexpr(): Func_expr_common_subexprContext { let _localctx: Func_expr_common_subexprContext = new Func_expr_common_subexprContext(this._ctx, this.state); this.enterRule(_localctx, 1266, PostgreSQLParser.RULE_func_expr_common_subexpr); let _la: number; try { this.state = 10222; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_COLLATION: this.enterOuterAlt(_localctx, 1); { this.state = 10038; this.match(PostgreSQLParser.KW_COLLATION); this.state = 10039; this.match(PostgreSQLParser.KW_FOR); this.state = 10040; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10041; this.a_expr(); this.state = 10042; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_CURRENT_DATE: this.enterOuterAlt(_localctx, 2); { this.state = 10044; this.match(PostgreSQLParser.KW_CURRENT_DATE); } break; case PostgreSQLParser.KW_CURRENT_TIME: this.enterOuterAlt(_localctx, 3); { this.state = 10045; this.match(PostgreSQLParser.KW_CURRENT_TIME); this.state = 10050; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1046, this._ctx) ) { case 1: { this.state = 10046; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10047; this.iconst(); this.state = 10048; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } break; case PostgreSQLParser.KW_CURRENT_TIMESTAMP: this.enterOuterAlt(_localctx, 4); { this.state = 10052; this.match(PostgreSQLParser.KW_CURRENT_TIMESTAMP); this.state = 10057; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1047, this._ctx) ) { case 1: { this.state = 10053; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10054; this.iconst(); this.state = 10055; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } break; case PostgreSQLParser.KW_LOCALTIME: this.enterOuterAlt(_localctx, 5); { this.state = 10059; this.match(PostgreSQLParser.KW_LOCALTIME); this.state = 10064; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1048, this._ctx) ) { case 1: { this.state = 10060; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10061; this.iconst(); this.state = 10062; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } break; case PostgreSQLParser.KW_LOCALTIMESTAMP: this.enterOuterAlt(_localctx, 6); { this.state = 10066; this.match(PostgreSQLParser.KW_LOCALTIMESTAMP); this.state = 10071; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1049, this._ctx) ) { case 1: { this.state = 10067; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10068; this.iconst(); this.state = 10069; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } break; case PostgreSQLParser.KW_CURRENT_ROLE: this.enterOuterAlt(_localctx, 7); { this.state = 10073; this.match(PostgreSQLParser.KW_CURRENT_ROLE); } break; case PostgreSQLParser.KW_CURRENT_USER: this.enterOuterAlt(_localctx, 8); { this.state = 10074; this.match(PostgreSQLParser.KW_CURRENT_USER); } break; case PostgreSQLParser.KW_SESSION_USER: this.enterOuterAlt(_localctx, 9); { this.state = 10075; this.match(PostgreSQLParser.KW_SESSION_USER); } break; case PostgreSQLParser.KW_USER: this.enterOuterAlt(_localctx, 10); { this.state = 10076; this.match(PostgreSQLParser.KW_USER); } break; case PostgreSQLParser.KW_CURRENT_CATALOG: this.enterOuterAlt(_localctx, 11); { this.state = 10077; this.match(PostgreSQLParser.KW_CURRENT_CATALOG); } break; case PostgreSQLParser.KW_CURRENT_SCHEMA: this.enterOuterAlt(_localctx, 12); { this.state = 10078; this.match(PostgreSQLParser.KW_CURRENT_SCHEMA); } break; case PostgreSQLParser.KW_CAST: this.enterOuterAlt(_localctx, 13); { this.state = 10079; this.match(PostgreSQLParser.KW_CAST); this.state = 10080; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10081; this.a_expr(); this.state = 10082; this.match(PostgreSQLParser.KW_AS); this.state = 10083; this.typename(); this.state = 10084; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_EXTRACT: this.enterOuterAlt(_localctx, 14); { this.state = 10086; this.match(PostgreSQLParser.KW_EXTRACT); this.state = 10087; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10089; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (PostgreSQLParser.KW_TABLE - 92)) | (1 << (PostgreSQLParser.KW_IS - 92)) | (1 << (PostgreSQLParser.KW_OUTER - 92)))) !== 0) || ((((_la - 130)) & ~0x1F) === 0 && ((1 << (_la - 130)) & ((1 << (PostgreSQLParser.KW_ABSOLUTE - 130)) | (1 << (PostgreSQLParser.KW_BACKWARD - 130)) | (1 << (PostgreSQLParser.KW_CHAIN - 130)) | (1 << (PostgreSQLParser.KW_CLOSE - 130)) | (1 << (PostgreSQLParser.KW_COMMIT - 130)))) !== 0) || ((((_la - 167)) & ~0x1F) === 0 && ((1 << (_la - 167)) & ((1 << (PostgreSQLParser.KW_CONTINUE - 167)) | (1 << (PostgreSQLParser.KW_CURSOR - 167)) | (1 << (PostgreSQLParser.KW_DAY - 167)))) !== 0) || ((((_la - 207)) & ~0x1F) === 0 && ((1 << (_la - 207)) & ((1 << (PostgreSQLParser.KW_FIRST - 207)) | (1 << (PostgreSQLParser.KW_FORWARD - 207)) | (1 << (PostgreSQLParser.KW_HOUR - 207)))) !== 0) || ((((_la - 241)) & ~0x1F) === 0 && ((1 << (_la - 241)) & ((1 << (PostgreSQLParser.KW_INSERT - 241)) | (1 << (PostgreSQLParser.KW_LAST - 241)) | (1 << (PostgreSQLParser.KW_MINUTE - 241)) | (1 << (PostgreSQLParser.KW_MONTH - 241)) | (1 << (PostgreSQLParser.KW_MOVE - 241)) | (1 << (PostgreSQLParser.KW_NEXT - 241)) | (1 << (PostgreSQLParser.KW_NO - 241)))) !== 0) || ((((_la - 279)) & ~0x1F) === 0 && ((1 << (_la - 279)) & ((1 << (PostgreSQLParser.KW_OPTION - 279)) | (1 << (PostgreSQLParser.KW_PRIOR - 279)) | (1 << (PostgreSQLParser.KW_RELATIVE - 279)))) !== 0) || ((((_la - 313)) & ~0x1F) === 0 && ((1 << (_la - 313)) & ((1 << (PostgreSQLParser.KW_RESET - 313)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 313)) | (1 << (PostgreSQLParser.KW_SCHEMA - 313)) | (1 << (PostgreSQLParser.KW_SCROLL - 313)) | (1 << (PostgreSQLParser.KW_SECOND - 313)) | (1 << (PostgreSQLParser.KW_SET - 313)))) !== 0) || _la === PostgreSQLParser.KW_TYPE || _la === PostgreSQLParser.KW_YEAR || _la === PostgreSQLParser.KW_CALL || _la === PostgreSQLParser.KW_CURRENT || ((((_la - 477)) & ~0x1F) === 0 && ((1 << (_la - 477)) & ((1 << (PostgreSQLParser.KW_ROWTYPE - 477)) | (1 << (PostgreSQLParser.KW_DUMP - 477)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 477)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 477)) | (1 << (PostgreSQLParser.KW_ERROR - 477)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 477)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 477)) | (1 << (PostgreSQLParser.KW_ALIAS - 477)) | (1 << (PostgreSQLParser.KW_CONSTANT - 477)) | (1 << (PostgreSQLParser.KW_PERFORM - 477)) | (1 << (PostgreSQLParser.KW_GET - 477)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 477)) | (1 << (PostgreSQLParser.KW_STACKED - 477)) | (1 << (PostgreSQLParser.KW_ELSIF - 477)) | (1 << (PostgreSQLParser.KW_REVERSE - 477)) | (1 << (PostgreSQLParser.KW_SLICE - 477)) | (1 << (PostgreSQLParser.KW_EXIT - 477)) | (1 << (PostgreSQLParser.KW_RETURN - 477)))) !== 0) || ((((_la - 509)) & ~0x1F) === 0 && ((1 << (_la - 509)) & ((1 << (PostgreSQLParser.KW_QUERY - 509)) | (1 << (PostgreSQLParser.KW_RAISE - 509)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 509)) | (1 << (PostgreSQLParser.KW_DEBUG - 509)) | (1 << (PostgreSQLParser.KW_LOG - 509)) | (1 << (PostgreSQLParser.KW_INFO - 509)) | (1 << (PostgreSQLParser.KW_NOTICE - 509)) | (1 << (PostgreSQLParser.KW_WARNING - 509)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 509)) | (1 << (PostgreSQLParser.KW_ASSERT - 509)) | (1 << (PostgreSQLParser.KW_OPEN - 509)))) !== 0) || ((((_la - 549)) & ~0x1F) === 0 && ((1 << (_la - 549)) & ((1 << (PostgreSQLParser.Identifier - 549)) | (1 << (PostgreSQLParser.QuotedIdentifier - 549)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 549)) | (1 << (PostgreSQLParser.StringConstant - 549)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 549)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 549)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 549)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 549)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 10088; this.extract_list(); } } this.state = 10091; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_NORMALIZE: this.enterOuterAlt(_localctx, 15); { this.state = 10092; this.match(PostgreSQLParser.KW_NORMALIZE); this.state = 10093; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10094; this.a_expr(); this.state = 10097; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.COMMA) { { this.state = 10095; this.match(PostgreSQLParser.COMMA); this.state = 10096; this.unicode_normal_form(); } } this.state = 10099; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_OVERLAY: this.enterOuterAlt(_localctx, 16); { this.state = 10101; this.match(PostgreSQLParser.KW_OVERLAY); this.state = 10102; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10103; this.overlay_list(); this.state = 10104; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_POSITION: this.enterOuterAlt(_localctx, 17); { this.state = 10106; this.match(PostgreSQLParser.KW_POSITION); this.state = 10107; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10109; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.OPEN_PAREN) | (1 << PostgreSQLParser.PLUS) | (1 << PostgreSQLParser.MINUS) | (1 << PostgreSQLParser.PARAM) | (1 << PostgreSQLParser.Operator))) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_CASE - 33)) | (1 << (PostgreSQLParser.KW_CAST - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_CATALOG - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_DATE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_ROLE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIME - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIMESTAMP - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_USER - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FALSE - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 75)) & ~0x1F) === 0 && ((1 << (_la - 75)) & ((1 << (PostgreSQLParser.KW_LOCALTIME - 75)) | (1 << (PostgreSQLParser.KW_LOCALTIMESTAMP - 75)) | (1 << (PostgreSQLParser.KW_NULL - 75)) | (1 << (PostgreSQLParser.KW_SESSION_USER - 75)) | (1 << (PostgreSQLParser.KW_TABLE - 75)) | (1 << (PostgreSQLParser.KW_TRUE - 75)) | (1 << (PostgreSQLParser.KW_UNIQUE - 75)) | (1 << (PostgreSQLParser.KW_USER - 75)) | (1 << (PostgreSQLParser.KW_AUTHORIZATION - 75)))) !== 0) || ((((_la - 107)) & ~0x1F) === 0 && ((1 << (_la - 107)) & ((1 << (PostgreSQLParser.KW_BINARY - 107)) | (1 << (PostgreSQLParser.KW_COLLATION - 107)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 107)) | (1 << (PostgreSQLParser.KW_CROSS - 107)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 107)) | (1 << (PostgreSQLParser.KW_FREEZE - 107)) | (1 << (PostgreSQLParser.KW_FULL - 107)) | (1 << (PostgreSQLParser.KW_ILIKE - 107)) | (1 << (PostgreSQLParser.KW_INNER - 107)) | (1 << (PostgreSQLParser.KW_IS - 107)) | (1 << (PostgreSQLParser.KW_ISNULL - 107)) | (1 << (PostgreSQLParser.KW_JOIN - 107)) | (1 << (PostgreSQLParser.KW_LEFT - 107)) | (1 << (PostgreSQLParser.KW_LIKE - 107)) | (1 << (PostgreSQLParser.KW_NATURAL - 107)) | (1 << (PostgreSQLParser.KW_NOTNULL - 107)) | (1 << (PostgreSQLParser.KW_OUTER - 107)) | (1 << (PostgreSQLParser.KW_OVER - 107)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 107)) | (1 << (PostgreSQLParser.KW_RIGHT - 107)) | (1 << (PostgreSQLParser.KW_SIMILAR - 107)) | (1 << (PostgreSQLParser.KW_VERBOSE - 107)) | (1 << (PostgreSQLParser.KW_ABORT - 107)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 107)) | (1 << (PostgreSQLParser.KW_ACCESS - 107)) | (1 << (PostgreSQLParser.KW_ACTION - 107)) | (1 << (PostgreSQLParser.KW_ADD - 107)) | (1 << (PostgreSQLParser.KW_ADMIN - 107)) | (1 << (PostgreSQLParser.KW_AFTER - 107)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 107)) | (1 << (PostgreSQLParser.KW_ALSO - 107)) | (1 << (PostgreSQLParser.KW_ALTER - 107)))) !== 0) || ((((_la - 139)) & ~0x1F) === 0 && ((1 << (_la - 139)) & ((1 << (PostgreSQLParser.KW_ALWAYS - 139)) | (1 << (PostgreSQLParser.KW_ASSERTION - 139)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 139)) | (1 << (PostgreSQLParser.KW_AT - 139)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 139)) | (1 << (PostgreSQLParser.KW_BACKWARD - 139)) | (1 << (PostgreSQLParser.KW_BEFORE - 139)) | (1 << (PostgreSQLParser.KW_BEGIN - 139)) | (1 << (PostgreSQLParser.KW_BY - 139)) | (1 << (PostgreSQLParser.KW_CACHE - 139)) | (1 << (PostgreSQLParser.KW_CALLED - 139)) | (1 << (PostgreSQLParser.KW_CASCADE - 139)) | (1 << (PostgreSQLParser.KW_CASCADED - 139)) | (1 << (PostgreSQLParser.KW_CATALOG - 139)) | (1 << (PostgreSQLParser.KW_CHAIN - 139)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 139)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 139)) | (1 << (PostgreSQLParser.KW_CLASS - 139)) | (1 << (PostgreSQLParser.KW_CLOSE - 139)) | (1 << (PostgreSQLParser.KW_CLUSTER - 139)) | (1 << (PostgreSQLParser.KW_COMMENT - 139)) | (1 << (PostgreSQLParser.KW_COMMENTS - 139)) | (1 << (PostgreSQLParser.KW_COMMIT - 139)) | (1 << (PostgreSQLParser.KW_COMMITTED - 139)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 139)) | (1 << (PostgreSQLParser.KW_CONNECTION - 139)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 139)) | (1 << (PostgreSQLParser.KW_CONTENT - 139)) | (1 << (PostgreSQLParser.KW_CONTINUE - 139)) | (1 << (PostgreSQLParser.KW_CONVERSION - 139)) | (1 << (PostgreSQLParser.KW_COPY - 139)) | (1 << (PostgreSQLParser.KW_COST - 139)))) !== 0) || ((((_la - 171)) & ~0x1F) === 0 && ((1 << (_la - 171)) & ((1 << (PostgreSQLParser.KW_CSV - 171)) | (1 << (PostgreSQLParser.KW_CURSOR - 171)) | (1 << (PostgreSQLParser.KW_CYCLE - 171)) | (1 << (PostgreSQLParser.KW_DATA - 171)) | (1 << (PostgreSQLParser.KW_DATABASE - 171)) | (1 << (PostgreSQLParser.KW_DAY - 171)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 171)) | (1 << (PostgreSQLParser.KW_DECLARE - 171)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 171)) | (1 << (PostgreSQLParser.KW_DEFERRED - 171)) | (1 << (PostgreSQLParser.KW_DEFINER - 171)) | (1 << (PostgreSQLParser.KW_DELETE - 171)) | (1 << (PostgreSQLParser.KW_DELIMITER - 171)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 171)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 171)) | (1 << (PostgreSQLParser.KW_DISABLE - 171)) | (1 << (PostgreSQLParser.KW_DISCARD - 171)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 171)) | (1 << (PostgreSQLParser.KW_DOMAIN - 171)) | (1 << (PostgreSQLParser.KW_DOUBLE - 171)) | (1 << (PostgreSQLParser.KW_DROP - 171)) | (1 << (PostgreSQLParser.KW_EACH - 171)) | (1 << (PostgreSQLParser.KW_ENABLE - 171)) | (1 << (PostgreSQLParser.KW_ENCODING - 171)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 171)) | (1 << (PostgreSQLParser.KW_ENUM - 171)) | (1 << (PostgreSQLParser.KW_ESCAPE - 171)) | (1 << (PostgreSQLParser.KW_EVENT - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 171)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 171)) | (1 << (PostgreSQLParser.KW_EXECUTE - 171)))) !== 0) || ((((_la - 203)) & ~0x1F) === 0 && ((1 << (_la - 203)) & ((1 << (PostgreSQLParser.KW_EXPLAIN - 203)) | (1 << (PostgreSQLParser.KW_EXTENSION - 203)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 203)) | (1 << (PostgreSQLParser.KW_FAMILY - 203)) | (1 << (PostgreSQLParser.KW_FIRST - 203)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 203)) | (1 << (PostgreSQLParser.KW_FORCE - 203)) | (1 << (PostgreSQLParser.KW_FORWARD - 203)) | (1 << (PostgreSQLParser.KW_FUNCTION - 203)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 203)) | (1 << (PostgreSQLParser.KW_GLOBAL - 203)) | (1 << (PostgreSQLParser.KW_GRANTED - 203)) | (1 << (PostgreSQLParser.KW_HANDLER - 203)) | (1 << (PostgreSQLParser.KW_HEADER - 203)) | (1 << (PostgreSQLParser.KW_HOLD - 203)) | (1 << (PostgreSQLParser.KW_HOUR - 203)) | (1 << (PostgreSQLParser.KW_IDENTITY - 203)) | (1 << (PostgreSQLParser.KW_IF - 203)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 203)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 203)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 203)) | (1 << (PostgreSQLParser.KW_INCLUDING - 203)) | (1 << (PostgreSQLParser.KW_INCREMENT - 203)) | (1 << (PostgreSQLParser.KW_INDEX - 203)) | (1 << (PostgreSQLParser.KW_INDEXES - 203)) | (1 << (PostgreSQLParser.KW_INHERIT - 203)))) !== 0) || ((((_la - 238)) & ~0x1F) === 0 && ((1 << (_la - 238)) & ((1 << (PostgreSQLParser.KW_INHERITS - 238)) | (1 << (PostgreSQLParser.KW_INLINE - 238)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 238)) | (1 << (PostgreSQLParser.KW_INSERT - 238)) | (1 << (PostgreSQLParser.KW_INSTEAD - 238)) | (1 << (PostgreSQLParser.KW_INVOKER - 238)) | (1 << (PostgreSQLParser.KW_ISOLATION - 238)) | (1 << (PostgreSQLParser.KW_KEY - 238)) | (1 << (PostgreSQLParser.KW_LABEL - 238)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 238)) | (1 << (PostgreSQLParser.KW_LARGE - 238)) | (1 << (PostgreSQLParser.KW_LAST - 238)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 238)) | (1 << (PostgreSQLParser.KW_LEVEL - 238)) | (1 << (PostgreSQLParser.KW_LISTEN - 238)) | (1 << (PostgreSQLParser.KW_LOAD - 238)) | (1 << (PostgreSQLParser.KW_LOCAL - 238)) | (1 << (PostgreSQLParser.KW_LOCATION - 238)) | (1 << (PostgreSQLParser.KW_LOCK - 238)) | (1 << (PostgreSQLParser.KW_MAPPING - 238)) | (1 << (PostgreSQLParser.KW_MATCH - 238)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 238)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 238)) | (1 << (PostgreSQLParser.KW_MINUTE - 238)) | (1 << (PostgreSQLParser.KW_MINVALUE - 238)) | (1 << (PostgreSQLParser.KW_MODE - 238)) | (1 << (PostgreSQLParser.KW_MONTH - 238)) | (1 << (PostgreSQLParser.KW_MOVE - 238)) | (1 << (PostgreSQLParser.KW_NAME - 238)) | (1 << (PostgreSQLParser.KW_NAMES - 238)) | (1 << (PostgreSQLParser.KW_NEXT - 238)) | (1 << (PostgreSQLParser.KW_NO - 238)))) !== 0) || ((((_la - 270)) & ~0x1F) === 0 && ((1 << (_la - 270)) & ((1 << (PostgreSQLParser.KW_NOTHING - 270)) | (1 << (PostgreSQLParser.KW_NOTIFY - 270)) | (1 << (PostgreSQLParser.KW_NOWAIT - 270)) | (1 << (PostgreSQLParser.KW_NULLS - 270)) | (1 << (PostgreSQLParser.KW_OBJECT - 270)) | (1 << (PostgreSQLParser.KW_OF - 270)) | (1 << (PostgreSQLParser.KW_OFF - 270)) | (1 << (PostgreSQLParser.KW_OIDS - 270)) | (1 << (PostgreSQLParser.KW_OPERATOR - 270)) | (1 << (PostgreSQLParser.KW_OPTION - 270)) | (1 << (PostgreSQLParser.KW_OPTIONS - 270)) | (1 << (PostgreSQLParser.KW_OWNED - 270)) | (1 << (PostgreSQLParser.KW_OWNER - 270)) | (1 << (PostgreSQLParser.KW_PARSER - 270)) | (1 << (PostgreSQLParser.KW_PARTIAL - 270)) | (1 << (PostgreSQLParser.KW_PARTITION - 270)) | (1 << (PostgreSQLParser.KW_PASSING - 270)) | (1 << (PostgreSQLParser.KW_PASSWORD - 270)) | (1 << (PostgreSQLParser.KW_PLANS - 270)) | (1 << (PostgreSQLParser.KW_PRECEDING - 270)) | (1 << (PostgreSQLParser.KW_PREPARE - 270)) | (1 << (PostgreSQLParser.KW_PREPARED - 270)) | (1 << (PostgreSQLParser.KW_PRESERVE - 270)) | (1 << (PostgreSQLParser.KW_PRIOR - 270)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 270)) | (1 << (PostgreSQLParser.KW_PROGRAM - 270)) | (1 << (PostgreSQLParser.KW_QUOTE - 270)) | (1 << (PostgreSQLParser.KW_RANGE - 270)) | (1 << (PostgreSQLParser.KW_READ - 270)) | (1 << (PostgreSQLParser.KW_REASSIGN - 270)))) !== 0) || ((((_la - 302)) & ~0x1F) === 0 && ((1 << (_la - 302)) & ((1 << (PostgreSQLParser.KW_RECHECK - 302)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 302)) | (1 << (PostgreSQLParser.KW_REF - 302)) | (1 << (PostgreSQLParser.KW_REFRESH - 302)) | (1 << (PostgreSQLParser.KW_REINDEX - 302)) | (1 << (PostgreSQLParser.KW_RELATIVE - 302)) | (1 << (PostgreSQLParser.KW_RELEASE - 302)) | (1 << (PostgreSQLParser.KW_RENAME - 302)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 302)) | (1 << (PostgreSQLParser.KW_REPLACE - 302)) | (1 << (PostgreSQLParser.KW_REPLICA - 302)) | (1 << (PostgreSQLParser.KW_RESET - 302)) | (1 << (PostgreSQLParser.KW_RESTART - 302)) | (1 << (PostgreSQLParser.KW_RESTRICT - 302)) | (1 << (PostgreSQLParser.KW_RETURNS - 302)) | (1 << (PostgreSQLParser.KW_REVOKE - 302)) | (1 << (PostgreSQLParser.KW_ROLE - 302)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 302)) | (1 << (PostgreSQLParser.KW_ROWS - 302)) | (1 << (PostgreSQLParser.KW_RULE - 302)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 302)) | (1 << (PostgreSQLParser.KW_SCHEMA - 302)) | (1 << (PostgreSQLParser.KW_SCROLL - 302)) | (1 << (PostgreSQLParser.KW_SEARCH - 302)) | (1 << (PostgreSQLParser.KW_SECOND - 302)) | (1 << (PostgreSQLParser.KW_SECURITY - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 302)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 302)) | (1 << (PostgreSQLParser.KW_SERVER - 302)) | (1 << (PostgreSQLParser.KW_SESSION - 302)) | (1 << (PostgreSQLParser.KW_SET - 302)))) !== 0) || ((((_la - 334)) & ~0x1F) === 0 && ((1 << (_la - 334)) & ((1 << (PostgreSQLParser.KW_SHARE - 334)) | (1 << (PostgreSQLParser.KW_SHOW - 334)) | (1 << (PostgreSQLParser.KW_SIMPLE - 334)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 334)) | (1 << (PostgreSQLParser.KW_STABLE - 334)) | (1 << (PostgreSQLParser.KW_STANDALONE - 334)) | (1 << (PostgreSQLParser.KW_START - 334)) | (1 << (PostgreSQLParser.KW_STATEMENT - 334)) | (1 << (PostgreSQLParser.KW_STATISTICS - 334)) | (1 << (PostgreSQLParser.KW_STDIN - 334)) | (1 << (PostgreSQLParser.KW_STDOUT - 334)) | (1 << (PostgreSQLParser.KW_STORAGE - 334)) | (1 << (PostgreSQLParser.KW_STRICT - 334)) | (1 << (PostgreSQLParser.KW_STRIP - 334)) | (1 << (PostgreSQLParser.KW_SYSID - 334)) | (1 << (PostgreSQLParser.KW_SYSTEM - 334)) | (1 << (PostgreSQLParser.KW_TABLES - 334)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 334)) | (1 << (PostgreSQLParser.KW_TEMP - 334)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 334)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 334)) | (1 << (PostgreSQLParser.KW_TEXT - 334)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 334)) | (1 << (PostgreSQLParser.KW_TRIGGER - 334)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 334)) | (1 << (PostgreSQLParser.KW_TRUSTED - 334)) | (1 << (PostgreSQLParser.KW_TYPE - 334)) | (1 << (PostgreSQLParser.KW_TYPES - 334)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 334)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 334)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 334)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 334)))) !== 0) || ((((_la - 366)) & ~0x1F) === 0 && ((1 << (_la - 366)) & ((1 << (PostgreSQLParser.KW_UNLISTEN - 366)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 366)) | (1 << (PostgreSQLParser.KW_UNTIL - 366)) | (1 << (PostgreSQLParser.KW_UPDATE - 366)) | (1 << (PostgreSQLParser.KW_VACUUM - 366)) | (1 << (PostgreSQLParser.KW_VALID - 366)) | (1 << (PostgreSQLParser.KW_VALIDATE - 366)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 366)) | (1 << (PostgreSQLParser.KW_VARYING - 366)) | (1 << (PostgreSQLParser.KW_VERSION - 366)) | (1 << (PostgreSQLParser.KW_VIEW - 366)) | (1 << (PostgreSQLParser.KW_VOLATILE - 366)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 366)) | (1 << (PostgreSQLParser.KW_WITHOUT - 366)) | (1 << (PostgreSQLParser.KW_WORK - 366)) | (1 << (PostgreSQLParser.KW_WRAPPER - 366)) | (1 << (PostgreSQLParser.KW_WRITE - 366)) | (1 << (PostgreSQLParser.KW_XML - 366)) | (1 << (PostgreSQLParser.KW_YEAR - 366)) | (1 << (PostgreSQLParser.KW_YES - 366)) | (1 << (PostgreSQLParser.KW_ZONE - 366)) | (1 << (PostgreSQLParser.KW_BETWEEN - 366)) | (1 << (PostgreSQLParser.KW_BIGINT - 366)) | (1 << (PostgreSQLParser.KW_BIT - 366)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 366)) | (1 << (PostgreSQLParser.KW_CHAR - 366)) | (1 << (PostgreSQLParser.KW_CHARACTER - 366)) | (1 << (PostgreSQLParser.KW_COALESCE - 366)) | (1 << (PostgreSQLParser.KW_DEC - 366)) | (1 << (PostgreSQLParser.KW_DECIMAL - 366)) | (1 << (PostgreSQLParser.KW_EXISTS - 366)) | (1 << (PostgreSQLParser.KW_EXTRACT - 366)))) !== 0) || ((((_la - 398)) & ~0x1F) === 0 && ((1 << (_la - 398)) & ((1 << (PostgreSQLParser.KW_FLOAT - 398)) | (1 << (PostgreSQLParser.KW_GREATEST - 398)) | (1 << (PostgreSQLParser.KW_INOUT - 398)) | (1 << (PostgreSQLParser.KW_INT - 398)) | (1 << (PostgreSQLParser.KW_INTEGER - 398)) | (1 << (PostgreSQLParser.KW_INTERVAL - 398)) | (1 << (PostgreSQLParser.KW_LEAST - 398)) | (1 << (PostgreSQLParser.KW_NATIONAL - 398)) | (1 << (PostgreSQLParser.KW_NCHAR - 398)) | (1 << (PostgreSQLParser.KW_NONE - 398)) | (1 << (PostgreSQLParser.KW_NULLIF - 398)) | (1 << (PostgreSQLParser.KW_NUMERIC - 398)) | (1 << (PostgreSQLParser.KW_OVERLAY - 398)) | (1 << (PostgreSQLParser.KW_POSITION - 398)) | (1 << (PostgreSQLParser.KW_PRECISION - 398)) | (1 << (PostgreSQLParser.KW_REAL - 398)) | (1 << (PostgreSQLParser.KW_ROW - 398)) | (1 << (PostgreSQLParser.KW_SETOF - 398)) | (1 << (PostgreSQLParser.KW_SMALLINT - 398)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 398)) | (1 << (PostgreSQLParser.KW_TIME - 398)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 398)) | (1 << (PostgreSQLParser.KW_TREAT - 398)) | (1 << (PostgreSQLParser.KW_TRIM - 398)) | (1 << (PostgreSQLParser.KW_VALUES - 398)) | (1 << (PostgreSQLParser.KW_VARCHAR - 398)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 398)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 398)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 398)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 398)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 398)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 398)))) !== 0) || ((((_la - 430)) & ~0x1F) === 0 && ((1 << (_la - 430)) & ((1 << (PostgreSQLParser.KW_XMLPI - 430)) | (1 << (PostgreSQLParser.KW_XMLROOT - 430)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 430)) | (1 << (PostgreSQLParser.KW_CALL - 430)) | (1 << (PostgreSQLParser.KW_CURRENT - 430)) | (1 << (PostgreSQLParser.KW_ATTACH - 430)) | (1 << (PostgreSQLParser.KW_DETACH - 430)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 430)) | (1 << (PostgreSQLParser.KW_GENERATED - 430)) | (1 << (PostgreSQLParser.KW_LOGGED - 430)) | (1 << (PostgreSQLParser.KW_STORED - 430)) | (1 << (PostgreSQLParser.KW_INCLUDE - 430)) | (1 << (PostgreSQLParser.KW_ROUTINE - 430)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 430)) | (1 << (PostgreSQLParser.KW_IMPORT - 430)) | (1 << (PostgreSQLParser.KW_POLICY - 430)) | (1 << (PostgreSQLParser.KW_METHOD - 430)) | (1 << (PostgreSQLParser.KW_REFERENCING - 430)) | (1 << (PostgreSQLParser.KW_NEW - 430)) | (1 << (PostgreSQLParser.KW_OLD - 430)) | (1 << (PostgreSQLParser.KW_VALUE - 430)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 430)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 430)) | (1 << (PostgreSQLParser.KW_OUT - 430)) | (1 << (PostgreSQLParser.KW_ROUTINES - 430)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 430)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 430)) | (1 << (PostgreSQLParser.KW_INPUT - 430)) | (1 << (PostgreSQLParser.KW_SUPPORT - 430)) | (1 << (PostgreSQLParser.KW_PARALLEL - 430)) | (1 << (PostgreSQLParser.KW_SQL - 430)))) !== 0) || ((((_la - 462)) & ~0x1F) === 0 && ((1 << (_la - 462)) & ((1 << (PostgreSQLParser.KW_DEPENDS - 462)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 462)) | (1 << (PostgreSQLParser.KW_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_SKIP - 462)) | (1 << (PostgreSQLParser.KW_LOCKED - 462)) | (1 << (PostgreSQLParser.KW_TIES - 462)) | (1 << (PostgreSQLParser.KW_ROLLUP - 462)) | (1 << (PostgreSQLParser.KW_CUBE - 462)) | (1 << (PostgreSQLParser.KW_GROUPING - 462)) | (1 << (PostgreSQLParser.KW_SETS - 462)) | (1 << (PostgreSQLParser.KW_TABLESAMPLE - 462)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 462)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 462)) | (1 << (PostgreSQLParser.KW_COLUMNS - 462)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 462)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 462)) | (1 << (PostgreSQLParser.KW_WITHIN - 462)) | (1 << (PostgreSQLParser.KW_FILTER - 462)) | (1 << (PostgreSQLParser.KW_GROUPS - 462)) | (1 << (PostgreSQLParser.KW_OTHERS - 462)) | (1 << (PostgreSQLParser.KW_NFC - 462)) | (1 << (PostgreSQLParser.KW_NFD - 462)) | (1 << (PostgreSQLParser.KW_NFKC - 462)) | (1 << (PostgreSQLParser.KW_NFKD - 462)) | (1 << (PostgreSQLParser.KW_UESCAPE - 462)) | (1 << (PostgreSQLParser.KW_VIEWS - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 462)) | (1 << (PostgreSQLParser.KW_DUMP - 462)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 462)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_ERROR - 462)))) !== 0) || ((((_la - 494)) & ~0x1F) === 0 && ((1 << (_la - 494)) & ((1 << (PostgreSQLParser.KW_USE_VARIABLE - 494)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 494)) | (1 << (PostgreSQLParser.KW_ALIAS - 494)) | (1 << (PostgreSQLParser.KW_CONSTANT - 494)) | (1 << (PostgreSQLParser.KW_PERFORM - 494)) | (1 << (PostgreSQLParser.KW_GET - 494)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 494)) | (1 << (PostgreSQLParser.KW_STACKED - 494)) | (1 << (PostgreSQLParser.KW_ELSIF - 494)) | (1 << (PostgreSQLParser.KW_REVERSE - 494)) | (1 << (PostgreSQLParser.KW_SLICE - 494)) | (1 << (PostgreSQLParser.KW_EXIT - 494)) | (1 << (PostgreSQLParser.KW_RETURN - 494)) | (1 << (PostgreSQLParser.KW_QUERY - 494)) | (1 << (PostgreSQLParser.KW_RAISE - 494)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 494)) | (1 << (PostgreSQLParser.KW_DEBUG - 494)) | (1 << (PostgreSQLParser.KW_LOG - 494)) | (1 << (PostgreSQLParser.KW_INFO - 494)) | (1 << (PostgreSQLParser.KW_NOTICE - 494)) | (1 << (PostgreSQLParser.KW_WARNING - 494)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 494)) | (1 << (PostgreSQLParser.KW_ASSERT - 494)) | (1 << (PostgreSQLParser.KW_OPEN - 494)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.BinaryStringConstant - 547)) | (1 << (PostgreSQLParser.HexadecimalStringConstant - 547)) | (1 << (PostgreSQLParser.Integral - 547)) | (1 << (PostgreSQLParser.Numeric - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 10108; this.position_list(); } } this.state = 10111; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_SUBSTRING: this.enterOuterAlt(_localctx, 18); { this.state = 10112; this.match(PostgreSQLParser.KW_SUBSTRING); this.state = 10113; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10115; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.OPEN_PAREN) | (1 << PostgreSQLParser.PLUS) | (1 << PostgreSQLParser.MINUS) | (1 << PostgreSQLParser.PARAM) | (1 << PostgreSQLParser.Operator))) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_CASE - 33)) | (1 << (PostgreSQLParser.KW_CAST - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_CATALOG - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_DATE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_ROLE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIME - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIMESTAMP - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_USER - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FALSE - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 75)) & ~0x1F) === 0 && ((1 << (_la - 75)) & ((1 << (PostgreSQLParser.KW_LOCALTIME - 75)) | (1 << (PostgreSQLParser.KW_LOCALTIMESTAMP - 75)) | (1 << (PostgreSQLParser.KW_NOT - 75)) | (1 << (PostgreSQLParser.KW_NULL - 75)) | (1 << (PostgreSQLParser.KW_SESSION_USER - 75)) | (1 << (PostgreSQLParser.KW_TABLE - 75)) | (1 << (PostgreSQLParser.KW_TRUE - 75)) | (1 << (PostgreSQLParser.KW_UNIQUE - 75)) | (1 << (PostgreSQLParser.KW_USER - 75)) | (1 << (PostgreSQLParser.KW_AUTHORIZATION - 75)))) !== 0) || ((((_la - 107)) & ~0x1F) === 0 && ((1 << (_la - 107)) & ((1 << (PostgreSQLParser.KW_BINARY - 107)) | (1 << (PostgreSQLParser.KW_COLLATION - 107)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 107)) | (1 << (PostgreSQLParser.KW_CROSS - 107)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 107)) | (1 << (PostgreSQLParser.KW_FREEZE - 107)) | (1 << (PostgreSQLParser.KW_FULL - 107)) | (1 << (PostgreSQLParser.KW_ILIKE - 107)) | (1 << (PostgreSQLParser.KW_INNER - 107)) | (1 << (PostgreSQLParser.KW_IS - 107)) | (1 << (PostgreSQLParser.KW_ISNULL - 107)) | (1 << (PostgreSQLParser.KW_JOIN - 107)) | (1 << (PostgreSQLParser.KW_LEFT - 107)) | (1 << (PostgreSQLParser.KW_LIKE - 107)) | (1 << (PostgreSQLParser.KW_NATURAL - 107)) | (1 << (PostgreSQLParser.KW_NOTNULL - 107)) | (1 << (PostgreSQLParser.KW_OUTER - 107)) | (1 << (PostgreSQLParser.KW_OVER - 107)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 107)) | (1 << (PostgreSQLParser.KW_RIGHT - 107)) | (1 << (PostgreSQLParser.KW_SIMILAR - 107)) | (1 << (PostgreSQLParser.KW_VERBOSE - 107)) | (1 << (PostgreSQLParser.KW_ABORT - 107)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 107)) | (1 << (PostgreSQLParser.KW_ACCESS - 107)) | (1 << (PostgreSQLParser.KW_ACTION - 107)) | (1 << (PostgreSQLParser.KW_ADD - 107)) | (1 << (PostgreSQLParser.KW_ADMIN - 107)) | (1 << (PostgreSQLParser.KW_AFTER - 107)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 107)) | (1 << (PostgreSQLParser.KW_ALSO - 107)) | (1 << (PostgreSQLParser.KW_ALTER - 107)))) !== 0) || ((((_la - 139)) & ~0x1F) === 0 && ((1 << (_la - 139)) & ((1 << (PostgreSQLParser.KW_ALWAYS - 139)) | (1 << (PostgreSQLParser.KW_ASSERTION - 139)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 139)) | (1 << (PostgreSQLParser.KW_AT - 139)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 139)) | (1 << (PostgreSQLParser.KW_BACKWARD - 139)) | (1 << (PostgreSQLParser.KW_BEFORE - 139)) | (1 << (PostgreSQLParser.KW_BEGIN - 139)) | (1 << (PostgreSQLParser.KW_BY - 139)) | (1 << (PostgreSQLParser.KW_CACHE - 139)) | (1 << (PostgreSQLParser.KW_CALLED - 139)) | (1 << (PostgreSQLParser.KW_CASCADE - 139)) | (1 << (PostgreSQLParser.KW_CASCADED - 139)) | (1 << (PostgreSQLParser.KW_CATALOG - 139)) | (1 << (PostgreSQLParser.KW_CHAIN - 139)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 139)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 139)) | (1 << (PostgreSQLParser.KW_CLASS - 139)) | (1 << (PostgreSQLParser.KW_CLOSE - 139)) | (1 << (PostgreSQLParser.KW_CLUSTER - 139)) | (1 << (PostgreSQLParser.KW_COMMENT - 139)) | (1 << (PostgreSQLParser.KW_COMMENTS - 139)) | (1 << (PostgreSQLParser.KW_COMMIT - 139)) | (1 << (PostgreSQLParser.KW_COMMITTED - 139)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 139)) | (1 << (PostgreSQLParser.KW_CONNECTION - 139)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 139)) | (1 << (PostgreSQLParser.KW_CONTENT - 139)) | (1 << (PostgreSQLParser.KW_CONTINUE - 139)) | (1 << (PostgreSQLParser.KW_CONVERSION - 139)) | (1 << (PostgreSQLParser.KW_COPY - 139)) | (1 << (PostgreSQLParser.KW_COST - 139)))) !== 0) || ((((_la - 171)) & ~0x1F) === 0 && ((1 << (_la - 171)) & ((1 << (PostgreSQLParser.KW_CSV - 171)) | (1 << (PostgreSQLParser.KW_CURSOR - 171)) | (1 << (PostgreSQLParser.KW_CYCLE - 171)) | (1 << (PostgreSQLParser.KW_DATA - 171)) | (1 << (PostgreSQLParser.KW_DATABASE - 171)) | (1 << (PostgreSQLParser.KW_DAY - 171)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 171)) | (1 << (PostgreSQLParser.KW_DECLARE - 171)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 171)) | (1 << (PostgreSQLParser.KW_DEFERRED - 171)) | (1 << (PostgreSQLParser.KW_DEFINER - 171)) | (1 << (PostgreSQLParser.KW_DELETE - 171)) | (1 << (PostgreSQLParser.KW_DELIMITER - 171)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 171)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 171)) | (1 << (PostgreSQLParser.KW_DISABLE - 171)) | (1 << (PostgreSQLParser.KW_DISCARD - 171)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 171)) | (1 << (PostgreSQLParser.KW_DOMAIN - 171)) | (1 << (PostgreSQLParser.KW_DOUBLE - 171)) | (1 << (PostgreSQLParser.KW_DROP - 171)) | (1 << (PostgreSQLParser.KW_EACH - 171)) | (1 << (PostgreSQLParser.KW_ENABLE - 171)) | (1 << (PostgreSQLParser.KW_ENCODING - 171)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 171)) | (1 << (PostgreSQLParser.KW_ENUM - 171)) | (1 << (PostgreSQLParser.KW_ESCAPE - 171)) | (1 << (PostgreSQLParser.KW_EVENT - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 171)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 171)) | (1 << (PostgreSQLParser.KW_EXECUTE - 171)))) !== 0) || ((((_la - 203)) & ~0x1F) === 0 && ((1 << (_la - 203)) & ((1 << (PostgreSQLParser.KW_EXPLAIN - 203)) | (1 << (PostgreSQLParser.KW_EXTENSION - 203)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 203)) | (1 << (PostgreSQLParser.KW_FAMILY - 203)) | (1 << (PostgreSQLParser.KW_FIRST - 203)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 203)) | (1 << (PostgreSQLParser.KW_FORCE - 203)) | (1 << (PostgreSQLParser.KW_FORWARD - 203)) | (1 << (PostgreSQLParser.KW_FUNCTION - 203)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 203)) | (1 << (PostgreSQLParser.KW_GLOBAL - 203)) | (1 << (PostgreSQLParser.KW_GRANTED - 203)) | (1 << (PostgreSQLParser.KW_HANDLER - 203)) | (1 << (PostgreSQLParser.KW_HEADER - 203)) | (1 << (PostgreSQLParser.KW_HOLD - 203)) | (1 << (PostgreSQLParser.KW_HOUR - 203)) | (1 << (PostgreSQLParser.KW_IDENTITY - 203)) | (1 << (PostgreSQLParser.KW_IF - 203)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 203)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 203)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 203)) | (1 << (PostgreSQLParser.KW_INCLUDING - 203)) | (1 << (PostgreSQLParser.KW_INCREMENT - 203)) | (1 << (PostgreSQLParser.KW_INDEX - 203)) | (1 << (PostgreSQLParser.KW_INDEXES - 203)) | (1 << (PostgreSQLParser.KW_INHERIT - 203)))) !== 0) || ((((_la - 238)) & ~0x1F) === 0 && ((1 << (_la - 238)) & ((1 << (PostgreSQLParser.KW_INHERITS - 238)) | (1 << (PostgreSQLParser.KW_INLINE - 238)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 238)) | (1 << (PostgreSQLParser.KW_INSERT - 238)) | (1 << (PostgreSQLParser.KW_INSTEAD - 238)) | (1 << (PostgreSQLParser.KW_INVOKER - 238)) | (1 << (PostgreSQLParser.KW_ISOLATION - 238)) | (1 << (PostgreSQLParser.KW_KEY - 238)) | (1 << (PostgreSQLParser.KW_LABEL - 238)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 238)) | (1 << (PostgreSQLParser.KW_LARGE - 238)) | (1 << (PostgreSQLParser.KW_LAST - 238)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 238)) | (1 << (PostgreSQLParser.KW_LEVEL - 238)) | (1 << (PostgreSQLParser.KW_LISTEN - 238)) | (1 << (PostgreSQLParser.KW_LOAD - 238)) | (1 << (PostgreSQLParser.KW_LOCAL - 238)) | (1 << (PostgreSQLParser.KW_LOCATION - 238)) | (1 << (PostgreSQLParser.KW_LOCK - 238)) | (1 << (PostgreSQLParser.KW_MAPPING - 238)) | (1 << (PostgreSQLParser.KW_MATCH - 238)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 238)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 238)) | (1 << (PostgreSQLParser.KW_MINUTE - 238)) | (1 << (PostgreSQLParser.KW_MINVALUE - 238)) | (1 << (PostgreSQLParser.KW_MODE - 238)) | (1 << (PostgreSQLParser.KW_MONTH - 238)) | (1 << (PostgreSQLParser.KW_MOVE - 238)) | (1 << (PostgreSQLParser.KW_NAME - 238)) | (1 << (PostgreSQLParser.KW_NAMES - 238)) | (1 << (PostgreSQLParser.KW_NEXT - 238)) | (1 << (PostgreSQLParser.KW_NO - 238)))) !== 0) || ((((_la - 270)) & ~0x1F) === 0 && ((1 << (_la - 270)) & ((1 << (PostgreSQLParser.KW_NOTHING - 270)) | (1 << (PostgreSQLParser.KW_NOTIFY - 270)) | (1 << (PostgreSQLParser.KW_NOWAIT - 270)) | (1 << (PostgreSQLParser.KW_NULLS - 270)) | (1 << (PostgreSQLParser.KW_OBJECT - 270)) | (1 << (PostgreSQLParser.KW_OF - 270)) | (1 << (PostgreSQLParser.KW_OFF - 270)) | (1 << (PostgreSQLParser.KW_OIDS - 270)) | (1 << (PostgreSQLParser.KW_OPERATOR - 270)) | (1 << (PostgreSQLParser.KW_OPTION - 270)) | (1 << (PostgreSQLParser.KW_OPTIONS - 270)) | (1 << (PostgreSQLParser.KW_OWNED - 270)) | (1 << (PostgreSQLParser.KW_OWNER - 270)) | (1 << (PostgreSQLParser.KW_PARSER - 270)) | (1 << (PostgreSQLParser.KW_PARTIAL - 270)) | (1 << (PostgreSQLParser.KW_PARTITION - 270)) | (1 << (PostgreSQLParser.KW_PASSING - 270)) | (1 << (PostgreSQLParser.KW_PASSWORD - 270)) | (1 << (PostgreSQLParser.KW_PLANS - 270)) | (1 << (PostgreSQLParser.KW_PRECEDING - 270)) | (1 << (PostgreSQLParser.KW_PREPARE - 270)) | (1 << (PostgreSQLParser.KW_PREPARED - 270)) | (1 << (PostgreSQLParser.KW_PRESERVE - 270)) | (1 << (PostgreSQLParser.KW_PRIOR - 270)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 270)) | (1 << (PostgreSQLParser.KW_PROGRAM - 270)) | (1 << (PostgreSQLParser.KW_QUOTE - 270)) | (1 << (PostgreSQLParser.KW_RANGE - 270)) | (1 << (PostgreSQLParser.KW_READ - 270)) | (1 << (PostgreSQLParser.KW_REASSIGN - 270)))) !== 0) || ((((_la - 302)) & ~0x1F) === 0 && ((1 << (_la - 302)) & ((1 << (PostgreSQLParser.KW_RECHECK - 302)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 302)) | (1 << (PostgreSQLParser.KW_REF - 302)) | (1 << (PostgreSQLParser.KW_REFRESH - 302)) | (1 << (PostgreSQLParser.KW_REINDEX - 302)) | (1 << (PostgreSQLParser.KW_RELATIVE - 302)) | (1 << (PostgreSQLParser.KW_RELEASE - 302)) | (1 << (PostgreSQLParser.KW_RENAME - 302)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 302)) | (1 << (PostgreSQLParser.KW_REPLACE - 302)) | (1 << (PostgreSQLParser.KW_REPLICA - 302)) | (1 << (PostgreSQLParser.KW_RESET - 302)) | (1 << (PostgreSQLParser.KW_RESTART - 302)) | (1 << (PostgreSQLParser.KW_RESTRICT - 302)) | (1 << (PostgreSQLParser.KW_RETURNS - 302)) | (1 << (PostgreSQLParser.KW_REVOKE - 302)) | (1 << (PostgreSQLParser.KW_ROLE - 302)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 302)) | (1 << (PostgreSQLParser.KW_ROWS - 302)) | (1 << (PostgreSQLParser.KW_RULE - 302)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 302)) | (1 << (PostgreSQLParser.KW_SCHEMA - 302)) | (1 << (PostgreSQLParser.KW_SCROLL - 302)) | (1 << (PostgreSQLParser.KW_SEARCH - 302)) | (1 << (PostgreSQLParser.KW_SECOND - 302)) | (1 << (PostgreSQLParser.KW_SECURITY - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 302)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 302)) | (1 << (PostgreSQLParser.KW_SERVER - 302)) | (1 << (PostgreSQLParser.KW_SESSION - 302)) | (1 << (PostgreSQLParser.KW_SET - 302)))) !== 0) || ((((_la - 334)) & ~0x1F) === 0 && ((1 << (_la - 334)) & ((1 << (PostgreSQLParser.KW_SHARE - 334)) | (1 << (PostgreSQLParser.KW_SHOW - 334)) | (1 << (PostgreSQLParser.KW_SIMPLE - 334)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 334)) | (1 << (PostgreSQLParser.KW_STABLE - 334)) | (1 << (PostgreSQLParser.KW_STANDALONE - 334)) | (1 << (PostgreSQLParser.KW_START - 334)) | (1 << (PostgreSQLParser.KW_STATEMENT - 334)) | (1 << (PostgreSQLParser.KW_STATISTICS - 334)) | (1 << (PostgreSQLParser.KW_STDIN - 334)) | (1 << (PostgreSQLParser.KW_STDOUT - 334)) | (1 << (PostgreSQLParser.KW_STORAGE - 334)) | (1 << (PostgreSQLParser.KW_STRICT - 334)) | (1 << (PostgreSQLParser.KW_STRIP - 334)) | (1 << (PostgreSQLParser.KW_SYSID - 334)) | (1 << (PostgreSQLParser.KW_SYSTEM - 334)) | (1 << (PostgreSQLParser.KW_TABLES - 334)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 334)) | (1 << (PostgreSQLParser.KW_TEMP - 334)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 334)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 334)) | (1 << (PostgreSQLParser.KW_TEXT - 334)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 334)) | (1 << (PostgreSQLParser.KW_TRIGGER - 334)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 334)) | (1 << (PostgreSQLParser.KW_TRUSTED - 334)) | (1 << (PostgreSQLParser.KW_TYPE - 334)) | (1 << (PostgreSQLParser.KW_TYPES - 334)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 334)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 334)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 334)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 334)))) !== 0) || ((((_la - 366)) & ~0x1F) === 0 && ((1 << (_la - 366)) & ((1 << (PostgreSQLParser.KW_UNLISTEN - 366)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 366)) | (1 << (PostgreSQLParser.KW_UNTIL - 366)) | (1 << (PostgreSQLParser.KW_UPDATE - 366)) | (1 << (PostgreSQLParser.KW_VACUUM - 366)) | (1 << (PostgreSQLParser.KW_VALID - 366)) | (1 << (PostgreSQLParser.KW_VALIDATE - 366)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 366)) | (1 << (PostgreSQLParser.KW_VARYING - 366)) | (1 << (PostgreSQLParser.KW_VERSION - 366)) | (1 << (PostgreSQLParser.KW_VIEW - 366)) | (1 << (PostgreSQLParser.KW_VOLATILE - 366)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 366)) | (1 << (PostgreSQLParser.KW_WITHOUT - 366)) | (1 << (PostgreSQLParser.KW_WORK - 366)) | (1 << (PostgreSQLParser.KW_WRAPPER - 366)) | (1 << (PostgreSQLParser.KW_WRITE - 366)) | (1 << (PostgreSQLParser.KW_XML - 366)) | (1 << (PostgreSQLParser.KW_YEAR - 366)) | (1 << (PostgreSQLParser.KW_YES - 366)) | (1 << (PostgreSQLParser.KW_ZONE - 366)) | (1 << (PostgreSQLParser.KW_BETWEEN - 366)) | (1 << (PostgreSQLParser.KW_BIGINT - 366)) | (1 << (PostgreSQLParser.KW_BIT - 366)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 366)) | (1 << (PostgreSQLParser.KW_CHAR - 366)) | (1 << (PostgreSQLParser.KW_CHARACTER - 366)) | (1 << (PostgreSQLParser.KW_COALESCE - 366)) | (1 << (PostgreSQLParser.KW_DEC - 366)) | (1 << (PostgreSQLParser.KW_DECIMAL - 366)) | (1 << (PostgreSQLParser.KW_EXISTS - 366)) | (1 << (PostgreSQLParser.KW_EXTRACT - 366)))) !== 0) || ((((_la - 398)) & ~0x1F) === 0 && ((1 << (_la - 398)) & ((1 << (PostgreSQLParser.KW_FLOAT - 398)) | (1 << (PostgreSQLParser.KW_GREATEST - 398)) | (1 << (PostgreSQLParser.KW_INOUT - 398)) | (1 << (PostgreSQLParser.KW_INT - 398)) | (1 << (PostgreSQLParser.KW_INTEGER - 398)) | (1 << (PostgreSQLParser.KW_INTERVAL - 398)) | (1 << (PostgreSQLParser.KW_LEAST - 398)) | (1 << (PostgreSQLParser.KW_NATIONAL - 398)) | (1 << (PostgreSQLParser.KW_NCHAR - 398)) | (1 << (PostgreSQLParser.KW_NONE - 398)) | (1 << (PostgreSQLParser.KW_NULLIF - 398)) | (1 << (PostgreSQLParser.KW_NUMERIC - 398)) | (1 << (PostgreSQLParser.KW_OVERLAY - 398)) | (1 << (PostgreSQLParser.KW_POSITION - 398)) | (1 << (PostgreSQLParser.KW_PRECISION - 398)) | (1 << (PostgreSQLParser.KW_REAL - 398)) | (1 << (PostgreSQLParser.KW_ROW - 398)) | (1 << (PostgreSQLParser.KW_SETOF - 398)) | (1 << (PostgreSQLParser.KW_SMALLINT - 398)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 398)) | (1 << (PostgreSQLParser.KW_TIME - 398)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 398)) | (1 << (PostgreSQLParser.KW_TREAT - 398)) | (1 << (PostgreSQLParser.KW_TRIM - 398)) | (1 << (PostgreSQLParser.KW_VALUES - 398)) | (1 << (PostgreSQLParser.KW_VARCHAR - 398)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 398)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 398)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 398)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 398)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 398)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 398)))) !== 0) || ((((_la - 430)) & ~0x1F) === 0 && ((1 << (_la - 430)) & ((1 << (PostgreSQLParser.KW_XMLPI - 430)) | (1 << (PostgreSQLParser.KW_XMLROOT - 430)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 430)) | (1 << (PostgreSQLParser.KW_CALL - 430)) | (1 << (PostgreSQLParser.KW_CURRENT - 430)) | (1 << (PostgreSQLParser.KW_ATTACH - 430)) | (1 << (PostgreSQLParser.KW_DETACH - 430)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 430)) | (1 << (PostgreSQLParser.KW_GENERATED - 430)) | (1 << (PostgreSQLParser.KW_LOGGED - 430)) | (1 << (PostgreSQLParser.KW_STORED - 430)) | (1 << (PostgreSQLParser.KW_INCLUDE - 430)) | (1 << (PostgreSQLParser.KW_ROUTINE - 430)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 430)) | (1 << (PostgreSQLParser.KW_IMPORT - 430)) | (1 << (PostgreSQLParser.KW_POLICY - 430)) | (1 << (PostgreSQLParser.KW_METHOD - 430)) | (1 << (PostgreSQLParser.KW_REFERENCING - 430)) | (1 << (PostgreSQLParser.KW_NEW - 430)) | (1 << (PostgreSQLParser.KW_OLD - 430)) | (1 << (PostgreSQLParser.KW_VALUE - 430)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 430)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 430)) | (1 << (PostgreSQLParser.KW_OUT - 430)) | (1 << (PostgreSQLParser.KW_ROUTINES - 430)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 430)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 430)) | (1 << (PostgreSQLParser.KW_INPUT - 430)) | (1 << (PostgreSQLParser.KW_SUPPORT - 430)) | (1 << (PostgreSQLParser.KW_PARALLEL - 430)) | (1 << (PostgreSQLParser.KW_SQL - 430)))) !== 0) || ((((_la - 462)) & ~0x1F) === 0 && ((1 << (_la - 462)) & ((1 << (PostgreSQLParser.KW_DEPENDS - 462)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 462)) | (1 << (PostgreSQLParser.KW_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_SKIP - 462)) | (1 << (PostgreSQLParser.KW_LOCKED - 462)) | (1 << (PostgreSQLParser.KW_TIES - 462)) | (1 << (PostgreSQLParser.KW_ROLLUP - 462)) | (1 << (PostgreSQLParser.KW_CUBE - 462)) | (1 << (PostgreSQLParser.KW_GROUPING - 462)) | (1 << (PostgreSQLParser.KW_SETS - 462)) | (1 << (PostgreSQLParser.KW_TABLESAMPLE - 462)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 462)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 462)) | (1 << (PostgreSQLParser.KW_COLUMNS - 462)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 462)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 462)) | (1 << (PostgreSQLParser.KW_WITHIN - 462)) | (1 << (PostgreSQLParser.KW_FILTER - 462)) | (1 << (PostgreSQLParser.KW_GROUPS - 462)) | (1 << (PostgreSQLParser.KW_OTHERS - 462)) | (1 << (PostgreSQLParser.KW_NFC - 462)) | (1 << (PostgreSQLParser.KW_NFD - 462)) | (1 << (PostgreSQLParser.KW_NFKC - 462)) | (1 << (PostgreSQLParser.KW_NFKD - 462)) | (1 << (PostgreSQLParser.KW_UESCAPE - 462)) | (1 << (PostgreSQLParser.KW_VIEWS - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 462)) | (1 << (PostgreSQLParser.KW_DUMP - 462)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 462)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_ERROR - 462)))) !== 0) || ((((_la - 494)) & ~0x1F) === 0 && ((1 << (_la - 494)) & ((1 << (PostgreSQLParser.KW_USE_VARIABLE - 494)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 494)) | (1 << (PostgreSQLParser.KW_ALIAS - 494)) | (1 << (PostgreSQLParser.KW_CONSTANT - 494)) | (1 << (PostgreSQLParser.KW_PERFORM - 494)) | (1 << (PostgreSQLParser.KW_GET - 494)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 494)) | (1 << (PostgreSQLParser.KW_STACKED - 494)) | (1 << (PostgreSQLParser.KW_ELSIF - 494)) | (1 << (PostgreSQLParser.KW_REVERSE - 494)) | (1 << (PostgreSQLParser.KW_SLICE - 494)) | (1 << (PostgreSQLParser.KW_EXIT - 494)) | (1 << (PostgreSQLParser.KW_RETURN - 494)) | (1 << (PostgreSQLParser.KW_QUERY - 494)) | (1 << (PostgreSQLParser.KW_RAISE - 494)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 494)) | (1 << (PostgreSQLParser.KW_DEBUG - 494)) | (1 << (PostgreSQLParser.KW_LOG - 494)) | (1 << (PostgreSQLParser.KW_INFO - 494)) | (1 << (PostgreSQLParser.KW_NOTICE - 494)) | (1 << (PostgreSQLParser.KW_WARNING - 494)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 494)) | (1 << (PostgreSQLParser.KW_ASSERT - 494)) | (1 << (PostgreSQLParser.KW_OPEN - 494)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.BinaryStringConstant - 547)) | (1 << (PostgreSQLParser.HexadecimalStringConstant - 547)) | (1 << (PostgreSQLParser.Integral - 547)) | (1 << (PostgreSQLParser.Numeric - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 10114; this.substr_list(); } } this.state = 10117; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_TREAT: this.enterOuterAlt(_localctx, 19); { this.state = 10118; this.match(PostgreSQLParser.KW_TREAT); this.state = 10119; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10120; this.a_expr(); this.state = 10121; this.match(PostgreSQLParser.KW_AS); this.state = 10122; this.typename(); this.state = 10123; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_TRIM: this.enterOuterAlt(_localctx, 20); { this.state = 10125; this.match(PostgreSQLParser.KW_TRIM); this.state = 10126; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10128; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_BOTH || _la === PostgreSQLParser.KW_LEADING || _la === PostgreSQLParser.KW_TRAILING) { { this.state = 10127; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_BOTH || _la === PostgreSQLParser.KW_LEADING || _la === PostgreSQLParser.KW_TRAILING)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } this.state = 10130; this.trim_list(); this.state = 10131; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_NULLIF: this.enterOuterAlt(_localctx, 21); { this.state = 10133; this.match(PostgreSQLParser.KW_NULLIF); this.state = 10134; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10135; this.a_expr(); this.state = 10136; this.match(PostgreSQLParser.COMMA); this.state = 10137; this.a_expr(); this.state = 10138; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_COALESCE: this.enterOuterAlt(_localctx, 22); { this.state = 10140; this.match(PostgreSQLParser.KW_COALESCE); this.state = 10141; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10142; this.expr_list(); this.state = 10143; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_GREATEST: this.enterOuterAlt(_localctx, 23); { this.state = 10145; this.match(PostgreSQLParser.KW_GREATEST); this.state = 10146; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10147; this.expr_list(); this.state = 10148; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_LEAST: this.enterOuterAlt(_localctx, 24); { this.state = 10150; this.match(PostgreSQLParser.KW_LEAST); this.state = 10151; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10152; this.expr_list(); this.state = 10153; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_XMLCONCAT: this.enterOuterAlt(_localctx, 25); { this.state = 10155; this.match(PostgreSQLParser.KW_XMLCONCAT); this.state = 10156; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10157; this.expr_list(); this.state = 10158; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_XMLELEMENT: this.enterOuterAlt(_localctx, 26); { this.state = 10160; this.match(PostgreSQLParser.KW_XMLELEMENT); this.state = 10161; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10162; this.match(PostgreSQLParser.KW_NAME); this.state = 10163; this.collabel(); this.state = 10169; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.COMMA) { { this.state = 10164; this.match(PostgreSQLParser.COMMA); this.state = 10167; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1055, this._ctx) ) { case 1: { this.state = 10165; this.xml_attributes(); } break; case 2: { this.state = 10166; this.expr_list(); } break; } } } this.state = 10171; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_XMLEXISTS: this.enterOuterAlt(_localctx, 27); { this.state = 10173; this.match(PostgreSQLParser.KW_XMLEXISTS); this.state = 10174; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10175; this.c_expr(); this.state = 10176; this.xmlexists_argument(); this.state = 10177; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_XMLFOREST: this.enterOuterAlt(_localctx, 28); { this.state = 10179; this.match(PostgreSQLParser.KW_XMLFOREST); this.state = 10180; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10181; this.xml_attribute_list(); this.state = 10182; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_XMLPARSE: this.enterOuterAlt(_localctx, 29); { this.state = 10184; this.match(PostgreSQLParser.KW_XMLPARSE); this.state = 10185; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10186; this.document_or_content(); this.state = 10187; this.a_expr(); this.state = 10189; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_PRESERVE || _la === PostgreSQLParser.KW_STRIP) { { this.state = 10188; this.xml_whitespace_option(); } } this.state = 10191; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_XMLPI: this.enterOuterAlt(_localctx, 30); { this.state = 10193; this.match(PostgreSQLParser.KW_XMLPI); this.state = 10194; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10195; this.match(PostgreSQLParser.KW_NAME); this.state = 10196; this.collabel(); this.state = 10199; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.COMMA) { { this.state = 10197; this.match(PostgreSQLParser.COMMA); this.state = 10198; this.a_expr(); } } this.state = 10201; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_XMLROOT: this.enterOuterAlt(_localctx, 31); { this.state = 10203; this.match(PostgreSQLParser.KW_XMLROOT); this.state = 10204; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10205; this.match(PostgreSQLParser.KW_XML); this.state = 10206; this.a_expr(); this.state = 10207; this.match(PostgreSQLParser.COMMA); this.state = 10208; this.xml_root_version(); this.state = 10210; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.COMMA) { { this.state = 10209; this.opt_xml_root_standalone(); } } this.state = 10212; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.KW_XMLSERIALIZE: this.enterOuterAlt(_localctx, 32); { this.state = 10214; this.match(PostgreSQLParser.KW_XMLSERIALIZE); this.state = 10215; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10216; this.document_or_content(); this.state = 10217; this.a_expr(); this.state = 10218; this.match(PostgreSQLParser.KW_AS); this.state = 10219; this.simpletypename(); this.state = 10220; this.match(PostgreSQLParser.CLOSE_PAREN); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xml_root_version(): Xml_root_versionContext { let _localctx: Xml_root_versionContext = new Xml_root_versionContext(this._ctx, this.state); this.enterRule(_localctx, 1268, PostgreSQLParser.RULE_xml_root_version); try { this.state = 10229; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1061, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10224; this.match(PostgreSQLParser.KW_VERSION); this.state = 10225; this.a_expr(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10226; this.match(PostgreSQLParser.KW_VERSION); this.state = 10227; this.match(PostgreSQLParser.KW_NO); this.state = 10228; this.match(PostgreSQLParser.KW_VALUE); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_xml_root_standalone(): Opt_xml_root_standaloneContext { let _localctx: Opt_xml_root_standaloneContext = new Opt_xml_root_standaloneContext(this._ctx, this.state); this.enterRule(_localctx, 1270, PostgreSQLParser.RULE_opt_xml_root_standalone); try { this.state = 10241; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1062, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10231; this.match(PostgreSQLParser.COMMA); this.state = 10232; this.match(PostgreSQLParser.KW_STANDALONE); this.state = 10233; this.match(PostgreSQLParser.KW_YES); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10234; this.match(PostgreSQLParser.COMMA); this.state = 10235; this.match(PostgreSQLParser.KW_STANDALONE); this.state = 10236; this.match(PostgreSQLParser.KW_NO); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10237; this.match(PostgreSQLParser.COMMA); this.state = 10238; this.match(PostgreSQLParser.KW_STANDALONE); this.state = 10239; this.match(PostgreSQLParser.KW_NO); this.state = 10240; this.match(PostgreSQLParser.KW_VALUE); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xml_attributes(): Xml_attributesContext { let _localctx: Xml_attributesContext = new Xml_attributesContext(this._ctx, this.state); this.enterRule(_localctx, 1272, PostgreSQLParser.RULE_xml_attributes); try { this.enterOuterAlt(_localctx, 1); { this.state = 10243; this.match(PostgreSQLParser.KW_XMLATTRIBUTES); this.state = 10244; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10245; this.xml_attribute_list(); this.state = 10246; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xml_attribute_list(): Xml_attribute_listContext { let _localctx: Xml_attribute_listContext = new Xml_attribute_listContext(this._ctx, this.state); this.enterRule(_localctx, 1274, PostgreSQLParser.RULE_xml_attribute_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10248; this.xml_attribute_el(); this.state = 10253; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 10249; this.match(PostgreSQLParser.COMMA); this.state = 10250; this.xml_attribute_el(); } } this.state = 10255; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xml_attribute_el(): Xml_attribute_elContext { let _localctx: Xml_attribute_elContext = new Xml_attribute_elContext(this._ctx, this.state); this.enterRule(_localctx, 1276, PostgreSQLParser.RULE_xml_attribute_el); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10256; this.a_expr(); this.state = 10259; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AS) { { this.state = 10257; this.match(PostgreSQLParser.KW_AS); this.state = 10258; this.collabel(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public document_or_content(): Document_or_contentContext { let _localctx: Document_or_contentContext = new Document_or_contentContext(this._ctx, this.state); this.enterRule(_localctx, 1278, PostgreSQLParser.RULE_document_or_content); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10261; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_CONTENT || _la === PostgreSQLParser.KW_DOCUMENT)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xml_whitespace_option(): Xml_whitespace_optionContext { let _localctx: Xml_whitespace_optionContext = new Xml_whitespace_optionContext(this._ctx, this.state); this.enterRule(_localctx, 1280, PostgreSQLParser.RULE_xml_whitespace_option); try { this.state = 10267; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_PRESERVE: this.enterOuterAlt(_localctx, 1); { this.state = 10263; this.match(PostgreSQLParser.KW_PRESERVE); this.state = 10264; this.match(PostgreSQLParser.KW_WHITESPACE); } break; case PostgreSQLParser.KW_STRIP: this.enterOuterAlt(_localctx, 2); { this.state = 10265; this.match(PostgreSQLParser.KW_STRIP); this.state = 10266; this.match(PostgreSQLParser.KW_WHITESPACE); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xmlexists_argument(): Xmlexists_argumentContext { let _localctx: Xmlexists_argumentContext = new Xmlexists_argumentContext(this._ctx, this.state); this.enterRule(_localctx, 1282, PostgreSQLParser.RULE_xmlexists_argument); try { this.state = 10284; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1066, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10269; this.match(PostgreSQLParser.KW_PASSING); this.state = 10270; this.c_expr(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10271; this.match(PostgreSQLParser.KW_PASSING); this.state = 10272; this.c_expr(); this.state = 10273; this.xml_passing_mech(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10275; this.match(PostgreSQLParser.KW_PASSING); this.state = 10276; this.xml_passing_mech(); this.state = 10277; this.c_expr(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 10279; this.match(PostgreSQLParser.KW_PASSING); this.state = 10280; this.xml_passing_mech(); this.state = 10281; this.c_expr(); this.state = 10282; this.xml_passing_mech(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xml_passing_mech(): Xml_passing_mechContext { let _localctx: Xml_passing_mechContext = new Xml_passing_mechContext(this._ctx, this.state); this.enterRule(_localctx, 1284, PostgreSQLParser.RULE_xml_passing_mech); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10286; this.match(PostgreSQLParser.KW_BY); this.state = 10287; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_REF || _la === PostgreSQLParser.KW_VALUE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public within_group_clause(): Within_group_clauseContext { let _localctx: Within_group_clauseContext = new Within_group_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1286, PostgreSQLParser.RULE_within_group_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 10289; this.match(PostgreSQLParser.KW_WITHIN); this.state = 10290; this.match(PostgreSQLParser.KW_GROUP); this.state = 10291; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10292; this.sort_clause(); this.state = 10293; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public filter_clause(): Filter_clauseContext { let _localctx: Filter_clauseContext = new Filter_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1288, PostgreSQLParser.RULE_filter_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 10295; this.match(PostgreSQLParser.KW_FILTER); this.state = 10296; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10297; this.match(PostgreSQLParser.KW_WHERE); this.state = 10298; this.a_expr(); this.state = 10299; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public window_clause(): Window_clauseContext { let _localctx: Window_clauseContext = new Window_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1290, PostgreSQLParser.RULE_window_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 10301; this.match(PostgreSQLParser.KW_WINDOW); this.state = 10302; this.window_definition_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public window_definition_list(): Window_definition_listContext { let _localctx: Window_definition_listContext = new Window_definition_listContext(this._ctx, this.state); this.enterRule(_localctx, 1292, PostgreSQLParser.RULE_window_definition_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 10304; this.window_definition(); this.state = 10309; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1067, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 10305; this.match(PostgreSQLParser.COMMA); this.state = 10306; this.window_definition(); } } } this.state = 10311; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1067, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public window_definition(): Window_definitionContext { let _localctx: Window_definitionContext = new Window_definitionContext(this._ctx, this.state); this.enterRule(_localctx, 1294, PostgreSQLParser.RULE_window_definition); try { this.enterOuterAlt(_localctx, 1); { this.state = 10312; this.colid(); this.state = 10313; this.match(PostgreSQLParser.KW_AS); this.state = 10314; this.window_specification(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public over_clause(): Over_clauseContext { let _localctx: Over_clauseContext = new Over_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1296, PostgreSQLParser.RULE_over_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 10316; this.match(PostgreSQLParser.KW_OVER); this.state = 10319; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: { this.state = 10317; this.window_specification(); } break; case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 10318; this.colid(); } break; default: throw new NoViableAltException(this); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public window_specification(): Window_specificationContext { let _localctx: Window_specificationContext = new Window_specificationContext(this._ctx, this.state); this.enterRule(_localctx, 1298, PostgreSQLParser.RULE_window_specification); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10321; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10323; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1069, this._ctx) ) { case 1: { this.state = 10322; this.opt_existing_window_name(); } break; } this.state = 10326; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_PARTITION) { { this.state = 10325; this.opt_partition_clause(); } } this.state = 10329; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ORDER) { { this.state = 10328; this.opt_sort_clause(); } } this.state = 10332; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_RANGE || _la === PostgreSQLParser.KW_ROWS || _la === PostgreSQLParser.KW_GROUPS) { { this.state = 10331; this.opt_frame_clause(); } } this.state = 10334; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_existing_window_name(): Opt_existing_window_nameContext { let _localctx: Opt_existing_window_nameContext = new Opt_existing_window_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1300, PostgreSQLParser.RULE_opt_existing_window_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 10336; this.colid(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_partition_clause(): Opt_partition_clauseContext { let _localctx: Opt_partition_clauseContext = new Opt_partition_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1302, PostgreSQLParser.RULE_opt_partition_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 10338; this.match(PostgreSQLParser.KW_PARTITION); this.state = 10339; this.match(PostgreSQLParser.KW_BY); this.state = 10340; this.expr_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_frame_clause(): Opt_frame_clauseContext { let _localctx: Opt_frame_clauseContext = new Opt_frame_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1304, PostgreSQLParser.RULE_opt_frame_clause); let _la: number; try { this.state = 10357; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_RANGE: this.enterOuterAlt(_localctx, 1); { this.state = 10342; this.match(PostgreSQLParser.KW_RANGE); this.state = 10343; this.frame_extent(); this.state = 10345; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_EXCLUDE) { { this.state = 10344; this.opt_window_exclusion_clause(); } } } break; case PostgreSQLParser.KW_ROWS: this.enterOuterAlt(_localctx, 2); { this.state = 10347; this.match(PostgreSQLParser.KW_ROWS); this.state = 10348; this.frame_extent(); this.state = 10350; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_EXCLUDE) { { this.state = 10349; this.opt_window_exclusion_clause(); } } } break; case PostgreSQLParser.KW_GROUPS: this.enterOuterAlt(_localctx, 3); { this.state = 10352; this.match(PostgreSQLParser.KW_GROUPS); this.state = 10353; this.frame_extent(); this.state = 10355; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_EXCLUDE) { { this.state = 10354; this.opt_window_exclusion_clause(); } } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public frame_extent(): Frame_extentContext { let _localctx: Frame_extentContext = new Frame_extentContext(this._ctx, this.state); this.enterRule(_localctx, 1306, PostgreSQLParser.RULE_frame_extent); try { this.state = 10365; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1077, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10359; this.frame_bound(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10360; this.match(PostgreSQLParser.KW_BETWEEN); this.state = 10361; this.frame_bound(); this.state = 10362; this.match(PostgreSQLParser.KW_AND); this.state = 10363; this.frame_bound(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public frame_bound(): Frame_boundContext { let _localctx: Frame_boundContext = new Frame_boundContext(this._ctx, this.state); this.enterRule(_localctx, 1308, PostgreSQLParser.RULE_frame_bound); let _la: number; try { this.state = 10374; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1078, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10367; this.match(PostgreSQLParser.KW_UNBOUNDED); this.state = 10368; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_FOLLOWING || _la === PostgreSQLParser.KW_PRECEDING)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10369; this.match(PostgreSQLParser.KW_CURRENT); this.state = 10370; this.match(PostgreSQLParser.KW_ROW); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10371; this.a_expr(); this.state = 10372; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_FOLLOWING || _la === PostgreSQLParser.KW_PRECEDING)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_window_exclusion_clause(): Opt_window_exclusion_clauseContext { let _localctx: Opt_window_exclusion_clauseContext = new Opt_window_exclusion_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1310, PostgreSQLParser.RULE_opt_window_exclusion_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 10376; this.match(PostgreSQLParser.KW_EXCLUDE); this.state = 10383; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_CURRENT: { this.state = 10377; this.match(PostgreSQLParser.KW_CURRENT); this.state = 10378; this.match(PostgreSQLParser.KW_ROW); } break; case PostgreSQLParser.KW_GROUP: { this.state = 10379; this.match(PostgreSQLParser.KW_GROUP); } break; case PostgreSQLParser.KW_TIES: { this.state = 10380; this.match(PostgreSQLParser.KW_TIES); } break; case PostgreSQLParser.KW_NO: { this.state = 10381; this.match(PostgreSQLParser.KW_NO); this.state = 10382; this.match(PostgreSQLParser.KW_OTHERS); } break; default: throw new NoViableAltException(this); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public row(): RowContext { let _localctx: RowContext = new RowContext(this._ctx, this.state); this.enterRule(_localctx, 1312, PostgreSQLParser.RULE_row); let _la: number; try { this.state = 10397; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_ROW: this.enterOuterAlt(_localctx, 1); { this.state = 10385; this.match(PostgreSQLParser.KW_ROW); this.state = 10386; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10388; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.OPEN_PAREN) | (1 << PostgreSQLParser.PLUS) | (1 << PostgreSQLParser.MINUS) | (1 << PostgreSQLParser.PARAM) | (1 << PostgreSQLParser.Operator))) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_CASE - 33)) | (1 << (PostgreSQLParser.KW_CAST - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_CATALOG - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_DATE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_ROLE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIME - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIMESTAMP - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_USER - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FALSE - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 75)) & ~0x1F) === 0 && ((1 << (_la - 75)) & ((1 << (PostgreSQLParser.KW_LOCALTIME - 75)) | (1 << (PostgreSQLParser.KW_LOCALTIMESTAMP - 75)) | (1 << (PostgreSQLParser.KW_NOT - 75)) | (1 << (PostgreSQLParser.KW_NULL - 75)) | (1 << (PostgreSQLParser.KW_SESSION_USER - 75)) | (1 << (PostgreSQLParser.KW_TABLE - 75)) | (1 << (PostgreSQLParser.KW_TRUE - 75)) | (1 << (PostgreSQLParser.KW_UNIQUE - 75)) | (1 << (PostgreSQLParser.KW_USER - 75)) | (1 << (PostgreSQLParser.KW_AUTHORIZATION - 75)))) !== 0) || ((((_la - 107)) & ~0x1F) === 0 && ((1 << (_la - 107)) & ((1 << (PostgreSQLParser.KW_BINARY - 107)) | (1 << (PostgreSQLParser.KW_COLLATION - 107)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 107)) | (1 << (PostgreSQLParser.KW_CROSS - 107)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 107)) | (1 << (PostgreSQLParser.KW_FREEZE - 107)) | (1 << (PostgreSQLParser.KW_FULL - 107)) | (1 << (PostgreSQLParser.KW_ILIKE - 107)) | (1 << (PostgreSQLParser.KW_INNER - 107)) | (1 << (PostgreSQLParser.KW_IS - 107)) | (1 << (PostgreSQLParser.KW_ISNULL - 107)) | (1 << (PostgreSQLParser.KW_JOIN - 107)) | (1 << (PostgreSQLParser.KW_LEFT - 107)) | (1 << (PostgreSQLParser.KW_LIKE - 107)) | (1 << (PostgreSQLParser.KW_NATURAL - 107)) | (1 << (PostgreSQLParser.KW_NOTNULL - 107)) | (1 << (PostgreSQLParser.KW_OUTER - 107)) | (1 << (PostgreSQLParser.KW_OVER - 107)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 107)) | (1 << (PostgreSQLParser.KW_RIGHT - 107)) | (1 << (PostgreSQLParser.KW_SIMILAR - 107)) | (1 << (PostgreSQLParser.KW_VERBOSE - 107)) | (1 << (PostgreSQLParser.KW_ABORT - 107)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 107)) | (1 << (PostgreSQLParser.KW_ACCESS - 107)) | (1 << (PostgreSQLParser.KW_ACTION - 107)) | (1 << (PostgreSQLParser.KW_ADD - 107)) | (1 << (PostgreSQLParser.KW_ADMIN - 107)) | (1 << (PostgreSQLParser.KW_AFTER - 107)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 107)) | (1 << (PostgreSQLParser.KW_ALSO - 107)) | (1 << (PostgreSQLParser.KW_ALTER - 107)))) !== 0) || ((((_la - 139)) & ~0x1F) === 0 && ((1 << (_la - 139)) & ((1 << (PostgreSQLParser.KW_ALWAYS - 139)) | (1 << (PostgreSQLParser.KW_ASSERTION - 139)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 139)) | (1 << (PostgreSQLParser.KW_AT - 139)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 139)) | (1 << (PostgreSQLParser.KW_BACKWARD - 139)) | (1 << (PostgreSQLParser.KW_BEFORE - 139)) | (1 << (PostgreSQLParser.KW_BEGIN - 139)) | (1 << (PostgreSQLParser.KW_BY - 139)) | (1 << (PostgreSQLParser.KW_CACHE - 139)) | (1 << (PostgreSQLParser.KW_CALLED - 139)) | (1 << (PostgreSQLParser.KW_CASCADE - 139)) | (1 << (PostgreSQLParser.KW_CASCADED - 139)) | (1 << (PostgreSQLParser.KW_CATALOG - 139)) | (1 << (PostgreSQLParser.KW_CHAIN - 139)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 139)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 139)) | (1 << (PostgreSQLParser.KW_CLASS - 139)) | (1 << (PostgreSQLParser.KW_CLOSE - 139)) | (1 << (PostgreSQLParser.KW_CLUSTER - 139)) | (1 << (PostgreSQLParser.KW_COMMENT - 139)) | (1 << (PostgreSQLParser.KW_COMMENTS - 139)) | (1 << (PostgreSQLParser.KW_COMMIT - 139)) | (1 << (PostgreSQLParser.KW_COMMITTED - 139)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 139)) | (1 << (PostgreSQLParser.KW_CONNECTION - 139)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 139)) | (1 << (PostgreSQLParser.KW_CONTENT - 139)) | (1 << (PostgreSQLParser.KW_CONTINUE - 139)) | (1 << (PostgreSQLParser.KW_CONVERSION - 139)) | (1 << (PostgreSQLParser.KW_COPY - 139)) | (1 << (PostgreSQLParser.KW_COST - 139)))) !== 0) || ((((_la - 171)) & ~0x1F) === 0 && ((1 << (_la - 171)) & ((1 << (PostgreSQLParser.KW_CSV - 171)) | (1 << (PostgreSQLParser.KW_CURSOR - 171)) | (1 << (PostgreSQLParser.KW_CYCLE - 171)) | (1 << (PostgreSQLParser.KW_DATA - 171)) | (1 << (PostgreSQLParser.KW_DATABASE - 171)) | (1 << (PostgreSQLParser.KW_DAY - 171)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 171)) | (1 << (PostgreSQLParser.KW_DECLARE - 171)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 171)) | (1 << (PostgreSQLParser.KW_DEFERRED - 171)) | (1 << (PostgreSQLParser.KW_DEFINER - 171)) | (1 << (PostgreSQLParser.KW_DELETE - 171)) | (1 << (PostgreSQLParser.KW_DELIMITER - 171)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 171)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 171)) | (1 << (PostgreSQLParser.KW_DISABLE - 171)) | (1 << (PostgreSQLParser.KW_DISCARD - 171)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 171)) | (1 << (PostgreSQLParser.KW_DOMAIN - 171)) | (1 << (PostgreSQLParser.KW_DOUBLE - 171)) | (1 << (PostgreSQLParser.KW_DROP - 171)) | (1 << (PostgreSQLParser.KW_EACH - 171)) | (1 << (PostgreSQLParser.KW_ENABLE - 171)) | (1 << (PostgreSQLParser.KW_ENCODING - 171)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 171)) | (1 << (PostgreSQLParser.KW_ENUM - 171)) | (1 << (PostgreSQLParser.KW_ESCAPE - 171)) | (1 << (PostgreSQLParser.KW_EVENT - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 171)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 171)) | (1 << (PostgreSQLParser.KW_EXECUTE - 171)))) !== 0) || ((((_la - 203)) & ~0x1F) === 0 && ((1 << (_la - 203)) & ((1 << (PostgreSQLParser.KW_EXPLAIN - 203)) | (1 << (PostgreSQLParser.KW_EXTENSION - 203)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 203)) | (1 << (PostgreSQLParser.KW_FAMILY - 203)) | (1 << (PostgreSQLParser.KW_FIRST - 203)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 203)) | (1 << (PostgreSQLParser.KW_FORCE - 203)) | (1 << (PostgreSQLParser.KW_FORWARD - 203)) | (1 << (PostgreSQLParser.KW_FUNCTION - 203)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 203)) | (1 << (PostgreSQLParser.KW_GLOBAL - 203)) | (1 << (PostgreSQLParser.KW_GRANTED - 203)) | (1 << (PostgreSQLParser.KW_HANDLER - 203)) | (1 << (PostgreSQLParser.KW_HEADER - 203)) | (1 << (PostgreSQLParser.KW_HOLD - 203)) | (1 << (PostgreSQLParser.KW_HOUR - 203)) | (1 << (PostgreSQLParser.KW_IDENTITY - 203)) | (1 << (PostgreSQLParser.KW_IF - 203)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 203)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 203)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 203)) | (1 << (PostgreSQLParser.KW_INCLUDING - 203)) | (1 << (PostgreSQLParser.KW_INCREMENT - 203)) | (1 << (PostgreSQLParser.KW_INDEX - 203)) | (1 << (PostgreSQLParser.KW_INDEXES - 203)) | (1 << (PostgreSQLParser.KW_INHERIT - 203)))) !== 0) || ((((_la - 238)) & ~0x1F) === 0 && ((1 << (_la - 238)) & ((1 << (PostgreSQLParser.KW_INHERITS - 238)) | (1 << (PostgreSQLParser.KW_INLINE - 238)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 238)) | (1 << (PostgreSQLParser.KW_INSERT - 238)) | (1 << (PostgreSQLParser.KW_INSTEAD - 238)) | (1 << (PostgreSQLParser.KW_INVOKER - 238)) | (1 << (PostgreSQLParser.KW_ISOLATION - 238)) | (1 << (PostgreSQLParser.KW_KEY - 238)) | (1 << (PostgreSQLParser.KW_LABEL - 238)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 238)) | (1 << (PostgreSQLParser.KW_LARGE - 238)) | (1 << (PostgreSQLParser.KW_LAST - 238)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 238)) | (1 << (PostgreSQLParser.KW_LEVEL - 238)) | (1 << (PostgreSQLParser.KW_LISTEN - 238)) | (1 << (PostgreSQLParser.KW_LOAD - 238)) | (1 << (PostgreSQLParser.KW_LOCAL - 238)) | (1 << (PostgreSQLParser.KW_LOCATION - 238)) | (1 << (PostgreSQLParser.KW_LOCK - 238)) | (1 << (PostgreSQLParser.KW_MAPPING - 238)) | (1 << (PostgreSQLParser.KW_MATCH - 238)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 238)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 238)) | (1 << (PostgreSQLParser.KW_MINUTE - 238)) | (1 << (PostgreSQLParser.KW_MINVALUE - 238)) | (1 << (PostgreSQLParser.KW_MODE - 238)) | (1 << (PostgreSQLParser.KW_MONTH - 238)) | (1 << (PostgreSQLParser.KW_MOVE - 238)) | (1 << (PostgreSQLParser.KW_NAME - 238)) | (1 << (PostgreSQLParser.KW_NAMES - 238)) | (1 << (PostgreSQLParser.KW_NEXT - 238)) | (1 << (PostgreSQLParser.KW_NO - 238)))) !== 0) || ((((_la - 270)) & ~0x1F) === 0 && ((1 << (_la - 270)) & ((1 << (PostgreSQLParser.KW_NOTHING - 270)) | (1 << (PostgreSQLParser.KW_NOTIFY - 270)) | (1 << (PostgreSQLParser.KW_NOWAIT - 270)) | (1 << (PostgreSQLParser.KW_NULLS - 270)) | (1 << (PostgreSQLParser.KW_OBJECT - 270)) | (1 << (PostgreSQLParser.KW_OF - 270)) | (1 << (PostgreSQLParser.KW_OFF - 270)) | (1 << (PostgreSQLParser.KW_OIDS - 270)) | (1 << (PostgreSQLParser.KW_OPERATOR - 270)) | (1 << (PostgreSQLParser.KW_OPTION - 270)) | (1 << (PostgreSQLParser.KW_OPTIONS - 270)) | (1 << (PostgreSQLParser.KW_OWNED - 270)) | (1 << (PostgreSQLParser.KW_OWNER - 270)) | (1 << (PostgreSQLParser.KW_PARSER - 270)) | (1 << (PostgreSQLParser.KW_PARTIAL - 270)) | (1 << (PostgreSQLParser.KW_PARTITION - 270)) | (1 << (PostgreSQLParser.KW_PASSING - 270)) | (1 << (PostgreSQLParser.KW_PASSWORD - 270)) | (1 << (PostgreSQLParser.KW_PLANS - 270)) | (1 << (PostgreSQLParser.KW_PRECEDING - 270)) | (1 << (PostgreSQLParser.KW_PREPARE - 270)) | (1 << (PostgreSQLParser.KW_PREPARED - 270)) | (1 << (PostgreSQLParser.KW_PRESERVE - 270)) | (1 << (PostgreSQLParser.KW_PRIOR - 270)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 270)) | (1 << (PostgreSQLParser.KW_PROGRAM - 270)) | (1 << (PostgreSQLParser.KW_QUOTE - 270)) | (1 << (PostgreSQLParser.KW_RANGE - 270)) | (1 << (PostgreSQLParser.KW_READ - 270)) | (1 << (PostgreSQLParser.KW_REASSIGN - 270)))) !== 0) || ((((_la - 302)) & ~0x1F) === 0 && ((1 << (_la - 302)) & ((1 << (PostgreSQLParser.KW_RECHECK - 302)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 302)) | (1 << (PostgreSQLParser.KW_REF - 302)) | (1 << (PostgreSQLParser.KW_REFRESH - 302)) | (1 << (PostgreSQLParser.KW_REINDEX - 302)) | (1 << (PostgreSQLParser.KW_RELATIVE - 302)) | (1 << (PostgreSQLParser.KW_RELEASE - 302)) | (1 << (PostgreSQLParser.KW_RENAME - 302)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 302)) | (1 << (PostgreSQLParser.KW_REPLACE - 302)) | (1 << (PostgreSQLParser.KW_REPLICA - 302)) | (1 << (PostgreSQLParser.KW_RESET - 302)) | (1 << (PostgreSQLParser.KW_RESTART - 302)) | (1 << (PostgreSQLParser.KW_RESTRICT - 302)) | (1 << (PostgreSQLParser.KW_RETURNS - 302)) | (1 << (PostgreSQLParser.KW_REVOKE - 302)) | (1 << (PostgreSQLParser.KW_ROLE - 302)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 302)) | (1 << (PostgreSQLParser.KW_ROWS - 302)) | (1 << (PostgreSQLParser.KW_RULE - 302)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 302)) | (1 << (PostgreSQLParser.KW_SCHEMA - 302)) | (1 << (PostgreSQLParser.KW_SCROLL - 302)) | (1 << (PostgreSQLParser.KW_SEARCH - 302)) | (1 << (PostgreSQLParser.KW_SECOND - 302)) | (1 << (PostgreSQLParser.KW_SECURITY - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 302)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 302)) | (1 << (PostgreSQLParser.KW_SERVER - 302)) | (1 << (PostgreSQLParser.KW_SESSION - 302)) | (1 << (PostgreSQLParser.KW_SET - 302)))) !== 0) || ((((_la - 334)) & ~0x1F) === 0 && ((1 << (_la - 334)) & ((1 << (PostgreSQLParser.KW_SHARE - 334)) | (1 << (PostgreSQLParser.KW_SHOW - 334)) | (1 << (PostgreSQLParser.KW_SIMPLE - 334)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 334)) | (1 << (PostgreSQLParser.KW_STABLE - 334)) | (1 << (PostgreSQLParser.KW_STANDALONE - 334)) | (1 << (PostgreSQLParser.KW_START - 334)) | (1 << (PostgreSQLParser.KW_STATEMENT - 334)) | (1 << (PostgreSQLParser.KW_STATISTICS - 334)) | (1 << (PostgreSQLParser.KW_STDIN - 334)) | (1 << (PostgreSQLParser.KW_STDOUT - 334)) | (1 << (PostgreSQLParser.KW_STORAGE - 334)) | (1 << (PostgreSQLParser.KW_STRICT - 334)) | (1 << (PostgreSQLParser.KW_STRIP - 334)) | (1 << (PostgreSQLParser.KW_SYSID - 334)) | (1 << (PostgreSQLParser.KW_SYSTEM - 334)) | (1 << (PostgreSQLParser.KW_TABLES - 334)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 334)) | (1 << (PostgreSQLParser.KW_TEMP - 334)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 334)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 334)) | (1 << (PostgreSQLParser.KW_TEXT - 334)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 334)) | (1 << (PostgreSQLParser.KW_TRIGGER - 334)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 334)) | (1 << (PostgreSQLParser.KW_TRUSTED - 334)) | (1 << (PostgreSQLParser.KW_TYPE - 334)) | (1 << (PostgreSQLParser.KW_TYPES - 334)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 334)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 334)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 334)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 334)))) !== 0) || ((((_la - 366)) & ~0x1F) === 0 && ((1 << (_la - 366)) & ((1 << (PostgreSQLParser.KW_UNLISTEN - 366)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 366)) | (1 << (PostgreSQLParser.KW_UNTIL - 366)) | (1 << (PostgreSQLParser.KW_UPDATE - 366)) | (1 << (PostgreSQLParser.KW_VACUUM - 366)) | (1 << (PostgreSQLParser.KW_VALID - 366)) | (1 << (PostgreSQLParser.KW_VALIDATE - 366)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 366)) | (1 << (PostgreSQLParser.KW_VARYING - 366)) | (1 << (PostgreSQLParser.KW_VERSION - 366)) | (1 << (PostgreSQLParser.KW_VIEW - 366)) | (1 << (PostgreSQLParser.KW_VOLATILE - 366)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 366)) | (1 << (PostgreSQLParser.KW_WITHOUT - 366)) | (1 << (PostgreSQLParser.KW_WORK - 366)) | (1 << (PostgreSQLParser.KW_WRAPPER - 366)) | (1 << (PostgreSQLParser.KW_WRITE - 366)) | (1 << (PostgreSQLParser.KW_XML - 366)) | (1 << (PostgreSQLParser.KW_YEAR - 366)) | (1 << (PostgreSQLParser.KW_YES - 366)) | (1 << (PostgreSQLParser.KW_ZONE - 366)) | (1 << (PostgreSQLParser.KW_BETWEEN - 366)) | (1 << (PostgreSQLParser.KW_BIGINT - 366)) | (1 << (PostgreSQLParser.KW_BIT - 366)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 366)) | (1 << (PostgreSQLParser.KW_CHAR - 366)) | (1 << (PostgreSQLParser.KW_CHARACTER - 366)) | (1 << (PostgreSQLParser.KW_COALESCE - 366)) | (1 << (PostgreSQLParser.KW_DEC - 366)) | (1 << (PostgreSQLParser.KW_DECIMAL - 366)) | (1 << (PostgreSQLParser.KW_EXISTS - 366)) | (1 << (PostgreSQLParser.KW_EXTRACT - 366)))) !== 0) || ((((_la - 398)) & ~0x1F) === 0 && ((1 << (_la - 398)) & ((1 << (PostgreSQLParser.KW_FLOAT - 398)) | (1 << (PostgreSQLParser.KW_GREATEST - 398)) | (1 << (PostgreSQLParser.KW_INOUT - 398)) | (1 << (PostgreSQLParser.KW_INT - 398)) | (1 << (PostgreSQLParser.KW_INTEGER - 398)) | (1 << (PostgreSQLParser.KW_INTERVAL - 398)) | (1 << (PostgreSQLParser.KW_LEAST - 398)) | (1 << (PostgreSQLParser.KW_NATIONAL - 398)) | (1 << (PostgreSQLParser.KW_NCHAR - 398)) | (1 << (PostgreSQLParser.KW_NONE - 398)) | (1 << (PostgreSQLParser.KW_NULLIF - 398)) | (1 << (PostgreSQLParser.KW_NUMERIC - 398)) | (1 << (PostgreSQLParser.KW_OVERLAY - 398)) | (1 << (PostgreSQLParser.KW_POSITION - 398)) | (1 << (PostgreSQLParser.KW_PRECISION - 398)) | (1 << (PostgreSQLParser.KW_REAL - 398)) | (1 << (PostgreSQLParser.KW_ROW - 398)) | (1 << (PostgreSQLParser.KW_SETOF - 398)) | (1 << (PostgreSQLParser.KW_SMALLINT - 398)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 398)) | (1 << (PostgreSQLParser.KW_TIME - 398)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 398)) | (1 << (PostgreSQLParser.KW_TREAT - 398)) | (1 << (PostgreSQLParser.KW_TRIM - 398)) | (1 << (PostgreSQLParser.KW_VALUES - 398)) | (1 << (PostgreSQLParser.KW_VARCHAR - 398)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 398)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 398)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 398)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 398)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 398)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 398)))) !== 0) || ((((_la - 430)) & ~0x1F) === 0 && ((1 << (_la - 430)) & ((1 << (PostgreSQLParser.KW_XMLPI - 430)) | (1 << (PostgreSQLParser.KW_XMLROOT - 430)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 430)) | (1 << (PostgreSQLParser.KW_CALL - 430)) | (1 << (PostgreSQLParser.KW_CURRENT - 430)) | (1 << (PostgreSQLParser.KW_ATTACH - 430)) | (1 << (PostgreSQLParser.KW_DETACH - 430)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 430)) | (1 << (PostgreSQLParser.KW_GENERATED - 430)) | (1 << (PostgreSQLParser.KW_LOGGED - 430)) | (1 << (PostgreSQLParser.KW_STORED - 430)) | (1 << (PostgreSQLParser.KW_INCLUDE - 430)) | (1 << (PostgreSQLParser.KW_ROUTINE - 430)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 430)) | (1 << (PostgreSQLParser.KW_IMPORT - 430)) | (1 << (PostgreSQLParser.KW_POLICY - 430)) | (1 << (PostgreSQLParser.KW_METHOD - 430)) | (1 << (PostgreSQLParser.KW_REFERENCING - 430)) | (1 << (PostgreSQLParser.KW_NEW - 430)) | (1 << (PostgreSQLParser.KW_OLD - 430)) | (1 << (PostgreSQLParser.KW_VALUE - 430)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 430)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 430)) | (1 << (PostgreSQLParser.KW_OUT - 430)) | (1 << (PostgreSQLParser.KW_ROUTINES - 430)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 430)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 430)) | (1 << (PostgreSQLParser.KW_INPUT - 430)) | (1 << (PostgreSQLParser.KW_SUPPORT - 430)) | (1 << (PostgreSQLParser.KW_PARALLEL - 430)) | (1 << (PostgreSQLParser.KW_SQL - 430)))) !== 0) || ((((_la - 462)) & ~0x1F) === 0 && ((1 << (_la - 462)) & ((1 << (PostgreSQLParser.KW_DEPENDS - 462)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 462)) | (1 << (PostgreSQLParser.KW_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_SKIP - 462)) | (1 << (PostgreSQLParser.KW_LOCKED - 462)) | (1 << (PostgreSQLParser.KW_TIES - 462)) | (1 << (PostgreSQLParser.KW_ROLLUP - 462)) | (1 << (PostgreSQLParser.KW_CUBE - 462)) | (1 << (PostgreSQLParser.KW_GROUPING - 462)) | (1 << (PostgreSQLParser.KW_SETS - 462)) | (1 << (PostgreSQLParser.KW_TABLESAMPLE - 462)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 462)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 462)) | (1 << (PostgreSQLParser.KW_COLUMNS - 462)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 462)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 462)) | (1 << (PostgreSQLParser.KW_WITHIN - 462)) | (1 << (PostgreSQLParser.KW_FILTER - 462)) | (1 << (PostgreSQLParser.KW_GROUPS - 462)) | (1 << (PostgreSQLParser.KW_OTHERS - 462)) | (1 << (PostgreSQLParser.KW_NFC - 462)) | (1 << (PostgreSQLParser.KW_NFD - 462)) | (1 << (PostgreSQLParser.KW_NFKC - 462)) | (1 << (PostgreSQLParser.KW_NFKD - 462)) | (1 << (PostgreSQLParser.KW_UESCAPE - 462)) | (1 << (PostgreSQLParser.KW_VIEWS - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 462)) | (1 << (PostgreSQLParser.KW_DUMP - 462)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 462)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_ERROR - 462)))) !== 0) || ((((_la - 494)) & ~0x1F) === 0 && ((1 << (_la - 494)) & ((1 << (PostgreSQLParser.KW_USE_VARIABLE - 494)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 494)) | (1 << (PostgreSQLParser.KW_ALIAS - 494)) | (1 << (PostgreSQLParser.KW_CONSTANT - 494)) | (1 << (PostgreSQLParser.KW_PERFORM - 494)) | (1 << (PostgreSQLParser.KW_GET - 494)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 494)) | (1 << (PostgreSQLParser.KW_STACKED - 494)) | (1 << (PostgreSQLParser.KW_ELSIF - 494)) | (1 << (PostgreSQLParser.KW_REVERSE - 494)) | (1 << (PostgreSQLParser.KW_SLICE - 494)) | (1 << (PostgreSQLParser.KW_EXIT - 494)) | (1 << (PostgreSQLParser.KW_RETURN - 494)) | (1 << (PostgreSQLParser.KW_QUERY - 494)) | (1 << (PostgreSQLParser.KW_RAISE - 494)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 494)) | (1 << (PostgreSQLParser.KW_DEBUG - 494)) | (1 << (PostgreSQLParser.KW_LOG - 494)) | (1 << (PostgreSQLParser.KW_INFO - 494)) | (1 << (PostgreSQLParser.KW_NOTICE - 494)) | (1 << (PostgreSQLParser.KW_WARNING - 494)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 494)) | (1 << (PostgreSQLParser.KW_ASSERT - 494)) | (1 << (PostgreSQLParser.KW_OPEN - 494)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.BinaryStringConstant - 547)) | (1 << (PostgreSQLParser.HexadecimalStringConstant - 547)) | (1 << (PostgreSQLParser.Integral - 547)) | (1 << (PostgreSQLParser.Numeric - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 10387; this.expr_list(); } } this.state = 10390; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case PostgreSQLParser.OPEN_PAREN: this.enterOuterAlt(_localctx, 2); { this.state = 10391; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10392; this.expr_list(); this.state = 10393; this.match(PostgreSQLParser.COMMA); this.state = 10394; this.a_expr(); this.state = 10395; this.match(PostgreSQLParser.CLOSE_PAREN); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public explicit_row(): Explicit_rowContext { let _localctx: Explicit_rowContext = new Explicit_rowContext(this._ctx, this.state); this.enterRule(_localctx, 1314, PostgreSQLParser.RULE_explicit_row); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10399; this.match(PostgreSQLParser.KW_ROW); this.state = 10400; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10402; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.OPEN_PAREN) | (1 << PostgreSQLParser.PLUS) | (1 << PostgreSQLParser.MINUS) | (1 << PostgreSQLParser.PARAM) | (1 << PostgreSQLParser.Operator))) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_CASE - 33)) | (1 << (PostgreSQLParser.KW_CAST - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_CATALOG - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_DATE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_ROLE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIME - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIMESTAMP - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_USER - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FALSE - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 75)) & ~0x1F) === 0 && ((1 << (_la - 75)) & ((1 << (PostgreSQLParser.KW_LOCALTIME - 75)) | (1 << (PostgreSQLParser.KW_LOCALTIMESTAMP - 75)) | (1 << (PostgreSQLParser.KW_NOT - 75)) | (1 << (PostgreSQLParser.KW_NULL - 75)) | (1 << (PostgreSQLParser.KW_SESSION_USER - 75)) | (1 << (PostgreSQLParser.KW_TABLE - 75)) | (1 << (PostgreSQLParser.KW_TRUE - 75)) | (1 << (PostgreSQLParser.KW_UNIQUE - 75)) | (1 << (PostgreSQLParser.KW_USER - 75)) | (1 << (PostgreSQLParser.KW_AUTHORIZATION - 75)))) !== 0) || ((((_la - 107)) & ~0x1F) === 0 && ((1 << (_la - 107)) & ((1 << (PostgreSQLParser.KW_BINARY - 107)) | (1 << (PostgreSQLParser.KW_COLLATION - 107)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 107)) | (1 << (PostgreSQLParser.KW_CROSS - 107)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 107)) | (1 << (PostgreSQLParser.KW_FREEZE - 107)) | (1 << (PostgreSQLParser.KW_FULL - 107)) | (1 << (PostgreSQLParser.KW_ILIKE - 107)) | (1 << (PostgreSQLParser.KW_INNER - 107)) | (1 << (PostgreSQLParser.KW_IS - 107)) | (1 << (PostgreSQLParser.KW_ISNULL - 107)) | (1 << (PostgreSQLParser.KW_JOIN - 107)) | (1 << (PostgreSQLParser.KW_LEFT - 107)) | (1 << (PostgreSQLParser.KW_LIKE - 107)) | (1 << (PostgreSQLParser.KW_NATURAL - 107)) | (1 << (PostgreSQLParser.KW_NOTNULL - 107)) | (1 << (PostgreSQLParser.KW_OUTER - 107)) | (1 << (PostgreSQLParser.KW_OVER - 107)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 107)) | (1 << (PostgreSQLParser.KW_RIGHT - 107)) | (1 << (PostgreSQLParser.KW_SIMILAR - 107)) | (1 << (PostgreSQLParser.KW_VERBOSE - 107)) | (1 << (PostgreSQLParser.KW_ABORT - 107)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 107)) | (1 << (PostgreSQLParser.KW_ACCESS - 107)) | (1 << (PostgreSQLParser.KW_ACTION - 107)) | (1 << (PostgreSQLParser.KW_ADD - 107)) | (1 << (PostgreSQLParser.KW_ADMIN - 107)) | (1 << (PostgreSQLParser.KW_AFTER - 107)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 107)) | (1 << (PostgreSQLParser.KW_ALSO - 107)) | (1 << (PostgreSQLParser.KW_ALTER - 107)))) !== 0) || ((((_la - 139)) & ~0x1F) === 0 && ((1 << (_la - 139)) & ((1 << (PostgreSQLParser.KW_ALWAYS - 139)) | (1 << (PostgreSQLParser.KW_ASSERTION - 139)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 139)) | (1 << (PostgreSQLParser.KW_AT - 139)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 139)) | (1 << (PostgreSQLParser.KW_BACKWARD - 139)) | (1 << (PostgreSQLParser.KW_BEFORE - 139)) | (1 << (PostgreSQLParser.KW_BEGIN - 139)) | (1 << (PostgreSQLParser.KW_BY - 139)) | (1 << (PostgreSQLParser.KW_CACHE - 139)) | (1 << (PostgreSQLParser.KW_CALLED - 139)) | (1 << (PostgreSQLParser.KW_CASCADE - 139)) | (1 << (PostgreSQLParser.KW_CASCADED - 139)) | (1 << (PostgreSQLParser.KW_CATALOG - 139)) | (1 << (PostgreSQLParser.KW_CHAIN - 139)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 139)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 139)) | (1 << (PostgreSQLParser.KW_CLASS - 139)) | (1 << (PostgreSQLParser.KW_CLOSE - 139)) | (1 << (PostgreSQLParser.KW_CLUSTER - 139)) | (1 << (PostgreSQLParser.KW_COMMENT - 139)) | (1 << (PostgreSQLParser.KW_COMMENTS - 139)) | (1 << (PostgreSQLParser.KW_COMMIT - 139)) | (1 << (PostgreSQLParser.KW_COMMITTED - 139)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 139)) | (1 << (PostgreSQLParser.KW_CONNECTION - 139)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 139)) | (1 << (PostgreSQLParser.KW_CONTENT - 139)) | (1 << (PostgreSQLParser.KW_CONTINUE - 139)) | (1 << (PostgreSQLParser.KW_CONVERSION - 139)) | (1 << (PostgreSQLParser.KW_COPY - 139)) | (1 << (PostgreSQLParser.KW_COST - 139)))) !== 0) || ((((_la - 171)) & ~0x1F) === 0 && ((1 << (_la - 171)) & ((1 << (PostgreSQLParser.KW_CSV - 171)) | (1 << (PostgreSQLParser.KW_CURSOR - 171)) | (1 << (PostgreSQLParser.KW_CYCLE - 171)) | (1 << (PostgreSQLParser.KW_DATA - 171)) | (1 << (PostgreSQLParser.KW_DATABASE - 171)) | (1 << (PostgreSQLParser.KW_DAY - 171)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 171)) | (1 << (PostgreSQLParser.KW_DECLARE - 171)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 171)) | (1 << (PostgreSQLParser.KW_DEFERRED - 171)) | (1 << (PostgreSQLParser.KW_DEFINER - 171)) | (1 << (PostgreSQLParser.KW_DELETE - 171)) | (1 << (PostgreSQLParser.KW_DELIMITER - 171)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 171)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 171)) | (1 << (PostgreSQLParser.KW_DISABLE - 171)) | (1 << (PostgreSQLParser.KW_DISCARD - 171)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 171)) | (1 << (PostgreSQLParser.KW_DOMAIN - 171)) | (1 << (PostgreSQLParser.KW_DOUBLE - 171)) | (1 << (PostgreSQLParser.KW_DROP - 171)) | (1 << (PostgreSQLParser.KW_EACH - 171)) | (1 << (PostgreSQLParser.KW_ENABLE - 171)) | (1 << (PostgreSQLParser.KW_ENCODING - 171)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 171)) | (1 << (PostgreSQLParser.KW_ENUM - 171)) | (1 << (PostgreSQLParser.KW_ESCAPE - 171)) | (1 << (PostgreSQLParser.KW_EVENT - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 171)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 171)) | (1 << (PostgreSQLParser.KW_EXECUTE - 171)))) !== 0) || ((((_la - 203)) & ~0x1F) === 0 && ((1 << (_la - 203)) & ((1 << (PostgreSQLParser.KW_EXPLAIN - 203)) | (1 << (PostgreSQLParser.KW_EXTENSION - 203)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 203)) | (1 << (PostgreSQLParser.KW_FAMILY - 203)) | (1 << (PostgreSQLParser.KW_FIRST - 203)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 203)) | (1 << (PostgreSQLParser.KW_FORCE - 203)) | (1 << (PostgreSQLParser.KW_FORWARD - 203)) | (1 << (PostgreSQLParser.KW_FUNCTION - 203)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 203)) | (1 << (PostgreSQLParser.KW_GLOBAL - 203)) | (1 << (PostgreSQLParser.KW_GRANTED - 203)) | (1 << (PostgreSQLParser.KW_HANDLER - 203)) | (1 << (PostgreSQLParser.KW_HEADER - 203)) | (1 << (PostgreSQLParser.KW_HOLD - 203)) | (1 << (PostgreSQLParser.KW_HOUR - 203)) | (1 << (PostgreSQLParser.KW_IDENTITY - 203)) | (1 << (PostgreSQLParser.KW_IF - 203)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 203)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 203)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 203)) | (1 << (PostgreSQLParser.KW_INCLUDING - 203)) | (1 << (PostgreSQLParser.KW_INCREMENT - 203)) | (1 << (PostgreSQLParser.KW_INDEX - 203)) | (1 << (PostgreSQLParser.KW_INDEXES - 203)) | (1 << (PostgreSQLParser.KW_INHERIT - 203)))) !== 0) || ((((_la - 238)) & ~0x1F) === 0 && ((1 << (_la - 238)) & ((1 << (PostgreSQLParser.KW_INHERITS - 238)) | (1 << (PostgreSQLParser.KW_INLINE - 238)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 238)) | (1 << (PostgreSQLParser.KW_INSERT - 238)) | (1 << (PostgreSQLParser.KW_INSTEAD - 238)) | (1 << (PostgreSQLParser.KW_INVOKER - 238)) | (1 << (PostgreSQLParser.KW_ISOLATION - 238)) | (1 << (PostgreSQLParser.KW_KEY - 238)) | (1 << (PostgreSQLParser.KW_LABEL - 238)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 238)) | (1 << (PostgreSQLParser.KW_LARGE - 238)) | (1 << (PostgreSQLParser.KW_LAST - 238)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 238)) | (1 << (PostgreSQLParser.KW_LEVEL - 238)) | (1 << (PostgreSQLParser.KW_LISTEN - 238)) | (1 << (PostgreSQLParser.KW_LOAD - 238)) | (1 << (PostgreSQLParser.KW_LOCAL - 238)) | (1 << (PostgreSQLParser.KW_LOCATION - 238)) | (1 << (PostgreSQLParser.KW_LOCK - 238)) | (1 << (PostgreSQLParser.KW_MAPPING - 238)) | (1 << (PostgreSQLParser.KW_MATCH - 238)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 238)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 238)) | (1 << (PostgreSQLParser.KW_MINUTE - 238)) | (1 << (PostgreSQLParser.KW_MINVALUE - 238)) | (1 << (PostgreSQLParser.KW_MODE - 238)) | (1 << (PostgreSQLParser.KW_MONTH - 238)) | (1 << (PostgreSQLParser.KW_MOVE - 238)) | (1 << (PostgreSQLParser.KW_NAME - 238)) | (1 << (PostgreSQLParser.KW_NAMES - 238)) | (1 << (PostgreSQLParser.KW_NEXT - 238)) | (1 << (PostgreSQLParser.KW_NO - 238)))) !== 0) || ((((_la - 270)) & ~0x1F) === 0 && ((1 << (_la - 270)) & ((1 << (PostgreSQLParser.KW_NOTHING - 270)) | (1 << (PostgreSQLParser.KW_NOTIFY - 270)) | (1 << (PostgreSQLParser.KW_NOWAIT - 270)) | (1 << (PostgreSQLParser.KW_NULLS - 270)) | (1 << (PostgreSQLParser.KW_OBJECT - 270)) | (1 << (PostgreSQLParser.KW_OF - 270)) | (1 << (PostgreSQLParser.KW_OFF - 270)) | (1 << (PostgreSQLParser.KW_OIDS - 270)) | (1 << (PostgreSQLParser.KW_OPERATOR - 270)) | (1 << (PostgreSQLParser.KW_OPTION - 270)) | (1 << (PostgreSQLParser.KW_OPTIONS - 270)) | (1 << (PostgreSQLParser.KW_OWNED - 270)) | (1 << (PostgreSQLParser.KW_OWNER - 270)) | (1 << (PostgreSQLParser.KW_PARSER - 270)) | (1 << (PostgreSQLParser.KW_PARTIAL - 270)) | (1 << (PostgreSQLParser.KW_PARTITION - 270)) | (1 << (PostgreSQLParser.KW_PASSING - 270)) | (1 << (PostgreSQLParser.KW_PASSWORD - 270)) | (1 << (PostgreSQLParser.KW_PLANS - 270)) | (1 << (PostgreSQLParser.KW_PRECEDING - 270)) | (1 << (PostgreSQLParser.KW_PREPARE - 270)) | (1 << (PostgreSQLParser.KW_PREPARED - 270)) | (1 << (PostgreSQLParser.KW_PRESERVE - 270)) | (1 << (PostgreSQLParser.KW_PRIOR - 270)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 270)) | (1 << (PostgreSQLParser.KW_PROGRAM - 270)) | (1 << (PostgreSQLParser.KW_QUOTE - 270)) | (1 << (PostgreSQLParser.KW_RANGE - 270)) | (1 << (PostgreSQLParser.KW_READ - 270)) | (1 << (PostgreSQLParser.KW_REASSIGN - 270)))) !== 0) || ((((_la - 302)) & ~0x1F) === 0 && ((1 << (_la - 302)) & ((1 << (PostgreSQLParser.KW_RECHECK - 302)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 302)) | (1 << (PostgreSQLParser.KW_REF - 302)) | (1 << (PostgreSQLParser.KW_REFRESH - 302)) | (1 << (PostgreSQLParser.KW_REINDEX - 302)) | (1 << (PostgreSQLParser.KW_RELATIVE - 302)) | (1 << (PostgreSQLParser.KW_RELEASE - 302)) | (1 << (PostgreSQLParser.KW_RENAME - 302)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 302)) | (1 << (PostgreSQLParser.KW_REPLACE - 302)) | (1 << (PostgreSQLParser.KW_REPLICA - 302)) | (1 << (PostgreSQLParser.KW_RESET - 302)) | (1 << (PostgreSQLParser.KW_RESTART - 302)) | (1 << (PostgreSQLParser.KW_RESTRICT - 302)) | (1 << (PostgreSQLParser.KW_RETURNS - 302)) | (1 << (PostgreSQLParser.KW_REVOKE - 302)) | (1 << (PostgreSQLParser.KW_ROLE - 302)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 302)) | (1 << (PostgreSQLParser.KW_ROWS - 302)) | (1 << (PostgreSQLParser.KW_RULE - 302)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 302)) | (1 << (PostgreSQLParser.KW_SCHEMA - 302)) | (1 << (PostgreSQLParser.KW_SCROLL - 302)) | (1 << (PostgreSQLParser.KW_SEARCH - 302)) | (1 << (PostgreSQLParser.KW_SECOND - 302)) | (1 << (PostgreSQLParser.KW_SECURITY - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 302)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 302)) | (1 << (PostgreSQLParser.KW_SERVER - 302)) | (1 << (PostgreSQLParser.KW_SESSION - 302)) | (1 << (PostgreSQLParser.KW_SET - 302)))) !== 0) || ((((_la - 334)) & ~0x1F) === 0 && ((1 << (_la - 334)) & ((1 << (PostgreSQLParser.KW_SHARE - 334)) | (1 << (PostgreSQLParser.KW_SHOW - 334)) | (1 << (PostgreSQLParser.KW_SIMPLE - 334)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 334)) | (1 << (PostgreSQLParser.KW_STABLE - 334)) | (1 << (PostgreSQLParser.KW_STANDALONE - 334)) | (1 << (PostgreSQLParser.KW_START - 334)) | (1 << (PostgreSQLParser.KW_STATEMENT - 334)) | (1 << (PostgreSQLParser.KW_STATISTICS - 334)) | (1 << (PostgreSQLParser.KW_STDIN - 334)) | (1 << (PostgreSQLParser.KW_STDOUT - 334)) | (1 << (PostgreSQLParser.KW_STORAGE - 334)) | (1 << (PostgreSQLParser.KW_STRICT - 334)) | (1 << (PostgreSQLParser.KW_STRIP - 334)) | (1 << (PostgreSQLParser.KW_SYSID - 334)) | (1 << (PostgreSQLParser.KW_SYSTEM - 334)) | (1 << (PostgreSQLParser.KW_TABLES - 334)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 334)) | (1 << (PostgreSQLParser.KW_TEMP - 334)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 334)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 334)) | (1 << (PostgreSQLParser.KW_TEXT - 334)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 334)) | (1 << (PostgreSQLParser.KW_TRIGGER - 334)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 334)) | (1 << (PostgreSQLParser.KW_TRUSTED - 334)) | (1 << (PostgreSQLParser.KW_TYPE - 334)) | (1 << (PostgreSQLParser.KW_TYPES - 334)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 334)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 334)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 334)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 334)))) !== 0) || ((((_la - 366)) & ~0x1F) === 0 && ((1 << (_la - 366)) & ((1 << (PostgreSQLParser.KW_UNLISTEN - 366)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 366)) | (1 << (PostgreSQLParser.KW_UNTIL - 366)) | (1 << (PostgreSQLParser.KW_UPDATE - 366)) | (1 << (PostgreSQLParser.KW_VACUUM - 366)) | (1 << (PostgreSQLParser.KW_VALID - 366)) | (1 << (PostgreSQLParser.KW_VALIDATE - 366)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 366)) | (1 << (PostgreSQLParser.KW_VARYING - 366)) | (1 << (PostgreSQLParser.KW_VERSION - 366)) | (1 << (PostgreSQLParser.KW_VIEW - 366)) | (1 << (PostgreSQLParser.KW_VOLATILE - 366)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 366)) | (1 << (PostgreSQLParser.KW_WITHOUT - 366)) | (1 << (PostgreSQLParser.KW_WORK - 366)) | (1 << (PostgreSQLParser.KW_WRAPPER - 366)) | (1 << (PostgreSQLParser.KW_WRITE - 366)) | (1 << (PostgreSQLParser.KW_XML - 366)) | (1 << (PostgreSQLParser.KW_YEAR - 366)) | (1 << (PostgreSQLParser.KW_YES - 366)) | (1 << (PostgreSQLParser.KW_ZONE - 366)) | (1 << (PostgreSQLParser.KW_BETWEEN - 366)) | (1 << (PostgreSQLParser.KW_BIGINT - 366)) | (1 << (PostgreSQLParser.KW_BIT - 366)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 366)) | (1 << (PostgreSQLParser.KW_CHAR - 366)) | (1 << (PostgreSQLParser.KW_CHARACTER - 366)) | (1 << (PostgreSQLParser.KW_COALESCE - 366)) | (1 << (PostgreSQLParser.KW_DEC - 366)) | (1 << (PostgreSQLParser.KW_DECIMAL - 366)) | (1 << (PostgreSQLParser.KW_EXISTS - 366)) | (1 << (PostgreSQLParser.KW_EXTRACT - 366)))) !== 0) || ((((_la - 398)) & ~0x1F) === 0 && ((1 << (_la - 398)) & ((1 << (PostgreSQLParser.KW_FLOAT - 398)) | (1 << (PostgreSQLParser.KW_GREATEST - 398)) | (1 << (PostgreSQLParser.KW_INOUT - 398)) | (1 << (PostgreSQLParser.KW_INT - 398)) | (1 << (PostgreSQLParser.KW_INTEGER - 398)) | (1 << (PostgreSQLParser.KW_INTERVAL - 398)) | (1 << (PostgreSQLParser.KW_LEAST - 398)) | (1 << (PostgreSQLParser.KW_NATIONAL - 398)) | (1 << (PostgreSQLParser.KW_NCHAR - 398)) | (1 << (PostgreSQLParser.KW_NONE - 398)) | (1 << (PostgreSQLParser.KW_NULLIF - 398)) | (1 << (PostgreSQLParser.KW_NUMERIC - 398)) | (1 << (PostgreSQLParser.KW_OVERLAY - 398)) | (1 << (PostgreSQLParser.KW_POSITION - 398)) | (1 << (PostgreSQLParser.KW_PRECISION - 398)) | (1 << (PostgreSQLParser.KW_REAL - 398)) | (1 << (PostgreSQLParser.KW_ROW - 398)) | (1 << (PostgreSQLParser.KW_SETOF - 398)) | (1 << (PostgreSQLParser.KW_SMALLINT - 398)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 398)) | (1 << (PostgreSQLParser.KW_TIME - 398)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 398)) | (1 << (PostgreSQLParser.KW_TREAT - 398)) | (1 << (PostgreSQLParser.KW_TRIM - 398)) | (1 << (PostgreSQLParser.KW_VALUES - 398)) | (1 << (PostgreSQLParser.KW_VARCHAR - 398)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 398)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 398)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 398)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 398)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 398)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 398)))) !== 0) || ((((_la - 430)) & ~0x1F) === 0 && ((1 << (_la - 430)) & ((1 << (PostgreSQLParser.KW_XMLPI - 430)) | (1 << (PostgreSQLParser.KW_XMLROOT - 430)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 430)) | (1 << (PostgreSQLParser.KW_CALL - 430)) | (1 << (PostgreSQLParser.KW_CURRENT - 430)) | (1 << (PostgreSQLParser.KW_ATTACH - 430)) | (1 << (PostgreSQLParser.KW_DETACH - 430)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 430)) | (1 << (PostgreSQLParser.KW_GENERATED - 430)) | (1 << (PostgreSQLParser.KW_LOGGED - 430)) | (1 << (PostgreSQLParser.KW_STORED - 430)) | (1 << (PostgreSQLParser.KW_INCLUDE - 430)) | (1 << (PostgreSQLParser.KW_ROUTINE - 430)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 430)) | (1 << (PostgreSQLParser.KW_IMPORT - 430)) | (1 << (PostgreSQLParser.KW_POLICY - 430)) | (1 << (PostgreSQLParser.KW_METHOD - 430)) | (1 << (PostgreSQLParser.KW_REFERENCING - 430)) | (1 << (PostgreSQLParser.KW_NEW - 430)) | (1 << (PostgreSQLParser.KW_OLD - 430)) | (1 << (PostgreSQLParser.KW_VALUE - 430)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 430)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 430)) | (1 << (PostgreSQLParser.KW_OUT - 430)) | (1 << (PostgreSQLParser.KW_ROUTINES - 430)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 430)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 430)) | (1 << (PostgreSQLParser.KW_INPUT - 430)) | (1 << (PostgreSQLParser.KW_SUPPORT - 430)) | (1 << (PostgreSQLParser.KW_PARALLEL - 430)) | (1 << (PostgreSQLParser.KW_SQL - 430)))) !== 0) || ((((_la - 462)) & ~0x1F) === 0 && ((1 << (_la - 462)) & ((1 << (PostgreSQLParser.KW_DEPENDS - 462)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 462)) | (1 << (PostgreSQLParser.KW_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_SKIP - 462)) | (1 << (PostgreSQLParser.KW_LOCKED - 462)) | (1 << (PostgreSQLParser.KW_TIES - 462)) | (1 << (PostgreSQLParser.KW_ROLLUP - 462)) | (1 << (PostgreSQLParser.KW_CUBE - 462)) | (1 << (PostgreSQLParser.KW_GROUPING - 462)) | (1 << (PostgreSQLParser.KW_SETS - 462)) | (1 << (PostgreSQLParser.KW_TABLESAMPLE - 462)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 462)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 462)) | (1 << (PostgreSQLParser.KW_COLUMNS - 462)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 462)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 462)) | (1 << (PostgreSQLParser.KW_WITHIN - 462)) | (1 << (PostgreSQLParser.KW_FILTER - 462)) | (1 << (PostgreSQLParser.KW_GROUPS - 462)) | (1 << (PostgreSQLParser.KW_OTHERS - 462)) | (1 << (PostgreSQLParser.KW_NFC - 462)) | (1 << (PostgreSQLParser.KW_NFD - 462)) | (1 << (PostgreSQLParser.KW_NFKC - 462)) | (1 << (PostgreSQLParser.KW_NFKD - 462)) | (1 << (PostgreSQLParser.KW_UESCAPE - 462)) | (1 << (PostgreSQLParser.KW_VIEWS - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 462)) | (1 << (PostgreSQLParser.KW_DUMP - 462)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 462)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_ERROR - 462)))) !== 0) || ((((_la - 494)) & ~0x1F) === 0 && ((1 << (_la - 494)) & ((1 << (PostgreSQLParser.KW_USE_VARIABLE - 494)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 494)) | (1 << (PostgreSQLParser.KW_ALIAS - 494)) | (1 << (PostgreSQLParser.KW_CONSTANT - 494)) | (1 << (PostgreSQLParser.KW_PERFORM - 494)) | (1 << (PostgreSQLParser.KW_GET - 494)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 494)) | (1 << (PostgreSQLParser.KW_STACKED - 494)) | (1 << (PostgreSQLParser.KW_ELSIF - 494)) | (1 << (PostgreSQLParser.KW_REVERSE - 494)) | (1 << (PostgreSQLParser.KW_SLICE - 494)) | (1 << (PostgreSQLParser.KW_EXIT - 494)) | (1 << (PostgreSQLParser.KW_RETURN - 494)) | (1 << (PostgreSQLParser.KW_QUERY - 494)) | (1 << (PostgreSQLParser.KW_RAISE - 494)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 494)) | (1 << (PostgreSQLParser.KW_DEBUG - 494)) | (1 << (PostgreSQLParser.KW_LOG - 494)) | (1 << (PostgreSQLParser.KW_INFO - 494)) | (1 << (PostgreSQLParser.KW_NOTICE - 494)) | (1 << (PostgreSQLParser.KW_WARNING - 494)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 494)) | (1 << (PostgreSQLParser.KW_ASSERT - 494)) | (1 << (PostgreSQLParser.KW_OPEN - 494)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.BinaryStringConstant - 547)) | (1 << (PostgreSQLParser.HexadecimalStringConstant - 547)) | (1 << (PostgreSQLParser.Integral - 547)) | (1 << (PostgreSQLParser.Numeric - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 10401; this.expr_list(); } } this.state = 10404; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public implicit_row(): Implicit_rowContext { let _localctx: Implicit_rowContext = new Implicit_rowContext(this._ctx, this.state); this.enterRule(_localctx, 1316, PostgreSQLParser.RULE_implicit_row); try { this.enterOuterAlt(_localctx, 1); { this.state = 10406; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10407; this.expr_list(); this.state = 10408; this.match(PostgreSQLParser.COMMA); this.state = 10409; this.a_expr(); this.state = 10410; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public sub_type(): Sub_typeContext { let _localctx: Sub_typeContext = new Sub_typeContext(this._ctx, this.state); this.enterRule(_localctx, 1318, PostgreSQLParser.RULE_sub_type); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10412; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_ALL || _la === PostgreSQLParser.KW_ANY || _la === PostgreSQLParser.KW_SOME)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public all_op(): All_opContext { let _localctx: All_opContext = new All_opContext(this._ctx, this.state); this.enterRule(_localctx, 1320, PostgreSQLParser.RULE_all_op); try { this.state = 10416; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.Operator: this.enterOuterAlt(_localctx, 1); { this.state = 10414; this.match(PostgreSQLParser.Operator); } break; case PostgreSQLParser.STAR: case PostgreSQLParser.EQUAL: case PostgreSQLParser.PLUS: case PostgreSQLParser.MINUS: case PostgreSQLParser.SLASH: case PostgreSQLParser.CARET: case PostgreSQLParser.LT: case PostgreSQLParser.GT: case PostgreSQLParser.LESS_EQUALS: case PostgreSQLParser.GREATER_EQUALS: case PostgreSQLParser.NOT_EQUALS: case PostgreSQLParser.PERCENT: this.enterOuterAlt(_localctx, 2); { this.state = 10415; this.mathop(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public mathop(): MathopContext { let _localctx: MathopContext = new MathopContext(this._ctx, this.state); this.enterRule(_localctx, 1322, PostgreSQLParser.RULE_mathop); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10418; _la = this._input.LA(1); if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.STAR) | (1 << PostgreSQLParser.EQUAL) | (1 << PostgreSQLParser.PLUS) | (1 << PostgreSQLParser.MINUS) | (1 << PostgreSQLParser.SLASH) | (1 << PostgreSQLParser.CARET) | (1 << PostgreSQLParser.LT) | (1 << PostgreSQLParser.GT) | (1 << PostgreSQLParser.LESS_EQUALS) | (1 << PostgreSQLParser.GREATER_EQUALS) | (1 << PostgreSQLParser.NOT_EQUALS) | (1 << PostgreSQLParser.PERCENT))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public qual_op(): Qual_opContext { let _localctx: Qual_opContext = new Qual_opContext(this._ctx, this.state); this.enterRule(_localctx, 1324, PostgreSQLParser.RULE_qual_op); try { this.state = 10426; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.Operator: this.enterOuterAlt(_localctx, 1); { this.state = 10420; this.match(PostgreSQLParser.Operator); } break; case PostgreSQLParser.KW_OPERATOR: this.enterOuterAlt(_localctx, 2); { this.state = 10421; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 10422; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10423; this.any_operator(); this.state = 10424; this.match(PostgreSQLParser.CLOSE_PAREN); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public qual_all_op(): Qual_all_opContext { let _localctx: Qual_all_opContext = new Qual_all_opContext(this._ctx, this.state); this.enterRule(_localctx, 1326, PostgreSQLParser.RULE_qual_all_op); try { this.state = 10434; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.STAR: case PostgreSQLParser.EQUAL: case PostgreSQLParser.PLUS: case PostgreSQLParser.MINUS: case PostgreSQLParser.SLASH: case PostgreSQLParser.CARET: case PostgreSQLParser.LT: case PostgreSQLParser.GT: case PostgreSQLParser.LESS_EQUALS: case PostgreSQLParser.GREATER_EQUALS: case PostgreSQLParser.NOT_EQUALS: case PostgreSQLParser.PERCENT: case PostgreSQLParser.Operator: this.enterOuterAlt(_localctx, 1); { this.state = 10428; this.all_op(); } break; case PostgreSQLParser.KW_OPERATOR: this.enterOuterAlt(_localctx, 2); { this.state = 10429; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 10430; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10431; this.any_operator(); this.state = 10432; this.match(PostgreSQLParser.CLOSE_PAREN); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public subquery_Op(): Subquery_OpContext { let _localctx: Subquery_OpContext = new Subquery_OpContext(this._ctx, this.state); this.enterRule(_localctx, 1328, PostgreSQLParser.RULE_subquery_Op); try { this.state = 10448; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1086, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10436; this.all_op(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10437; this.match(PostgreSQLParser.KW_OPERATOR); this.state = 10438; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10439; this.any_operator(); this.state = 10440; this.match(PostgreSQLParser.CLOSE_PAREN); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10442; this.match(PostgreSQLParser.KW_LIKE); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 10443; this.match(PostgreSQLParser.KW_NOT); this.state = 10444; this.match(PostgreSQLParser.KW_LIKE); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 10445; this.match(PostgreSQLParser.KW_ILIKE); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 10446; this.match(PostgreSQLParser.KW_NOT); this.state = 10447; this.match(PostgreSQLParser.KW_ILIKE); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public expr_list(): Expr_listContext { let _localctx: Expr_listContext = new Expr_listContext(this._ctx, this.state); this.enterRule(_localctx, 1330, PostgreSQLParser.RULE_expr_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 10450; this.a_expr(); this.state = 10455; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1087, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 10451; this.match(PostgreSQLParser.COMMA); this.state = 10452; this.a_expr(); } } } this.state = 10457; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1087, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public column_expr_list_noparen(): Column_expr_list_noparenContext { let _localctx: Column_expr_list_noparenContext = new Column_expr_list_noparenContext(this._ctx, this.state); this.enterRule(_localctx, 1332, PostgreSQLParser.RULE_column_expr_list_noparen); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10458; this.column_expr_noparen(); this.state = 10463; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 10459; this.match(PostgreSQLParser.COMMA); this.state = 10460; this.column_expr_noparen(); } } this.state = 10465; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public column_expr_list(): Column_expr_listContext { let _localctx: Column_expr_listContext = new Column_expr_listContext(this._ctx, this.state); this.enterRule(_localctx, 1334, PostgreSQLParser.RULE_column_expr_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10466; this.column_expr(); this.state = 10471; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 10467; this.match(PostgreSQLParser.COMMA); this.state = 10468; this.column_expr(); } } this.state = 10473; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public column_expr(): Column_exprContext { let _localctx: Column_exprContext = new Column_exprContext(this._ctx, this.state); this.enterRule(_localctx, 1336, PostgreSQLParser.RULE_column_expr); try { this.state = 10479; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 10474; this.column_name(); } break; case PostgreSQLParser.OPEN_PAREN: this.enterOuterAlt(_localctx, 2); { { this.state = 10475; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10476; this.a_expr(); this.state = 10477; this.match(PostgreSQLParser.CLOSE_PAREN); } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public column_expr_noparen(): Column_expr_noparenContext { let _localctx: Column_expr_noparenContext = new Column_expr_noparenContext(this._ctx, this.state); this.enterRule(_localctx, 1338, PostgreSQLParser.RULE_column_expr_noparen); try { this.state = 10483; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1091, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10481; this.column_name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10482; this.a_expr(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_arg_list(): Func_arg_listContext { let _localctx: Func_arg_listContext = new Func_arg_listContext(this._ctx, this.state); this.enterRule(_localctx, 1340, PostgreSQLParser.RULE_func_arg_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 10485; this.func_arg_expr(); this.state = 10490; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1092, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 10486; this.match(PostgreSQLParser.COMMA); this.state = 10487; this.func_arg_expr(); } } } this.state = 10492; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1092, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public func_arg_expr(): Func_arg_exprContext { let _localctx: Func_arg_exprContext = new Func_arg_exprContext(this._ctx, this.state); this.enterRule(_localctx, 1342, PostgreSQLParser.RULE_func_arg_expr); let _la: number; try { this.state = 10498; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1093, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10493; this.a_expr(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10494; this.param_name(); this.state = 10495; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.COLON_EQUALS || _la === PostgreSQLParser.EQUALS_GREATER)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 10496; this.a_expr(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public type_list(): Type_listContext { let _localctx: Type_listContext = new Type_listContext(this._ctx, this.state); this.enterRule(_localctx, 1344, PostgreSQLParser.RULE_type_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10500; this.typename(); this.state = 10505; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 10501; this.match(PostgreSQLParser.COMMA); this.state = 10502; this.typename(); } } this.state = 10507; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public array_expr(): Array_exprContext { let _localctx: Array_exprContext = new Array_exprContext(this._ctx, this.state); this.enterRule(_localctx, 1346, PostgreSQLParser.RULE_array_expr); try { this.enterOuterAlt(_localctx, 1); { this.state = 10508; this.match(PostgreSQLParser.OPEN_BRACKET); this.state = 10511; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: case PostgreSQLParser.PLUS: case PostgreSQLParser.MINUS: case PostgreSQLParser.PARAM: case PostgreSQLParser.Operator: case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_CASE: case PostgreSQLParser.KW_CAST: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_CURRENT_CATALOG: case PostgreSQLParser.KW_CURRENT_DATE: case PostgreSQLParser.KW_CURRENT_ROLE: case PostgreSQLParser.KW_CURRENT_TIME: case PostgreSQLParser.KW_CURRENT_TIMESTAMP: case PostgreSQLParser.KW_CURRENT_USER: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FALSE: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_LOCALTIME: case PostgreSQLParser.KW_LOCALTIMESTAMP: case PostgreSQLParser.KW_NOT: case PostgreSQLParser.KW_NULL: case PostgreSQLParser.KW_SESSION_USER: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_TRUE: case PostgreSQLParser.KW_UNIQUE: case PostgreSQLParser.KW_USER: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.BinaryStringConstant: case PostgreSQLParser.HexadecimalStringConstant: case PostgreSQLParser.Integral: case PostgreSQLParser.Numeric: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 10509; this.expr_list(); } break; case PostgreSQLParser.OPEN_BRACKET: { this.state = 10510; this.array_expr_list(); } break; case PostgreSQLParser.CLOSE_BRACKET: break; default: break; } this.state = 10513; this.match(PostgreSQLParser.CLOSE_BRACKET); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public array_expr_list(): Array_expr_listContext { let _localctx: Array_expr_listContext = new Array_expr_listContext(this._ctx, this.state); this.enterRule(_localctx, 1348, PostgreSQLParser.RULE_array_expr_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10515; this.array_expr(); this.state = 10520; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 10516; this.match(PostgreSQLParser.COMMA); this.state = 10517; this.array_expr(); } } this.state = 10522; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public extract_list(): Extract_listContext { let _localctx: Extract_listContext = new Extract_listContext(this._ctx, this.state); this.enterRule(_localctx, 1350, PostgreSQLParser.RULE_extract_list); try { this.enterOuterAlt(_localctx, 1); { this.state = 10523; this.extract_arg(); this.state = 10524; this.match(PostgreSQLParser.KW_FROM); this.state = 10525; this.a_expr(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public extract_arg(): Extract_argContext { let _localctx: Extract_argContext = new Extract_argContext(this._ctx, this.state); this.enterRule(_localctx, 1352, PostgreSQLParser.RULE_extract_arg); try { this.state = 10535; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1097, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10527; this.identifier(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10528; this.match(PostgreSQLParser.KW_YEAR); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10529; this.match(PostgreSQLParser.KW_MONTH); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 10530; this.match(PostgreSQLParser.KW_DAY); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 10531; this.match(PostgreSQLParser.KW_HOUR); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 10532; this.match(PostgreSQLParser.KW_MINUTE); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 10533; this.match(PostgreSQLParser.KW_SECOND); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 10534; this.sconst(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public unicode_normal_form(): Unicode_normal_formContext { let _localctx: Unicode_normal_formContext = new Unicode_normal_formContext(this._ctx, this.state); this.enterRule(_localctx, 1354, PostgreSQLParser.RULE_unicode_normal_form); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10537; _la = this._input.LA(1); if (!(((((_la - 483)) & ~0x1F) === 0 && ((1 << (_la - 483)) & ((1 << (PostgreSQLParser.KW_NFC - 483)) | (1 << (PostgreSQLParser.KW_NFD - 483)) | (1 << (PostgreSQLParser.KW_NFKC - 483)) | (1 << (PostgreSQLParser.KW_NFKD - 483)))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public overlay_list(): Overlay_listContext { let _localctx: Overlay_listContext = new Overlay_listContext(this._ctx, this.state); this.enterRule(_localctx, 1356, PostgreSQLParser.RULE_overlay_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10539; this.a_expr(); this.state = 10540; this.match(PostgreSQLParser.KW_PLACING); this.state = 10541; this.a_expr(); this.state = 10542; this.match(PostgreSQLParser.KW_FROM); this.state = 10543; this.a_expr(); this.state = 10546; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FOR) { { this.state = 10544; this.match(PostgreSQLParser.KW_FOR); this.state = 10545; this.a_expr(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public position_list(): Position_listContext { let _localctx: Position_listContext = new Position_listContext(this._ctx, this.state); this.enterRule(_localctx, 1358, PostgreSQLParser.RULE_position_list); try { this.enterOuterAlt(_localctx, 1); { this.state = 10548; this.b_expr(0); this.state = 10549; this.match(PostgreSQLParser.KW_IN); this.state = 10550; this.b_expr(0); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public substr_list(): Substr_listContext { let _localctx: Substr_listContext = new Substr_listContext(this._ctx, this.state); this.enterRule(_localctx, 1360, PostgreSQLParser.RULE_substr_list); try { this.state = 10579; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1099, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10552; this.a_expr(); this.state = 10553; this.match(PostgreSQLParser.KW_FROM); this.state = 10554; this.a_expr(); this.state = 10555; this.match(PostgreSQLParser.KW_FOR); this.state = 10556; this.a_expr(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10558; this.a_expr(); this.state = 10559; this.match(PostgreSQLParser.KW_FOR); this.state = 10560; this.a_expr(); this.state = 10561; this.match(PostgreSQLParser.KW_FROM); this.state = 10562; this.a_expr(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10564; this.a_expr(); this.state = 10565; this.match(PostgreSQLParser.KW_FROM); this.state = 10566; this.a_expr(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 10568; this.a_expr(); this.state = 10569; this.match(PostgreSQLParser.KW_FOR); this.state = 10570; this.a_expr(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 10572; this.a_expr(); this.state = 10573; this.match(PostgreSQLParser.KW_SIMILAR); this.state = 10574; this.a_expr(); this.state = 10575; this.match(PostgreSQLParser.KW_ESCAPE); this.state = 10576; this.a_expr(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 10578; this.expr_list(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public trim_list(): Trim_listContext { let _localctx: Trim_listContext = new Trim_listContext(this._ctx, this.state); this.enterRule(_localctx, 1362, PostgreSQLParser.RULE_trim_list); try { this.state = 10588; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1100, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10581; this.a_expr(); this.state = 10582; this.match(PostgreSQLParser.KW_FROM); this.state = 10583; this.expr_list(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10585; this.match(PostgreSQLParser.KW_FROM); this.state = 10586; this.expr_list(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10587; this.expr_list(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public in_expr(): In_exprContext { let _localctx: In_exprContext = new In_exprContext(this._ctx, this.state); this.enterRule(_localctx, 1364, PostgreSQLParser.RULE_in_expr); try { this.state = 10595; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1101, this._ctx) ) { case 1: _localctx = new In_expr_selectContext(_localctx); this.enterOuterAlt(_localctx, 1); { this.state = 10590; this.select_with_parens(); } break; case 2: _localctx = new In_expr_listContext(_localctx); this.enterOuterAlt(_localctx, 2); { this.state = 10591; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10592; this.expr_list(); this.state = 10593; this.match(PostgreSQLParser.CLOSE_PAREN); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public case_expr(): Case_exprContext { let _localctx: Case_exprContext = new Case_exprContext(this._ctx, this.state); this.enterRule(_localctx, 1366, PostgreSQLParser.RULE_case_expr); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10597; this.match(PostgreSQLParser.KW_CASE); this.state = 10599; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.OPEN_PAREN) | (1 << PostgreSQLParser.PLUS) | (1 << PostgreSQLParser.MINUS) | (1 << PostgreSQLParser.PARAM) | (1 << PostgreSQLParser.Operator))) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_CASE - 33)) | (1 << (PostgreSQLParser.KW_CAST - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_CATALOG - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_DATE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_ROLE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIME - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIMESTAMP - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_USER - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FALSE - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 75)) & ~0x1F) === 0 && ((1 << (_la - 75)) & ((1 << (PostgreSQLParser.KW_LOCALTIME - 75)) | (1 << (PostgreSQLParser.KW_LOCALTIMESTAMP - 75)) | (1 << (PostgreSQLParser.KW_NOT - 75)) | (1 << (PostgreSQLParser.KW_NULL - 75)) | (1 << (PostgreSQLParser.KW_SESSION_USER - 75)) | (1 << (PostgreSQLParser.KW_TABLE - 75)) | (1 << (PostgreSQLParser.KW_TRUE - 75)) | (1 << (PostgreSQLParser.KW_UNIQUE - 75)) | (1 << (PostgreSQLParser.KW_USER - 75)) | (1 << (PostgreSQLParser.KW_AUTHORIZATION - 75)))) !== 0) || ((((_la - 107)) & ~0x1F) === 0 && ((1 << (_la - 107)) & ((1 << (PostgreSQLParser.KW_BINARY - 107)) | (1 << (PostgreSQLParser.KW_COLLATION - 107)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 107)) | (1 << (PostgreSQLParser.KW_CROSS - 107)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 107)) | (1 << (PostgreSQLParser.KW_FREEZE - 107)) | (1 << (PostgreSQLParser.KW_FULL - 107)) | (1 << (PostgreSQLParser.KW_ILIKE - 107)) | (1 << (PostgreSQLParser.KW_INNER - 107)) | (1 << (PostgreSQLParser.KW_IS - 107)) | (1 << (PostgreSQLParser.KW_ISNULL - 107)) | (1 << (PostgreSQLParser.KW_JOIN - 107)) | (1 << (PostgreSQLParser.KW_LEFT - 107)) | (1 << (PostgreSQLParser.KW_LIKE - 107)) | (1 << (PostgreSQLParser.KW_NATURAL - 107)) | (1 << (PostgreSQLParser.KW_NOTNULL - 107)) | (1 << (PostgreSQLParser.KW_OUTER - 107)) | (1 << (PostgreSQLParser.KW_OVER - 107)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 107)) | (1 << (PostgreSQLParser.KW_RIGHT - 107)) | (1 << (PostgreSQLParser.KW_SIMILAR - 107)) | (1 << (PostgreSQLParser.KW_VERBOSE - 107)) | (1 << (PostgreSQLParser.KW_ABORT - 107)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 107)) | (1 << (PostgreSQLParser.KW_ACCESS - 107)) | (1 << (PostgreSQLParser.KW_ACTION - 107)) | (1 << (PostgreSQLParser.KW_ADD - 107)) | (1 << (PostgreSQLParser.KW_ADMIN - 107)) | (1 << (PostgreSQLParser.KW_AFTER - 107)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 107)) | (1 << (PostgreSQLParser.KW_ALSO - 107)) | (1 << (PostgreSQLParser.KW_ALTER - 107)))) !== 0) || ((((_la - 139)) & ~0x1F) === 0 && ((1 << (_la - 139)) & ((1 << (PostgreSQLParser.KW_ALWAYS - 139)) | (1 << (PostgreSQLParser.KW_ASSERTION - 139)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 139)) | (1 << (PostgreSQLParser.KW_AT - 139)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 139)) | (1 << (PostgreSQLParser.KW_BACKWARD - 139)) | (1 << (PostgreSQLParser.KW_BEFORE - 139)) | (1 << (PostgreSQLParser.KW_BEGIN - 139)) | (1 << (PostgreSQLParser.KW_BY - 139)) | (1 << (PostgreSQLParser.KW_CACHE - 139)) | (1 << (PostgreSQLParser.KW_CALLED - 139)) | (1 << (PostgreSQLParser.KW_CASCADE - 139)) | (1 << (PostgreSQLParser.KW_CASCADED - 139)) | (1 << (PostgreSQLParser.KW_CATALOG - 139)) | (1 << (PostgreSQLParser.KW_CHAIN - 139)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 139)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 139)) | (1 << (PostgreSQLParser.KW_CLASS - 139)) | (1 << (PostgreSQLParser.KW_CLOSE - 139)) | (1 << (PostgreSQLParser.KW_CLUSTER - 139)) | (1 << (PostgreSQLParser.KW_COMMENT - 139)) | (1 << (PostgreSQLParser.KW_COMMENTS - 139)) | (1 << (PostgreSQLParser.KW_COMMIT - 139)) | (1 << (PostgreSQLParser.KW_COMMITTED - 139)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 139)) | (1 << (PostgreSQLParser.KW_CONNECTION - 139)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 139)) | (1 << (PostgreSQLParser.KW_CONTENT - 139)) | (1 << (PostgreSQLParser.KW_CONTINUE - 139)) | (1 << (PostgreSQLParser.KW_CONVERSION - 139)) | (1 << (PostgreSQLParser.KW_COPY - 139)) | (1 << (PostgreSQLParser.KW_COST - 139)))) !== 0) || ((((_la - 171)) & ~0x1F) === 0 && ((1 << (_la - 171)) & ((1 << (PostgreSQLParser.KW_CSV - 171)) | (1 << (PostgreSQLParser.KW_CURSOR - 171)) | (1 << (PostgreSQLParser.KW_CYCLE - 171)) | (1 << (PostgreSQLParser.KW_DATA - 171)) | (1 << (PostgreSQLParser.KW_DATABASE - 171)) | (1 << (PostgreSQLParser.KW_DAY - 171)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 171)) | (1 << (PostgreSQLParser.KW_DECLARE - 171)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 171)) | (1 << (PostgreSQLParser.KW_DEFERRED - 171)) | (1 << (PostgreSQLParser.KW_DEFINER - 171)) | (1 << (PostgreSQLParser.KW_DELETE - 171)) | (1 << (PostgreSQLParser.KW_DELIMITER - 171)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 171)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 171)) | (1 << (PostgreSQLParser.KW_DISABLE - 171)) | (1 << (PostgreSQLParser.KW_DISCARD - 171)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 171)) | (1 << (PostgreSQLParser.KW_DOMAIN - 171)) | (1 << (PostgreSQLParser.KW_DOUBLE - 171)) | (1 << (PostgreSQLParser.KW_DROP - 171)) | (1 << (PostgreSQLParser.KW_EACH - 171)) | (1 << (PostgreSQLParser.KW_ENABLE - 171)) | (1 << (PostgreSQLParser.KW_ENCODING - 171)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 171)) | (1 << (PostgreSQLParser.KW_ENUM - 171)) | (1 << (PostgreSQLParser.KW_ESCAPE - 171)) | (1 << (PostgreSQLParser.KW_EVENT - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 171)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 171)) | (1 << (PostgreSQLParser.KW_EXECUTE - 171)))) !== 0) || ((((_la - 203)) & ~0x1F) === 0 && ((1 << (_la - 203)) & ((1 << (PostgreSQLParser.KW_EXPLAIN - 203)) | (1 << (PostgreSQLParser.KW_EXTENSION - 203)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 203)) | (1 << (PostgreSQLParser.KW_FAMILY - 203)) | (1 << (PostgreSQLParser.KW_FIRST - 203)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 203)) | (1 << (PostgreSQLParser.KW_FORCE - 203)) | (1 << (PostgreSQLParser.KW_FORWARD - 203)) | (1 << (PostgreSQLParser.KW_FUNCTION - 203)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 203)) | (1 << (PostgreSQLParser.KW_GLOBAL - 203)) | (1 << (PostgreSQLParser.KW_GRANTED - 203)) | (1 << (PostgreSQLParser.KW_HANDLER - 203)) | (1 << (PostgreSQLParser.KW_HEADER - 203)) | (1 << (PostgreSQLParser.KW_HOLD - 203)) | (1 << (PostgreSQLParser.KW_HOUR - 203)) | (1 << (PostgreSQLParser.KW_IDENTITY - 203)) | (1 << (PostgreSQLParser.KW_IF - 203)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 203)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 203)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 203)) | (1 << (PostgreSQLParser.KW_INCLUDING - 203)) | (1 << (PostgreSQLParser.KW_INCREMENT - 203)) | (1 << (PostgreSQLParser.KW_INDEX - 203)) | (1 << (PostgreSQLParser.KW_INDEXES - 203)) | (1 << (PostgreSQLParser.KW_INHERIT - 203)))) !== 0) || ((((_la - 238)) & ~0x1F) === 0 && ((1 << (_la - 238)) & ((1 << (PostgreSQLParser.KW_INHERITS - 238)) | (1 << (PostgreSQLParser.KW_INLINE - 238)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 238)) | (1 << (PostgreSQLParser.KW_INSERT - 238)) | (1 << (PostgreSQLParser.KW_INSTEAD - 238)) | (1 << (PostgreSQLParser.KW_INVOKER - 238)) | (1 << (PostgreSQLParser.KW_ISOLATION - 238)) | (1 << (PostgreSQLParser.KW_KEY - 238)) | (1 << (PostgreSQLParser.KW_LABEL - 238)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 238)) | (1 << (PostgreSQLParser.KW_LARGE - 238)) | (1 << (PostgreSQLParser.KW_LAST - 238)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 238)) | (1 << (PostgreSQLParser.KW_LEVEL - 238)) | (1 << (PostgreSQLParser.KW_LISTEN - 238)) | (1 << (PostgreSQLParser.KW_LOAD - 238)) | (1 << (PostgreSQLParser.KW_LOCAL - 238)) | (1 << (PostgreSQLParser.KW_LOCATION - 238)) | (1 << (PostgreSQLParser.KW_LOCK - 238)) | (1 << (PostgreSQLParser.KW_MAPPING - 238)) | (1 << (PostgreSQLParser.KW_MATCH - 238)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 238)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 238)) | (1 << (PostgreSQLParser.KW_MINUTE - 238)) | (1 << (PostgreSQLParser.KW_MINVALUE - 238)) | (1 << (PostgreSQLParser.KW_MODE - 238)) | (1 << (PostgreSQLParser.KW_MONTH - 238)) | (1 << (PostgreSQLParser.KW_MOVE - 238)) | (1 << (PostgreSQLParser.KW_NAME - 238)) | (1 << (PostgreSQLParser.KW_NAMES - 238)) | (1 << (PostgreSQLParser.KW_NEXT - 238)) | (1 << (PostgreSQLParser.KW_NO - 238)))) !== 0) || ((((_la - 270)) & ~0x1F) === 0 && ((1 << (_la - 270)) & ((1 << (PostgreSQLParser.KW_NOTHING - 270)) | (1 << (PostgreSQLParser.KW_NOTIFY - 270)) | (1 << (PostgreSQLParser.KW_NOWAIT - 270)) | (1 << (PostgreSQLParser.KW_NULLS - 270)) | (1 << (PostgreSQLParser.KW_OBJECT - 270)) | (1 << (PostgreSQLParser.KW_OF - 270)) | (1 << (PostgreSQLParser.KW_OFF - 270)) | (1 << (PostgreSQLParser.KW_OIDS - 270)) | (1 << (PostgreSQLParser.KW_OPERATOR - 270)) | (1 << (PostgreSQLParser.KW_OPTION - 270)) | (1 << (PostgreSQLParser.KW_OPTIONS - 270)) | (1 << (PostgreSQLParser.KW_OWNED - 270)) | (1 << (PostgreSQLParser.KW_OWNER - 270)) | (1 << (PostgreSQLParser.KW_PARSER - 270)) | (1 << (PostgreSQLParser.KW_PARTIAL - 270)) | (1 << (PostgreSQLParser.KW_PARTITION - 270)) | (1 << (PostgreSQLParser.KW_PASSING - 270)) | (1 << (PostgreSQLParser.KW_PASSWORD - 270)) | (1 << (PostgreSQLParser.KW_PLANS - 270)) | (1 << (PostgreSQLParser.KW_PRECEDING - 270)) | (1 << (PostgreSQLParser.KW_PREPARE - 270)) | (1 << (PostgreSQLParser.KW_PREPARED - 270)) | (1 << (PostgreSQLParser.KW_PRESERVE - 270)) | (1 << (PostgreSQLParser.KW_PRIOR - 270)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 270)) | (1 << (PostgreSQLParser.KW_PROGRAM - 270)) | (1 << (PostgreSQLParser.KW_QUOTE - 270)) | (1 << (PostgreSQLParser.KW_RANGE - 270)) | (1 << (PostgreSQLParser.KW_READ - 270)) | (1 << (PostgreSQLParser.KW_REASSIGN - 270)))) !== 0) || ((((_la - 302)) & ~0x1F) === 0 && ((1 << (_la - 302)) & ((1 << (PostgreSQLParser.KW_RECHECK - 302)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 302)) | (1 << (PostgreSQLParser.KW_REF - 302)) | (1 << (PostgreSQLParser.KW_REFRESH - 302)) | (1 << (PostgreSQLParser.KW_REINDEX - 302)) | (1 << (PostgreSQLParser.KW_RELATIVE - 302)) | (1 << (PostgreSQLParser.KW_RELEASE - 302)) | (1 << (PostgreSQLParser.KW_RENAME - 302)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 302)) | (1 << (PostgreSQLParser.KW_REPLACE - 302)) | (1 << (PostgreSQLParser.KW_REPLICA - 302)) | (1 << (PostgreSQLParser.KW_RESET - 302)) | (1 << (PostgreSQLParser.KW_RESTART - 302)) | (1 << (PostgreSQLParser.KW_RESTRICT - 302)) | (1 << (PostgreSQLParser.KW_RETURNS - 302)) | (1 << (PostgreSQLParser.KW_REVOKE - 302)) | (1 << (PostgreSQLParser.KW_ROLE - 302)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 302)) | (1 << (PostgreSQLParser.KW_ROWS - 302)) | (1 << (PostgreSQLParser.KW_RULE - 302)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 302)) | (1 << (PostgreSQLParser.KW_SCHEMA - 302)) | (1 << (PostgreSQLParser.KW_SCROLL - 302)) | (1 << (PostgreSQLParser.KW_SEARCH - 302)) | (1 << (PostgreSQLParser.KW_SECOND - 302)) | (1 << (PostgreSQLParser.KW_SECURITY - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 302)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 302)) | (1 << (PostgreSQLParser.KW_SERVER - 302)) | (1 << (PostgreSQLParser.KW_SESSION - 302)) | (1 << (PostgreSQLParser.KW_SET - 302)))) !== 0) || ((((_la - 334)) & ~0x1F) === 0 && ((1 << (_la - 334)) & ((1 << (PostgreSQLParser.KW_SHARE - 334)) | (1 << (PostgreSQLParser.KW_SHOW - 334)) | (1 << (PostgreSQLParser.KW_SIMPLE - 334)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 334)) | (1 << (PostgreSQLParser.KW_STABLE - 334)) | (1 << (PostgreSQLParser.KW_STANDALONE - 334)) | (1 << (PostgreSQLParser.KW_START - 334)) | (1 << (PostgreSQLParser.KW_STATEMENT - 334)) | (1 << (PostgreSQLParser.KW_STATISTICS - 334)) | (1 << (PostgreSQLParser.KW_STDIN - 334)) | (1 << (PostgreSQLParser.KW_STDOUT - 334)) | (1 << (PostgreSQLParser.KW_STORAGE - 334)) | (1 << (PostgreSQLParser.KW_STRICT - 334)) | (1 << (PostgreSQLParser.KW_STRIP - 334)) | (1 << (PostgreSQLParser.KW_SYSID - 334)) | (1 << (PostgreSQLParser.KW_SYSTEM - 334)) | (1 << (PostgreSQLParser.KW_TABLES - 334)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 334)) | (1 << (PostgreSQLParser.KW_TEMP - 334)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 334)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 334)) | (1 << (PostgreSQLParser.KW_TEXT - 334)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 334)) | (1 << (PostgreSQLParser.KW_TRIGGER - 334)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 334)) | (1 << (PostgreSQLParser.KW_TRUSTED - 334)) | (1 << (PostgreSQLParser.KW_TYPE - 334)) | (1 << (PostgreSQLParser.KW_TYPES - 334)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 334)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 334)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 334)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 334)))) !== 0) || ((((_la - 366)) & ~0x1F) === 0 && ((1 << (_la - 366)) & ((1 << (PostgreSQLParser.KW_UNLISTEN - 366)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 366)) | (1 << (PostgreSQLParser.KW_UNTIL - 366)) | (1 << (PostgreSQLParser.KW_UPDATE - 366)) | (1 << (PostgreSQLParser.KW_VACUUM - 366)) | (1 << (PostgreSQLParser.KW_VALID - 366)) | (1 << (PostgreSQLParser.KW_VALIDATE - 366)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 366)) | (1 << (PostgreSQLParser.KW_VARYING - 366)) | (1 << (PostgreSQLParser.KW_VERSION - 366)) | (1 << (PostgreSQLParser.KW_VIEW - 366)) | (1 << (PostgreSQLParser.KW_VOLATILE - 366)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 366)) | (1 << (PostgreSQLParser.KW_WITHOUT - 366)) | (1 << (PostgreSQLParser.KW_WORK - 366)) | (1 << (PostgreSQLParser.KW_WRAPPER - 366)) | (1 << (PostgreSQLParser.KW_WRITE - 366)) | (1 << (PostgreSQLParser.KW_XML - 366)) | (1 << (PostgreSQLParser.KW_YEAR - 366)) | (1 << (PostgreSQLParser.KW_YES - 366)) | (1 << (PostgreSQLParser.KW_ZONE - 366)) | (1 << (PostgreSQLParser.KW_BETWEEN - 366)) | (1 << (PostgreSQLParser.KW_BIGINT - 366)) | (1 << (PostgreSQLParser.KW_BIT - 366)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 366)) | (1 << (PostgreSQLParser.KW_CHAR - 366)) | (1 << (PostgreSQLParser.KW_CHARACTER - 366)) | (1 << (PostgreSQLParser.KW_COALESCE - 366)) | (1 << (PostgreSQLParser.KW_DEC - 366)) | (1 << (PostgreSQLParser.KW_DECIMAL - 366)) | (1 << (PostgreSQLParser.KW_EXISTS - 366)) | (1 << (PostgreSQLParser.KW_EXTRACT - 366)))) !== 0) || ((((_la - 398)) & ~0x1F) === 0 && ((1 << (_la - 398)) & ((1 << (PostgreSQLParser.KW_FLOAT - 398)) | (1 << (PostgreSQLParser.KW_GREATEST - 398)) | (1 << (PostgreSQLParser.KW_INOUT - 398)) | (1 << (PostgreSQLParser.KW_INT - 398)) | (1 << (PostgreSQLParser.KW_INTEGER - 398)) | (1 << (PostgreSQLParser.KW_INTERVAL - 398)) | (1 << (PostgreSQLParser.KW_LEAST - 398)) | (1 << (PostgreSQLParser.KW_NATIONAL - 398)) | (1 << (PostgreSQLParser.KW_NCHAR - 398)) | (1 << (PostgreSQLParser.KW_NONE - 398)) | (1 << (PostgreSQLParser.KW_NULLIF - 398)) | (1 << (PostgreSQLParser.KW_NUMERIC - 398)) | (1 << (PostgreSQLParser.KW_OVERLAY - 398)) | (1 << (PostgreSQLParser.KW_POSITION - 398)) | (1 << (PostgreSQLParser.KW_PRECISION - 398)) | (1 << (PostgreSQLParser.KW_REAL - 398)) | (1 << (PostgreSQLParser.KW_ROW - 398)) | (1 << (PostgreSQLParser.KW_SETOF - 398)) | (1 << (PostgreSQLParser.KW_SMALLINT - 398)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 398)) | (1 << (PostgreSQLParser.KW_TIME - 398)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 398)) | (1 << (PostgreSQLParser.KW_TREAT - 398)) | (1 << (PostgreSQLParser.KW_TRIM - 398)) | (1 << (PostgreSQLParser.KW_VALUES - 398)) | (1 << (PostgreSQLParser.KW_VARCHAR - 398)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 398)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 398)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 398)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 398)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 398)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 398)))) !== 0) || ((((_la - 430)) & ~0x1F) === 0 && ((1 << (_la - 430)) & ((1 << (PostgreSQLParser.KW_XMLPI - 430)) | (1 << (PostgreSQLParser.KW_XMLROOT - 430)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 430)) | (1 << (PostgreSQLParser.KW_CALL - 430)) | (1 << (PostgreSQLParser.KW_CURRENT - 430)) | (1 << (PostgreSQLParser.KW_ATTACH - 430)) | (1 << (PostgreSQLParser.KW_DETACH - 430)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 430)) | (1 << (PostgreSQLParser.KW_GENERATED - 430)) | (1 << (PostgreSQLParser.KW_LOGGED - 430)) | (1 << (PostgreSQLParser.KW_STORED - 430)) | (1 << (PostgreSQLParser.KW_INCLUDE - 430)) | (1 << (PostgreSQLParser.KW_ROUTINE - 430)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 430)) | (1 << (PostgreSQLParser.KW_IMPORT - 430)) | (1 << (PostgreSQLParser.KW_POLICY - 430)) | (1 << (PostgreSQLParser.KW_METHOD - 430)) | (1 << (PostgreSQLParser.KW_REFERENCING - 430)) | (1 << (PostgreSQLParser.KW_NEW - 430)) | (1 << (PostgreSQLParser.KW_OLD - 430)) | (1 << (PostgreSQLParser.KW_VALUE - 430)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 430)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 430)) | (1 << (PostgreSQLParser.KW_OUT - 430)) | (1 << (PostgreSQLParser.KW_ROUTINES - 430)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 430)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 430)) | (1 << (PostgreSQLParser.KW_INPUT - 430)) | (1 << (PostgreSQLParser.KW_SUPPORT - 430)) | (1 << (PostgreSQLParser.KW_PARALLEL - 430)) | (1 << (PostgreSQLParser.KW_SQL - 430)))) !== 0) || ((((_la - 462)) & ~0x1F) === 0 && ((1 << (_la - 462)) & ((1 << (PostgreSQLParser.KW_DEPENDS - 462)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 462)) | (1 << (PostgreSQLParser.KW_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_SKIP - 462)) | (1 << (PostgreSQLParser.KW_LOCKED - 462)) | (1 << (PostgreSQLParser.KW_TIES - 462)) | (1 << (PostgreSQLParser.KW_ROLLUP - 462)) | (1 << (PostgreSQLParser.KW_CUBE - 462)) | (1 << (PostgreSQLParser.KW_GROUPING - 462)) | (1 << (PostgreSQLParser.KW_SETS - 462)) | (1 << (PostgreSQLParser.KW_TABLESAMPLE - 462)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 462)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 462)) | (1 << (PostgreSQLParser.KW_COLUMNS - 462)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 462)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 462)) | (1 << (PostgreSQLParser.KW_WITHIN - 462)) | (1 << (PostgreSQLParser.KW_FILTER - 462)) | (1 << (PostgreSQLParser.KW_GROUPS - 462)) | (1 << (PostgreSQLParser.KW_OTHERS - 462)) | (1 << (PostgreSQLParser.KW_NFC - 462)) | (1 << (PostgreSQLParser.KW_NFD - 462)) | (1 << (PostgreSQLParser.KW_NFKC - 462)) | (1 << (PostgreSQLParser.KW_NFKD - 462)) | (1 << (PostgreSQLParser.KW_UESCAPE - 462)) | (1 << (PostgreSQLParser.KW_VIEWS - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 462)) | (1 << (PostgreSQLParser.KW_DUMP - 462)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 462)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_ERROR - 462)))) !== 0) || ((((_la - 494)) & ~0x1F) === 0 && ((1 << (_la - 494)) & ((1 << (PostgreSQLParser.KW_USE_VARIABLE - 494)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 494)) | (1 << (PostgreSQLParser.KW_ALIAS - 494)) | (1 << (PostgreSQLParser.KW_CONSTANT - 494)) | (1 << (PostgreSQLParser.KW_PERFORM - 494)) | (1 << (PostgreSQLParser.KW_GET - 494)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 494)) | (1 << (PostgreSQLParser.KW_STACKED - 494)) | (1 << (PostgreSQLParser.KW_ELSIF - 494)) | (1 << (PostgreSQLParser.KW_REVERSE - 494)) | (1 << (PostgreSQLParser.KW_SLICE - 494)) | (1 << (PostgreSQLParser.KW_EXIT - 494)) | (1 << (PostgreSQLParser.KW_RETURN - 494)) | (1 << (PostgreSQLParser.KW_QUERY - 494)) | (1 << (PostgreSQLParser.KW_RAISE - 494)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 494)) | (1 << (PostgreSQLParser.KW_DEBUG - 494)) | (1 << (PostgreSQLParser.KW_LOG - 494)) | (1 << (PostgreSQLParser.KW_INFO - 494)) | (1 << (PostgreSQLParser.KW_NOTICE - 494)) | (1 << (PostgreSQLParser.KW_WARNING - 494)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 494)) | (1 << (PostgreSQLParser.KW_ASSERT - 494)) | (1 << (PostgreSQLParser.KW_OPEN - 494)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.BinaryStringConstant - 547)) | (1 << (PostgreSQLParser.HexadecimalStringConstant - 547)) | (1 << (PostgreSQLParser.Integral - 547)) | (1 << (PostgreSQLParser.Numeric - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 10598; this.case_arg(); } } this.state = 10601; this.when_clause_list(); this.state = 10603; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ELSE) { { this.state = 10602; this.case_default(); } } this.state = 10605; this.match(PostgreSQLParser.KW_END); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public when_clause_list(): When_clause_listContext { let _localctx: When_clause_listContext = new When_clause_listContext(this._ctx, this.state); this.enterRule(_localctx, 1368, PostgreSQLParser.RULE_when_clause_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10608; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 10607; this.when_clause(); } } this.state = 10610; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === PostgreSQLParser.KW_WHEN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public when_clause(): When_clauseContext { let _localctx: When_clauseContext = new When_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1370, PostgreSQLParser.RULE_when_clause); try { this.enterOuterAlt(_localctx, 1); { this.state = 10612; this.match(PostgreSQLParser.KW_WHEN); this.state = 10613; this.a_expr(); this.state = 10614; this.match(PostgreSQLParser.KW_THEN); this.state = 10615; this.a_expr(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public case_default(): Case_defaultContext { let _localctx: Case_defaultContext = new Case_defaultContext(this._ctx, this.state); this.enterRule(_localctx, 1372, PostgreSQLParser.RULE_case_default); try { this.enterOuterAlt(_localctx, 1); { this.state = 10617; this.match(PostgreSQLParser.KW_ELSE); this.state = 10618; this.a_expr(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public case_arg(): Case_argContext { let _localctx: Case_argContext = new Case_argContext(this._ctx, this.state); this.enterRule(_localctx, 1374, PostgreSQLParser.RULE_case_arg); try { this.enterOuterAlt(_localctx, 1); { this.state = 10620; this.a_expr(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public columnref(): ColumnrefContext { let _localctx: ColumnrefContext = new ColumnrefContext(this._ctx, this.state); this.enterRule(_localctx, 1376, PostgreSQLParser.RULE_columnref); try { this.enterOuterAlt(_localctx, 1); { this.state = 10622; this.colid(); this.state = 10624; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1105, this._ctx) ) { case 1: { this.state = 10623; this.indirection(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public indirection_el(): Indirection_elContext { let _localctx: Indirection_elContext = new Indirection_elContext(this._ctx, this.state); this.enterRule(_localctx, 1378, PostgreSQLParser.RULE_indirection_el); let _la: number; try { this.state = 10643; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.DOT: this.enterOuterAlt(_localctx, 1); { this.state = 10626; this.match(PostgreSQLParser.DOT); this.state = 10629; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_ALL: case PostgreSQLParser.KW_ANALYSE: case PostgreSQLParser.KW_ANALYZE: case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ANY: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_AS: case PostgreSQLParser.KW_ASC: case PostgreSQLParser.KW_ASYMMETRIC: case PostgreSQLParser.KW_BOTH: case PostgreSQLParser.KW_CASE: case PostgreSQLParser.KW_CAST: case PostgreSQLParser.KW_CHECK: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_CREATE: case PostgreSQLParser.KW_CURRENT_CATALOG: case PostgreSQLParser.KW_CURRENT_DATE: case PostgreSQLParser.KW_CURRENT_ROLE: case PostgreSQLParser.KW_CURRENT_TIME: case PostgreSQLParser.KW_CURRENT_TIMESTAMP: case PostgreSQLParser.KW_CURRENT_USER: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DEFERRABLE: case PostgreSQLParser.KW_DESC: case PostgreSQLParser.KW_DISTINCT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_ELSE: case PostgreSQLParser.KW_EXCEPT: case PostgreSQLParser.KW_FALSE: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_FOR: case PostgreSQLParser.KW_FOREIGN: case PostgreSQLParser.KW_FROM: case PostgreSQLParser.KW_GRANT: case PostgreSQLParser.KW_GROUP: case PostgreSQLParser.KW_HAVING: case PostgreSQLParser.KW_IN: case PostgreSQLParser.KW_INITIALLY: case PostgreSQLParser.KW_INTERSECT: case PostgreSQLParser.KW_LATERAL: case PostgreSQLParser.KW_LEADING: case PostgreSQLParser.KW_LIMIT: case PostgreSQLParser.KW_LOCALTIME: case PostgreSQLParser.KW_LOCALTIMESTAMP: case PostgreSQLParser.KW_NOT: case PostgreSQLParser.KW_NULL: case PostgreSQLParser.KW_OFFSET: case PostgreSQLParser.KW_ON: case PostgreSQLParser.KW_ONLY: case PostgreSQLParser.KW_OR: case PostgreSQLParser.KW_ORDER: case PostgreSQLParser.KW_PLACING: case PostgreSQLParser.KW_PRIMARY: case PostgreSQLParser.KW_REFERENCES: case PostgreSQLParser.KW_RETURNING: case PostgreSQLParser.KW_SELECT: case PostgreSQLParser.KW_SESSION_USER: case PostgreSQLParser.KW_SOME: case PostgreSQLParser.KW_SYMMETRIC: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_THEN: case PostgreSQLParser.KW_TO: case PostgreSQLParser.KW_TRAILING: case PostgreSQLParser.KW_TRUE: case PostgreSQLParser.KW_UNION: case PostgreSQLParser.KW_UNIQUE: case PostgreSQLParser.KW_USER: case PostgreSQLParser.KW_USING: case PostgreSQLParser.KW_VARIADIC: case PostgreSQLParser.KW_WHEN: case PostgreSQLParser.KW_WHERE: case PostgreSQLParser.KW_WINDOW: case PostgreSQLParser.KW_WITH: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_END: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 10627; this.attr_name(); } break; case PostgreSQLParser.STAR: { this.state = 10628; this.match(PostgreSQLParser.STAR); } break; default: throw new NoViableAltException(this); } } break; case PostgreSQLParser.OPEN_BRACKET: this.enterOuterAlt(_localctx, 2); { this.state = 10631; this.match(PostgreSQLParser.OPEN_BRACKET); this.state = 10640; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1109, this._ctx) ) { case 1: { this.state = 10632; this.a_expr(); } break; case 2: { this.state = 10634; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.OPEN_PAREN) | (1 << PostgreSQLParser.PLUS) | (1 << PostgreSQLParser.MINUS) | (1 << PostgreSQLParser.PARAM) | (1 << PostgreSQLParser.Operator))) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_CASE - 33)) | (1 << (PostgreSQLParser.KW_CAST - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_CATALOG - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_DATE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_ROLE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIME - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIMESTAMP - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_USER - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FALSE - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 75)) & ~0x1F) === 0 && ((1 << (_la - 75)) & ((1 << (PostgreSQLParser.KW_LOCALTIME - 75)) | (1 << (PostgreSQLParser.KW_LOCALTIMESTAMP - 75)) | (1 << (PostgreSQLParser.KW_NOT - 75)) | (1 << (PostgreSQLParser.KW_NULL - 75)) | (1 << (PostgreSQLParser.KW_SESSION_USER - 75)) | (1 << (PostgreSQLParser.KW_TABLE - 75)) | (1 << (PostgreSQLParser.KW_TRUE - 75)) | (1 << (PostgreSQLParser.KW_UNIQUE - 75)) | (1 << (PostgreSQLParser.KW_USER - 75)) | (1 << (PostgreSQLParser.KW_AUTHORIZATION - 75)))) !== 0) || ((((_la - 107)) & ~0x1F) === 0 && ((1 << (_la - 107)) & ((1 << (PostgreSQLParser.KW_BINARY - 107)) | (1 << (PostgreSQLParser.KW_COLLATION - 107)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 107)) | (1 << (PostgreSQLParser.KW_CROSS - 107)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 107)) | (1 << (PostgreSQLParser.KW_FREEZE - 107)) | (1 << (PostgreSQLParser.KW_FULL - 107)) | (1 << (PostgreSQLParser.KW_ILIKE - 107)) | (1 << (PostgreSQLParser.KW_INNER - 107)) | (1 << (PostgreSQLParser.KW_IS - 107)) | (1 << (PostgreSQLParser.KW_ISNULL - 107)) | (1 << (PostgreSQLParser.KW_JOIN - 107)) | (1 << (PostgreSQLParser.KW_LEFT - 107)) | (1 << (PostgreSQLParser.KW_LIKE - 107)) | (1 << (PostgreSQLParser.KW_NATURAL - 107)) | (1 << (PostgreSQLParser.KW_NOTNULL - 107)) | (1 << (PostgreSQLParser.KW_OUTER - 107)) | (1 << (PostgreSQLParser.KW_OVER - 107)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 107)) | (1 << (PostgreSQLParser.KW_RIGHT - 107)) | (1 << (PostgreSQLParser.KW_SIMILAR - 107)) | (1 << (PostgreSQLParser.KW_VERBOSE - 107)) | (1 << (PostgreSQLParser.KW_ABORT - 107)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 107)) | (1 << (PostgreSQLParser.KW_ACCESS - 107)) | (1 << (PostgreSQLParser.KW_ACTION - 107)) | (1 << (PostgreSQLParser.KW_ADD - 107)) | (1 << (PostgreSQLParser.KW_ADMIN - 107)) | (1 << (PostgreSQLParser.KW_AFTER - 107)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 107)) | (1 << (PostgreSQLParser.KW_ALSO - 107)) | (1 << (PostgreSQLParser.KW_ALTER - 107)))) !== 0) || ((((_la - 139)) & ~0x1F) === 0 && ((1 << (_la - 139)) & ((1 << (PostgreSQLParser.KW_ALWAYS - 139)) | (1 << (PostgreSQLParser.KW_ASSERTION - 139)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 139)) | (1 << (PostgreSQLParser.KW_AT - 139)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 139)) | (1 << (PostgreSQLParser.KW_BACKWARD - 139)) | (1 << (PostgreSQLParser.KW_BEFORE - 139)) | (1 << (PostgreSQLParser.KW_BEGIN - 139)) | (1 << (PostgreSQLParser.KW_BY - 139)) | (1 << (PostgreSQLParser.KW_CACHE - 139)) | (1 << (PostgreSQLParser.KW_CALLED - 139)) | (1 << (PostgreSQLParser.KW_CASCADE - 139)) | (1 << (PostgreSQLParser.KW_CASCADED - 139)) | (1 << (PostgreSQLParser.KW_CATALOG - 139)) | (1 << (PostgreSQLParser.KW_CHAIN - 139)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 139)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 139)) | (1 << (PostgreSQLParser.KW_CLASS - 139)) | (1 << (PostgreSQLParser.KW_CLOSE - 139)) | (1 << (PostgreSQLParser.KW_CLUSTER - 139)) | (1 << (PostgreSQLParser.KW_COMMENT - 139)) | (1 << (PostgreSQLParser.KW_COMMENTS - 139)) | (1 << (PostgreSQLParser.KW_COMMIT - 139)) | (1 << (PostgreSQLParser.KW_COMMITTED - 139)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 139)) | (1 << (PostgreSQLParser.KW_CONNECTION - 139)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 139)) | (1 << (PostgreSQLParser.KW_CONTENT - 139)) | (1 << (PostgreSQLParser.KW_CONTINUE - 139)) | (1 << (PostgreSQLParser.KW_CONVERSION - 139)) | (1 << (PostgreSQLParser.KW_COPY - 139)) | (1 << (PostgreSQLParser.KW_COST - 139)))) !== 0) || ((((_la - 171)) & ~0x1F) === 0 && ((1 << (_la - 171)) & ((1 << (PostgreSQLParser.KW_CSV - 171)) | (1 << (PostgreSQLParser.KW_CURSOR - 171)) | (1 << (PostgreSQLParser.KW_CYCLE - 171)) | (1 << (PostgreSQLParser.KW_DATA - 171)) | (1 << (PostgreSQLParser.KW_DATABASE - 171)) | (1 << (PostgreSQLParser.KW_DAY - 171)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 171)) | (1 << (PostgreSQLParser.KW_DECLARE - 171)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 171)) | (1 << (PostgreSQLParser.KW_DEFERRED - 171)) | (1 << (PostgreSQLParser.KW_DEFINER - 171)) | (1 << (PostgreSQLParser.KW_DELETE - 171)) | (1 << (PostgreSQLParser.KW_DELIMITER - 171)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 171)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 171)) | (1 << (PostgreSQLParser.KW_DISABLE - 171)) | (1 << (PostgreSQLParser.KW_DISCARD - 171)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 171)) | (1 << (PostgreSQLParser.KW_DOMAIN - 171)) | (1 << (PostgreSQLParser.KW_DOUBLE - 171)) | (1 << (PostgreSQLParser.KW_DROP - 171)) | (1 << (PostgreSQLParser.KW_EACH - 171)) | (1 << (PostgreSQLParser.KW_ENABLE - 171)) | (1 << (PostgreSQLParser.KW_ENCODING - 171)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 171)) | (1 << (PostgreSQLParser.KW_ENUM - 171)) | (1 << (PostgreSQLParser.KW_ESCAPE - 171)) | (1 << (PostgreSQLParser.KW_EVENT - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 171)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 171)) | (1 << (PostgreSQLParser.KW_EXECUTE - 171)))) !== 0) || ((((_la - 203)) & ~0x1F) === 0 && ((1 << (_la - 203)) & ((1 << (PostgreSQLParser.KW_EXPLAIN - 203)) | (1 << (PostgreSQLParser.KW_EXTENSION - 203)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 203)) | (1 << (PostgreSQLParser.KW_FAMILY - 203)) | (1 << (PostgreSQLParser.KW_FIRST - 203)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 203)) | (1 << (PostgreSQLParser.KW_FORCE - 203)) | (1 << (PostgreSQLParser.KW_FORWARD - 203)) | (1 << (PostgreSQLParser.KW_FUNCTION - 203)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 203)) | (1 << (PostgreSQLParser.KW_GLOBAL - 203)) | (1 << (PostgreSQLParser.KW_GRANTED - 203)) | (1 << (PostgreSQLParser.KW_HANDLER - 203)) | (1 << (PostgreSQLParser.KW_HEADER - 203)) | (1 << (PostgreSQLParser.KW_HOLD - 203)) | (1 << (PostgreSQLParser.KW_HOUR - 203)) | (1 << (PostgreSQLParser.KW_IDENTITY - 203)) | (1 << (PostgreSQLParser.KW_IF - 203)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 203)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 203)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 203)) | (1 << (PostgreSQLParser.KW_INCLUDING - 203)) | (1 << (PostgreSQLParser.KW_INCREMENT - 203)) | (1 << (PostgreSQLParser.KW_INDEX - 203)) | (1 << (PostgreSQLParser.KW_INDEXES - 203)) | (1 << (PostgreSQLParser.KW_INHERIT - 203)))) !== 0) || ((((_la - 238)) & ~0x1F) === 0 && ((1 << (_la - 238)) & ((1 << (PostgreSQLParser.KW_INHERITS - 238)) | (1 << (PostgreSQLParser.KW_INLINE - 238)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 238)) | (1 << (PostgreSQLParser.KW_INSERT - 238)) | (1 << (PostgreSQLParser.KW_INSTEAD - 238)) | (1 << (PostgreSQLParser.KW_INVOKER - 238)) | (1 << (PostgreSQLParser.KW_ISOLATION - 238)) | (1 << (PostgreSQLParser.KW_KEY - 238)) | (1 << (PostgreSQLParser.KW_LABEL - 238)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 238)) | (1 << (PostgreSQLParser.KW_LARGE - 238)) | (1 << (PostgreSQLParser.KW_LAST - 238)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 238)) | (1 << (PostgreSQLParser.KW_LEVEL - 238)) | (1 << (PostgreSQLParser.KW_LISTEN - 238)) | (1 << (PostgreSQLParser.KW_LOAD - 238)) | (1 << (PostgreSQLParser.KW_LOCAL - 238)) | (1 << (PostgreSQLParser.KW_LOCATION - 238)) | (1 << (PostgreSQLParser.KW_LOCK - 238)) | (1 << (PostgreSQLParser.KW_MAPPING - 238)) | (1 << (PostgreSQLParser.KW_MATCH - 238)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 238)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 238)) | (1 << (PostgreSQLParser.KW_MINUTE - 238)) | (1 << (PostgreSQLParser.KW_MINVALUE - 238)) | (1 << (PostgreSQLParser.KW_MODE - 238)) | (1 << (PostgreSQLParser.KW_MONTH - 238)) | (1 << (PostgreSQLParser.KW_MOVE - 238)) | (1 << (PostgreSQLParser.KW_NAME - 238)) | (1 << (PostgreSQLParser.KW_NAMES - 238)) | (1 << (PostgreSQLParser.KW_NEXT - 238)) | (1 << (PostgreSQLParser.KW_NO - 238)))) !== 0) || ((((_la - 270)) & ~0x1F) === 0 && ((1 << (_la - 270)) & ((1 << (PostgreSQLParser.KW_NOTHING - 270)) | (1 << (PostgreSQLParser.KW_NOTIFY - 270)) | (1 << (PostgreSQLParser.KW_NOWAIT - 270)) | (1 << (PostgreSQLParser.KW_NULLS - 270)) | (1 << (PostgreSQLParser.KW_OBJECT - 270)) | (1 << (PostgreSQLParser.KW_OF - 270)) | (1 << (PostgreSQLParser.KW_OFF - 270)) | (1 << (PostgreSQLParser.KW_OIDS - 270)) | (1 << (PostgreSQLParser.KW_OPERATOR - 270)) | (1 << (PostgreSQLParser.KW_OPTION - 270)) | (1 << (PostgreSQLParser.KW_OPTIONS - 270)) | (1 << (PostgreSQLParser.KW_OWNED - 270)) | (1 << (PostgreSQLParser.KW_OWNER - 270)) | (1 << (PostgreSQLParser.KW_PARSER - 270)) | (1 << (PostgreSQLParser.KW_PARTIAL - 270)) | (1 << (PostgreSQLParser.KW_PARTITION - 270)) | (1 << (PostgreSQLParser.KW_PASSING - 270)) | (1 << (PostgreSQLParser.KW_PASSWORD - 270)) | (1 << (PostgreSQLParser.KW_PLANS - 270)) | (1 << (PostgreSQLParser.KW_PRECEDING - 270)) | (1 << (PostgreSQLParser.KW_PREPARE - 270)) | (1 << (PostgreSQLParser.KW_PREPARED - 270)) | (1 << (PostgreSQLParser.KW_PRESERVE - 270)) | (1 << (PostgreSQLParser.KW_PRIOR - 270)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 270)) | (1 << (PostgreSQLParser.KW_PROGRAM - 270)) | (1 << (PostgreSQLParser.KW_QUOTE - 270)) | (1 << (PostgreSQLParser.KW_RANGE - 270)) | (1 << (PostgreSQLParser.KW_READ - 270)) | (1 << (PostgreSQLParser.KW_REASSIGN - 270)))) !== 0) || ((((_la - 302)) & ~0x1F) === 0 && ((1 << (_la - 302)) & ((1 << (PostgreSQLParser.KW_RECHECK - 302)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 302)) | (1 << (PostgreSQLParser.KW_REF - 302)) | (1 << (PostgreSQLParser.KW_REFRESH - 302)) | (1 << (PostgreSQLParser.KW_REINDEX - 302)) | (1 << (PostgreSQLParser.KW_RELATIVE - 302)) | (1 << (PostgreSQLParser.KW_RELEASE - 302)) | (1 << (PostgreSQLParser.KW_RENAME - 302)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 302)) | (1 << (PostgreSQLParser.KW_REPLACE - 302)) | (1 << (PostgreSQLParser.KW_REPLICA - 302)) | (1 << (PostgreSQLParser.KW_RESET - 302)) | (1 << (PostgreSQLParser.KW_RESTART - 302)) | (1 << (PostgreSQLParser.KW_RESTRICT - 302)) | (1 << (PostgreSQLParser.KW_RETURNS - 302)) | (1 << (PostgreSQLParser.KW_REVOKE - 302)) | (1 << (PostgreSQLParser.KW_ROLE - 302)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 302)) | (1 << (PostgreSQLParser.KW_ROWS - 302)) | (1 << (PostgreSQLParser.KW_RULE - 302)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 302)) | (1 << (PostgreSQLParser.KW_SCHEMA - 302)) | (1 << (PostgreSQLParser.KW_SCROLL - 302)) | (1 << (PostgreSQLParser.KW_SEARCH - 302)) | (1 << (PostgreSQLParser.KW_SECOND - 302)) | (1 << (PostgreSQLParser.KW_SECURITY - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 302)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 302)) | (1 << (PostgreSQLParser.KW_SERVER - 302)) | (1 << (PostgreSQLParser.KW_SESSION - 302)) | (1 << (PostgreSQLParser.KW_SET - 302)))) !== 0) || ((((_la - 334)) & ~0x1F) === 0 && ((1 << (_la - 334)) & ((1 << (PostgreSQLParser.KW_SHARE - 334)) | (1 << (PostgreSQLParser.KW_SHOW - 334)) | (1 << (PostgreSQLParser.KW_SIMPLE - 334)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 334)) | (1 << (PostgreSQLParser.KW_STABLE - 334)) | (1 << (PostgreSQLParser.KW_STANDALONE - 334)) | (1 << (PostgreSQLParser.KW_START - 334)) | (1 << (PostgreSQLParser.KW_STATEMENT - 334)) | (1 << (PostgreSQLParser.KW_STATISTICS - 334)) | (1 << (PostgreSQLParser.KW_STDIN - 334)) | (1 << (PostgreSQLParser.KW_STDOUT - 334)) | (1 << (PostgreSQLParser.KW_STORAGE - 334)) | (1 << (PostgreSQLParser.KW_STRICT - 334)) | (1 << (PostgreSQLParser.KW_STRIP - 334)) | (1 << (PostgreSQLParser.KW_SYSID - 334)) | (1 << (PostgreSQLParser.KW_SYSTEM - 334)) | (1 << (PostgreSQLParser.KW_TABLES - 334)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 334)) | (1 << (PostgreSQLParser.KW_TEMP - 334)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 334)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 334)) | (1 << (PostgreSQLParser.KW_TEXT - 334)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 334)) | (1 << (PostgreSQLParser.KW_TRIGGER - 334)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 334)) | (1 << (PostgreSQLParser.KW_TRUSTED - 334)) | (1 << (PostgreSQLParser.KW_TYPE - 334)) | (1 << (PostgreSQLParser.KW_TYPES - 334)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 334)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 334)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 334)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 334)))) !== 0) || ((((_la - 366)) & ~0x1F) === 0 && ((1 << (_la - 366)) & ((1 << (PostgreSQLParser.KW_UNLISTEN - 366)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 366)) | (1 << (PostgreSQLParser.KW_UNTIL - 366)) | (1 << (PostgreSQLParser.KW_UPDATE - 366)) | (1 << (PostgreSQLParser.KW_VACUUM - 366)) | (1 << (PostgreSQLParser.KW_VALID - 366)) | (1 << (PostgreSQLParser.KW_VALIDATE - 366)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 366)) | (1 << (PostgreSQLParser.KW_VARYING - 366)) | (1 << (PostgreSQLParser.KW_VERSION - 366)) | (1 << (PostgreSQLParser.KW_VIEW - 366)) | (1 << (PostgreSQLParser.KW_VOLATILE - 366)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 366)) | (1 << (PostgreSQLParser.KW_WITHOUT - 366)) | (1 << (PostgreSQLParser.KW_WORK - 366)) | (1 << (PostgreSQLParser.KW_WRAPPER - 366)) | (1 << (PostgreSQLParser.KW_WRITE - 366)) | (1 << (PostgreSQLParser.KW_XML - 366)) | (1 << (PostgreSQLParser.KW_YEAR - 366)) | (1 << (PostgreSQLParser.KW_YES - 366)) | (1 << (PostgreSQLParser.KW_ZONE - 366)) | (1 << (PostgreSQLParser.KW_BETWEEN - 366)) | (1 << (PostgreSQLParser.KW_BIGINT - 366)) | (1 << (PostgreSQLParser.KW_BIT - 366)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 366)) | (1 << (PostgreSQLParser.KW_CHAR - 366)) | (1 << (PostgreSQLParser.KW_CHARACTER - 366)) | (1 << (PostgreSQLParser.KW_COALESCE - 366)) | (1 << (PostgreSQLParser.KW_DEC - 366)) | (1 << (PostgreSQLParser.KW_DECIMAL - 366)) | (1 << (PostgreSQLParser.KW_EXISTS - 366)) | (1 << (PostgreSQLParser.KW_EXTRACT - 366)))) !== 0) || ((((_la - 398)) & ~0x1F) === 0 && ((1 << (_la - 398)) & ((1 << (PostgreSQLParser.KW_FLOAT - 398)) | (1 << (PostgreSQLParser.KW_GREATEST - 398)) | (1 << (PostgreSQLParser.KW_INOUT - 398)) | (1 << (PostgreSQLParser.KW_INT - 398)) | (1 << (PostgreSQLParser.KW_INTEGER - 398)) | (1 << (PostgreSQLParser.KW_INTERVAL - 398)) | (1 << (PostgreSQLParser.KW_LEAST - 398)) | (1 << (PostgreSQLParser.KW_NATIONAL - 398)) | (1 << (PostgreSQLParser.KW_NCHAR - 398)) | (1 << (PostgreSQLParser.KW_NONE - 398)) | (1 << (PostgreSQLParser.KW_NULLIF - 398)) | (1 << (PostgreSQLParser.KW_NUMERIC - 398)) | (1 << (PostgreSQLParser.KW_OVERLAY - 398)) | (1 << (PostgreSQLParser.KW_POSITION - 398)) | (1 << (PostgreSQLParser.KW_PRECISION - 398)) | (1 << (PostgreSQLParser.KW_REAL - 398)) | (1 << (PostgreSQLParser.KW_ROW - 398)) | (1 << (PostgreSQLParser.KW_SETOF - 398)) | (1 << (PostgreSQLParser.KW_SMALLINT - 398)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 398)) | (1 << (PostgreSQLParser.KW_TIME - 398)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 398)) | (1 << (PostgreSQLParser.KW_TREAT - 398)) | (1 << (PostgreSQLParser.KW_TRIM - 398)) | (1 << (PostgreSQLParser.KW_VALUES - 398)) | (1 << (PostgreSQLParser.KW_VARCHAR - 398)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 398)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 398)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 398)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 398)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 398)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 398)))) !== 0) || ((((_la - 430)) & ~0x1F) === 0 && ((1 << (_la - 430)) & ((1 << (PostgreSQLParser.KW_XMLPI - 430)) | (1 << (PostgreSQLParser.KW_XMLROOT - 430)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 430)) | (1 << (PostgreSQLParser.KW_CALL - 430)) | (1 << (PostgreSQLParser.KW_CURRENT - 430)) | (1 << (PostgreSQLParser.KW_ATTACH - 430)) | (1 << (PostgreSQLParser.KW_DETACH - 430)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 430)) | (1 << (PostgreSQLParser.KW_GENERATED - 430)) | (1 << (PostgreSQLParser.KW_LOGGED - 430)) | (1 << (PostgreSQLParser.KW_STORED - 430)) | (1 << (PostgreSQLParser.KW_INCLUDE - 430)) | (1 << (PostgreSQLParser.KW_ROUTINE - 430)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 430)) | (1 << (PostgreSQLParser.KW_IMPORT - 430)) | (1 << (PostgreSQLParser.KW_POLICY - 430)) | (1 << (PostgreSQLParser.KW_METHOD - 430)) | (1 << (PostgreSQLParser.KW_REFERENCING - 430)) | (1 << (PostgreSQLParser.KW_NEW - 430)) | (1 << (PostgreSQLParser.KW_OLD - 430)) | (1 << (PostgreSQLParser.KW_VALUE - 430)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 430)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 430)) | (1 << (PostgreSQLParser.KW_OUT - 430)) | (1 << (PostgreSQLParser.KW_ROUTINES - 430)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 430)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 430)) | (1 << (PostgreSQLParser.KW_INPUT - 430)) | (1 << (PostgreSQLParser.KW_SUPPORT - 430)) | (1 << (PostgreSQLParser.KW_PARALLEL - 430)) | (1 << (PostgreSQLParser.KW_SQL - 430)))) !== 0) || ((((_la - 462)) & ~0x1F) === 0 && ((1 << (_la - 462)) & ((1 << (PostgreSQLParser.KW_DEPENDS - 462)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 462)) | (1 << (PostgreSQLParser.KW_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_SKIP - 462)) | (1 << (PostgreSQLParser.KW_LOCKED - 462)) | (1 << (PostgreSQLParser.KW_TIES - 462)) | (1 << (PostgreSQLParser.KW_ROLLUP - 462)) | (1 << (PostgreSQLParser.KW_CUBE - 462)) | (1 << (PostgreSQLParser.KW_GROUPING - 462)) | (1 << (PostgreSQLParser.KW_SETS - 462)) | (1 << (PostgreSQLParser.KW_TABLESAMPLE - 462)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 462)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 462)) | (1 << (PostgreSQLParser.KW_COLUMNS - 462)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 462)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 462)) | (1 << (PostgreSQLParser.KW_WITHIN - 462)) | (1 << (PostgreSQLParser.KW_FILTER - 462)) | (1 << (PostgreSQLParser.KW_GROUPS - 462)) | (1 << (PostgreSQLParser.KW_OTHERS - 462)) | (1 << (PostgreSQLParser.KW_NFC - 462)) | (1 << (PostgreSQLParser.KW_NFD - 462)) | (1 << (PostgreSQLParser.KW_NFKC - 462)) | (1 << (PostgreSQLParser.KW_NFKD - 462)) | (1 << (PostgreSQLParser.KW_UESCAPE - 462)) | (1 << (PostgreSQLParser.KW_VIEWS - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 462)) | (1 << (PostgreSQLParser.KW_DUMP - 462)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 462)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_ERROR - 462)))) !== 0) || ((((_la - 494)) & ~0x1F) === 0 && ((1 << (_la - 494)) & ((1 << (PostgreSQLParser.KW_USE_VARIABLE - 494)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 494)) | (1 << (PostgreSQLParser.KW_ALIAS - 494)) | (1 << (PostgreSQLParser.KW_CONSTANT - 494)) | (1 << (PostgreSQLParser.KW_PERFORM - 494)) | (1 << (PostgreSQLParser.KW_GET - 494)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 494)) | (1 << (PostgreSQLParser.KW_STACKED - 494)) | (1 << (PostgreSQLParser.KW_ELSIF - 494)) | (1 << (PostgreSQLParser.KW_REVERSE - 494)) | (1 << (PostgreSQLParser.KW_SLICE - 494)) | (1 << (PostgreSQLParser.KW_EXIT - 494)) | (1 << (PostgreSQLParser.KW_RETURN - 494)) | (1 << (PostgreSQLParser.KW_QUERY - 494)) | (1 << (PostgreSQLParser.KW_RAISE - 494)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 494)) | (1 << (PostgreSQLParser.KW_DEBUG - 494)) | (1 << (PostgreSQLParser.KW_LOG - 494)) | (1 << (PostgreSQLParser.KW_INFO - 494)) | (1 << (PostgreSQLParser.KW_NOTICE - 494)) | (1 << (PostgreSQLParser.KW_WARNING - 494)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 494)) | (1 << (PostgreSQLParser.KW_ASSERT - 494)) | (1 << (PostgreSQLParser.KW_OPEN - 494)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.BinaryStringConstant - 547)) | (1 << (PostgreSQLParser.HexadecimalStringConstant - 547)) | (1 << (PostgreSQLParser.Integral - 547)) | (1 << (PostgreSQLParser.Numeric - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 10633; this.opt_slice_bound(); } } this.state = 10636; this.match(PostgreSQLParser.COLON); this.state = 10638; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.OPEN_PAREN) | (1 << PostgreSQLParser.PLUS) | (1 << PostgreSQLParser.MINUS) | (1 << PostgreSQLParser.PARAM) | (1 << PostgreSQLParser.Operator))) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_CASE - 33)) | (1 << (PostgreSQLParser.KW_CAST - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_CATALOG - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_DATE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_ROLE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIME - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIMESTAMP - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_USER - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FALSE - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 75)) & ~0x1F) === 0 && ((1 << (_la - 75)) & ((1 << (PostgreSQLParser.KW_LOCALTIME - 75)) | (1 << (PostgreSQLParser.KW_LOCALTIMESTAMP - 75)) | (1 << (PostgreSQLParser.KW_NOT - 75)) | (1 << (PostgreSQLParser.KW_NULL - 75)) | (1 << (PostgreSQLParser.KW_SESSION_USER - 75)) | (1 << (PostgreSQLParser.KW_TABLE - 75)) | (1 << (PostgreSQLParser.KW_TRUE - 75)) | (1 << (PostgreSQLParser.KW_UNIQUE - 75)) | (1 << (PostgreSQLParser.KW_USER - 75)) | (1 << (PostgreSQLParser.KW_AUTHORIZATION - 75)))) !== 0) || ((((_la - 107)) & ~0x1F) === 0 && ((1 << (_la - 107)) & ((1 << (PostgreSQLParser.KW_BINARY - 107)) | (1 << (PostgreSQLParser.KW_COLLATION - 107)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 107)) | (1 << (PostgreSQLParser.KW_CROSS - 107)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 107)) | (1 << (PostgreSQLParser.KW_FREEZE - 107)) | (1 << (PostgreSQLParser.KW_FULL - 107)) | (1 << (PostgreSQLParser.KW_ILIKE - 107)) | (1 << (PostgreSQLParser.KW_INNER - 107)) | (1 << (PostgreSQLParser.KW_IS - 107)) | (1 << (PostgreSQLParser.KW_ISNULL - 107)) | (1 << (PostgreSQLParser.KW_JOIN - 107)) | (1 << (PostgreSQLParser.KW_LEFT - 107)) | (1 << (PostgreSQLParser.KW_LIKE - 107)) | (1 << (PostgreSQLParser.KW_NATURAL - 107)) | (1 << (PostgreSQLParser.KW_NOTNULL - 107)) | (1 << (PostgreSQLParser.KW_OUTER - 107)) | (1 << (PostgreSQLParser.KW_OVER - 107)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 107)) | (1 << (PostgreSQLParser.KW_RIGHT - 107)) | (1 << (PostgreSQLParser.KW_SIMILAR - 107)) | (1 << (PostgreSQLParser.KW_VERBOSE - 107)) | (1 << (PostgreSQLParser.KW_ABORT - 107)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 107)) | (1 << (PostgreSQLParser.KW_ACCESS - 107)) | (1 << (PostgreSQLParser.KW_ACTION - 107)) | (1 << (PostgreSQLParser.KW_ADD - 107)) | (1 << (PostgreSQLParser.KW_ADMIN - 107)) | (1 << (PostgreSQLParser.KW_AFTER - 107)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 107)) | (1 << (PostgreSQLParser.KW_ALSO - 107)) | (1 << (PostgreSQLParser.KW_ALTER - 107)))) !== 0) || ((((_la - 139)) & ~0x1F) === 0 && ((1 << (_la - 139)) & ((1 << (PostgreSQLParser.KW_ALWAYS - 139)) | (1 << (PostgreSQLParser.KW_ASSERTION - 139)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 139)) | (1 << (PostgreSQLParser.KW_AT - 139)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 139)) | (1 << (PostgreSQLParser.KW_BACKWARD - 139)) | (1 << (PostgreSQLParser.KW_BEFORE - 139)) | (1 << (PostgreSQLParser.KW_BEGIN - 139)) | (1 << (PostgreSQLParser.KW_BY - 139)) | (1 << (PostgreSQLParser.KW_CACHE - 139)) | (1 << (PostgreSQLParser.KW_CALLED - 139)) | (1 << (PostgreSQLParser.KW_CASCADE - 139)) | (1 << (PostgreSQLParser.KW_CASCADED - 139)) | (1 << (PostgreSQLParser.KW_CATALOG - 139)) | (1 << (PostgreSQLParser.KW_CHAIN - 139)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 139)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 139)) | (1 << (PostgreSQLParser.KW_CLASS - 139)) | (1 << (PostgreSQLParser.KW_CLOSE - 139)) | (1 << (PostgreSQLParser.KW_CLUSTER - 139)) | (1 << (PostgreSQLParser.KW_COMMENT - 139)) | (1 << (PostgreSQLParser.KW_COMMENTS - 139)) | (1 << (PostgreSQLParser.KW_COMMIT - 139)) | (1 << (PostgreSQLParser.KW_COMMITTED - 139)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 139)) | (1 << (PostgreSQLParser.KW_CONNECTION - 139)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 139)) | (1 << (PostgreSQLParser.KW_CONTENT - 139)) | (1 << (PostgreSQLParser.KW_CONTINUE - 139)) | (1 << (PostgreSQLParser.KW_CONVERSION - 139)) | (1 << (PostgreSQLParser.KW_COPY - 139)) | (1 << (PostgreSQLParser.KW_COST - 139)))) !== 0) || ((((_la - 171)) & ~0x1F) === 0 && ((1 << (_la - 171)) & ((1 << (PostgreSQLParser.KW_CSV - 171)) | (1 << (PostgreSQLParser.KW_CURSOR - 171)) | (1 << (PostgreSQLParser.KW_CYCLE - 171)) | (1 << (PostgreSQLParser.KW_DATA - 171)) | (1 << (PostgreSQLParser.KW_DATABASE - 171)) | (1 << (PostgreSQLParser.KW_DAY - 171)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 171)) | (1 << (PostgreSQLParser.KW_DECLARE - 171)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 171)) | (1 << (PostgreSQLParser.KW_DEFERRED - 171)) | (1 << (PostgreSQLParser.KW_DEFINER - 171)) | (1 << (PostgreSQLParser.KW_DELETE - 171)) | (1 << (PostgreSQLParser.KW_DELIMITER - 171)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 171)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 171)) | (1 << (PostgreSQLParser.KW_DISABLE - 171)) | (1 << (PostgreSQLParser.KW_DISCARD - 171)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 171)) | (1 << (PostgreSQLParser.KW_DOMAIN - 171)) | (1 << (PostgreSQLParser.KW_DOUBLE - 171)) | (1 << (PostgreSQLParser.KW_DROP - 171)) | (1 << (PostgreSQLParser.KW_EACH - 171)) | (1 << (PostgreSQLParser.KW_ENABLE - 171)) | (1 << (PostgreSQLParser.KW_ENCODING - 171)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 171)) | (1 << (PostgreSQLParser.KW_ENUM - 171)) | (1 << (PostgreSQLParser.KW_ESCAPE - 171)) | (1 << (PostgreSQLParser.KW_EVENT - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 171)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 171)) | (1 << (PostgreSQLParser.KW_EXECUTE - 171)))) !== 0) || ((((_la - 203)) & ~0x1F) === 0 && ((1 << (_la - 203)) & ((1 << (PostgreSQLParser.KW_EXPLAIN - 203)) | (1 << (PostgreSQLParser.KW_EXTENSION - 203)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 203)) | (1 << (PostgreSQLParser.KW_FAMILY - 203)) | (1 << (PostgreSQLParser.KW_FIRST - 203)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 203)) | (1 << (PostgreSQLParser.KW_FORCE - 203)) | (1 << (PostgreSQLParser.KW_FORWARD - 203)) | (1 << (PostgreSQLParser.KW_FUNCTION - 203)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 203)) | (1 << (PostgreSQLParser.KW_GLOBAL - 203)) | (1 << (PostgreSQLParser.KW_GRANTED - 203)) | (1 << (PostgreSQLParser.KW_HANDLER - 203)) | (1 << (PostgreSQLParser.KW_HEADER - 203)) | (1 << (PostgreSQLParser.KW_HOLD - 203)) | (1 << (PostgreSQLParser.KW_HOUR - 203)) | (1 << (PostgreSQLParser.KW_IDENTITY - 203)) | (1 << (PostgreSQLParser.KW_IF - 203)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 203)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 203)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 203)) | (1 << (PostgreSQLParser.KW_INCLUDING - 203)) | (1 << (PostgreSQLParser.KW_INCREMENT - 203)) | (1 << (PostgreSQLParser.KW_INDEX - 203)) | (1 << (PostgreSQLParser.KW_INDEXES - 203)) | (1 << (PostgreSQLParser.KW_INHERIT - 203)))) !== 0) || ((((_la - 238)) & ~0x1F) === 0 && ((1 << (_la - 238)) & ((1 << (PostgreSQLParser.KW_INHERITS - 238)) | (1 << (PostgreSQLParser.KW_INLINE - 238)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 238)) | (1 << (PostgreSQLParser.KW_INSERT - 238)) | (1 << (PostgreSQLParser.KW_INSTEAD - 238)) | (1 << (PostgreSQLParser.KW_INVOKER - 238)) | (1 << (PostgreSQLParser.KW_ISOLATION - 238)) | (1 << (PostgreSQLParser.KW_KEY - 238)) | (1 << (PostgreSQLParser.KW_LABEL - 238)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 238)) | (1 << (PostgreSQLParser.KW_LARGE - 238)) | (1 << (PostgreSQLParser.KW_LAST - 238)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 238)) | (1 << (PostgreSQLParser.KW_LEVEL - 238)) | (1 << (PostgreSQLParser.KW_LISTEN - 238)) | (1 << (PostgreSQLParser.KW_LOAD - 238)) | (1 << (PostgreSQLParser.KW_LOCAL - 238)) | (1 << (PostgreSQLParser.KW_LOCATION - 238)) | (1 << (PostgreSQLParser.KW_LOCK - 238)) | (1 << (PostgreSQLParser.KW_MAPPING - 238)) | (1 << (PostgreSQLParser.KW_MATCH - 238)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 238)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 238)) | (1 << (PostgreSQLParser.KW_MINUTE - 238)) | (1 << (PostgreSQLParser.KW_MINVALUE - 238)) | (1 << (PostgreSQLParser.KW_MODE - 238)) | (1 << (PostgreSQLParser.KW_MONTH - 238)) | (1 << (PostgreSQLParser.KW_MOVE - 238)) | (1 << (PostgreSQLParser.KW_NAME - 238)) | (1 << (PostgreSQLParser.KW_NAMES - 238)) | (1 << (PostgreSQLParser.KW_NEXT - 238)) | (1 << (PostgreSQLParser.KW_NO - 238)))) !== 0) || ((((_la - 270)) & ~0x1F) === 0 && ((1 << (_la - 270)) & ((1 << (PostgreSQLParser.KW_NOTHING - 270)) | (1 << (PostgreSQLParser.KW_NOTIFY - 270)) | (1 << (PostgreSQLParser.KW_NOWAIT - 270)) | (1 << (PostgreSQLParser.KW_NULLS - 270)) | (1 << (PostgreSQLParser.KW_OBJECT - 270)) | (1 << (PostgreSQLParser.KW_OF - 270)) | (1 << (PostgreSQLParser.KW_OFF - 270)) | (1 << (PostgreSQLParser.KW_OIDS - 270)) | (1 << (PostgreSQLParser.KW_OPERATOR - 270)) | (1 << (PostgreSQLParser.KW_OPTION - 270)) | (1 << (PostgreSQLParser.KW_OPTIONS - 270)) | (1 << (PostgreSQLParser.KW_OWNED - 270)) | (1 << (PostgreSQLParser.KW_OWNER - 270)) | (1 << (PostgreSQLParser.KW_PARSER - 270)) | (1 << (PostgreSQLParser.KW_PARTIAL - 270)) | (1 << (PostgreSQLParser.KW_PARTITION - 270)) | (1 << (PostgreSQLParser.KW_PASSING - 270)) | (1 << (PostgreSQLParser.KW_PASSWORD - 270)) | (1 << (PostgreSQLParser.KW_PLANS - 270)) | (1 << (PostgreSQLParser.KW_PRECEDING - 270)) | (1 << (PostgreSQLParser.KW_PREPARE - 270)) | (1 << (PostgreSQLParser.KW_PREPARED - 270)) | (1 << (PostgreSQLParser.KW_PRESERVE - 270)) | (1 << (PostgreSQLParser.KW_PRIOR - 270)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 270)) | (1 << (PostgreSQLParser.KW_PROGRAM - 270)) | (1 << (PostgreSQLParser.KW_QUOTE - 270)) | (1 << (PostgreSQLParser.KW_RANGE - 270)) | (1 << (PostgreSQLParser.KW_READ - 270)) | (1 << (PostgreSQLParser.KW_REASSIGN - 270)))) !== 0) || ((((_la - 302)) & ~0x1F) === 0 && ((1 << (_la - 302)) & ((1 << (PostgreSQLParser.KW_RECHECK - 302)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 302)) | (1 << (PostgreSQLParser.KW_REF - 302)) | (1 << (PostgreSQLParser.KW_REFRESH - 302)) | (1 << (PostgreSQLParser.KW_REINDEX - 302)) | (1 << (PostgreSQLParser.KW_RELATIVE - 302)) | (1 << (PostgreSQLParser.KW_RELEASE - 302)) | (1 << (PostgreSQLParser.KW_RENAME - 302)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 302)) | (1 << (PostgreSQLParser.KW_REPLACE - 302)) | (1 << (PostgreSQLParser.KW_REPLICA - 302)) | (1 << (PostgreSQLParser.KW_RESET - 302)) | (1 << (PostgreSQLParser.KW_RESTART - 302)) | (1 << (PostgreSQLParser.KW_RESTRICT - 302)) | (1 << (PostgreSQLParser.KW_RETURNS - 302)) | (1 << (PostgreSQLParser.KW_REVOKE - 302)) | (1 << (PostgreSQLParser.KW_ROLE - 302)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 302)) | (1 << (PostgreSQLParser.KW_ROWS - 302)) | (1 << (PostgreSQLParser.KW_RULE - 302)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 302)) | (1 << (PostgreSQLParser.KW_SCHEMA - 302)) | (1 << (PostgreSQLParser.KW_SCROLL - 302)) | (1 << (PostgreSQLParser.KW_SEARCH - 302)) | (1 << (PostgreSQLParser.KW_SECOND - 302)) | (1 << (PostgreSQLParser.KW_SECURITY - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 302)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 302)) | (1 << (PostgreSQLParser.KW_SERVER - 302)) | (1 << (PostgreSQLParser.KW_SESSION - 302)) | (1 << (PostgreSQLParser.KW_SET - 302)))) !== 0) || ((((_la - 334)) & ~0x1F) === 0 && ((1 << (_la - 334)) & ((1 << (PostgreSQLParser.KW_SHARE - 334)) | (1 << (PostgreSQLParser.KW_SHOW - 334)) | (1 << (PostgreSQLParser.KW_SIMPLE - 334)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 334)) | (1 << (PostgreSQLParser.KW_STABLE - 334)) | (1 << (PostgreSQLParser.KW_STANDALONE - 334)) | (1 << (PostgreSQLParser.KW_START - 334)) | (1 << (PostgreSQLParser.KW_STATEMENT - 334)) | (1 << (PostgreSQLParser.KW_STATISTICS - 334)) | (1 << (PostgreSQLParser.KW_STDIN - 334)) | (1 << (PostgreSQLParser.KW_STDOUT - 334)) | (1 << (PostgreSQLParser.KW_STORAGE - 334)) | (1 << (PostgreSQLParser.KW_STRICT - 334)) | (1 << (PostgreSQLParser.KW_STRIP - 334)) | (1 << (PostgreSQLParser.KW_SYSID - 334)) | (1 << (PostgreSQLParser.KW_SYSTEM - 334)) | (1 << (PostgreSQLParser.KW_TABLES - 334)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 334)) | (1 << (PostgreSQLParser.KW_TEMP - 334)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 334)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 334)) | (1 << (PostgreSQLParser.KW_TEXT - 334)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 334)) | (1 << (PostgreSQLParser.KW_TRIGGER - 334)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 334)) | (1 << (PostgreSQLParser.KW_TRUSTED - 334)) | (1 << (PostgreSQLParser.KW_TYPE - 334)) | (1 << (PostgreSQLParser.KW_TYPES - 334)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 334)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 334)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 334)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 334)))) !== 0) || ((((_la - 366)) & ~0x1F) === 0 && ((1 << (_la - 366)) & ((1 << (PostgreSQLParser.KW_UNLISTEN - 366)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 366)) | (1 << (PostgreSQLParser.KW_UNTIL - 366)) | (1 << (PostgreSQLParser.KW_UPDATE - 366)) | (1 << (PostgreSQLParser.KW_VACUUM - 366)) | (1 << (PostgreSQLParser.KW_VALID - 366)) | (1 << (PostgreSQLParser.KW_VALIDATE - 366)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 366)) | (1 << (PostgreSQLParser.KW_VARYING - 366)) | (1 << (PostgreSQLParser.KW_VERSION - 366)) | (1 << (PostgreSQLParser.KW_VIEW - 366)) | (1 << (PostgreSQLParser.KW_VOLATILE - 366)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 366)) | (1 << (PostgreSQLParser.KW_WITHOUT - 366)) | (1 << (PostgreSQLParser.KW_WORK - 366)) | (1 << (PostgreSQLParser.KW_WRAPPER - 366)) | (1 << (PostgreSQLParser.KW_WRITE - 366)) | (1 << (PostgreSQLParser.KW_XML - 366)) | (1 << (PostgreSQLParser.KW_YEAR - 366)) | (1 << (PostgreSQLParser.KW_YES - 366)) | (1 << (PostgreSQLParser.KW_ZONE - 366)) | (1 << (PostgreSQLParser.KW_BETWEEN - 366)) | (1 << (PostgreSQLParser.KW_BIGINT - 366)) | (1 << (PostgreSQLParser.KW_BIT - 366)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 366)) | (1 << (PostgreSQLParser.KW_CHAR - 366)) | (1 << (PostgreSQLParser.KW_CHARACTER - 366)) | (1 << (PostgreSQLParser.KW_COALESCE - 366)) | (1 << (PostgreSQLParser.KW_DEC - 366)) | (1 << (PostgreSQLParser.KW_DECIMAL - 366)) | (1 << (PostgreSQLParser.KW_EXISTS - 366)) | (1 << (PostgreSQLParser.KW_EXTRACT - 366)))) !== 0) || ((((_la - 398)) & ~0x1F) === 0 && ((1 << (_la - 398)) & ((1 << (PostgreSQLParser.KW_FLOAT - 398)) | (1 << (PostgreSQLParser.KW_GREATEST - 398)) | (1 << (PostgreSQLParser.KW_INOUT - 398)) | (1 << (PostgreSQLParser.KW_INT - 398)) | (1 << (PostgreSQLParser.KW_INTEGER - 398)) | (1 << (PostgreSQLParser.KW_INTERVAL - 398)) | (1 << (PostgreSQLParser.KW_LEAST - 398)) | (1 << (PostgreSQLParser.KW_NATIONAL - 398)) | (1 << (PostgreSQLParser.KW_NCHAR - 398)) | (1 << (PostgreSQLParser.KW_NONE - 398)) | (1 << (PostgreSQLParser.KW_NULLIF - 398)) | (1 << (PostgreSQLParser.KW_NUMERIC - 398)) | (1 << (PostgreSQLParser.KW_OVERLAY - 398)) | (1 << (PostgreSQLParser.KW_POSITION - 398)) | (1 << (PostgreSQLParser.KW_PRECISION - 398)) | (1 << (PostgreSQLParser.KW_REAL - 398)) | (1 << (PostgreSQLParser.KW_ROW - 398)) | (1 << (PostgreSQLParser.KW_SETOF - 398)) | (1 << (PostgreSQLParser.KW_SMALLINT - 398)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 398)) | (1 << (PostgreSQLParser.KW_TIME - 398)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 398)) | (1 << (PostgreSQLParser.KW_TREAT - 398)) | (1 << (PostgreSQLParser.KW_TRIM - 398)) | (1 << (PostgreSQLParser.KW_VALUES - 398)) | (1 << (PostgreSQLParser.KW_VARCHAR - 398)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 398)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 398)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 398)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 398)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 398)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 398)))) !== 0) || ((((_la - 430)) & ~0x1F) === 0 && ((1 << (_la - 430)) & ((1 << (PostgreSQLParser.KW_XMLPI - 430)) | (1 << (PostgreSQLParser.KW_XMLROOT - 430)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 430)) | (1 << (PostgreSQLParser.KW_CALL - 430)) | (1 << (PostgreSQLParser.KW_CURRENT - 430)) | (1 << (PostgreSQLParser.KW_ATTACH - 430)) | (1 << (PostgreSQLParser.KW_DETACH - 430)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 430)) | (1 << (PostgreSQLParser.KW_GENERATED - 430)) | (1 << (PostgreSQLParser.KW_LOGGED - 430)) | (1 << (PostgreSQLParser.KW_STORED - 430)) | (1 << (PostgreSQLParser.KW_INCLUDE - 430)) | (1 << (PostgreSQLParser.KW_ROUTINE - 430)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 430)) | (1 << (PostgreSQLParser.KW_IMPORT - 430)) | (1 << (PostgreSQLParser.KW_POLICY - 430)) | (1 << (PostgreSQLParser.KW_METHOD - 430)) | (1 << (PostgreSQLParser.KW_REFERENCING - 430)) | (1 << (PostgreSQLParser.KW_NEW - 430)) | (1 << (PostgreSQLParser.KW_OLD - 430)) | (1 << (PostgreSQLParser.KW_VALUE - 430)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 430)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 430)) | (1 << (PostgreSQLParser.KW_OUT - 430)) | (1 << (PostgreSQLParser.KW_ROUTINES - 430)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 430)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 430)) | (1 << (PostgreSQLParser.KW_INPUT - 430)) | (1 << (PostgreSQLParser.KW_SUPPORT - 430)) | (1 << (PostgreSQLParser.KW_PARALLEL - 430)) | (1 << (PostgreSQLParser.KW_SQL - 430)))) !== 0) || ((((_la - 462)) & ~0x1F) === 0 && ((1 << (_la - 462)) & ((1 << (PostgreSQLParser.KW_DEPENDS - 462)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 462)) | (1 << (PostgreSQLParser.KW_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_SKIP - 462)) | (1 << (PostgreSQLParser.KW_LOCKED - 462)) | (1 << (PostgreSQLParser.KW_TIES - 462)) | (1 << (PostgreSQLParser.KW_ROLLUP - 462)) | (1 << (PostgreSQLParser.KW_CUBE - 462)) | (1 << (PostgreSQLParser.KW_GROUPING - 462)) | (1 << (PostgreSQLParser.KW_SETS - 462)) | (1 << (PostgreSQLParser.KW_TABLESAMPLE - 462)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 462)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 462)) | (1 << (PostgreSQLParser.KW_COLUMNS - 462)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 462)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 462)) | (1 << (PostgreSQLParser.KW_WITHIN - 462)) | (1 << (PostgreSQLParser.KW_FILTER - 462)) | (1 << (PostgreSQLParser.KW_GROUPS - 462)) | (1 << (PostgreSQLParser.KW_OTHERS - 462)) | (1 << (PostgreSQLParser.KW_NFC - 462)) | (1 << (PostgreSQLParser.KW_NFD - 462)) | (1 << (PostgreSQLParser.KW_NFKC - 462)) | (1 << (PostgreSQLParser.KW_NFKD - 462)) | (1 << (PostgreSQLParser.KW_UESCAPE - 462)) | (1 << (PostgreSQLParser.KW_VIEWS - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 462)) | (1 << (PostgreSQLParser.KW_DUMP - 462)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 462)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_ERROR - 462)))) !== 0) || ((((_la - 494)) & ~0x1F) === 0 && ((1 << (_la - 494)) & ((1 << (PostgreSQLParser.KW_USE_VARIABLE - 494)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 494)) | (1 << (PostgreSQLParser.KW_ALIAS - 494)) | (1 << (PostgreSQLParser.KW_CONSTANT - 494)) | (1 << (PostgreSQLParser.KW_PERFORM - 494)) | (1 << (PostgreSQLParser.KW_GET - 494)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 494)) | (1 << (PostgreSQLParser.KW_STACKED - 494)) | (1 << (PostgreSQLParser.KW_ELSIF - 494)) | (1 << (PostgreSQLParser.KW_REVERSE - 494)) | (1 << (PostgreSQLParser.KW_SLICE - 494)) | (1 << (PostgreSQLParser.KW_EXIT - 494)) | (1 << (PostgreSQLParser.KW_RETURN - 494)) | (1 << (PostgreSQLParser.KW_QUERY - 494)) | (1 << (PostgreSQLParser.KW_RAISE - 494)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 494)) | (1 << (PostgreSQLParser.KW_DEBUG - 494)) | (1 << (PostgreSQLParser.KW_LOG - 494)) | (1 << (PostgreSQLParser.KW_INFO - 494)) | (1 << (PostgreSQLParser.KW_NOTICE - 494)) | (1 << (PostgreSQLParser.KW_WARNING - 494)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 494)) | (1 << (PostgreSQLParser.KW_ASSERT - 494)) | (1 << (PostgreSQLParser.KW_OPEN - 494)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.BinaryStringConstant - 547)) | (1 << (PostgreSQLParser.HexadecimalStringConstant - 547)) | (1 << (PostgreSQLParser.Integral - 547)) | (1 << (PostgreSQLParser.Numeric - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 10637; this.opt_slice_bound(); } } } break; } this.state = 10642; this.match(PostgreSQLParser.CLOSE_BRACKET); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_slice_bound(): Opt_slice_boundContext { let _localctx: Opt_slice_boundContext = new Opt_slice_boundContext(this._ctx, this.state); this.enterRule(_localctx, 1380, PostgreSQLParser.RULE_opt_slice_bound); try { this.enterOuterAlt(_localctx, 1); { this.state = 10645; this.a_expr(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public indirection(): IndirectionContext { let _localctx: IndirectionContext = new IndirectionContext(this._ctx, this.state); this.enterRule(_localctx, 1382, PostgreSQLParser.RULE_indirection); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 10648; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 10647; this.indirection_el(); } } break; default: throw new NoViableAltException(this); } this.state = 10650; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1111, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_indirection(): Opt_indirectionContext { let _localctx: Opt_indirectionContext = new Opt_indirectionContext(this._ctx, this.state); this.enterRule(_localctx, 1384, PostgreSQLParser.RULE_opt_indirection); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 10655; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1112, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 10652; this.indirection_el(); } } } this.state = 10657; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1112, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_target_list(): Opt_target_listContext { let _localctx: Opt_target_listContext = new Opt_target_listContext(this._ctx, this.state); this.enterRule(_localctx, 1386, PostgreSQLParser.RULE_opt_target_list); try { this.enterOuterAlt(_localctx, 1); { this.state = 10658; this.target_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public target_list(): Target_listContext { let _localctx: Target_listContext = new Target_listContext(this._ctx, this.state); this.enterRule(_localctx, 1388, PostgreSQLParser.RULE_target_list); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 10660; this.target_el(); this.state = 10665; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1113, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 10661; this.match(PostgreSQLParser.COMMA); this.state = 10662; this.target_el(); } } } this.state = 10667; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1113, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public target_el(): Target_elContext { let _localctx: Target_elContext = new Target_elContext(this._ctx, this.state); this.enterRule(_localctx, 1390, PostgreSQLParser.RULE_target_el); try { this.state = 10676; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: case PostgreSQLParser.PLUS: case PostgreSQLParser.MINUS: case PostgreSQLParser.PARAM: case PostgreSQLParser.Operator: case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_CASE: case PostgreSQLParser.KW_CAST: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_CURRENT_CATALOG: case PostgreSQLParser.KW_CURRENT_DATE: case PostgreSQLParser.KW_CURRENT_ROLE: case PostgreSQLParser.KW_CURRENT_TIME: case PostgreSQLParser.KW_CURRENT_TIMESTAMP: case PostgreSQLParser.KW_CURRENT_USER: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FALSE: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_LOCALTIME: case PostgreSQLParser.KW_LOCALTIMESTAMP: case PostgreSQLParser.KW_NOT: case PostgreSQLParser.KW_NULL: case PostgreSQLParser.KW_SESSION_USER: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_TRUE: case PostgreSQLParser.KW_UNIQUE: case PostgreSQLParser.KW_USER: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.BinaryStringConstant: case PostgreSQLParser.HexadecimalStringConstant: case PostgreSQLParser.Integral: case PostgreSQLParser.Numeric: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: _localctx = new Target_labelContext(_localctx); this.enterOuterAlt(_localctx, 1); { this.state = 10668; this.column_expr_noparen(); this.state = 10673; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1114, this._ctx) ) { case 1: { this.state = 10669; this.match(PostgreSQLParser.KW_AS); this.state = 10670; this.collabel(); } break; case 2: { this.state = 10671; this.identifier(); } break; case 3: // tslint:disable-next-line:no-empty { } break; } } break; case PostgreSQLParser.STAR: _localctx = new Target_starContext(_localctx); this.enterOuterAlt(_localctx, 2); { this.state = 10675; this.match(PostgreSQLParser.STAR); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public qualified_name_list(): Qualified_name_listContext { let _localctx: Qualified_name_listContext = new Qualified_name_listContext(this._ctx, this.state); this.enterRule(_localctx, 1392, PostgreSQLParser.RULE_qualified_name_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10678; this.qualified_name(); this.state = 10683; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 10679; this.match(PostgreSQLParser.COMMA); this.state = 10680; this.qualified_name(); } } this.state = 10685; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public table_name_list(): Table_name_listContext { let _localctx: Table_name_listContext = new Table_name_listContext(this._ctx, this.state); this.enterRule(_localctx, 1394, PostgreSQLParser.RULE_table_name_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10686; this.table_name(); this.state = 10691; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 10687; this.match(PostgreSQLParser.COMMA); this.state = 10688; this.table_name(); } } this.state = 10693; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public schema_name_list(): Schema_name_listContext { let _localctx: Schema_name_listContext = new Schema_name_listContext(this._ctx, this.state); this.enterRule(_localctx, 1396, PostgreSQLParser.RULE_schema_name_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10694; this.schema_name(); this.state = 10699; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 10695; this.match(PostgreSQLParser.COMMA); this.state = 10696; this.schema_name(); } } this.state = 10701; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public database_nameList(): Database_nameListContext { let _localctx: Database_nameListContext = new Database_nameListContext(this._ctx, this.state); this.enterRule(_localctx, 1398, PostgreSQLParser.RULE_database_nameList); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10702; this.database_name(); this.state = 10707; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 10703; this.match(PostgreSQLParser.COMMA); this.state = 10704; this.database_name(); } } this.state = 10709; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public procedure_name_list(): Procedure_name_listContext { let _localctx: Procedure_name_listContext = new Procedure_name_listContext(this._ctx, this.state); this.enterRule(_localctx, 1400, PostgreSQLParser.RULE_procedure_name_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10710; this.procedure_name(); this.state = 10715; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 10711; this.match(PostgreSQLParser.COMMA); this.state = 10712; this.procedure_name(); } } this.state = 10717; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public tablespace_name_create(): Tablespace_name_createContext { let _localctx: Tablespace_name_createContext = new Tablespace_name_createContext(this._ctx, this.state); this.enterRule(_localctx, 1402, PostgreSQLParser.RULE_tablespace_name_create); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10718; this.colid(); this.state = 10720; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_BRACKET || _la === PostgreSQLParser.DOT) { { this.state = 10719; this.indirection(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public tablespace_name(): Tablespace_nameContext { let _localctx: Tablespace_nameContext = new Tablespace_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1404, PostgreSQLParser.RULE_tablespace_name); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10722; this.colid(); this.state = 10724; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_BRACKET || _la === PostgreSQLParser.DOT) { { this.state = 10723; this.indirection(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public table_name_create(): Table_name_createContext { let _localctx: Table_name_createContext = new Table_name_createContext(this._ctx, this.state); this.enterRule(_localctx, 1406, PostgreSQLParser.RULE_table_name_create); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10726; this.colid(); this.state = 10728; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_BRACKET || _la === PostgreSQLParser.DOT) { { this.state = 10727; this.indirection(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public table_name(): Table_nameContext { let _localctx: Table_nameContext = new Table_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1408, PostgreSQLParser.RULE_table_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 10730; this.colid(); this.state = 10732; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1124, this._ctx) ) { case 1: { this.state = 10731; this.indirection(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public view_name_create(): View_name_createContext { let _localctx: View_name_createContext = new View_name_createContext(this._ctx, this.state); this.enterRule(_localctx, 1410, PostgreSQLParser.RULE_view_name_create); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10734; this.colid(); this.state = 10736; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_BRACKET || _la === PostgreSQLParser.DOT) { { this.state = 10735; this.indirection(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public view_name(): View_nameContext { let _localctx: View_nameContext = new View_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1412, PostgreSQLParser.RULE_view_name); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10738; this.colid(); this.state = 10740; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.DOT) { { this.state = 10739; this.attrs(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public qualified_name(): Qualified_nameContext { let _localctx: Qualified_nameContext = new Qualified_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1414, PostgreSQLParser.RULE_qualified_name); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10742; this.colid(); this.state = 10744; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_BRACKET || _la === PostgreSQLParser.DOT) { { this.state = 10743; this.indirection(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public tablespace_name_list(): Tablespace_name_listContext { let _localctx: Tablespace_name_listContext = new Tablespace_name_listContext(this._ctx, this.state); this.enterRule(_localctx, 1416, PostgreSQLParser.RULE_tablespace_name_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10746; this.tablespace_name(); this.state = 10751; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 10747; this.match(PostgreSQLParser.COMMA); this.state = 10748; this.tablespace_name(); } } this.state = 10753; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public name_list(): Name_listContext { let _localctx: Name_listContext = new Name_listContext(this._ctx, this.state); this.enterRule(_localctx, 1418, PostgreSQLParser.RULE_name_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10754; this.name(); this.state = 10759; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 10755; this.match(PostgreSQLParser.COMMA); this.state = 10756; this.name(); } } this.state = 10761; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public database_name_create(): Database_name_createContext { let _localctx: Database_name_createContext = new Database_name_createContext(this._ctx, this.state); this.enterRule(_localctx, 1420, PostgreSQLParser.RULE_database_name_create); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10762; this.colid(); this.state = 10764; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.DOT) { { this.state = 10763; this.attrs(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public database_name(): Database_nameContext { let _localctx: Database_nameContext = new Database_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1422, PostgreSQLParser.RULE_database_name); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10766; this.colid(); this.state = 10768; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.DOT) { { this.state = 10767; this.attrs(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public schema_name(): Schema_nameContext { let _localctx: Schema_nameContext = new Schema_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1424, PostgreSQLParser.RULE_schema_name); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10770; this.colid(); this.state = 10772; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.DOT) { { this.state = 10771; this.attrs(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public routine_name_create(): Routine_name_createContext { let _localctx: Routine_name_createContext = new Routine_name_createContext(this._ctx, this.state); this.enterRule(_localctx, 1426, PostgreSQLParser.RULE_routine_name_create); try { this.enterOuterAlt(_localctx, 1); { this.state = 10774; this.colid(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public routine_name(): Routine_nameContext { let _localctx: Routine_nameContext = new Routine_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1428, PostgreSQLParser.RULE_routine_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 10776; this.colid(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public procedure_name(): Procedure_nameContext { let _localctx: Procedure_nameContext = new Procedure_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1430, PostgreSQLParser.RULE_procedure_name); try { this.state = 10782; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1133, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10778; this.type_function_name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10779; this.colid(); this.state = 10780; this.indirection(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public procedure_name_create(): Procedure_name_createContext { let _localctx: Procedure_name_createContext = new Procedure_name_createContext(this._ctx, this.state); this.enterRule(_localctx, 1432, PostgreSQLParser.RULE_procedure_name_create); try { this.state = 10788; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1134, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10784; this.type_function_name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10785; this.colid(); this.state = 10786; this.indirection(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public column_name(): Column_nameContext { let _localctx: Column_nameContext = new Column_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1434, PostgreSQLParser.RULE_column_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 10790; this.colid(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public column_name_create(): Column_name_createContext { let _localctx: Column_name_createContext = new Column_name_createContext(this._ctx, this.state); this.enterRule(_localctx, 1436, PostgreSQLParser.RULE_column_name_create); try { this.enterOuterAlt(_localctx, 1); { this.state = 10792; this.colid(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public name(): NameContext { let _localctx: NameContext = new NameContext(this._ctx, this.state); this.enterRule(_localctx, 1438, PostgreSQLParser.RULE_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 10794; this.colid(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public attr_name(): Attr_nameContext { let _localctx: Attr_nameContext = new Attr_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1440, PostgreSQLParser.RULE_attr_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 10796; this.collabel(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public file_name(): File_nameContext { let _localctx: File_nameContext = new File_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1442, PostgreSQLParser.RULE_file_name); try { this.enterOuterAlt(_localctx, 1); { this.state = 10798; this.sconst(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public function_name_create(): Function_name_createContext { let _localctx: Function_name_createContext = new Function_name_createContext(this._ctx, this.state); this.enterRule(_localctx, 1444, PostgreSQLParser.RULE_function_name_create); try { this.state = 10804; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1135, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10800; this.type_function_name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10801; this.colid(); this.state = 10802; this.indirection(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public function_name(): Function_nameContext { let _localctx: Function_nameContext = new Function_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1446, PostgreSQLParser.RULE_function_name); try { this.state = 10810; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1136, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10806; this.type_function_name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10807; this.colid(); this.state = 10808; this.indirection(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public usual_name(): Usual_nameContext { let _localctx: Usual_nameContext = new Usual_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1448, PostgreSQLParser.RULE_usual_name); try { this.state = 10816; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1137, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10812; this.type_usual_name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10813; this.colid(); this.state = 10814; this.indirection(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public aexprconst(): AexprconstContext { let _localctx: AexprconstContext = new AexprconstContext(this._ctx, this.state); this.enterRule(_localctx, 1450, PostgreSQLParser.RULE_aexprconst); let _la: number; try { this.state = 10853; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1142, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10818; this.iconst(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10819; this.fconst(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10820; this.sconst(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 10821; this.bconst(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 10822; this.xconst(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 10823; this.function_name(); this.state = 10833; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.EscapeStringConstant: { this.state = 10824; this.sconst(); } break; case PostgreSQLParser.OPEN_PAREN: { this.state = 10825; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10826; this.func_arg_list(); this.state = 10828; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ORDER) { { this.state = 10827; this.opt_sort_clause(); } } this.state = 10830; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 10831; this.sconst(); } break; default: throw new NoViableAltException(this); } } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 10835; this.consttypename(); this.state = 10836; this.sconst(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 10838; this.constinterval(); this.state = 10848; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.EscapeStringConstant: { this.state = 10839; this.sconst(); this.state = 10841; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1140, this._ctx) ) { case 1: { this.state = 10840; this.opt_interval(); } break; } } break; case PostgreSQLParser.OPEN_PAREN: { this.state = 10843; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10844; this.iconst(); this.state = 10845; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 10846; this.sconst(); } break; default: throw new NoViableAltException(this); } } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 10850; this.match(PostgreSQLParser.KW_TRUE); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 10851; this.match(PostgreSQLParser.KW_FALSE); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 10852; this.match(PostgreSQLParser.KW_NULL); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public xconst(): XconstContext { let _localctx: XconstContext = new XconstContext(this._ctx, this.state); this.enterRule(_localctx, 1452, PostgreSQLParser.RULE_xconst); try { this.enterOuterAlt(_localctx, 1); { this.state = 10855; this.match(PostgreSQLParser.HexadecimalStringConstant); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public bconst(): BconstContext { let _localctx: BconstContext = new BconstContext(this._ctx, this.state); this.enterRule(_localctx, 1454, PostgreSQLParser.RULE_bconst); try { this.enterOuterAlt(_localctx, 1); { this.state = 10857; this.match(PostgreSQLParser.BinaryStringConstant); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public fconst(): FconstContext { let _localctx: FconstContext = new FconstContext(this._ctx, this.state); this.enterRule(_localctx, 1456, PostgreSQLParser.RULE_fconst); try { this.enterOuterAlt(_localctx, 1); { this.state = 10859; this.match(PostgreSQLParser.Numeric); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public iconst(): IconstContext { let _localctx: IconstContext = new IconstContext(this._ctx, this.state); this.enterRule(_localctx, 1458, PostgreSQLParser.RULE_iconst); try { this.enterOuterAlt(_localctx, 1); { this.state = 10861; this.match(PostgreSQLParser.Integral); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public sconst(): SconstContext { let _localctx: SconstContext = new SconstContext(this._ctx, this.state); this.enterRule(_localctx, 1460, PostgreSQLParser.RULE_sconst); try { this.enterOuterAlt(_localctx, 1); { this.state = 10863; this.anysconst(); this.state = 10865; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1143, this._ctx) ) { case 1: { this.state = 10864; this.opt_uescape(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public anysconst(): AnysconstContext { let _localctx: AnysconstContext = new AnysconstContext(this._ctx, this.state); this.enterRule(_localctx, 1462, PostgreSQLParser.RULE_anysconst); let _la: number; try { this.state = 10878; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.StringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 10867; this.match(PostgreSQLParser.StringConstant); } break; case PostgreSQLParser.UnicodeEscapeStringConstant: this.enterOuterAlt(_localctx, 2); { this.state = 10868; this.match(PostgreSQLParser.UnicodeEscapeStringConstant); } break; case PostgreSQLParser.BeginDollarStringConstant: this.enterOuterAlt(_localctx, 3); { this.state = 10869; this.match(PostgreSQLParser.BeginDollarStringConstant); this.state = 10873; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.DollarText) { { { this.state = 10870; this.match(PostgreSQLParser.DollarText); } } this.state = 10875; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 10876; this.match(PostgreSQLParser.EndDollarStringConstant); } break; case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 4); { this.state = 10877; this.match(PostgreSQLParser.EscapeStringConstant); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_uescape(): Opt_uescapeContext { let _localctx: Opt_uescapeContext = new Opt_uescapeContext(this._ctx, this.state); this.enterRule(_localctx, 1464, PostgreSQLParser.RULE_opt_uescape); try { this.enterOuterAlt(_localctx, 1); { this.state = 10880; this.match(PostgreSQLParser.KW_UESCAPE); this.state = 10881; this.anysconst(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public signediconst(): SignediconstContext { let _localctx: SignediconstContext = new SignediconstContext(this._ctx, this.state); this.enterRule(_localctx, 1466, PostgreSQLParser.RULE_signediconst); try { this.state = 10888; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.Integral: this.enterOuterAlt(_localctx, 1); { this.state = 10883; this.iconst(); } break; case PostgreSQLParser.PLUS: this.enterOuterAlt(_localctx, 2); { this.state = 10884; this.match(PostgreSQLParser.PLUS); this.state = 10885; this.iconst(); } break; case PostgreSQLParser.MINUS: this.enterOuterAlt(_localctx, 3); { this.state = 10886; this.match(PostgreSQLParser.MINUS); this.state = 10887; this.iconst(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public groupname(): GroupnameContext { let _localctx: GroupnameContext = new GroupnameContext(this._ctx, this.state); this.enterRule(_localctx, 1468, PostgreSQLParser.RULE_groupname); try { this.enterOuterAlt(_localctx, 1); { this.state = 10890; this.rolespec(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public roleid(): RoleidContext { let _localctx: RoleidContext = new RoleidContext(this._ctx, this.state); this.enterRule(_localctx, 1470, PostgreSQLParser.RULE_roleid); try { this.enterOuterAlt(_localctx, 1); { this.state = 10892; this.rolespec(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public rolespec(): RolespecContext { let _localctx: RolespecContext = new RolespecContext(this._ctx, this.state); this.enterRule(_localctx, 1472, PostgreSQLParser.RULE_rolespec); try { this.state = 10899; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 10894; this.nonreservedword(); } break; case PostgreSQLParser.KW_CURRENT_USER: this.enterOuterAlt(_localctx, 2); { this.state = 10895; this.match(PostgreSQLParser.KW_CURRENT_USER); } break; case PostgreSQLParser.KW_CURRENT_ROLE: this.enterOuterAlt(_localctx, 3); { this.state = 10896; this.match(PostgreSQLParser.KW_CURRENT_ROLE); } break; case PostgreSQLParser.KW_SESSION_USER: this.enterOuterAlt(_localctx, 4); { this.state = 10897; this.match(PostgreSQLParser.KW_SESSION_USER); } break; case PostgreSQLParser.KW_PUBLIC: this.enterOuterAlt(_localctx, 5); { this.state = 10898; this.match(PostgreSQLParser.KW_PUBLIC); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public role_list(): Role_listContext { let _localctx: Role_listContext = new Role_listContext(this._ctx, this.state); this.enterRule(_localctx, 1474, PostgreSQLParser.RULE_role_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10901; this.rolespec(); this.state = 10906; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 10902; this.match(PostgreSQLParser.COMMA); this.state = 10903; this.rolespec(); } } this.state = 10908; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public colid(): ColidContext { let _localctx: ColidContext = new ColidContext(this._ctx, this.state); this.enterRule(_localctx, 1476, PostgreSQLParser.RULE_colid); try { this.state = 10913; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1149, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10909; this.identifier(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10910; this.unreserved_keyword(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10911; this.col_name_keyword(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 10912; this.plsql_unreserved_keyword(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public index_method_choices(): Index_method_choicesContext { let _localctx: Index_method_choicesContext = new Index_method_choicesContext(this._ctx, this.state); this.enterRule(_localctx, 1478, PostgreSQLParser.RULE_index_method_choices); try { this.enterOuterAlt(_localctx, 1); { this.state = 10915; this.identifier(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public exclude_element(): Exclude_elementContext { let _localctx: Exclude_elementContext = new Exclude_elementContext(this._ctx, this.state); this.enterRule(_localctx, 1480, PostgreSQLParser.RULE_exclude_element); let _la: number; try { this.state = 10929; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_WITH: this.enterOuterAlt(_localctx, 1); { this.state = 10917; this.opt_definition(); } break; case PostgreSQLParser.OPEN_PAREN: this.enterOuterAlt(_localctx, 2); { { this.state = 10918; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 10919; this.a_expr(); this.state = 10920; this.match(PostgreSQLParser.CLOSE_PAREN); } this.state = 10922; this.identifier(); this.state = 10924; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ASC || _la === PostgreSQLParser.KW_DESC) { { this.state = 10923; this.opt_asc_desc(); } } this.state = 10927; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NULLS) { { this.state = 10926; this.opt_nulls_order(); } } } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public index_paramenters(): Index_paramentersContext { let _localctx: Index_paramentersContext = new Index_paramentersContext(this._ctx, this.state); this.enterRule(_localctx, 1482, PostgreSQLParser.RULE_index_paramenters); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10933; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WITH) { { this.state = 10931; this.match(PostgreSQLParser.KW_WITH); this.state = 10932; this.reloptions(); } } this.state = 10936; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_USING) { { this.state = 10935; this.optconstablespace(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public type_function_name(): Type_function_nameContext { let _localctx: Type_function_nameContext = new Type_function_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1484, PostgreSQLParser.RULE_type_function_name); try { this.state = 10942; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1155, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10938; this.identifier(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10939; this.unreserved_keyword(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10940; this.plsql_unreserved_keyword(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 10941; this.type_func_name_keyword(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public type_usual_name(): Type_usual_nameContext { let _localctx: Type_usual_nameContext = new Type_usual_nameContext(this._ctx, this.state); this.enterRule(_localctx, 1486, PostgreSQLParser.RULE_type_usual_name); try { this.state = 10948; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1156, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10944; this.identifier(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10945; this.unreserved_keyword(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10946; this.plsql_unreserved_keyword(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 10947; this.type_func_name_keyword(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public nonreservedword_column(): Nonreservedword_columnContext { let _localctx: Nonreservedword_columnContext = new Nonreservedword_columnContext(this._ctx, this.state); this.enterRule(_localctx, 1488, PostgreSQLParser.RULE_nonreservedword_column); try { this.state = 10952; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1157, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10950; this.column_name(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10951; this.type_func_name_keyword(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public nonreservedword(): NonreservedwordContext { let _localctx: NonreservedwordContext = new NonreservedwordContext(this._ctx, this.state); this.enterRule(_localctx, 1490, PostgreSQLParser.RULE_nonreservedword); try { this.state = 10958; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1158, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10954; this.identifier(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10955; this.unreserved_keyword(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10956; this.col_name_keyword(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 10957; this.type_func_name_keyword(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public collabel(): CollabelContext { let _localctx: CollabelContext = new CollabelContext(this._ctx, this.state); this.enterRule(_localctx, 1492, PostgreSQLParser.RULE_collabel); try { this.state = 10966; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1159, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10960; this.identifier(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10961; this.plsql_unreserved_keyword(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10962; this.unreserved_keyword(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 10963; this.col_name_keyword(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 10964; this.type_func_name_keyword(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 10965; this.reserved_keyword(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public identifier(): IdentifierContext { let _localctx: IdentifierContext = new IdentifierContext(this._ctx, this.state); this.enterRule(_localctx, 1494, PostgreSQLParser.RULE_identifier); try { this.state = 10978; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.Identifier: this.enterOuterAlt(_localctx, 1); { this.state = 10968; this.match(PostgreSQLParser.Identifier); this.state = 10970; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1160, this._ctx) ) { case 1: { this.state = 10969; this.opt_uescape(); } break; } } break; case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 2); { this.state = 10972; this.sconst(); } break; case PostgreSQLParser.QuotedIdentifier: this.enterOuterAlt(_localctx, 3); { this.state = 10973; this.match(PostgreSQLParser.QuotedIdentifier); } break; case PostgreSQLParser.UnicodeQuotedIdentifier: this.enterOuterAlt(_localctx, 4); { this.state = 10974; this.match(PostgreSQLParser.UnicodeQuotedIdentifier); } break; case PostgreSQLParser.PLSQLVARIABLENAME: this.enterOuterAlt(_localctx, 5); { this.state = 10975; this.plsqlvariablename(); } break; case PostgreSQLParser.PLSQLIDENTIFIER: this.enterOuterAlt(_localctx, 6); { this.state = 10976; this.plsqlidentifier(); } break; case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: this.enterOuterAlt(_localctx, 7); { this.state = 10977; this.plsql_unreserved_keyword(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public plsqlidentifier(): PlsqlidentifierContext { let _localctx: PlsqlidentifierContext = new PlsqlidentifierContext(this._ctx, this.state); this.enterRule(_localctx, 1496, PostgreSQLParser.RULE_plsqlidentifier); try { this.enterOuterAlt(_localctx, 1); { this.state = 10980; this.match(PostgreSQLParser.PLSQLIDENTIFIER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public unreserved_keyword(): Unreserved_keywordContext { let _localctx: Unreserved_keywordContext = new Unreserved_keywordContext(this._ctx, this.state); this.enterRule(_localctx, 1498, PostgreSQLParser.RULE_unreserved_keyword); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 10982; _la = this._input.LA(1); if (!(((((_la - 124)) & ~0x1F) === 0 && ((1 << (_la - 124)) & ((1 << (PostgreSQLParser.KW_OVER - 124)) | (1 << (PostgreSQLParser.KW_ABORT - 124)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 124)) | (1 << (PostgreSQLParser.KW_ACCESS - 124)) | (1 << (PostgreSQLParser.KW_ACTION - 124)) | (1 << (PostgreSQLParser.KW_ADD - 124)) | (1 << (PostgreSQLParser.KW_ADMIN - 124)) | (1 << (PostgreSQLParser.KW_AFTER - 124)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 124)) | (1 << (PostgreSQLParser.KW_ALSO - 124)) | (1 << (PostgreSQLParser.KW_ALTER - 124)) | (1 << (PostgreSQLParser.KW_ALWAYS - 124)) | (1 << (PostgreSQLParser.KW_ASSERTION - 124)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 124)) | (1 << (PostgreSQLParser.KW_AT - 124)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 124)) | (1 << (PostgreSQLParser.KW_BACKWARD - 124)) | (1 << (PostgreSQLParser.KW_BEFORE - 124)) | (1 << (PostgreSQLParser.KW_BEGIN - 124)) | (1 << (PostgreSQLParser.KW_BY - 124)) | (1 << (PostgreSQLParser.KW_CACHE - 124)) | (1 << (PostgreSQLParser.KW_CALLED - 124)) | (1 << (PostgreSQLParser.KW_CASCADE - 124)) | (1 << (PostgreSQLParser.KW_CASCADED - 124)) | (1 << (PostgreSQLParser.KW_CATALOG - 124)) | (1 << (PostgreSQLParser.KW_CHAIN - 124)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 124)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 124)))) !== 0) || ((((_la - 156)) & ~0x1F) === 0 && ((1 << (_la - 156)) & ((1 << (PostgreSQLParser.KW_CLASS - 156)) | (1 << (PostgreSQLParser.KW_CLOSE - 156)) | (1 << (PostgreSQLParser.KW_CLUSTER - 156)) | (1 << (PostgreSQLParser.KW_COMMENT - 156)) | (1 << (PostgreSQLParser.KW_COMMENTS - 156)) | (1 << (PostgreSQLParser.KW_COMMIT - 156)) | (1 << (PostgreSQLParser.KW_COMMITTED - 156)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 156)) | (1 << (PostgreSQLParser.KW_CONNECTION - 156)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 156)) | (1 << (PostgreSQLParser.KW_CONTENT - 156)) | (1 << (PostgreSQLParser.KW_CONTINUE - 156)) | (1 << (PostgreSQLParser.KW_CONVERSION - 156)) | (1 << (PostgreSQLParser.KW_COPY - 156)) | (1 << (PostgreSQLParser.KW_COST - 156)) | (1 << (PostgreSQLParser.KW_CSV - 156)) | (1 << (PostgreSQLParser.KW_CURSOR - 156)) | (1 << (PostgreSQLParser.KW_CYCLE - 156)) | (1 << (PostgreSQLParser.KW_DATA - 156)) | (1 << (PostgreSQLParser.KW_DATABASE - 156)) | (1 << (PostgreSQLParser.KW_DAY - 156)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 156)) | (1 << (PostgreSQLParser.KW_DECLARE - 156)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 156)) | (1 << (PostgreSQLParser.KW_DEFERRED - 156)) | (1 << (PostgreSQLParser.KW_DEFINER - 156)) | (1 << (PostgreSQLParser.KW_DELETE - 156)) | (1 << (PostgreSQLParser.KW_DELIMITER - 156)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 156)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 156)) | (1 << (PostgreSQLParser.KW_DISABLE - 156)) | (1 << (PostgreSQLParser.KW_DISCARD - 156)))) !== 0) || ((((_la - 188)) & ~0x1F) === 0 && ((1 << (_la - 188)) & ((1 << (PostgreSQLParser.KW_DOCUMENT - 188)) | (1 << (PostgreSQLParser.KW_DOMAIN - 188)) | (1 << (PostgreSQLParser.KW_DOUBLE - 188)) | (1 << (PostgreSQLParser.KW_DROP - 188)) | (1 << (PostgreSQLParser.KW_EACH - 188)) | (1 << (PostgreSQLParser.KW_ENABLE - 188)) | (1 << (PostgreSQLParser.KW_ENCODING - 188)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 188)) | (1 << (PostgreSQLParser.KW_ENUM - 188)) | (1 << (PostgreSQLParser.KW_ESCAPE - 188)) | (1 << (PostgreSQLParser.KW_EVENT - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 188)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 188)) | (1 << (PostgreSQLParser.KW_EXECUTE - 188)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 188)) | (1 << (PostgreSQLParser.KW_EXTENSION - 188)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 188)) | (1 << (PostgreSQLParser.KW_FAMILY - 188)) | (1 << (PostgreSQLParser.KW_FIRST - 188)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 188)) | (1 << (PostgreSQLParser.KW_FORCE - 188)) | (1 << (PostgreSQLParser.KW_FORWARD - 188)) | (1 << (PostgreSQLParser.KW_FUNCTION - 188)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 188)) | (1 << (PostgreSQLParser.KW_GLOBAL - 188)) | (1 << (PostgreSQLParser.KW_GRANTED - 188)) | (1 << (PostgreSQLParser.KW_HANDLER - 188)) | (1 << (PostgreSQLParser.KW_HEADER - 188)) | (1 << (PostgreSQLParser.KW_HOLD - 188)) | (1 << (PostgreSQLParser.KW_HOUR - 188)) | (1 << (PostgreSQLParser.KW_IDENTITY - 188)))) !== 0) || ((((_la - 220)) & ~0x1F) === 0 && ((1 << (_la - 220)) & ((1 << (PostgreSQLParser.KW_IF - 220)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 220)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 220)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 220)) | (1 << (PostgreSQLParser.KW_INCLUDING - 220)) | (1 << (PostgreSQLParser.KW_INCREMENT - 220)) | (1 << (PostgreSQLParser.KW_INDEX - 220)) | (1 << (PostgreSQLParser.KW_INDEXES - 220)) | (1 << (PostgreSQLParser.KW_INHERIT - 220)) | (1 << (PostgreSQLParser.KW_INHERITS - 220)) | (1 << (PostgreSQLParser.KW_INLINE - 220)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 220)) | (1 << (PostgreSQLParser.KW_INSERT - 220)) | (1 << (PostgreSQLParser.KW_INSTEAD - 220)) | (1 << (PostgreSQLParser.KW_INVOKER - 220)) | (1 << (PostgreSQLParser.KW_ISOLATION - 220)) | (1 << (PostgreSQLParser.KW_KEY - 220)) | (1 << (PostgreSQLParser.KW_LABEL - 220)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 220)) | (1 << (PostgreSQLParser.KW_LARGE - 220)) | (1 << (PostgreSQLParser.KW_LAST - 220)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 220)) | (1 << (PostgreSQLParser.KW_LEVEL - 220)))) !== 0) || ((((_la - 252)) & ~0x1F) === 0 && ((1 << (_la - 252)) & ((1 << (PostgreSQLParser.KW_LISTEN - 252)) | (1 << (PostgreSQLParser.KW_LOAD - 252)) | (1 << (PostgreSQLParser.KW_LOCAL - 252)) | (1 << (PostgreSQLParser.KW_LOCATION - 252)) | (1 << (PostgreSQLParser.KW_LOCK - 252)) | (1 << (PostgreSQLParser.KW_MAPPING - 252)) | (1 << (PostgreSQLParser.KW_MATCH - 252)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 252)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 252)) | (1 << (PostgreSQLParser.KW_MINUTE - 252)) | (1 << (PostgreSQLParser.KW_MINVALUE - 252)) | (1 << (PostgreSQLParser.KW_MODE - 252)) | (1 << (PostgreSQLParser.KW_MONTH - 252)) | (1 << (PostgreSQLParser.KW_MOVE - 252)) | (1 << (PostgreSQLParser.KW_NAME - 252)) | (1 << (PostgreSQLParser.KW_NAMES - 252)) | (1 << (PostgreSQLParser.KW_NEXT - 252)) | (1 << (PostgreSQLParser.KW_NO - 252)) | (1 << (PostgreSQLParser.KW_NOTHING - 252)) | (1 << (PostgreSQLParser.KW_NOTIFY - 252)) | (1 << (PostgreSQLParser.KW_NOWAIT - 252)) | (1 << (PostgreSQLParser.KW_NULLS - 252)) | (1 << (PostgreSQLParser.KW_OBJECT - 252)) | (1 << (PostgreSQLParser.KW_OF - 252)) | (1 << (PostgreSQLParser.KW_OFF - 252)) | (1 << (PostgreSQLParser.KW_OIDS - 252)) | (1 << (PostgreSQLParser.KW_OPERATOR - 252)) | (1 << (PostgreSQLParser.KW_OPTION - 252)) | (1 << (PostgreSQLParser.KW_OPTIONS - 252)) | (1 << (PostgreSQLParser.KW_OWNED - 252)) | (1 << (PostgreSQLParser.KW_OWNER - 252)) | (1 << (PostgreSQLParser.KW_PARSER - 252)))) !== 0) || ((((_la - 284)) & ~0x1F) === 0 && ((1 << (_la - 284)) & ((1 << (PostgreSQLParser.KW_PARTIAL - 284)) | (1 << (PostgreSQLParser.KW_PARTITION - 284)) | (1 << (PostgreSQLParser.KW_PASSING - 284)) | (1 << (PostgreSQLParser.KW_PASSWORD - 284)) | (1 << (PostgreSQLParser.KW_PLANS - 284)) | (1 << (PostgreSQLParser.KW_PRECEDING - 284)) | (1 << (PostgreSQLParser.KW_PREPARE - 284)) | (1 << (PostgreSQLParser.KW_PREPARED - 284)) | (1 << (PostgreSQLParser.KW_PRESERVE - 284)) | (1 << (PostgreSQLParser.KW_PRIOR - 284)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 284)) | (1 << (PostgreSQLParser.KW_PROGRAM - 284)) | (1 << (PostgreSQLParser.KW_QUOTE - 284)) | (1 << (PostgreSQLParser.KW_RANGE - 284)) | (1 << (PostgreSQLParser.KW_READ - 284)) | (1 << (PostgreSQLParser.KW_REASSIGN - 284)) | (1 << (PostgreSQLParser.KW_RECHECK - 284)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 284)) | (1 << (PostgreSQLParser.KW_REF - 284)) | (1 << (PostgreSQLParser.KW_REFRESH - 284)) | (1 << (PostgreSQLParser.KW_REINDEX - 284)) | (1 << (PostgreSQLParser.KW_RELATIVE - 284)) | (1 << (PostgreSQLParser.KW_RELEASE - 284)) | (1 << (PostgreSQLParser.KW_RENAME - 284)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 284)) | (1 << (PostgreSQLParser.KW_REPLACE - 284)) | (1 << (PostgreSQLParser.KW_REPLICA - 284)) | (1 << (PostgreSQLParser.KW_RESET - 284)) | (1 << (PostgreSQLParser.KW_RESTART - 284)) | (1 << (PostgreSQLParser.KW_RESTRICT - 284)))) !== 0) || ((((_la - 316)) & ~0x1F) === 0 && ((1 << (_la - 316)) & ((1 << (PostgreSQLParser.KW_RETURNS - 316)) | (1 << (PostgreSQLParser.KW_REVOKE - 316)) | (1 << (PostgreSQLParser.KW_ROLE - 316)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 316)) | (1 << (PostgreSQLParser.KW_ROWS - 316)) | (1 << (PostgreSQLParser.KW_RULE - 316)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 316)) | (1 << (PostgreSQLParser.KW_SCHEMA - 316)) | (1 << (PostgreSQLParser.KW_SCROLL - 316)) | (1 << (PostgreSQLParser.KW_SEARCH - 316)) | (1 << (PostgreSQLParser.KW_SECOND - 316)) | (1 << (PostgreSQLParser.KW_SECURITY - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 316)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 316)) | (1 << (PostgreSQLParser.KW_SERVER - 316)) | (1 << (PostgreSQLParser.KW_SESSION - 316)) | (1 << (PostgreSQLParser.KW_SET - 316)) | (1 << (PostgreSQLParser.KW_SHARE - 316)) | (1 << (PostgreSQLParser.KW_SHOW - 316)) | (1 << (PostgreSQLParser.KW_SIMPLE - 316)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 316)) | (1 << (PostgreSQLParser.KW_STABLE - 316)) | (1 << (PostgreSQLParser.KW_STANDALONE - 316)) | (1 << (PostgreSQLParser.KW_START - 316)) | (1 << (PostgreSQLParser.KW_STATEMENT - 316)) | (1 << (PostgreSQLParser.KW_STATISTICS - 316)) | (1 << (PostgreSQLParser.KW_STDIN - 316)) | (1 << (PostgreSQLParser.KW_STDOUT - 316)) | (1 << (PostgreSQLParser.KW_STORAGE - 316)) | (1 << (PostgreSQLParser.KW_STRICT - 316)) | (1 << (PostgreSQLParser.KW_STRIP - 316)))) !== 0) || ((((_la - 348)) & ~0x1F) === 0 && ((1 << (_la - 348)) & ((1 << (PostgreSQLParser.KW_SYSID - 348)) | (1 << (PostgreSQLParser.KW_SYSTEM - 348)) | (1 << (PostgreSQLParser.KW_TABLES - 348)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 348)) | (1 << (PostgreSQLParser.KW_TEMP - 348)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 348)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 348)) | (1 << (PostgreSQLParser.KW_TEXT - 348)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 348)) | (1 << (PostgreSQLParser.KW_TRIGGER - 348)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 348)) | (1 << (PostgreSQLParser.KW_TRUSTED - 348)) | (1 << (PostgreSQLParser.KW_TYPE - 348)) | (1 << (PostgreSQLParser.KW_TYPES - 348)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 348)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 348)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 348)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 348)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 348)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 348)) | (1 << (PostgreSQLParser.KW_UNTIL - 348)) | (1 << (PostgreSQLParser.KW_UPDATE - 348)) | (1 << (PostgreSQLParser.KW_VACUUM - 348)) | (1 << (PostgreSQLParser.KW_VALID - 348)) | (1 << (PostgreSQLParser.KW_VALIDATE - 348)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 348)) | (1 << (PostgreSQLParser.KW_VARYING - 348)) | (1 << (PostgreSQLParser.KW_VERSION - 348)) | (1 << (PostgreSQLParser.KW_VIEW - 348)) | (1 << (PostgreSQLParser.KW_VOLATILE - 348)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 348)) | (1 << (PostgreSQLParser.KW_WITHOUT - 348)))) !== 0) || ((((_la - 380)) & ~0x1F) === 0 && ((1 << (_la - 380)) & ((1 << (PostgreSQLParser.KW_WORK - 380)) | (1 << (PostgreSQLParser.KW_WRAPPER - 380)) | (1 << (PostgreSQLParser.KW_WRITE - 380)) | (1 << (PostgreSQLParser.KW_XML - 380)) | (1 << (PostgreSQLParser.KW_YEAR - 380)) | (1 << (PostgreSQLParser.KW_YES - 380)) | (1 << (PostgreSQLParser.KW_ZONE - 380)))) !== 0) || ((((_la - 433)) & ~0x1F) === 0 && ((1 << (_la - 433)) & ((1 << (PostgreSQLParser.KW_CALL - 433)) | (1 << (PostgreSQLParser.KW_CURRENT - 433)) | (1 << (PostgreSQLParser.KW_ATTACH - 433)) | (1 << (PostgreSQLParser.KW_DETACH - 433)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 433)) | (1 << (PostgreSQLParser.KW_GENERATED - 433)) | (1 << (PostgreSQLParser.KW_LOGGED - 433)) | (1 << (PostgreSQLParser.KW_STORED - 433)) | (1 << (PostgreSQLParser.KW_INCLUDE - 433)) | (1 << (PostgreSQLParser.KW_ROUTINE - 433)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 433)) | (1 << (PostgreSQLParser.KW_IMPORT - 433)) | (1 << (PostgreSQLParser.KW_POLICY - 433)) | (1 << (PostgreSQLParser.KW_METHOD - 433)) | (1 << (PostgreSQLParser.KW_REFERENCING - 433)) | (1 << (PostgreSQLParser.KW_NEW - 433)) | (1 << (PostgreSQLParser.KW_OLD - 433)) | (1 << (PostgreSQLParser.KW_VALUE - 433)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 433)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 433)) | (1 << (PostgreSQLParser.KW_ROUTINES - 433)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 433)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 433)) | (1 << (PostgreSQLParser.KW_INPUT - 433)) | (1 << (PostgreSQLParser.KW_SUPPORT - 433)) | (1 << (PostgreSQLParser.KW_PARALLEL - 433)) | (1 << (PostgreSQLParser.KW_SQL - 433)) | (1 << (PostgreSQLParser.KW_DEPENDS - 433)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 433)) | (1 << (PostgreSQLParser.KW_CONFLICT - 433)))) !== 0) || ((((_la - 465)) & ~0x1F) === 0 && ((1 << (_la - 465)) & ((1 << (PostgreSQLParser.KW_SKIP - 465)) | (1 << (PostgreSQLParser.KW_LOCKED - 465)) | (1 << (PostgreSQLParser.KW_TIES - 465)) | (1 << (PostgreSQLParser.KW_ROLLUP - 465)) | (1 << (PostgreSQLParser.KW_CUBE - 465)) | (1 << (PostgreSQLParser.KW_SETS - 465)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 465)) | (1 << (PostgreSQLParser.KW_COLUMNS - 465)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 465)) | (1 << (PostgreSQLParser.KW_WITHIN - 465)) | (1 << (PostgreSQLParser.KW_FILTER - 465)) | (1 << (PostgreSQLParser.KW_GROUPS - 465)) | (1 << (PostgreSQLParser.KW_OTHERS - 465)) | (1 << (PostgreSQLParser.KW_NFC - 465)) | (1 << (PostgreSQLParser.KW_NFD - 465)) | (1 << (PostgreSQLParser.KW_NFKC - 465)) | (1 << (PostgreSQLParser.KW_NFKD - 465)) | (1 << (PostgreSQLParser.KW_UESCAPE - 465)) | (1 << (PostgreSQLParser.KW_VIEWS - 465)))) !== 0) || _la === PostgreSQLParser.KW_SKIP_LOCKED || _la === PostgreSQLParser.KW_BUFFER_USAGE_LIMIT)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public col_name_keyword(): Col_name_keywordContext { let _localctx: Col_name_keywordContext = new Col_name_keywordContext(this._ctx, this.state); this.enterRule(_localctx, 1500, PostgreSQLParser.RULE_col_name_keyword); try { this.state = 11035; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1162, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 10984; this.match(PostgreSQLParser.KW_BETWEEN); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 10985; this.match(PostgreSQLParser.KW_BIGINT); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 10986; this.bit(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 10987; this.match(PostgreSQLParser.KW_BOOLEAN); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 10988; this.match(PostgreSQLParser.KW_CHAR); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 10989; this.character(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 10990; this.match(PostgreSQLParser.KW_COALESCE); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 10991; this.match(PostgreSQLParser.KW_DEC); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 10992; this.match(PostgreSQLParser.KW_DECIMAL); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 10993; this.match(PostgreSQLParser.KW_EXISTS); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 10994; this.match(PostgreSQLParser.KW_EXTRACT); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 10995; this.match(PostgreSQLParser.KW_FLOAT); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 10996; this.match(PostgreSQLParser.KW_GREATEST); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 10997; this.match(PostgreSQLParser.KW_GROUPING); } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 10998; this.match(PostgreSQLParser.KW_INOUT); } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 10999; this.match(PostgreSQLParser.KW_INT); } break; case 17: this.enterOuterAlt(_localctx, 17); { this.state = 11000; this.match(PostgreSQLParser.KW_INTEGER); } break; case 18: this.enterOuterAlt(_localctx, 18); { this.state = 11001; this.match(PostgreSQLParser.KW_INTERVAL); } break; case 19: this.enterOuterAlt(_localctx, 19); { this.state = 11002; this.match(PostgreSQLParser.KW_LEAST); } break; case 20: this.enterOuterAlt(_localctx, 20); { this.state = 11003; this.match(PostgreSQLParser.KW_NATIONAL); } break; case 21: this.enterOuterAlt(_localctx, 21); { this.state = 11004; this.match(PostgreSQLParser.KW_NCHAR); } break; case 22: this.enterOuterAlt(_localctx, 22); { this.state = 11005; this.match(PostgreSQLParser.KW_NONE); } break; case 23: this.enterOuterAlt(_localctx, 23); { this.state = 11006; this.match(PostgreSQLParser.KW_NORMALIZE); } break; case 24: this.enterOuterAlt(_localctx, 24); { this.state = 11007; this.match(PostgreSQLParser.KW_NULLIF); } break; case 25: this.enterOuterAlt(_localctx, 25); { this.state = 11008; this.numeric(); } break; case 26: this.enterOuterAlt(_localctx, 26); { this.state = 11009; this.match(PostgreSQLParser.KW_OUT); } break; case 27: this.enterOuterAlt(_localctx, 27); { this.state = 11010; this.match(PostgreSQLParser.KW_OVERLAY); } break; case 28: this.enterOuterAlt(_localctx, 28); { this.state = 11011; this.match(PostgreSQLParser.KW_POSITION); } break; case 29: this.enterOuterAlt(_localctx, 29); { this.state = 11012; this.match(PostgreSQLParser.KW_PRECISION); } break; case 30: this.enterOuterAlt(_localctx, 30); { this.state = 11013; this.match(PostgreSQLParser.KW_REAL); } break; case 31: this.enterOuterAlt(_localctx, 31); { this.state = 11014; this.match(PostgreSQLParser.KW_ROW); } break; case 32: this.enterOuterAlt(_localctx, 32); { this.state = 11015; this.match(PostgreSQLParser.KW_SETOF); } break; case 33: this.enterOuterAlt(_localctx, 33); { this.state = 11016; this.match(PostgreSQLParser.KW_SMALLINT); } break; case 34: this.enterOuterAlt(_localctx, 34); { this.state = 11017; this.match(PostgreSQLParser.KW_SUBSTRING); } break; case 35: this.enterOuterAlt(_localctx, 35); { this.state = 11018; this.match(PostgreSQLParser.KW_TIME); } break; case 36: this.enterOuterAlt(_localctx, 36); { this.state = 11019; this.match(PostgreSQLParser.KW_TIMESTAMP); } break; case 37: this.enterOuterAlt(_localctx, 37); { this.state = 11020; this.match(PostgreSQLParser.KW_TREAT); } break; case 38: this.enterOuterAlt(_localctx, 38); { this.state = 11021; this.match(PostgreSQLParser.KW_TRIM); } break; case 39: this.enterOuterAlt(_localctx, 39); { this.state = 11022; this.match(PostgreSQLParser.KW_VALUES); } break; case 40: this.enterOuterAlt(_localctx, 40); { this.state = 11023; this.match(PostgreSQLParser.KW_VARCHAR); } break; case 41: this.enterOuterAlt(_localctx, 41); { this.state = 11024; this.match(PostgreSQLParser.KW_XMLATTRIBUTES); } break; case 42: this.enterOuterAlt(_localctx, 42); { this.state = 11025; this.match(PostgreSQLParser.KW_XMLCONCAT); } break; case 43: this.enterOuterAlt(_localctx, 43); { this.state = 11026; this.match(PostgreSQLParser.KW_XMLELEMENT); } break; case 44: this.enterOuterAlt(_localctx, 44); { this.state = 11027; this.match(PostgreSQLParser.KW_XMLEXISTS); } break; case 45: this.enterOuterAlt(_localctx, 45); { this.state = 11028; this.match(PostgreSQLParser.KW_XMLFOREST); } break; case 46: this.enterOuterAlt(_localctx, 46); { this.state = 11029; this.match(PostgreSQLParser.KW_XMLNAMESPACES); } break; case 47: this.enterOuterAlt(_localctx, 47); { this.state = 11030; this.match(PostgreSQLParser.KW_XMLPARSE); } break; case 48: this.enterOuterAlt(_localctx, 48); { this.state = 11031; this.match(PostgreSQLParser.KW_XMLPI); } break; case 49: this.enterOuterAlt(_localctx, 49); { this.state = 11032; this.match(PostgreSQLParser.KW_XMLROOT); } break; case 50: this.enterOuterAlt(_localctx, 50); { this.state = 11033; this.match(PostgreSQLParser.KW_XMLSERIALIZE); } break; case 51: this.enterOuterAlt(_localctx, 51); { this.state = 11034; this.match(PostgreSQLParser.KW_XMLTABLE); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public type_func_name_keyword(): Type_func_name_keywordContext { let _localctx: Type_func_name_keywordContext = new Type_func_name_keywordContext(this._ctx, this.state); this.enterRule(_localctx, 1502, PostgreSQLParser.RULE_type_func_name_keyword); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11037; _la = this._input.LA(1); if (!(((((_la - 106)) & ~0x1F) === 0 && ((1 << (_la - 106)) & ((1 << (PostgreSQLParser.KW_AUTHORIZATION - 106)) | (1 << (PostgreSQLParser.KW_BINARY - 106)) | (1 << (PostgreSQLParser.KW_COLLATION - 106)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 106)) | (1 << (PostgreSQLParser.KW_CROSS - 106)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 106)) | (1 << (PostgreSQLParser.KW_FREEZE - 106)) | (1 << (PostgreSQLParser.KW_FULL - 106)) | (1 << (PostgreSQLParser.KW_ILIKE - 106)) | (1 << (PostgreSQLParser.KW_INNER - 106)) | (1 << (PostgreSQLParser.KW_IS - 106)) | (1 << (PostgreSQLParser.KW_ISNULL - 106)) | (1 << (PostgreSQLParser.KW_JOIN - 106)) | (1 << (PostgreSQLParser.KW_LEFT - 106)) | (1 << (PostgreSQLParser.KW_LIKE - 106)) | (1 << (PostgreSQLParser.KW_NATURAL - 106)) | (1 << (PostgreSQLParser.KW_NOTNULL - 106)) | (1 << (PostgreSQLParser.KW_OUTER - 106)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 106)) | (1 << (PostgreSQLParser.KW_RIGHT - 106)) | (1 << (PostgreSQLParser.KW_SIMILAR - 106)) | (1 << (PostgreSQLParser.KW_VERBOSE - 106)))) !== 0) || _la === PostgreSQLParser.KW_TABLESAMPLE)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public reserved_keyword(): Reserved_keywordContext { let _localctx: Reserved_keywordContext = new Reserved_keywordContext(this._ctx, this.state); this.enterRule(_localctx, 1504, PostgreSQLParser.RULE_reserved_keyword); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11039; _la = this._input.LA(1); if (!(((((_la - 30)) & ~0x1F) === 0 && ((1 << (_la - 30)) & ((1 << (PostgreSQLParser.KW_ALL - 30)) | (1 << (PostgreSQLParser.KW_ANALYSE - 30)) | (1 << (PostgreSQLParser.KW_ANALYZE - 30)) | (1 << (PostgreSQLParser.KW_AND - 30)) | (1 << (PostgreSQLParser.KW_ANY - 30)) | (1 << (PostgreSQLParser.KW_ARRAY - 30)) | (1 << (PostgreSQLParser.KW_AS - 30)) | (1 << (PostgreSQLParser.KW_ASC - 30)) | (1 << (PostgreSQLParser.KW_ASYMMETRIC - 30)) | (1 << (PostgreSQLParser.KW_BOTH - 30)) | (1 << (PostgreSQLParser.KW_CASE - 30)) | (1 << (PostgreSQLParser.KW_CAST - 30)) | (1 << (PostgreSQLParser.KW_CHECK - 30)) | (1 << (PostgreSQLParser.KW_COLLATE - 30)) | (1 << (PostgreSQLParser.KW_COLUMN - 30)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 30)) | (1 << (PostgreSQLParser.KW_CREATE - 30)) | (1 << (PostgreSQLParser.KW_CURRENT_CATALOG - 30)) | (1 << (PostgreSQLParser.KW_CURRENT_DATE - 30)) | (1 << (PostgreSQLParser.KW_CURRENT_ROLE - 30)) | (1 << (PostgreSQLParser.KW_CURRENT_TIME - 30)) | (1 << (PostgreSQLParser.KW_CURRENT_TIMESTAMP - 30)) | (1 << (PostgreSQLParser.KW_CURRENT_USER - 30)) | (1 << (PostgreSQLParser.KW_DEFERRABLE - 30)) | (1 << (PostgreSQLParser.KW_DESC - 30)) | (1 << (PostgreSQLParser.KW_DISTINCT - 30)) | (1 << (PostgreSQLParser.KW_DO - 30)) | (1 << (PostgreSQLParser.KW_ELSE - 30)) | (1 << (PostgreSQLParser.KW_EXCEPT - 30)) | (1 << (PostgreSQLParser.KW_FALSE - 30)) | (1 << (PostgreSQLParser.KW_FETCH - 30)))) !== 0) || ((((_la - 62)) & ~0x1F) === 0 && ((1 << (_la - 62)) & ((1 << (PostgreSQLParser.KW_FOR - 62)) | (1 << (PostgreSQLParser.KW_FOREIGN - 62)) | (1 << (PostgreSQLParser.KW_FROM - 62)) | (1 << (PostgreSQLParser.KW_GRANT - 62)) | (1 << (PostgreSQLParser.KW_GROUP - 62)) | (1 << (PostgreSQLParser.KW_HAVING - 62)) | (1 << (PostgreSQLParser.KW_IN - 62)) | (1 << (PostgreSQLParser.KW_INITIALLY - 62)) | (1 << (PostgreSQLParser.KW_INTERSECT - 62)) | (1 << (PostgreSQLParser.KW_LATERAL - 62)) | (1 << (PostgreSQLParser.KW_LEADING - 62)) | (1 << (PostgreSQLParser.KW_LIMIT - 62)) | (1 << (PostgreSQLParser.KW_LOCALTIME - 62)) | (1 << (PostgreSQLParser.KW_LOCALTIMESTAMP - 62)) | (1 << (PostgreSQLParser.KW_NOT - 62)) | (1 << (PostgreSQLParser.KW_NULL - 62)) | (1 << (PostgreSQLParser.KW_OFFSET - 62)) | (1 << (PostgreSQLParser.KW_ON - 62)) | (1 << (PostgreSQLParser.KW_ONLY - 62)) | (1 << (PostgreSQLParser.KW_OR - 62)) | (1 << (PostgreSQLParser.KW_ORDER - 62)) | (1 << (PostgreSQLParser.KW_PLACING - 62)) | (1 << (PostgreSQLParser.KW_PRIMARY - 62)) | (1 << (PostgreSQLParser.KW_REFERENCES - 62)) | (1 << (PostgreSQLParser.KW_RETURNING - 62)) | (1 << (PostgreSQLParser.KW_SELECT - 62)) | (1 << (PostgreSQLParser.KW_SESSION_USER - 62)) | (1 << (PostgreSQLParser.KW_SOME - 62)) | (1 << (PostgreSQLParser.KW_SYMMETRIC - 62)) | (1 << (PostgreSQLParser.KW_TABLE - 62)) | (1 << (PostgreSQLParser.KW_THEN - 62)))) !== 0) || ((((_la - 94)) & ~0x1F) === 0 && ((1 << (_la - 94)) & ((1 << (PostgreSQLParser.KW_TO - 94)) | (1 << (PostgreSQLParser.KW_TRAILING - 94)) | (1 << (PostgreSQLParser.KW_TRUE - 94)) | (1 << (PostgreSQLParser.KW_UNION - 94)) | (1 << (PostgreSQLParser.KW_UNIQUE - 94)) | (1 << (PostgreSQLParser.KW_USER - 94)) | (1 << (PostgreSQLParser.KW_USING - 94)) | (1 << (PostgreSQLParser.KW_VARIADIC - 94)) | (1 << (PostgreSQLParser.KW_WHEN - 94)) | (1 << (PostgreSQLParser.KW_WHERE - 94)) | (1 << (PostgreSQLParser.KW_WINDOW - 94)) | (1 << (PostgreSQLParser.KW_WITH - 94)))) !== 0) || _la === PostgreSQLParser.KW_END)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public pl_function(): Pl_functionContext { let _localctx: Pl_functionContext = new Pl_functionContext(this._ctx, this.state); this.enterRule(_localctx, 1506, PostgreSQLParser.RULE_pl_function); try { this.enterOuterAlt(_localctx, 1); { this.state = 11041; this.comp_options(); this.state = 11042; this.pl_block(); this.state = 11043; this.opt_semi(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public comp_options(): Comp_optionsContext { let _localctx: Comp_optionsContext = new Comp_optionsContext(this._ctx, this.state); this.enterRule(_localctx, 1508, PostgreSQLParser.RULE_comp_options); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11048; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.Operator) { { { this.state = 11045; this.comp_option(); } } this.state = 11050; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public comp_option(): Comp_optionContext { let _localctx: Comp_optionContext = new Comp_optionContext(this._ctx, this.state); this.enterRule(_localctx, 1510, PostgreSQLParser.RULE_comp_option); try { this.state = 11071; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1164, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 11051; this.sharp(); this.state = 11052; this.match(PostgreSQLParser.KW_OPTION); this.state = 11053; this.match(PostgreSQLParser.KW_DUMP); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11055; this.sharp(); this.state = 11056; this.match(PostgreSQLParser.KW_PRINT_STRICT_PARAMS); this.state = 11057; this.option_value(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 11059; this.sharp(); this.state = 11060; this.match(PostgreSQLParser.KW_VARIABLE_CONFLICT); this.state = 11061; this.match(PostgreSQLParser.KW_ERROR); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 11063; this.sharp(); this.state = 11064; this.match(PostgreSQLParser.KW_VARIABLE_CONFLICT); this.state = 11065; this.match(PostgreSQLParser.KW_USE_VARIABLE); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 11067; this.sharp(); this.state = 11068; this.match(PostgreSQLParser.KW_VARIABLE_CONFLICT); this.state = 11069; this.match(PostgreSQLParser.KW_USE_COLUMN); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public sharp(): SharpContext { let _localctx: SharpContext = new SharpContext(this._ctx, this.state); this.enterRule(_localctx, 1512, PostgreSQLParser.RULE_sharp); try { this.enterOuterAlt(_localctx, 1); { this.state = 11073; this.match(PostgreSQLParser.Operator); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public option_value(): Option_valueContext { let _localctx: Option_valueContext = new Option_valueContext(this._ctx, this.state); this.enterRule(_localctx, 1514, PostgreSQLParser.RULE_option_value); try { this.state = 11079; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1165, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 11075; this.sconst(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11076; this.reserved_keyword(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 11077; this.plsql_unreserved_keyword(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 11078; this.unreserved_keyword(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_semi(): Opt_semiContext { let _localctx: Opt_semiContext = new Opt_semiContext(this._ctx, this.state); this.enterRule(_localctx, 1516, PostgreSQLParser.RULE_opt_semi); try { this.state = 11083; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.EOF: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.SEMI: this.enterOuterAlt(_localctx, 2); { this.state = 11082; this.match(PostgreSQLParser.SEMI); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public pl_block(): Pl_blockContext { let _localctx: Pl_blockContext = new Pl_blockContext(this._ctx, this.state); this.enterRule(_localctx, 1518, PostgreSQLParser.RULE_pl_block); try { this.enterOuterAlt(_localctx, 1); { this.state = 11085; this.decl_sect(); this.state = 11086; this.match(PostgreSQLParser.KW_BEGIN); this.state = 11087; this.proc_sect(); this.state = 11088; this.exception_sect(); this.state = 11089; this.match(PostgreSQLParser.KW_END); this.state = 11090; this.opt_label(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_sect(): Decl_sectContext { let _localctx: Decl_sectContext = new Decl_sectContext(this._ctx, this.state); this.enterRule(_localctx, 1520, PostgreSQLParser.RULE_decl_sect); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11092; this.opt_block_label(); this.state = 11097; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_DECLARE) { { this.state = 11093; this.decl_start(); this.state = 11095; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1167, this._ctx) ) { case 1: { this.state = 11094; this.decl_stmts(); } break; } } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_start(): Decl_startContext { let _localctx: Decl_startContext = new Decl_startContext(this._ctx, this.state); this.enterRule(_localctx, 1522, PostgreSQLParser.RULE_decl_start); try { this.enterOuterAlt(_localctx, 1); { this.state = 11099; this.match(PostgreSQLParser.KW_DECLARE); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_stmts(): Decl_stmtsContext { let _localctx: Decl_stmtsContext = new Decl_stmtsContext(this._ctx, this.state); this.enterRule(_localctx, 1524, PostgreSQLParser.RULE_decl_stmts); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 11102; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { { this.state = 11101; this.decl_stmt(); } } break; default: throw new NoViableAltException(this); } this.state = 11104; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1169, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public label_decl(): Label_declContext { let _localctx: Label_declContext = new Label_declContext(this._ctx, this.state); this.enterRule(_localctx, 1526, PostgreSQLParser.RULE_label_decl); try { this.enterOuterAlt(_localctx, 1); { this.state = 11106; this.match(PostgreSQLParser.LESS_LESS); this.state = 11107; this.any_identifier(); this.state = 11108; this.match(PostgreSQLParser.GREATER_GREATER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_stmt(): Decl_stmtContext { let _localctx: Decl_stmtContext = new Decl_stmtContext(this._ctx, this.state); this.enterRule(_localctx, 1528, PostgreSQLParser.RULE_decl_stmt); try { this.state = 11113; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1170, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 11110; this.decl_statement(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11111; this.match(PostgreSQLParser.KW_DECLARE); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 11112; this.label_decl(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_statement(): Decl_statementContext { let _localctx: Decl_statementContext = new Decl_statementContext(this._ctx, this.state); this.enterRule(_localctx, 1530, PostgreSQLParser.RULE_decl_statement); try { this.enterOuterAlt(_localctx, 1); { this.state = 11115; this.decl_varname(); this.state = 11131; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1171, this._ctx) ) { case 1: { this.state = 11116; this.match(PostgreSQLParser.KW_ALIAS); this.state = 11117; this.match(PostgreSQLParser.KW_FOR); this.state = 11118; this.decl_aliasitem(); } break; case 2: { this.state = 11119; this.decl_const(); this.state = 11120; this.decl_datatype(); this.state = 11121; this.decl_collate(); this.state = 11122; this.decl_notnull(); this.state = 11123; this.decl_defval(); } break; case 3: { this.state = 11125; this.opt_scrollable(); this.state = 11126; this.match(PostgreSQLParser.KW_CURSOR); this.state = 11127; this.decl_cursor_args(); this.state = 11128; this.decl_is_for(); this.state = 11129; this.decl_cursor_query(); } break; } this.state = 11133; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_scrollable(): Opt_scrollableContext { let _localctx: Opt_scrollableContext = new Opt_scrollableContext(this._ctx, this.state); this.enterRule(_localctx, 1532, PostgreSQLParser.RULE_opt_scrollable); try { this.state = 11139; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_CURSOR: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_NO: this.enterOuterAlt(_localctx, 2); { this.state = 11136; this.match(PostgreSQLParser.KW_NO); this.state = 11137; this.match(PostgreSQLParser.KW_SCROLL); } break; case PostgreSQLParser.KW_SCROLL: this.enterOuterAlt(_localctx, 3); { this.state = 11138; this.match(PostgreSQLParser.KW_SCROLL); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_cursor_query(): Decl_cursor_queryContext { let _localctx: Decl_cursor_queryContext = new Decl_cursor_queryContext(this._ctx, this.state); this.enterRule(_localctx, 1534, PostgreSQLParser.RULE_decl_cursor_query); try { this.enterOuterAlt(_localctx, 1); { this.state = 11141; this.selectstmt(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_cursor_args(): Decl_cursor_argsContext { let _localctx: Decl_cursor_argsContext = new Decl_cursor_argsContext(this._ctx, this.state); this.enterRule(_localctx, 1536, PostgreSQLParser.RULE_decl_cursor_args); try { this.state = 11148; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_FOR: case PostgreSQLParser.KW_IS: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.OPEN_PAREN: this.enterOuterAlt(_localctx, 2); { this.state = 11144; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 11145; this.decl_cursor_arglist(); this.state = 11146; this.match(PostgreSQLParser.CLOSE_PAREN); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_cursor_arglist(): Decl_cursor_arglistContext { let _localctx: Decl_cursor_arglistContext = new Decl_cursor_arglistContext(this._ctx, this.state); this.enterRule(_localctx, 1538, PostgreSQLParser.RULE_decl_cursor_arglist); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11150; this.decl_cursor_arg(); this.state = 11155; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 11151; this.match(PostgreSQLParser.COMMA); this.state = 11152; this.decl_cursor_arg(); } } this.state = 11157; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_cursor_arg(): Decl_cursor_argContext { let _localctx: Decl_cursor_argContext = new Decl_cursor_argContext(this._ctx, this.state); this.enterRule(_localctx, 1540, PostgreSQLParser.RULE_decl_cursor_arg); try { this.enterOuterAlt(_localctx, 1); { this.state = 11158; this.decl_varname(); this.state = 11159; this.decl_datatype(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_is_for(): Decl_is_forContext { let _localctx: Decl_is_forContext = new Decl_is_forContext(this._ctx, this.state); this.enterRule(_localctx, 1542, PostgreSQLParser.RULE_decl_is_for); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11161; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_FOR || _la === PostgreSQLParser.KW_IS)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_aliasitem(): Decl_aliasitemContext { let _localctx: Decl_aliasitemContext = new Decl_aliasitemContext(this._ctx, this.state); this.enterRule(_localctx, 1544, PostgreSQLParser.RULE_decl_aliasitem); try { this.state = 11165; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.PARAM: this.enterOuterAlt(_localctx, 1); { this.state = 11163; this.match(PostgreSQLParser.PARAM); } break; case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 2); { this.state = 11164; this.colid(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_varname(): Decl_varnameContext { let _localctx: Decl_varnameContext = new Decl_varnameContext(this._ctx, this.state); this.enterRule(_localctx, 1546, PostgreSQLParser.RULE_decl_varname); try { this.enterOuterAlt(_localctx, 1); { this.state = 11167; this.any_identifier(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_const(): Decl_constContext { let _localctx: Decl_constContext = new Decl_constContext(this._ctx, this.state); this.enterRule(_localctx, 1548, PostgreSQLParser.RULE_decl_const); try { this.state = 11171; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1176, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11170; this.match(PostgreSQLParser.KW_CONSTANT); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_datatype(): Decl_datatypeContext { let _localctx: Decl_datatypeContext = new Decl_datatypeContext(this._ctx, this.state); this.enterRule(_localctx, 1550, PostgreSQLParser.RULE_decl_datatype); try { this.enterOuterAlt(_localctx, 1); { this.state = 11173; this.typename(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_collate(): Decl_collateContext { let _localctx: Decl_collateContext = new Decl_collateContext(this._ctx, this.state); this.enterRule(_localctx, 1552, PostgreSQLParser.RULE_decl_collate); try { this.state = 11178; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.SEMI: case PostgreSQLParser.EQUAL: case PostgreSQLParser.COLON_EQUALS: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_NOT: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_COLLATE: this.enterOuterAlt(_localctx, 2); { this.state = 11176; this.match(PostgreSQLParser.KW_COLLATE); this.state = 11177; this.any_name(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_notnull(): Decl_notnullContext { let _localctx: Decl_notnullContext = new Decl_notnullContext(this._ctx, this.state); this.enterRule(_localctx, 1554, PostgreSQLParser.RULE_decl_notnull); try { this.state = 11183; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.SEMI: case PostgreSQLParser.EQUAL: case PostgreSQLParser.COLON_EQUALS: case PostgreSQLParser.KW_DEFAULT: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_NOT: this.enterOuterAlt(_localctx, 2); { this.state = 11181; this.match(PostgreSQLParser.KW_NOT); this.state = 11182; this.match(PostgreSQLParser.KW_NULL); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_defval(): Decl_defvalContext { let _localctx: Decl_defvalContext = new Decl_defvalContext(this._ctx, this.state); this.enterRule(_localctx, 1556, PostgreSQLParser.RULE_decl_defval); try { this.state = 11189; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.SEMI: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.EQUAL: case PostgreSQLParser.COLON_EQUALS: case PostgreSQLParser.KW_DEFAULT: this.enterOuterAlt(_localctx, 2); { this.state = 11186; this.decl_defkey(); this.state = 11187; this.sql_expression(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public decl_defkey(): Decl_defkeyContext { let _localctx: Decl_defkeyContext = new Decl_defkeyContext(this._ctx, this.state); this.enterRule(_localctx, 1558, PostgreSQLParser.RULE_decl_defkey); try { this.state = 11193; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.EQUAL: case PostgreSQLParser.COLON_EQUALS: this.enterOuterAlt(_localctx, 1); { this.state = 11191; this.assign_operator(); } break; case PostgreSQLParser.KW_DEFAULT: this.enterOuterAlt(_localctx, 2); { this.state = 11192; this.match(PostgreSQLParser.KW_DEFAULT); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public assign_operator(): Assign_operatorContext { let _localctx: Assign_operatorContext = new Assign_operatorContext(this._ctx, this.state); this.enterRule(_localctx, 1560, PostgreSQLParser.RULE_assign_operator); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11195; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.EQUAL || _la === PostgreSQLParser.COLON_EQUALS)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public proc_sect(): Proc_sectContext { let _localctx: Proc_sectContext = new Proc_sectContext(this._ctx, this.state); this.enterRule(_localctx, 1562, PostgreSQLParser.RULE_proc_sect); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 11200; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1181, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { this.state = 11197; this.proc_stmt(); } } } this.state = 11202; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1181, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public proc_stmt(): Proc_stmtContext { let _localctx: Proc_stmtContext = new Proc_stmtContext(this._ctx, this.state); this.enterRule(_localctx, 1564, PostgreSQLParser.RULE_proc_stmt); try { this.state = 11230; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1182, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 11203; this.pl_block(); this.state = 11204; this.match(PostgreSQLParser.SEMI); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11206; this.stmt_return(); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 11207; this.stmt_raise(); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 11208; this.stmt_assign(); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 11209; this.stmt_if(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 11210; this.stmt_case(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 11211; this.stmt_loop(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 11212; this.stmt_while(); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 11213; this.stmt_for(); } break; case 10: this.enterOuterAlt(_localctx, 10); { this.state = 11214; this.stmt_foreach_a(); } break; case 11: this.enterOuterAlt(_localctx, 11); { this.state = 11215; this.stmt_exit(); } break; case 12: this.enterOuterAlt(_localctx, 12); { this.state = 11216; this.stmt_assert(); } break; case 13: this.enterOuterAlt(_localctx, 13); { this.state = 11217; this.stmt_execsql(); } break; case 14: this.enterOuterAlt(_localctx, 14); { this.state = 11218; this.stmt_dynexecute(); } break; case 15: this.enterOuterAlt(_localctx, 15); { this.state = 11219; this.stmt_perform(); } break; case 16: this.enterOuterAlt(_localctx, 16); { this.state = 11220; this.stmt_call(); } break; case 17: this.enterOuterAlt(_localctx, 17); { this.state = 11221; this.stmt_getdiag(); } break; case 18: this.enterOuterAlt(_localctx, 18); { this.state = 11222; this.stmt_open(); } break; case 19: this.enterOuterAlt(_localctx, 19); { this.state = 11223; this.stmt_fetch(); } break; case 20: this.enterOuterAlt(_localctx, 20); { this.state = 11224; this.stmt_move(); } break; case 21: this.enterOuterAlt(_localctx, 21); { this.state = 11225; this.stmt_close(); } break; case 22: this.enterOuterAlt(_localctx, 22); { this.state = 11226; this.stmt_null(); } break; case 23: this.enterOuterAlt(_localctx, 23); { this.state = 11227; this.stmt_commit(); } break; case 24: this.enterOuterAlt(_localctx, 24); { this.state = 11228; this.stmt_rollback(); } break; case 25: this.enterOuterAlt(_localctx, 25); { this.state = 11229; this.stmt_set(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_perform(): Stmt_performContext { let _localctx: Stmt_performContext = new Stmt_performContext(this._ctx, this.state); this.enterRule(_localctx, 1566, PostgreSQLParser.RULE_stmt_perform); try { this.enterOuterAlt(_localctx, 1); { this.state = 11232; this.match(PostgreSQLParser.KW_PERFORM); this.state = 11233; this.expr_until_semi(); this.state = 11234; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_call(): Stmt_callContext { let _localctx: Stmt_callContext = new Stmt_callContext(this._ctx, this.state); this.enterRule(_localctx, 1568, PostgreSQLParser.RULE_stmt_call); try { this.state = 11252; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_CALL: this.enterOuterAlt(_localctx, 1); { this.state = 11236; this.match(PostgreSQLParser.KW_CALL); this.state = 11237; this.any_identifier(); this.state = 11243; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1183, this._ctx) ) { case 1: { this.state = 11238; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 11239; this.opt_expr_list(); this.state = 11240; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 11241; this.match(PostgreSQLParser.SEMI); } break; } } break; case PostgreSQLParser.KW_DO: this.enterOuterAlt(_localctx, 2); { this.state = 11245; this.match(PostgreSQLParser.KW_DO); this.state = 11246; this.any_identifier(); this.state = 11247; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 11248; this.opt_expr_list(); this.state = 11249; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 11250; this.match(PostgreSQLParser.SEMI); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_expr_list(): Opt_expr_listContext { let _localctx: Opt_expr_listContext = new Opt_expr_listContext(this._ctx, this.state); this.enterRule(_localctx, 1570, PostgreSQLParser.RULE_opt_expr_list); try { this.state = 11256; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.CLOSE_PAREN: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.OPEN_PAREN: case PostgreSQLParser.PLUS: case PostgreSQLParser.MINUS: case PostgreSQLParser.PARAM: case PostgreSQLParser.Operator: case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_CASE: case PostgreSQLParser.KW_CAST: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_CURRENT_CATALOG: case PostgreSQLParser.KW_CURRENT_DATE: case PostgreSQLParser.KW_CURRENT_ROLE: case PostgreSQLParser.KW_CURRENT_TIME: case PostgreSQLParser.KW_CURRENT_TIMESTAMP: case PostgreSQLParser.KW_CURRENT_USER: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FALSE: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_LOCALTIME: case PostgreSQLParser.KW_LOCALTIMESTAMP: case PostgreSQLParser.KW_NOT: case PostgreSQLParser.KW_NULL: case PostgreSQLParser.KW_SESSION_USER: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_TRUE: case PostgreSQLParser.KW_UNIQUE: case PostgreSQLParser.KW_USER: case PostgreSQLParser.KW_AUTHORIZATION: case PostgreSQLParser.KW_BINARY: case PostgreSQLParser.KW_COLLATION: case PostgreSQLParser.KW_CONCURRENTLY: case PostgreSQLParser.KW_CROSS: case PostgreSQLParser.KW_CURRENT_SCHEMA: case PostgreSQLParser.KW_FREEZE: case PostgreSQLParser.KW_FULL: case PostgreSQLParser.KW_ILIKE: case PostgreSQLParser.KW_INNER: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_ISNULL: case PostgreSQLParser.KW_JOIN: case PostgreSQLParser.KW_LEFT: case PostgreSQLParser.KW_LIKE: case PostgreSQLParser.KW_NATURAL: case PostgreSQLParser.KW_NOTNULL: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_OVERLAPS: case PostgreSQLParser.KW_RIGHT: case PostgreSQLParser.KW_SIMILAR: case PostgreSQLParser.KW_VERBOSE: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_TABLESAMPLE: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.BinaryStringConstant: case PostgreSQLParser.HexadecimalStringConstant: case PostgreSQLParser.Integral: case PostgreSQLParser.Numeric: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 2); { this.state = 11255; this.expr_list(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_assign(): Stmt_assignContext { let _localctx: Stmt_assignContext = new Stmt_assignContext(this._ctx, this.state); this.enterRule(_localctx, 1572, PostgreSQLParser.RULE_stmt_assign); try { this.enterOuterAlt(_localctx, 1); { this.state = 11258; this.assign_var(); this.state = 11259; this.assign_operator(); this.state = 11260; this.sql_expression(); this.state = 11261; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_getdiag(): Stmt_getdiagContext { let _localctx: Stmt_getdiagContext = new Stmt_getdiagContext(this._ctx, this.state); this.enterRule(_localctx, 1574, PostgreSQLParser.RULE_stmt_getdiag); try { this.enterOuterAlt(_localctx, 1); { this.state = 11263; this.match(PostgreSQLParser.KW_GET); this.state = 11264; this.getdiag_area_opt(); this.state = 11265; this.match(PostgreSQLParser.KW_DIAGNOSTICS); this.state = 11266; this.getdiag_list(); this.state = 11267; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public getdiag_area_opt(): Getdiag_area_optContext { let _localctx: Getdiag_area_optContext = new Getdiag_area_optContext(this._ctx, this.state); this.enterRule(_localctx, 1576, PostgreSQLParser.RULE_getdiag_area_opt); try { this.state = 11272; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_DIAGNOSTICS: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_CURRENT: this.enterOuterAlt(_localctx, 2); { this.state = 11270; this.match(PostgreSQLParser.KW_CURRENT); } break; case PostgreSQLParser.KW_STACKED: this.enterOuterAlt(_localctx, 3); { this.state = 11271; this.match(PostgreSQLParser.KW_STACKED); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public getdiag_list(): Getdiag_listContext { let _localctx: Getdiag_listContext = new Getdiag_listContext(this._ctx, this.state); this.enterRule(_localctx, 1578, PostgreSQLParser.RULE_getdiag_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11274; this.getdiag_list_item(); this.state = 11279; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 11275; this.match(PostgreSQLParser.COMMA); this.state = 11276; this.getdiag_list_item(); } } this.state = 11281; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public getdiag_list_item(): Getdiag_list_itemContext { let _localctx: Getdiag_list_itemContext = new Getdiag_list_itemContext(this._ctx, this.state); this.enterRule(_localctx, 1580, PostgreSQLParser.RULE_getdiag_list_item); try { this.enterOuterAlt(_localctx, 1); { this.state = 11282; this.getdiag_target(); this.state = 11283; this.assign_operator(); this.state = 11284; this.getdiag_item(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public getdiag_item(): Getdiag_itemContext { let _localctx: Getdiag_itemContext = new Getdiag_itemContext(this._ctx, this.state); this.enterRule(_localctx, 1582, PostgreSQLParser.RULE_getdiag_item); try { this.enterOuterAlt(_localctx, 1); { this.state = 11286; this.colid(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public getdiag_target(): Getdiag_targetContext { let _localctx: Getdiag_targetContext = new Getdiag_targetContext(this._ctx, this.state); this.enterRule(_localctx, 1584, PostgreSQLParser.RULE_getdiag_target); try { this.enterOuterAlt(_localctx, 1); { this.state = 11288; this.assign_var(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public assign_var(): Assign_varContext { let _localctx: Assign_varContext = new Assign_varContext(this._ctx, this.state); this.enterRule(_localctx, 1586, PostgreSQLParser.RULE_assign_var); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11292; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 11290; this.any_name(); } break; case PostgreSQLParser.PARAM: { this.state = 11291; this.match(PostgreSQLParser.PARAM); } break; default: throw new NoViableAltException(this); } this.state = 11300; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.OPEN_BRACKET) { { { this.state = 11294; this.match(PostgreSQLParser.OPEN_BRACKET); this.state = 11295; this.expr_until_rightbracket(); this.state = 11296; this.match(PostgreSQLParser.CLOSE_BRACKET); } } this.state = 11302; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_if(): Stmt_ifContext { let _localctx: Stmt_ifContext = new Stmt_ifContext(this._ctx, this.state); this.enterRule(_localctx, 1588, PostgreSQLParser.RULE_stmt_if); try { this.enterOuterAlt(_localctx, 1); { this.state = 11303; this.match(PostgreSQLParser.KW_IF); this.state = 11304; this.expr_until_then(); this.state = 11305; this.match(PostgreSQLParser.KW_THEN); this.state = 11306; this.proc_sect(); this.state = 11307; this.stmt_elsifs(); this.state = 11308; this.stmt_else(); this.state = 11309; this.match(PostgreSQLParser.KW_END); this.state = 11310; this.match(PostgreSQLParser.KW_IF); this.state = 11311; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_elsifs(): Stmt_elsifsContext { let _localctx: Stmt_elsifsContext = new Stmt_elsifsContext(this._ctx, this.state); this.enterRule(_localctx, 1590, PostgreSQLParser.RULE_stmt_elsifs); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11320; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.KW_ELSIF) { { { this.state = 11313; this.match(PostgreSQLParser.KW_ELSIF); this.state = 11314; this.a_expr(); this.state = 11315; this.match(PostgreSQLParser.KW_THEN); this.state = 11316; this.proc_sect(); } } this.state = 11322; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_else(): Stmt_elseContext { let _localctx: Stmt_elseContext = new Stmt_elseContext(this._ctx, this.state); this.enterRule(_localctx, 1592, PostgreSQLParser.RULE_stmt_else); try { this.state = 11326; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_END: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_ELSE: this.enterOuterAlt(_localctx, 2); { this.state = 11324; this.match(PostgreSQLParser.KW_ELSE); this.state = 11325; this.proc_sect(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_case(): Stmt_caseContext { let _localctx: Stmt_caseContext = new Stmt_caseContext(this._ctx, this.state); this.enterRule(_localctx, 1594, PostgreSQLParser.RULE_stmt_case); try { this.enterOuterAlt(_localctx, 1); { this.state = 11328; this.match(PostgreSQLParser.KW_CASE); this.state = 11329; this.opt_expr_until_when(); this.state = 11330; this.case_when_list(); this.state = 11331; this.opt_case_else(); this.state = 11332; this.match(PostgreSQLParser.KW_END); this.state = 11333; this.match(PostgreSQLParser.KW_CASE); this.state = 11334; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_expr_until_when(): Opt_expr_until_whenContext { let _localctx: Opt_expr_until_whenContext = new Opt_expr_until_whenContext(this._ctx, this.state); this.enterRule(_localctx, 1596, PostgreSQLParser.RULE_opt_expr_until_when); try { this.state = 11338; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1192, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11337; this.sql_expression(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public case_when_list(): Case_when_listContext { let _localctx: Case_when_listContext = new Case_when_listContext(this._ctx, this.state); this.enterRule(_localctx, 1598, PostgreSQLParser.RULE_case_when_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11341; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 11340; this.case_when(); } } this.state = 11343; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === PostgreSQLParser.KW_WHEN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public case_when(): Case_whenContext { let _localctx: Case_whenContext = new Case_whenContext(this._ctx, this.state); this.enterRule(_localctx, 1600, PostgreSQLParser.RULE_case_when); try { this.enterOuterAlt(_localctx, 1); { this.state = 11345; this.match(PostgreSQLParser.KW_WHEN); this.state = 11346; this.expr_list(); this.state = 11347; this.match(PostgreSQLParser.KW_THEN); this.state = 11348; this.proc_sect(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_case_else(): Opt_case_elseContext { let _localctx: Opt_case_elseContext = new Opt_case_elseContext(this._ctx, this.state); this.enterRule(_localctx, 1602, PostgreSQLParser.RULE_opt_case_else); try { this.state = 11353; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_END: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_ELSE: this.enterOuterAlt(_localctx, 2); { this.state = 11351; this.match(PostgreSQLParser.KW_ELSE); this.state = 11352; this.proc_sect(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_loop(): Stmt_loopContext { let _localctx: Stmt_loopContext = new Stmt_loopContext(this._ctx, this.state); this.enterRule(_localctx, 1604, PostgreSQLParser.RULE_stmt_loop); try { this.enterOuterAlt(_localctx, 1); { this.state = 11355; this.opt_loop_label(); this.state = 11356; this.loop_body(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_while(): Stmt_whileContext { let _localctx: Stmt_whileContext = new Stmt_whileContext(this._ctx, this.state); this.enterRule(_localctx, 1606, PostgreSQLParser.RULE_stmt_while); try { this.enterOuterAlt(_localctx, 1); { this.state = 11358; this.opt_loop_label(); this.state = 11359; this.match(PostgreSQLParser.KW_WHILE); this.state = 11360; this.expr_until_loop(); this.state = 11361; this.loop_body(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_for(): Stmt_forContext { let _localctx: Stmt_forContext = new Stmt_forContext(this._ctx, this.state); this.enterRule(_localctx, 1608, PostgreSQLParser.RULE_stmt_for); try { this.enterOuterAlt(_localctx, 1); { this.state = 11363; this.opt_loop_label(); this.state = 11364; this.match(PostgreSQLParser.KW_FOR); this.state = 11365; this.for_control(); this.state = 11366; this.loop_body(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public for_control(): For_controlContext { let _localctx: For_controlContext = new For_controlContext(this._ctx, this.state); this.enterRule(_localctx, 1610, PostgreSQLParser.RULE_for_control); try { this.enterOuterAlt(_localctx, 1); { this.state = 11368; this.for_variable(); this.state = 11369; this.match(PostgreSQLParser.KW_IN); this.state = 11385; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1195, this._ctx) ) { case 1: { this.state = 11370; this.cursor_name(); this.state = 11371; this.opt_cursor_parameters(); } break; case 2: { this.state = 11373; this.selectstmt(); } break; case 3: { this.state = 11374; this.explainstmt(); } break; case 4: { this.state = 11375; this.match(PostgreSQLParser.KW_EXECUTE); this.state = 11376; this.a_expr(); this.state = 11377; this.opt_for_using_expression(); } break; case 5: { this.state = 11379; this.opt_reverse(); this.state = 11380; this.a_expr(); this.state = 11381; this.match(PostgreSQLParser.DOT_DOT); this.state = 11382; this.a_expr(); this.state = 11383; this.opt_by_expression(); } break; } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_for_using_expression(): Opt_for_using_expressionContext { let _localctx: Opt_for_using_expressionContext = new Opt_for_using_expressionContext(this._ctx, this.state); this.enterRule(_localctx, 1612, PostgreSQLParser.RULE_opt_for_using_expression); try { this.state = 11390; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.SEMI: case PostgreSQLParser.KW_LOOP: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_USING: this.enterOuterAlt(_localctx, 2); { this.state = 11388; this.match(PostgreSQLParser.KW_USING); this.state = 11389; this.expr_list(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_cursor_parameters(): Opt_cursor_parametersContext { let _localctx: Opt_cursor_parametersContext = new Opt_cursor_parametersContext(this._ctx, this.state); this.enterRule(_localctx, 1614, PostgreSQLParser.RULE_opt_cursor_parameters); let _la: number; try { this.state = 11404; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_LOOP: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.OPEN_PAREN: this.enterOuterAlt(_localctx, 2); { this.state = 11393; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 11394; this.a_expr(); this.state = 11399; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 11395; this.match(PostgreSQLParser.COMMA); this.state = 11396; this.a_expr(); } } this.state = 11401; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 11402; this.match(PostgreSQLParser.CLOSE_PAREN); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_reverse(): Opt_reverseContext { let _localctx: Opt_reverseContext = new Opt_reverseContext(this._ctx, this.state); this.enterRule(_localctx, 1616, PostgreSQLParser.RULE_opt_reverse); try { this.state = 11408; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1199, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11407; this.match(PostgreSQLParser.KW_REVERSE); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_by_expression(): Opt_by_expressionContext { let _localctx: Opt_by_expressionContext = new Opt_by_expressionContext(this._ctx, this.state); this.enterRule(_localctx, 1618, PostgreSQLParser.RULE_opt_by_expression); try { this.state = 11413; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_LOOP: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_BY: this.enterOuterAlt(_localctx, 2); { this.state = 11411; this.match(PostgreSQLParser.KW_BY); this.state = 11412; this.a_expr(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public for_variable(): For_variableContext { let _localctx: For_variableContext = new For_variableContext(this._ctx, this.state); this.enterRule(_localctx, 1620, PostgreSQLParser.RULE_for_variable); try { this.enterOuterAlt(_localctx, 1); { this.state = 11415; this.any_name_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_foreach_a(): Stmt_foreach_aContext { let _localctx: Stmt_foreach_aContext = new Stmt_foreach_aContext(this._ctx, this.state); this.enterRule(_localctx, 1622, PostgreSQLParser.RULE_stmt_foreach_a); try { this.enterOuterAlt(_localctx, 1); { this.state = 11417; this.opt_loop_label(); this.state = 11418; this.match(PostgreSQLParser.KW_FOREACH); this.state = 11419; this.for_variable(); this.state = 11420; this.foreach_slice(); this.state = 11421; this.match(PostgreSQLParser.KW_IN); this.state = 11422; this.match(PostgreSQLParser.KW_ARRAY); this.state = 11423; this.a_expr(); this.state = 11424; this.loop_body(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public foreach_slice(): Foreach_sliceContext { let _localctx: Foreach_sliceContext = new Foreach_sliceContext(this._ctx, this.state); this.enterRule(_localctx, 1624, PostgreSQLParser.RULE_foreach_slice); try { this.state = 11429; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_IN: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_SLICE: this.enterOuterAlt(_localctx, 2); { this.state = 11427; this.match(PostgreSQLParser.KW_SLICE); this.state = 11428; this.iconst(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_exit(): Stmt_exitContext { let _localctx: Stmt_exitContext = new Stmt_exitContext(this._ctx, this.state); this.enterRule(_localctx, 1626, PostgreSQLParser.RULE_stmt_exit); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11431; this.exit_type(); this.state = 11432; this.opt_label(); this.state = 11434; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHEN) { { this.state = 11433; this.opt_exitcond(); } } this.state = 11436; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public exit_type(): Exit_typeContext { let _localctx: Exit_typeContext = new Exit_typeContext(this._ctx, this.state); this.enterRule(_localctx, 1628, PostgreSQLParser.RULE_exit_type); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11438; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_CONTINUE || _la === PostgreSQLParser.KW_EXIT)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_return(): Stmt_returnContext { let _localctx: Stmt_returnContext = new Stmt_returnContext(this._ctx, this.state); this.enterRule(_localctx, 1630, PostgreSQLParser.RULE_stmt_return); try { this.enterOuterAlt(_localctx, 1); { this.state = 11440; this.match(PostgreSQLParser.KW_RETURN); this.state = 11452; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1204, this._ctx) ) { case 1: { this.state = 11441; this.match(PostgreSQLParser.KW_NEXT); this.state = 11442; this.sql_expression(); } break; case 2: { this.state = 11443; this.match(PostgreSQLParser.KW_QUERY); this.state = 11449; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_EXECUTE: { this.state = 11444; this.match(PostgreSQLParser.KW_EXECUTE); this.state = 11445; this.a_expr(); this.state = 11446; this.opt_for_using_expression(); } break; case PostgreSQLParser.OPEN_PAREN: case PostgreSQLParser.KW_SELECT: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_WITH: case PostgreSQLParser.KW_VALUES: { this.state = 11448; this.selectstmt(); } break; default: throw new NoViableAltException(this); } } break; case 3: { this.state = 11451; this.opt_return_result(); } break; } this.state = 11454; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_return_result(): Opt_return_resultContext { let _localctx: Opt_return_resultContext = new Opt_return_resultContext(this._ctx, this.state); this.enterRule(_localctx, 1632, PostgreSQLParser.RULE_opt_return_result); try { this.state = 11458; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1205, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11457; this.sql_expression(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_raise(): Stmt_raiseContext { let _localctx: Stmt_raiseContext = new Stmt_raiseContext(this._ctx, this.state); this.enterRule(_localctx, 1634, PostgreSQLParser.RULE_stmt_raise); let _la: number; try { this.state = 11494; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1210, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 11460; this.match(PostgreSQLParser.KW_RAISE); this.state = 11462; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 512)) & ~0x1F) === 0 && ((1 << (_la - 512)) & ((1 << (PostgreSQLParser.KW_DEBUG - 512)) | (1 << (PostgreSQLParser.KW_LOG - 512)) | (1 << (PostgreSQLParser.KW_INFO - 512)) | (1 << (PostgreSQLParser.KW_NOTICE - 512)) | (1 << (PostgreSQLParser.KW_WARNING - 512)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 512)))) !== 0)) { { this.state = 11461; this.opt_stmt_raise_level(); } } this.state = 11464; this.sconst(); this.state = 11465; this.opt_raise_list(); this.state = 11466; this.opt_raise_using(); this.state = 11467; this.match(PostgreSQLParser.SEMI); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11469; this.match(PostgreSQLParser.KW_RAISE); this.state = 11471; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1207, this._ctx) ) { case 1: { this.state = 11470; this.opt_stmt_raise_level(); } break; } this.state = 11473; this.identifier(); this.state = 11474; this.opt_raise_using(); this.state = 11475; this.match(PostgreSQLParser.SEMI); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 11477; this.match(PostgreSQLParser.KW_RAISE); this.state = 11479; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 512)) & ~0x1F) === 0 && ((1 << (_la - 512)) & ((1 << (PostgreSQLParser.KW_DEBUG - 512)) | (1 << (PostgreSQLParser.KW_LOG - 512)) | (1 << (PostgreSQLParser.KW_INFO - 512)) | (1 << (PostgreSQLParser.KW_NOTICE - 512)) | (1 << (PostgreSQLParser.KW_WARNING - 512)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 512)))) !== 0)) { { this.state = 11478; this.opt_stmt_raise_level(); } } this.state = 11481; this.match(PostgreSQLParser.KW_SQLSTATE); this.state = 11482; this.sconst(); this.state = 11483; this.opt_raise_using(); this.state = 11484; this.match(PostgreSQLParser.SEMI); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 11486; this.match(PostgreSQLParser.KW_RAISE); this.state = 11488; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 512)) & ~0x1F) === 0 && ((1 << (_la - 512)) & ((1 << (PostgreSQLParser.KW_DEBUG - 512)) | (1 << (PostgreSQLParser.KW_LOG - 512)) | (1 << (PostgreSQLParser.KW_INFO - 512)) | (1 << (PostgreSQLParser.KW_NOTICE - 512)) | (1 << (PostgreSQLParser.KW_WARNING - 512)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 512)))) !== 0)) { { this.state = 11487; this.opt_stmt_raise_level(); } } this.state = 11490; this.opt_raise_using(); this.state = 11491; this.match(PostgreSQLParser.SEMI); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 11493; this.match(PostgreSQLParser.KW_RAISE); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_stmt_raise_level(): Opt_stmt_raise_levelContext { let _localctx: Opt_stmt_raise_levelContext = new Opt_stmt_raise_levelContext(this._ctx, this.state); this.enterRule(_localctx, 1636, PostgreSQLParser.RULE_opt_stmt_raise_level); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11496; _la = this._input.LA(1); if (!(((((_la - 512)) & ~0x1F) === 0 && ((1 << (_la - 512)) & ((1 << (PostgreSQLParser.KW_DEBUG - 512)) | (1 << (PostgreSQLParser.KW_LOG - 512)) | (1 << (PostgreSQLParser.KW_INFO - 512)) | (1 << (PostgreSQLParser.KW_NOTICE - 512)) | (1 << (PostgreSQLParser.KW_WARNING - 512)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 512)))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_raise_list(): Opt_raise_listContext { let _localctx: Opt_raise_listContext = new Opt_raise_listContext(this._ctx, this.state); this.enterRule(_localctx, 1638, PostgreSQLParser.RULE_opt_raise_list); let _la: number; try { this.state = 11505; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.SEMI: case PostgreSQLParser.KW_USING: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.COMMA: this.enterOuterAlt(_localctx, 2); { this.state = 11501; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 11499; this.match(PostgreSQLParser.COMMA); this.state = 11500; this.a_expr(); } } this.state = 11503; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === PostgreSQLParser.COMMA); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_raise_using(): Opt_raise_usingContext { let _localctx: Opt_raise_usingContext = new Opt_raise_usingContext(this._ctx, this.state); this.enterRule(_localctx, 1640, PostgreSQLParser.RULE_opt_raise_using); try { this.state = 11510; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.SEMI: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_USING: this.enterOuterAlt(_localctx, 2); { this.state = 11508; this.match(PostgreSQLParser.KW_USING); this.state = 11509; this.opt_raise_using_elem_list(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_raise_using_elem(): Opt_raise_using_elemContext { let _localctx: Opt_raise_using_elemContext = new Opt_raise_using_elemContext(this._ctx, this.state); this.enterRule(_localctx, 1642, PostgreSQLParser.RULE_opt_raise_using_elem); try { this.enterOuterAlt(_localctx, 1); { this.state = 11512; this.identifier(); this.state = 11513; this.match(PostgreSQLParser.EQUAL); this.state = 11514; this.a_expr(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_raise_using_elem_list(): Opt_raise_using_elem_listContext { let _localctx: Opt_raise_using_elem_listContext = new Opt_raise_using_elem_listContext(this._ctx, this.state); this.enterRule(_localctx, 1644, PostgreSQLParser.RULE_opt_raise_using_elem_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11516; this.opt_raise_using_elem(); this.state = 11521; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 11517; this.match(PostgreSQLParser.COMMA); this.state = 11518; this.opt_raise_using_elem(); } } this.state = 11523; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_assert(): Stmt_assertContext { let _localctx: Stmt_assertContext = new Stmt_assertContext(this._ctx, this.state); this.enterRule(_localctx, 1646, PostgreSQLParser.RULE_stmt_assert); try { this.enterOuterAlt(_localctx, 1); { this.state = 11524; this.match(PostgreSQLParser.KW_ASSERT); this.state = 11525; this.sql_expression(); this.state = 11526; this.opt_stmt_assert_message(); this.state = 11527; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_stmt_assert_message(): Opt_stmt_assert_messageContext { let _localctx: Opt_stmt_assert_messageContext = new Opt_stmt_assert_messageContext(this._ctx, this.state); this.enterRule(_localctx, 1648, PostgreSQLParser.RULE_opt_stmt_assert_message); try { this.state = 11532; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.SEMI: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.COMMA: this.enterOuterAlt(_localctx, 2); { this.state = 11530; this.match(PostgreSQLParser.COMMA); this.state = 11531; this.sql_expression(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public loop_body(): Loop_bodyContext { let _localctx: Loop_bodyContext = new Loop_bodyContext(this._ctx, this.state); this.enterRule(_localctx, 1650, PostgreSQLParser.RULE_loop_body); try { this.enterOuterAlt(_localctx, 1); { this.state = 11534; this.match(PostgreSQLParser.KW_LOOP); this.state = 11535; this.proc_sect(); this.state = 11536; this.match(PostgreSQLParser.KW_END); this.state = 11537; this.match(PostgreSQLParser.KW_LOOP); this.state = 11538; this.opt_label(); this.state = 11539; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_execsql(): Stmt_execsqlContext { let _localctx: Stmt_execsqlContext = new Stmt_execsqlContext(this._ctx, this.state); this.enterRule(_localctx, 1652, PostgreSQLParser.RULE_stmt_execsql); try { this.enterOuterAlt(_localctx, 1); { this.state = 11541; this.make_execsql_stmt(); this.state = 11542; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_dynexecute(): Stmt_dynexecuteContext { let _localctx: Stmt_dynexecuteContext = new Stmt_dynexecuteContext(this._ctx, this.state); this.enterRule(_localctx, 1654, PostgreSQLParser.RULE_stmt_dynexecute); try { this.enterOuterAlt(_localctx, 1); { this.state = 11544; this.match(PostgreSQLParser.KW_EXECUTE); this.state = 11545; this.a_expr(); this.state = 11553; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1216, this._ctx) ) { case 1: { this.state = 11546; this.opt_execute_into(); this.state = 11547; this.opt_execute_using(); } break; case 2: { this.state = 11549; this.opt_execute_using(); this.state = 11550; this.opt_execute_into(); } break; case 3: // tslint:disable-next-line:no-empty { } break; } this.state = 11555; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_execute_using(): Opt_execute_usingContext { let _localctx: Opt_execute_usingContext = new Opt_execute_usingContext(this._ctx, this.state); this.enterRule(_localctx, 1656, PostgreSQLParser.RULE_opt_execute_using); try { this.state = 11560; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1217, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11558; this.match(PostgreSQLParser.KW_USING); this.state = 11559; this.opt_execute_using_list(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_execute_using_list(): Opt_execute_using_listContext { let _localctx: Opt_execute_using_listContext = new Opt_execute_using_listContext(this._ctx, this.state); this.enterRule(_localctx, 1658, PostgreSQLParser.RULE_opt_execute_using_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11562; this.a_expr(); this.state = 11567; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 11563; this.match(PostgreSQLParser.COMMA); this.state = 11564; this.a_expr(); } } this.state = 11569; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_execute_into(): Opt_execute_intoContext { let _localctx: Opt_execute_intoContext = new Opt_execute_intoContext(this._ctx, this.state); this.enterRule(_localctx, 1660, PostgreSQLParser.RULE_opt_execute_into); try { this.state = 11576; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1220, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11571; this.match(PostgreSQLParser.KW_INTO); this.state = 11573; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1219, this._ctx) ) { case 1: { this.state = 11572; this.match(PostgreSQLParser.KW_STRICT); } break; } this.state = 11575; this.into_target(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_open(): Stmt_openContext { let _localctx: Stmt_openContext = new Stmt_openContext(this._ctx, this.state); this.enterRule(_localctx, 1662, PostgreSQLParser.RULE_stmt_open); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11578; this.match(PostgreSQLParser.KW_OPEN); this.state = 11596; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1223, this._ctx) ) { case 1: { this.state = 11579; this.cursor_variable(); this.state = 11580; this.opt_scroll_option(); this.state = 11581; this.match(PostgreSQLParser.KW_FOR); this.state = 11587; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.OPEN_PAREN: case PostgreSQLParser.KW_SELECT: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_WITH: case PostgreSQLParser.KW_VALUES: { this.state = 11582; this.selectstmt(); } break; case PostgreSQLParser.KW_EXECUTE: { this.state = 11583; this.match(PostgreSQLParser.KW_EXECUTE); this.state = 11584; this.sql_expression(); this.state = 11585; this.opt_open_using(); } break; default: throw new NoViableAltException(this); } } break; case 2: { this.state = 11589; this.colid(); this.state = 11594; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 11590; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 11591; this.opt_open_bound_list(); this.state = 11592; this.match(PostgreSQLParser.CLOSE_PAREN); } } } break; } this.state = 11598; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_open_bound_list_item(): Opt_open_bound_list_itemContext { let _localctx: Opt_open_bound_list_itemContext = new Opt_open_bound_list_itemContext(this._ctx, this.state); this.enterRule(_localctx, 1664, PostgreSQLParser.RULE_opt_open_bound_list_item); try { this.state = 11605; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1224, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 11600; this.colid(); this.state = 11601; this.match(PostgreSQLParser.COLON_EQUALS); this.state = 11602; this.a_expr(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11604; this.a_expr(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_open_bound_list(): Opt_open_bound_listContext { let _localctx: Opt_open_bound_listContext = new Opt_open_bound_listContext(this._ctx, this.state); this.enterRule(_localctx, 1666, PostgreSQLParser.RULE_opt_open_bound_list); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11607; this.opt_open_bound_list_item(); this.state = 11612; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 11608; this.match(PostgreSQLParser.COMMA); this.state = 11609; this.opt_open_bound_list_item(); } } this.state = 11614; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_open_using(): Opt_open_usingContext { let _localctx: Opt_open_usingContext = new Opt_open_usingContext(this._ctx, this.state); this.enterRule(_localctx, 1668, PostgreSQLParser.RULE_opt_open_using); try { this.state = 11618; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.SEMI: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_USING: this.enterOuterAlt(_localctx, 2); { this.state = 11616; this.match(PostgreSQLParser.KW_USING); this.state = 11617; this.expr_list(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_scroll_option(): Opt_scroll_optionContext { let _localctx: Opt_scroll_optionContext = new Opt_scroll_optionContext(this._ctx, this.state); this.enterRule(_localctx, 1670, PostgreSQLParser.RULE_opt_scroll_option); try { this.state = 11624; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_FOR: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_SCROLL: this.enterOuterAlt(_localctx, 2); { this.state = 11621; this.opt_scroll_option_no(); this.state = 11622; this.match(PostgreSQLParser.KW_SCROLL); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_scroll_option_no(): Opt_scroll_option_noContext { let _localctx: Opt_scroll_option_noContext = new Opt_scroll_option_noContext(this._ctx, this.state); this.enterRule(_localctx, 1672, PostgreSQLParser.RULE_opt_scroll_option_no); try { this.state = 11628; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_SCROLL: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_NO: this.enterOuterAlt(_localctx, 2); { this.state = 11627; this.match(PostgreSQLParser.KW_NO); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_fetch(): Stmt_fetchContext { let _localctx: Stmt_fetchContext = new Stmt_fetchContext(this._ctx, this.state); this.enterRule(_localctx, 1674, PostgreSQLParser.RULE_stmt_fetch); try { this.enterOuterAlt(_localctx, 1); { this.state = 11630; this.match(PostgreSQLParser.KW_FETCH); this.state = 11632; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1229, this._ctx) ) { case 1: { this.state = 11631; _localctx._direction = this.opt_fetch_direction(); } break; } this.state = 11634; this.opt_cursor_from(); this.state = 11635; this.cursor_variable(); this.state = 11636; this.match(PostgreSQLParser.KW_INTO); this.state = 11637; this.into_target(); this.state = 11638; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public into_target(): Into_targetContext { let _localctx: Into_targetContext = new Into_targetContext(this._ctx, this.state); this.enterRule(_localctx, 1676, PostgreSQLParser.RULE_into_target); try { this.enterOuterAlt(_localctx, 1); { this.state = 11640; this.expr_list(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_cursor_from(): Opt_cursor_fromContext { let _localctx: Opt_cursor_fromContext = new Opt_cursor_fromContext(this._ctx, this.state); this.enterRule(_localctx, 1678, PostgreSQLParser.RULE_opt_cursor_from); try { this.state = 11645; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.PARAM: case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_FROM: this.enterOuterAlt(_localctx, 2); { this.state = 11643; this.match(PostgreSQLParser.KW_FROM); } break; case PostgreSQLParser.KW_IN: this.enterOuterAlt(_localctx, 3); { this.state = 11644; this.match(PostgreSQLParser.KW_IN); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_fetch_direction(): Opt_fetch_directionContext { let _localctx: Opt_fetch_directionContext = new Opt_fetch_directionContext(this._ctx, this.state); this.enterRule(_localctx, 1680, PostgreSQLParser.RULE_opt_fetch_direction); let _la: number; try { this.state = 11662; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1232, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 11647; this.match(PostgreSQLParser.KW_NEXT); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11648; this.match(PostgreSQLParser.KW_PRIOR); } break; case 3: this.enterOuterAlt(_localctx, 3); { this.state = 11649; this.match(PostgreSQLParser.KW_FIRST); } break; case 4: this.enterOuterAlt(_localctx, 4); { this.state = 11650; this.match(PostgreSQLParser.KW_LAST); } break; case 5: this.enterOuterAlt(_localctx, 5); { this.state = 11651; this.match(PostgreSQLParser.KW_ABSOLUTE); this.state = 11652; this.a_expr(); } break; case 6: this.enterOuterAlt(_localctx, 6); { this.state = 11653; this.match(PostgreSQLParser.KW_RELATIVE); this.state = 11654; this.a_expr(); } break; case 7: this.enterOuterAlt(_localctx, 7); { this.state = 11655; this.a_expr(); } break; case 8: this.enterOuterAlt(_localctx, 8); { this.state = 11656; this.match(PostgreSQLParser.KW_ALL); } break; case 9: this.enterOuterAlt(_localctx, 9); { this.state = 11657; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_BACKWARD || _la === PostgreSQLParser.KW_FORWARD)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 11660; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1231, this._ctx) ) { case 1: { this.state = 11658; this.a_expr(); } break; case 2: { this.state = 11659; this.match(PostgreSQLParser.KW_ALL); } break; } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_move(): Stmt_moveContext { let _localctx: Stmt_moveContext = new Stmt_moveContext(this._ctx, this.state); this.enterRule(_localctx, 1682, PostgreSQLParser.RULE_stmt_move); try { this.enterOuterAlt(_localctx, 1); { this.state = 11664; this.match(PostgreSQLParser.KW_MOVE); this.state = 11666; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1233, this._ctx) ) { case 1: { this.state = 11665; this.opt_fetch_direction(); } break; } this.state = 11668; this.cursor_variable(); this.state = 11669; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public mergestmt(): MergestmtContext { let _localctx: MergestmtContext = new MergestmtContext(this._ctx, this.state); this.enterRule(_localctx, 1684, PostgreSQLParser.RULE_mergestmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11672; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WITH) { { this.state = 11671; this.with_clause(); } } this.state = 11674; this.match(PostgreSQLParser.KW_MERGE); this.state = 11675; this.match(PostgreSQLParser.KW_INTO); this.state = 11677; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ONLY) { { this.state = 11676; this.match(PostgreSQLParser.KW_ONLY); } } this.state = 11679; this.table_name(); this.state = 11681; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.STAR) { { this.state = 11680; this.match(PostgreSQLParser.STAR); } } this.state = 11687; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_AS - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (PostgreSQLParser.KW_TABLE - 92)) | (1 << (PostgreSQLParser.KW_IS - 92)) | (1 << (PostgreSQLParser.KW_OUTER - 92)))) !== 0) || ((((_la - 124)) & ~0x1F) === 0 && ((1 << (_la - 124)) & ((1 << (PostgreSQLParser.KW_OVER - 124)) | (1 << (PostgreSQLParser.KW_ABORT - 124)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 124)) | (1 << (PostgreSQLParser.KW_ACCESS - 124)) | (1 << (PostgreSQLParser.KW_ACTION - 124)) | (1 << (PostgreSQLParser.KW_ADD - 124)) | (1 << (PostgreSQLParser.KW_ADMIN - 124)) | (1 << (PostgreSQLParser.KW_AFTER - 124)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 124)) | (1 << (PostgreSQLParser.KW_ALSO - 124)) | (1 << (PostgreSQLParser.KW_ALTER - 124)) | (1 << (PostgreSQLParser.KW_ALWAYS - 124)) | (1 << (PostgreSQLParser.KW_ASSERTION - 124)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 124)) | (1 << (PostgreSQLParser.KW_AT - 124)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 124)) | (1 << (PostgreSQLParser.KW_BACKWARD - 124)) | (1 << (PostgreSQLParser.KW_BEFORE - 124)) | (1 << (PostgreSQLParser.KW_BEGIN - 124)) | (1 << (PostgreSQLParser.KW_BY - 124)) | (1 << (PostgreSQLParser.KW_CACHE - 124)) | (1 << (PostgreSQLParser.KW_CALLED - 124)) | (1 << (PostgreSQLParser.KW_CASCADE - 124)) | (1 << (PostgreSQLParser.KW_CASCADED - 124)) | (1 << (PostgreSQLParser.KW_CATALOG - 124)) | (1 << (PostgreSQLParser.KW_CHAIN - 124)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 124)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 124)))) !== 0) || ((((_la - 156)) & ~0x1F) === 0 && ((1 << (_la - 156)) & ((1 << (PostgreSQLParser.KW_CLASS - 156)) | (1 << (PostgreSQLParser.KW_CLOSE - 156)) | (1 << (PostgreSQLParser.KW_CLUSTER - 156)) | (1 << (PostgreSQLParser.KW_COMMENT - 156)) | (1 << (PostgreSQLParser.KW_COMMENTS - 156)) | (1 << (PostgreSQLParser.KW_COMMIT - 156)) | (1 << (PostgreSQLParser.KW_COMMITTED - 156)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 156)) | (1 << (PostgreSQLParser.KW_CONNECTION - 156)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 156)) | (1 << (PostgreSQLParser.KW_CONTENT - 156)) | (1 << (PostgreSQLParser.KW_CONTINUE - 156)) | (1 << (PostgreSQLParser.KW_CONVERSION - 156)) | (1 << (PostgreSQLParser.KW_COPY - 156)) | (1 << (PostgreSQLParser.KW_COST - 156)) | (1 << (PostgreSQLParser.KW_CSV - 156)) | (1 << (PostgreSQLParser.KW_CURSOR - 156)) | (1 << (PostgreSQLParser.KW_CYCLE - 156)) | (1 << (PostgreSQLParser.KW_DATA - 156)) | (1 << (PostgreSQLParser.KW_DATABASE - 156)) | (1 << (PostgreSQLParser.KW_DAY - 156)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 156)) | (1 << (PostgreSQLParser.KW_DECLARE - 156)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 156)) | (1 << (PostgreSQLParser.KW_DEFERRED - 156)) | (1 << (PostgreSQLParser.KW_DEFINER - 156)) | (1 << (PostgreSQLParser.KW_DELETE - 156)) | (1 << (PostgreSQLParser.KW_DELIMITER - 156)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 156)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 156)) | (1 << (PostgreSQLParser.KW_DISABLE - 156)) | (1 << (PostgreSQLParser.KW_DISCARD - 156)))) !== 0) || ((((_la - 188)) & ~0x1F) === 0 && ((1 << (_la - 188)) & ((1 << (PostgreSQLParser.KW_DOCUMENT - 188)) | (1 << (PostgreSQLParser.KW_DOMAIN - 188)) | (1 << (PostgreSQLParser.KW_DOUBLE - 188)) | (1 << (PostgreSQLParser.KW_DROP - 188)) | (1 << (PostgreSQLParser.KW_EACH - 188)) | (1 << (PostgreSQLParser.KW_ENABLE - 188)) | (1 << (PostgreSQLParser.KW_ENCODING - 188)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 188)) | (1 << (PostgreSQLParser.KW_ENUM - 188)) | (1 << (PostgreSQLParser.KW_ESCAPE - 188)) | (1 << (PostgreSQLParser.KW_EVENT - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 188)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 188)) | (1 << (PostgreSQLParser.KW_EXECUTE - 188)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 188)) | (1 << (PostgreSQLParser.KW_EXTENSION - 188)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 188)) | (1 << (PostgreSQLParser.KW_FAMILY - 188)) | (1 << (PostgreSQLParser.KW_FIRST - 188)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 188)) | (1 << (PostgreSQLParser.KW_FORCE - 188)) | (1 << (PostgreSQLParser.KW_FORWARD - 188)) | (1 << (PostgreSQLParser.KW_FUNCTION - 188)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 188)) | (1 << (PostgreSQLParser.KW_GLOBAL - 188)) | (1 << (PostgreSQLParser.KW_GRANTED - 188)) | (1 << (PostgreSQLParser.KW_HANDLER - 188)) | (1 << (PostgreSQLParser.KW_HEADER - 188)) | (1 << (PostgreSQLParser.KW_HOLD - 188)) | (1 << (PostgreSQLParser.KW_HOUR - 188)) | (1 << (PostgreSQLParser.KW_IDENTITY - 188)))) !== 0) || ((((_la - 220)) & ~0x1F) === 0 && ((1 << (_la - 220)) & ((1 << (PostgreSQLParser.KW_IF - 220)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 220)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 220)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 220)) | (1 << (PostgreSQLParser.KW_INCLUDING - 220)) | (1 << (PostgreSQLParser.KW_INCREMENT - 220)) | (1 << (PostgreSQLParser.KW_INDEX - 220)) | (1 << (PostgreSQLParser.KW_INDEXES - 220)) | (1 << (PostgreSQLParser.KW_INHERIT - 220)) | (1 << (PostgreSQLParser.KW_INHERITS - 220)) | (1 << (PostgreSQLParser.KW_INLINE - 220)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 220)) | (1 << (PostgreSQLParser.KW_INSERT - 220)) | (1 << (PostgreSQLParser.KW_INSTEAD - 220)) | (1 << (PostgreSQLParser.KW_INVOKER - 220)) | (1 << (PostgreSQLParser.KW_ISOLATION - 220)) | (1 << (PostgreSQLParser.KW_KEY - 220)) | (1 << (PostgreSQLParser.KW_LABEL - 220)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 220)) | (1 << (PostgreSQLParser.KW_LARGE - 220)) | (1 << (PostgreSQLParser.KW_LAST - 220)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 220)) | (1 << (PostgreSQLParser.KW_LEVEL - 220)))) !== 0) || ((((_la - 252)) & ~0x1F) === 0 && ((1 << (_la - 252)) & ((1 << (PostgreSQLParser.KW_LISTEN - 252)) | (1 << (PostgreSQLParser.KW_LOAD - 252)) | (1 << (PostgreSQLParser.KW_LOCAL - 252)) | (1 << (PostgreSQLParser.KW_LOCATION - 252)) | (1 << (PostgreSQLParser.KW_LOCK - 252)) | (1 << (PostgreSQLParser.KW_MAPPING - 252)) | (1 << (PostgreSQLParser.KW_MATCH - 252)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 252)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 252)) | (1 << (PostgreSQLParser.KW_MINUTE - 252)) | (1 << (PostgreSQLParser.KW_MINVALUE - 252)) | (1 << (PostgreSQLParser.KW_MODE - 252)) | (1 << (PostgreSQLParser.KW_MONTH - 252)) | (1 << (PostgreSQLParser.KW_MOVE - 252)) | (1 << (PostgreSQLParser.KW_NAME - 252)) | (1 << (PostgreSQLParser.KW_NAMES - 252)) | (1 << (PostgreSQLParser.KW_NEXT - 252)) | (1 << (PostgreSQLParser.KW_NO - 252)) | (1 << (PostgreSQLParser.KW_NOTHING - 252)) | (1 << (PostgreSQLParser.KW_NOTIFY - 252)) | (1 << (PostgreSQLParser.KW_NOWAIT - 252)) | (1 << (PostgreSQLParser.KW_NULLS - 252)) | (1 << (PostgreSQLParser.KW_OBJECT - 252)) | (1 << (PostgreSQLParser.KW_OF - 252)) | (1 << (PostgreSQLParser.KW_OFF - 252)) | (1 << (PostgreSQLParser.KW_OIDS - 252)) | (1 << (PostgreSQLParser.KW_OPERATOR - 252)) | (1 << (PostgreSQLParser.KW_OPTION - 252)) | (1 << (PostgreSQLParser.KW_OPTIONS - 252)) | (1 << (PostgreSQLParser.KW_OWNED - 252)) | (1 << (PostgreSQLParser.KW_OWNER - 252)) | (1 << (PostgreSQLParser.KW_PARSER - 252)))) !== 0) || ((((_la - 284)) & ~0x1F) === 0 && ((1 << (_la - 284)) & ((1 << (PostgreSQLParser.KW_PARTIAL - 284)) | (1 << (PostgreSQLParser.KW_PARTITION - 284)) | (1 << (PostgreSQLParser.KW_PASSING - 284)) | (1 << (PostgreSQLParser.KW_PASSWORD - 284)) | (1 << (PostgreSQLParser.KW_PLANS - 284)) | (1 << (PostgreSQLParser.KW_PRECEDING - 284)) | (1 << (PostgreSQLParser.KW_PREPARE - 284)) | (1 << (PostgreSQLParser.KW_PREPARED - 284)) | (1 << (PostgreSQLParser.KW_PRESERVE - 284)) | (1 << (PostgreSQLParser.KW_PRIOR - 284)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 284)) | (1 << (PostgreSQLParser.KW_PROGRAM - 284)) | (1 << (PostgreSQLParser.KW_QUOTE - 284)) | (1 << (PostgreSQLParser.KW_RANGE - 284)) | (1 << (PostgreSQLParser.KW_READ - 284)) | (1 << (PostgreSQLParser.KW_REASSIGN - 284)) | (1 << (PostgreSQLParser.KW_RECHECK - 284)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 284)) | (1 << (PostgreSQLParser.KW_REF - 284)) | (1 << (PostgreSQLParser.KW_REFRESH - 284)) | (1 << (PostgreSQLParser.KW_REINDEX - 284)) | (1 << (PostgreSQLParser.KW_RELATIVE - 284)) | (1 << (PostgreSQLParser.KW_RELEASE - 284)) | (1 << (PostgreSQLParser.KW_RENAME - 284)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 284)) | (1 << (PostgreSQLParser.KW_REPLACE - 284)) | (1 << (PostgreSQLParser.KW_REPLICA - 284)) | (1 << (PostgreSQLParser.KW_RESET - 284)) | (1 << (PostgreSQLParser.KW_RESTART - 284)) | (1 << (PostgreSQLParser.KW_RESTRICT - 284)))) !== 0) || ((((_la - 316)) & ~0x1F) === 0 && ((1 << (_la - 316)) & ((1 << (PostgreSQLParser.KW_RETURNS - 316)) | (1 << (PostgreSQLParser.KW_REVOKE - 316)) | (1 << (PostgreSQLParser.KW_ROLE - 316)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 316)) | (1 << (PostgreSQLParser.KW_ROWS - 316)) | (1 << (PostgreSQLParser.KW_RULE - 316)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 316)) | (1 << (PostgreSQLParser.KW_SCHEMA - 316)) | (1 << (PostgreSQLParser.KW_SCROLL - 316)) | (1 << (PostgreSQLParser.KW_SEARCH - 316)) | (1 << (PostgreSQLParser.KW_SECOND - 316)) | (1 << (PostgreSQLParser.KW_SECURITY - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 316)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 316)) | (1 << (PostgreSQLParser.KW_SERVER - 316)) | (1 << (PostgreSQLParser.KW_SESSION - 316)) | (1 << (PostgreSQLParser.KW_SET - 316)) | (1 << (PostgreSQLParser.KW_SHARE - 316)) | (1 << (PostgreSQLParser.KW_SHOW - 316)) | (1 << (PostgreSQLParser.KW_SIMPLE - 316)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 316)) | (1 << (PostgreSQLParser.KW_STABLE - 316)) | (1 << (PostgreSQLParser.KW_STANDALONE - 316)) | (1 << (PostgreSQLParser.KW_START - 316)) | (1 << (PostgreSQLParser.KW_STATEMENT - 316)) | (1 << (PostgreSQLParser.KW_STATISTICS - 316)) | (1 << (PostgreSQLParser.KW_STDIN - 316)) | (1 << (PostgreSQLParser.KW_STDOUT - 316)) | (1 << (PostgreSQLParser.KW_STORAGE - 316)) | (1 << (PostgreSQLParser.KW_STRICT - 316)) | (1 << (PostgreSQLParser.KW_STRIP - 316)))) !== 0) || ((((_la - 348)) & ~0x1F) === 0 && ((1 << (_la - 348)) & ((1 << (PostgreSQLParser.KW_SYSID - 348)) | (1 << (PostgreSQLParser.KW_SYSTEM - 348)) | (1 << (PostgreSQLParser.KW_TABLES - 348)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 348)) | (1 << (PostgreSQLParser.KW_TEMP - 348)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 348)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 348)) | (1 << (PostgreSQLParser.KW_TEXT - 348)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 348)) | (1 << (PostgreSQLParser.KW_TRIGGER - 348)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 348)) | (1 << (PostgreSQLParser.KW_TRUSTED - 348)) | (1 << (PostgreSQLParser.KW_TYPE - 348)) | (1 << (PostgreSQLParser.KW_TYPES - 348)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 348)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 348)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 348)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 348)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 348)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 348)) | (1 << (PostgreSQLParser.KW_UNTIL - 348)) | (1 << (PostgreSQLParser.KW_UPDATE - 348)) | (1 << (PostgreSQLParser.KW_VACUUM - 348)) | (1 << (PostgreSQLParser.KW_VALID - 348)) | (1 << (PostgreSQLParser.KW_VALIDATE - 348)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 348)) | (1 << (PostgreSQLParser.KW_VARYING - 348)) | (1 << (PostgreSQLParser.KW_VERSION - 348)) | (1 << (PostgreSQLParser.KW_VIEW - 348)) | (1 << (PostgreSQLParser.KW_VOLATILE - 348)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 348)) | (1 << (PostgreSQLParser.KW_WITHOUT - 348)))) !== 0) || ((((_la - 380)) & ~0x1F) === 0 && ((1 << (_la - 380)) & ((1 << (PostgreSQLParser.KW_WORK - 380)) | (1 << (PostgreSQLParser.KW_WRAPPER - 380)) | (1 << (PostgreSQLParser.KW_WRITE - 380)) | (1 << (PostgreSQLParser.KW_XML - 380)) | (1 << (PostgreSQLParser.KW_YEAR - 380)) | (1 << (PostgreSQLParser.KW_YES - 380)) | (1 << (PostgreSQLParser.KW_ZONE - 380)) | (1 << (PostgreSQLParser.KW_BETWEEN - 380)) | (1 << (PostgreSQLParser.KW_BIGINT - 380)) | (1 << (PostgreSQLParser.KW_BIT - 380)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 380)) | (1 << (PostgreSQLParser.KW_CHAR - 380)) | (1 << (PostgreSQLParser.KW_CHARACTER - 380)) | (1 << (PostgreSQLParser.KW_COALESCE - 380)) | (1 << (PostgreSQLParser.KW_DEC - 380)) | (1 << (PostgreSQLParser.KW_DECIMAL - 380)) | (1 << (PostgreSQLParser.KW_EXISTS - 380)) | (1 << (PostgreSQLParser.KW_EXTRACT - 380)) | (1 << (PostgreSQLParser.KW_FLOAT - 380)) | (1 << (PostgreSQLParser.KW_GREATEST - 380)) | (1 << (PostgreSQLParser.KW_INOUT - 380)) | (1 << (PostgreSQLParser.KW_INT - 380)) | (1 << (PostgreSQLParser.KW_INTEGER - 380)) | (1 << (PostgreSQLParser.KW_INTERVAL - 380)) | (1 << (PostgreSQLParser.KW_LEAST - 380)) | (1 << (PostgreSQLParser.KW_NATIONAL - 380)) | (1 << (PostgreSQLParser.KW_NCHAR - 380)) | (1 << (PostgreSQLParser.KW_NONE - 380)) | (1 << (PostgreSQLParser.KW_NULLIF - 380)) | (1 << (PostgreSQLParser.KW_NUMERIC - 380)) | (1 << (PostgreSQLParser.KW_OVERLAY - 380)) | (1 << (PostgreSQLParser.KW_POSITION - 380)))) !== 0) || ((((_la - 412)) & ~0x1F) === 0 && ((1 << (_la - 412)) & ((1 << (PostgreSQLParser.KW_PRECISION - 412)) | (1 << (PostgreSQLParser.KW_REAL - 412)) | (1 << (PostgreSQLParser.KW_ROW - 412)) | (1 << (PostgreSQLParser.KW_SETOF - 412)) | (1 << (PostgreSQLParser.KW_SMALLINT - 412)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 412)) | (1 << (PostgreSQLParser.KW_TIME - 412)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 412)) | (1 << (PostgreSQLParser.KW_TREAT - 412)) | (1 << (PostgreSQLParser.KW_TRIM - 412)) | (1 << (PostgreSQLParser.KW_VALUES - 412)) | (1 << (PostgreSQLParser.KW_VARCHAR - 412)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 412)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 412)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 412)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 412)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 412)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 412)) | (1 << (PostgreSQLParser.KW_XMLPI - 412)) | (1 << (PostgreSQLParser.KW_XMLROOT - 412)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 412)) | (1 << (PostgreSQLParser.KW_CALL - 412)) | (1 << (PostgreSQLParser.KW_CURRENT - 412)) | (1 << (PostgreSQLParser.KW_ATTACH - 412)) | (1 << (PostgreSQLParser.KW_DETACH - 412)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 412)) | (1 << (PostgreSQLParser.KW_GENERATED - 412)) | (1 << (PostgreSQLParser.KW_LOGGED - 412)) | (1 << (PostgreSQLParser.KW_STORED - 412)) | (1 << (PostgreSQLParser.KW_INCLUDE - 412)) | (1 << (PostgreSQLParser.KW_ROUTINE - 412)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 412)))) !== 0) || ((((_la - 444)) & ~0x1F) === 0 && ((1 << (_la - 444)) & ((1 << (PostgreSQLParser.KW_IMPORT - 444)) | (1 << (PostgreSQLParser.KW_POLICY - 444)) | (1 << (PostgreSQLParser.KW_METHOD - 444)) | (1 << (PostgreSQLParser.KW_REFERENCING - 444)) | (1 << (PostgreSQLParser.KW_NEW - 444)) | (1 << (PostgreSQLParser.KW_OLD - 444)) | (1 << (PostgreSQLParser.KW_VALUE - 444)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 444)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 444)) | (1 << (PostgreSQLParser.KW_OUT - 444)) | (1 << (PostgreSQLParser.KW_ROUTINES - 444)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 444)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 444)) | (1 << (PostgreSQLParser.KW_INPUT - 444)) | (1 << (PostgreSQLParser.KW_SUPPORT - 444)) | (1 << (PostgreSQLParser.KW_PARALLEL - 444)) | (1 << (PostgreSQLParser.KW_SQL - 444)) | (1 << (PostgreSQLParser.KW_DEPENDS - 444)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 444)) | (1 << (PostgreSQLParser.KW_CONFLICT - 444)) | (1 << (PostgreSQLParser.KW_SKIP - 444)) | (1 << (PostgreSQLParser.KW_LOCKED - 444)) | (1 << (PostgreSQLParser.KW_TIES - 444)) | (1 << (PostgreSQLParser.KW_ROLLUP - 444)) | (1 << (PostgreSQLParser.KW_CUBE - 444)) | (1 << (PostgreSQLParser.KW_GROUPING - 444)) | (1 << (PostgreSQLParser.KW_SETS - 444)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 444)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 444)) | (1 << (PostgreSQLParser.KW_COLUMNS - 444)))) !== 0) || ((((_la - 476)) & ~0x1F) === 0 && ((1 << (_la - 476)) & ((1 << (PostgreSQLParser.KW_XMLNAMESPACES - 476)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 476)) | (1 << (PostgreSQLParser.KW_WITHIN - 476)) | (1 << (PostgreSQLParser.KW_FILTER - 476)) | (1 << (PostgreSQLParser.KW_GROUPS - 476)) | (1 << (PostgreSQLParser.KW_OTHERS - 476)) | (1 << (PostgreSQLParser.KW_NFC - 476)) | (1 << (PostgreSQLParser.KW_NFD - 476)) | (1 << (PostgreSQLParser.KW_NFKC - 476)) | (1 << (PostgreSQLParser.KW_NFKD - 476)) | (1 << (PostgreSQLParser.KW_UESCAPE - 476)) | (1 << (PostgreSQLParser.KW_VIEWS - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 476)) | (1 << (PostgreSQLParser.KW_DUMP - 476)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 476)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 476)) | (1 << (PostgreSQLParser.KW_ERROR - 476)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 476)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 476)) | (1 << (PostgreSQLParser.KW_ALIAS - 476)) | (1 << (PostgreSQLParser.KW_CONSTANT - 476)) | (1 << (PostgreSQLParser.KW_PERFORM - 476)) | (1 << (PostgreSQLParser.KW_GET - 476)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 476)) | (1 << (PostgreSQLParser.KW_STACKED - 476)) | (1 << (PostgreSQLParser.KW_ELSIF - 476)) | (1 << (PostgreSQLParser.KW_REVERSE - 476)) | (1 << (PostgreSQLParser.KW_SLICE - 476)) | (1 << (PostgreSQLParser.KW_EXIT - 476)))) !== 0) || ((((_la - 508)) & ~0x1F) === 0 && ((1 << (_la - 508)) & ((1 << (PostgreSQLParser.KW_RETURN - 508)) | (1 << (PostgreSQLParser.KW_QUERY - 508)) | (1 << (PostgreSQLParser.KW_RAISE - 508)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 508)) | (1 << (PostgreSQLParser.KW_DEBUG - 508)) | (1 << (PostgreSQLParser.KW_LOG - 508)) | (1 << (PostgreSQLParser.KW_INFO - 508)) | (1 << (PostgreSQLParser.KW_NOTICE - 508)) | (1 << (PostgreSQLParser.KW_WARNING - 508)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 508)) | (1 << (PostgreSQLParser.KW_ASSERT - 508)) | (1 << (PostgreSQLParser.KW_OPEN - 508)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 11684; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AS) { { this.state = 11683; this.match(PostgreSQLParser.KW_AS); } } this.state = 11686; this.colid(); } } this.state = 11689; this.match(PostgreSQLParser.KW_USING); this.state = 11690; this.data_source(); this.state = 11691; this.match(PostgreSQLParser.KW_ON); this.state = 11692; this.join_condition(); this.state = 11694; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 11693; this.merge_when_clause(); } } this.state = 11696; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === PostgreSQLParser.KW_WHEN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public data_source(): Data_sourceContext { let _localctx: Data_sourceContext = new Data_sourceContext(this._ctx, this.state); this.enterRule(_localctx, 1686, PostgreSQLParser.RULE_data_source); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11709; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1243, this._ctx) ) { case 1: { this.state = 11699; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_ONLY) { { this.state = 11698; this.match(PostgreSQLParser.KW_ONLY); } } this.state = 11701; this.table_name(); this.state = 11703; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.STAR) { { this.state = 11702; this.match(PostgreSQLParser.STAR); } } } break; case 2: { this.state = 11707; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1242, this._ctx) ) { case 1: { this.state = 11705; this.select_no_parens(); } break; case 2: { this.state = 11706; this.values_clause(); } break; } } break; } this.state = 11715; this._errHandler.sync(this); _la = this._input.LA(1); if (((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_AS - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (PostgreSQLParser.KW_TABLE - 92)) | (1 << (PostgreSQLParser.KW_IS - 92)) | (1 << (PostgreSQLParser.KW_OUTER - 92)))) !== 0) || ((((_la - 124)) & ~0x1F) === 0 && ((1 << (_la - 124)) & ((1 << (PostgreSQLParser.KW_OVER - 124)) | (1 << (PostgreSQLParser.KW_ABORT - 124)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 124)) | (1 << (PostgreSQLParser.KW_ACCESS - 124)) | (1 << (PostgreSQLParser.KW_ACTION - 124)) | (1 << (PostgreSQLParser.KW_ADD - 124)) | (1 << (PostgreSQLParser.KW_ADMIN - 124)) | (1 << (PostgreSQLParser.KW_AFTER - 124)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 124)) | (1 << (PostgreSQLParser.KW_ALSO - 124)) | (1 << (PostgreSQLParser.KW_ALTER - 124)) | (1 << (PostgreSQLParser.KW_ALWAYS - 124)) | (1 << (PostgreSQLParser.KW_ASSERTION - 124)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 124)) | (1 << (PostgreSQLParser.KW_AT - 124)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 124)) | (1 << (PostgreSQLParser.KW_BACKWARD - 124)) | (1 << (PostgreSQLParser.KW_BEFORE - 124)) | (1 << (PostgreSQLParser.KW_BEGIN - 124)) | (1 << (PostgreSQLParser.KW_BY - 124)) | (1 << (PostgreSQLParser.KW_CACHE - 124)) | (1 << (PostgreSQLParser.KW_CALLED - 124)) | (1 << (PostgreSQLParser.KW_CASCADE - 124)) | (1 << (PostgreSQLParser.KW_CASCADED - 124)) | (1 << (PostgreSQLParser.KW_CATALOG - 124)) | (1 << (PostgreSQLParser.KW_CHAIN - 124)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 124)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 124)))) !== 0) || ((((_la - 156)) & ~0x1F) === 0 && ((1 << (_la - 156)) & ((1 << (PostgreSQLParser.KW_CLASS - 156)) | (1 << (PostgreSQLParser.KW_CLOSE - 156)) | (1 << (PostgreSQLParser.KW_CLUSTER - 156)) | (1 << (PostgreSQLParser.KW_COMMENT - 156)) | (1 << (PostgreSQLParser.KW_COMMENTS - 156)) | (1 << (PostgreSQLParser.KW_COMMIT - 156)) | (1 << (PostgreSQLParser.KW_COMMITTED - 156)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 156)) | (1 << (PostgreSQLParser.KW_CONNECTION - 156)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 156)) | (1 << (PostgreSQLParser.KW_CONTENT - 156)) | (1 << (PostgreSQLParser.KW_CONTINUE - 156)) | (1 << (PostgreSQLParser.KW_CONVERSION - 156)) | (1 << (PostgreSQLParser.KW_COPY - 156)) | (1 << (PostgreSQLParser.KW_COST - 156)) | (1 << (PostgreSQLParser.KW_CSV - 156)) | (1 << (PostgreSQLParser.KW_CURSOR - 156)) | (1 << (PostgreSQLParser.KW_CYCLE - 156)) | (1 << (PostgreSQLParser.KW_DATA - 156)) | (1 << (PostgreSQLParser.KW_DATABASE - 156)) | (1 << (PostgreSQLParser.KW_DAY - 156)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 156)) | (1 << (PostgreSQLParser.KW_DECLARE - 156)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 156)) | (1 << (PostgreSQLParser.KW_DEFERRED - 156)) | (1 << (PostgreSQLParser.KW_DEFINER - 156)) | (1 << (PostgreSQLParser.KW_DELETE - 156)) | (1 << (PostgreSQLParser.KW_DELIMITER - 156)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 156)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 156)) | (1 << (PostgreSQLParser.KW_DISABLE - 156)) | (1 << (PostgreSQLParser.KW_DISCARD - 156)))) !== 0) || ((((_la - 188)) & ~0x1F) === 0 && ((1 << (_la - 188)) & ((1 << (PostgreSQLParser.KW_DOCUMENT - 188)) | (1 << (PostgreSQLParser.KW_DOMAIN - 188)) | (1 << (PostgreSQLParser.KW_DOUBLE - 188)) | (1 << (PostgreSQLParser.KW_DROP - 188)) | (1 << (PostgreSQLParser.KW_EACH - 188)) | (1 << (PostgreSQLParser.KW_ENABLE - 188)) | (1 << (PostgreSQLParser.KW_ENCODING - 188)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 188)) | (1 << (PostgreSQLParser.KW_ENUM - 188)) | (1 << (PostgreSQLParser.KW_ESCAPE - 188)) | (1 << (PostgreSQLParser.KW_EVENT - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 188)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 188)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 188)) | (1 << (PostgreSQLParser.KW_EXECUTE - 188)) | (1 << (PostgreSQLParser.KW_EXPLAIN - 188)) | (1 << (PostgreSQLParser.KW_EXTENSION - 188)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 188)) | (1 << (PostgreSQLParser.KW_FAMILY - 188)) | (1 << (PostgreSQLParser.KW_FIRST - 188)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 188)) | (1 << (PostgreSQLParser.KW_FORCE - 188)) | (1 << (PostgreSQLParser.KW_FORWARD - 188)) | (1 << (PostgreSQLParser.KW_FUNCTION - 188)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 188)) | (1 << (PostgreSQLParser.KW_GLOBAL - 188)) | (1 << (PostgreSQLParser.KW_GRANTED - 188)) | (1 << (PostgreSQLParser.KW_HANDLER - 188)) | (1 << (PostgreSQLParser.KW_HEADER - 188)) | (1 << (PostgreSQLParser.KW_HOLD - 188)) | (1 << (PostgreSQLParser.KW_HOUR - 188)) | (1 << (PostgreSQLParser.KW_IDENTITY - 188)))) !== 0) || ((((_la - 220)) & ~0x1F) === 0 && ((1 << (_la - 220)) & ((1 << (PostgreSQLParser.KW_IF - 220)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 220)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 220)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 220)) | (1 << (PostgreSQLParser.KW_INCLUDING - 220)) | (1 << (PostgreSQLParser.KW_INCREMENT - 220)) | (1 << (PostgreSQLParser.KW_INDEX - 220)) | (1 << (PostgreSQLParser.KW_INDEXES - 220)) | (1 << (PostgreSQLParser.KW_INHERIT - 220)) | (1 << (PostgreSQLParser.KW_INHERITS - 220)) | (1 << (PostgreSQLParser.KW_INLINE - 220)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 220)) | (1 << (PostgreSQLParser.KW_INSERT - 220)) | (1 << (PostgreSQLParser.KW_INSTEAD - 220)) | (1 << (PostgreSQLParser.KW_INVOKER - 220)) | (1 << (PostgreSQLParser.KW_ISOLATION - 220)) | (1 << (PostgreSQLParser.KW_KEY - 220)) | (1 << (PostgreSQLParser.KW_LABEL - 220)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 220)) | (1 << (PostgreSQLParser.KW_LARGE - 220)) | (1 << (PostgreSQLParser.KW_LAST - 220)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 220)) | (1 << (PostgreSQLParser.KW_LEVEL - 220)))) !== 0) || ((((_la - 252)) & ~0x1F) === 0 && ((1 << (_la - 252)) & ((1 << (PostgreSQLParser.KW_LISTEN - 252)) | (1 << (PostgreSQLParser.KW_LOAD - 252)) | (1 << (PostgreSQLParser.KW_LOCAL - 252)) | (1 << (PostgreSQLParser.KW_LOCATION - 252)) | (1 << (PostgreSQLParser.KW_LOCK - 252)) | (1 << (PostgreSQLParser.KW_MAPPING - 252)) | (1 << (PostgreSQLParser.KW_MATCH - 252)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 252)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 252)) | (1 << (PostgreSQLParser.KW_MINUTE - 252)) | (1 << (PostgreSQLParser.KW_MINVALUE - 252)) | (1 << (PostgreSQLParser.KW_MODE - 252)) | (1 << (PostgreSQLParser.KW_MONTH - 252)) | (1 << (PostgreSQLParser.KW_MOVE - 252)) | (1 << (PostgreSQLParser.KW_NAME - 252)) | (1 << (PostgreSQLParser.KW_NAMES - 252)) | (1 << (PostgreSQLParser.KW_NEXT - 252)) | (1 << (PostgreSQLParser.KW_NO - 252)) | (1 << (PostgreSQLParser.KW_NOTHING - 252)) | (1 << (PostgreSQLParser.KW_NOTIFY - 252)) | (1 << (PostgreSQLParser.KW_NOWAIT - 252)) | (1 << (PostgreSQLParser.KW_NULLS - 252)) | (1 << (PostgreSQLParser.KW_OBJECT - 252)) | (1 << (PostgreSQLParser.KW_OF - 252)) | (1 << (PostgreSQLParser.KW_OFF - 252)) | (1 << (PostgreSQLParser.KW_OIDS - 252)) | (1 << (PostgreSQLParser.KW_OPERATOR - 252)) | (1 << (PostgreSQLParser.KW_OPTION - 252)) | (1 << (PostgreSQLParser.KW_OPTIONS - 252)) | (1 << (PostgreSQLParser.KW_OWNED - 252)) | (1 << (PostgreSQLParser.KW_OWNER - 252)) | (1 << (PostgreSQLParser.KW_PARSER - 252)))) !== 0) || ((((_la - 284)) & ~0x1F) === 0 && ((1 << (_la - 284)) & ((1 << (PostgreSQLParser.KW_PARTIAL - 284)) | (1 << (PostgreSQLParser.KW_PARTITION - 284)) | (1 << (PostgreSQLParser.KW_PASSING - 284)) | (1 << (PostgreSQLParser.KW_PASSWORD - 284)) | (1 << (PostgreSQLParser.KW_PLANS - 284)) | (1 << (PostgreSQLParser.KW_PRECEDING - 284)) | (1 << (PostgreSQLParser.KW_PREPARE - 284)) | (1 << (PostgreSQLParser.KW_PREPARED - 284)) | (1 << (PostgreSQLParser.KW_PRESERVE - 284)) | (1 << (PostgreSQLParser.KW_PRIOR - 284)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 284)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 284)) | (1 << (PostgreSQLParser.KW_PROGRAM - 284)) | (1 << (PostgreSQLParser.KW_QUOTE - 284)) | (1 << (PostgreSQLParser.KW_RANGE - 284)) | (1 << (PostgreSQLParser.KW_READ - 284)) | (1 << (PostgreSQLParser.KW_REASSIGN - 284)) | (1 << (PostgreSQLParser.KW_RECHECK - 284)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 284)) | (1 << (PostgreSQLParser.KW_REF - 284)) | (1 << (PostgreSQLParser.KW_REFRESH - 284)) | (1 << (PostgreSQLParser.KW_REINDEX - 284)) | (1 << (PostgreSQLParser.KW_RELATIVE - 284)) | (1 << (PostgreSQLParser.KW_RELEASE - 284)) | (1 << (PostgreSQLParser.KW_RENAME - 284)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 284)) | (1 << (PostgreSQLParser.KW_REPLACE - 284)) | (1 << (PostgreSQLParser.KW_REPLICA - 284)) | (1 << (PostgreSQLParser.KW_RESET - 284)) | (1 << (PostgreSQLParser.KW_RESTART - 284)) | (1 << (PostgreSQLParser.KW_RESTRICT - 284)))) !== 0) || ((((_la - 316)) & ~0x1F) === 0 && ((1 << (_la - 316)) & ((1 << (PostgreSQLParser.KW_RETURNS - 316)) | (1 << (PostgreSQLParser.KW_REVOKE - 316)) | (1 << (PostgreSQLParser.KW_ROLE - 316)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 316)) | (1 << (PostgreSQLParser.KW_ROWS - 316)) | (1 << (PostgreSQLParser.KW_RULE - 316)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 316)) | (1 << (PostgreSQLParser.KW_SCHEMA - 316)) | (1 << (PostgreSQLParser.KW_SCROLL - 316)) | (1 << (PostgreSQLParser.KW_SEARCH - 316)) | (1 << (PostgreSQLParser.KW_SECOND - 316)) | (1 << (PostgreSQLParser.KW_SECURITY - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 316)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 316)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 316)) | (1 << (PostgreSQLParser.KW_SERVER - 316)) | (1 << (PostgreSQLParser.KW_SESSION - 316)) | (1 << (PostgreSQLParser.KW_SET - 316)) | (1 << (PostgreSQLParser.KW_SHARE - 316)) | (1 << (PostgreSQLParser.KW_SHOW - 316)) | (1 << (PostgreSQLParser.KW_SIMPLE - 316)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 316)) | (1 << (PostgreSQLParser.KW_STABLE - 316)) | (1 << (PostgreSQLParser.KW_STANDALONE - 316)) | (1 << (PostgreSQLParser.KW_START - 316)) | (1 << (PostgreSQLParser.KW_STATEMENT - 316)) | (1 << (PostgreSQLParser.KW_STATISTICS - 316)) | (1 << (PostgreSQLParser.KW_STDIN - 316)) | (1 << (PostgreSQLParser.KW_STDOUT - 316)) | (1 << (PostgreSQLParser.KW_STORAGE - 316)) | (1 << (PostgreSQLParser.KW_STRICT - 316)) | (1 << (PostgreSQLParser.KW_STRIP - 316)))) !== 0) || ((((_la - 348)) & ~0x1F) === 0 && ((1 << (_la - 348)) & ((1 << (PostgreSQLParser.KW_SYSID - 348)) | (1 << (PostgreSQLParser.KW_SYSTEM - 348)) | (1 << (PostgreSQLParser.KW_TABLES - 348)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 348)) | (1 << (PostgreSQLParser.KW_TEMP - 348)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 348)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 348)) | (1 << (PostgreSQLParser.KW_TEXT - 348)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 348)) | (1 << (PostgreSQLParser.KW_TRIGGER - 348)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 348)) | (1 << (PostgreSQLParser.KW_TRUSTED - 348)) | (1 << (PostgreSQLParser.KW_TYPE - 348)) | (1 << (PostgreSQLParser.KW_TYPES - 348)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 348)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 348)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 348)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 348)) | (1 << (PostgreSQLParser.KW_UNLISTEN - 348)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 348)) | (1 << (PostgreSQLParser.KW_UNTIL - 348)) | (1 << (PostgreSQLParser.KW_UPDATE - 348)) | (1 << (PostgreSQLParser.KW_VACUUM - 348)) | (1 << (PostgreSQLParser.KW_VALID - 348)) | (1 << (PostgreSQLParser.KW_VALIDATE - 348)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 348)) | (1 << (PostgreSQLParser.KW_VARYING - 348)) | (1 << (PostgreSQLParser.KW_VERSION - 348)) | (1 << (PostgreSQLParser.KW_VIEW - 348)) | (1 << (PostgreSQLParser.KW_VOLATILE - 348)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 348)) | (1 << (PostgreSQLParser.KW_WITHOUT - 348)))) !== 0) || ((((_la - 380)) & ~0x1F) === 0 && ((1 << (_la - 380)) & ((1 << (PostgreSQLParser.KW_WORK - 380)) | (1 << (PostgreSQLParser.KW_WRAPPER - 380)) | (1 << (PostgreSQLParser.KW_WRITE - 380)) | (1 << (PostgreSQLParser.KW_XML - 380)) | (1 << (PostgreSQLParser.KW_YEAR - 380)) | (1 << (PostgreSQLParser.KW_YES - 380)) | (1 << (PostgreSQLParser.KW_ZONE - 380)) | (1 << (PostgreSQLParser.KW_BETWEEN - 380)) | (1 << (PostgreSQLParser.KW_BIGINT - 380)) | (1 << (PostgreSQLParser.KW_BIT - 380)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 380)) | (1 << (PostgreSQLParser.KW_CHAR - 380)) | (1 << (PostgreSQLParser.KW_CHARACTER - 380)) | (1 << (PostgreSQLParser.KW_COALESCE - 380)) | (1 << (PostgreSQLParser.KW_DEC - 380)) | (1 << (PostgreSQLParser.KW_DECIMAL - 380)) | (1 << (PostgreSQLParser.KW_EXISTS - 380)) | (1 << (PostgreSQLParser.KW_EXTRACT - 380)) | (1 << (PostgreSQLParser.KW_FLOAT - 380)) | (1 << (PostgreSQLParser.KW_GREATEST - 380)) | (1 << (PostgreSQLParser.KW_INOUT - 380)) | (1 << (PostgreSQLParser.KW_INT - 380)) | (1 << (PostgreSQLParser.KW_INTEGER - 380)) | (1 << (PostgreSQLParser.KW_INTERVAL - 380)) | (1 << (PostgreSQLParser.KW_LEAST - 380)) | (1 << (PostgreSQLParser.KW_NATIONAL - 380)) | (1 << (PostgreSQLParser.KW_NCHAR - 380)) | (1 << (PostgreSQLParser.KW_NONE - 380)) | (1 << (PostgreSQLParser.KW_NULLIF - 380)) | (1 << (PostgreSQLParser.KW_NUMERIC - 380)) | (1 << (PostgreSQLParser.KW_OVERLAY - 380)) | (1 << (PostgreSQLParser.KW_POSITION - 380)))) !== 0) || ((((_la - 412)) & ~0x1F) === 0 && ((1 << (_la - 412)) & ((1 << (PostgreSQLParser.KW_PRECISION - 412)) | (1 << (PostgreSQLParser.KW_REAL - 412)) | (1 << (PostgreSQLParser.KW_ROW - 412)) | (1 << (PostgreSQLParser.KW_SETOF - 412)) | (1 << (PostgreSQLParser.KW_SMALLINT - 412)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 412)) | (1 << (PostgreSQLParser.KW_TIME - 412)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 412)) | (1 << (PostgreSQLParser.KW_TREAT - 412)) | (1 << (PostgreSQLParser.KW_TRIM - 412)) | (1 << (PostgreSQLParser.KW_VALUES - 412)) | (1 << (PostgreSQLParser.KW_VARCHAR - 412)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 412)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 412)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 412)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 412)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 412)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 412)) | (1 << (PostgreSQLParser.KW_XMLPI - 412)) | (1 << (PostgreSQLParser.KW_XMLROOT - 412)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 412)) | (1 << (PostgreSQLParser.KW_CALL - 412)) | (1 << (PostgreSQLParser.KW_CURRENT - 412)) | (1 << (PostgreSQLParser.KW_ATTACH - 412)) | (1 << (PostgreSQLParser.KW_DETACH - 412)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 412)) | (1 << (PostgreSQLParser.KW_GENERATED - 412)) | (1 << (PostgreSQLParser.KW_LOGGED - 412)) | (1 << (PostgreSQLParser.KW_STORED - 412)) | (1 << (PostgreSQLParser.KW_INCLUDE - 412)) | (1 << (PostgreSQLParser.KW_ROUTINE - 412)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 412)))) !== 0) || ((((_la - 444)) & ~0x1F) === 0 && ((1 << (_la - 444)) & ((1 << (PostgreSQLParser.KW_IMPORT - 444)) | (1 << (PostgreSQLParser.KW_POLICY - 444)) | (1 << (PostgreSQLParser.KW_METHOD - 444)) | (1 << (PostgreSQLParser.KW_REFERENCING - 444)) | (1 << (PostgreSQLParser.KW_NEW - 444)) | (1 << (PostgreSQLParser.KW_OLD - 444)) | (1 << (PostgreSQLParser.KW_VALUE - 444)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 444)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 444)) | (1 << (PostgreSQLParser.KW_OUT - 444)) | (1 << (PostgreSQLParser.KW_ROUTINES - 444)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 444)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 444)) | (1 << (PostgreSQLParser.KW_INPUT - 444)) | (1 << (PostgreSQLParser.KW_SUPPORT - 444)) | (1 << (PostgreSQLParser.KW_PARALLEL - 444)) | (1 << (PostgreSQLParser.KW_SQL - 444)) | (1 << (PostgreSQLParser.KW_DEPENDS - 444)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 444)) | (1 << (PostgreSQLParser.KW_CONFLICT - 444)) | (1 << (PostgreSQLParser.KW_SKIP - 444)) | (1 << (PostgreSQLParser.KW_LOCKED - 444)) | (1 << (PostgreSQLParser.KW_TIES - 444)) | (1 << (PostgreSQLParser.KW_ROLLUP - 444)) | (1 << (PostgreSQLParser.KW_CUBE - 444)) | (1 << (PostgreSQLParser.KW_GROUPING - 444)) | (1 << (PostgreSQLParser.KW_SETS - 444)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 444)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 444)) | (1 << (PostgreSQLParser.KW_COLUMNS - 444)))) !== 0) || ((((_la - 476)) & ~0x1F) === 0 && ((1 << (_la - 476)) & ((1 << (PostgreSQLParser.KW_XMLNAMESPACES - 476)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 476)) | (1 << (PostgreSQLParser.KW_WITHIN - 476)) | (1 << (PostgreSQLParser.KW_FILTER - 476)) | (1 << (PostgreSQLParser.KW_GROUPS - 476)) | (1 << (PostgreSQLParser.KW_OTHERS - 476)) | (1 << (PostgreSQLParser.KW_NFC - 476)) | (1 << (PostgreSQLParser.KW_NFD - 476)) | (1 << (PostgreSQLParser.KW_NFKC - 476)) | (1 << (PostgreSQLParser.KW_NFKD - 476)) | (1 << (PostgreSQLParser.KW_UESCAPE - 476)) | (1 << (PostgreSQLParser.KW_VIEWS - 476)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 476)) | (1 << (PostgreSQLParser.KW_DUMP - 476)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 476)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 476)) | (1 << (PostgreSQLParser.KW_ERROR - 476)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 476)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 476)) | (1 << (PostgreSQLParser.KW_ALIAS - 476)) | (1 << (PostgreSQLParser.KW_CONSTANT - 476)) | (1 << (PostgreSQLParser.KW_PERFORM - 476)) | (1 << (PostgreSQLParser.KW_GET - 476)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 476)) | (1 << (PostgreSQLParser.KW_STACKED - 476)) | (1 << (PostgreSQLParser.KW_ELSIF - 476)) | (1 << (PostgreSQLParser.KW_REVERSE - 476)) | (1 << (PostgreSQLParser.KW_SLICE - 476)) | (1 << (PostgreSQLParser.KW_EXIT - 476)))) !== 0) || ((((_la - 508)) & ~0x1F) === 0 && ((1 << (_la - 508)) & ((1 << (PostgreSQLParser.KW_RETURN - 508)) | (1 << (PostgreSQLParser.KW_QUERY - 508)) | (1 << (PostgreSQLParser.KW_RAISE - 508)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 508)) | (1 << (PostgreSQLParser.KW_DEBUG - 508)) | (1 << (PostgreSQLParser.KW_LOG - 508)) | (1 << (PostgreSQLParser.KW_INFO - 508)) | (1 << (PostgreSQLParser.KW_NOTICE - 508)) | (1 << (PostgreSQLParser.KW_WARNING - 508)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 508)) | (1 << (PostgreSQLParser.KW_ASSERT - 508)) | (1 << (PostgreSQLParser.KW_OPEN - 508)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 11712; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AS) { { this.state = 11711; this.match(PostgreSQLParser.KW_AS); } } this.state = 11714; this.colid(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public join_condition(): Join_conditionContext { let _localctx: Join_conditionContext = new Join_conditionContext(this._ctx, this.state); this.enterRule(_localctx, 1688, PostgreSQLParser.RULE_join_condition); try { this.enterOuterAlt(_localctx, 1); { this.state = 11717; this.a_expr(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public merge_when_clause(): Merge_when_clauseContext { let _localctx: Merge_when_clauseContext = new Merge_when_clauseContext(this._ctx, this.state); this.enterRule(_localctx, 1690, PostgreSQLParser.RULE_merge_when_clause); let _la: number; try { this.state = 11745; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1250, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 11719; this.match(PostgreSQLParser.KW_WHEN); this.state = 11720; this.match(PostgreSQLParser.KW_MATCHED); this.state = 11723; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AND) { { this.state = 11721; this.match(PostgreSQLParser.KW_AND); this.state = 11722; this.a_expr(); } } this.state = 11725; this.match(PostgreSQLParser.KW_THEN); this.state = 11730; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_UPDATE: { this.state = 11726; this.merge_update(); } break; case PostgreSQLParser.KW_DELETE: { this.state = 11727; this.match(PostgreSQLParser.KW_DELETE); } break; case PostgreSQLParser.KW_DO: { this.state = 11728; this.match(PostgreSQLParser.KW_DO); this.state = 11729; this.match(PostgreSQLParser.KW_NOTHING); } break; default: throw new NoViableAltException(this); } } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11732; this.match(PostgreSQLParser.KW_WHEN); this.state = 11733; this.match(PostgreSQLParser.KW_NOT); this.state = 11734; this.match(PostgreSQLParser.KW_MATCHED); this.state = 11737; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AND) { { this.state = 11735; this.match(PostgreSQLParser.KW_AND); this.state = 11736; this.a_expr(); } } this.state = 11739; this.match(PostgreSQLParser.KW_THEN); this.state = 11743; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_INSERT: { this.state = 11740; this.merge_insert(); } break; case PostgreSQLParser.KW_DO: { this.state = 11741; this.match(PostgreSQLParser.KW_DO); this.state = 11742; this.match(PostgreSQLParser.KW_NOTHING); } break; default: throw new NoViableAltException(this); } } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public merge_insert(): Merge_insertContext { let _localctx: Merge_insertContext = new Merge_insertContext(this._ctx, this.state); this.enterRule(_localctx, 1692, PostgreSQLParser.RULE_merge_insert); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11747; this.match(PostgreSQLParser.KW_INSERT); this.state = 11752; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.OPEN_PAREN) { { this.state = 11748; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 11749; this.columnlist(); this.state = 11750; this.match(PostgreSQLParser.CLOSE_PAREN); } } this.state = 11757; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_OVERRIDING) { { this.state = 11754; this.match(PostgreSQLParser.KW_OVERRIDING); this.state = 11755; _la = this._input.LA(1); if (!(_la === PostgreSQLParser.KW_USER || _la === PostgreSQLParser.KW_SYSTEM)) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } this.state = 11756; this.match(PostgreSQLParser.KW_VALUE); } } this.state = 11759; this.default_values_or_values(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public merge_update(): Merge_updateContext { let _localctx: Merge_updateContext = new Merge_updateContext(this._ctx, this.state); this.enterRule(_localctx, 1694, PostgreSQLParser.RULE_merge_update); try { let _alt: number; this.enterOuterAlt(_localctx, 1); { this.state = 11761; this.match(PostgreSQLParser.KW_UPDATE); this.state = 11762; this.match(PostgreSQLParser.KW_SET); this.state = 11775; this._errHandler.sync(this); _alt = 1; do { switch (_alt) { case 1: { this.state = 11775; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 11763; this.column_name(); this.state = 11764; this.match(PostgreSQLParser.EQUAL); this.state = 11765; this.exprofdefault(); } break; case PostgreSQLParser.OPEN_PAREN: { this.state = 11767; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 11768; this.columnlist(); this.state = 11769; this.match(PostgreSQLParser.CLOSE_PAREN); this.state = 11770; this.match(PostgreSQLParser.EQUAL); this.state = 11771; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 11772; this.exprofdefaultlist(); this.state = 11773; this.match(PostgreSQLParser.CLOSE_PAREN); } break; default: throw new NoViableAltException(this); } } break; default: throw new NoViableAltException(this); } this.state = 11777; this._errHandler.sync(this); _alt = this.interpreter.adaptivePredict(this._input, 1254, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public default_values_or_values(): Default_values_or_valuesContext { let _localctx: Default_values_or_valuesContext = new Default_values_or_valuesContext(this._ctx, this.state); this.enterRule(_localctx, 1696, PostgreSQLParser.RULE_default_values_or_values); try { this.state = 11783; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_VALUES: this.enterOuterAlt(_localctx, 1); { this.state = 11779; this.match(PostgreSQLParser.KW_VALUES); this.state = 11780; this.exprofdefaultlist(); } break; case PostgreSQLParser.KW_DEFAULT: this.enterOuterAlt(_localctx, 2); { this.state = 11781; this.match(PostgreSQLParser.KW_DEFAULT); this.state = 11782; this.match(PostgreSQLParser.KW_VALUES); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public exprofdefaultlist(): ExprofdefaultlistContext { let _localctx: ExprofdefaultlistContext = new ExprofdefaultlistContext(this._ctx, this.state); this.enterRule(_localctx, 1698, PostgreSQLParser.RULE_exprofdefaultlist); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11785; this.match(PostgreSQLParser.OPEN_PAREN); this.state = 11786; this.exprofdefault(); this.state = 11791; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.COMMA) { { { this.state = 11787; this.match(PostgreSQLParser.COMMA); this.state = 11788; this.exprofdefault(); } } this.state = 11793; this._errHandler.sync(this); _la = this._input.LA(1); } this.state = 11794; this.match(PostgreSQLParser.CLOSE_PAREN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public exprofdefault(): ExprofdefaultContext { let _localctx: ExprofdefaultContext = new ExprofdefaultContext(this._ctx, this.state); this.enterRule(_localctx, 1700, PostgreSQLParser.RULE_exprofdefault); try { this.state = 11798; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1257, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 11796; this.sortby(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11797; this.match(PostgreSQLParser.KW_DEFAULT); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_close(): Stmt_closeContext { let _localctx: Stmt_closeContext = new Stmt_closeContext(this._ctx, this.state); this.enterRule(_localctx, 1702, PostgreSQLParser.RULE_stmt_close); try { this.enterOuterAlt(_localctx, 1); { this.state = 11800; this.match(PostgreSQLParser.KW_CLOSE); this.state = 11801; this.cursor_variable(); this.state = 11802; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_null(): Stmt_nullContext { let _localctx: Stmt_nullContext = new Stmt_nullContext(this._ctx, this.state); this.enterRule(_localctx, 1704, PostgreSQLParser.RULE_stmt_null); try { this.enterOuterAlt(_localctx, 1); { this.state = 11804; this.match(PostgreSQLParser.KW_NULL); this.state = 11805; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_commit(): Stmt_commitContext { let _localctx: Stmt_commitContext = new Stmt_commitContext(this._ctx, this.state); this.enterRule(_localctx, 1706, PostgreSQLParser.RULE_stmt_commit); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11807; this.match(PostgreSQLParser.KW_COMMIT); this.state = 11809; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AND) { { this.state = 11808; this.plsql_opt_transaction_chain(); } } this.state = 11811; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_rollback(): Stmt_rollbackContext { let _localctx: Stmt_rollbackContext = new Stmt_rollbackContext(this._ctx, this.state); this.enterRule(_localctx, 1708, PostgreSQLParser.RULE_stmt_rollback); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11813; this.match(PostgreSQLParser.KW_ROLLBACK); this.state = 11815; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_AND) { { this.state = 11814; this.plsql_opt_transaction_chain(); } } this.state = 11817; this.match(PostgreSQLParser.SEMI); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public plsql_opt_transaction_chain(): Plsql_opt_transaction_chainContext { let _localctx: Plsql_opt_transaction_chainContext = new Plsql_opt_transaction_chainContext(this._ctx, this.state); this.enterRule(_localctx, 1710, PostgreSQLParser.RULE_plsql_opt_transaction_chain); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11819; this.match(PostgreSQLParser.KW_AND); this.state = 11821; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_NO) { { this.state = 11820; this.match(PostgreSQLParser.KW_NO); } } this.state = 11823; this.match(PostgreSQLParser.KW_CHAIN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public stmt_set(): Stmt_setContext { let _localctx: Stmt_setContext = new Stmt_setContext(this._ctx, this.state); this.enterRule(_localctx, 1712, PostgreSQLParser.RULE_stmt_set); try { this.state = 11837; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_SET: this.enterOuterAlt(_localctx, 1); { this.state = 11825; this.match(PostgreSQLParser.KW_SET); this.state = 11826; this.any_name(); this.state = 11827; this.match(PostgreSQLParser.KW_TO); this.state = 11828; this.match(PostgreSQLParser.KW_DEFAULT); this.state = 11829; this.match(PostgreSQLParser.SEMI); } break; case PostgreSQLParser.KW_RESET: this.enterOuterAlt(_localctx, 2); { this.state = 11831; this.match(PostgreSQLParser.KW_RESET); this.state = 11834; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: { this.state = 11832; this.any_name(); } break; case PostgreSQLParser.KW_ALL: { this.state = 11833; this.match(PostgreSQLParser.KW_ALL); } break; default: throw new NoViableAltException(this); } this.state = 11836; this.match(PostgreSQLParser.SEMI); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public cursor_variable(): Cursor_variableContext { let _localctx: Cursor_variableContext = new Cursor_variableContext(this._ctx, this.state); this.enterRule(_localctx, 1714, PostgreSQLParser.RULE_cursor_variable); try { this.state = 11841; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 1); { this.state = 11839; this.colid(); } break; case PostgreSQLParser.PARAM: this.enterOuterAlt(_localctx, 2); { this.state = 11840; this.match(PostgreSQLParser.PARAM); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public exception_sect(): Exception_sectContext { let _localctx: Exception_sectContext = new Exception_sectContext(this._ctx, this.state); this.enterRule(_localctx, 1716, PostgreSQLParser.RULE_exception_sect); try { this.state = 11846; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_END: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_EXCEPTION: this.enterOuterAlt(_localctx, 2); { this.state = 11844; this.match(PostgreSQLParser.KW_EXCEPTION); this.state = 11845; this.proc_exceptions(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public proc_exceptions(): Proc_exceptionsContext { let _localctx: Proc_exceptionsContext = new Proc_exceptionsContext(this._ctx, this.state); this.enterRule(_localctx, 1718, PostgreSQLParser.RULE_proc_exceptions); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11849; this._errHandler.sync(this); _la = this._input.LA(1); do { { { this.state = 11848; this.proc_exception(); } } this.state = 11851; this._errHandler.sync(this); _la = this._input.LA(1); } while (_la === PostgreSQLParser.KW_WHEN); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public proc_exception(): Proc_exceptionContext { let _localctx: Proc_exceptionContext = new Proc_exceptionContext(this._ctx, this.state); this.enterRule(_localctx, 1720, PostgreSQLParser.RULE_proc_exception); try { this.enterOuterAlt(_localctx, 1); { this.state = 11853; this.match(PostgreSQLParser.KW_WHEN); this.state = 11854; this.proc_conditions(); this.state = 11855; this.match(PostgreSQLParser.KW_THEN); this.state = 11856; this.proc_sect(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public proc_conditions(): Proc_conditionsContext { let _localctx: Proc_conditionsContext = new Proc_conditionsContext(this._ctx, this.state); this.enterRule(_localctx, 1722, PostgreSQLParser.RULE_proc_conditions); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11858; this.proc_condition(); this.state = 11863; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === PostgreSQLParser.KW_OR) { { { this.state = 11859; this.match(PostgreSQLParser.KW_OR); this.state = 11860; this.proc_condition(); } } this.state = 11865; this._errHandler.sync(this); _la = this._input.LA(1); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public proc_condition(): Proc_conditionContext { let _localctx: Proc_conditionContext = new Proc_conditionContext(this._ctx, this.state); this.enterRule(_localctx, 1724, PostgreSQLParser.RULE_proc_condition); try { this.state = 11869; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1267, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 11866; this.any_identifier(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11867; this.match(PostgreSQLParser.KW_SQLSTATE); this.state = 11868; this.sconst(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_block_label(): Opt_block_labelContext { let _localctx: Opt_block_labelContext = new Opt_block_labelContext(this._ctx, this.state); this.enterRule(_localctx, 1726, PostgreSQLParser.RULE_opt_block_label); try { this.state = 11873; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_DECLARE: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.LESS_LESS: this.enterOuterAlt(_localctx, 2); { this.state = 11872; this.label_decl(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_loop_label(): Opt_loop_labelContext { let _localctx: Opt_loop_labelContext = new Opt_loop_labelContext(this._ctx, this.state); this.enterRule(_localctx, 1728, PostgreSQLParser.RULE_opt_loop_label); try { this.state = 11877; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.KW_FOR: case PostgreSQLParser.KW_WHILE: case PostgreSQLParser.KW_FOREACH: case PostgreSQLParser.KW_LOOP: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.LESS_LESS: this.enterOuterAlt(_localctx, 2); { this.state = 11876; this.label_decl(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_label(): Opt_labelContext { let _localctx: Opt_labelContext = new Opt_labelContext(this._ctx, this.state); this.enterRule(_localctx, 1730, PostgreSQLParser.RULE_opt_label); try { this.state = 11881; this._errHandler.sync(this); switch (this._input.LA(1)) { case PostgreSQLParser.EOF: case PostgreSQLParser.SEMI: case PostgreSQLParser.KW_WHEN: this.enterOuterAlt(_localctx, 1); // tslint:disable-next-line:no-empty { } break; case PostgreSQLParser.KW_AND: case PostgreSQLParser.KW_ARRAY: case PostgreSQLParser.KW_COLLATE: case PostgreSQLParser.KW_COLUMN: case PostgreSQLParser.KW_CONSTRAINT: case PostgreSQLParser.KW_DEFAULT: case PostgreSQLParser.KW_DO: case PostgreSQLParser.KW_FETCH: case PostgreSQLParser.KW_TABLE: case PostgreSQLParser.KW_IS: case PostgreSQLParser.KW_OUTER: case PostgreSQLParser.KW_OVER: case PostgreSQLParser.KW_ABORT: case PostgreSQLParser.KW_ABSOLUTE: case PostgreSQLParser.KW_ACCESS: case PostgreSQLParser.KW_ACTION: case PostgreSQLParser.KW_ADD: case PostgreSQLParser.KW_ADMIN: case PostgreSQLParser.KW_AFTER: case PostgreSQLParser.KW_AGGREGATE: case PostgreSQLParser.KW_ALSO: case PostgreSQLParser.KW_ALTER: case PostgreSQLParser.KW_ALWAYS: case PostgreSQLParser.KW_ASSERTION: case PostgreSQLParser.KW_ASSIGNMENT: case PostgreSQLParser.KW_AT: case PostgreSQLParser.KW_ATTRIBUTE: case PostgreSQLParser.KW_BACKWARD: case PostgreSQLParser.KW_BEFORE: case PostgreSQLParser.KW_BEGIN: case PostgreSQLParser.KW_BY: case PostgreSQLParser.KW_CACHE: case PostgreSQLParser.KW_CALLED: case PostgreSQLParser.KW_CASCADE: case PostgreSQLParser.KW_CASCADED: case PostgreSQLParser.KW_CATALOG: case PostgreSQLParser.KW_CHAIN: case PostgreSQLParser.KW_CHARACTERISTICS: case PostgreSQLParser.KW_CHECKPOINT: case PostgreSQLParser.KW_CLASS: case PostgreSQLParser.KW_CLOSE: case PostgreSQLParser.KW_CLUSTER: case PostgreSQLParser.KW_COMMENT: case PostgreSQLParser.KW_COMMENTS: case PostgreSQLParser.KW_COMMIT: case PostgreSQLParser.KW_COMMITTED: case PostgreSQLParser.KW_CONFIGURATION: case PostgreSQLParser.KW_CONNECTION: case PostgreSQLParser.KW_CONSTRAINTS: case PostgreSQLParser.KW_CONTENT: case PostgreSQLParser.KW_CONTINUE: case PostgreSQLParser.KW_CONVERSION: case PostgreSQLParser.KW_COPY: case PostgreSQLParser.KW_COST: case PostgreSQLParser.KW_CSV: case PostgreSQLParser.KW_CURSOR: case PostgreSQLParser.KW_CYCLE: case PostgreSQLParser.KW_DATA: case PostgreSQLParser.KW_DATABASE: case PostgreSQLParser.KW_DAY: case PostgreSQLParser.KW_DEALLOCATE: case PostgreSQLParser.KW_DECLARE: case PostgreSQLParser.KW_DEFAULTS: case PostgreSQLParser.KW_DEFERRED: case PostgreSQLParser.KW_DEFINER: case PostgreSQLParser.KW_DELETE: case PostgreSQLParser.KW_DELIMITER: case PostgreSQLParser.KW_DELIMITERS: case PostgreSQLParser.KW_DICTIONARY: case PostgreSQLParser.KW_DISABLE: case PostgreSQLParser.KW_DISCARD: case PostgreSQLParser.KW_DOCUMENT: case PostgreSQLParser.KW_DOMAIN: case PostgreSQLParser.KW_DOUBLE: case PostgreSQLParser.KW_DROP: case PostgreSQLParser.KW_EACH: case PostgreSQLParser.KW_ENABLE: case PostgreSQLParser.KW_ENCODING: case PostgreSQLParser.KW_ENCRYPTED: case PostgreSQLParser.KW_ENUM: case PostgreSQLParser.KW_ESCAPE: case PostgreSQLParser.KW_EVENT: case PostgreSQLParser.KW_EXCLUDE: case PostgreSQLParser.KW_EXCLUDING: case PostgreSQLParser.KW_EXCLUSIVE: case PostgreSQLParser.KW_EXECUTE: case PostgreSQLParser.KW_EXPLAIN: case PostgreSQLParser.KW_EXTENSION: case PostgreSQLParser.KW_EXTERNAL: case PostgreSQLParser.KW_FAMILY: case PostgreSQLParser.KW_FIRST: case PostgreSQLParser.KW_FOLLOWING: case PostgreSQLParser.KW_FORCE: case PostgreSQLParser.KW_FORWARD: case PostgreSQLParser.KW_FUNCTION: case PostgreSQLParser.KW_FUNCTIONS: case PostgreSQLParser.KW_GLOBAL: case PostgreSQLParser.KW_GRANTED: case PostgreSQLParser.KW_HANDLER: case PostgreSQLParser.KW_HEADER: case PostgreSQLParser.KW_HOLD: case PostgreSQLParser.KW_HOUR: case PostgreSQLParser.KW_IDENTITY: case PostgreSQLParser.KW_IF: case PostgreSQLParser.KW_IMMEDIATE: case PostgreSQLParser.KW_IMMUTABLE: case PostgreSQLParser.KW_IMPLICIT: case PostgreSQLParser.KW_INCLUDING: case PostgreSQLParser.KW_INCREMENT: case PostgreSQLParser.KW_INDEX: case PostgreSQLParser.KW_INDEXES: case PostgreSQLParser.KW_INHERIT: case PostgreSQLParser.KW_INHERITS: case PostgreSQLParser.KW_INLINE: case PostgreSQLParser.KW_INSENSITIVE: case PostgreSQLParser.KW_INSERT: case PostgreSQLParser.KW_INSTEAD: case PostgreSQLParser.KW_INVOKER: case PostgreSQLParser.KW_ISOLATION: case PostgreSQLParser.KW_KEY: case PostgreSQLParser.KW_LABEL: case PostgreSQLParser.KW_LANGUAGE: case PostgreSQLParser.KW_LARGE: case PostgreSQLParser.KW_LAST: case PostgreSQLParser.KW_LEAKPROOF: case PostgreSQLParser.KW_LEVEL: case PostgreSQLParser.KW_LISTEN: case PostgreSQLParser.KW_LOAD: case PostgreSQLParser.KW_LOCAL: case PostgreSQLParser.KW_LOCATION: case PostgreSQLParser.KW_LOCK: case PostgreSQLParser.KW_MAPPING: case PostgreSQLParser.KW_MATCH: case PostgreSQLParser.KW_MATERIALIZED: case PostgreSQLParser.KW_MAXVALUE: case PostgreSQLParser.KW_MINUTE: case PostgreSQLParser.KW_MINVALUE: case PostgreSQLParser.KW_MODE: case PostgreSQLParser.KW_MONTH: case PostgreSQLParser.KW_MOVE: case PostgreSQLParser.KW_NAME: case PostgreSQLParser.KW_NAMES: case PostgreSQLParser.KW_NEXT: case PostgreSQLParser.KW_NO: case PostgreSQLParser.KW_NOTHING: case PostgreSQLParser.KW_NOTIFY: case PostgreSQLParser.KW_NOWAIT: case PostgreSQLParser.KW_NULLS: case PostgreSQLParser.KW_OBJECT: case PostgreSQLParser.KW_OF: case PostgreSQLParser.KW_OFF: case PostgreSQLParser.KW_OIDS: case PostgreSQLParser.KW_OPERATOR: case PostgreSQLParser.KW_OPTION: case PostgreSQLParser.KW_OPTIONS: case PostgreSQLParser.KW_OWNED: case PostgreSQLParser.KW_OWNER: case PostgreSQLParser.KW_PARSER: case PostgreSQLParser.KW_PARTIAL: case PostgreSQLParser.KW_PARTITION: case PostgreSQLParser.KW_PASSING: case PostgreSQLParser.KW_PASSWORD: case PostgreSQLParser.KW_PLANS: case PostgreSQLParser.KW_PRECEDING: case PostgreSQLParser.KW_PREPARE: case PostgreSQLParser.KW_PREPARED: case PostgreSQLParser.KW_PRESERVE: case PostgreSQLParser.KW_PRIOR: case PostgreSQLParser.KW_PRIVILEGES: case PostgreSQLParser.KW_PROCEDURAL: case PostgreSQLParser.KW_PROCEDURE: case PostgreSQLParser.KW_PROGRAM: case PostgreSQLParser.KW_QUOTE: case PostgreSQLParser.KW_RANGE: case PostgreSQLParser.KW_READ: case PostgreSQLParser.KW_REASSIGN: case PostgreSQLParser.KW_RECHECK: case PostgreSQLParser.KW_RECURSIVE: case PostgreSQLParser.KW_REF: case PostgreSQLParser.KW_REFRESH: case PostgreSQLParser.KW_REINDEX: case PostgreSQLParser.KW_RELATIVE: case PostgreSQLParser.KW_RELEASE: case PostgreSQLParser.KW_RENAME: case PostgreSQLParser.KW_REPEATABLE: case PostgreSQLParser.KW_REPLACE: case PostgreSQLParser.KW_REPLICA: case PostgreSQLParser.KW_RESET: case PostgreSQLParser.KW_RESTART: case PostgreSQLParser.KW_RESTRICT: case PostgreSQLParser.KW_RETURNS: case PostgreSQLParser.KW_REVOKE: case PostgreSQLParser.KW_ROLE: case PostgreSQLParser.KW_ROLLBACK: case PostgreSQLParser.KW_ROWS: case PostgreSQLParser.KW_RULE: case PostgreSQLParser.KW_SAVEPOINT: case PostgreSQLParser.KW_SCHEMA: case PostgreSQLParser.KW_SCROLL: case PostgreSQLParser.KW_SEARCH: case PostgreSQLParser.KW_SECOND: case PostgreSQLParser.KW_SECURITY: case PostgreSQLParser.KW_SEQUENCE: case PostgreSQLParser.KW_SEQUENCES: case PostgreSQLParser.KW_SERIALIZABLE: case PostgreSQLParser.KW_SERVER: case PostgreSQLParser.KW_SESSION: case PostgreSQLParser.KW_SET: case PostgreSQLParser.KW_SHARE: case PostgreSQLParser.KW_SHOW: case PostgreSQLParser.KW_SIMPLE: case PostgreSQLParser.KW_SNAPSHOT: case PostgreSQLParser.KW_STABLE: case PostgreSQLParser.KW_STANDALONE: case PostgreSQLParser.KW_START: case PostgreSQLParser.KW_STATEMENT: case PostgreSQLParser.KW_STATISTICS: case PostgreSQLParser.KW_STDIN: case PostgreSQLParser.KW_STDOUT: case PostgreSQLParser.KW_STORAGE: case PostgreSQLParser.KW_STRICT: case PostgreSQLParser.KW_STRIP: case PostgreSQLParser.KW_SYSID: case PostgreSQLParser.KW_SYSTEM: case PostgreSQLParser.KW_TABLES: case PostgreSQLParser.KW_TABLESPACE: case PostgreSQLParser.KW_TEMP: case PostgreSQLParser.KW_TEMPLATE: case PostgreSQLParser.KW_TEMPORARY: case PostgreSQLParser.KW_TEXT: case PostgreSQLParser.KW_TRANSACTION: case PostgreSQLParser.KW_TRIGGER: case PostgreSQLParser.KW_TRUNCATE: case PostgreSQLParser.KW_TRUSTED: case PostgreSQLParser.KW_TYPE: case PostgreSQLParser.KW_TYPES: case PostgreSQLParser.KW_UNBOUNDED: case PostgreSQLParser.KW_UNCOMMITTED: case PostgreSQLParser.KW_UNENCRYPTED: case PostgreSQLParser.KW_UNKNOWN: case PostgreSQLParser.KW_UNLISTEN: case PostgreSQLParser.KW_UNLOGGED: case PostgreSQLParser.KW_UNTIL: case PostgreSQLParser.KW_UPDATE: case PostgreSQLParser.KW_VACUUM: case PostgreSQLParser.KW_VALID: case PostgreSQLParser.KW_VALIDATE: case PostgreSQLParser.KW_VALIDATOR: case PostgreSQLParser.KW_VARYING: case PostgreSQLParser.KW_VERSION: case PostgreSQLParser.KW_VIEW: case PostgreSQLParser.KW_VOLATILE: case PostgreSQLParser.KW_WHITESPACE: case PostgreSQLParser.KW_WITHOUT: case PostgreSQLParser.KW_WORK: case PostgreSQLParser.KW_WRAPPER: case PostgreSQLParser.KW_WRITE: case PostgreSQLParser.KW_XML: case PostgreSQLParser.KW_YEAR: case PostgreSQLParser.KW_YES: case PostgreSQLParser.KW_ZONE: case PostgreSQLParser.KW_BETWEEN: case PostgreSQLParser.KW_BIGINT: case PostgreSQLParser.KW_BIT: case PostgreSQLParser.KW_BOOLEAN: case PostgreSQLParser.KW_CHAR: case PostgreSQLParser.KW_CHARACTER: case PostgreSQLParser.KW_COALESCE: case PostgreSQLParser.KW_DEC: case PostgreSQLParser.KW_DECIMAL: case PostgreSQLParser.KW_EXISTS: case PostgreSQLParser.KW_EXTRACT: case PostgreSQLParser.KW_FLOAT: case PostgreSQLParser.KW_GREATEST: case PostgreSQLParser.KW_INOUT: case PostgreSQLParser.KW_INT: case PostgreSQLParser.KW_INTEGER: case PostgreSQLParser.KW_INTERVAL: case PostgreSQLParser.KW_LEAST: case PostgreSQLParser.KW_NATIONAL: case PostgreSQLParser.KW_NCHAR: case PostgreSQLParser.KW_NONE: case PostgreSQLParser.KW_NULLIF: case PostgreSQLParser.KW_NUMERIC: case PostgreSQLParser.KW_OVERLAY: case PostgreSQLParser.KW_POSITION: case PostgreSQLParser.KW_PRECISION: case PostgreSQLParser.KW_REAL: case PostgreSQLParser.KW_ROW: case PostgreSQLParser.KW_SETOF: case PostgreSQLParser.KW_SMALLINT: case PostgreSQLParser.KW_SUBSTRING: case PostgreSQLParser.KW_TIME: case PostgreSQLParser.KW_TIMESTAMP: case PostgreSQLParser.KW_TREAT: case PostgreSQLParser.KW_TRIM: case PostgreSQLParser.KW_VALUES: case PostgreSQLParser.KW_VARCHAR: case PostgreSQLParser.KW_XMLATTRIBUTES: case PostgreSQLParser.KW_XMLCONCAT: case PostgreSQLParser.KW_XMLELEMENT: case PostgreSQLParser.KW_XMLEXISTS: case PostgreSQLParser.KW_XMLFOREST: case PostgreSQLParser.KW_XMLPARSE: case PostgreSQLParser.KW_XMLPI: case PostgreSQLParser.KW_XMLROOT: case PostgreSQLParser.KW_XMLSERIALIZE: case PostgreSQLParser.KW_CALL: case PostgreSQLParser.KW_CURRENT: case PostgreSQLParser.KW_ATTACH: case PostgreSQLParser.KW_DETACH: case PostgreSQLParser.KW_EXPRESSION: case PostgreSQLParser.KW_GENERATED: case PostgreSQLParser.KW_LOGGED: case PostgreSQLParser.KW_STORED: case PostgreSQLParser.KW_INCLUDE: case PostgreSQLParser.KW_ROUTINE: case PostgreSQLParser.KW_TRANSFORM: case PostgreSQLParser.KW_IMPORT: case PostgreSQLParser.KW_POLICY: case PostgreSQLParser.KW_METHOD: case PostgreSQLParser.KW_REFERENCING: case PostgreSQLParser.KW_NEW: case PostgreSQLParser.KW_OLD: case PostgreSQLParser.KW_VALUE: case PostgreSQLParser.KW_SUBSCRIPTION: case PostgreSQLParser.KW_PUBLICATION: case PostgreSQLParser.KW_OUT: case PostgreSQLParser.KW_ROUTINES: case PostgreSQLParser.KW_SCHEMAS: case PostgreSQLParser.KW_PROCEDURES: case PostgreSQLParser.KW_INPUT: case PostgreSQLParser.KW_SUPPORT: case PostgreSQLParser.KW_PARALLEL: case PostgreSQLParser.KW_SQL: case PostgreSQLParser.KW_DEPENDS: case PostgreSQLParser.KW_OVERRIDING: case PostgreSQLParser.KW_CONFLICT: case PostgreSQLParser.KW_SKIP: case PostgreSQLParser.KW_LOCKED: case PostgreSQLParser.KW_TIES: case PostgreSQLParser.KW_ROLLUP: case PostgreSQLParser.KW_CUBE: case PostgreSQLParser.KW_GROUPING: case PostgreSQLParser.KW_SETS: case PostgreSQLParser.KW_ORDINALITY: case PostgreSQLParser.KW_XMLTABLE: case PostgreSQLParser.KW_COLUMNS: case PostgreSQLParser.KW_XMLNAMESPACES: case PostgreSQLParser.KW_ROWTYPE: case PostgreSQLParser.KW_NORMALIZED: case PostgreSQLParser.KW_WITHIN: case PostgreSQLParser.KW_FILTER: case PostgreSQLParser.KW_GROUPS: case PostgreSQLParser.KW_OTHERS: case PostgreSQLParser.KW_NFC: case PostgreSQLParser.KW_NFD: case PostgreSQLParser.KW_NFKC: case PostgreSQLParser.KW_NFKD: case PostgreSQLParser.KW_UESCAPE: case PostgreSQLParser.KW_VIEWS: case PostgreSQLParser.KW_NORMALIZE: case PostgreSQLParser.KW_DUMP: case PostgreSQLParser.KW_PRINT_STRICT_PARAMS: case PostgreSQLParser.KW_VARIABLE_CONFLICT: case PostgreSQLParser.KW_ERROR: case PostgreSQLParser.KW_USE_VARIABLE: case PostgreSQLParser.KW_USE_COLUMN: case PostgreSQLParser.KW_ALIAS: case PostgreSQLParser.KW_CONSTANT: case PostgreSQLParser.KW_PERFORM: case PostgreSQLParser.KW_GET: case PostgreSQLParser.KW_DIAGNOSTICS: case PostgreSQLParser.KW_STACKED: case PostgreSQLParser.KW_ELSIF: case PostgreSQLParser.KW_REVERSE: case PostgreSQLParser.KW_SLICE: case PostgreSQLParser.KW_EXIT: case PostgreSQLParser.KW_RETURN: case PostgreSQLParser.KW_QUERY: case PostgreSQLParser.KW_RAISE: case PostgreSQLParser.KW_SQLSTATE: case PostgreSQLParser.KW_DEBUG: case PostgreSQLParser.KW_LOG: case PostgreSQLParser.KW_INFO: case PostgreSQLParser.KW_NOTICE: case PostgreSQLParser.KW_WARNING: case PostgreSQLParser.KW_EXCEPTION: case PostgreSQLParser.KW_ASSERT: case PostgreSQLParser.KW_OPEN: case PostgreSQLParser.KW_SKIP_LOCKED: case PostgreSQLParser.KW_BUFFER_USAGE_LIMIT: case PostgreSQLParser.Identifier: case PostgreSQLParser.QuotedIdentifier: case PostgreSQLParser.UnicodeQuotedIdentifier: case PostgreSQLParser.StringConstant: case PostgreSQLParser.UnicodeEscapeStringConstant: case PostgreSQLParser.BeginDollarStringConstant: case PostgreSQLParser.PLSQLVARIABLENAME: case PostgreSQLParser.PLSQLIDENTIFIER: case PostgreSQLParser.EscapeStringConstant: this.enterOuterAlt(_localctx, 2); { this.state = 11880; this.any_identifier(); } break; default: throw new NoViableAltException(this); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_exitcond(): Opt_exitcondContext { let _localctx: Opt_exitcondContext = new Opt_exitcondContext(this._ctx, this.state); this.enterRule(_localctx, 1732, PostgreSQLParser.RULE_opt_exitcond); try { this.enterOuterAlt(_localctx, 1); { this.state = 11883; this.match(PostgreSQLParser.KW_WHEN); this.state = 11884; this.expr_until_semi(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public any_identifier(): Any_identifierContext { let _localctx: Any_identifierContext = new Any_identifierContext(this._ctx, this.state); this.enterRule(_localctx, 1734, PostgreSQLParser.RULE_any_identifier); try { this.state = 11888; this._errHandler.sync(this); switch ( this.interpreter.adaptivePredict(this._input, 1271, this._ctx) ) { case 1: this.enterOuterAlt(_localctx, 1); { this.state = 11886; this.colid(); } break; case 2: this.enterOuterAlt(_localctx, 2); { this.state = 11887; this.plsql_unreserved_keyword(); } break; } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public plsql_unreserved_keyword(): Plsql_unreserved_keywordContext { let _localctx: Plsql_unreserved_keywordContext = new Plsql_unreserved_keywordContext(this._ctx, this.state); this.enterRule(_localctx, 1736, PostgreSQLParser.RULE_plsql_unreserved_keyword); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11890; _la = this._input.LA(1); if (!(((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 92)) & ~0x1F) === 0 && ((1 << (_la - 92)) & ((1 << (PostgreSQLParser.KW_TABLE - 92)) | (1 << (PostgreSQLParser.KW_IS - 92)) | (1 << (PostgreSQLParser.KW_OUTER - 92)))) !== 0) || ((((_la - 130)) & ~0x1F) === 0 && ((1 << (_la - 130)) & ((1 << (PostgreSQLParser.KW_ABSOLUTE - 130)) | (1 << (PostgreSQLParser.KW_BACKWARD - 130)) | (1 << (PostgreSQLParser.KW_CHAIN - 130)) | (1 << (PostgreSQLParser.KW_CLOSE - 130)) | (1 << (PostgreSQLParser.KW_COMMIT - 130)))) !== 0) || _la === PostgreSQLParser.KW_CONTINUE || _la === PostgreSQLParser.KW_CURSOR || _la === PostgreSQLParser.KW_FIRST || _la === PostgreSQLParser.KW_FORWARD || ((((_la - 241)) & ~0x1F) === 0 && ((1 << (_la - 241)) & ((1 << (PostgreSQLParser.KW_INSERT - 241)) | (1 << (PostgreSQLParser.KW_LAST - 241)) | (1 << (PostgreSQLParser.KW_MOVE - 241)) | (1 << (PostgreSQLParser.KW_NEXT - 241)) | (1 << (PostgreSQLParser.KW_NO - 241)))) !== 0) || ((((_la - 279)) & ~0x1F) === 0 && ((1 << (_la - 279)) & ((1 << (PostgreSQLParser.KW_OPTION - 279)) | (1 << (PostgreSQLParser.KW_PRIOR - 279)) | (1 << (PostgreSQLParser.KW_RELATIVE - 279)))) !== 0) || ((((_la - 313)) & ~0x1F) === 0 && ((1 << (_la - 313)) & ((1 << (PostgreSQLParser.KW_RESET - 313)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 313)) | (1 << (PostgreSQLParser.KW_SCHEMA - 313)) | (1 << (PostgreSQLParser.KW_SCROLL - 313)) | (1 << (PostgreSQLParser.KW_SET - 313)))) !== 0) || _la === PostgreSQLParser.KW_TYPE || _la === PostgreSQLParser.KW_CALL || _la === PostgreSQLParser.KW_CURRENT || ((((_la - 477)) & ~0x1F) === 0 && ((1 << (_la - 477)) & ((1 << (PostgreSQLParser.KW_ROWTYPE - 477)) | (1 << (PostgreSQLParser.KW_DUMP - 477)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 477)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 477)) | (1 << (PostgreSQLParser.KW_ERROR - 477)) | (1 << (PostgreSQLParser.KW_USE_VARIABLE - 477)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 477)) | (1 << (PostgreSQLParser.KW_ALIAS - 477)) | (1 << (PostgreSQLParser.KW_CONSTANT - 477)) | (1 << (PostgreSQLParser.KW_PERFORM - 477)) | (1 << (PostgreSQLParser.KW_GET - 477)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 477)) | (1 << (PostgreSQLParser.KW_STACKED - 477)) | (1 << (PostgreSQLParser.KW_ELSIF - 477)) | (1 << (PostgreSQLParser.KW_REVERSE - 477)) | (1 << (PostgreSQLParser.KW_SLICE - 477)) | (1 << (PostgreSQLParser.KW_EXIT - 477)) | (1 << (PostgreSQLParser.KW_RETURN - 477)))) !== 0) || ((((_la - 509)) & ~0x1F) === 0 && ((1 << (_la - 509)) & ((1 << (PostgreSQLParser.KW_QUERY - 509)) | (1 << (PostgreSQLParser.KW_RAISE - 509)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 509)) | (1 << (PostgreSQLParser.KW_DEBUG - 509)) | (1 << (PostgreSQLParser.KW_LOG - 509)) | (1 << (PostgreSQLParser.KW_INFO - 509)) | (1 << (PostgreSQLParser.KW_NOTICE - 509)) | (1 << (PostgreSQLParser.KW_WARNING - 509)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 509)) | (1 << (PostgreSQLParser.KW_ASSERT - 509)) | (1 << (PostgreSQLParser.KW_OPEN - 509)))) !== 0))) { this._errHandler.recoverInline(this); } else { if (this._input.LA(1) === Token.EOF) { this.matchedEOF = true; } this._errHandler.reportMatch(this); this.consume(); } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public sql_expression(): Sql_expressionContext { let _localctx: Sql_expressionContext = new Sql_expressionContext(this._ctx, this.state); this.enterRule(_localctx, 1738, PostgreSQLParser.RULE_sql_expression); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11893; this._errHandler.sync(this); _la = this._input.LA(1); if ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << PostgreSQLParser.OPEN_PAREN) | (1 << PostgreSQLParser.STAR) | (1 << PostgreSQLParser.PLUS) | (1 << PostgreSQLParser.MINUS) | (1 << PostgreSQLParser.PARAM) | (1 << PostgreSQLParser.Operator))) !== 0) || ((((_la - 33)) & ~0x1F) === 0 && ((1 << (_la - 33)) & ((1 << (PostgreSQLParser.KW_AND - 33)) | (1 << (PostgreSQLParser.KW_ARRAY - 33)) | (1 << (PostgreSQLParser.KW_CASE - 33)) | (1 << (PostgreSQLParser.KW_CAST - 33)) | (1 << (PostgreSQLParser.KW_COLLATE - 33)) | (1 << (PostgreSQLParser.KW_COLUMN - 33)) | (1 << (PostgreSQLParser.KW_CONSTRAINT - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_CATALOG - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_DATE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_ROLE - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIME - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_TIMESTAMP - 33)) | (1 << (PostgreSQLParser.KW_CURRENT_USER - 33)) | (1 << (PostgreSQLParser.KW_DEFAULT - 33)) | (1 << (PostgreSQLParser.KW_DO - 33)) | (1 << (PostgreSQLParser.KW_FALSE - 33)) | (1 << (PostgreSQLParser.KW_FETCH - 33)))) !== 0) || ((((_la - 75)) & ~0x1F) === 0 && ((1 << (_la - 75)) & ((1 << (PostgreSQLParser.KW_LOCALTIME - 75)) | (1 << (PostgreSQLParser.KW_LOCALTIMESTAMP - 75)) | (1 << (PostgreSQLParser.KW_NOT - 75)) | (1 << (PostgreSQLParser.KW_NULL - 75)) | (1 << (PostgreSQLParser.KW_SESSION_USER - 75)) | (1 << (PostgreSQLParser.KW_TABLE - 75)) | (1 << (PostgreSQLParser.KW_TRUE - 75)) | (1 << (PostgreSQLParser.KW_UNIQUE - 75)) | (1 << (PostgreSQLParser.KW_USER - 75)) | (1 << (PostgreSQLParser.KW_AUTHORIZATION - 75)))) !== 0) || ((((_la - 107)) & ~0x1F) === 0 && ((1 << (_la - 107)) & ((1 << (PostgreSQLParser.KW_BINARY - 107)) | (1 << (PostgreSQLParser.KW_COLLATION - 107)) | (1 << (PostgreSQLParser.KW_CONCURRENTLY - 107)) | (1 << (PostgreSQLParser.KW_CROSS - 107)) | (1 << (PostgreSQLParser.KW_CURRENT_SCHEMA - 107)) | (1 << (PostgreSQLParser.KW_FREEZE - 107)) | (1 << (PostgreSQLParser.KW_FULL - 107)) | (1 << (PostgreSQLParser.KW_ILIKE - 107)) | (1 << (PostgreSQLParser.KW_INNER - 107)) | (1 << (PostgreSQLParser.KW_IS - 107)) | (1 << (PostgreSQLParser.KW_ISNULL - 107)) | (1 << (PostgreSQLParser.KW_JOIN - 107)) | (1 << (PostgreSQLParser.KW_LEFT - 107)) | (1 << (PostgreSQLParser.KW_LIKE - 107)) | (1 << (PostgreSQLParser.KW_NATURAL - 107)) | (1 << (PostgreSQLParser.KW_NOTNULL - 107)) | (1 << (PostgreSQLParser.KW_OUTER - 107)) | (1 << (PostgreSQLParser.KW_OVER - 107)) | (1 << (PostgreSQLParser.KW_OVERLAPS - 107)) | (1 << (PostgreSQLParser.KW_RIGHT - 107)) | (1 << (PostgreSQLParser.KW_SIMILAR - 107)) | (1 << (PostgreSQLParser.KW_VERBOSE - 107)) | (1 << (PostgreSQLParser.KW_ABORT - 107)) | (1 << (PostgreSQLParser.KW_ABSOLUTE - 107)) | (1 << (PostgreSQLParser.KW_ACCESS - 107)) | (1 << (PostgreSQLParser.KW_ACTION - 107)) | (1 << (PostgreSQLParser.KW_ADD - 107)) | (1 << (PostgreSQLParser.KW_ADMIN - 107)) | (1 << (PostgreSQLParser.KW_AFTER - 107)) | (1 << (PostgreSQLParser.KW_AGGREGATE - 107)) | (1 << (PostgreSQLParser.KW_ALSO - 107)) | (1 << (PostgreSQLParser.KW_ALTER - 107)))) !== 0) || ((((_la - 139)) & ~0x1F) === 0 && ((1 << (_la - 139)) & ((1 << (PostgreSQLParser.KW_ALWAYS - 139)) | (1 << (PostgreSQLParser.KW_ASSERTION - 139)) | (1 << (PostgreSQLParser.KW_ASSIGNMENT - 139)) | (1 << (PostgreSQLParser.KW_AT - 139)) | (1 << (PostgreSQLParser.KW_ATTRIBUTE - 139)) | (1 << (PostgreSQLParser.KW_BACKWARD - 139)) | (1 << (PostgreSQLParser.KW_BEFORE - 139)) | (1 << (PostgreSQLParser.KW_BEGIN - 139)) | (1 << (PostgreSQLParser.KW_BY - 139)) | (1 << (PostgreSQLParser.KW_CACHE - 139)) | (1 << (PostgreSQLParser.KW_CALLED - 139)) | (1 << (PostgreSQLParser.KW_CASCADE - 139)) | (1 << (PostgreSQLParser.KW_CASCADED - 139)) | (1 << (PostgreSQLParser.KW_CATALOG - 139)) | (1 << (PostgreSQLParser.KW_CHAIN - 139)) | (1 << (PostgreSQLParser.KW_CHARACTERISTICS - 139)) | (1 << (PostgreSQLParser.KW_CHECKPOINT - 139)) | (1 << (PostgreSQLParser.KW_CLASS - 139)) | (1 << (PostgreSQLParser.KW_CLOSE - 139)) | (1 << (PostgreSQLParser.KW_CLUSTER - 139)) | (1 << (PostgreSQLParser.KW_COMMENT - 139)) | (1 << (PostgreSQLParser.KW_COMMENTS - 139)) | (1 << (PostgreSQLParser.KW_COMMIT - 139)) | (1 << (PostgreSQLParser.KW_COMMITTED - 139)) | (1 << (PostgreSQLParser.KW_CONFIGURATION - 139)) | (1 << (PostgreSQLParser.KW_CONNECTION - 139)) | (1 << (PostgreSQLParser.KW_CONSTRAINTS - 139)) | (1 << (PostgreSQLParser.KW_CONTENT - 139)) | (1 << (PostgreSQLParser.KW_CONTINUE - 139)) | (1 << (PostgreSQLParser.KW_CONVERSION - 139)) | (1 << (PostgreSQLParser.KW_COPY - 139)) | (1 << (PostgreSQLParser.KW_COST - 139)))) !== 0) || ((((_la - 171)) & ~0x1F) === 0 && ((1 << (_la - 171)) & ((1 << (PostgreSQLParser.KW_CSV - 171)) | (1 << (PostgreSQLParser.KW_CURSOR - 171)) | (1 << (PostgreSQLParser.KW_CYCLE - 171)) | (1 << (PostgreSQLParser.KW_DATA - 171)) | (1 << (PostgreSQLParser.KW_DATABASE - 171)) | (1 << (PostgreSQLParser.KW_DAY - 171)) | (1 << (PostgreSQLParser.KW_DEALLOCATE - 171)) | (1 << (PostgreSQLParser.KW_DECLARE - 171)) | (1 << (PostgreSQLParser.KW_DEFAULTS - 171)) | (1 << (PostgreSQLParser.KW_DEFERRED - 171)) | (1 << (PostgreSQLParser.KW_DEFINER - 171)) | (1 << (PostgreSQLParser.KW_DELETE - 171)) | (1 << (PostgreSQLParser.KW_DELIMITER - 171)) | (1 << (PostgreSQLParser.KW_DELIMITERS - 171)) | (1 << (PostgreSQLParser.KW_DICTIONARY - 171)) | (1 << (PostgreSQLParser.KW_DISABLE - 171)) | (1 << (PostgreSQLParser.KW_DISCARD - 171)) | (1 << (PostgreSQLParser.KW_DOCUMENT - 171)) | (1 << (PostgreSQLParser.KW_DOMAIN - 171)) | (1 << (PostgreSQLParser.KW_DOUBLE - 171)) | (1 << (PostgreSQLParser.KW_DROP - 171)) | (1 << (PostgreSQLParser.KW_EACH - 171)) | (1 << (PostgreSQLParser.KW_ENABLE - 171)) | (1 << (PostgreSQLParser.KW_ENCODING - 171)) | (1 << (PostgreSQLParser.KW_ENCRYPTED - 171)) | (1 << (PostgreSQLParser.KW_ENUM - 171)) | (1 << (PostgreSQLParser.KW_ESCAPE - 171)) | (1 << (PostgreSQLParser.KW_EVENT - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDE - 171)) | (1 << (PostgreSQLParser.KW_EXCLUDING - 171)) | (1 << (PostgreSQLParser.KW_EXCLUSIVE - 171)) | (1 << (PostgreSQLParser.KW_EXECUTE - 171)))) !== 0) || ((((_la - 203)) & ~0x1F) === 0 && ((1 << (_la - 203)) & ((1 << (PostgreSQLParser.KW_EXPLAIN - 203)) | (1 << (PostgreSQLParser.KW_EXTENSION - 203)) | (1 << (PostgreSQLParser.KW_EXTERNAL - 203)) | (1 << (PostgreSQLParser.KW_FAMILY - 203)) | (1 << (PostgreSQLParser.KW_FIRST - 203)) | (1 << (PostgreSQLParser.KW_FOLLOWING - 203)) | (1 << (PostgreSQLParser.KW_FORCE - 203)) | (1 << (PostgreSQLParser.KW_FORWARD - 203)) | (1 << (PostgreSQLParser.KW_FUNCTION - 203)) | (1 << (PostgreSQLParser.KW_FUNCTIONS - 203)) | (1 << (PostgreSQLParser.KW_GLOBAL - 203)) | (1 << (PostgreSQLParser.KW_GRANTED - 203)) | (1 << (PostgreSQLParser.KW_HANDLER - 203)) | (1 << (PostgreSQLParser.KW_HEADER - 203)) | (1 << (PostgreSQLParser.KW_HOLD - 203)) | (1 << (PostgreSQLParser.KW_HOUR - 203)) | (1 << (PostgreSQLParser.KW_IDENTITY - 203)) | (1 << (PostgreSQLParser.KW_IF - 203)) | (1 << (PostgreSQLParser.KW_IMMEDIATE - 203)) | (1 << (PostgreSQLParser.KW_IMMUTABLE - 203)) | (1 << (PostgreSQLParser.KW_IMPLICIT - 203)) | (1 << (PostgreSQLParser.KW_INCLUDING - 203)) | (1 << (PostgreSQLParser.KW_INCREMENT - 203)) | (1 << (PostgreSQLParser.KW_INDEX - 203)) | (1 << (PostgreSQLParser.KW_INDEXES - 203)) | (1 << (PostgreSQLParser.KW_INHERIT - 203)))) !== 0) || ((((_la - 238)) & ~0x1F) === 0 && ((1 << (_la - 238)) & ((1 << (PostgreSQLParser.KW_INHERITS - 238)) | (1 << (PostgreSQLParser.KW_INLINE - 238)) | (1 << (PostgreSQLParser.KW_INSENSITIVE - 238)) | (1 << (PostgreSQLParser.KW_INSERT - 238)) | (1 << (PostgreSQLParser.KW_INSTEAD - 238)) | (1 << (PostgreSQLParser.KW_INVOKER - 238)) | (1 << (PostgreSQLParser.KW_ISOLATION - 238)) | (1 << (PostgreSQLParser.KW_KEY - 238)) | (1 << (PostgreSQLParser.KW_LABEL - 238)) | (1 << (PostgreSQLParser.KW_LANGUAGE - 238)) | (1 << (PostgreSQLParser.KW_LARGE - 238)) | (1 << (PostgreSQLParser.KW_LAST - 238)) | (1 << (PostgreSQLParser.KW_LEAKPROOF - 238)) | (1 << (PostgreSQLParser.KW_LEVEL - 238)) | (1 << (PostgreSQLParser.KW_LISTEN - 238)) | (1 << (PostgreSQLParser.KW_LOAD - 238)) | (1 << (PostgreSQLParser.KW_LOCAL - 238)) | (1 << (PostgreSQLParser.KW_LOCATION - 238)) | (1 << (PostgreSQLParser.KW_LOCK - 238)) | (1 << (PostgreSQLParser.KW_MAPPING - 238)) | (1 << (PostgreSQLParser.KW_MATCH - 238)) | (1 << (PostgreSQLParser.KW_MATERIALIZED - 238)) | (1 << (PostgreSQLParser.KW_MAXVALUE - 238)) | (1 << (PostgreSQLParser.KW_MINUTE - 238)) | (1 << (PostgreSQLParser.KW_MINVALUE - 238)) | (1 << (PostgreSQLParser.KW_MODE - 238)) | (1 << (PostgreSQLParser.KW_MONTH - 238)) | (1 << (PostgreSQLParser.KW_MOVE - 238)) | (1 << (PostgreSQLParser.KW_NAME - 238)) | (1 << (PostgreSQLParser.KW_NAMES - 238)) | (1 << (PostgreSQLParser.KW_NEXT - 238)) | (1 << (PostgreSQLParser.KW_NO - 238)))) !== 0) || ((((_la - 270)) & ~0x1F) === 0 && ((1 << (_la - 270)) & ((1 << (PostgreSQLParser.KW_NOTHING - 270)) | (1 << (PostgreSQLParser.KW_NOTIFY - 270)) | (1 << (PostgreSQLParser.KW_NOWAIT - 270)) | (1 << (PostgreSQLParser.KW_NULLS - 270)) | (1 << (PostgreSQLParser.KW_OBJECT - 270)) | (1 << (PostgreSQLParser.KW_OF - 270)) | (1 << (PostgreSQLParser.KW_OFF - 270)) | (1 << (PostgreSQLParser.KW_OIDS - 270)) | (1 << (PostgreSQLParser.KW_OPERATOR - 270)) | (1 << (PostgreSQLParser.KW_OPTION - 270)) | (1 << (PostgreSQLParser.KW_OPTIONS - 270)) | (1 << (PostgreSQLParser.KW_OWNED - 270)) | (1 << (PostgreSQLParser.KW_OWNER - 270)) | (1 << (PostgreSQLParser.KW_PARSER - 270)) | (1 << (PostgreSQLParser.KW_PARTIAL - 270)) | (1 << (PostgreSQLParser.KW_PARTITION - 270)) | (1 << (PostgreSQLParser.KW_PASSING - 270)) | (1 << (PostgreSQLParser.KW_PASSWORD - 270)) | (1 << (PostgreSQLParser.KW_PLANS - 270)) | (1 << (PostgreSQLParser.KW_PRECEDING - 270)) | (1 << (PostgreSQLParser.KW_PREPARE - 270)) | (1 << (PostgreSQLParser.KW_PREPARED - 270)) | (1 << (PostgreSQLParser.KW_PRESERVE - 270)) | (1 << (PostgreSQLParser.KW_PRIOR - 270)) | (1 << (PostgreSQLParser.KW_PRIVILEGES - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURAL - 270)) | (1 << (PostgreSQLParser.KW_PROCEDURE - 270)) | (1 << (PostgreSQLParser.KW_PROGRAM - 270)) | (1 << (PostgreSQLParser.KW_QUOTE - 270)) | (1 << (PostgreSQLParser.KW_RANGE - 270)) | (1 << (PostgreSQLParser.KW_READ - 270)) | (1 << (PostgreSQLParser.KW_REASSIGN - 270)))) !== 0) || ((((_la - 302)) & ~0x1F) === 0 && ((1 << (_la - 302)) & ((1 << (PostgreSQLParser.KW_RECHECK - 302)) | (1 << (PostgreSQLParser.KW_RECURSIVE - 302)) | (1 << (PostgreSQLParser.KW_REF - 302)) | (1 << (PostgreSQLParser.KW_REFRESH - 302)) | (1 << (PostgreSQLParser.KW_REINDEX - 302)) | (1 << (PostgreSQLParser.KW_RELATIVE - 302)) | (1 << (PostgreSQLParser.KW_RELEASE - 302)) | (1 << (PostgreSQLParser.KW_RENAME - 302)) | (1 << (PostgreSQLParser.KW_REPEATABLE - 302)) | (1 << (PostgreSQLParser.KW_REPLACE - 302)) | (1 << (PostgreSQLParser.KW_REPLICA - 302)) | (1 << (PostgreSQLParser.KW_RESET - 302)) | (1 << (PostgreSQLParser.KW_RESTART - 302)) | (1 << (PostgreSQLParser.KW_RESTRICT - 302)) | (1 << (PostgreSQLParser.KW_RETURNS - 302)) | (1 << (PostgreSQLParser.KW_REVOKE - 302)) | (1 << (PostgreSQLParser.KW_ROLE - 302)) | (1 << (PostgreSQLParser.KW_ROLLBACK - 302)) | (1 << (PostgreSQLParser.KW_ROWS - 302)) | (1 << (PostgreSQLParser.KW_RULE - 302)) | (1 << (PostgreSQLParser.KW_SAVEPOINT - 302)) | (1 << (PostgreSQLParser.KW_SCHEMA - 302)) | (1 << (PostgreSQLParser.KW_SCROLL - 302)) | (1 << (PostgreSQLParser.KW_SEARCH - 302)) | (1 << (PostgreSQLParser.KW_SECOND - 302)) | (1 << (PostgreSQLParser.KW_SECURITY - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCE - 302)) | (1 << (PostgreSQLParser.KW_SEQUENCES - 302)) | (1 << (PostgreSQLParser.KW_SERIALIZABLE - 302)) | (1 << (PostgreSQLParser.KW_SERVER - 302)) | (1 << (PostgreSQLParser.KW_SESSION - 302)) | (1 << (PostgreSQLParser.KW_SET - 302)))) !== 0) || ((((_la - 334)) & ~0x1F) === 0 && ((1 << (_la - 334)) & ((1 << (PostgreSQLParser.KW_SHARE - 334)) | (1 << (PostgreSQLParser.KW_SHOW - 334)) | (1 << (PostgreSQLParser.KW_SIMPLE - 334)) | (1 << (PostgreSQLParser.KW_SNAPSHOT - 334)) | (1 << (PostgreSQLParser.KW_STABLE - 334)) | (1 << (PostgreSQLParser.KW_STANDALONE - 334)) | (1 << (PostgreSQLParser.KW_START - 334)) | (1 << (PostgreSQLParser.KW_STATEMENT - 334)) | (1 << (PostgreSQLParser.KW_STATISTICS - 334)) | (1 << (PostgreSQLParser.KW_STDIN - 334)) | (1 << (PostgreSQLParser.KW_STDOUT - 334)) | (1 << (PostgreSQLParser.KW_STORAGE - 334)) | (1 << (PostgreSQLParser.KW_STRICT - 334)) | (1 << (PostgreSQLParser.KW_STRIP - 334)) | (1 << (PostgreSQLParser.KW_SYSID - 334)) | (1 << (PostgreSQLParser.KW_SYSTEM - 334)) | (1 << (PostgreSQLParser.KW_TABLES - 334)) | (1 << (PostgreSQLParser.KW_TABLESPACE - 334)) | (1 << (PostgreSQLParser.KW_TEMP - 334)) | (1 << (PostgreSQLParser.KW_TEMPLATE - 334)) | (1 << (PostgreSQLParser.KW_TEMPORARY - 334)) | (1 << (PostgreSQLParser.KW_TEXT - 334)) | (1 << (PostgreSQLParser.KW_TRANSACTION - 334)) | (1 << (PostgreSQLParser.KW_TRIGGER - 334)) | (1 << (PostgreSQLParser.KW_TRUNCATE - 334)) | (1 << (PostgreSQLParser.KW_TRUSTED - 334)) | (1 << (PostgreSQLParser.KW_TYPE - 334)) | (1 << (PostgreSQLParser.KW_TYPES - 334)) | (1 << (PostgreSQLParser.KW_UNBOUNDED - 334)) | (1 << (PostgreSQLParser.KW_UNCOMMITTED - 334)) | (1 << (PostgreSQLParser.KW_UNENCRYPTED - 334)) | (1 << (PostgreSQLParser.KW_UNKNOWN - 334)))) !== 0) || ((((_la - 366)) & ~0x1F) === 0 && ((1 << (_la - 366)) & ((1 << (PostgreSQLParser.KW_UNLISTEN - 366)) | (1 << (PostgreSQLParser.KW_UNLOGGED - 366)) | (1 << (PostgreSQLParser.KW_UNTIL - 366)) | (1 << (PostgreSQLParser.KW_UPDATE - 366)) | (1 << (PostgreSQLParser.KW_VACUUM - 366)) | (1 << (PostgreSQLParser.KW_VALID - 366)) | (1 << (PostgreSQLParser.KW_VALIDATE - 366)) | (1 << (PostgreSQLParser.KW_VALIDATOR - 366)) | (1 << (PostgreSQLParser.KW_VARYING - 366)) | (1 << (PostgreSQLParser.KW_VERSION - 366)) | (1 << (PostgreSQLParser.KW_VIEW - 366)) | (1 << (PostgreSQLParser.KW_VOLATILE - 366)) | (1 << (PostgreSQLParser.KW_WHITESPACE - 366)) | (1 << (PostgreSQLParser.KW_WITHOUT - 366)) | (1 << (PostgreSQLParser.KW_WORK - 366)) | (1 << (PostgreSQLParser.KW_WRAPPER - 366)) | (1 << (PostgreSQLParser.KW_WRITE - 366)) | (1 << (PostgreSQLParser.KW_XML - 366)) | (1 << (PostgreSQLParser.KW_YEAR - 366)) | (1 << (PostgreSQLParser.KW_YES - 366)) | (1 << (PostgreSQLParser.KW_ZONE - 366)) | (1 << (PostgreSQLParser.KW_BETWEEN - 366)) | (1 << (PostgreSQLParser.KW_BIGINT - 366)) | (1 << (PostgreSQLParser.KW_BIT - 366)) | (1 << (PostgreSQLParser.KW_BOOLEAN - 366)) | (1 << (PostgreSQLParser.KW_CHAR - 366)) | (1 << (PostgreSQLParser.KW_CHARACTER - 366)) | (1 << (PostgreSQLParser.KW_COALESCE - 366)) | (1 << (PostgreSQLParser.KW_DEC - 366)) | (1 << (PostgreSQLParser.KW_DECIMAL - 366)) | (1 << (PostgreSQLParser.KW_EXISTS - 366)) | (1 << (PostgreSQLParser.KW_EXTRACT - 366)))) !== 0) || ((((_la - 398)) & ~0x1F) === 0 && ((1 << (_la - 398)) & ((1 << (PostgreSQLParser.KW_FLOAT - 398)) | (1 << (PostgreSQLParser.KW_GREATEST - 398)) | (1 << (PostgreSQLParser.KW_INOUT - 398)) | (1 << (PostgreSQLParser.KW_INT - 398)) | (1 << (PostgreSQLParser.KW_INTEGER - 398)) | (1 << (PostgreSQLParser.KW_INTERVAL - 398)) | (1 << (PostgreSQLParser.KW_LEAST - 398)) | (1 << (PostgreSQLParser.KW_NATIONAL - 398)) | (1 << (PostgreSQLParser.KW_NCHAR - 398)) | (1 << (PostgreSQLParser.KW_NONE - 398)) | (1 << (PostgreSQLParser.KW_NULLIF - 398)) | (1 << (PostgreSQLParser.KW_NUMERIC - 398)) | (1 << (PostgreSQLParser.KW_OVERLAY - 398)) | (1 << (PostgreSQLParser.KW_POSITION - 398)) | (1 << (PostgreSQLParser.KW_PRECISION - 398)) | (1 << (PostgreSQLParser.KW_REAL - 398)) | (1 << (PostgreSQLParser.KW_ROW - 398)) | (1 << (PostgreSQLParser.KW_SETOF - 398)) | (1 << (PostgreSQLParser.KW_SMALLINT - 398)) | (1 << (PostgreSQLParser.KW_SUBSTRING - 398)) | (1 << (PostgreSQLParser.KW_TIME - 398)) | (1 << (PostgreSQLParser.KW_TIMESTAMP - 398)) | (1 << (PostgreSQLParser.KW_TREAT - 398)) | (1 << (PostgreSQLParser.KW_TRIM - 398)) | (1 << (PostgreSQLParser.KW_VALUES - 398)) | (1 << (PostgreSQLParser.KW_VARCHAR - 398)) | (1 << (PostgreSQLParser.KW_XMLATTRIBUTES - 398)) | (1 << (PostgreSQLParser.KW_XMLCONCAT - 398)) | (1 << (PostgreSQLParser.KW_XMLELEMENT - 398)) | (1 << (PostgreSQLParser.KW_XMLEXISTS - 398)) | (1 << (PostgreSQLParser.KW_XMLFOREST - 398)) | (1 << (PostgreSQLParser.KW_XMLPARSE - 398)))) !== 0) || ((((_la - 430)) & ~0x1F) === 0 && ((1 << (_la - 430)) & ((1 << (PostgreSQLParser.KW_XMLPI - 430)) | (1 << (PostgreSQLParser.KW_XMLROOT - 430)) | (1 << (PostgreSQLParser.KW_XMLSERIALIZE - 430)) | (1 << (PostgreSQLParser.KW_CALL - 430)) | (1 << (PostgreSQLParser.KW_CURRENT - 430)) | (1 << (PostgreSQLParser.KW_ATTACH - 430)) | (1 << (PostgreSQLParser.KW_DETACH - 430)) | (1 << (PostgreSQLParser.KW_EXPRESSION - 430)) | (1 << (PostgreSQLParser.KW_GENERATED - 430)) | (1 << (PostgreSQLParser.KW_LOGGED - 430)) | (1 << (PostgreSQLParser.KW_STORED - 430)) | (1 << (PostgreSQLParser.KW_INCLUDE - 430)) | (1 << (PostgreSQLParser.KW_ROUTINE - 430)) | (1 << (PostgreSQLParser.KW_TRANSFORM - 430)) | (1 << (PostgreSQLParser.KW_IMPORT - 430)) | (1 << (PostgreSQLParser.KW_POLICY - 430)) | (1 << (PostgreSQLParser.KW_METHOD - 430)) | (1 << (PostgreSQLParser.KW_REFERENCING - 430)) | (1 << (PostgreSQLParser.KW_NEW - 430)) | (1 << (PostgreSQLParser.KW_OLD - 430)) | (1 << (PostgreSQLParser.KW_VALUE - 430)) | (1 << (PostgreSQLParser.KW_SUBSCRIPTION - 430)) | (1 << (PostgreSQLParser.KW_PUBLICATION - 430)) | (1 << (PostgreSQLParser.KW_OUT - 430)) | (1 << (PostgreSQLParser.KW_ROUTINES - 430)) | (1 << (PostgreSQLParser.KW_SCHEMAS - 430)) | (1 << (PostgreSQLParser.KW_PROCEDURES - 430)) | (1 << (PostgreSQLParser.KW_INPUT - 430)) | (1 << (PostgreSQLParser.KW_SUPPORT - 430)) | (1 << (PostgreSQLParser.KW_PARALLEL - 430)) | (1 << (PostgreSQLParser.KW_SQL - 430)))) !== 0) || ((((_la - 462)) & ~0x1F) === 0 && ((1 << (_la - 462)) & ((1 << (PostgreSQLParser.KW_DEPENDS - 462)) | (1 << (PostgreSQLParser.KW_OVERRIDING - 462)) | (1 << (PostgreSQLParser.KW_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_SKIP - 462)) | (1 << (PostgreSQLParser.KW_LOCKED - 462)) | (1 << (PostgreSQLParser.KW_TIES - 462)) | (1 << (PostgreSQLParser.KW_ROLLUP - 462)) | (1 << (PostgreSQLParser.KW_CUBE - 462)) | (1 << (PostgreSQLParser.KW_GROUPING - 462)) | (1 << (PostgreSQLParser.KW_SETS - 462)) | (1 << (PostgreSQLParser.KW_TABLESAMPLE - 462)) | (1 << (PostgreSQLParser.KW_ORDINALITY - 462)) | (1 << (PostgreSQLParser.KW_XMLTABLE - 462)) | (1 << (PostgreSQLParser.KW_COLUMNS - 462)) | (1 << (PostgreSQLParser.KW_XMLNAMESPACES - 462)) | (1 << (PostgreSQLParser.KW_ROWTYPE - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZED - 462)) | (1 << (PostgreSQLParser.KW_WITHIN - 462)) | (1 << (PostgreSQLParser.KW_FILTER - 462)) | (1 << (PostgreSQLParser.KW_GROUPS - 462)) | (1 << (PostgreSQLParser.KW_OTHERS - 462)) | (1 << (PostgreSQLParser.KW_NFC - 462)) | (1 << (PostgreSQLParser.KW_NFD - 462)) | (1 << (PostgreSQLParser.KW_NFKC - 462)) | (1 << (PostgreSQLParser.KW_NFKD - 462)) | (1 << (PostgreSQLParser.KW_UESCAPE - 462)) | (1 << (PostgreSQLParser.KW_VIEWS - 462)) | (1 << (PostgreSQLParser.KW_NORMALIZE - 462)) | (1 << (PostgreSQLParser.KW_DUMP - 462)) | (1 << (PostgreSQLParser.KW_PRINT_STRICT_PARAMS - 462)) | (1 << (PostgreSQLParser.KW_VARIABLE_CONFLICT - 462)) | (1 << (PostgreSQLParser.KW_ERROR - 462)))) !== 0) || ((((_la - 494)) & ~0x1F) === 0 && ((1 << (_la - 494)) & ((1 << (PostgreSQLParser.KW_USE_VARIABLE - 494)) | (1 << (PostgreSQLParser.KW_USE_COLUMN - 494)) | (1 << (PostgreSQLParser.KW_ALIAS - 494)) | (1 << (PostgreSQLParser.KW_CONSTANT - 494)) | (1 << (PostgreSQLParser.KW_PERFORM - 494)) | (1 << (PostgreSQLParser.KW_GET - 494)) | (1 << (PostgreSQLParser.KW_DIAGNOSTICS - 494)) | (1 << (PostgreSQLParser.KW_STACKED - 494)) | (1 << (PostgreSQLParser.KW_ELSIF - 494)) | (1 << (PostgreSQLParser.KW_REVERSE - 494)) | (1 << (PostgreSQLParser.KW_SLICE - 494)) | (1 << (PostgreSQLParser.KW_EXIT - 494)) | (1 << (PostgreSQLParser.KW_RETURN - 494)) | (1 << (PostgreSQLParser.KW_QUERY - 494)) | (1 << (PostgreSQLParser.KW_RAISE - 494)) | (1 << (PostgreSQLParser.KW_SQLSTATE - 494)) | (1 << (PostgreSQLParser.KW_DEBUG - 494)) | (1 << (PostgreSQLParser.KW_LOG - 494)) | (1 << (PostgreSQLParser.KW_INFO - 494)) | (1 << (PostgreSQLParser.KW_NOTICE - 494)) | (1 << (PostgreSQLParser.KW_WARNING - 494)) | (1 << (PostgreSQLParser.KW_EXCEPTION - 494)) | (1 << (PostgreSQLParser.KW_ASSERT - 494)) | (1 << (PostgreSQLParser.KW_OPEN - 494)))) !== 0) || ((((_la - 547)) & ~0x1F) === 0 && ((1 << (_la - 547)) & ((1 << (PostgreSQLParser.KW_SKIP_LOCKED - 547)) | (1 << (PostgreSQLParser.KW_BUFFER_USAGE_LIMIT - 547)) | (1 << (PostgreSQLParser.Identifier - 547)) | (1 << (PostgreSQLParser.QuotedIdentifier - 547)) | (1 << (PostgreSQLParser.UnicodeQuotedIdentifier - 547)) | (1 << (PostgreSQLParser.StringConstant - 547)) | (1 << (PostgreSQLParser.UnicodeEscapeStringConstant - 547)) | (1 << (PostgreSQLParser.BeginDollarStringConstant - 547)) | (1 << (PostgreSQLParser.BinaryStringConstant - 547)) | (1 << (PostgreSQLParser.HexadecimalStringConstant - 547)) | (1 << (PostgreSQLParser.Integral - 547)) | (1 << (PostgreSQLParser.Numeric - 547)) | (1 << (PostgreSQLParser.PLSQLVARIABLENAME - 547)) | (1 << (PostgreSQLParser.PLSQLIDENTIFIER - 547)))) !== 0) || _la === PostgreSQLParser.EscapeStringConstant) { { this.state = 11892; this.opt_target_list(); } } this.state = 11896; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_INTO) { { this.state = 11895; this.into_clause(); } } this.state = 11899; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_FROM) { { this.state = 11898; this.from_clause(); } } this.state = 11902; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WHERE) { { this.state = 11901; this.where_clause(); } } this.state = 11905; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_GROUP) { { this.state = 11904; this.group_clause(); } } this.state = 11908; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_HAVING) { { this.state = 11907; this.having_clause(); } } this.state = 11911; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_WINDOW) { { this.state = 11910; this.window_clause(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public expr_until_then(): Expr_until_thenContext { let _localctx: Expr_until_thenContext = new Expr_until_thenContext(this._ctx, this.state); this.enterRule(_localctx, 1740, PostgreSQLParser.RULE_expr_until_then); try { this.enterOuterAlt(_localctx, 1); { this.state = 11913; this.sql_expression(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public expr_until_semi(): Expr_until_semiContext { let _localctx: Expr_until_semiContext = new Expr_until_semiContext(this._ctx, this.state); this.enterRule(_localctx, 1742, PostgreSQLParser.RULE_expr_until_semi); try { this.enterOuterAlt(_localctx, 1); { this.state = 11915; this.sql_expression(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public expr_until_rightbracket(): Expr_until_rightbracketContext { let _localctx: Expr_until_rightbracketContext = new Expr_until_rightbracketContext(this._ctx, this.state); this.enterRule(_localctx, 1744, PostgreSQLParser.RULE_expr_until_rightbracket); try { this.enterOuterAlt(_localctx, 1); { this.state = 11917; this.a_expr(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public expr_until_loop(): Expr_until_loopContext { let _localctx: Expr_until_loopContext = new Expr_until_loopContext(this._ctx, this.state); this.enterRule(_localctx, 1746, PostgreSQLParser.RULE_expr_until_loop); try { this.enterOuterAlt(_localctx, 1); { this.state = 11919; this.a_expr(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public make_execsql_stmt(): Make_execsql_stmtContext { let _localctx: Make_execsql_stmtContext = new Make_execsql_stmtContext(this._ctx, this.state); this.enterRule(_localctx, 1748, PostgreSQLParser.RULE_make_execsql_stmt); let _la: number; try { this.enterOuterAlt(_localctx, 1); { this.state = 11921; this.stmt(); this.state = 11923; this._errHandler.sync(this); _la = this._input.LA(1); if (_la === PostgreSQLParser.KW_INTO) { { this.state = 11922; this.opt_returning_clause_into(); } } } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } // @RuleVersion(0) public opt_returning_clause_into(): Opt_returning_clause_intoContext { let _localctx: Opt_returning_clause_intoContext = new Opt_returning_clause_intoContext(this._ctx, this.state); this.enterRule(_localctx, 1750, PostgreSQLParser.RULE_opt_returning_clause_into); try { this.enterOuterAlt(_localctx, 1); { this.state = 11925; this.match(PostgreSQLParser.KW_INTO); this.state = 11926; this.opt_strict(); this.state = 11927; this.into_target(); } } catch (re) { if (re instanceof RecognitionException) { _localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { throw re; } } finally { this.exitRule(); } return _localctx; } public sempred(_localctx: RuleContext, ruleIndex: number, predIndex: number): boolean { switch (ruleIndex) { case 627: return this.b_expr_sempred(_localctx as B_exprContext, predIndex); } return true; } private b_expr_sempred(_localctx: B_exprContext, predIndex: number): boolean { switch (predIndex) { case 0: return this.precpred(this._ctx, 8); case 1: return this.precpred(this._ctx, 7); case 2: return this.precpred(this._ctx, 6); case 3: return this.precpred(this._ctx, 5); case 4: return this.precpred(this._ctx, 4); case 5: return this.precpred(this._ctx, 10); case 6: return this.precpred(this._ctx, 2); case 7: return this.precpred(this._ctx, 1); } return true; } private static readonly _serializedATNSegments: number = 22; private static readonly _serializedATNSegment0: string = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03\u0250\u2E9C\x04" + "\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04" + "\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r" + "\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t\x12" + "\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t\x17" + "\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C\t\x1C" + "\x04\x1D\t\x1D\x04\x1E\t\x1E\x04\x1F\t\x1F\x04 \t \x04!\t!\x04\"\t\"\x04" + "#\t#\x04$\t$\x04%\t%\x04&\t&\x04\'\t\'\x04(\t(\x04)\t)\x04*\t*\x04+\t" + "+\x04,\t,\x04-\t-\x04.\t.\x04/\t/\x040\t0\x041\t1\x042\t2\x043\t3\x04" + "4\t4\x045\t5\x046\t6\x047\t7\x048\t8\x049\t9\x04:\t:\x04;\t;\x04<\t<\x04" + "=\t=\x04>\t>\x04?\t?\x04@\t@\x04A\tA\x04B\tB\x04C\tC\x04D\tD\x04E\tE\x04" + "F\tF\x04G\tG\x04H\tH\x04I\tI\x04J\tJ\x04K\tK\x04L\tL\x04M\tM\x04N\tN\x04" + "O\tO\x04P\tP\x04Q\tQ\x04R\tR\x04S\tS\x04T\tT\x04U\tU\x04V\tV\x04W\tW\x04" + "X\tX\x04Y\tY\x04Z\tZ\x04[\t[\x04\\\t\\\x04]\t]\x04^\t^\x04_\t_\x04`\t" + "`\x04a\ta\x04b\tb\x04c\tc\x04d\td\x04e\te\x04f\tf\x04g\tg\x04h\th\x04" + "i\ti\x04j\tj\x04k\tk\x04l\tl\x04m\tm\x04n\tn\x04o\to\x04p\tp\x04q\tq\x04" + "r\tr\x04s\ts\x04t\tt\x04u\tu\x04v\tv\x04w\tw\x04x\tx\x04y\ty\x04z\tz\x04" + "{\t{\x04|\t|\x04}\t}\x04~\t~\x04\x7F\t\x7F\x04\x80\t\x80\x04\x81\t\x81" + "\x04\x82\t\x82\x04\x83\t\x83\x04\x84\t\x84\x04\x85\t\x85\x04\x86\t\x86" + "\x04\x87\t\x87\x04\x88\t\x88\x04\x89\t\x89\x04\x8A\t\x8A\x04\x8B\t\x8B" + "\x04\x8C\t\x8C\x04\x8D\t\x8D\x04\x8E\t\x8E\x04\x8F\t\x8F\x04\x90\t\x90" + "\x04\x91\t\x91\x04\x92\t\x92\x04\x93\t\x93\x04\x94\t\x94\x04\x95\t\x95" + "\x04\x96\t\x96\x04\x97\t\x97\x04\x98\t\x98\x04\x99\t\x99\x04\x9A\t\x9A" + "\x04\x9B\t\x9B\x04\x9C\t\x9C\x04\x9D\t\x9D\x04\x9E\t\x9E\x04\x9F\t\x9F" + "\x04\xA0\t\xA0\x04\xA1\t\xA1\x04\xA2\t\xA2\x04\xA3\t\xA3\x04\xA4\t\xA4" + "\x04\xA5\t\xA5\x04\xA6\t\xA6\x04\xA7\t\xA7\x04\xA8\t\xA8\x04\xA9\t\xA9" + "\x04\xAA\t\xAA\x04\xAB\t\xAB\x04\xAC\t\xAC\x04\xAD\t\xAD\x04\xAE\t\xAE" + "\x04\xAF\t\xAF\x04\xB0\t\xB0\x04\xB1\t\xB1\x04\xB2\t\xB2\x04\xB3\t\xB3" + "\x04\xB4\t\xB4\x04\xB5\t\xB5\x04\xB6\t\xB6\x04\xB7\t\xB7\x04\xB8\t\xB8" + "\x04\xB9\t\xB9\x04\xBA\t\xBA\x04\xBB\t\xBB\x04\xBC\t\xBC\x04\xBD\t\xBD" + "\x04\xBE\t\xBE\x04\xBF\t\xBF\x04\xC0\t\xC0\x04\xC1\t\xC1\x04\xC2\t\xC2" + "\x04\xC3\t\xC3\x04\xC4\t\xC4\x04\xC5\t\xC5\x04\xC6\t\xC6\x04\xC7\t\xC7" + "\x04\xC8\t\xC8\x04\xC9\t\xC9\x04\xCA\t\xCA\x04\xCB\t\xCB\x04\xCC\t\xCC" + "\x04\xCD\t\xCD\x04\xCE\t\xCE\x04\xCF\t\xCF\x04\xD0\t\xD0\x04\xD1\t\xD1" + "\x04\xD2\t\xD2\x04\xD3\t\xD3\x04\xD4\t\xD4\x04\xD5\t\xD5\x04\xD6\t\xD6" + "\x04\xD7\t\xD7\x04\xD8\t\xD8\x04\xD9\t\xD9\x04\xDA\t\xDA\x04\xDB\t\xDB" + "\x04\xDC\t\xDC\x04\xDD\t\xDD\x04\xDE\t\xDE\x04\xDF\t\xDF\x04\xE0\t\xE0" + "\x04\xE1\t\xE1\x04\xE2\t\xE2\x04\xE3\t\xE3\x04\xE4\t\xE4\x04\xE5\t\xE5" + "\x04\xE6\t\xE6\x04\xE7\t\xE7\x04\xE8\t\xE8\x04\xE9\t\xE9\x04\xEA\t\xEA" + "\x04\xEB\t\xEB\x04\xEC\t\xEC\x04\xED\t\xED\x04\xEE\t\xEE\x04\xEF\t\xEF" + "\x04\xF0\t\xF0\x04\xF1\t\xF1\x04\xF2\t\xF2\x04\xF3\t\xF3\x04\xF4\t\xF4" + "\x04\xF5\t\xF5\x04\xF6\t\xF6\x04\xF7\t\xF7\x04\xF8\t\xF8\x04\xF9\t\xF9" + "\x04\xFA\t\xFA\x04\xFB\t\xFB\x04\xFC\t\xFC\x04\xFD\t\xFD\x04\xFE\t\xFE" + "\x04\xFF\t\xFF\x04\u0100\t\u0100\x04\u0101\t\u0101\x04\u0102\t\u0102\x04" + "\u0103\t\u0103\x04\u0104\t\u0104\x04\u0105\t\u0105\x04\u0106\t\u0106\x04" + "\u0107\t\u0107\x04\u0108\t\u0108\x04\u0109\t\u0109\x04\u010A\t\u010A\x04" + "\u010B\t\u010B\x04\u010C\t\u010C\x04\u010D\t\u010D\x04\u010E\t\u010E\x04" + "\u010F\t\u010F\x04\u0110\t\u0110\x04\u0111\t\u0111\x04\u0112\t\u0112\x04" + "\u0113\t\u0113\x04\u0114\t\u0114\x04\u0115\t\u0115\x04\u0116\t\u0116\x04" + "\u0117\t\u0117\x04\u0118\t\u0118\x04\u0119\t\u0119\x04\u011A\t\u011A\x04" + "\u011B\t\u011B\x04\u011C\t\u011C\x04\u011D\t\u011D\x04\u011E\t\u011E\x04" + "\u011F\t\u011F\x04\u0120\t\u0120\x04\u0121\t\u0121\x04\u0122\t\u0122\x04" + "\u0123\t\u0123\x04\u0124\t\u0124\x04\u0125\t\u0125\x04\u0126\t\u0126\x04" + "\u0127\t\u0127\x04\u0128\t\u0128\x04\u0129\t\u0129\x04\u012A\t\u012A\x04" + "\u012B\t\u012B\x04\u012C\t\u012C\x04\u012D\t\u012D\x04\u012E\t\u012E\x04" + "\u012F\t\u012F\x04\u0130\t\u0130\x04\u0131\t\u0131\x04\u0132\t\u0132\x04" + "\u0133\t\u0133\x04\u0134\t\u0134\x04\u0135\t\u0135\x04\u0136\t\u0136\x04" + "\u0137\t\u0137\x04\u0138\t\u0138\x04\u0139\t\u0139\x04\u013A\t\u013A\x04" + "\u013B\t\u013B\x04\u013C\t\u013C\x04\u013D\t\u013D\x04\u013E\t\u013E\x04" + "\u013F\t\u013F\x04\u0140\t\u0140\x04\u0141\t\u0141\x04\u0142\t\u0142\x04" + "\u0143\t\u0143\x04\u0144\t\u0144\x04\u0145\t\u0145\x04\u0146\t\u0146\x04" + "\u0147\t\u0147\x04\u0148\t\u0148\x04\u0149\t\u0149\x04\u014A\t\u014A\x04" + "\u014B\t\u014B\x04\u014C\t\u014C\x04\u014D\t\u014D\x04\u014E\t\u014E\x04" + "\u014F\t\u014F\x04\u0150\t\u0150\x04\u0151\t\u0151\x04\u0152\t\u0152\x04" + "\u0153\t\u0153\x04\u0154\t\u0154\x04\u0155\t\u0155\x04\u0156\t\u0156\x04" + "\u0157\t\u0157\x04\u0158\t\u0158\x04\u0159\t\u0159\x04\u015A\t\u015A\x04" + "\u015B\t\u015B\x04\u015C\t\u015C\x04\u015D\t\u015D\x04\u015E\t\u015E\x04" + "\u015F\t\u015F\x04\u0160\t\u0160\x04\u0161\t\u0161\x04\u0162\t\u0162\x04" + "\u0163\t\u0163\x04\u0164\t\u0164\x04\u0165\t\u0165\x04\u0166\t\u0166\x04" + "\u0167\t\u0167\x04\u0168\t\u0168\x04\u0169\t\u0169\x04\u016A\t\u016A\x04" + "\u016B\t\u016B\x04\u016C\t\u016C\x04\u016D\t\u016D\x04\u016E\t\u016E\x04" + "\u016F\t\u016F\x04\u0170\t\u0170\x04\u0171\t\u0171\x04\u0172\t\u0172\x04" + "\u0173\t\u0173\x04\u0174\t\u0174\x04\u0175\t\u0175\x04\u0176\t\u0176\x04" + "\u0177\t\u0177\x04\u0178\t\u0178\x04\u0179\t\u0179\x04\u017A\t\u017A\x04" + "\u017B\t\u017B\x04\u017C\t\u017C\x04\u017D\t\u017D\x04\u017E\t\u017E\x04" + "\u017F\t\u017F\x04\u0180\t\u0180\x04\u0181\t\u0181\x04\u0182\t\u0182\x04" + "\u0183\t\u0183\x04\u0184\t\u0184\x04\u0185\t\u0185\x04\u0186\t\u0186\x04" + "\u0187\t\u0187\x04\u0188\t\u0188\x04\u0189\t\u0189\x04\u018A\t\u018A\x04" + "\u018B\t\u018B\x04\u018C\t\u018C\x04\u018D\t\u018D\x04\u018E\t\u018E\x04" + "\u018F\t\u018F\x04\u0190\t\u0190\x04\u0191\t\u0191\x04\u0192\t\u0192\x04" + "\u0193\t\u0193\x04\u0194\t\u0194\x04\u0195\t\u0195\x04\u0196\t\u0196\x04" + "\u0197\t\u0197\x04\u0198\t\u0198\x04\u0199\t\u0199\x04\u019A\t\u019A\x04" + "\u019B\t\u019B\x04\u019C\t\u019C\x04\u019D\t\u019D\x04\u019E\t\u019E\x04" + "\u019F\t\u019F\x04\u01A0\t\u01A0\x04\u01A1\t\u01A1\x04\u01A2\t\u01A2\x04" + "\u01A3\t\u01A3\x04\u01A4\t\u01A4\x04\u01A5\t\u01A5\x04\u01A6\t\u01A6\x04" + "\u01A7\t\u01A7\x04\u01A8\t\u01A8\x04\u01A9\t\u01A9\x04\u01AA\t\u01AA\x04" + "\u01AB\t\u01AB\x04\u01AC\t\u01AC\x04\u01AD\t\u01AD\x04\u01AE\t\u01AE\x04" + "\u01AF\t\u01AF\x04\u01B0\t\u01B0\x04\u01B1\t\u01B1\x04\u01B2\t\u01B2\x04" + "\u01B3\t\u01B3\x04\u01B4\t\u01B4\x04\u01B5\t\u01B5\x04\u01B6\t\u01B6\x04" + "\u01B7\t\u01B7\x04\u01B8\t\u01B8\x04\u01B9\t\u01B9\x04\u01BA\t\u01BA\x04" + "\u01BB\t\u01BB\x04\u01BC\t\u01BC\x04\u01BD\t\u01BD\x04\u01BE\t\u01BE\x04" + "\u01BF\t\u01BF\x04\u01C0\t\u01C0\x04\u01C1\t\u01C1\x04\u01C2\t\u01C2\x04" + "\u01C3\t\u01C3\x04\u01C4\t\u01C4\x04\u01C5\t\u01C5\x04\u01C6\t\u01C6\x04" + "\u01C7\t\u01C7\x04\u01C8\t\u01C8\x04\u01C9\t\u01C9\x04\u01CA\t\u01CA\x04" + "\u01CB\t\u01CB\x04\u01CC\t\u01CC\x04\u01CD\t\u01CD\x04\u01CE\t\u01CE\x04" + "\u01CF\t\u01CF\x04\u01D0\t\u01D0\x04\u01D1\t\u01D1\x04\u01D2\t\u01D2\x04" + "\u01D3\t\u01D3\x04\u01D4\t\u01D4\x04\u01D5\t\u01D5\x04\u01D6\t\u01D6\x04" + "\u01D7\t\u01D7\x04\u01D8\t\u01D8\x04\u01D9\t\u01D9\x04\u01DA\t\u01DA\x04" + "\u01DB\t\u01DB\x04\u01DC\t\u01DC\x04\u01DD\t\u01DD\x04\u01DE\t\u01DE\x04" + "\u01DF\t\u01DF\x04\u01E0\t\u01E0\x04\u01E1\t\u01E1\x04\u01E2\t\u01E2\x04" + "\u01E3\t\u01E3\x04\u01E4\t\u01E4\x04\u01E5\t\u01E5\x04\u01E6\t\u01E6\x04" + "\u01E7\t\u01E7\x04\u01E8\t\u01E8\x04\u01E9\t\u01E9\x04\u01EA\t\u01EA\x04" + "\u01EB\t\u01EB\x04\u01EC\t\u01EC\x04\u01ED\t\u01ED\x04\u01EE\t\u01EE\x04" + "\u01EF\t\u01EF\x04\u01F0\t\u01F0\x04\u01F1\t\u01F1\x04\u01F2\t\u01F2\x04" + "\u01F3\t\u01F3\x04\u01F4\t\u01F4\x04\u01F5\t\u01F5\x04\u01F6\t\u01F6\x04" + "\u01F7\t\u01F7\x04\u01F8\t\u01F8\x04\u01F9\t\u01F9\x04\u01FA\t\u01FA\x04" + "\u01FB\t\u01FB\x04\u01FC\t\u01FC\x04\u01FD\t\u01FD\x04\u01FE\t\u01FE\x04" + "\u01FF\t\u01FF\x04\u0200\t\u0200\x04\u0201\t\u0201\x04\u0202\t\u0202\x04" + "\u0203\t\u0203\x04\u0204\t\u0204\x04\u0205\t\u0205\x04\u0206\t\u0206\x04" + "\u0207\t\u0207\x04\u0208\t\u0208\x04\u0209\t\u0209\x04\u020A\t\u020A\x04" + "\u020B\t\u020B\x04\u020C\t\u020C\x04\u020D\t\u020D\x04\u020E\t\u020E\x04" + "\u020F\t\u020F\x04\u0210\t\u0210\x04\u0211\t\u0211\x04\u0212\t\u0212\x04" + "\u0213\t\u0213\x04\u0214\t\u0214\x04\u0215\t\u0215\x04\u0216\t\u0216\x04" + "\u0217\t\u0217\x04\u0218\t\u0218\x04\u0219\t\u0219\x04\u021A\t\u021A\x04" + "\u021B\t\u021B\x04\u021C\t\u021C\x04\u021D\t\u021D\x04\u021E\t\u021E\x04" + "\u021F\t\u021F\x04\u0220\t\u0220\x04\u0221\t\u0221\x04\u0222\t\u0222\x04" + "\u0223\t\u0223\x04\u0224\t\u0224\x04\u0225\t\u0225\x04\u0226\t\u0226\x04" + "\u0227\t\u0227\x04\u0228\t\u0228\x04\u0229\t\u0229\x04\u022A\t\u022A\x04" + "\u022B\t\u022B\x04\u022C\t\u022C\x04\u022D\t\u022D\x04\u022E\t\u022E\x04" + "\u022F\t\u022F\x04\u0230\t\u0230\x04\u0231\t\u0231\x04\u0232\t\u0232\x04" + "\u0233\t\u0233\x04\u0234\t\u0234\x04\u0235\t\u0235\x04\u0236\t\u0236\x04" + "\u0237\t\u0237\x04\u0238\t\u0238\x04\u0239\t\u0239\x04\u023A\t\u023A\x04" + "\u023B\t\u023B\x04\u023C\t\u023C\x04\u023D\t\u023D\x04\u023E\t\u023E\x04" + "\u023F\t\u023F\x04\u0240\t\u0240\x04\u0241\t\u0241\x04\u0242\t\u0242\x04" + "\u0243\t\u0243\x04\u0244\t\u0244\x04\u0245\t\u0245\x04\u0246\t\u0246\x04" + "\u0247\t\u0247\x04\u0248\t\u0248\x04\u0249\t\u0249\x04\u024A\t\u024A\x04" + "\u024B\t\u024B\x04\u024C\t\u024C\x04\u024D\t\u024D\x04\u024E\t\u024E\x04" + "\u024F\t\u024F\x04\u0250\t\u0250\x04\u0251\t\u0251\x04\u0252\t\u0252\x04" + "\u0253\t\u0253\x04\u0254\t\u0254\x04\u0255\t\u0255\x04\u0256\t\u0256\x04" + "\u0257\t\u0257\x04\u0258\t\u0258\x04\u0259\t\u0259\x04\u025A\t\u025A\x04" + "\u025B\t\u025B\x04\u025C\t\u025C\x04\u025D\t\u025D\x04\u025E\t\u025E\x04" + "\u025F\t\u025F\x04\u0260\t\u0260\x04\u0261\t\u0261\x04\u0262\t\u0262\x04" + "\u0263\t\u0263\x04\u0264\t\u0264\x04\u0265\t\u0265\x04\u0266\t\u0266\x04" + "\u0267\t\u0267\x04\u0268\t\u0268\x04\u0269\t\u0269\x04\u026A\t\u026A\x04" + "\u026B\t\u026B\x04\u026C\t\u026C\x04\u026D\t\u026D\x04\u026E\t\u026E\x04" + "\u026F\t\u026F\x04\u0270\t\u0270\x04\u0271\t\u0271\x04\u0272\t\u0272\x04" + "\u0273\t\u0273\x04\u0274\t\u0274\x04\u0275\t\u0275\x04\u0276\t\u0276\x04" + "\u0277\t\u0277\x04\u0278\t\u0278\x04\u0279\t\u0279\x04\u027A\t\u027A\x04" + "\u027B\t\u027B\x04\u027C\t\u027C\x04\u027D\t\u027D\x04\u027E\t\u027E\x04" + "\u027F\t\u027F\x04\u0280\t\u0280\x04\u0281\t\u0281\x04\u0282\t\u0282\x04" + "\u0283\t\u0283\x04\u0284\t\u0284\x04\u0285\t\u0285\x04\u0286\t\u0286\x04" + "\u0287\t\u0287\x04\u0288\t\u0288\x04\u0289\t\u0289\x04\u028A\t\u028A\x04" + "\u028B\t\u028B\x04\u028C\t\u028C\x04\u028D\t\u028D\x04\u028E\t\u028E\x04" + "\u028F\t\u028F\x04\u0290\t\u0290\x04\u0291\t\u0291\x04\u0292\t\u0292\x04" + "\u0293\t\u0293\x04\u0294\t\u0294\x04\u0295\t\u0295\x04\u0296\t\u0296\x04" + "\u0297\t\u0297\x04\u0298\t\u0298\x04\u0299\t\u0299\x04\u029A\t\u029A\x04" + "\u029B\t\u029B\x04\u029C\t\u029C\x04\u029D\t\u029D\x04\u029E\t\u029E\x04" + "\u029F\t\u029F\x04\u02A0\t\u02A0\x04\u02A1\t\u02A1\x04\u02A2\t\u02A2\x04" + "\u02A3\t\u02A3\x04\u02A4\t\u02A4\x04\u02A5\t\u02A5\x04\u02A6\t\u02A6\x04" + "\u02A7\t\u02A7\x04\u02A8\t\u02A8\x04\u02A9\t\u02A9\x04\u02AA\t\u02AA\x04" + "\u02AB\t\u02AB\x04\u02AC\t\u02AC\x04\u02AD\t\u02AD\x04\u02AE\t\u02AE\x04" + "\u02AF\t\u02AF\x04\u02B0\t\u02B0\x04\u02B1\t\u02B1\x04\u02B2\t\u02B2\x04" + "\u02B3\t\u02B3\x04\u02B4\t\u02B4\x04\u02B5\t\u02B5\x04\u02B6\t\u02B6\x04" + "\u02B7\t\u02B7\x04\u02B8\t\u02B8\x04\u02B9\t\u02B9\x04\u02BA\t\u02BA\x04" + "\u02BB\t\u02BB\x04\u02BC\t\u02BC\x04\u02BD\t\u02BD\x04\u02BE\t\u02BE\x04" + "\u02BF\t\u02BF\x04\u02C0\t\u02C0\x04\u02C1\t\u02C1\x04\u02C2\t\u02C2\x04" + "\u02C3\t\u02C3\x04\u02C4\t\u02C4\x04\u02C5\t\u02C5\x04\u02C6\t\u02C6\x04" + "\u02C7\t\u02C7\x04\u02C8\t\u02C8\x04\u02C9\t\u02C9\x04\u02CA\t\u02CA\x04" + "\u02CB\t\u02CB\x04\u02CC\t\u02CC\x04\u02CD\t\u02CD\x04\u02CE\t\u02CE\x04" + "\u02CF\t\u02CF\x04\u02D0\t\u02D0\x04\u02D1\t\u02D1\x04\u02D2\t\u02D2\x04" + "\u02D3\t\u02D3\x04\u02D4\t\u02D4\x04\u02D5\t\u02D5\x04\u02D6\t\u02D6\x04" + "\u02D7\t\u02D7\x04\u02D8\t\u02D8\x04\u02D9\t\u02D9\x04\u02DA\t\u02DA\x04" + "\u02DB\t\u02DB\x04\u02DC\t\u02DC\x04\u02DD\t\u02DD\x04\u02DE\t\u02DE\x04" + "\u02DF\t\u02DF\x04\u02E0\t\u02E0\x04\u02E1\t\u02E1\x04\u02E2\t\u02E2\x04" + "\u02E3\t\u02E3\x04\u02E4\t\u02E4\x04\u02E5\t\u02E5\x04\u02E6\t\u02E6\x04" + "\u02E7\t\u02E7\x04\u02E8\t\u02E8\x04\u02E9\t\u02E9\x04\u02EA\t\u02EA\x04" + "\u02EB\t\u02EB\x04\u02EC\t\u02EC\x04\u02ED\t\u02ED\x04\u02EE\t\u02EE\x04" + "\u02EF\t\u02EF\x04\u02F0\t\u02F0\x04\u02F1\t\u02F1\x04\u02F2\t\u02F2\x04" + "\u02F3\t\u02F3\x04\u02F4\t\u02F4\x04\u02F5\t\u02F5\x04\u02F6\t\u02F6\x04" + "\u02F7\t\u02F7\x04\u02F8\t\u02F8\x04\u02F9\t\u02F9\x04\u02FA\t\u02FA\x04" + "\u02FB\t\u02FB\x04\u02FC\t\u02FC\x04\u02FD\t\u02FD\x04\u02FE\t\u02FE\x04" + "\u02FF\t\u02FF\x04\u0300\t\u0300\x04\u0301\t\u0301\x04\u0302\t\u0302\x04" + "\u0303\t\u0303\x04\u0304\t\u0304\x04\u0305\t\u0305\x04\u0306\t\u0306\x04" + "\u0307\t\u0307\x04\u0308\t\u0308\x04\u0309\t\u0309\x04\u030A\t\u030A\x04" + "\u030B\t\u030B\x04\u030C\t\u030C\x04\u030D\t\u030D\x04\u030E\t\u030E\x04" + "\u030F\t\u030F\x04\u0310\t\u0310\x04\u0311\t\u0311\x04\u0312\t\u0312\x04" + "\u0313\t\u0313\x04\u0314\t\u0314\x04\u0315\t\u0315\x04\u0316\t\u0316\x04" + "\u0317\t\u0317\x04\u0318\t\u0318\x04\u0319\t\u0319\x04\u031A\t\u031A\x04" + "\u031B\t\u031B\x04\u031C\t\u031C\x04\u031D\t\u031D\x04\u031E\t\u031E\x04" + "\u031F\t\u031F\x04\u0320\t\u0320\x04\u0321\t\u0321\x04\u0322\t\u0322\x04" + "\u0323\t\u0323\x04\u0324\t\u0324\x04\u0325\t\u0325\x04\u0326\t\u0326\x04" + "\u0327\t\u0327\x04\u0328\t\u0328\x04\u0329\t\u0329\x04\u032A\t\u032A\x04" + "\u032B\t\u032B\x04\u032C\t\u032C\x04\u032D\t\u032D\x04\u032E\t\u032E\x04" + "\u032F\t\u032F\x04\u0330\t\u0330\x04\u0331\t\u0331\x04\u0332\t\u0332\x04" + "\u0333\t\u0333\x04\u0334\t\u0334\x04\u0335\t\u0335\x04\u0336\t\u0336\x04" + "\u0337\t\u0337\x04\u0338\t\u0338\x04\u0339\t\u0339\x04\u033A\t\u033A\x04" + "\u033B\t\u033B\x04\u033C\t\u033C\x04\u033D\t\u033D\x04\u033E\t\u033E\x04" + "\u033F\t\u033F\x04\u0340\t\u0340\x04\u0341\t\u0341\x04\u0342\t\u0342\x04" + "\u0343\t\u0343\x04\u0344\t\u0344\x04\u0345\t\u0345\x04\u0346\t\u0346\x04" + "\u0347\t\u0347\x04\u0348\t\u0348\x04\u0349\t\u0349\x04\u034A\t\u034A\x04" + "\u034B\t\u034B\x04\u034C\t\u034C\x04\u034D\t\u034D\x04\u034E\t\u034E\x04" + "\u034F\t\u034F\x04\u0350\t\u0350\x04\u0351\t\u0351\x04\u0352\t\u0352\x04" + "\u0353\t\u0353\x04\u0354\t\u0354\x04\u0355\t\u0355\x04\u0356\t\u0356\x04" + "\u0357\t\u0357\x04\u0358\t\u0358\x04\u0359\t\u0359\x04\u035A\t\u035A\x04" + "\u035B\t\u035B\x04\u035C\t\u035C\x04\u035D\t\u035D\x04\u035E\t\u035E\x04" + "\u035F\t\u035F\x04\u0360\t\u0360\x04\u0361\t\u0361\x04\u0362\t\u0362\x04" + "\u0363\t\u0363\x04\u0364\t\u0364\x04\u0365\t\u0365\x04\u0366\t\u0366\x04" + "\u0367\t\u0367\x04\u0368\t\u0368\x04\u0369\t\u0369\x04\u036A\t\u036A\x04" + "\u036B\t\u036B\x04\u036C\t\u036C\x04\u036D\t\u036D\x03\x02\x07\x02\u06DC" + "\n\x02\f\x02\x0E\x02\u06DF\v\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x04" + "\x03\x04\x05\x04\u06E7\n\x04\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + "\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03" + "\x05\x03\x05\x03\x05\x03\x05\x05\x05\u075E\n\x05\x03\x06\x03\x06\x05\x06" + "\u0762\n\x06\x03\x07\x03\x07\x03\x07\x03\b\x03\b\x03\b\x03\b\x05\b\u076B" + "\n\b\x03\b\x03\b\x03\t\x03\t\x03\n\x07\n\u0772\n\n\f\n\x0E\n\u0775\v\n" + "\x03\v\x07\v\u0778\n\v\f\v\x0E\v\u077B\v\v\x03\f\x03\f\x03\f\x05\f\u0780" + "\n\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f" + "\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03" + "\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x05\f\u07A0\n\f\x03\r\x03" + "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x05\r\u07AC\n\r\x03" + "\x0E\x03\x0E\x03\x0E\x03\x0E\x05\x0E\u07B2\n\x0E\x03\x0E\x03\x0E\x03\x0F" + "\x03\x0F\x03\x0F\x03\x0F\x05\x0F\u07BA\n\x0F\x03\x0F\x03\x0F\x03\x10\x03" + "\x10\x03\x10\x03\x10\x05\x10\u07C2\n\x10\x03\x11\x03\x11\x03\x11\x03\x11" + "\x05\x11\u07C8\n\x11\x03\x11\x03\x11\x03\x11\x03\x12\x03\x12\x03\x12\x03" + "\x12\x05\x12\u07D1\n\x12\x03\x12\x03\x12\x03\x13\x03\x13\x05\x13\u07D7" + "\n\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13" + "\x03\x13\x03\x13\x05\x13\u07E3\n\x13\x03\x13\x03\x13\x03\x13\x03\x13\x05" + "\x13\u07E9\n\x13\x03\x14\x03\x14\x07\x14\u07ED\n\x14\f\x14\x0E\x14\u07F0" + "\v\x14\x03\x15\x03\x15\x03\x15\x03\x15\x05\x15\u07F6\n\x15\x03\x15\x03" + "\x15\x05\x15\u07FA\n\x15\x03\x15\x03\x15\x03\x15\x05\x15\u07FF\n\x15\x03" + "\x15\x03\x15\x05\x15\u0803\n\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15" + "\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x05\x15\u0810\n\x15\x03" + "\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x05" + "\x15\u081B\n\x15\x03\x16\x03\x16\x03\x16\x03\x16\x05\x16\u0821\n\x16\x03" + "\x16\x03\x16\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03" + "\x18\x03\x18\x03\x19\x03\x19\x03\x19\x05\x19\u0831\n\x19\x03\x19\x05\x19" + "\u0834\n\x19\x03\x19\x03\x19\x03\x19\x05\x19\u0839\n\x19\x03\x19\x03\x19" + "\x03\x1A\x03\x1A\x05\x1A\u083F\n\x1A\x03\x1B\x07\x1B\u0842\n\x1B\f\x1B" + "\x0E\x1B\u0845\v\x1B\x03\x1C\x03\x1C\x03\x1C\x03\x1C\x03\x1C\x03\x1C\x05" + "\x1C\u084D\n\x1C\x03\x1D\x03\x1D\x05\x1D\u0851\n\x1D\x03\x1D\x03\x1D\x03" + "\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x03\x1E\x05\x1E\u085D" + "\n\x1E\x03\x1F\x03\x1F\x05\x1F\u0861\n\x1F\x03\x1F\x05\x1F\u0864\n\x1F" + "\x03\x1F\x03\x1F\x05\x1F\u0868\n\x1F\x03 \x03 \x03 \x03 \x03 \x03 \x03" + " \x03 \x03 \x03 \x03 \x03 \x03 \x03 \x05 \u0878\n \x03 \x03 \x03 \x03" + " \x03 \x03 \x03 \x03 \x03 \x03 \x03 \x05 \u0885\n \x03!\x03!\x03!\x07" + "!\u088A\n!\f!\x0E!\u088D\v!\x03\"\x03\"\x03\"\x07\"\u0892\n\"\f\"\x0E" + "\"\u0895\v\"\x03#\x03#\x05#\u0899\n#\x03$\x03$\x03$\x03$\x03$\x05$\u08A0" + "\n$\x03%\x03%\x03%\x03%\x05%\u08A6\n%\x03&\x03&\x03&\x03&\x05&\u08AC\n" + "&\x03\'\x03\'\x03\'\x03\'\x03\'\x05\'\u08B3\n\'\x03\'\x03\'\x03\'\x03" + "\'\x03\'\x03\'\x03\'\x03\'\x03\'\x05\'\u08BE\n\'\x03(\x03(\x05(\u08C2" + "\n(\x03)\x03)\x05)\u08C6\n)\x03*\x03*\x05*\u08CA\n*\x03+\x03+\x03+\x03" + ",\x03,\x03,\x03,\x03,\x03,\x03,\x03,\x05,\u08D7\n,\x03-\x03-\x05-\u08DB" + "\n-\x03.\x03.\x03.\x05.\u08E0\n.\x03/\x03/\x03/\x05/\u08E5\n/\x030\x03" + "0\x030\x030\x030\x030\x030\x030\x030\x030\x050\u08F1\n0\x031\x031\x03" + "1\x031\x031\x032\x032\x052\u08FA\n2\x033\x033\x034\x034\x035\x035\x03" + "5\x036\x036\x036\x056\u0906\n6\x036\x036\x036\x056\u090B\n6\x036\x036" + "\x036\x036\x036\x036\x036\x036\x036\x056\u0916\n6\x036\x036\x036\x036" + "\x056\u091C\n6\x036\x036\x036\x056\u0921\n6\x036\x036\x036\x036\x036\x03" + "6\x036\x036\x056\u092B\n6\x036\x036\x036\x056\u0930\n6\x036\x036\x036" + "\x036\x036\x056\u0937\n6\x036\x036\x036\x056\u093C\n6\x036\x036\x036\x05" + "6\u0941\n6\x036\x036\x036\x036\x036\x036\x036\x036\x036\x056\u094C\n6" + "\x036\x036\x036\x036\x056\u0952\n6\x036\x036\x036\x056\u0957\n6\x036\x03" + "6\x036\x036\x036\x036\x056\u095F\n6\x036\x036\x036\x036\x036\x036\x03" + "6\x056\u0968\n6\x036\x036\x036\x036\x036\x036\x036\x036\x036\x036\x03" + "6\x036\x036\x056\u0977\n6\x036\x036\x036\x036\x056\u097D\n6\x036\x036" + "\x036\x036\x056\u0983\n6\x036\x036\x036\x056\u0988\n6\x037\x037\x037\x07" + "7\u098D\n7\f7\x0E7\u0990\v7\x038\x038\x038\x038\x038"; private static readonly _serializedATNSegment1: string = "\x038\x038\x038\x038\x058\u099B\n8\x039\x039\x039\x039\x079\u09A1\n9\f" + "9\x0E9\u09A4\v9\x039\x039\x03:\x03:\x03:\x05:\u09AB\n:\x03;\x03;\x03;" + "\x03;\x03;\x03;\x03;\x03;\x03<\x03<\x03<\x03<\x03<\x03<\x03<\x03<\x05" + "<\u09BD\n<\x03=\x03=\x03=\x03=\x03>\x03>\x05>\u09C5\n>\x03>\x05>\u09C8" + "\n>\x03>\x03>\x03>\x05>\u09CD\n>\x03>\x03>\x03>\x03>\x03>\x05>\u09D4\n" + ">\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x05>\u09DD\n>\x03>\x03>\x03>\x03" + ">\x03>\x03>\x03>\x05>\u09E6\n>\x03>\x03>\x03>\x03>\x05>\u09EC\n>\x03>" + "\x03>\x05>\u09F0\n>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x05>\u09F9\n>\x03" + ">\x03>\x03>\x03>\x03>\x03>\x03>\x05>\u0A02\n>\x03>\x03>\x03>\x03>\x03" + ">\x03>\x05>\u0A0A\n>\x03>\x03>\x03>\x03>\x03>\x03>\x05>\u0A12\n>\x03>" + "\x03>\x03>\x03>\x03>\x03>\x03>\x05>\u0A1B\n>\x03>\x03>\x03>\x03>\x03>" + "\x03>\x03>\x05>\u0A24\n>\x03>\x03>\x05>\u0A28\n>\x03>\x03>\x03>\x03>\x03" + ">\x05>\u0A2F\n>\x03>\x03>\x03>\x03>\x05>\u0A35\n>\x03>\x03>\x05>\u0A39" + "\n>\x03>\x05>\u0A3C\n>\x03>\x03>\x05>\u0A40\n>\x03>\x03>\x05>\u0A44\n" + ">\x03>\x03>\x05>\u0A48\n>\x03>\x03>\x03>\x05>\u0A4D\n>\x03>\x05>\u0A50" + "\n>\x03>\x03>\x05>\u0A54\n>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03" + ">\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x05>\u0A66\n>\x03>\x03>\x05>\u0A6A" + "\n>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03" + ">\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03" + ">\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03" + ">\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03" + ">\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03" + ">\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03" + ">\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x03>\x05>\u0AC9\n>\x03?\x03" + "?\x03?\x03?\x03?\x05?\u0AD0\n?\x03@\x03@\x03A\x03A\x03A\x03B\x03B\x03" + "B\x03C\x03C\x03C\x03C\x03C\x03C\x05C\u0AE0\nC\x03D\x03D\x03D\x03D\x03" + "E\x03E\x03E\x03F\x03F\x03F\x07F\u0AEC\nF\fF\x0EF\u0AEF\vF\x03G\x03G\x03" + "G\x03G\x03G\x03G\x03G\x05G\u0AF8\nG\x05G\u0AFA\nG\x03H\x06H\u0AFD\nH\r" + "H\x0EH\u0AFE\x03I\x03I\x05I\u0B03\nI\x03I\x05I\u0B06\nI\x03I\x03I\x03" + "I\x03I\x05I\u0B0C\nI\x05I\u0B0E\nI\x03J\x03J\x03J\x03J\x03J\x03J\x03J" + "\x03J\x03J\x03J\x03J\x03J\x03J\x03J\x03J\x03J\x03J\x03J\x03J\x03J\x03" + "J\x03J\x03J\x03J\x03J\x03J\x05J\u0B2A\nJ\x03K\x03K\x03K\x03L\x03L\x03" + "L\x07L\u0B32\nL\fL\x0EL\u0B35\vL\x03M\x03M\x03M\x03M\x03M\x03N\x03N\x03" + "N\x07N\u0B3F\nN\fN\x0EN\u0B42\vN\x03O\x03O\x03O\x03O\x05O\u0B48\nO\x03" + "O\x03O\x03O\x05O\u0B4D\nO\x03O\x03O\x05O\u0B51\nO\x03O\x03O\x03O\x03O" + "\x05O\u0B57\nO\x03O\x03O\x03O\x05O\u0B5C\nO\x03O\x05O\u0B5F\nO\x05O\u0B61" + "\nO\x03P\x03P\x03P\x05P\u0B66\nP\x03Q\x03Q\x05Q\u0B6A\nQ\x03Q\x03Q\x05" + "Q\u0B6E\nQ\x03Q\x03Q\x05Q\u0B72\nQ\x03Q\x03Q\x05Q\u0B76\nQ\x03Q\x05Q\u0B79" + "\nQ\x03Q\x03Q\x05Q\u0B7D\nQ\x03Q\x03Q\x03Q\x03Q\x03Q\x03Q\x05Q\u0B85\n" + "Q\x03Q\x03Q\x05Q\u0B89\nQ\x03Q\x03Q\x05Q\u0B8D\nQ\x03R\x03R\x03S\x03S" + "\x03T\x03T\x03T\x05T\u0B96\nT\x03U\x03U\x03U\x03U\x03U\x05U\u0B9D\nU\x03" + "V\x07V\u0BA0\nV\fV\x0EV\u0BA3\vV\x03W\x03W\x03W\x03W\x05W\u0BA9\nW\x03" + "W\x03W\x03W\x05W\u0BAE\nW\x03W\x03W\x03W\x03W\x03W\x05W\u0BB5\nW\x03W" + "\x03W\x03W\x05W\u0BBA\nW\x03W\x03W\x03W\x03W\x03W\x03W\x03W\x03W\x03W" + "\x03W\x03W\x03W\x03W\x03W\x03W\x03W\x05W\u0BCC\nW\x03X\x03X\x03Y\x05Y" + "\u0BD1\nY\x03Y\x03Y\x03Y\x03Z\x03Z\x03[\x03[\x03[\x07[\u0BDB\n[\f[\x0E" + "[\u0BDE\v[\x03\\\x03\\\x05\\\u0BE2\n\\\x03]\x03]\x03]\x03]\x03]\x03]\x03" + "]\x05]\u0BEB\n]\x03^\x03^\x03^\x07^\u0BF0\n^\f^\x0E^\u0BF3\v^\x03_\x03" + "_\x03`\x03`\x05`\u0BF9\n`\x03`\x03`\x05`\u0BFD\n`\x03`\x03`\x03`\x05`" + "\u0C02\n`\x03`\x03`\x05`\u0C06\n`\x03`\x05`\u0C09\n`\x03`\x05`\u0C0C\n" + "`\x03`\x05`\u0C0F\n`\x03`\x05`\u0C12\n`\x03`\x05`\u0C15\n`\x03`\x03`\x03" + "`\x05`\u0C1A\n`\x03`\x05`\u0C1D\n`\x03`\x05`\u0C20\n`\x03`\x05`\u0C23" + "\n`\x03`\x05`\u0C26\n`\x03`\x05`\u0C29\n`\x03`\x03`\x03`\x03`\x05`\u0C2F" + "\n`\x03`\x03`\x05`\u0C33\n`\x03`\x05`\u0C36\n`\x03`\x05`\u0C39\n`\x03" + "`\x05`\u0C3C\n`\x03`\x05`\u0C3F\n`\x05`\u0C41\n`\x03a\x03a\x03a\x03a\x03" + "a\x03a\x03a\x05a\u0C4A\na\x03b\x03b\x03c\x03c\x03d\x03d\x03d\x03d\x03" + "e\x03e\x03e\x07e\u0C57\ne\fe\x0Ee\u0C5A\ve\x03f\x03f\x03f\x07f\u0C5F\n" + "f\ff\x0Ef\u0C62\vf\x03g\x03g\x03g\x05g\u0C67\ng\x03h\x03h\x05h\u0C6B\n" + "h\x03i\x03i\x03i\x05i\u0C70\ni\x03i\x05i\u0C73\ni\x03i\x05i\u0C76\ni\x03" + "i\x03i\x05i\u0C7A\ni\x03i\x03i\x05i\u0C7E\ni\x03i\x03i\x03j\x03j\x03j" + "\x05j\u0C85\nj\x03j\x05j\u0C88\nj\x03j\x05j\u0C8B\nj\x03j\x03j\x05j\u0C8F" + "\nj\x03j\x03j\x05j\u0C93\nj\x03j\x03j\x03k\x03k\x03k\x03l\x03l\x03l\x03" + "l\x03l\x03l\x03l\x05l\u0CA1\nl\x03m\x03m\x03m\x05m\u0CA6\nm\x03m\x03m" + "\x03n\x07n\u0CAB\nn\fn\x0En\u0CAE\vn\x03o\x03o\x05o\u0CB2\no\x03o\x03" + "o\x05o\u0CB6\no\x03o\x05o\u0CB9\no\x03o\x03o\x05o\u0CBD\no\x03o\x05o\u0CC0" + "\no\x05o\u0CC2\no\x03p\x03p\x03p\x03p\x03p\x05p\u0CC9\np\x03p\x05p\u0CCC" + "\np\x03p\x03p\x05p\u0CD0\np\x03p\x03p\x03p\x03p\x05p\u0CD6\np\x03p\x05" + "p\u0CD9\np\x03p\x03p\x03p\x03p\x03p\x05p\u0CE0\np\x03p\x03p\x03p\x03p" + "\x03p\x03p\x03p\x05p\u0CE9\np\x03p\x03p\x03p\x03p\x03p\x05p\u0CF0\np\x03" + "p\x03p\x03p\x05p\u0CF5\np\x03p\x05p\u0CF8\np\x03p\x05p\u0CFB\np\x03p\x05" + "p\u0CFE\np\x03q\x03q\x05q\u0D02\nq\x03q\x03q\x03r\x03r\x03r\x05r\u0D09" + "\nr\x03s\x03s\x03s\x05s\u0D0E\ns\x03t\x03t\x03t\x03u\x03u\x03u\x03u\x03" + "v\x03v\x07v\u0D19\nv\fv\x0Ev\u0D1C\vv\x03w\x03w\x03x\x03x\x03x\x03x\x03" + "x\x05x\u0D25\nx\x03y\x03y\x03y\x03y\x03y\x03y\x03y\x03y\x03y\x03y\x03" + "y\x05y\u0D32\ny\x03y\x05y\u0D35\ny\x03y\x05y\u0D38\ny\x03y\x03y\x03y\x03" + "y\x03y\x05y\u0D3F\ny\x03y\x03y\x03y\x03y\x03y\x03y\x05y\u0D47\ny\x03y" + "\x05y\u0D4A\ny\x03y\x05y\u0D4D\ny\x03y\x03y\x03y\x03y\x03y\x05y\u0D54" + "\ny\x03y\x03y\x05y\u0D58\ny\x03y\x03y\x03y\x03y\x05y\u0D5E\ny\x03y\x05" + "y\u0D61\ny\x03y\x05y\u0D64\ny\x03y\x05y\u0D67\ny\x03y\x03y\x03y\x03y\x03" + "y\x03y\x03y\x03y\x03y\x03y\x05y\u0D73\ny\x03y\x05y\u0D76\ny\x03y\x05y" + "\u0D79\ny\x03y\x03y\x05y\u0D7D\ny\x03z\x03z\x03z\x03{\x03{\x03{\x03{\x03" + "|\x03|\x03|\x07|\u0D89\n|\f|\x0E|\u0D8C\v|\x03}\x03}\x03}\x03}\x03}\x03" + "~\x03~\x03~\x03\x7F\x03\x7F\x03\x7F\x07\x7F\u0D99\n\x7F\f\x7F\x0E\x7F" + "\u0D9C\v\x7F\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03\x80\x03" + "\x80\x05\x80\u0DA6\n\x80\x03\x81\x03\x81\x03\x81\x03\x81\x03\x81\x03\x82" + "\x03\x82\x03\x82\x03\x82\x03\x82\x03\x82\x03\x82\x03\x82\x05\x82\u0DB5" + "\n\x82\x03\x83\x03\x83\x03\x83\x03\x83\x03\x84\x03\x84\x03\x84\x03\x84" + "\x03\x85\x03\x85\x03\x85\x03\x85\x03\x85\x03\x85\x03\x85\x05\x85\u0DC6" + "\n\x85\x05\x85\u0DC8\n\x85\x03\x86\x03\x86\x03\x86\x03\x86\x03\x86\x03" + "\x87\x03\x87\x03\x88\x03\x88\x03\x88\x03\x88\x03\x88\x03\x88\x03\x88\x03" + "\x89\x03\x89\x03\x89\x07\x89\u0DDB\n\x89\f\x89\x0E\x89\u0DDE\v\x89\x03" + "\x8A\x03\x8A\x05\x8A\u0DE2\n\x8A\x03\x8A\x05\x8A\u0DE5\n\x8A\x03\x8A\x03" + "\x8A\x05\x8A\u0DE9\n\x8A\x03\x8A\x05\x8A\u0DEC\n\x8A\x03\x8A\x03\x8A\x03" + "\x8A\x03\x8A\x05\x8A\u0DF2\n\x8A\x03\x8A\x05\x8A\u0DF5\n\x8A\x05\x8A\u0DF7" + "\n\x8A\x03\x8B\x03\x8B\x03\x8B\x03\x8C\x03\x8C\x03\x8C\x03\x8C\x03\x8C" + "\x03\x8C\x05\x8C\u0E02\n\x8C\x03\x8D\x03\x8D\x03\x8D\x03\x8D\x03\x8D\x03" + "\x8D\x03\x8D\x05\x8D\u0E0B\n\x8D\x03\x8E\x03\x8E\x03\x8E\x03\x8F\x05\x8F" + "\u0E11\n\x8F\x03\x8F\x05\x8F\u0E14\n\x8F\x03\x8F\x05\x8F\u0E17\n\x8F\x03" + "\x90\x03\x90\x03\x90\x03\x90\x03\x90\x03\x91\x03\x91\x03\x91\x03\x91\x03" + "\x92\x03\x92\x03\x92\x05\x92\u0E25\n\x92\x03\x92\x05\x92\u0E28\n\x92\x03" + "\x92\x05\x92\u0E2B\n\x92\x03\x92\x03\x92\x03\x92\x05\x92\u0E30\n\x92\x03" + "\x92\x03\x92\x03\x92\x03\x93\x03\x93\x03\x93\x05\x93\u0E38\n\x93\x03\x93" + "\x03\x93\x03\x93\x03\x93\x03\x93\x03\x94\x03\x94\x05\x94\u0E41\n\x94\x03" + "\x94\x03\x94\x05\x94\u0E45\n\x94\x03\x94\x03\x94\x03\x94\x03\x94\x05\x94" + "\u0E4B\n\x94\x03\x95\x03\x95\x05\x95\u0E4F\n\x95\x03\x95\x05\x95\u0E52" + "\n\x95\x03\x95\x05\x95\u0E55\n\x95\x03\x95\x05\x95\u0E58\n\x95\x03\x95" + "\x05\x95\u0E5B\n\x95\x03\x96\x03\x96\x03\x96\x03\x96\x05\x96\u0E61\n\x96" + "\x03\x97\x03\x97\x05\x97\u0E65\n\x97\x03\x97\x03\x97\x03\x97\x05\x97\u0E6A" + "\n\x97\x03\x97\x03\x97\x03\x97\x03\x97\x05\x97\u0E70\n\x97\x03\x98\x03" + "\x98\x05\x98\u0E74\n\x98\x03\x98\x05\x98\u0E77\n\x98\x03\x98\x05\x98\u0E7A" + "\n\x98\x03\x98\x05\x98\u0E7D\n\x98\x03\x99\x03\x99\x03\x9A\x03\x9A\x03" + "\x9A\x03\x9A\x05\x9A\u0E85\n\x9A\x03\x9A\x03\x9A\x05\x9A\u0E89\n\x9A\x03" + "\x9B\x03\x9B\x05\x9B\u0E8D\n\x9B\x03\x9B\x03\x9B\x05\x9B\u0E91\n\x9B\x03" + "\x9B\x03\x9B\x05\x9B\u0E95\n\x9B\x03\x9C\x03\x9C\x03\x9C\x05\x9C\u0E9A" + "\n\x9C\x03\x9C\x03\x9C\x03\x9C\x03\x9D\x03\x9D\x03\x9E\x03\x9E\x03\x9E" + "\x03\x9E\x03\x9F\x06\x9F\u0EA6\n\x9F\r\x9F\x0E\x9F\u0EA7\x03\xA0\x03\xA0" + "\x03\xA0\x03\xA0\x03\xA0\x03\xA0\x03\xA0\x05\xA0\u0EB1\n\xA0\x03\xA0\x03" + "\xA0\x03\xA0\x03\xA0\x03\xA0\x03\xA0\x03\xA0\x03\xA0\x03\xA0\x03\xA0\x03" + "\xA0\x03\xA0\x03\xA0\x03\xA0\x03\xA0\x05\xA0\u0EC2\n\xA0\x03\xA0\x03\xA0" + "\x03\xA0\x05\xA0\u0EC7\n\xA0\x03\xA0\x05\xA0\u0ECA\n\xA0\x05\xA0\u0ECC" + "\n\xA0\x03\xA1\x03\xA1\x03\xA2\x03\xA2\x03\xA2\x03\xA2\x03\xA2\x03\xA2" + "\x05\xA2\u0ED6\n\xA2\x03\xA3\x03\xA3\x03\xA3\x07\xA3\u0EDB\n\xA3\f\xA3" + "\x0E\xA3\u0EDE\v\xA3\x03\xA4\x03\xA4\x05\xA4\u0EE2\n\xA4\x03\xA4\x05\xA4" + "\u0EE5\n\xA4\x03\xA4\x05\xA4\u0EE8\n\xA4\x03\xA4\x03\xA4\x03\xA4\x03\xA4" + "\x03\xA4\x05\xA4\u0EEF\n\xA4\x03\xA4\x05\xA4\u0EF2\n\xA4\x05\xA4\u0EF4" + "\n\xA4\x03\xA5\x03\xA5\x03\xA6\x03\xA6\x05\xA6\u0EFA\n\xA6\x03\xA7\x03" + "\xA7\x03\xA7\x03\xA8\x03\xA8\x03\xA8\x03\xA8\x05\xA8\u0F03\n\xA8\x03\xA9" + "\x03\xA9\x03\xAA\x03\xAA\x03\xAB\x03\xAB\x03\xAB\x03\xAB\x05\xAB\u0F0D" + "\n\xAB\x03\xAB\x03\xAB\x03\xAB\x05\xAB\u0F12\n\xAB\x03\xAC\x03\xAC\x03" + "\xAC\x03\xAD\x03\xAD\x03\xAD\x05\xAD\u0F1A\n\xAD\x03\xAD\x03\xAD\x05\xAD" + "\u0F1E\n\xAD\x03\xAD\x03\xAD\x03\xAE\x07\xAE\u0F23\n\xAE\f\xAE\x0E\xAE" + "\u0F26\v\xAE\x03\xAF\x03\xAF\x03\xAF\x03\xAF\x03\xAF\x03\xAF\x03\xAF\x05" + "\xAF\u0F2F\n\xAF\x03\xB0\x03\xB0\x03\xB0\x03\xB0\x03\xB0\x03\xB0\x03\xB1" + "\x07\xB1\u0F38\n\xB1\f\xB1\x0E\xB1\u0F3B\v\xB1\x03\xB2\x03\xB2\x03\xB2" + "\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3" + "\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3" + "\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3" + "\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3" + "\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3" + "\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3" + "\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3" + "\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3" + "\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3" + "\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3" + "\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3\x03\xB3" + "\x03\xB3\x03\xB3\x03\xB3\x05\xB3\u0FA6\n\xB3\x03\xB4\x03\xB4\x03\xB4\x03" + "\xB4\x03\xB4\x03\xB4\x05\xB4\u0FAE\n\xB4\x03\xB4\x05\xB4\u0FB1\n\xB4\x03" + "\xB5\x03\xB5\x03\xB5\x03\xB5\x03\xB5\x03\xB5\x03\xB5\x03\xB5\x05\xB5\u0FBB" + "\n\xB5\x03\xB6\x06\xB6\u0FBE\n\xB6\r\xB6\x0E\xB6\u0FBF\x03\xB7\x03\xB7" + "\x03\xB8\x03\xB8\x03\xB8\x03\xB8\x03\xB8\x03\xB8\x05\xB8\u0FCA\n\xB8\x03" + "\xB8\x03\xB8\x03\xB8\x03\xB8\x03\xB8\x03\xB8\x03\xB8\x03\xB8\x03\xB8\x05" + "\xB8\u0FD5\n\xB8\x03\xB9\x03\xB9\x03\xB9\x03\xB9\x03\xB9\x03\xBA\x03\xBA" + "\x03\xBA\x07\xBA\u0FDF\n\xBA\f\xBA\x0E\xBA\u0FE2\v\xBA\x03\xBB\x03\xBB" + "\x03\xBB\x03\xBB\x03\xBB\x03\xBC\x03\xBC\x03\xBC\x07\xBC\u0FEC\n\xBC\f" + "\xBC\x0E\xBC\u0FEF\v\xBC\x03\xBD\x03\xBD\x03\xBD\x03\xBD\x03\xBD\x03\xBD" + "\x03\xBD\x05\xBD\u0FF8\n\xBD\x03\xBE\x03\xBE\x03\xBE\x03\xBF\x03\xBF\x03" + "\xC0\x03\xC0\x03\xC1\x03\xC1\x03\xC1\x05\xC1\u1004\n\xC1\x03\xC1\x03\xC1" + "\x05\xC1\u1008\n\xC1\x03\xC1\x05\xC1\u100B\n\xC1\x03\xC1\x03\xC1\x03\xC1" + "\x03\xC1\x03\xC1\x05\xC1\u1012\n\xC1\x03\xC2\x03\xC2\x03\xC2\x03\xC3\x03" + "\xC3\x03\xC3\x05\xC3\u101A\n\xC3\x03\xC4\x03\xC4\x03\xC5\x03\xC5\x03\xC5" + "\x03\xC5\x03\xC5\x03\xC5\x05\xC5\u1024\n\xC5\x05\xC5\u1026\n\xC5\x03\xC6" + "\x03\xC6\x03\xC6\x03\xC6\x05\xC6\u102C\n\xC6\x03\xC6\x03\xC6\x03\xC6\x05" + "\xC6\u1031\n\xC6\x03\xC6\x03\xC6\x05\xC6\u1035\n\xC6\x03\xC6\x03\xC6\x03" + "\xC6\x05\xC6\u103A\n\xC6\x03\xC6\x03\xC6\x03\xC6\x03\xC6\x05\xC6\u1040" + "\n\xC6\x03\xC6\x03\xC6\x03\xC6\x03\xC6\x03\xC6\x05\xC6\u1047\n\xC6\x03" + "\xC6\x03\xC6\x03\xC6\x03\xC6\x05\xC6\u104D\n\xC6\x05\xC6\u104F\n\xC6\x03" + "\xC7\x03\xC7\x03\xC7\x03\xC7\x03\xC7\x05\xC7\u1056\n\xC7\x03\xC7\x03\xC7" + "\x03\xC7\x03\xC7\x03\xC7\x03\xC7\x05\xC7\u105E\n\xC7\x03\xC8\x03\xC8\x03" + "\xC8\x05\xC8\u1063\n\xC8\x03\xC9\x03\xC9\x03\xC9\x03\xC9\x03\xC9\x03\xCA" + "\x03\xCA\x03\xCA\x03\xCA\x05\xCA\u106E\n\xCA\x03\xCA\x03\xCA\x03\xCA\x03" + "\xCA\x03\xCA\x05\xCA\u1075\n\xCA\x03\xCB\x03\xCB\x05\xCB\u1079\n\xCB\x03" + "\xCC\x03\xCC\x03\xCC\x03\xCC\x03\xCC\x03\xCC\x03\xCC\x03\xCC\x03\xCC\x03" + "\xCD\x03\xCD\x03\xCD\x03\xCD\x03\xCD\x03\xCD\x05\xCD\u108A\n\xCD\x03\xCD" + "\x05\xCD\u108D\n\xCD\x03\xCD\x05\xCD\u1090\n\xCD\x03\xCD\x05\xCD\u1093" + "\n\xCD\x03\xCD\x05\xCD\u1096\n\xCD\x03\xCE\x03\xCE\x03\xCE\x03\xCE\x03" + "\xCE\x03\xCE\x05\xCE\u109E\n\xCE\x03\xCE\x05\xCE\u10A1\n\xCE\x03\xCE\x05" + "\xCE\u10A4\n\xCE\x03\xCF\x03\xCF\x03\xCF\x03\xCF\x05\xCF\u10AA\n\xCF\x03" + "\xCF\x03\xCF\x03\xD0\x03\xD0\x07\xD0\u10B0\n\xD0\f\xD0\x0E\xD0\u10B3\v" + "\xD0\x03\xD0\x05\xD0\u10B6\n\xD0\x03\xD0\x03\xD0\x03\xD0\x03\xD0\x03\xD0" + "\x03\xD0\x03\xD0\x03\xD0\x03\xD0\x03\xD0\x05\xD0\u10C2\n\xD0\x03\xD0\x03" + "\xD0\x03\xD0\x03\xD0\x05\xD0\u10C8\n\xD0\x03\xD1\x05\xD1\u10CB\n\xD1\x03" + "\xD1\x03\xD1\x03\xD1\x05\xD1\u10D0\n\xD1\x03\xD1\x03\xD1\x05\xD1\u10D4" + "\n\xD1\x03\xD1\x03\xD1\x03\xD1\x03\xD1\x03\xD1\x05\xD1\u10DB\n\xD1\x03" + "\xD1\x03\xD1\x03\xD1\x03\xD1\x03\xD1\x03\xD1\x03\xD1\x03\xD1\x03\xD1\x05" + "\xD1\u10E6\n\xD1\x03\xD2\x03\xD2\x03\xD2\x03\xD2\x03\xD2\x03\xD3\x03\xD3" + "\x03\xD3\x03\xD3\x03\xD3\x03\xD3\x03\xD4\x03\xD4\x03\xD4\x03\xD5\x03\xD5" + "\x03\xD5\x03\xD6\x03\xD6\x03\xD6\x03\xD6\x05\xD6\u10FD\n\xD6\x03\xD7\x03" + "\xD7\x03\xD7\x03\xD8\x03\xD8\x03\xD9\x03\xD9\x03\xD9\x03\xD9\x03\xD9\x03" + "\xD9\x03\xD9\x03\xD9\x03\xD9\x03\xDA\x03\xDA\x03\xDB\x03\xDB\x05\xDB\u1111" + "\n\xDB\x03\xDB\x03\xDB\x03\xDB\x03\xDB\x03\xDB\x03\xDB\x03\xDB\x05\xDB" + "\u111A\n\xDB\x03\xDB\x05\xDB\u111D\n\xDB\x03\xDB\x05\xDB\u1120\n\xDB\x03" + "\xDB\x03\xDB\x03\xDB\x03\xDB\x03\xDB\x03\xDB\x03\xDB\x03\xDB\x05\xDB\u112A" + "\n\xDB\x03\xDB\x05\xDB\u112D\n\xDB\x03\xDB\x03\xDB\x03\xDB\x03\xDB\x03" + "\xDB\x03\xDB\x03\xDB\x05\xDB\u1136\n\xDB\x03\xDB\x03\xDB\x05\xDB\u113A" + "\n\xDB\x03\xDB\x05\xDB\u113D\n\xDB\x03\xDB\x03\xDB\x03\xDB\x03\xDB\x03" + "\xDB\x03\xDB\x05\xDB\u1145\n\xDB\x03\xDC\x03\xDC\x03\xDC\x03\xDC\x05\xDC" + "\u114B\n\xDC\x03\xDD\x03\xDD\x05\xDD\u114F\n\xDD\x03\xDD\x03\xDD\x03\xDE" + "\x03\xDE\x03\xDF\x03\xDF\x03\xDF\x07\xDF\u1158\n\xDF\f\xDF\x0E\xDF\u115B" + "\v\xDF\x03\xE0\x03\xE0\x03\xE0\x03\xE0\x03\xE0\x03\xE0\x03\xE0\x05\xE0" + "\u1164\n\xE0\x03\xE1\x03\xE1\x03\xE1\x03\xE2\x06\xE2\u116A\n\xE2\r\xE2" + "\x0E\xE2\u116B\x03\xE3\x03\xE3\x03\xE3\x05\xE3\u1171\n\xE3\x03\xE3\x03" + "\xE3\x03\xE4\x03\xE4\x03\xE5\x03\xE5\x03\xE6\x03\xE6\x03\xE7\x03\xE7\x05" + "\xE7\u117D\n\xE7\x03\xE7\x03\xE7\x03\xE8\x03\xE8\x03\xE9\x03\xE9\x03\xEA" + "\x03\xEA\x03\xEA\x03\xEA\x03\xEA\x03\xEB\x03\xEB\x03\xEB\x03\xEB\x05\xEB" + "\u118E\n\xEB\x03\xEC\x03\xEC\x05\xEC\u1192\n\xEC\x03\xEC\x03\xEC\x07\xEC" + "\u1196\n\xEC\f\xEC\x0E\xEC\u1199\v\xEC\x03\xED\x03\xED\x03\xED\x03\xED" + "\x05\xED\u119F\n\xED\x03\xEE\x03\xEE\x03\xEE\x03\xEF\x07\xEF\u11A5\n\xEF" + "\f\xEF\x0E\xEF\u11A8\v\xEF\x03\xF0\x03\xF0\x03\xF0\x03\xF0\x03\xF0\x03" + "\xF0\x03\xF0\x03\xF0\x03\xF0\x03\xF0\x03\xF0\x05\xF0\u11B5\n\xF0\x03\xF1" + "\x03\xF1\x03\xF1\x03\xF1\x03\xF1\x03\xF1\x03\xF1\x03\xF1\x03\xF1\x03\xF1" + "\x03\xF1\x03\xF1\x03\xF1\x03\xF1\x03\xF1\x03\xF1\x03\xF1\x03\xF1\x03\xF1" + "\x03\xF1\x03\xF1\x03\xF1\x03\xF1\x03\xF1\x05\xF1\u11CF\n\xF1\x03\xF2\x03" + "\xF2\x03\xF2\x07\xF2\u11D4\n\xF2\f\xF2\x0E\xF2\u11D7\v\xF2\x03\xF3\x03" + "\xF3\x03\xF3\x03\xF3\x03\xF3\x03\xF3\x03\xF4\x03\xF4\x03\xF4\x07\xF4\u11E2" + "\n\xF4\f\xF4\x0E\xF4\u11E5\v\xF4\x03\xF5\x03\xF5\x03\xF5\x03\xF5\x03\xF5" + "\x03\xF5\x03\xF6\x03\xF6\x03\xF6\x03\xF6\x03\xF6\x03\xF6\x05\xF6\u11F3" + "\n\xF6\x03\xF7\x03\xF7\x03\xF7\x03\xF7\x03\xF7\x03\xF7\x03\xF7\x03\xF7" + "\x03\xF7\x03\xF8\x03\xF8\x05\xF8\u1200\n\xF8\x03\xF8\x03\xF8\x03\xF8\x03" + "\xF8\x03\xF8\x03\xF8\x03\xF8\x05\xF8\u1209\n\xF8\x03\xF8\x03\xF8\x03\xF8" + "\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8" + "\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8" + "\x03\xF8\x03\xF8\x05\xF8\u1222\n\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03" + "\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x05\xF8\u122D\n\xF8\x03\xF8\x03\xF8" + "\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8" + "\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8" + "\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8" + "\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8" + "\x03\xF8\x03\xF8\x05\xF8\u1257\n\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x03" + "\xF8\x03\xF8\x05\xF8\u125F\n\xF8\x03\xF8\x03\xF8\x03\xF8\x03\xF8\x05\xF8" + "\u1265\n\xF8\x03\xF9\x03\xF9\x03\xF9\x03\xF9\x03\xFA\x03\xFA\x03\xFA\x07" + "\xFA\u126E\n\xFA\f\xFA\x0E\xFA\u1271\v\xFA\x03\xFB\x03\xFB\x03\xFB\x05" + "\xFB\u1276\n\xFB\x03\xFC\x03\xFC\x03\xFC\x03\xFC\x03\xFC\x03\xFC\x05\xFC" + "\u127E\n\xFC\x03\xFD\x03\xFD\x03\xFD\x03\xFD\x03\xFE\x03\xFE\x03\xFE\x07" + "\xFE\u1287\n\xFE\f\xFE\x0E\xFE\u128A\v\xFE\x03\xFF\x03\xFF\x03\xFF\x03" + "\xFF\x03\u0100\x03\u0100\x03\u0101\x03\u0101\x03\u0101\x07\u0101\u1295" + "\n\u0101\f\u0101\x0E\u0101\u1298\v\u0101\x03\u0102\x03\u0102\x03\u0102" + "\x03\u0102\x03\u0102\x03\u0102\x05\u0102\u12A0\n\u0102\x03\u0102\x03\u0102" + "\x03\u0102\x03\u0102\x03\u0102\x03\u0102\x03\u0102\x03\u0102\x05\u0102" + "\u12AA\n\u0102\x03\u0102\x03"; private static readonly _serializedATNSegment2: string = "\u0102\x03\u0102\x03\u0102\x03\u0102\x03\u0102\x03\u0102\x03\u0102\x03" + "\u0102\x03\u0102\x05\u0102\u12B6\n\u0102\x03\u0102\x03\u0102\x03\u0102" + "\x03\u0102\x03\u0102\x03\u0102\x03\u0102\x03\u0102\x03\u0102\x03\u0102" + "\x03\u0102\x03\u0102\x03\u0102\x05\u0102\u12C5\n\u0102\x03\u0103\x03\u0103" + "\x03\u0103\x03\u0103\x03\u0104\x03\u0104\x03\u0104\x03\u0104\x03\u0104" + "\x05\u0104\u12D0\n\u0104\x03\u0104\x03\u0104\x03\u0104\x03\u0104\x03\u0104" + "\x03\u0104\x05\u0104\u12D8\n\u0104\x03\u0104\x03\u0104\x03\u0104\x03\u0105" + "\x03\u0105\x03\u0105\x07\u0105\u12E0\n\u0105\f\u0105\x0E\u0105\u12E3\v" + "\u0105\x03\u0106\x03\u0106\x03\u0106\x03\u0106\x05\u0106\u12E9\n\u0106" + "\x03\u0106\x05\u0106\u12EC\n\u0106\x03\u0106\x03\u0106\x03\u0106\x03\u0106" + "\x05\u0106\u12F2\n\u0106\x03\u0106\x05\u0106\u12F5\n\u0106\x03\u0106\x03" + "\u0106\x03\u0106\x03\u0106\x03\u0106\x03\u0106\x03\u0106\x03\u0106\x03" + "\u0106\x03\u0106\x03\u0106\x03\u0106\x03\u0106\x05\u0106\u1304\n\u0106" + "\x03\u0107\x03\u0107\x03\u0108\x03\u0108\x03\u0108\x03\u0109\x03\u0109" + "\x03\u0109\x03\u0109\x03\u0109\x03\u0109\x05\u0109\u1311\n\u0109\x03\u010A" + "\x03\u010A\x03\u010B\x03\u010B\x03\u010B\x03\u010B\x03\u010B\x03\u010B" + "\x03\u010B\x03\u010C\x03\u010C\x03\u010C\x03\u010C\x03\u010C\x03\u010C" + "\x03\u010C\x03\u010C\x03\u010C\x03\u010C\x03\u010C\x03\u010C\x03\u010C" + "\x03\u010C\x03\u010C\x03\u010C\x03\u010C\x03\u010C\x05\u010C\u132E\n\u010C" + "\x03\u010D\x03\u010D\x03\u010D\x07\u010D\u1333\n\u010D\f\u010D\x0E\u010D" + "\u1336\v\u010D\x03\u010E\x03\u010E\x03\u010E\x03\u010E\x03\u010E\x03\u010E" + "\x03\u010E\x03\u010E\x03\u010E\x03\u010E\x03\u010E\x03\u010E\x05\u010E" + "\u1344\n\u010E\x03\u010F\x03\u010F\x03\u010F\x03\u010F\x03\u010F\x03\u010F" + "\x03\u010F\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u1350\n\u0110\x03\u0110" + "\x03\u0110\x05\u0110\u1354\n\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110" + "\u1359\n\u0110\x03\u0110\x03\u0110\x05\u0110\u135D\n\u0110\x03\u0110\x03" + "\u0110\x03\u0110\x05\u0110\u1362\n\u0110\x03\u0110\x03\u0110\x05\u0110" + "\u1366\n\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u136C" + "\n\u0110\x03\u0110\x03\u0110\x05\u0110\u1370\n\u0110\x03\u0110\x03\u0110" + "\x03\u0110\x05\u0110\u1375\n\u0110\x03\u0110\x03\u0110\x05\u0110\u1379" + "\n\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u137F\n\u0110" + "\x03\u0110\x03\u0110\x05\u0110\u1383\n\u0110\x03\u0110\x03\u0110\x03\u0110" + "\x05\u0110\u1388\n\u0110\x03\u0110\x03\u0110\x05\u0110\u138C\n\u0110\x03" + "\u0110\x03\u0110\x03\u0110\x05\u0110\u1391\n\u0110\x03\u0110\x03\u0110" + "\x05\u0110\u1395\n\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u139A" + "\n\u0110\x03\u0110\x03\u0110\x05\u0110\u139E\n\u0110\x03\u0110\x03\u0110" + "\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u13A5\n\u0110\x03\u0110\x03\u0110" + "\x05\u0110\u13A9\n\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110" + "\x05\u0110\u13B0\n\u0110\x03\u0110\x03\u0110\x05\u0110\u13B4\n\u0110\x03" + "\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u13BB\n\u0110" + "\x03\u0110\x03\u0110\x05\u0110\u13BF\n\u0110\x03\u0110\x03\u0110\x03\u0110" + "\x03\u0110\x03\u0110\x05\u0110\u13C6\n\u0110\x03\u0110\x03\u0110\x05\u0110" + "\u13CA\n\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u13D0" + "\n\u0110\x03\u0110\x03\u0110\x05\u0110\u13D4\n\u0110\x03\u0110\x03\u0110" + "\x03\u0110\x03\u0110\x05\u0110\u13DA\n\u0110\x03\u0110\x03\u0110\x05\u0110" + "\u13DE\n\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u13E3\n\u0110\x03" + "\u0110\x03\u0110\x05\u0110\u13E7\n\u0110\x03\u0110\x03\u0110\x03\u0110" + "\x03\u0110\x03\u0110\x05\u0110\u13EE\n\u0110\x03\u0110\x03\u0110\x05\u0110" + "\u13F2\n\u0110\x03\u0110\x03\u0110\x05\u0110\u13F6\n\u0110\x03\u0110\x03" + "\u0110\x05\u0110\u13FA\n\u0110\x03\u0110\x03\u0110\x05\u0110\u13FE\n\u0110" + "\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u1403\n\u0110\x03\u0110\x03\u0110" + "\x05\u0110\u1407\n\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u140C" + "\n\u0110\x03\u0110\x03\u0110\x05\u0110\u1410\n\u0110\x03\u0110\x03\u0110" + "\x03\u0110\x05\u0110\u1415\n\u0110\x03\u0110\x03\u0110\x05\u0110\u1419" + "\n\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u141E\n\u0110\x03\u0110" + "\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u1424\n\u0110\x03\u0110\x03\u0110" + "\x03\u0110\x05\u0110\u1429\n\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110" + "\x05\u0110\u142F\n\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u1434" + "\n\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u143A\n\u0110" + "\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u143F\n\u0110\x03\u0110\x03\u0110" + "\x05\u0110\u1443\n\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u1448" + "\n\u0110\x03\u0110\x03\u0110\x05\u0110\u144C\n\u0110\x03\u0110\x03\u0110" + "\x03\u0110\x03\u0110\x05\u0110\u1452\n\u0110\x03\u0110\x03\u0110\x05\u0110" + "\u1456\n\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u145B\n\u0110\x03" + "\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u1463" + "\n\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u1469\n\u0110" + "\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u146F\n\u0110\x03\u0110" + "\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u1475\n\u0110\x03\u0110\x03\u0110" + "\x03\u0110\x03\u0110\x05\u0110\u147B\n\u0110\x03\u0110\x03\u0110\x03\u0110" + "\x03\u0110\x03\u0110\x05\u0110\u1482\n\u0110\x03\u0110\x03\u0110\x03\u0110" + "\x05\u0110\u1487\n\u0110\x03\u0110\x03\u0110\x05\u0110\u148B\n\u0110\x03" + "\u0110\x03\u0110\x03\u0110\x05\u0110\u1490\n\u0110\x03\u0110\x03\u0110" + "\x05\u0110\u1494\n\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u1499" + "\n\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u149F\n\u0110" + "\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u14A6\n\u0110" + "\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u14AB\n\u0110\x03\u0110\x03\u0110" + "\x03\u0110\x03\u0110\x03\u0110\x05\u0110\u14B2\n\u0110\x03\u0110\x03\u0110" + "\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x03\u0110\x05\u0110" + "\u14BC\n\u0110\x03\u0110\x03\u0110\x05\u0110\u14C0\n\u0110\x03\u0110\x03" + "\u0110\x03\u0110\x03\u0110\x05\u0110\u14C6\n\u0110\x05\u0110\u14C8\n\u0110" + "\x03\u0111\x03\u0111\x03\u0111\x07\u0111\u14CD\n\u0111\f\u0111\x0E\u0111" + "\u14D0\v\u0111\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112" + "\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112" + "\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112" + "\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112" + "\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112\x03\u0112" + "\x03\u0112\x03\u0112\x05\u0112\u14F6\n\u0112\x03\u0113\x03\u0113\x03\u0113" + "\x03\u0113\x03\u0113\x03\u0113\x03\u0113\x03\u0113\x03\u0113\x03\u0113" + "\x03\u0113\x03\u0113\x03\u0113\x05\u0113\u1505\n\u0113\x03\u0113\x03\u0113" + "\x03\u0113\x03\u0113\x03\u0113\x03\u0113\x03\u0113\x03\u0113\x03\u0113" + "\x03\u0113\x03\u0113\x03\u0113\x03\u0113\x03\u0113\x03\u0113\x03\u0113" + "\x05\u0113\u1517\n\u0113\x03\u0114\x03\u0114\x03\u0115\x03\u0115\x03\u0115" + "\x07\u0115\u151E\n\u0115\f\u0115\x0E\u0115\u1521\v\u0115\x03\u0116\x03" + "\u0116\x03\u0116\x03\u0116\x03\u0117\x03\u0117\x03\u0117\x03\u0117\x03" + "\u0118\x03\u0118\x05\u0118\u152D\n\u0118\x03\u0119\x03\u0119\x05\u0119" + "\u1531\n\u0119\x03\u011A\x03\u011A\x06\u011A\u1535\n\u011A\r\u011A\x0E" + "\u011A\u1536\x03\u011B\x03\u011B\x03\u011B\x07\u011B\u153C\n\u011B\f\u011B" + "\x0E\u011B\u153F\v\u011B\x03\u011C\x03\u011C\x05\u011C\u1543\n\u011C\x03" + "\u011C\x03\u011C\x05\u011C\u1547\n\u011C\x03\u011C\x05\u011C\u154A\n\u011C" + "\x03\u011D\x03\u011D\x03\u011D\x03\u011D\x05\u011D\u1550\n\u011D\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x05\u011E\u1597\n\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E\x03\u011E" + "\x03\u011E\x03\u011E\x03\u011E\x05\u011E\u15F7\n\u011E\x03\u011F\x03\u011F" + "\x05\u011F\u15FB\n\u011F\x03\u0120\x03\u0120\x03\u0120\x05\u0120\u1600" + "\n\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03" + "\u0120\x03\u0120\x05\u0120\u160A\n\u0120\x03\u0120\x03\u0120\x03\u0120" + "\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x05\u0120" + "\u1615\n\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120" + "\x03\u0120\x03\u0120\x05\u0120\u161F\n\u0120\x03\u0120\x03\u0120\x03\u0120" + "\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x05\u0120" + "\u162A\n\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120" + "\x03\u0120\x03\u0120\x03\u0120\x05\u0120\u1635\n\u0120\x03\u0120\x03\u0120" + "\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120" + "\x05\u0120\u1640\n\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120" + "\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x05\u0120\u164B\n\u0120\x03\u0120" + "\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120" + "\x03\u0120\x03\u0120\x05\u0120\u1657\n\u0120\x03\u0120\x03\u0120\x03\u0120" + "\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x05\u0120" + "\u1662\n\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120\x03\u0120" + "\x05\u0120\u166A\n\u0120\x03\u0121\x03\u0121\x03\u0121\x03\u0122\x03\u0122" + "\x05\u0122\u1671\n\u0122\x03\u0123\x03\u0123\x03\u0123\x03\u0123\x05\u0123" + "\u1677\n\u0123\x03\u0124\x03\u0124\x03\u0124\x03\u0124\x03\u0124\x03\u0124" + "\x05\u0124\u167F\n\u0124\x03\u0124\x03\u0124\x03\u0124\x05\u0124\u1684" + "\n\u0124\x03\u0124\x03\u0124\x03\u0124\x05\u0124\u1689\n\u0124\x03\u0124" + "\x03\u0124\x03\u0124\x05\u0124\u168E\n\u0124\x03\u0124\x03\u0124\x03\u0124" + "\x03\u0124\x05\u0124\u1694\n\u0124\x03\u0124\x03\u0124\x03\u0124\x03\u0124" + "\x03\u0124\x05\u0124\u169B\n\u0124\x03\u0124\x03\u0124\x03\u0124\x03\u0124" + "\x05\u0124\u16A1\n\u0124\x03\u0124\x03\u0124\x03\u0124\x03\u0124\x05\u0124" + "\u16A7\n\u0124\x03\u0124\x03\u0124\x03\u0124\x05\u0124\u16AC\n\u0124\x03" + "\u0124\x03\u0124\x03\u0124\x03\u0124\x05\u0124\u16B2\n\u0124\x03\u0124" + "\x03\u0124\x03\u0124\x03\u0124\x03\u0124\x05\u0124\u16B9\n\u0124\x03\u0124" + "\x03\u0124\x03\u0124\x05\u0124\u16BE\n\u0124\x03\u0124\x03\u0124\x03\u0124" + "\x03\u0124\x05\u0124\u16C4\n\u0124\x03\u0124\x03\u0124\x03\u0124\x03\u0124" + "\x03\u0124\x05\u0124\u16CB\n\u0124\x03\u0124\x05\u0124\u16CE\n\u0124\x03" + "\u0125\x03\u0125\x03\u0126\x03\u0126\x03\u0127\x03\u0127\x03\u0127\x03" + "\u0127\x03\u0127\x03\u0127\x03\u0127\x05\u0127\u16DB\n\u0127\x03\u0128" + "\x03\u0128\x03\u0128\x03\u0128\x03\u0128\x03\u0128\x03\u0128\x05\u0128" + "\u16E4\n\u0128\x03\u0128\x03\u0128\x03\u0128\x03\u0128\x03\u0128\x03\u0128" + "\x03\u0128\x03\u0128\x03\u0128\x03\u0128\x05\u0128\u16F0\n\u0128\x05\u0128" + "\u16F2\n\u0128\x03\u0129\x03\u0129\x03\u0129\x03\u0129\x03\u0129\x03\u0129" + "\x03\u0129\x03\u0129\x03\u0129\x03\u0129\x03\u0129\x03\u0129\x03\u0129" + "\x03\u0129\x03\u0129\x03\u0129\x05\u0129\u1704\n\u0129\x03\u012A\x03\u012A" + "\x03\u012A\x07\u012A\u1709\n\u012A\f\u012A\x0E\u012A\u170C\v\u012A\x03" + "\u012B\x03\u012B\x03\u012C\x03\u012C\x03\u012C\x07\u012C\u1713\n\u012C" + "\f\u012C\x0E\u012C\u1716\v\u012C\x03\u012D\x03\u012D\x05\u012D\u171A\n" + "\u012D\x03\u012D\x03\u012D\x05\u012D\u171E\n\u012D\x03\u012D\x03\u012D" + "\x05\u012D\u1722\n\u012D\x03\u012D\x03\u012D\x05\u012D\u1726\n\u012D\x05" + "\u012D\u1728\n\u012D\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E" + "\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E" + "\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E" + "\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E" + "\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E" + "\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E" + "\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E" + "\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x03\u012E" + "\x03\u012E\x03\u012E\x03\u012E\x03\u012E\x05\u012E\u1764\n\u012E\x03\u012F" + "\x03\u012F\x03\u012F\x07\u012F\u1769\n\u012F\f\u012F\x0E\u012F\u176C\v" + "\u012F\x03\u0130\x03\u0130\x03\u0130\x05\u0130\u1771\n\u0130\x03\u0131" + "\x03\u0131\x03\u0131\x03\u0131\x03\u0132\x03\u0132\x03\u0132\x03\u0132" + "\x03\u0132\x05\u0132\u177C\n\u0132\x03\u0132\x05\u0132\u177F\n\u0132\x03" + "\u0133\x03\u0133\x03\u0133\x03\u0133\x03\u0133\x05\u0133\u1786\n\u0133" + "\x03\u0133\x05\u0133\u1789\n\u0133\x03\u0133\x03\u0133\x03\u0133\x03\u0133" + "\x03\u0133\x03\u0133\x03\u0133\x03\u0133\x05\u0133\u1793\n\u0133\x03\u0133" + "\x05\u0133\u1796\n\u0133\x05\u0133\u1798\n\u0133\x03\u0134\x03\u0134\x03" + "\u0134\x03\u0134\x03\u0135\x03\u0135\x03\u0135\x03\u0135\x03\u0136\x03" + "\u0136\x03\u0136\x03\u0136\x03\u0136\x03\u0136\x03\u0137\x07\u0137\u17A9" + "\n\u0137\f\u0137\x0E\u0137\u17AC\v\u0137\x03\u0138\x03\u0138\x03\u0138" + "\x03\u0138\x03\u0138\x03\u0138\x03\u0138\x03\u0138\x03\u0138\x05\u0138" + "\u17B7\n\u0138\x03\u0139\x03\u0139\x03\u0139\x03\u0139\x03\u0139\x03\u0139" + "\x03\u0139\x05\u0139\u17C0\n\u0139\x03\u0139\x03\u0139\x03\u0139\x03\u0139" + "\x03\u0139\x03\u0139\x03\u0139\x05\u0139\u17C9\n\u0139\x03\u0139\x03\u0139" + "\x03\u0139\x03\u0139\x03\u0139\x03\u0139\x03\u0139\x03\u0139\x03\u0139" + "\x03\u0139\x05\u0139\u17D5\n\u0139\x05\u0139\u17D7\n\u0139\x03\u013A\x03" + "\u013A\x03\u013B\x03\u013B\x05\u013B\u17DD\n\u013B\x03\u013B\x03\u013B" + "\x05\u013B\u17E1\n\u013B\x03\u013B\x05\u013B\u17E4\n\u013B\x03\u013B\x05" + "\u013B\u17E7\n\u013B\x03\u013B\x03\u013B\x03\u013B\x05\u013B\u17EC\n\u013B" + "\x03\u013B\x03\u013B\x03\u013B\x03\u013B\x05\u013B\u17F2\n\u013B\x03\u013B" + "\x05\u013B\u17F5\n\u013B\x03\u013B\x05\u013B\u17F8\n\u013B\x03\u013B\x05" + "\u013B\u17FB\n\u013B\x03\u013B\x05\u013B\u17FE\n\u013B\x03\u013C\x03\u013C" + "\x03\u013D\x03\u013D\x03\u013E\x03\u013E\x03\u013F\x03\u013F\x03\u013F" + "\x03\u0140\x03\u0140\x03\u0140\x07\u0140\u180C\n\u0140\f\u0140\x0E\u0140" + "\u180F\v\u0140\x03\u0141\x05\u0141\u1812\n\u0141\x03\u0141\x05\u0141\u1815" + "\n\u0141\x03\u0141\x05\u0141\u1818\n\u0141\x03\u0141\x05\u0141\u181B\n" + "\u0141\x03\u0141\x05\u0141\u181E\n\u0141\x03\u0141\x03\u0141\x03\u0141" + "\x05\u0141\u1823\n\u0141\x03\u0141\x05\u0141\u1826\n\u0141\x05\u0141\u1828" + "\n\u0141\x03\u0142\x03\u0142\x03\u0142\x03\u0142\x03\u0142\x03\u0142\x03" + "\u0142\x03\u0142\x03\u0142\x03\u0142\x03\u0142\x05\u0142\u1835\n\u0142" + "\x03\u0143\x03\u0143\x03\u0143\x03\u0143\x03\u0143\x03\u0144\x03\u0144" + "\x03\u0144\x07\u0144\u183F\n\u0144\f\u0144\x0E\u0144\u1842\v\u0144\x03" + "\u0145\x03\u0145\x03\u0145\x03\u0146\x03\u0146\x03\u0147\x03\u0147\x03" + "\u0148\x03\u0148\x03\u0148\x03\u0148\x05\u0148\u184F\n\u0148\x03\u0149" + "\x03\u0149\x05\u0149\u1853\n\u0149\x03\u0149\x03\u0149\x03\u0149\x03\u0149" + "\x05\u0149\u1859\n\u0149\x03\u0149\x03\u0149\x03\u0149\x03\u0149\x03\u0149" + "\x03\u0149\x03\u0149\x03\u0149\x05\u0149\u1863\n\u0149\x05\u0149\u1865" + "\n\u0149\x03\u0149\x03\u0149\x03\u0149\x05\u0149\u186A\n\u0149\x03\u014A" + "\x03\u014A\x03\u014A\x03\u014A\x07\u014A\u1870\n\u014A\f\u014A\x0E\u014A" + "\u1873\v\u014A\x03\u014A\x03\u014A\x03\u014B\x03\u014B\x03\u014B\x03\u014C" + "\x03\u014C\x05\u014C\u187C\n\u014C\x03\u014C\x03\u014C\x03\u014D\x03\u014D" + "\x03\u014D\x07\u014D\u1883\n\u014D\f\u014D\x0E\u014D\u1886\v\u014D\x03" + "\u014E\x03\u014E\x03\u014E\x07\u014E\u188B\n\u014E\f\u014E\x0E\u014E\u188E" + "\v\u014E\x03\u014F\x03\u014F\x03\u014F\x03\u014F\x03\u014F\x03\u014F\x05" + "\u014F\u1896\n\u014F\x05\u014F\u1898\n\u014F\x03\u0150\x03\u0150\x03\u0150" + "\x07\u0150\u189D\n\u0150\f\u0150\x0E\u0150\u18A0\v\u0150\x03\u0151\x03" + "\u0151\x03\u0151\x03\u0151\x03\u0151\x03\u0151\x05\u0151\u18A8\n\u0151" + "\x05\u0151\u18AA\n\u0151\x03\u0152\x03\u0152\x03\u0152\x07\u0152\u18AF" + "\n\u0152\f\u0152\x0E\u0152\u18B2\v\u0152\x03\u0153\x03\u0153\x03\u0153" + "\x03\u0153\x03\u0153\x03\u0153\x05\u0153\u18BA\n\u0153\x05\u0153\u18BC" + "\n\u0153\x03\u0154\x03\u0154\x05\u0154\u18C0\n\u0154\x03\u0154\x03\u0154" + "\x03\u0155\x03\u0155\x03\u0155\x07\u0155\u18C7\n\u0155\f\u0155\x0E\u0155" + "\u18CA\v\u0155\x03\u0156\x03\u0156\x05\u0156\u18CE\n\u0156\x03\u0156\x03" + "\u0156\x03\u0156\x03\u0156\x05\u0156\u18D4\n\u0156\x03\u0156\x03\u0156" + "\x03\u0156\x05\u0156\u18D9\n\u0156\x03\u0157\x03\u0157\x05\u0157\u18DD" + "\n\u0157\x03\u0157\x03\u0157\x03\u0157\x05\u0157\u18E2\n\u0157\x03\u0158" + "\x03\u0158\x03\u0159\x03\u0159\x03\u015A\x03\u015A\x03\u015A\x03\u015A" + "\x03\u015A\x03\u015A\x03\u015A\x03\u015A\x03\u015A\x03\u015A\x03\u015A" + "\x03\u015A\x05\u015A\u18F4\n\u015A\x03\u015B\x03\u015B\x03\u015B\x05\u015B" + "\u18F9\n\u015B\x03\u015C\x03\u015C\x03\u015D\x03\u015D\x03\u015D\x03\u015D" + "\x03\u015D\x03\u015D\x03\u015D\x03\u015D\x03\u015D\x03\u015D\x03\u015D" + "\x05\u015D\u1908\n\u015D\x03\u015D\x03\u015D\x03\u015E\x03\u015E\x03\u015E" + "\x07\u015E\u190F\n\u015E\f\u015E\x0E\u015E\u1912\v\u015E\x03\u015F\x03" + "\u015F\x03\u015F\x03\u0160\x03\u0160\x03\u0160\x07\u0160\u191A\n\u0160" + "\f\u0160\x0E\u0160\u191D\v\u0160\x03\u0161\x06\u0161\u1920\n\u0161\r\u0161" + "\x0E\u0161\u1921\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03" + "\u0162\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03" + "\u0162\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03" + "\u0162\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03" + "\u0162\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03\u0162\x03" + "\u0162\x03\u0162\x05\u0162\u1947\n\u0162\x03\u0163\x03\u0163\x03\u0163" + "\x03\u0163\x03\u0163\x03\u0163\x03\u0163\x03\u0163\x03\u0163\x03\u0163" + "\x03\u0163\x03\u0163\x03\u0163\x03\u0163\x03\u0163\x03\u0163\x03\u0163" + "\x03\u0163\x05\u0163\u195B\n\u0163\x03\u0163\x03\u0163\x03\u0163\x03\u0163" + "\x03\u0163\x05\u0163\u1962\n\u0163\x03\u0164\x03\u0164\x03\u0164\x03\u0164" + "\x03\u0164\x03\u0164\x03\u0164\x07\u0164\u196B\n\u0164\f\u0164\x0E\u0164" + "\u196E\v\u0164\x03\u0165\x03\u0165\x03\u0165\x03\u0166\x03\u0166\x03\u0166" + "\x03\u0167\x03\u0167\x03\u0167\x07\u0167\u1979\n\u0167\f\u0167\x0E\u0167" + "\u197C\v\u0167\x03\u0168\x03\u0168\x03\u0168\x03\u0168\x05\u0168\u1982" + "\n\u0168\x03\u0169\x03\u0169\x03\u0169\x03\u0169\x03\u0169\x03\u0169\x05" + "\u0169\u198A\n\u0169\x03\u016A\x06\u016A\u198D\n\u016A\r\u016A\x0E\u016A" + "\u198E\x03\u016B\x03\u016B\x03\u016C\x03\u016C\x03\u016C\x05\u016C\u1996" + "\n\u016C\x03\u016C\x03\u016C\x05\u016C\u199A\n\u016C\x03\u016C\x03\u016C" + "\x03\u016C\x05\u016C\u199F\n\u016C\x03\u016C\x03\u016C\x05\u016C\u19A3" + "\n\u016C\x03\u016C\x03\u016C\x03\u016C\x05\u016C\u19A8\n\u016C\x03\u016C" + "\x03\u016C\x05\u016C\u19AC\n\u016C\x05\u016C\u19AE\n\u016C\x03\u016D\x03" + "\u016D\x03\u016D\x05\u016D\u19B3\n\u016D\x03\u016D\x03\u016D\x05\u016D" + "\u19B7\n\u016D\x03\u016E\x03\u016E\x03\u016E\x05\u016E\u19BC\n\u016E\x03" + "\u016E\x03\u016E\x05\u016E\u19C0\n\u016E\x03\u016F\x03\u016F\x03\u016F" + "\x03\u016F\x03\u016F\x03\u016F\x03\u016F\x03\u016F\x03\u016F\x03\u016F" + "\x03\u016F\x03\u016F\x03\u016F\x03\u016F\x03\u016F\x03\u016F\x03\u016F" + "\x03\u016F\x03\u016F\x03\u016F\x03\u016F\x03\u016F\x05\u016F\u19D8\n\u016F" + "\x03\u0170\x03\u0170\x03\u0170\x07\u0170\u19DD\n\u0170\f\u0170\x0E\u0170" + "\u19E0\v\u0170\x03\u0170\x03\u0170\x03\u0171\x03\u0171\x03\u0171\x07\u0171" + "\u19E7\n\u0171\f\u0171\x0E\u0171\u19EA\v\u0171\x03\u0172\x03\u0172\x03" + "\u0172\x03\u0173\x03\u0173\x03\u0173\x03\u0174\x06\u0174\u19F3\n\u0174" + "\r\u0174\x0E\u0174\u19F4\x03\u0175\x03\u0175\x03\u0175\x05\u0175\u19FA" + "\n\u0175\x03\u0176\x03\u0176\x03\u0176\x03\u0176\x03\u0176\x03\u0176\x03" + "\u0176\x03\u0176\x03\u0176\x03\u0176\x03\u0176\x05\u0176\u1A07\n\u0176" + "\x03\u0176\x03\u0176\x03\u0176\x03\u0176\x03\u0176\x03\u0176\x03\u0176" + "\x03\u0176\x03\u0176\x03\u0176\x05\u0176\u1A13\n\u0176\x03\u0176\x03\u0176" + "\x03\u0176\x03\u0176\x03\u0176\x03\u0176\x03\u0176\x03\u0176\x03\u0176" + "\x03\u0176\x05\u0176\u1A1F\n\u0176\x05\u0176\u1A21\n\u0176\x03\u0177\x03" + "\u0177\x03\u0177\x03\u0177\x05\u0177\u1A27\n\u0177\x03\u0178\x03\u0178" + "\x03\u0178\x03\u0179\x03\u0179\x05\u0179\u1A2E\n\u0179\x03\u0179\x03\u0179" + "\x03\u0179\x03\u0179\x03\u0179\x03\u0179\x03\u0179\x03\u0179\x03\u0179" + "\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A" + "\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A" + "\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A" + "\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A" + "\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x03\u017A\x05\u017A" + "\u1A5B\n\u017A\x03\u017B\x03\u017B\x03\u017B\x03\u017B\x03\u017B\x03\u017B" + "\x03\u017B\x03\u017B\x03\u017B\x03\u017B\x03\u017B\x03\u017B\x03\u017B" + "\x03\u017B\x03\u017B\x03\u017B\x05\u017B\u1A6D\n\u017B\x03\u017C\x03\u017C" + "\x05\u017C\u1A71\n\u017C\x03\u017C\x03\u017C\x03\u017C\x05\u017C\u1A76" + "\n\u017C\x03\u017C\x05\u017C\u1A79\n\u017C\x03\u017D\x03\u017D\x05\u017D" + "\u1A7D\n\u017D\x03\u017D\x03\u017D\x03\u017D\x05\u017D\u1A82\n\u017D\x03" + "\u017D\x03\u017D\x03\u017D\x05\u017D\u1A87\n\u017D\x03\u017D\x05\u017D" + "\u1A8A\n\u017D\x03\u017E\x03\u017E\x03\u017E\x07\u017E\u1A8F\n\u017E\f" + "\u017E\x0E\u017E\u1A92\v\u017E\x03\u017F\x03\u017F\x03\u0180\x03\u0180" + "\x03\u0180\x03\u0180\x03\u0180\x03\u0180\x03\u0180\x03\u0180\x03\u0180" + "\x03\u0180\x03\u0180\x03\u0180\x05\u0180\u1AA2\n\u0180\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x05\u0181\u1AE9\n\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x05\u0181\u1B08\n\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x05\u0181\u1B3E\n\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x05\u0181\u1B48\n\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x05\u0181\u1B52\n\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x05\u0181\u1B5D\n\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x05\u0181\u1B67\n\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x05\u0181\u1B72\n\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x05\u0181\u1B7C\n\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x05\u0181\u1B81\n\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x05\u0181\u1B8A\n\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x05\u0181\u1B8F\n\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x05\u0181\u1B99\n\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x05\u0181\u1B9E\n\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x05\u0181\u1BA7\n\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x05\u0181\u1BB4\n\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x05\u0181\u1BB9\n\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181"; private static readonly _serializedATNSegment3: string = "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181\x03\u0181" + "\x05\u0181\u1C29\n\u0181\x05\u0181\u1C2B\n\u0181\x03\u0182\x03\u0182\x03" + "\u0183\x03\u0183\x03\u0183\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x05" + "\u0184\u1C36\n\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184" + "\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x05\u0184\u1C41\n\u0184\x03\u0184" + "\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184" + "\x03\u0184\x05\u0184\u1C4C\n\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184" + "\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184" + "\x05\u0184\u1C59\n\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184" + "\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x05\u0184\u1C65\n\u0184" + "\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184\x03\u0184" + "\x03\u0184\x03\u0184\x05\u0184\u1C70\n\u0184\x03\u0184\x03\u0184\x03\u0184" + "\x03\u0184\x03\u0184\x05\u0184\u1C77\n\u0184\x03\u0185\x03\u0185\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x05\u0186\u1CD1\n\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x05\u0186\u1D06\n\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x05\u0186\u1D10\n\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x05\u0186\u1D1B\n\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x05\u0186\u1D26\n\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186\x03\u0186" + "\x03\u0186\x03\u0186\x05\u0186\u1D34\n\u0186\x03\u0187\x03\u0187\x03\u0187" + "\x03\u0187\x03\u0187\x03\u0187\x03\u0187\x03\u0187\x03\u0188\x03\u0188" + "\x03\u0188\x07\u0188\u1D41\n\u0188\f\u0188\x0E\u0188\u1D44\v\u0188\x03" + "\u0189\x03\u0189\x03\u0189\x03\u0189\x03\u0189\x03\u0189\x03\u0189\x03" + "\u0189\x05\u0189\u1D4E\n\u0189\x03\u018A\x03\u018A\x03\u018A\x03\u018A" + "\x03\u018A\x05\u018A\u1D55\n\u018A\x03\u018B\x03\u018B\x03\u018B\x03\u018B" + "\x03\u018B\x03\u018B\x03\u018B\x03\u018B\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x05\u018C" + "\u1D8B\n\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C\x03\u018C" + "\x05\u018C\u1E18\n\u018C\x03\u018D\x03\u018D\x03\u018D\x03\u018D\x05\u018D" + "\u1E1E\n\u018D\x03\u018D\x05\u018D\u1E21\n\u018D\x03\u018E\x03\u018E\x03" + "\u018F\x03\u018F\x03\u018F\x03\u018F\x03\u018F\x03\u018F\x05\u018F\u1E2B" + "\n\u018F\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03" + "\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03" + "\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03" + "\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03" + "\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03\u0190\x03" + "\u0190\x03\u0190\x03\u0190\x03\u0190\x05\u0190\u1E53\n\u0190\x03\u0191" + "\x03\u0191\x03\u0191\x03\u0191\x03\u0191\x03\u0191\x03\u0191\x03\u0191" + "\x05\u0191\u1E5D\n\u0191\x03\u0192\x03\u0192\x03\u0192\x07\u0192\u1E62" + "\n\u0192\f\u0192\x0E\u0192\u1E65\v\u0192\x03\u0193\x03\u0193\x03\u0194" + "\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194" + "\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194" + "\x03\u0194\x03\u0194\x03\u0194\x05\u0194\u1E7B\n\u0194\x03\u0194\x03\u0194" + "\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x05\u0194\u1E84\n\u0194" + "\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194" + "\x05\u0194\u1E8D\n\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194" + "\x03\u0194\x03\u0194\x05\u0194\u1E96\n\u0194\x03\u0194\x03\u0194\x03\u0194" + "\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194" + "\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194" + "\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194" + "\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194\x03\u0194" + "\x05\u0194\u1EB7\n\u0194\x03\u0195\x03\u0195\x05\u0195\u1EBB\n\u0195\x03" + "\u0195\x03\u0195\x03\u0195\x03\u0195\x03\u0195\x03\u0195\x03\u0195\x03" + "\u0195\x05\u0195\u1EC5\n\u0195\x03\u0195\x03\u0195\x05\u0195\u1EC9\n\u0195" + "\x03\u0195\x03\u0195\x03\u0196\x03\u0196\x03\u0196\x03\u0196\x03\u0196" + "\x03\u0196\x05\u0196\u1ED3\n\u0196\x03\u0197\x05\u0197\u1ED6\n\u0197\x03" + "\u0197\x03\u0197\x05\u0197\u1EDA\n\u0197\x07\u0197\u1EDC\n\u0197\f\u0197" + "\x0E\u0197\u1EDF\v\u0197\x03\u0198\x03\u0198\x03\u0198\x03\u0198\x03\u0198" + "\x05\u0198\u1EE6\n\u0198\x03\u0199\x03\u0199\x03\u019A\x03\u019A\x03\u019B" + "\x03\u019B\x03\u019C\x03\u019C\x03\u019C\x05\u019C\u1EF1\n\u019C\x03\u019D" + "\x03\u019D\x03\u019D\x03\u019E\x03\u019E\x03\u019E\x03\u019F\x03\u019F" + "\x03\u019F\x03\u019F\x05\u019F\u1EFD\n\u019F\x03\u01A0\x03\u01A0\x05\u01A0" + "\u1F01\n\u01A0\x03\u01A0\x05\u01A0\u1F04\n\u01A0\x03\u01A0\x03\u01A0\x05" + "\u01A0\u1F08\n\u01A0\x03\u01A0\x05\u01A0\u1F0B\n\u01A0\x03\u01A0\x03\u01A0" + "\x03\u01A0\x05\u01A0\u1F10\n\u01A0\x03\u01A0\x03\u01A0\x05\u01A0\u1F14" + "\n\u01A0\x03\u01A0\x05\u01A0\u1F17\n\u01A0\x03\u01A0\x03\u01A0\x05\u01A0" + "\u1F1B\n\u01A0\x03\u01A0\x05\u01A0\u1F1E\n\u01A0\x03\u01A0\x03\u01A0\x05" + "\u01A0\u1F22\n\u01A0\x03\u01A0\x05\u01A0\u1F25\n\u01A0\x03\u01A0\x03\u01A0" + "\x03\u01A0\x03\u01A0\x03\u01A0\x03\u01A0\x03\u01A0\x03\u01A0\x03\u01A0" + "\x05\u01A0\u1F30\n\u01A0\x03\u01A0\x03\u01A0\x03\u01A0\x03\u01A0\x03\u01A0" + "\x05\u01A0\u1F37\n\u01A0\x03\u01A0\x03\u01A0\x03\u01A0\x03\u01A0\x03\u01A0" + "\x03\u01A0\x03\u01A0\x03\u01A0\x03\u01A0\x03\u01A0\x03\u01A0\x05\u01A0" + "\u1F44\n\u01A0\x03\u01A1\x03\u01A1\x03\u01A2\x03\u01A2\x03\u01A2\x03\u01A2" + "\x03\u01A2\x03\u01A2\x03\u01A2\x03\u01A2\x03\u01A2\x03\u01A2\x05\u01A2" + "\u1F52\n\u01A2\x03\u01A3\x03\u01A3\x05\u01A3\u1F56\n\u01A3\x03\u01A3\x07" + "\u01A3\u1F59\n\u01A3\f\u01A3\x0E\u01A3\u1F5C\v\u01A3\x03\u01A4\x03\u01A4" + "\x03\u01A5\x03\u01A5\x05\u01A5\u1F62\n\u01A5\x03\u01A5\x03\u01A5\x03\u01A6" + "\x03\u01A6\x03\u01A6\x05\u01A6\u1F69\n\u01A6\x03\u01A6\x05\u01A6\u1F6C" + "\n\u01A6\x03\u01A6\x03\u01A6\x03\u01A6\x05\u01A6\u1F71\n\u01A6\x03\u01A6" + "\x05\u01A6\u1F74\n\u01A6\x03\u01A6\x03\u01A6\x03\u01A6\x03\u01A6\x03\u01A6" + "\x03\u01A6\x03\u01A6\x05\u01A6\u1F7D\n\u01A6\x05\u01A6\u1F7F\n\u01A6\x03" + "\u01A6\x03\u01A6\x03\u01A6\x05\u01A6\u1F84\n\u01A6\x03\u01A7\x03\u01A7" + "\x05\u01A7\u1F88\n\u01A7\x03\u01A7\x03\u01A7\x03\u01A7\x03\u01A8\x03\u01A8" + "\x03\u01A8\x03\u01A9\x03\u01A9\x03\u01A9\x03\u01A9\x05\u01A9\u1F94\n\u01A9" + "\x03\u01A9\x05\u01A9\u1F97\n\u01A9\x03\u01AA\x03\u01AA\x03\u01AB\x06\u01AB" + "\u1F9C\n\u01AB\r\u01AB\x0E\u01AB\u1F9D\x03\u01AC\x03\u01AC\x05\u01AC\u1FA2" + "\n\u01AC\x03\u01AC\x03\u01AC\x03\u01AC\x05\u01AC\u1FA7\n\u01AC\x03\u01AD" + "\x03\u01AD\x03\u01AD\x03\u01AD\x03\u01AD\x03\u01AD\x03\u01AD\x03\u01AD" + "\x05\u01AD\u1FB1\n\u01AD\x03\u01AE\x03\u01AE\x03\u01AF\x03\u01AF\x03\u01AF" + "\x03\u01AF\x05\u01AF\u1FB9\n\u01AF\x03\u01AF\x05\u01AF\u1FBC\n\u01AF\x03" + "\u01AF\x05\u01AF\u1FBF\n\u01AF\x03\u01AF\x03\u01AF\x03\u01AF\x05\u01AF" + "\u1FC4\n\u01AF\x05\u01AF\u1FC6\n\u01AF\x03\u01B0\x03\u01B0\x03\u01B0\x03" + "\u01B0\x05\u01B0\u1FCC\n\u01B0\x03\u01B1\x03\u01B1\x03\u01B1\x07\u01B1" + "\u1FD1\n\u01B1\f\u01B1\x0E\u01B1\u1FD4\v\u01B1\x03\u01B2\x03\u01B2\x03" + "\u01B3\x03\u01B3\x03\u01B3\x03\u01B3\x03\u01B3\x03\u01B3\x03\u01B4\x03" + "\u01B4\x03\u01B4\x03\u01B4\x03\u01B4\x03\u01B5\x03\u01B5\x03\u01B5\x03" + "\u01B5\x05\u01B5\u1FE7\n\u01B5\x03\u01B5\x03\u01B5\x03\u01B5\x03\u01B6" + "\x03\u01B6\x03\u01B6\x03\u01B6\x03\u01B6\x03\u01B6\x03\u01B6\x03\u01B6" + "\x03\u01B6\x03\u01B6\x03\u01B6\x03\u01B6\x03\u01B6\x03\u01B6\x03\u01B6" + "\x05\u01B6\u1FFB\n\u01B6\x03\u01B6\x03\u01B6\x05\u01B6\u1FFF\n\u01B6\x03" + "\u01B6\x03\u01B6\x03\u01B6\x05\u01B6\u2004\n\u01B6\x03\u01B7\x03\u01B7" + "\x03\u01B8\x03\u01B8\x03\u01B8\x03\u01B8\x03\u01B8\x03\u01B8\x03\u01B8" + "\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9" + "\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9" + "\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9" + "\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9" + "\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9" + "\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9" + "\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9" + "\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9\x03\u01B9" + "\x03\u01B9\x03\u01B9\x05\u01B9\u2049\n\u01B9\x03\u01B9\x03\u01B9\x03\u01B9" + "\x05\u01B9\u204E\n\u01B9\x03\u01BA\x03\u01BA\x03\u01BB\x03\u01BB\x05\u01BB" + "\u2054\n\u01BB\x03\u01BB\x03\u01BB\x03\u01BB\x03\u01BB\x03\u01BB\x03\u01BB" + "\x03\u01BB\x03\u01BB\x03\u01BB\x03\u01BC\x03\u01BC\x05\u01BC\u2061\n\u01BC" + "\x03\u01BC\x03\u01BC\x05\u01BC\u2065\n\u01BC\x03\u01BC\x03\u01BC\x05\u01BC" + "\u2069\n\u01BC\x03\u01BC\x03\u01BC\x03\u01BC\x03\u01BC\x05\u01BC\u206F" + "\n\u01BC\x05\u01BC\u2071\n\u01BC\x03\u01BD\x03\u01BD\x03\u01BD\x03\u01BD" + "\x07\u01BD\u2077\n\u01BD\f\u01BD\x0E\u01BD\u207A\v\u01BD\x03\u01BD\x03" + "\u01BD\x03\u01BE\x03\u01BE\x03\u01BE\x03\u01BF\x03\u01BF\x05\u01BF\u2083" + "\n\u01BF\x03\u01BF\x05\u01BF\u2086\n\u01BF\x03\u01BF\x05\u01BF\u2089\n" + "\u01BF\x03\u01BF\x05\u01BF\u208C\n\u01BF\x03\u01BF\x05\u01BF\u208F\n\u01BF" + "\x03\u01BF\x03\u01BF\x03\u01BF\x03\u01BF\x03\u01BF\x05\u01BF\u2096\n\u01BF" + "\x03\u01BF\x05\u01BF\u2099\n\u01BF\x05\u01BF\u209B\n\u01BF\x03\u01C0\x03" + "\u01C0\x05\u01C0\u209F\n\u01C0\x03\u01C0\x05\u01C0\u20A2\n\u01C0\x03\u01C0" + "\x03\u01C0\x03\u01C0\x03\u01C0\x03\u01C0\x05\u01C0\u20A9\n\u01C0\x05\u01C0" + "\u20AB\n\u01C0\x03\u01C1\x03\u01C1\x03\u01C1\x07\u01C1\u20B0\n\u01C1\f" + "\u01C1\x0E\u01C1\u20B3\v\u01C1\x03\u01C2\x03\u01C2\x03\u01C3\x03\u01C3" + "\x05\u01C3\u20B9\n\u01C3\x03\u01C4\x03\u01C4\x05\u01C4\u20BD\n\u01C4\x03" + "\u01C5\x03\u01C5\x05\u01C5\u20C1\n\u01C5\x03\u01C6\x03\u01C6\x03\u01C7" + "\x03\u01C7\x03\u01C7\x07\u01C7\u20C8\n\u01C7\f\u01C7\x0E\u01C7\u20CB\v" + "\u01C7\x03\u01C8\x03\u01C8\x03\u01C8\x05\u01C8\u20D0\n\u01C8\x03\u01C9" + "\x03\u01C9\x05\u01C9\u20D4\n\u01C9\x03\u01CA\x03\u01CA\x05\u01CA\u20D8" + "\n\u01CA\x03\u01CB\x03\u01CB\x03\u01CB\x05\u01CB\u20DD\n\u01CB\x03\u01CC" + "\x03\u01CC\x03\u01CD\x03\u01CD\x03\u01CE\x03\u01CE\x03\u01CE\x03\u01CE" + "\x03\u01CF\x03\u01CF\x05\u01CF\u20E9\n\u01CF\x03\u01D0\x03\u01D0\x03\u01D0" + "\x07\u01D0\u20EE\n\u01D0\f\u01D0\x0E\u01D0\u20F1\v\u01D0\x03\u01D1\x03" + "\u01D1\x03\u01D2\x03\u01D2\x03\u01D2\x03\u01D2\x03\u01D2\x05\u01D2\u20FA" + "\n\u01D2\x03\u01D2\x03\u01D2\x03\u01D2\x03\u01D2\x03\u01D2\x03\u01D2\x03" + "\u01D2\x03\u01D2\x03\u01D2\x03\u01D2\x03\u01D2\x05\u01D2\u2107\n\u01D2" + "\x03\u01D3\x03\u01D3\x03\u01D3\x03\u01D3\x03\u01D3\x03\u01D3\x03\u01D3" + "\x03\u01D3\x03\u01D3\x05\u01D3\u2112\n\u01D3\x03\u01D4\x03\u01D4\x03\u01D4" + "\x07\u01D4\u2117\n\u01D4\f\u01D4\x0E\u01D4\u211A\v\u01D4\x03\u01D5\x03" + "\u01D5\x05\u01D5\u211E\n\u01D5\x03\u01D6\x03\u01D6\x05\u01D6\u2122\n\u01D6" + "\x03\u01D7\x03\u01D7\x05\u01D7\u2126\n\u01D7\x03\u01D8\x03\u01D8\x03\u01D8" + "\x05\u01D8\u212B\n\u01D8\x03\u01D8\x03\u01D8\x03\u01D8\x03\u01D9\x03\u01D9" + "\x03\u01D9\x03\u01D9\x03\u01DA\x03\u01DA\x03\u01DA\x03\u01DA\x05\u01DA" + "\u2138\n\u01DA\x03\u01DB\x03\u01DB\x03\u01DB\x05\u01DB\u213D\n\u01DB\x03" + "\u01DB\x03\u01DB\x05\u01DB\u2141\n\u01DB\x03\u01DB\x03\u01DB\x05\u01DB" + "\u2145\n\u01DB\x03\u01DB\x03\u01DB\x03\u01DB\x03\u01DB\x03\u01DB\x05\u01DB" + "\u214C\n\u01DB\x03\u01DB\x05\u01DB\u214F\n\u01DB\x05\u01DB\u2151\n\u01DB" + "\x03\u01DC\x03\u01DC\x03\u01DC\x03\u01DC\x03\u01DD\x03\u01DD\x03\u01DD" + "\x03\u01DD\x03\u01DD\x03\u01DD\x03\u01DD\x03\u01DD\x03\u01DD\x03\u01DD" + "\x05\u01DD\u2161\n\u01DD\x03\u01DE\x05\u01DE\u2164\n\u01DE\x03\u01DE\x03" + "\u01DE\x03\u01DE\x03\u01DE\x03\u01DE\x05\u01DE\u216B\n\u01DE\x03\u01DE" + "\x05\u01DE\u216E\n\u01DE\x03\u01DF\x03\u01DF\x03\u01DF\x05\u01DF\u2173" + "\n\u01DF\x03\u01E0\x03\u01E0\x03\u01E0\x03\u01E0\x05\u01E0\u2179\n\u01E0" + "\x03\u01E0\x03\u01E0\x03\u01E0\x03\u01E0\x05\u01E0\u217F\n\u01E0\x03\u01E0" + "\x03\u01E0\x05\u01E0\u2183\n\u01E0\x03\u01E1\x03\u01E1\x03\u01E2\x03\u01E2" + "\x03\u01E2\x07\u01E2\u218A\n\u01E2\f\u01E2\x0E\u01E2\u218D\v\u01E2\x03" + "\u01E3\x03\u01E3\x03\u01E3\x03\u01E4\x03\u01E4\x03\u01E4\x05\u01E4\u2195" + "\n\u01E4\x03\u01E4\x03\u01E4\x03\u01E4\x03\u01E4\x03\u01E4\x05\u01E4\u219C" + "\n\u01E4\x03\u01E4\x05\u01E4\u219F\n\u01E4\x03\u01E5\x03\u01E5\x03\u01E5" + "\x03\u01E5\x05\u01E5\u21A5\n\u01E5\x03\u01E5\x03\u01E5\x03\u01E5\x05\u01E5" + "\u21AA\n\u01E5\x03\u01E6\x03\u01E6\x03\u01E6\x03\u01E7\x05\u01E7\u21B0" + "\n\u01E7\x03\u01E7\x03\u01E7\x03\u01E7\x03\u01E7\x05\u01E7\u21B6\n\u01E7" + "\x03\u01E7\x05\u01E7\u21B9\n\u01E7\x03\u01E7\x05\u01E7\u21BC\n\u01E7\x03" + "\u01E8\x03\u01E8\x03\u01E8\x03\u01E9\x03\u01E9\x05\u01E9\u21C3\n\u01E9" + "\x03\u01E9\x03\u01E9\x05\u01E9\u21C7\n\u01E9\x03\u01E9\x05\u01E9\u21CA" + "\n\u01E9\x03\u01EA\x03\u01EA\x03\u01EA\x03\u01EA\x03\u01EB\x03\u01EB\x03" + "\u01EB\x03\u01EB\x03\u01EB\x03\u01EB\x03\u01EB\x03\u01EB\x03\u01EB\x05" + "\u01EB\u21D9\n\u01EB\x03\u01EB\x05\u01EB\u21DC\n\u01EB\x03\u01EC\x03\u01EC" + "\x03\u01ED\x03\u01ED\x03\u01ED\x05\u01ED\u21E3\n\u01ED\x03\u01EE\x05\u01EE" + "\u21E6\n\u01EE\x03\u01EE\x03\u01EE\x03\u01EE\x03\u01EE\x03\u01EE\x05\u01EE" + "\u21ED\n\u01EE\x03\u01EE\x05\u01EE\u21F0\n\u01EE\x03\u01EE\x05\u01EE\u21F3" + "\n\u01EE\x03\u01EF\x03\u01EF\x03\u01EF\x07\u01EF\u21F8\n\u01EF\f\u01EF" + "\x0E\u01EF\u21FB\v\u01EF\x03\u01F0\x03\u01F0\x03\u01F0\x03\u01F0\x03\u01F0" + "\x03\u01F0\x03\u01F0\x03\u01F0\x03\u01F0\x05\u01F0\u2206\n\u01F0\x03\u01F0" + "\x03\u01F0\x03\u01F0\x03\u01F0\x03\u01F0\x05\u01F0\u220D\n\u01F0\x05\u01F0" + "\u220F\n\u01F0\x03\u01F1\x03\u01F1\x03\u01F1\x03\u01F2\x03\u01F2\x03\u01F2" + "\x07\u01F2\u2217\n\u01F2\f\u01F2\x0E\u01F2\u221A\v\u01F2\x03\u01F3\x03" + "\u01F3\x03\u01F3\x03\u01F3\x03\u01F3\x03\u01F3\x03\u01F3\x03\u01F3\x03" + "\u01F4\x03\u01F4\x03\u01F5\x03\u01F5\x03\u01F5\x03\u01F5\x03\u01F5\x07" + "\u01F5\u222B\n\u01F5\f\u01F5\x0E\u01F5\u222E\v\u01F5\x03\u01F6\x03\u01F6" + "\x03\u01F6\x03\u01F6\x03\u01F6\x05\u01F6\u2235\n\u01F6\x03\u01F7\x03\u01F7" + "\x05\u01F7\u2239\n\u01F7\x03\u01F8\x03\u01F8\x03\u01F8\x03\u01F8\x03\u01F8" + "\x03\u01F8\x03\u01F8\x03\u01F8\x05\u01F8\u2243\n\u01F8\x03\u01F9\x03\u01F9" + "\x05\u01F9\u2247\n\u01F9\x03\u01F9\x03\u01F9\x05\u01F9\u224B\n\u01F9\x03" + "\u01F9\x03\u01F9\x05\u01F9\u224F\n\u01F9\x05\u01F9\u2251\n\u01F9\x03\u01F9" + "\x03\u01F9\x03\u01F9\x05\u01F9\u2256\n\u01F9\x03\u01F9\x03\u01F9\x05\u01F9" + "\u225A\n\u01F9\x03\u01F9\x03\u01F9\x05\u01F9\u225E\n\u01F9\x05\u01F9\u2260" + "\n\u01F9\x05\u01F9\u2262\n\u01F9\x03\u01FA\x03\u01FA\x05\u01FA\u2266\n" + "\u01FA\x03\u01FB\x03\u01FB\x05\u01FB\u226A\n\u01FB\x03\u01FB\x05\u01FB" + "\u226D\n\u01FB\x03\u01FB\x05\u01FB\u2270\n\u01FB\x03\u01FB\x05\u01FB\u2273" + "\n\u01FB\x03\u01FB\x05\u01FB\u2276\n\u01FB\x05\u01FB\u2278\n\u01FB\x03" + "\u01FB\x05\u01FB\u227B\n\u01FB\x03\u01FB\x05\u01FB\u227E\n\u01FB\x03\u01FB" + "\x05\u01FB\u2281\n\u01FB\x03\u01FB\x05\u01FB\u2284\n\u01FB\x03\u01FB\x05" + "\u01FB\u2287\n\u01FB\x03\u01FB\x05\u01FB\u228A\n\u01FB\x03\u01FB\x03\u01FB" + "\x03\u01FB\x03\u01FB\x03\u01FB\x03\u01FB\x03\u01FB\x05\u01FB\u2293\n\u01FB" + "\x05\u01FB\u2295\n\u01FB\x03\u01FB\x03\u01FB\x03\u01FB\x05\u01FB\u229A" + "\n\u01FB\x07\u01FB\u229C\n\u01FB\f\u01FB\x0E\u01FB\u229F\v\u01FB\x03\u01FC" + "\x03\u01FC\x03\u01FC\x05\u01FC\u22A4\n\u01FC\x03\u01FD\x03\u01FD\x05\u01FD" + "\u22A8\n\u01FD\x03\u01FE\x03\u01FE\x05\u01FE\u22AC\n\u01FE\x03\u01FE\x03" + "\u01FE\x03\u01FF\x03\u01FF\x03\u01FF\x07\u01FF\u22B3\n\u01FF\f\u01FF\x0E" + "\u01FF\u22B6\v\u01FF\x03\u0200\x03\u0200\x05\u0200\u22BA\n\u0200\x03\u0200" + "\x03\u0200\x05\u0200\u22BE\n\u0200\x03\u0200\x03\u0200\x03\u0200\x03\u0200" + "\x05\u0200\u22C4\n\u0200\x03\u0200\x05\u0200\u22C7\n\u0200\x03\u0201\x03" + "\u0201\x03\u0201\x03\u0201\x03\u0201\x03\u0201\x03\u0201\x03\u0201\x03" + "\u0202\x03\u0202\x03\u0202\x03\u0202\x03\u0202\x03\u0202\x03\u0202\x03" + "\u0202\x03\u0202\x05\u0202\u22DA\n\u0202\x03\u0202\x03\u0202\x03\u0202" + "\x03\u0203\x03\u0203\x03\u0203\x05\u0203\u22E2\n\u0203\x03\u0204\x03\u0204" + "\x03\u0205\x03\u0205\x03\u0205\x03\u0205\x03\u0205\x05\u0205\u22EB\n\u0205" + "\x03\u0206\x03\u0206\x05\u0206\u22EF\n\u0206\x03\u0207\x05\u0207\u22F2" + "\n\u0207\x03\u0207\x03\u0207\x05\u0207\u22F6\n\u0207\x03\u0207\x03\u0207" + "\x03\u0207\x05\u0207\u22FB\n\u0207\x03\u0207\x03\u0207\x03\u0207\x03\u0207" + "\x05\u0207\u2301\n\u0207\x03\u0208\x03\u0208\x03\u0209\x03\u0209\x03\u020A" + "\x03\u020A\x03\u020A\x03\u020A\x03\u020A\x03\u020A\x05\u020A\u230D\n\u020A" + "\x03\u020B\x03\u020B\x03\u020C\x03\u020C\x03\u020D\x03\u020D\x03\u020D" + "\x03\u020D\x03\u020E\x03\u020E\x03\u020E\x07\u020E\u231A\n\u020E\f\u020E" + "\x0E\u020E\u231D\v\u020E\x03\u020F\x03\u020F\x03\u020F\x03\u020F\x05\u020F" + "\u2323\n\u020F\x03\u020F\x05\u020F\u2326\n\u020F\x03\u0210\x03\u0210\x05" + "\u0210\u232A\n\u0210\x03\u0210\x03\u0210\x05\u0210\u232E\n\u0210\x03\u0210" + "\x03\u0210\x05\u0210\u2332\n\u0210\x05\u0210\u2334\n\u0210\x03\u0211\x03" + "\u0211\x03\u0212\x03\u0212\x03\u0212\x03\u0212\x05\u0212\u233C\n\u0212" + "\x03\u0213\x03\u0213\x03\u0213\x03\u0213\x03\u0213\x03\u0213\x03\u0213" + "\x05\u0213\u2345\n\u0213\x03\u0213\x03\u0213\x03\u0213\x03\u0213\x05\u0213" + "\u234B\n\u0213\x05\u0213\u234D\n\u0213\x03\u0214\x03\u0214\x03\u0214\x03" + "\u0214\x03\u0214\x05\u0214\u2354\n\u0214\x03\u0215\x03\u0215\x05\u0215" + "\u2358\n\u0215\x03\u0216\x03\u0216\x03\u0217\x03\u0217\x03\u0217\x03\u0217" + "\x03\u0217\x05\u0217\u2361\n\u0217\x03\u0218\x03\u0218\x05\u0218\u2365" + "\n\u0218\x03\u0219\x03\u0219\x03\u021A\x03\u021A\x03\u021B\x03\u021B\x03" + "\u021B\x05\u021B\u236E\n\u021B\x03\u021B\x03\u021B\x03\u021C\x03\u021C" + "\x03\u021C\x07\u021C\u2375\n\u021C\f\u021C\x0E\u021C\u2378\v\u021C\x03" + "\u021D\x03\u021D\x03\u021D\x03\u021D\x03\u021D\x03\u021D\x03\u021D\x03" + "\u021D\x03\u021D\x05\u021D\u2383\n\u021D\x03\u021E\x03\u021E\x03\u021E" + "\x03\u021F\x03\u021F\x03\u021F\x03\u021F\x03\u021F\x03\u0220\x03\u0220" + "\x03\u0220\x03\u0220\x03\u0220\x03\u0221\x03\u0221\x03\u0221\x03\u0221" + "\x03\u0221\x03\u0221\x03\u0222\x03\u0222\x03\u0222\x03\u0223\x03\u0223" + "\x03\u0223\x03\u0223\x05\u0223\u239F\n\u0223\x03\u0224\x03\u0224\x03\u0225" + "\x06\u0225\u23A4\n\u0225\r\u0225\x0E\u0225\u23A5\x03\u0226\x03\u0226\x05" + "\u0226\u23AA\n\u0226\x03\u0226\x05\u0226\u23AD\n\u0226\x03\u0227\x03\u0227" + "\x03\u0227\x05\u0227\u23B2\n\u0227\x03\u0227\x03\u0227\x05\u0227\u23B6" + "\n\u0227\x03\u0227\x05\u0227\u23B9\n\u0227\x03\u0228\x03\u0228\x03\u0228" + "\x03\u0229\x03\u0229\x03\u0229\x03\u0229\x03\u0229\x03\u0229\x03\u0229" + "\x03\u0229\x03\u0229\x07\u0229\u23C7\n\u0229\f\u0229\x0E\u0229\u23CA\v" + "\u0229\x03\u022A\x03\u022A\x03\u022A\x03\u022B\x03\u022B\x03\u022B\x07" + "\u022B\u23D2\n\u022B\f\u022B\x0E\u022B\u23D5\v\u022B\x03\u022C\x03\u022C" + "\x05\u022C\u23D9\n\u022C\x03\u022C\x05\u022C\u23DC\n\u022C\x03\u022C\x05" + "\u022C\u23DF\n\u022C\x03\u022C\x03\u022C\x05\u022C\u23E3\n\u022C\x03\u022C" + "\x03\u022C\x05\u022C\u23E7\n\u022C\x03\u022C\x03\u022C\x05\u022C\u23EB" + "\n\u022C\x03\u022C\x03\u022C\x03\u022C\x05\u022C\u23F0\n\u022C\x03\u022C" + "\x03\u022C\x05\u022C\u23F4\n\u022C\x03\u022C\x03\u022C\x05\u022C\u23F8" + "\n\u022C\x05\u022C\u23FA\n\u022C\x03\u022C\x03\u022C\x03\u022C\x03\u022C" + "\x03\u022C\x03\u022C\x03\u022C\x05\u022C\u2403\n\u022C\x03\u022C\x03\u022C" + "\x03\u022C\x05\u022C\u2408\n\u022C\x03\u022C\x03\u022C\x03\u022C\x03\u022C" + "\x05\u022C\u240E\n\u022C\x03\u022C\x03\u022C\x05\u022C\u2412\n\u022C\x05" + "\u022C\u2414\n\u022C\x03\u022C\x03\u022C\x03\u022C\x03\u022C\x03\u022C" + "\x05\u022C\u241B\n\u022C\x03\u022C\x03\u022C\x03\u022C\x05\u022C\u2420" + "\n\u022C\x03\u022C\x03\u022C\x03\u022C\x03\u022C\x07\u022C\u2426\n\u022C" + "\f\u022C\x0E\u022C\u2429\v\u022C\x03\u022D\x05\u022D\u242C\n\u022D\x03" + "\u022D\x03\u022D\x03\u022D\x03\u022D\x03\u022D\x05\u022D\u2433\n\u022D" + "\x03\u022E\x03\u022E\x03\u022F\x03\u022F\x03\u022F\x05\u022F\u243A\n\u022F" + "\x03\u022F\x05\u022F\u243D\n\u022F\x03\u022F\x03\u022F\x03\u022F\x03\u022F" + "\x05\u022F\u2443\n\u022F\x03\u0230\x03\u0230\x05\u0230\u2447\n\u0230\x03" + "\u0231\x03\u0231\x03\u0231\x03\u0231\x03\u0231\x03\u0231\x03\u0231\x05" + "\u0231\u2450\n\u0231\x03\u0232\x05\u0232\u2453\n\u0232\x03\u0232\x03\u0232" + "\x05\u0232\u2457\n\u0232\x03\u0232\x05\u0232\u245A\n\u0232\x03\u0232\x05" + "\u0232\u245D\n\u0232\x03\u0232\x03\u0232\x03\u0232\x03\u0232\x03\u0232" + "\x03\u0232\x05\u0232\u2465\n\u0232\x03\u0232\x03\u0232\x03\u0232\x03\u0232" + "\x05\u0232\u246B\n\u0232\x05\u0232\u246D\n\u0232\x03\u0233\x05\u0233\u2470" + "\n\u0233\x03\u0233\x03\u0233\x05\u0233\u2474\n\u0233\x03\u0233\x05\u0233" + "\u2477\n\u0233\x03\u0233\x05\u0233\u247A\n\u0233\x03\u0234\x03\u0234\x05" + "\u0234\u247E\n\u0234\x03\u0234\x03\u0234\x05\u0234\u2482\n\u0234\x03\u0234" + "\x03\u0234\x03\u0234\x03\u0234\x05\u0234\u2488\n\u0234\x03\u0234\x05\u0234" + "\u248B\n\u0234\x03\u0234\x03\u0234\x03\u0234\x03\u0234\x03\u0234\x03\u0234" + "\x03\u0234\x05\u0234\u2494\n\u0234\x03\u0234\x03\u0234\x03\u0234\x03\u0234" + "\x03\u0234\x05\u0234\u249B\n\u0234\x05\u0234\u249D\n\u0234\x03\u0235\x03" + "\u0235\x03\u0235\x07\u0235\u24A2\n\u0235\f\u0235\x0E\u0235\u24A5\v\u0235" + "\x03\u0236\x03\u0236\x03\u0236\x07\u0236\u24AA\n\u0236\f\u0236\x0E\u0236" + "\u24AD\v\u0236\x03\u0237\x03\u0237\x05\u0237\u24B1\n\u0237\x03\u0237\x05" + "\u0237\u24B4\n\u0237\x03\u0238\x03\u0238\x03\u0238\x03\u0238\x03\u0238" + "\x03\u0238\x05\u0238\u24BC\n\u0238\x03\u0239\x03\u0239\x03\u0239\x03\u0239" + "\x03\u0239\x03\u023A\x03\u023A\x05\u023A\u24C5\n\u023A\x03\u023A\x03\u023A" + "\x03\u023A\x03\u023A\x03\u023A\x03\u023A\x05\u023A\u24CD\n\u023A\x05\u023A" + "\u24CF\n\u023A\x03\u023B\x03\u023B\x05\u023B\u24D3\n\u023B\x03\u023C\x03" + "\u023C\x03\u023C\x07\u023C\u24D8\n\u023C\f\u023C\x0E\u023C\u24DB\v\u023C" + "\x03\u023D\x03\u023D\x03\u023D\x03\u023D\x03\u023D\x03\u023E\x03\u023E" + "\x03\u023E\x03\u023F\x03\u023F\x03\u023F\x03\u0240\x03\u0240\x03\u0240" + "\x03\u0240\x03\u0240\x05\u0240\u24ED\n\u0240\x03\u0241\x03\u0241\x03\u0242" + "\x03\u0242\x03\u0242\x07\u0242\u24F4\n\u0242\f\u0242\x0E\u0242\u24F7\v" + "\u0242\x03\u0243\x03\u0243\x03\u0243\x05\u0243\u24FC\n\u0243\x03\u0244" + "\x03"; private static readonly _serializedATNSegment4: string = "\u0244\x03\u0244\x03\u0244\x03\u0244\x03\u0244\x03\u0244\x03\u0244\x03" + "\u0244\x03\u0244\x03\u0244\x03\u0244\x03\u0244\x03\u0244\x03\u0244\x03" + "\u0244\x03\u0244\x05\u0244\u250F\n\u0244\x03\u0244\x03\u0244\x03\u0245" + "\x03\u0245\x03\u0245\x07\u0245\u2516\n\u0245\f\u0245\x0E\u0245\u2519\v" + "\u0245\x03\u0246\x03\u0246\x03\u0246\x05\u0246\u251E\n\u0246\x03\u0246" + "\x03\u0246\x05\u0246\u2522\n\u0246\x03\u0247\x06\u0247\u2525\n\u0247\r" + "\u0247\x0E\u0247\u2526\x03\u0248\x03\u0248\x03\u0248\x03\u0248\x03\u0248" + "\x03\u0248\x03\u0248\x03\u0248\x05\u0248\u2531\n\u0248\x03\u0249\x03\u0249" + "\x03\u0249\x07\u0249\u2536\n\u0249\f\u0249\x0E\u0249\u2539\v\u0249\x03" + "\u024A\x03\u024A\x03\u024A\x03\u024A\x03\u024A\x03\u024A\x05\u024A\u2541" + "\n\u024A\x03\u024B\x05\u024B\u2544\n\u024B\x03\u024B\x03\u024B\x03\u024B" + "\x03\u024B\x03\u024B\x03\u024B\x03\u024B\x05\u024B\u254D\n\u024B\x05\u024B" + "\u254F\n\u024B\x03\u024B\x03\u024B\x03\u024B\x03\u024B\x05\u024B\u2555" + "\n\u024B\x03\u024C\x03\u024C\x05\u024C\u2559\n\u024C\x03\u024C\x07\u024C" + "\u255C\n\u024C\f\u024C\x0E\u024C\u255F\v\u024C\x03\u024D\x03\u024D\x03" + "\u024D\x03\u024D\x03\u024D\x03\u024D\x03\u024D\x05\u024D\u2568\n\u024D" + "\x03\u024D\x03\u024D\x03\u024D\x03\u024D\x05\u024D\u256E\n\u024D\x05\u024D" + "\u2570\n\u024D\x03\u024E\x03\u024E\x03\u024E\x03\u024E\x05\u024E\u2576" + "\n\u024E\x03\u024F\x03\u024F\x05\u024F\u257A\n\u024F\x03\u024F\x05\u024F" + "\u257D\n\u024F\x03\u0250\x03\u0250\x03\u0250\x03\u0250\x03\u0251\x03\u0251" + "\x03\u0251\x03\u0251\x03\u0251\x03\u0251\x03\u0251\x05\u0251\u258A\n\u0251" + "\x03\u0251\x03\u0251\x03\u0251\x03\u0251\x05\u0251\u2590\n\u0251\x03\u0251" + "\x03\u0251\x05\u0251\u2594\n\u0251\x03\u0251\x03\u0251\x05\u0251\u2598" + "\n\u0251\x03\u0251\x05\u0251\u259B\n\u0251\x03\u0252\x03\u0252\x03\u0252" + "\x03\u0252\x03\u0253\x03\u0253\x05\u0253\u25A3\n\u0253\x03\u0254\x03\u0254" + "\x05\u0254\u25A7\n\u0254\x03\u0255\x03\u0255\x05\u0255\u25AB\n\u0255\x03" + "\u0255\x03\u0255\x03\u0255\x03\u0255\x03\u0256\x03\u0256\x05\u0256\u25B3" + "\n\u0256\x03\u0257\x03\u0257\x03\u0257\x03\u0257\x03\u0257\x05\u0257\u25BA" + "\n\u0257\x03\u0258\x03\u0258\x03\u0258\x03\u0258\x03\u0258\x05\u0258\u25C1" + "\n\u0258\x03\u0259\x03\u0259\x05\u0259\u25C5\n\u0259\x03\u0259\x03\u0259" + "\x03\u0259\x03\u0259\x05\u0259\u25CB\n\u0259\x05\u0259\u25CD\n\u0259\x03" + "\u025A\x03\u025A\x03\u025B\x03\u025B\x03\u025B\x03\u025B\x03\u025B\x05" + "\u025B\u25D6\n\u025B\x03\u025B\x05\u025B\u25D9\n\u025B\x03\u025C\x03\u025C" + "\x03\u025D\x03\u025D\x03\u025D\x03\u025D\x03\u025D\x03\u025D\x05\u025D" + "\u25E3\n\u025D\x03\u025E\x03\u025E\x03\u025E\x03\u025E\x03\u025E\x03\u025E" + "\x03\u025E\x03\u025E\x03\u025E\x03\u025E\x03\u025E\x03\u025E\x03\u025E" + "\x03\u025E\x05\u025E\u25F3\n\u025E\x03\u025E\x03\u025E\x03\u025E\x03\u025E" + "\x05\u025E\u25F9\n\u025E\x03\u025E\x03\u025E\x03\u025E\x05\u025E\u25FE" + "\n\u025E\x03\u025F\x03\u025F\x03\u025F\x03\u025F\x03\u025F\x05\u025F\u2605" + "\n\u025F\x03\u0260\x03\u0260\x03\u0260\x03\u0261\x03\u0261\x03\u0262\x03" + "\u0262\x05\u0262\u260E\n\u0262\x03\u0263\x03\u0263\x03\u0263\x07\u0263" + "\u2613\n\u0263\f\u0263\x0E\u0263\u2616\v\u0263\x03\u0264\x03\u0264\x03" + "\u0264\x07\u0264\u261B\n\u0264\f\u0264\x0E\u0264\u261E\v\u0264\x03\u0265" + "\x03\u0265\x03\u0265\x07\u0265\u2623\n\u0265\f\u0265\x0E\u0265\u2626\v" + "\u0265\x03\u0266\x03\u0266\x05\u0266\u262A\n\u0266\x03\u0266\x03\u0266" + "\x05\u0266\u262E\n\u0266\x03\u0267\x05\u0267\u2631\n\u0267\x03\u0267\x03" + "\u0267\x03\u0268\x03\u0268\x05\u0268\u2637\n\u0268\x03\u0269\x03\u0269" + "\x03\u0269\x05\u0269\u263C\n\u0269\x03\u0269\x03\u0269\x03\u0269\x03\u0269" + "\x03\u0269\x03\u0269\x03\u0269\x03\u0269\x03\u0269\x03\u0269\x03\u0269" + "\x03\u0269\x03\u0269\x03\u0269\x05\u0269\u264C\n\u0269\x03\u0269\x05\u0269" + "\u264F\n\u0269\x05\u0269\u2651\n\u0269\x03\u026A\x03\u026A\x03\u026A\x03" + "\u026A\x03\u026A\x03\u026A\x03\u026A\x03\u026A\x03\u026A\x03\u026A\x05" + "\u026A\u265D\n\u026A\x05\u026A\u265F\n\u026A\x03\u026B\x03\u026B\x05\u026B" + "\u2663\n\u026B\x03\u026B\x03\u026B\x03\u026B\x03\u026B\x03\u026B\x03\u026B" + "\x05\u026B\u266B\n\u026B\x05\u026B\u266D\n\u026B\x03\u026B\x03\u026B\x05" + "\u026B\u2671\n\u026B\x05\u026B\u2673\n\u026B\x03\u026C\x03\u026C\x03\u026C" + "\x03\u026C\x07\u026C\u2679\n\u026C\f\u026C\x0E\u026C\u267C\v\u026C\x03" + "\u026D\x05\u026D\u267F\n\u026D\x03\u026D\x03\u026D\x03\u026E\x03\u026E" + "\x03\u026E\x07\u026E\u2686\n\u026E\f\u026E\x0E\u026E\u2689\v\u026E\x03" + "\u026F\x03\u026F\x03\u026F\x07\u026F\u268E\n\u026F\f\u026F\x0E\u026F\u2691" + "\v\u026F\x03\u0270\x03\u0270\x03\u0270\x05\u0270\u2696\n\u0270\x03\u0271" + "\x05\u0271\u2699\n\u0271\x03\u0271\x03\u0271\x03\u0272\x03\u0272\x03\u0272" + "\x03\u0272\x03\u0272\x05\u0272\u26A2\n\u0272\x03\u0273\x03\u0273\x03\u0273" + "\x05\u0273\u26A7\n\u0273\x03\u0274\x03\u0274\x03\u0274\x07\u0274\u26AC" + "\n\u0274\f\u0274\x0E\u0274\u26AF\v\u0274\x03\u0275\x03\u0275\x03\u0275" + "\x03\u0275\x03\u0275\x03\u0275\x03\u0275\x05\u0275\u26B8\n\u0275\x03\u0275" + "\x03\u0275\x03\u0275\x03\u0275\x03\u0275\x03\u0275\x03\u0275\x03\u0275" + "\x03\u0275\x03\u0275\x03\u0275\x03\u0275\x03\u0275\x03\u0275\x03\u0275" + "\x03\u0275\x03\u0275\x03\u0275\x03\u0275\x03\u0275\x03\u0275\x03\u0275" + "\x03\u0275\x03\u0275\x05\u0275\u26D2\n\u0275\x03\u0275\x03\u0275\x03\u0275" + "\x03\u0275\x03\u0275\x03\u0275\x03\u0275\x03\u0275\x03\u0275\x05\u0275" + "\u26DD\n\u0275\x07\u0275\u26DF\n\u0275\f\u0275\x0E\u0275\u26E2\v\u0275" + "\x03\u0276\x03\u0276\x03\u0276\x03\u0276\x03\u0276\x05\u0276\u26E9\n\u0276" + "\x03\u0276\x03\u0276\x03\u0276\x03\u0276\x03\u0276\x03\u0276\x03\u0276" + "\x03\u0276\x03\u0276\x03\u0276\x03\u0276\x03\u0276\x03\u0276\x03\u0276" + "\x03\u0276\x03\u0276\x03\u0276\x03\u0276\x03\u0276\x03\u0276\x03\u0276" + "\x05\u0276\u2700\n\u0276\x03\u0276\x03\u0276\x03\u0276\x03\u0276\x03\u0276" + "\x03\u0276\x05\u0276\u2708\n\u0276\x03\u0277\x03\u0277\x03\u0278\x03\u0278" + "\x03\u0278\x03\u0278\x03\u0278\x03\u0278\x05\u0278\u2712\n\u0278\x03\u0278" + "\x05\u0278\u2715\n\u0278\x03\u0278\x03\u0278\x03\u0278\x05\u0278\u271A" + "\n\u0278\x03\u0278\x03\u0278\x03\u0278\x05\u0278\u271F\n\u0278\x03\u0278" + "\x03\u0278\x05\u0278\u2723\n\u0278\x03\u0278\x05\u0278\u2726\n\u0278\x03" + "\u0279\x03\u0279\x05\u0279\u272A\n\u0279\x03\u0279\x05\u0279\u272D\n\u0279" + "\x03\u0279\x05\u0279\u2730\n\u0279\x03\u0279\x05\u0279\u2733\n\u0279\x03" + "\u027A\x03\u027A\x05\u027A\u2737\n\u027A\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x05\u027B\u2745\n\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x05\u027B\u274C\n\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x05\u027B\u2753\n\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x05\u027B\u275A\n\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x05\u027B" + "\u276C\n\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x05\u027B\u2774\n\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x05\u027B\u2780\n\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x05\u027B\u2786\n\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x05\u027B\u2793\n\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x05\u027B\u27BA\n\u027B\x05\u027B\u27BC\n\u027B\x03\u027B\x03\u027B\x03" + "\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03" + "\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03" + "\u027B\x03\u027B\x05\u027B\u27D0\n\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x05\u027B\u27DA\n\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x05\u027B\u27E5\n\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B\x03\u027B" + "\x05\u027B\u27F1\n\u027B\x03\u027C\x03\u027C\x03\u027C\x03\u027C\x03\u027C" + "\x05\u027C\u27F8\n\u027C\x03\u027D\x03\u027D\x03\u027D\x03\u027D\x03\u027D" + "\x03\u027D\x03\u027D\x03\u027D\x03\u027D\x03\u027D\x05\u027D\u2804\n\u027D" + "\x03\u027E\x03\u027E\x03\u027E\x03\u027E\x03\u027E\x03\u027F\x03\u027F" + "\x03\u027F\x07\u027F\u280E\n\u027F\f\u027F\x0E\u027F\u2811\v\u027F\x03" + "\u0280\x03\u0280\x03\u0280\x05\u0280\u2816\n\u0280\x03\u0281\x03\u0281" + "\x03\u0282\x03\u0282\x03\u0282\x03\u0282\x05\u0282\u281E\n\u0282\x03\u0283" + "\x03\u0283\x03\u0283\x03\u0283\x03\u0283\x03\u0283\x03\u0283\x03\u0283" + "\x03\u0283\x03\u0283\x03\u0283\x03\u0283\x03\u0283\x03\u0283\x03\u0283" + "\x05\u0283\u282F\n\u0283\x03\u0284\x03\u0284\x03\u0284\x03\u0285\x03\u0285" + "\x03\u0285\x03\u0285\x03\u0285\x03\u0285\x03\u0286\x03\u0286\x03\u0286" + "\x03\u0286\x03\u0286\x03\u0286\x03\u0287\x03\u0287\x03\u0287\x03\u0288" + "\x03\u0288\x03\u0288\x07\u0288\u2846\n\u0288\f\u0288\x0E\u0288\u2849\v" + "\u0288\x03\u0289\x03\u0289\x03\u0289\x03\u0289\x03\u028A\x03\u028A\x03" + "\u028A\x05\u028A\u2852\n\u028A\x03\u028B\x03\u028B\x05\u028B\u2856\n\u028B" + "\x03\u028B\x05\u028B\u2859\n\u028B\x03\u028B\x05\u028B\u285C\n\u028B\x03" + "\u028B\x05\u028B\u285F\n\u028B\x03\u028B\x03\u028B\x03\u028C\x03\u028C" + "\x03\u028D\x03\u028D\x03\u028D\x03\u028D\x03\u028E\x03\u028E\x03\u028E" + "\x05\u028E\u286C\n\u028E\x03\u028E\x03\u028E\x03\u028E\x05\u028E\u2871" + "\n\u028E\x03\u028E\x03\u028E\x03\u028E\x05\u028E\u2876\n\u028E\x05\u028E" + "\u2878\n\u028E\x03\u028F\x03\u028F\x03\u028F\x03\u028F\x03\u028F\x03\u028F" + "\x05\u028F\u2880\n\u028F\x03\u0290\x03\u0290\x03\u0290\x03\u0290\x03\u0290" + "\x03\u0290\x03\u0290\x05\u0290\u2889\n\u0290\x03\u0291\x03\u0291\x03\u0291" + "\x03\u0291\x03\u0291\x03\u0291\x03\u0291\x05\u0291\u2892\n\u0291\x03\u0292" + "\x03\u0292\x03\u0292\x05\u0292\u2897\n\u0292\x03\u0292\x03\u0292\x03\u0292" + "\x03\u0292\x03\u0292\x03\u0292\x03\u0292\x05\u0292\u28A0\n\u0292\x03\u0293" + "\x03\u0293\x03\u0293\x05\u0293\u28A5\n\u0293\x03\u0293\x03\u0293\x03\u0294" + "\x03\u0294\x03\u0294\x03\u0294\x03\u0294\x03\u0294\x03\u0295\x03\u0295" + "\x03\u0296\x03\u0296\x05\u0296\u28B3\n\u0296\x03\u0297\x03\u0297\x03\u0298" + "\x03\u0298\x03\u0298\x03\u0298\x03\u0298\x03\u0298\x05\u0298\u28BD\n\u0298" + "\x03\u0299\x03\u0299\x03\u0299\x03\u0299\x03\u0299\x03\u0299\x05\u0299" + "\u28C5\n\u0299\x03\u029A\x03\u029A\x03\u029A\x03\u029A\x03\u029A\x03\u029A" + "\x03\u029A\x03\u029A\x03\u029A\x03\u029A\x03\u029A\x03\u029A\x05\u029A" + "\u28D3\n\u029A\x03\u029B\x03\u029B\x03\u029B\x07\u029B\u28D8\n\u029B\f" + "\u029B\x0E\u029B\u28DB\v\u029B\x03\u029C\x03\u029C\x03\u029C\x07\u029C" + "\u28E0\n\u029C\f\u029C\x0E\u029C\u28E3\v\u029C\x03\u029D\x03\u029D\x03" + "\u029D\x07\u029D\u28E8\n\u029D\f\u029D\x0E\u029D\u28EB\v\u029D\x03\u029E" + "\x03\u029E\x03\u029E\x03\u029E\x03\u029E\x05\u029E\u28F2\n\u029E\x03\u029F" + "\x03\u029F\x05\u029F\u28F6\n\u029F\x03\u02A0\x03\u02A0\x03\u02A0\x07\u02A0" + "\u28FB\n\u02A0\f\u02A0\x0E\u02A0\u28FE\v\u02A0\x03\u02A1\x03\u02A1\x03" + "\u02A1\x03\u02A1\x03\u02A1\x05\u02A1\u2905\n\u02A1\x03\u02A2\x03\u02A2" + "\x03\u02A2\x07\u02A2\u290A\n\u02A2\f\u02A2\x0E\u02A2\u290D\v\u02A2\x03" + "\u02A3\x03\u02A3\x03\u02A3\x05\u02A3\u2912\n\u02A3\x03\u02A3\x03\u02A3" + "\x03\u02A4\x03\u02A4\x03\u02A4\x07\u02A4\u2919\n\u02A4\f\u02A4\x0E\u02A4" + "\u291C\v\u02A4\x03\u02A5\x03\u02A5\x03\u02A5\x03\u02A5\x03\u02A6\x03\u02A6" + "\x03\u02A6\x03\u02A6\x03\u02A6\x03\u02A6\x03\u02A6\x03\u02A6\x05\u02A6" + "\u292A\n\u02A6\x03\u02A7\x03\u02A7\x03\u02A8\x03\u02A8\x03\u02A8\x03\u02A8" + "\x03\u02A8\x03\u02A8\x03\u02A8\x05\u02A8\u2935\n\u02A8\x03\u02A9\x03\u02A9" + "\x03\u02A9\x03\u02A9\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA" + "\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA" + "\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA" + "\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA\x03\u02AA" + "\x03\u02AA\x05\u02AA\u2956\n\u02AA\x03\u02AB\x03\u02AB\x03\u02AB\x03\u02AB" + "\x03\u02AB\x03\u02AB\x03\u02AB\x05\u02AB\u295F\n\u02AB\x03\u02AC\x03\u02AC" + "\x03\u02AC\x03\u02AC\x03\u02AC\x05\u02AC\u2966\n\u02AC\x03\u02AD\x03\u02AD" + "\x05\u02AD\u296A\n\u02AD\x03\u02AD\x03\u02AD\x05\u02AD\u296E\n\u02AD\x03" + "\u02AD\x03\u02AD\x03\u02AE\x06\u02AE\u2973\n\u02AE\r\u02AE\x0E\u02AE\u2974" + "\x03\u02AF\x03\u02AF\x03\u02AF\x03\u02AF\x03\u02AF\x03\u02B0\x03\u02B0" + "\x03\u02B0\x03\u02B1\x03\u02B1\x03\u02B2\x03\u02B2\x05\u02B2\u2983\n\u02B2" + "\x03\u02B3\x03\u02B3\x03\u02B3\x05\u02B3\u2988\n\u02B3\x03\u02B3\x03\u02B3" + "\x03\u02B3\x05\u02B3\u298D\n\u02B3\x03\u02B3\x03\u02B3\x05\u02B3\u2991" + "\n\u02B3\x05\u02B3\u2993\n\u02B3\x03\u02B3\x05\u02B3\u2996\n\u02B3\x03" + "\u02B4\x03\u02B4\x03\u02B5\x06\u02B5\u299B\n\u02B5\r\u02B5\x0E\u02B5\u299C" + "\x03\u02B6\x07\u02B6\u29A0\n\u02B6\f\u02B6\x0E\u02B6\u29A3\v\u02B6\x03" + "\u02B7\x03\u02B7\x03\u02B8\x03\u02B8\x03\u02B8\x07\u02B8\u29AA\n\u02B8" + "\f\u02B8\x0E\u02B8\u29AD\v\u02B8\x03\u02B9\x03\u02B9\x03\u02B9\x03\u02B9" + "\x03\u02B9\x05\u02B9\u29B4\n\u02B9\x03\u02B9\x05\u02B9\u29B7\n\u02B9\x03" + "\u02BA\x03\u02BA\x03\u02BA\x07\u02BA\u29BC\n\u02BA\f\u02BA\x0E\u02BA\u29BF" + "\v\u02BA\x03\u02BB\x03\u02BB\x03\u02BB\x07\u02BB\u29C4\n\u02BB\f\u02BB" + "\x0E\u02BB\u29C7\v\u02BB\x03\u02BC\x03\u02BC\x03\u02BC\x07\u02BC\u29CC" + "\n\u02BC\f\u02BC\x0E\u02BC\u29CF\v\u02BC\x03\u02BD\x03\u02BD\x03\u02BD" + "\x07\u02BD\u29D4\n\u02BD\f\u02BD\x0E\u02BD\u29D7\v\u02BD\x03\u02BE\x03" + "\u02BE\x03\u02BE\x07\u02BE\u29DC\n\u02BE\f\u02BE\x0E\u02BE\u29DF\v\u02BE" + "\x03\u02BF\x03\u02BF\x05\u02BF\u29E3\n\u02BF\x03\u02C0\x03\u02C0\x05\u02C0" + "\u29E7\n\u02C0\x03\u02C1\x03\u02C1\x05\u02C1\u29EB\n\u02C1\x03\u02C2\x03" + "\u02C2\x05\u02C2\u29EF\n\u02C2\x03\u02C3\x03\u02C3\x05\u02C3\u29F3\n\u02C3" + "\x03\u02C4\x03\u02C4\x05\u02C4\u29F7\n\u02C4\x03\u02C5\x03\u02C5\x05\u02C5" + "\u29FB\n\u02C5\x03\u02C6\x03\u02C6\x03\u02C6\x07\u02C6\u2A00\n\u02C6\f" + "\u02C6\x0E\u02C6\u2A03\v\u02C6\x03\u02C7\x03\u02C7\x03\u02C7\x07\u02C7" + "\u2A08\n\u02C7\f\u02C7\x0E\u02C7\u2A0B\v\u02C7\x03\u02C8\x03\u02C8\x05" + "\u02C8\u2A0F\n\u02C8\x03\u02C9\x03\u02C9\x05\u02C9\u2A13\n\u02C9\x03\u02CA" + "\x03\u02CA\x05\u02CA\u2A17\n\u02CA\x03\u02CB\x03\u02CB\x03\u02CC\x03\u02CC" + "\x03\u02CD\x03\u02CD\x03\u02CD\x03\u02CD\x05\u02CD\u2A21\n\u02CD\x03\u02CE" + "\x03\u02CE\x03\u02CE\x03\u02CE\x05\u02CE\u2A27\n\u02CE\x03\u02CF\x03\u02CF" + "\x03\u02D0\x03\u02D0\x03\u02D1\x03\u02D1\x03\u02D2\x03\u02D2\x03\u02D3" + "\x03\u02D3\x03\u02D4\x03\u02D4\x03\u02D4\x03\u02D4\x05\u02D4\u2A37\n\u02D4" + "\x03\u02D5\x03\u02D5\x03\u02D5\x03\u02D5\x05\u02D5\u2A3D\n\u02D5\x03\u02D6" + "\x03\u02D6\x03\u02D6\x03\u02D6\x05\u02D6\u2A43\n\u02D6\x03\u02D7\x03\u02D7" + "\x03\u02D7\x03\u02D7\x03\u02D7\x03\u02D7\x03\u02D7\x03\u02D7\x03\u02D7" + "\x03\u02D7\x05\u02D7\u2A4F\n\u02D7\x03\u02D7\x03\u02D7\x03\u02D7\x05\u02D7" + "\u2A54\n\u02D7\x03\u02D7\x03\u02D7\x03\u02D7\x03\u02D7\x03\u02D7\x03\u02D7" + "\x05\u02D7\u2A5C\n\u02D7\x03\u02D7\x03\u02D7\x03\u02D7\x03\u02D7\x03\u02D7" + "\x05\u02D7\u2A63\n\u02D7\x03\u02D7\x03\u02D7\x03\u02D7\x05\u02D7\u2A68" + "\n\u02D7\x03\u02D8\x03\u02D8\x03\u02D9\x03\u02D9\x03\u02DA\x03\u02DA\x03" + "\u02DB\x03\u02DB\x03\u02DC\x03\u02DC\x05\u02DC\u2A74\n\u02DC\x03\u02DD" + "\x03\u02DD\x03\u02DD\x03\u02DD\x07\u02DD\u2A7A\n\u02DD\f\u02DD\x0E\u02DD" + "\u2A7D\v\u02DD\x03\u02DD\x03\u02DD\x05\u02DD\u2A81\n\u02DD\x03\u02DE\x03" + "\u02DE\x03\u02DE\x03\u02DF\x03\u02DF\x03\u02DF\x03\u02DF\x03\u02DF\x05" + "\u02DF\u2A8B\n\u02DF\x03\u02E0\x03\u02E0\x03\u02E1\x03\u02E1\x03\u02E2" + "\x03\u02E2\x03\u02E2\x03\u02E2\x03\u02E2\x05\u02E2\u2A96\n\u02E2\x03\u02E3" + "\x03\u02E3\x03\u02E3\x07\u02E3\u2A9B\n\u02E3\f\u02E3\x0E\u02E3\u2A9E\v" + "\u02E3\x03\u02E4\x03\u02E4\x03\u02E4\x03\u02E4\x05\u02E4\u2AA4\n\u02E4" + "\x03\u02E5\x03\u02E5\x03\u02E6\x03\u02E6\x03\u02E6\x03\u02E6\x03\u02E6" + "\x03\u02E6\x03\u02E6\x05\u02E6\u2AAF\n\u02E6\x03\u02E6\x05\u02E6\u2AB2" + "\n\u02E6\x05\u02E6\u2AB4\n\u02E6\x03\u02E7\x03\u02E7\x05\u02E7\u2AB8\n" + "\u02E7\x03\u02E7\x05\u02E7\u2ABB\n\u02E7\x03\u02E8\x03\u02E8\x03\u02E8" + "\x03\u02E8\x05\u02E8\u2AC1\n\u02E8\x03\u02E9\x03\u02E9\x03\u02E9\x03\u02E9" + "\x05\u02E9\u2AC7\n\u02E9\x03\u02EA\x03\u02EA\x05\u02EA\u2ACB\n\u02EA\x03" + "\u02EB\x03\u02EB\x03\u02EB\x03\u02EB\x05\u02EB\u2AD1\n\u02EB\x03\u02EC" + "\x03\u02EC\x03\u02EC\x03\u02EC\x03\u02EC\x03\u02EC\x05\u02EC\u2AD9\n\u02EC" + "\x03\u02ED\x03\u02ED\x05\u02ED\u2ADD\n\u02ED\x03\u02ED\x03\u02ED\x03\u02ED" + "\x03\u02ED\x03\u02ED\x03\u02ED\x05\u02ED\u2AE5\n\u02ED\x03\u02EE\x03\u02EE" + "\x03\u02EF\x03\u02EF\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0" + "\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0" + "\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0" + "\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0" + "\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0" + "\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0" + "\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0" + "\x03\u02F0\x03\u02F0\x03\u02F0\x03\u02F0\x05\u02F0\u2B1E\n\u02F0\x03\u02F1" + "\x03\u02F1\x03\u02F2\x03\u02F2\x03\u02F3\x03\u02F3\x03\u02F3\x03\u02F3" + "\x03\u02F4\x07\u02F4\u2B29\n\u02F4\f\u02F4\x0E\u02F4\u2B2C\v\u02F4\x03" + "\u02F5\x03\u02F5\x03\u02F5\x03\u02F5\x03\u02F5\x03\u02F5\x03\u02F5\x03" + "\u02F5\x03\u02F5\x03\u02F5\x03\u02F5\x03\u02F5\x03\u02F5\x03\u02F5\x03" + "\u02F5\x03\u02F5\x03\u02F5\x03\u02F5\x03\u02F5\x03\u02F5\x05\u02F5\u2B42" + "\n\u02F5\x03\u02F6\x03\u02F6\x03\u02F7\x03\u02F7\x03\u02F7\x03\u02F7\x05" + "\u02F7\u2B4A\n\u02F7\x03\u02F8\x03\u02F8\x05\u02F8\u2B4E\n\u02F8\x03\u02F9" + "\x03\u02F9\x03\u02F9\x03\u02F9\x03\u02F9\x03\u02F9\x03\u02F9\x03\u02FA" + "\x03\u02FA\x03\u02FA\x05\u02FA\u2B5A\n\u02FA\x05\u02FA\u2B5C\n\u02FA\x03" + "\u02FB\x03\u02FB\x03\u02FC\x06\u02FC\u2B61\n\u02FC\r\u02FC\x0E\u02FC\u2B62" + "\x03\u02FD\x03\u02FD\x03\u02FD\x03\u02FD\x03\u02FE\x03\u02FE\x03\u02FE" + "\x05\u02FE\u2B6C\n\u02FE\x03\u02FF\x03\u02FF\x03\u02FF\x03\u02FF\x03\u02FF" + "\x03\u02FF\x03\u02FF\x03\u02FF\x03\u02FF\x03\u02FF\x03\u02FF\x03\u02FF" + "\x03\u02FF\x03\u02FF\x03\u02FF\x03\u02FF\x05\u02FF\u2B7E\n\u02FF\x03\u02FF" + "\x03\u02FF\x03\u0300\x03\u0300\x03\u0300\x03\u0300\x05\u0300\u2B86\n\u0300" + "\x03\u0301\x03\u0301\x03\u0302\x03\u0302\x03\u0302\x03\u0302\x03\u0302" + "\x05\u0302\u2B8F\n\u0302\x03\u0303\x03\u0303\x03\u0303\x07\u0303\u2B94" + "\n\u0303\f\u0303\x0E\u0303\u2B97\v\u0303\x03\u0304\x03\u0304\x03\u0304" + "\x03\u0305\x03\u0305\x03\u0306\x03\u0306\x05\u0306\u2BA0\n\u0306\x03\u0307" + "\x03\u0307\x03\u0308\x03\u0308\x05\u0308\u2BA6\n\u0308\x03\u0309\x03\u0309" + "\x03\u030A\x03\u030A\x03\u030A\x05\u030A\u2BAD\n\u030A\x03\u030B\x03\u030B" + "\x03\u030B\x05\u030B\u2BB2\n\u030B\x03\u030C\x03\u030C\x03\u030C\x03\u030C" + "\x05\u030C\u2BB8\n\u030C\x03\u030D\x03\u030D\x05\u030D\u2BBC\n\u030D\x03" + "\u030E\x03\u030E\x03\u030F\x07\u030F\u2BC1\n\u030F\f\u030F\x0E\u030F\u2BC4" + "\v\u030F\x03\u0310\x03\u0310\x03\u0310\x03\u0310\x03\u0310\x03\u0310\x03" + "\u0310\x03\u0310\x03\u0310\x03\u0310\x03\u0310\x03\u0310\x03\u0310\x03" + "\u0310\x03\u0310\x03\u0310\x03\u0310\x03\u0310\x03\u0310\x03\u0310\x03" + "\u0310\x03\u0310\x03\u0310\x03\u0310\x03\u0310\x03\u0310\x03\u0310\x05" + "\u0310\u2BE1\n\u0310\x03\u0311\x03\u0311\x03\u0311\x03\u0311\x03\u0312" + "\x03\u0312\x03\u0312\x03\u0312\x03\u0312\x03\u0312\x03\u0312\x05\u0312" + "\u2BEE\n\u0312\x03\u0312\x03\u0312\x03\u0312\x03\u0312\x03\u0312\x03\u0312" + "\x03\u0312\x05\u0312\u2BF7\n\u0312\x03\u0313\x03\u0313\x05\u0313\u2BFB" + "\n\u0313\x03\u0314\x03\u0314\x03\u0314\x03\u0314\x03\u0314\x03\u0315\x03" + "\u0315\x03\u0315\x03\u0315\x03\u0315\x03\u0315\x03\u0316\x03\u0316\x03" + "\u0316\x05\u0316\u2C0B\n\u0316\x03\u0317\x03\u0317\x03\u0317\x07\u0317" + "\u2C10\n\u0317\f\u0317\x0E\u0317\u2C13\v\u0317\x03\u0318\x03\u0318\x03" + "\u0318\x03\u0318\x03\u0319\x03\u0319\x03\u031A\x03\u031A\x03\u031B\x03" + "\u031B\x05\u031B\u2C1F\n\u031B\x03\u031B\x03\u031B\x03\u031B\x03\u031B" + "\x07\u031B\u2C25\n\u031B\f\u031B\x0E\u031B\u2C28\v\u031B\x03\u031C\x03" + "\u031C\x03\u031C\x03\u031C\x03\u031C\x03\u031C\x03\u031C\x03\u031C\x03" + "\u031C\x03\u031C\x03\u031D\x03\u031D\x03\u031D\x03\u031D\x03\u031D\x07" + "\u031D\u2C39\n\u031D\f\u031D\x0E\u031D\u2C3C\v\u031D\x03\u031E\x03\u031E" + "\x03\u031E\x05\u031E\u2C41\n\u031E\x03\u031F\x03\u031F\x03\u031F\x03\u031F" + "\x03\u031F\x03\u031F\x03\u031F\x03\u031F\x03\u0320\x03\u0320\x05\u0320" + "\u2C4D\n\u0320\x03\u0321\x06\u0321\u2C50\n\u0321\r\u0321\x0E\u0321\u2C51" + "\x03\u0322\x03\u0322\x03\u0322\x03\u0322\x03\u0322\x03\u0323\x03\u0323" + "\x03\u0323\x05\u0323\u2C5C\n\u0323\x03\u0324\x03\u0324\x03\u0324\x03\u0325" + "\x03\u0325\x03\u0325\x03\u0325\x03\u0325\x03\u0326\x03\u0326\x03\u0326" + "\x03\u0326\x03\u0326\x03\u0327\x03\u0327\x03\u0327\x03\u0327\x03\u0327" + "\x03\u0327\x03\u0327\x03\u0327\x03\u0327\x03\u0327\x03\u0327\x03\u0327" + "\x03\u0327\x03\u0327\x03\u0327\x03\u0327\x03\u0327\x05\u0327\u2C7C\n\u0327" + "\x03\u0328\x03\u0328\x03\u0328\x05\u0328\u2C81\n\u0328\x03\u0329\x03\u0329" + "\x03\u0329\x03\u0329\x03\u0329\x07\u0329\u2C88\n\u0329\f\u0329\x0E\u0329" + "\u2C8B\v\u0329\x03\u0329\x03\u0329\x05\u0329\u2C8F\n\u0329\x03\u032A\x03" + "\u032A\x05\u032A\u2C93\n\u032A\x03\u032B\x03\u032B\x03\u032B\x05\u032B" + "\u2C98\n\u032B\x03\u032C\x03\u032C\x03\u032D\x03\u032D\x03\u032D\x03\u032D" + "\x03\u032D\x03\u032D\x03\u032D\x03\u032D\x03\u032D\x03\u032E\x03\u032E" + "\x03\u032E\x05\u032E\u2CA8\n\u032E\x03\u032F\x03\u032F\x03\u032F\x05\u032F" + "\u2CAD\n\u032F\x03\u032F\x03\u032F\x03\u0330\x03\u0330\x03\u0331\x03\u0331" + "\x03\u0331\x03\u0331\x03\u0331\x03\u0331\x03\u0331\x03\u0331\x03\u0331" + "\x05\u0331\u2CBC\n\u0331\x03\u0331\x05\u0331\u2CBF\n\u0331\x03\u0331\x03" + "\u0331\x03\u0332\x03\u0332\x05\u0332\u2CC5\n\u0332\x03\u0333\x03\u0333" + "\x05\u0333\u2CC9\n\u0333\x03\u0333\x03\u0333\x03\u0333\x03\u0333\x03\u0333" + "\x03\u0333\x03\u0333\x05\u0333\u2CD2\n\u0333\x03\u0333\x03\u0333\x03\u0333" + "\x03\u0333\x03\u0333\x03\u0333\x05\u0333\u2CDA\n\u0333\x03\u0333\x03\u0333" + "\x03\u0333\x03\u0333\x03\u0333\x03\u0333\x03\u0333\x05\u0333\u2CE3\n\u0333" + "\x03\u0333\x03\u0333\x03\u0333\x03\u0333\x05\u0333\u2CE9\n\u0333\x03\u0334" + "\x03\u0334\x03\u0335\x03\u0335\x03\u0335\x06\u0335\u2CF0\n\u0335\r\u0335" + "\x0E\u0335\u2CF1\x05\u0335\u2CF4\n\u0335\x03\u0336\x03\u0336\x03\u0336" + "\x05\u0336\u2CF9\n\u0336\x03\u0337\x03\u0337\x03\u0337\x03\u0337\x03\u0338" + "\x03\u0338\x03\u0338\x07\u0338\u2D02\n\u0338\f\u0338\x0E\u0338\u2D05\v" + "\u0338\x03\u0339\x03\u0339\x03\u0339\x03\u0339\x03\u0339\x03\u033A\x03" + "\u033A\x03\u033A\x05\u033A\u2D0F\n\u033A\x03\u033B\x03\u033B\x03\u033B" + "\x03\u033B\x03\u033B\x03\u033B\x03\u033B\x03\u033C\x03\u033C\x03\u033C" + "\x03\u033D\x03\u033D\x03\u033D\x03\u033D\x03\u033D\x03\u033D\x03\u033D" + "\x03\u033D\x03\u033D\x05\u033D\u2D24\n\u033D\x03\u033D\x03\u033D\x03\u033E" + "\x03\u033E\x03\u033E\x05\u033E\u2D2B\n\u033E\x03\u033F\x03\u033F\x03\u033F" + "\x07\u033F\u2D30\n\u033F\f\u033F\x0E\u033F\u2D33\v\u033F\x03\u0340\x03" + "\u0340\x03\u0340\x05\u0340\u2D38\n\u0340\x03\u0340\x05\u0340\u2D3B\n\u0340" + "\x03\u0341\x03\u0341\x03\u0341\x03\u0341\x03\u0341\x03\u0341\x03\u0341" + "\x03\u0341\x03\u0341\x05\u0341\u2D46\n\u0341\x03\u0341\x03\u0341\x03\u0341" + "\x03\u0341\x03\u0341\x05\u0341\u2D4D\n\u0341\x05\u0341\u2D4F\n\u0341\x03" + "\u0341\x03\u0341\x03\u0342\x03\u0342\x03\u0342\x03\u0342\x03\u0342\x05" + "\u0342\u2D58\n\u0342\x03\u0343\x03\u0343\x03\u0343\x07\u0343\u2D5D\n\u0343" + "\f\u0343\x0E\u0343\u2D60\v\u0343\x03\u0344\x03\u0344\x03\u0344\x05\u0344" + "\u2D65\n\u0344\x03\u0345\x03\u0345\x03\u0345\x03\u0345\x05\u0345\u2D6B" + "\n\u0345\x03\u0346\x03\u0346\x05\u0346\u2D6F\n\u0346\x03\u0347\x03\u0347" + "\x05\u0347\u2D73\n\u0347\x03\u0347\x03\u0347\x03\u0347\x03\u0347\x03\u0347" + "\x03\u0347\x03\u0348\x03\u0348\x03\u0349\x03\u0349\x03\u0349\x05\u0349" + "\u2D80\n\u0349\x03\u034A\x03\u034A\x03\u034A\x03\u034A\x03\u034A\x03\u034A" + "\x03\u034A\x03\u034A\x03\u034A\x03\u034A\x03\u034A\x03\u034A\x03\u034A" + "\x05\u034A\u2D8F\n\u034A\x05\u034A\u2D91\n\u034A\x03\u034B\x03\u034B\x05" + "\u034B\u2D95\n\u034B\x03\u034B\x03\u034B\x03\u034B\x03\u034C\x05\u034C" + "\u2D9B\n\u034C\x03\u034C\x03\u034C\x03\u034C\x05\u034C\u2DA0\n\u034C\x03" + "\u034C\x03\u034C\x05\u034C\u2DA4\n\u034C\x03\u034C\x05\u034C\u2DA7\n\u034C" + "\x03\u034C\x05\u034C\u2DAA\n\u034C\x03\u034C\x03\u034C\x03\u034C\x03\u034C" + "\x03\u034C\x06\u034C\u2DB1\n\u034C\r\u034C\x0E\u034C\u2DB2\x03\u034D\x05" + "\u034D\u2DB6\n\u034D\x03\u034D\x03\u034D\x05\u034D\u2DBA\n\u034D\x03\u034D" + "\x03\u034D\x05\u034D\u2DBE\n\u034D\x05\u034D\u2DC0\n\u034D\x03\u034D\x05" + "\u034D\u2DC3\n\u034D\x03\u034D\x05\u034D\u2DC6\n\u034D\x03\u034E\x03\u034E" + "\x03\u034F\x03\u034F\x03\u034F\x03\u034F\x05\u034F\u2DCE\n\u034F\x03\u034F" + "\x03\u034F\x03\u034F\x03\u034F\x03\u034F\x05\u034F\u2DD5\n\u034F\x03\u034F" + "\x03\u034F\x03\u034F\x03\u034F\x03\u034F\x05\u034F\u2DDC\n\u034F\x03\u034F" + "\x03\u034F\x03\u034F\x03\u034F\x05\u034F\u2DE2\n\u034F\x05\u034F\u2DE4" + "\n\u034F\x03\u0350\x03\u0350\x03\u0350\x03\u0350\x03\u0350\x05\u0350\u2DEB" + "\n\u0350\x03\u0350\x03\u0350\x03\u0350\x05\u0350\u2DF0\n\u0350\x03\u0350" + "\x03\u0350\x03\u0351\x03\u0351\x03\u0351\x03\u0351\x03\u0351\x03\u0351" + "\x03\u0351\x03\u0351\x03\u0351\x03\u0351\x03\u0351\x03\u0351\x03\u0351" + "\x03\u0351\x06\u0351\u2E02\n\u0351\r\u0351\x0E\u0351\u2E03\x03\u0352\x03" + "\u0352\x03\u0352\x03\u0352\x05\u0352\u2E0A\n\u0352\x03\u0353\x03\u0353" + "\x03\u0353\x03\u0353\x07\u0353\u2E10\n\u0353\f\u0353\x0E\u0353\u2E13\v" + "\u0353\x03\u0353\x03"; private static readonly _serializedATNSegment5: string = "\u0353\x03\u0354\x03\u0354\x05\u0354\u2E19\n\u0354\x03\u0355\x03\u0355" + "\x03\u0355\x03\u0355\x03\u0356\x03\u0356\x03\u0356\x03\u0357\x03\u0357" + "\x05\u0357\u2E24\n\u0357\x03\u0357\x03\u0357\x03\u0358\x03\u0358\x05\u0358" + "\u2E2A\n\u0358\x03\u0358\x03\u0358\x03\u0359\x03\u0359\x05\u0359\u2E30" + "\n\u0359\x03\u0359\x03\u0359\x03\u035A\x03\u035A\x03\u035A\x03\u035A\x03" + "\u035A\x03\u035A\x03\u035A\x03\u035A\x03\u035A\x05\u035A\u2E3D\n\u035A" + "\x03\u035A\x05\u035A\u2E40\n\u035A\x03\u035B\x03\u035B\x05\u035B\u2E44" + "\n\u035B\x03\u035C\x03\u035C\x03\u035C\x05\u035C\u2E49\n\u035C\x03\u035D" + "\x06\u035D\u2E4C\n\u035D\r\u035D\x0E\u035D\u2E4D\x03\u035E\x03\u035E\x03" + "\u035E\x03\u035E\x03\u035E\x03\u035F\x03\u035F\x03\u035F\x07\u035F\u2E58" + "\n\u035F\f\u035F\x0E\u035F\u2E5B\v\u035F\x03\u0360\x03\u0360\x03\u0360" + "\x05\u0360\u2E60\n\u0360\x03\u0361\x03\u0361\x05\u0361\u2E64\n\u0361\x03" + "\u0362\x03\u0362\x05\u0362\u2E68\n\u0362\x03\u0363\x03\u0363\x05\u0363" + "\u2E6C\n\u0363\x03\u0364\x03\u0364\x03\u0364\x03\u0365\x03\u0365\x05\u0365" + "\u2E73\n\u0365\x03\u0366\x03\u0366\x03\u0367\x05\u0367\u2E78\n\u0367\x03" + "\u0367\x05\u0367\u2E7B\n\u0367\x03\u0367\x05\u0367\u2E7E\n\u0367\x03\u0367" + "\x05\u0367\u2E81\n\u0367\x03\u0367\x05\u0367\u2E84\n\u0367\x03\u0367\x05" + "\u0367\u2E87\n\u0367\x03\u0367\x05\u0367\u2E8A\n\u0367\x03\u0368\x03\u0368" + "\x03\u0369\x03\u0369\x03\u036A\x03\u036A\x03\u036B\x03\u036B\x03\u036C" + "\x03\u036C\x05\u036C\u2E96\n\u036C\x03\u036D\x03\u036D\x03\u036D\x03\u036D" + "\x03\u036D\x02\x02\x03\u04E8\u036E\x02\x02\x04\x02\x06\x02\b\x02\n\x02" + "\f\x02\x0E\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1A\x02\x1C\x02" + "\x1E\x02 \x02\"\x02$\x02&\x02(\x02*\x02,\x02.\x020\x022\x024\x026\x02" + "8\x02:\x02<\x02>\x02@\x02B\x02D\x02F\x02H\x02J\x02L\x02N\x02P\x02R\x02" + "T\x02V\x02X\x02Z\x02\\\x02^\x02`\x02b\x02d\x02f\x02h\x02j\x02l\x02n\x02" + "p\x02r\x02t\x02v\x02x\x02z\x02|\x02~\x02\x80\x02\x82\x02\x84\x02\x86\x02" + "\x88\x02\x8A\x02\x8C\x02\x8E\x02\x90\x02\x92\x02\x94\x02\x96\x02\x98\x02" + "\x9A\x02\x9C\x02\x9E\x02\xA0\x02\xA2\x02\xA4\x02\xA6\x02\xA8\x02\xAA\x02" + "\xAC\x02\xAE\x02\xB0\x02\xB2\x02\xB4\x02\xB6\x02\xB8\x02\xBA\x02\xBC\x02" + "\xBE\x02\xC0\x02\xC2\x02\xC4\x02\xC6\x02\xC8\x02\xCA\x02\xCC\x02\xCE\x02" + "\xD0\x02\xD2\x02\xD4\x02\xD6\x02\xD8\x02\xDA\x02\xDC\x02\xDE\x02\xE0\x02" + "\xE2\x02\xE4\x02\xE6\x02\xE8\x02\xEA\x02\xEC\x02\xEE\x02\xF0\x02\xF2\x02" + "\xF4\x02\xF6\x02\xF8\x02\xFA\x02\xFC\x02\xFE\x02\u0100\x02\u0102\x02\u0104" + "\x02\u0106\x02\u0108\x02\u010A\x02\u010C\x02\u010E\x02\u0110\x02\u0112" + "\x02\u0114\x02\u0116\x02\u0118\x02\u011A\x02\u011C\x02\u011E\x02\u0120" + "\x02\u0122\x02\u0124\x02\u0126\x02\u0128\x02\u012A\x02\u012C\x02\u012E" + "\x02\u0130\x02\u0132\x02\u0134\x02\u0136\x02\u0138\x02\u013A\x02\u013C" + "\x02\u013E\x02\u0140\x02\u0142\x02\u0144\x02\u0146\x02\u0148\x02\u014A" + "\x02\u014C\x02\u014E\x02\u0150\x02\u0152\x02\u0154\x02\u0156\x02\u0158" + "\x02\u015A\x02\u015C\x02\u015E\x02\u0160\x02\u0162\x02\u0164\x02\u0166" + "\x02\u0168\x02\u016A\x02\u016C\x02\u016E\x02\u0170\x02\u0172\x02\u0174" + "\x02\u0176\x02\u0178\x02\u017A\x02\u017C\x02\u017E\x02\u0180\x02\u0182" + "\x02\u0184\x02\u0186\x02\u0188\x02\u018A\x02\u018C\x02\u018E\x02\u0190" + "\x02\u0192\x02\u0194\x02\u0196\x02\u0198\x02\u019A\x02\u019C\x02\u019E" + "\x02\u01A0\x02\u01A2\x02\u01A4\x02\u01A6\x02\u01A8\x02\u01AA\x02\u01AC" + "\x02\u01AE\x02\u01B0\x02\u01B2\x02\u01B4\x02\u01B6\x02\u01B8\x02\u01BA" + "\x02\u01BC\x02\u01BE\x02\u01C0\x02\u01C2\x02\u01C4\x02\u01C6\x02\u01C8" + "\x02\u01CA\x02\u01CC\x02\u01CE\x02\u01D0\x02\u01D2\x02\u01D4\x02\u01D6" + "\x02\u01D8\x02\u01DA\x02\u01DC\x02\u01DE\x02\u01E0\x02\u01E2\x02\u01E4" + "\x02\u01E6\x02\u01E8\x02\u01EA\x02\u01EC\x02\u01EE\x02\u01F0\x02\u01F2" + "\x02\u01F4\x02\u01F6\x02\u01F8\x02\u01FA\x02\u01FC\x02\u01FE\x02\u0200" + "\x02\u0202\x02\u0204\x02\u0206\x02\u0208\x02\u020A\x02\u020C\x02\u020E" + "\x02\u0210\x02\u0212\x02\u0214\x02\u0216\x02\u0218\x02\u021A\x02\u021C" + "\x02\u021E\x02\u0220\x02\u0222\x02\u0224\x02\u0226\x02\u0228\x02\u022A" + "\x02\u022C\x02\u022E\x02\u0230\x02\u0232\x02\u0234\x02\u0236\x02\u0238" + "\x02\u023A\x02\u023C\x02\u023E\x02\u0240\x02\u0242\x02\u0244\x02\u0246" + "\x02\u0248\x02\u024A\x02\u024C\x02\u024E\x02\u0250\x02\u0252\x02\u0254" + "\x02\u0256\x02\u0258\x02\u025A\x02\u025C\x02\u025E\x02\u0260\x02\u0262" + "\x02\u0264\x02\u0266\x02\u0268\x02\u026A\x02\u026C\x02\u026E\x02\u0270" + "\x02\u0272\x02\u0274\x02\u0276\x02\u0278\x02\u027A\x02\u027C\x02\u027E" + "\x02\u0280\x02\u0282\x02\u0284\x02\u0286\x02\u0288\x02\u028A\x02\u028C" + "\x02\u028E\x02\u0290\x02\u0292\x02\u0294\x02\u0296\x02\u0298\x02\u029A" + "\x02\u029C\x02\u029E\x02\u02A0\x02\u02A2\x02\u02A4\x02\u02A6\x02\u02A8" + "\x02\u02AA\x02\u02AC\x02\u02AE\x02\u02B0\x02\u02B2\x02\u02B4\x02\u02B6" + "\x02\u02B8\x02\u02BA\x02\u02BC\x02\u02BE\x02\u02C0\x02\u02C2\x02\u02C4" + "\x02\u02C6\x02\u02C8\x02\u02CA\x02\u02CC\x02\u02CE\x02\u02D0\x02\u02D2" + "\x02\u02D4\x02\u02D6\x02\u02D8\x02\u02DA\x02\u02DC\x02\u02DE\x02\u02E0" + "\x02\u02E2\x02\u02E4\x02\u02E6\x02\u02E8\x02\u02EA\x02\u02EC\x02\u02EE" + "\x02\u02F0\x02\u02F2\x02\u02F4\x02\u02F6\x02\u02F8\x02\u02FA\x02\u02FC" + "\x02\u02FE\x02\u0300\x02\u0302\x02\u0304\x02\u0306\x02\u0308\x02\u030A" + "\x02\u030C\x02\u030E\x02\u0310\x02\u0312\x02\u0314\x02\u0316\x02\u0318" + "\x02\u031A\x02\u031C\x02\u031E\x02\u0320\x02\u0322\x02\u0324\x02\u0326" + "\x02\u0328\x02\u032A\x02\u032C\x02\u032E\x02\u0330\x02\u0332\x02\u0334" + "\x02\u0336\x02\u0338\x02\u033A\x02\u033C\x02\u033E\x02\u0340\x02\u0342" + "\x02\u0344\x02\u0346\x02\u0348\x02\u034A\x02\u034C\x02\u034E\x02\u0350" + "\x02\u0352\x02\u0354\x02\u0356\x02\u0358\x02\u035A\x02\u035C\x02\u035E" + "\x02\u0360\x02\u0362\x02\u0364\x02\u0366\x02\u0368\x02\u036A\x02\u036C" + "\x02\u036E\x02\u0370\x02\u0372\x02\u0374\x02\u0376\x02\u0378\x02\u037A" + "\x02\u037C\x02\u037E\x02\u0380\x02\u0382\x02\u0384\x02\u0386\x02\u0388" + "\x02\u038A\x02\u038C\x02\u038E\x02\u0390\x02\u0392\x02\u0394\x02\u0396" + "\x02\u0398\x02\u039A\x02\u039C\x02\u039E\x02\u03A0\x02\u03A2\x02\u03A4" + "\x02\u03A6\x02\u03A8\x02\u03AA\x02\u03AC\x02\u03AE\x02\u03B0\x02\u03B2" + "\x02\u03B4\x02\u03B6\x02\u03B8\x02\u03BA\x02\u03BC\x02\u03BE\x02\u03C0" + "\x02\u03C2\x02\u03C4\x02\u03C6\x02\u03C8\x02\u03CA\x02\u03CC\x02\u03CE" + "\x02\u03D0\x02\u03D2\x02\u03D4\x02\u03D6\x02\u03D8\x02\u03DA\x02\u03DC" + "\x02\u03DE\x02\u03E0\x02\u03E2\x02\u03E4\x02\u03E6\x02\u03E8\x02\u03EA" + "\x02\u03EC\x02\u03EE\x02\u03F0\x02\u03F2\x02\u03F4\x02\u03F6\x02\u03F8" + "\x02\u03FA\x02\u03FC\x02\u03FE\x02\u0400\x02\u0402\x02\u0404\x02\u0406" + "\x02\u0408\x02\u040A\x02\u040C\x02\u040E\x02\u0410\x02\u0412\x02\u0414" + "\x02\u0416\x02\u0418\x02\u041A\x02\u041C\x02\u041E\x02\u0420\x02\u0422" + "\x02\u0424\x02\u0426\x02\u0428\x02\u042A\x02\u042C\x02\u042E\x02\u0430" + "\x02\u0432\x02\u0434\x02\u0436\x02\u0438\x02\u043A\x02\u043C\x02\u043E" + "\x02\u0440\x02\u0442\x02\u0444\x02\u0446\x02\u0448\x02\u044A\x02\u044C" + "\x02\u044E\x02\u0450\x02\u0452\x02\u0454\x02\u0456\x02\u0458\x02\u045A" + "\x02\u045C\x02\u045E\x02\u0460\x02\u0462\x02\u0464\x02\u0466\x02\u0468" + "\x02\u046A\x02\u046C\x02\u046E\x02\u0470\x02\u0472\x02\u0474\x02\u0476" + "\x02\u0478\x02\u047A\x02\u047C\x02\u047E\x02\u0480\x02\u0482\x02\u0484" + "\x02\u0486\x02\u0488\x02\u048A\x02\u048C\x02\u048E\x02\u0490\x02\u0492" + "\x02\u0494\x02\u0496\x02\u0498\x02\u049A\x02\u049C\x02\u049E\x02\u04A0" + "\x02\u04A2\x02\u04A4\x02\u04A6\x02\u04A8\x02\u04AA\x02\u04AC\x02\u04AE" + "\x02\u04B0\x02\u04B2\x02\u04B4\x02\u04B6\x02\u04B8\x02\u04BA\x02\u04BC" + "\x02\u04BE\x02\u04C0\x02\u04C2\x02\u04C4\x02\u04C6\x02\u04C8\x02\u04CA" + "\x02\u04CC\x02\u04CE\x02\u04D0\x02\u04D2\x02\u04D4\x02\u04D6\x02\u04D8" + "\x02\u04DA\x02\u04DC\x02\u04DE\x02\u04E0\x02\u04E2\x02\u04E4\x02\u04E6" + "\x02\u04E8\x02\u04EA\x02\u04EC\x02\u04EE\x02\u04F0\x02\u04F2\x02\u04F4" + "\x02\u04F6\x02\u04F8\x02\u04FA\x02\u04FC\x02\u04FE\x02\u0500\x02\u0502" + "\x02\u0504\x02\u0506\x02\u0508\x02\u050A\x02\u050C\x02\u050E\x02\u0510" + "\x02\u0512\x02\u0514\x02\u0516\x02\u0518\x02\u051A\x02\u051C\x02\u051E" + "\x02\u0520\x02\u0522\x02\u0524\x02\u0526\x02\u0528\x02\u052A\x02\u052C" + "\x02\u052E\x02\u0530\x02\u0532\x02\u0534\x02\u0536\x02\u0538\x02\u053A" + "\x02\u053C\x02\u053E\x02\u0540\x02\u0542\x02\u0544\x02\u0546\x02\u0548" + "\x02\u054A\x02\u054C\x02\u054E\x02\u0550\x02\u0552\x02\u0554\x02\u0556" + "\x02\u0558\x02\u055A\x02\u055C\x02\u055E\x02\u0560\x02\u0562\x02\u0564" + "\x02\u0566\x02\u0568\x02\u056A\x02\u056C\x02\u056E\x02\u0570\x02\u0572" + "\x02\u0574\x02\u0576\x02\u0578\x02\u057A\x02\u057C\x02\u057E\x02\u0580" + "\x02\u0582\x02\u0584\x02\u0586\x02\u0588\x02\u058A\x02\u058C\x02\u058E" + "\x02\u0590\x02\u0592\x02\u0594\x02\u0596\x02\u0598\x02\u059A\x02\u059C" + "\x02\u059E\x02\u05A0\x02\u05A2\x02\u05A4\x02\u05A6\x02\u05A8\x02\u05AA" + "\x02\u05AC\x02\u05AE\x02\u05B0\x02\u05B2\x02\u05B4\x02\u05B6\x02\u05B8" + "\x02\u05BA\x02\u05BC\x02\u05BE\x02\u05C0\x02\u05C2\x02\u05C4\x02\u05C6" + "\x02\u05C8\x02\u05CA\x02\u05CC\x02\u05CE\x02\u05D0\x02\u05D2\x02\u05D4" + "\x02\u05D6\x02\u05D8\x02\u05DA\x02\u05DC\x02\u05DE\x02\u05E0\x02\u05E2" + "\x02\u05E4\x02\u05E6\x02\u05E8\x02\u05EA\x02\u05EC\x02\u05EE\x02\u05F0" + "\x02\u05F2\x02\u05F4\x02\u05F6\x02\u05F8\x02\u05FA\x02\u05FC\x02\u05FE" + "\x02\u0600\x02\u0602\x02\u0604\x02\u0606\x02\u0608\x02\u060A\x02\u060C" + "\x02\u060E\x02\u0610\x02\u0612\x02\u0614\x02\u0616\x02\u0618\x02\u061A" + "\x02\u061C\x02\u061E\x02\u0620\x02\u0622\x02\u0624\x02\u0626\x02\u0628" + "\x02\u062A\x02\u062C\x02\u062E\x02\u0630\x02\u0632\x02\u0634\x02\u0636" + "\x02\u0638\x02\u063A\x02\u063C\x02\u063E\x02\u0640\x02\u0642\x02\u0644" + "\x02\u0646\x02\u0648\x02\u064A\x02\u064C\x02\u064E\x02\u0650\x02\u0652" + "\x02\u0654\x02\u0656\x02\u0658\x02\u065A\x02\u065C\x02\u065E\x02\u0660" + "\x02\u0662\x02\u0664\x02\u0666\x02\u0668\x02\u066A\x02\u066C\x02\u066E" + "\x02\u0670\x02\u0672\x02\u0674\x02\u0676\x02\u0678\x02\u067A\x02\u067C" + "\x02\u067E\x02\u0680\x02\u0682\x02\u0684\x02\u0686\x02\u0688\x02\u068A" + "\x02\u068C\x02\u068E\x02\u0690\x02\u0692\x02\u0694\x02\u0696\x02\u0698" + "\x02\u069A\x02\u069C\x02\u069E\x02\u06A0\x02\u06A2\x02\u06A4\x02\u06A6" + "\x02\u06A8\x02\u06AA\x02\u06AC\x02\u06AE\x02\u06B0\x02\u06B2\x02\u06B4" + "\x02\u06B6\x02\u06B8\x02\u06BA\x02\u06BC\x02\u06BE\x02\u06C0\x02\u06C2" + "\x02\u06C4\x02\u06C6\x02\u06C8\x02\u06CA\x02\u06CC\x02\u06CE\x02\u06D0" + "\x02\u06D2\x02\u06D4\x02\u06D6\x02\u06D8\x02\x02S\x04\x02\xC5\xC5\u016E" + "\u016E\x03\x02\xE6\xE7\x03\x02\xEE\xEF\x03\x02\xEC\xED\x03\x02\xEA\xEB" + "\x03\x02\xE8\xE9\x03\x02\u0219\u021A\x03\x02\u021B\u021C\x03\x02\u021D" + "\u021E\x04\x02DD\u0140\u0140\x04\x02ee\u0140\u0140\x03\x02\u0213\u0215" + "\x04\x02\f\f``\x04\x02\x87\x87\xC1\xC1\x04\x02\u0100\u0100\u014E\u014E" + "\x04\x02\xA4\xA4\u016D\u016D\x04\x02\xB6\xB6\xDF\xDF\x07\x02 \u0122\u0122" + "\u014B\u014B\u0162\u0162\u0164\u0164\x04\x02oo\u0216\u0216\x04\x02\x98" + "\x98\u013D\u013D\x04\x02BB``\x04\x02\u0162\u0162\u0164\u0164\x04\x02\xCA" + "\xCA\xE2\xE2\v\x02 \xA2\xA2\xA7\xA7\xB5\xB5\xDD\xDD\xE5\xE5\u0158\u0158" + "\u015B\u015B\u01B8\u01B8\x05\x02ss\u011E\u011E\u0152\u0152\x04\x0277P" + "P\x05\x02\xAF\xAF\u0106\u0106\u0108\u0108\x04\x02\v\v``\x07\x02 ZZ\xB8" + "\xB8\xF3\xF3\u0173\u0173\x04\x02^^\xE4\xE4\x04\x02\u0157\u0157\u01A0\u01A0" + "\x03\x02\u01C2\u01C3\x04\x02^^\u01A0\u01A0\x05\x02DDee\u0140\u0140\x05" + "\x02\u0143\u0143\u0167\u0167\u01BF\u01BF\x04\x02BBFF\f\x0200ZZ\xB8\xB8" + "\xCC\xCC\xF3\xF3\u0162\u0162\u0164\u0164\u0167\u0168\u0173\u0173\u020B" + "\u020D\x07\x02\xD6\xD6\u014B\u014B\u0160\u0160\u016B\u016B\u01C9\u01CA" + "\x04\x02\'\'99\x04\x02\f\f77\x06\x02ZZ\xB8\xB8\xF3\xF3\u0173\u0173\x04" + "\x02\x8B\x8B\xF4\xF4\x04\x02\u0166\u0166\u017E\u017E\x04\x02\x99\x99\u0100" + "\u0100\x04\x02\u013B\u013B\u014F\u014F\x03\x02!\"\x04\x02>>bb\x04\x02" + "ee\u015F\u015F\x04\x02\xCB\xCB\u0150\u0150\x03\x02\u0211\u0212\x04\x02" + "\xD7\xD7\u0100\u0100\x04\x02 ::\x04\x02\u0142\u0142\u01A0\u01A0\x04\x02" + "\xD1\xD1\u010E\u010E\x06\x02ssuuyy\x80\x80\x04\x02\u016A\u016A\u01DF\u01DF" + "\x04\x02\u0189\u018A\u0198\u0198\x03\x02\u0189\u018A\x03\x02\u01A4\u01A5" + "\x03\x02\x14\x15\x04\x02ww||\x07\x02\f\f\x12\x13\x17\x17\x19\x19\x1B\x1B" + "\x03\x02\x0E\x0F\x05\x02\v\v\x10\x10\x1D\x1D\x05\x02))KKaa\x04\x02\xA8" + "\xA8\xBE\xBE\x04\x02\u0132\u0132\u01C4\u01C4\x04\x02\xD2\xD2\u0123\u0123" + "\x05\x02 $$\\\\\b\x02\v\f\x0E\x13\x17\x17\x19\x19\x1B\x1B\x1D\x1D\x04" + "\x02\x16\x16\x18\x18\x03\x02\u01E5\u01E8\f\x02~~\x83\xE6\xF0\u0184\u01B3" + "\u01C6\u01C9\u01D7\u01D9\u01D9\u01DB\u01DB\u01DD\u01DD\u01E0\u01EA\u0225" + "\u0226\x05\x02l}\x7F\x82\u01DA\u01DA\x06\x02 68HJk\u01C8\u01C8\x04\x02" + "@@vv\x04\x02\f\f\x16\x16\x04\x02\xA9\xA9\u01FD\u01FD\x03\x02\u0202\u0207" + "\x04\x02\x92\x92\xD4\xD4&\x02##%%-/77;;??^^vv}}\x84\x84\x92\x92\x9B\x9B" + "\x9F\x9F\xA3\xA3\xA9\xA9\xAE\xAE\xD1\xD1\xD4\xD4\xF3\xF3\xFB\xFB\u010B" + "\u010B\u010E\u010F\u0119\u0119\u0127\u0127\u0135\u0135\u013B\u013B\u0141" + "\u0141\u0145\u0146\u014F\u014F\u016A\u016A\u01B3\u01B4\u01DF\u01DF\u01EC" + "\u01F8\u01FA\u01FA\u01FC\u0208\u020A\u020A\x02\u33DE\x02\u06DD\x03\x02" + "\x02\x02\x04\u06E2\x03\x02\x02\x02\x06\u06E4\x03\x02\x02\x02\b\u075D\x03" + "\x02\x02\x02\n\u075F\x03\x02\x02\x02\f\u0763\x03\x02\x02\x02\x0E\u0766" + "\x03\x02\x02\x02\x10\u076E\x03\x02\x02\x02\x12\u0773\x03\x02\x02\x02\x14" + "\u0779\x03\x02\x02\x02\x16\u079F\x03\x02\x02\x02\x18\u07AB\x03\x02\x02" + "\x02\x1A\u07AD\x03\x02\x02\x02\x1C\u07B5\x03\x02\x02\x02\x1E\u07C1\x03" + "\x02\x02\x02 \u07C3\x03\x02\x02\x02\"\u07CC\x03\x02\x02\x02$\u07E8\x03" + "\x02\x02\x02&\u07EA\x03\x02\x02\x02(\u081A\x03\x02\x02\x02*\u081C\x03" + "\x02\x02\x02,\u0824\x03\x02\x02\x02.\u082B\x03\x02\x02\x020\u082D\x03" + "\x02\x02\x022\u083C\x03\x02\x02\x024\u0843\x03\x02\x02\x026\u084C\x03" + "\x02\x02\x028\u084E\x03\x02\x02\x02:\u085C\x03\x02\x02\x02<\u0860\x03" + "\x02\x02\x02>\u0884\x03\x02\x02\x02@\u0886\x03\x02\x02\x02B\u088E\x03" + "\x02\x02\x02D\u0898\x03\x02\x02\x02F\u089F\x03\x02\x02\x02H\u08A5\x03" + "\x02\x02\x02J\u08AB\x03\x02\x02\x02L\u08BD\x03\x02\x02\x02N\u08C1\x03" + "\x02\x02\x02P\u08C5\x03\x02\x02\x02R\u08C9\x03\x02\x02\x02T\u08CB\x03" + "\x02\x02\x02V\u08D6\x03\x02\x02\x02X\u08DA\x03\x02\x02\x02Z\u08DF\x03" + "\x02\x02\x02\\\u08E4\x03\x02\x02\x02^\u08E6\x03\x02\x02\x02`\u08F2\x03" + "\x02\x02\x02b\u08F9\x03\x02\x02\x02d\u08FB\x03\x02\x02\x02f\u08FD\x03" + "\x02\x02\x02h\u08FF\x03\x02\x02\x02j\u0987\x03\x02\x02\x02l\u0989\x03" + "\x02\x02\x02n\u099A\x03\x02\x02\x02p\u099C\x03\x02\x02\x02r\u09AA\x03" + "\x02\x02\x02t\u09AC\x03\x02\x02\x02v\u09BC\x03\x02\x02\x02x\u09BE\x03" + "\x02\x02\x02z\u0AC8\x03\x02\x02\x02|\u0ACF\x03\x02\x02\x02~\u0AD1\x03" + "\x02\x02\x02\x80\u0AD3\x03\x02\x02\x02\x82\u0AD6\x03\x02\x02\x02\x84\u0ADF" + "\x03\x02\x02\x02\x86\u0AE1\x03\x02\x02\x02\x88\u0AE5\x03\x02\x02\x02\x8A" + "\u0AE8\x03\x02\x02\x02\x8C\u0AF0\x03\x02\x02\x02\x8E\u0AFC\x03\x02\x02" + "\x02\x90\u0B0D\x03\x02\x02\x02\x92\u0B29\x03\x02\x02\x02\x94\u0B2B\x03" + "\x02\x02\x02\x96\u0B2E\x03\x02\x02\x02\x98\u0B36\x03\x02\x02\x02\x9A\u0B3B" + "\x03\x02\x02\x02\x9C\u0B60\x03\x02\x02\x02\x9E\u0B62\x03\x02\x02\x02\xA0" + "\u0B8C\x03\x02\x02\x02\xA2\u0B8E\x03\x02\x02\x02\xA4\u0B90\x03\x02\x02" + "\x02\xA6\u0B95\x03\x02\x02\x02\xA8\u0B9C\x03\x02\x02\x02\xAA\u0BA1\x03" + "\x02\x02\x02\xAC\u0BCB\x03\x02\x02\x02\xAE\u0BCD\x03\x02\x02\x02\xB0\u0BD0" + "\x03\x02\x02\x02\xB2\u0BD5\x03\x02\x02\x02\xB4\u0BD7\x03\x02\x02\x02\xB6" + "\u0BDF\x03\x02\x02\x02\xB8\u0BEA\x03\x02\x02\x02\xBA\u0BEC\x03\x02\x02" + "\x02\xBC\u0BF4\x03\x02\x02\x02\xBE\u0BF6\x03\x02\x02\x02\xC0\u0C49\x03" + "\x02\x02\x02\xC2\u0C4B\x03\x02\x02\x02\xC4\u0C4D\x03\x02\x02\x02\xC6\u0C4F" + "\x03\x02\x02\x02\xC8\u0C53\x03\x02\x02\x02\xCA\u0C5B\x03\x02\x02\x02\xCC" + "\u0C66\x03\x02\x02\x02\xCE\u0C6A\x03\x02\x02\x02\xD0\u0C6C\x03\x02\x02" + "\x02\xD2\u0C81\x03\x02\x02\x02\xD4\u0C96\x03\x02\x02\x02\xD6\u0C99\x03" + "\x02\x02\x02\xD8\u0CA2\x03\x02\x02\x02\xDA\u0CAC\x03\x02\x02\x02\xDC\u0CC1" + "\x03\x02\x02\x02\xDE\u0CFD\x03\x02\x02\x02\xE0\u0CFF\x03\x02\x02\x02\xE2" + "\u0D08\x03\x02\x02\x02\xE4\u0D0D\x03\x02\x02\x02\xE6\u0D0F\x03\x02\x02" + "\x02\xE8\u0D12\x03\x02\x02\x02\xEA\u0D1A\x03\x02\x02\x02\xEC\u0D1D\x03" + "\x02\x02\x02\xEE\u0D24\x03\x02\x02\x02\xF0\u0D7C\x03\x02\x02\x02\xF2\u0D7E" + "\x03\x02\x02\x02\xF4\u0D81\x03\x02\x02\x02\xF6\u0D85\x03\x02\x02\x02\xF8" + "\u0D8D\x03\x02\x02\x02\xFA\u0D92\x03\x02\x02\x02\xFC\u0D95\x03\x02\x02" + "\x02\xFE\u0D9D\x03\x02\x02\x02\u0100\u0DA7\x03\x02\x02\x02\u0102\u0DB4" + "\x03\x02\x02\x02\u0104\u0DB6\x03\x02\x02\x02\u0106\u0DBA\x03\x02\x02\x02" + "\u0108\u0DC7\x03\x02\x02\x02\u010A\u0DC9\x03\x02\x02\x02\u010C\u0DCE\x03" + "\x02\x02\x02\u010E\u0DD0\x03\x02\x02\x02\u0110\u0DD7\x03\x02\x02\x02\u0112" + "\u0DF6\x03\x02\x02\x02\u0114\u0DF8\x03\x02\x02\x02\u0116\u0E01\x03\x02" + "\x02\x02\u0118\u0E03\x03\x02\x02\x02\u011A\u0E0C\x03\x02\x02\x02\u011C" + "\u0E10\x03\x02\x02\x02\u011E\u0E18\x03\x02\x02\x02\u0120\u0E1D\x03\x02" + "\x02\x02\u0122\u0E21\x03\x02\x02\x02\u0124\u0E34\x03\x02\x02\x02\u0126" + "\u0E3E\x03\x02\x02\x02\u0128\u0E4C\x03\x02\x02\x02\u012A\u0E5C\x03\x02" + "\x02\x02\u012C\u0E62\x03\x02\x02\x02\u012E\u0E71\x03\x02\x02\x02\u0130" + "\u0E7E\x03\x02\x02\x02\u0132\u0E80\x03\x02\x02\x02\u0134\u0E8A\x03\x02" + "\x02\x02\u0136\u0E96\x03\x02\x02\x02\u0138\u0E9E\x03\x02\x02\x02\u013A" + "\u0EA0\x03\x02\x02\x02\u013C\u0EA5\x03\x02\x02\x02\u013E\u0ECB\x03\x02" + "\x02\x02\u0140\u0ECD\x03\x02\x02\x02\u0142\u0ED5\x03\x02\x02\x02\u0144" + "\u0ED7\x03\x02\x02\x02\u0146\u0EDF\x03\x02\x02\x02\u0148\u0EF5\x03\x02" + "\x02\x02\u014A\u0EF7\x03\x02\x02\x02\u014C\u0EFB\x03\x02\x02\x02\u014E" + "\u0F02\x03\x02\x02\x02\u0150\u0F04\x03\x02\x02\x02\u0152\u0F06\x03\x02" + "\x02\x02\u0154\u0F08\x03\x02\x02\x02\u0156\u0F13\x03\x02\x02\x02\u0158" + "\u0F16\x03\x02\x02\x02\u015A\u0F24\x03\x02\x02\x02\u015C\u0F2E\x03\x02" + "\x02\x02\u015E\u0F30\x03\x02\x02\x02\u0160\u0F39\x03\x02\x02\x02\u0162" + "\u0F3C\x03\x02\x02\x02\u0164\u0FA5\x03\x02\x02\x02\u0166\u0FA7\x03\x02" + "\x02\x02\u0168\u0FBA\x03\x02\x02\x02\u016A\u0FBD\x03\x02\x02\x02\u016C" + "\u0FC1\x03\x02\x02\x02\u016E\u0FD4\x03\x02\x02\x02\u0170\u0FD6\x03\x02" + "\x02\x02\u0172\u0FDB\x03\x02\x02\x02\u0174\u0FE3\x03\x02\x02\x02\u0176" + "\u0FE8\x03\x02\x02\x02\u0178\u0FF7\x03\x02\x02\x02\u017A\u0FF9\x03\x02" + "\x02\x02\u017C\u0FFC\x03\x02\x02\x02\u017E\u0FFE\x03\x02\x02\x02\u0180" + "\u1000\x03\x02\x02\x02\u0182\u1013\x03\x02\x02\x02\u0184\u1016\x03\x02" + "\x02\x02\u0186\u101B\x03\x02\x02\x02\u0188\u101D\x03\x02\x02\x02\u018A" + "\u104E\x03\x02\x02\x02\u018C\u1050\x03\x02\x02\x02\u018E\u1062\x03\x02" + "\x02\x02\u0190\u1064\x03\x02\x02\x02\u0192\u1069\x03\x02\x02\x02\u0194" + "\u1078\x03\x02\x02\x02\u0196\u107A\x03\x02\x02\x02\u0198\u1083\x03\x02" + "\x02\x02\u019A\u1097\x03\x02\x02\x02\u019C\u10A5\x03\x02\x02\x02\u019E" + "\u10C7\x03\x02\x02\x02\u01A0\u10E5\x03\x02\x02\x02\u01A2\u10E7\x03\x02" + "\x02\x02\u01A4\u10EC\x03\x02\x02\x02\u01A6\u10F2\x03\x02\x02\x02\u01A8" + "\u10F5\x03\x02\x02\x02\u01AA\u10F8\x03\x02\x02\x02\u01AC\u10FE\x03\x02" + "\x02\x02\u01AE\u1101\x03\x02\x02\x02\u01B0\u1103\x03\x02\x02\x02\u01B2" + "\u110C\x03\x02\x02\x02\u01B4\u1144\x03\x02\x02\x02\u01B6\u114A\x03\x02" + "\x02\x02\u01B8\u114C\x03\x02\x02\x02\u01BA\u1152\x03\x02\x02\x02\u01BC" + "\u1154\x03\x02\x02\x02\u01BE\u1163\x03\x02\x02\x02\u01C0\u1165\x03\x02" + "\x02\x02\u01C2\u1169\x03\x02\x02\x02\u01C4\u116D\x03\x02\x02\x02\u01C6" + "\u1174\x03\x02\x02\x02\u01C8\u1176\x03\x02\x02\x02\u01CA\u1178\x03\x02" + "\x02\x02\u01CC\u117A\x03\x02\x02\x02\u01CE\u1180\x03\x02\x02\x02\u01D0" + "\u1182\x03\x02\x02\x02\u01D2\u1184\x03\x02\x02\x02\u01D4\u118D\x03\x02" + "\x02\x02\u01D6\u1191\x03\x02\x02\x02\u01D8\u119E\x03\x02\x02\x02\u01DA" + "\u11A0\x03\x02\x02\x02\u01DC\u11A6\x03\x02\x02\x02\u01DE\u11B4\x03\x02" + "\x02\x02\u01E0\u11CE\x03\x02\x02\x02\u01E2\u11D0\x03\x02\x02\x02\u01E4" + "\u11D8\x03\x02\x02\x02\u01E6\u11DE\x03\x02\x02\x02\u01E8\u11E6\x03\x02" + "\x02\x02\u01EA\u11F2\x03\x02\x02\x02\u01EC\u11F4\x03\x02\x02\x02\u01EE" + "\u1264\x03\x02\x02\x02\u01F0\u1266\x03\x02\x02\x02\u01F2\u126A\x03\x02" + "\x02\x02\u01F4\u1272\x03\x02\x02\x02\u01F6\u127D\x03\x02\x02\x02\u01F8" + "\u127F\x03\x02\x02\x02\u01FA\u1283\x03\x02\x02\x02\u01FC\u128B\x03\x02" + "\x02\x02\u01FE\u128F\x03\x02\x02\x02\u0200\u1291\x03\x02\x02\x02\u0202" + "\u12C4\x03\x02\x02\x02\u0204\u12C6\x03\x02\x02\x02\u0206\u12CA\x03\x02" + "\x02\x02\u0208\u12DC\x03\x02\x02\x02\u020A\u1303\x03\x02\x02\x02\u020C" + "\u1305\x03\x02\x02\x02\u020E\u1307\x03\x02\x02\x02\u0210\u1310\x03\x02" + "\x02\x02\u0212\u1312\x03\x02\x02\x02\u0214\u1314\x03\x02\x02\x02\u0216" + "\u132D\x03\x02\x02\x02\u0218\u132F\x03\x02\x02\x02\u021A\u1343\x03\x02" + "\x02\x02\u021C\u1345\x03\x02\x02\x02\u021E\u14C7\x03\x02\x02\x02\u0220" + "\u14C9\x03\x02\x02\x02\u0222\u14F5\x03\x02\x02\x02\u0224\u1516\x03\x02" + "\x02\x02\u0226\u1518\x03\x02\x02\x02\u0228\u151A\x03\x02\x02\x02\u022A" + "\u1522\x03\x02\x02\x02\u022C\u1526\x03\x02\x02\x02\u022E\u152A\x03\x02" + "\x02\x02\u0230\u152E\x03\x02\x02\x02\u0232\u1534\x03\x02\x02\x02\u0234" + "\u1538\x03\x02\x02\x02\u0236\u1540\x03\x02\x02\x02\u0238\u154F\x03\x02" + "\x02\x02\u023A\u15F6\x03\x02\x02\x02\u023C\u15FA\x03\x02\x02\x02\u023E" + "\u1669\x03\x02\x02\x02\u0240\u166B\x03\x02\x02\x02\u0242\u1670\x03\x02" + "\x02\x02\u0244\u1676\x03\x02\x02\x02\u0246\u16CD\x03\x02\x02\x02\u0248" + "\u16CF\x03\x02\x02\x02\u024A\u16D1\x03\x02\x02\x02\u024C\u16D3\x03\x02" + "\x02\x02\u024E\u16F1\x03\x02\x02\x02\u0250\u1703\x03\x02\x02\x02\u0252" + "\u1705\x03\x02\x02\x02\u0254\u170D\x03\x02\x02\x02\u0256\u170F\x03\x02" + "\x02\x02\u0258\u1727\x03\x02\x02\x02\u025A\u1763\x03\x02\x02\x02\u025C" + "\u1765\x03\x02\x02\x02\u025E\u1770\x03\x02\x02\x02\u0260\u1772\x03\x02" + "\x02\x02\u0262\u1776\x03\x02\x02\x02\u0264\u1797\x03\x02\x02\x02\u0266" + "\u1799\x03\x02\x02\x02\u0268\u179D\x03\x02\x02\x02\u026A\u17A1\x03\x02" + "\x02\x02\u026C\u17AA\x03\x02\x02\x02\u026E\u17B6\x03\x02\x02\x02\u0270" + "\u17D6\x03\x02\x02\x02\u0272\u17D8\x03\x02\x02\x02\u0274\u17DA\x03\x02" + "\x02\x02\u0276\u17FF\x03\x02\x02\x02\u0278\u1801\x03\x02\x02\x02\u027A" + "\u1803\x03\x02\x02\x02\u027C\u1805\x03\x02\x02\x02\u027E\u1808\x03\x02" + "\x02\x02\u0280\u1827\x03\x02\x02\x02\u0282\u1834\x03\x02\x02\x02\u0284" + "\u1836\x03\x02\x02\x02\u0286\u183B\x03\x02\x02\x02\u0288\u1843\x03\x02" + "\x02\x02\u028A\u1846\x03\x02\x02\x02\u028C\u1848\x03\x02\x02\x02\u028E" + "\u184E\x03\x02\x02\x02\u0290\u1850\x03\x02\x02\x02\u0292\u186B\x03\x02" + "\x02\x02\u0294\u1876\x03\x02\x02\x02\u0296\u1879\x03\x02\x02\x02\u0298" + "\u187F\x03\x02\x02\x02\u029A\u1887\x03\x02\x02\x02\u029C\u1897\x03\x02" + "\x02\x02\u029E\u1899\x03\x02\x02\x02\u02A0\u18A9\x03\x02\x02\x02\u02A2" + "\u18AB\x03\x02\x02\x02\u02A4\u18BB\x03\x02\x02\x02\u02A6\u18BD\x03\x02" + "\x02\x02\u02A8\u18C3\x03\x02\x02\x02\u02AA\u18D8\x03\x02\x02\x02\u02AC" + "\u18E1\x03\x02\x02\x02\u02AE\u18E3\x03\x02\x02\x02\u02B0\u18E5\x03\x02" + "\x02\x02\u02B2\u18F3\x03\x02\x02\x02\u02B4\u18F5\x03\x02\x02\x02\u02B6" + "\u18FA\x03\x02\x02\x02\u02B8\u18FC\x03\x02\x02\x02\u02BA\u190B\x03\x02" + "\x02\x02\u02BC\u1913\x03\x02\x02\x02\u02BE\u1916\x03\x02\x02\x02\u02C0" + "\u191F\x03\x02\x02\x02\u02C2\u1946\x03\x02\x02\x02\u02C4\u1961\x03\x02" + "\x02\x02\u02C6\u1963\x03\x02\x02\x02\u02C8\u196F\x03\x02\x02\x02\u02CA" + "\u1972\x03\x02\x02\x02\u02CC\u1975\x03\x02\x02\x02\u02CE\u197D\x03\x02" + "\x02\x02\u02D0\u1989\x03\x02\x02\x02\u02D2\u198C\x03\x02\x02\x02\u02D4" + "\u1990\x03\x02\x02\x02\u02D6\u19AD\x03\x02\x02\x02\u02D8\u19AF\x03\x02" + "\x02\x02\u02DA\u19B8\x03\x02\x02\x02\u02DC\u19D7\x03\x02\x02\x02\u02DE" + "\u19DE\x03\x02\x02\x02\u02E0\u19E3\x03\x02\x02\x02\u02E2\u19EB\x03\x02" + "\x02\x02\u02E4\u19EE\x03\x02\x02\x02\u02E6\u19F2\x03\x02\x02\x02\u02E8" + "\u19F9\x03\x02\x02\x02\u02EA\u1A20\x03\x02\x02\x02\u02EC\u1A26\x03\x02" + "\x02\x02\u02EE\u1A28\x03\x02\x02\x02\u02F0\u1A2B\x03\x02\x02\x02\u02F2" + "\u1A5A\x03\x02\x02\x02\u02F4\u1A6C\x03\x02\x02\x02\u02F6\u1A78\x03\x02" + "\x02\x02\u02F8\u1A89\x03\x02\x02\x02\u02FA\u1A8B\x03\x02\x02\x02\u02FC" + "\u1A93\x03\x02\x02\x02\u02FE\u1AA1\x03\x02\x02\x02\u0300\u1C2A\x03\x02" + "\x02\x02\u0302\u1C2C\x03\x02\x02\x02\u0304\u1C2E\x03\x02\x02\x02\u0306" + "\u1C76\x03\x02\x02"; private static readonly _serializedATNSegment6: string = "\x02\u0308\u1C78\x03\x02\x02\x02\u030A\u1D33\x03\x02\x02\x02\u030C\u1D35" + "\x03\x02\x02\x02\u030E\u1D3D\x03\x02\x02\x02\u0310\u1D4D\x03\x02\x02\x02" + "\u0312\u1D54\x03\x02\x02\x02\u0314\u1D56\x03\x02\x02\x02\u0316\u1E17\x03" + "\x02\x02\x02\u0318\u1E19\x03\x02\x02\x02\u031A\u1E22\x03\x02\x02\x02\u031C" + "\u1E2A\x03\x02\x02\x02\u031E\u1E52\x03\x02\x02\x02\u0320\u1E54\x03\x02" + "\x02\x02\u0322\u1E5E\x03\x02\x02\x02\u0324\u1E66\x03\x02\x02\x02\u0326" + "\u1EB6\x03\x02\x02\x02\u0328\u1EB8\x03\x02\x02\x02\u032A\u1ED2\x03\x02" + "\x02\x02\u032C\u1ED5\x03\x02\x02\x02\u032E\u1EE5\x03\x02\x02\x02\u0330" + "\u1EE7\x03\x02\x02\x02\u0332\u1EE9\x03\x02\x02\x02\u0334\u1EEB\x03\x02" + "\x02\x02\u0336\u1EED\x03\x02\x02\x02\u0338\u1EF2\x03\x02\x02\x02\u033A" + "\u1EF5\x03\x02\x02\x02\u033C\u1EFC\x03\x02\x02\x02\u033E\u1F43\x03\x02" + "\x02\x02\u0340\u1F45\x03\x02\x02\x02\u0342\u1F51\x03\x02\x02\x02\u0344" + "\u1F53\x03\x02\x02\x02\u0346\u1F5D\x03\x02\x02\x02\u0348\u1F5F\x03\x02" + "\x02\x02\u034A\u1F65\x03\x02\x02\x02\u034C\u1F85\x03\x02\x02\x02\u034E" + "\u1F8C\x03\x02\x02\x02\u0350\u1F8F\x03\x02\x02\x02\u0352\u1F98\x03\x02" + "\x02\x02\u0354\u1F9B\x03\x02\x02\x02\u0356\u1F9F\x03\x02\x02\x02\u0358" + "\u1FB0\x03\x02\x02\x02\u035A\u1FB2\x03\x02\x02\x02\u035C\u1FB4\x03\x02" + "\x02\x02\u035E\u1FC7\x03\x02\x02\x02\u0360\u1FCD\x03\x02\x02\x02\u0362" + "\u1FD5\x03\x02\x02\x02\u0364\u1FD7\x03\x02\x02\x02\u0366\u1FDD\x03\x02" + "\x02\x02\u0368\u1FE2\x03\x02\x02\x02\u036A\u1FEB\x03\x02\x02\x02\u036C" + "\u2005\x03\x02\x02\x02\u036E\u2007\x03\x02\x02\x02\u0370\u204D\x03\x02" + "\x02\x02\u0372\u204F\x03\x02\x02\x02\u0374\u2051\x03\x02\x02\x02\u0376" + "\u2070\x03\x02\x02\x02\u0378\u2072\x03\x02\x02\x02\u037A\u207D\x03\x02" + "\x02\x02\u037C\u209A\x03\x02\x02\x02\u037E\u20AA\x03\x02\x02\x02\u0380" + "\u20AC\x03\x02\x02\x02\u0382\u20B4\x03\x02\x02\x02\u0384\u20B6\x03\x02" + "\x02\x02\u0386\u20BC\x03\x02\x02\x02\u0388\u20C0\x03\x02\x02\x02\u038A" + "\u20C2\x03\x02\x02\x02\u038C\u20C4\x03\x02\x02\x02\u038E\u20CF\x03\x02" + "\x02\x02\u0390\u20D1\x03\x02\x02\x02\u0392\u20D5\x03\x02\x02\x02\u0394" + "\u20D9\x03\x02\x02\x02\u0396\u20DE\x03\x02\x02\x02\u0398\u20E0\x03\x02" + "\x02\x02\u039A\u20E2\x03\x02\x02\x02\u039C\u20E6\x03\x02\x02\x02\u039E" + "\u20EA\x03\x02\x02\x02\u03A0\u20F2\x03\x02\x02\x02\u03A2\u2106\x03\x02" + "\x02\x02\u03A4\u2111\x03\x02\x02\x02\u03A6\u2113\x03\x02\x02\x02\u03A8" + "\u211B\x03\x02\x02\x02\u03AA\u2121\x03\x02\x02\x02\u03AC\u2125\x03\x02" + "\x02\x02\u03AE\u2127\x03\x02\x02\x02\u03B0\u212F\x03\x02\x02\x02\u03B2" + "\u2137\x03\x02\x02\x02\u03B4\u2150\x03\x02\x02\x02\u03B6\u2152\x03\x02" + "\x02\x02\u03B8\u2160\x03\x02\x02\x02\u03BA\u2163\x03\x02\x02\x02\u03BC" + "\u216F\x03\x02\x02\x02\u03BE\u2178\x03\x02\x02\x02\u03C0\u2184\x03\x02" + "\x02\x02\u03C2\u2186\x03\x02\x02\x02\u03C4\u218E\x03\x02\x02\x02\u03C6" + "\u2191\x03\x02\x02\x02\u03C8\u21A9\x03\x02\x02\x02\u03CA\u21AB\x03\x02" + "\x02\x02\u03CC\u21AF\x03\x02\x02\x02\u03CE\u21BD\x03\x02\x02\x02\u03D0" + "\u21C0\x03\x02\x02\x02\u03D2\u21CB\x03\x02\x02\x02\u03D4\u21DB\x03\x02" + "\x02\x02\u03D6\u21DD\x03\x02\x02\x02\u03D8\u21E2\x03\x02\x02\x02\u03DA" + "\u21E5\x03\x02\x02\x02\u03DC\u21F4\x03\x02\x02\x02\u03DE\u220E\x03\x02" + "\x02\x02\u03E0\u2210\x03\x02\x02\x02\u03E2\u2213\x03\x02\x02\x02\u03E4" + "\u221B\x03\x02\x02\x02\u03E6\u2223\x03\x02\x02\x02\u03E8\u222C\x03\x02" + "\x02\x02\u03EA\u2234\x03\x02\x02\x02\u03EC\u2238\x03\x02\x02\x02\u03EE" + "\u2242\x03\x02\x02\x02\u03F0\u2261\x03\x02\x02\x02\u03F2\u2265\x03\x02" + "\x02\x02\u03F4\u2294\x03\x02\x02\x02\u03F6\u22A3\x03\x02\x02\x02\u03F8" + "\u22A5\x03\x02\x02\x02\u03FA\u22A9\x03\x02\x02\x02\u03FC\u22AF\x03\x02" + "\x02\x02\u03FE\u22B7\x03\x02\x02\x02\u0400\u22C8\x03\x02\x02\x02\u0402" + "\u22D0\x03\x02\x02\x02\u0404\u22E1\x03\x02\x02\x02\u0406\u22E3\x03\x02" + "\x02\x02\u0408\u22E5\x03\x02\x02\x02\u040A\u22EE\x03\x02\x02\x02\u040C" + "\u2300\x03\x02\x02\x02\u040E\u2302\x03\x02\x02\x02\u0410\u2304\x03\x02" + "\x02\x02\u0412\u2306\x03\x02\x02\x02\u0414\u230E\x03\x02\x02\x02\u0416" + "\u2310\x03\x02\x02\x02\u0418\u2312\x03\x02\x02\x02\u041A\u2316\x03\x02" + "\x02\x02\u041C\u231E\x03\x02\x02\x02\u041E\u2333\x03\x02\x02\x02\u0420" + "\u2335\x03\x02\x02\x02\u0422\u2337\x03\x02\x02\x02\u0424\u233D\x03\x02" + "\x02\x02\u0426\u234E\x03\x02\x02\x02\u0428\u2357\x03\x02\x02\x02\u042A" + "\u2359\x03\x02\x02\x02\u042C\u2360\x03\x02\x02\x02\u042E\u2364\x03\x02" + "\x02\x02\u0430\u2366\x03\x02\x02\x02\u0432\u2368\x03\x02\x02\x02\u0434" + "\u236A\x03\x02\x02\x02\u0436\u2371\x03\x02\x02\x02\u0438\u2382\x03\x02" + "\x02\x02\u043A\u2384\x03\x02\x02\x02\u043C\u2387\x03\x02\x02\x02\u043E" + "\u238C\x03\x02\x02\x02\u0440\u2391\x03\x02\x02\x02\u0442\u2397\x03\x02" + "\x02\x02\u0444\u239E\x03\x02\x02\x02\u0446\u23A0\x03\x02\x02\x02\u0448" + "\u23A3\x03\x02\x02\x02\u044A\u23A7\x03\x02\x02\x02\u044C\u23AE\x03\x02" + "\x02\x02\u044E\u23BA\x03\x02\x02\x02\u0450\u23BD\x03\x02\x02\x02\u0452" + "\u23CB\x03\x02\x02\x02\u0454\u23CE\x03\x02\x02\x02\u0456\u2413\x03\x02" + "\x02\x02\u0458\u242B\x03\x02\x02\x02\u045A\u2434\x03\x02\x02\x02\u045C" + "\u2442\x03\x02\x02\x02\u045E\u2444\x03\x02\x02\x02\u0460\u244F\x03\x02" + "\x02\x02\u0462\u246C\x03\x02\x02\x02\u0464\u246F\x03\x02\x02\x02\u0466" + "\u249C\x03\x02\x02\x02\u0468\u249E\x03\x02\x02\x02\u046A\u24A6\x03\x02" + "\x02\x02\u046C\u24AE\x03\x02\x02\x02\u046E\u24B5\x03\x02\x02\x02\u0470" + "\u24BD\x03\x02\x02\x02\u0472\u24CE\x03\x02\x02\x02\u0474\u24D0\x03\x02" + "\x02\x02\u0476\u24D4\x03\x02\x02\x02\u0478\u24DC\x03\x02\x02\x02\u047A" + "\u24E1\x03\x02\x02\x02\u047C\u24E4\x03\x02\x02\x02\u047E\u24E7\x03\x02" + "\x02\x02\u0480\u24EE\x03\x02\x02\x02\u0482\u24F0\x03\x02\x02\x02\u0484" + "\u24F8\x03\x02\x02\x02\u0486\u24FD\x03\x02\x02\x02\u0488\u2512\x03\x02" + "\x02\x02\u048A\u251A\x03\x02\x02\x02\u048C\u2524\x03\x02\x02\x02\u048E" + "\u2530\x03\x02\x02\x02\u0490\u2532\x03\x02\x02\x02\u0492\u2540\x03\x02" + "\x02\x02\u0494\u2554\x03\x02\x02\x02\u0496\u255D\x03\x02\x02\x02\u0498" + "\u256F\x03\x02\x02\x02\u049A\u2575\x03\x02\x02\x02\u049C\u2577\x03\x02" + "\x02\x02\u049E\u257E\x03\x02\x02\x02\u04A0\u259A\x03\x02\x02\x02\u04A2" + "\u259C\x03\x02\x02\x02\u04A4\u25A2\x03\x02\x02\x02\u04A6\u25A6\x03\x02" + "\x02\x02\u04A8\u25A8\x03\x02\x02\x02\u04AA\u25B0\x03\x02\x02\x02\u04AC" + "\u25B4\x03\x02\x02\x02\u04AE\u25BB\x03\x02\x02\x02\u04B0\u25CC\x03\x02" + "\x02\x02\u04B2\u25CE\x03\x02\x02\x02\u04B4\u25D0\x03\x02\x02\x02\u04B6" + "\u25DA\x03\x02\x02\x02\u04B8\u25E2\x03\x02\x02\x02\u04BA\u25FD\x03\x02" + "\x02\x02\u04BC\u25FF\x03\x02\x02\x02\u04BE\u2606\x03\x02\x02\x02\u04C0" + "\u2609\x03\x02\x02\x02\u04C2\u260B\x03\x02\x02\x02\u04C4\u260F\x03\x02" + "\x02\x02\u04C6\u2617\x03\x02\x02\x02\u04C8\u261F\x03\x02\x02\x02\u04CA" + "\u2627\x03\x02\x02\x02\u04CC\u2630\x03\x02\x02\x02\u04CE\u2634\x03\x02" + "\x02\x02\u04D0\u2638\x03\x02\x02\x02\u04D2\u2652\x03\x02\x02\x02\u04D4" + "\u2660\x03\x02\x02\x02\u04D6\u2674\x03\x02\x02\x02\u04D8\u267E\x03\x02" + "\x02\x02\u04DA\u2682\x03\x02\x02\x02\u04DC\u268A\x03\x02\x02\x02\u04DE" + "\u2692\x03\x02\x02\x02\u04E0\u2698\x03\x02\x02\x02\u04E2\u269C\x03\x02" + "\x02\x02\u04E4\u26A3\x03\x02\x02\x02\u04E6\u26A8\x03\x02\x02\x02\u04E8" + "\u26B7\x03\x02\x02\x02\u04EA\u2707\x03\x02\x02\x02\u04EC\u2709\x03\x02" + "\x02\x02\u04EE\u270B\x03\x02\x02\x02\u04F0\u2732\x03\x02\x02\x02\u04F2" + "\u2736\x03\x02\x02\x02\u04F4\u27F0\x03\x02\x02\x02\u04F6\u27F7\x03\x02" + "\x02\x02\u04F8\u2803\x03\x02\x02\x02\u04FA\u2805\x03\x02\x02\x02\u04FC" + "\u280A\x03\x02\x02\x02\u04FE\u2812\x03\x02\x02\x02\u0500\u2817\x03\x02" + "\x02\x02\u0502\u281D\x03\x02\x02\x02\u0504\u282E\x03\x02\x02\x02\u0506" + "\u2830\x03\x02\x02\x02\u0508\u2833\x03\x02\x02\x02\u050A\u2839\x03\x02" + "\x02\x02\u050C\u283F\x03\x02\x02\x02\u050E\u2842\x03\x02\x02\x02\u0510" + "\u284A\x03\x02\x02\x02\u0512\u284E\x03\x02\x02\x02\u0514\u2853\x03\x02" + "\x02\x02\u0516\u2862\x03\x02\x02\x02\u0518\u2864\x03\x02\x02\x02\u051A" + "\u2877\x03\x02\x02\x02\u051C\u287F\x03\x02\x02\x02\u051E\u2888\x03\x02" + "\x02\x02\u0520\u288A\x03\x02\x02\x02\u0522\u289F\x03\x02\x02\x02\u0524" + "\u28A1\x03\x02\x02\x02\u0526\u28A8\x03\x02\x02\x02\u0528\u28AE\x03\x02" + "\x02\x02\u052A\u28B2\x03\x02\x02\x02\u052C\u28B4\x03\x02\x02\x02\u052E" + "\u28BC\x03\x02\x02\x02\u0530\u28C4\x03\x02\x02\x02\u0532\u28D2\x03\x02" + "\x02\x02\u0534\u28D4\x03\x02\x02\x02\u0536\u28DC\x03\x02\x02\x02\u0538" + "\u28E4\x03\x02\x02\x02\u053A\u28F1\x03\x02\x02\x02\u053C\u28F5\x03\x02" + "\x02\x02\u053E\u28F7\x03\x02\x02\x02\u0540\u2904\x03\x02\x02\x02\u0542" + "\u2906\x03\x02\x02\x02\u0544\u290E\x03\x02\x02\x02\u0546\u2915\x03\x02" + "\x02\x02\u0548\u291D\x03\x02\x02\x02\u054A\u2929\x03\x02\x02\x02\u054C" + "\u292B\x03\x02\x02\x02\u054E\u292D\x03\x02\x02\x02\u0550\u2936\x03\x02" + "\x02\x02\u0552\u2955\x03\x02\x02\x02\u0554\u295E\x03\x02\x02\x02\u0556" + "\u2965\x03\x02\x02\x02\u0558\u2967\x03\x02\x02\x02\u055A\u2972\x03\x02" + "\x02\x02\u055C\u2976\x03\x02\x02\x02\u055E\u297B\x03\x02\x02\x02\u0560" + "\u297E\x03\x02\x02\x02\u0562\u2980\x03\x02\x02\x02\u0564\u2995\x03\x02" + "\x02\x02\u0566\u2997\x03\x02\x02\x02\u0568\u299A\x03\x02\x02\x02\u056A" + "\u29A1\x03\x02\x02\x02\u056C\u29A4\x03\x02\x02\x02\u056E\u29A6\x03\x02" + "\x02\x02\u0570\u29B6\x03\x02\x02\x02\u0572\u29B8\x03\x02\x02\x02\u0574" + "\u29C0\x03\x02\x02\x02\u0576\u29C8\x03\x02\x02\x02\u0578\u29D0\x03\x02" + "\x02\x02\u057A\u29D8\x03\x02\x02\x02\u057C\u29E0\x03\x02\x02\x02\u057E" + "\u29E4\x03\x02\x02\x02\u0580\u29E8\x03\x02\x02\x02\u0582\u29EC\x03\x02" + "\x02\x02\u0584\u29F0\x03\x02\x02\x02\u0586\u29F4\x03\x02\x02\x02\u0588" + "\u29F8\x03\x02\x02\x02\u058A\u29FC\x03\x02\x02\x02\u058C\u2A04\x03\x02" + "\x02\x02\u058E\u2A0C\x03\x02\x02\x02\u0590\u2A10\x03\x02\x02\x02\u0592" + "\u2A14\x03\x02\x02\x02\u0594\u2A18\x03\x02\x02\x02\u0596\u2A1A\x03\x02" + "\x02\x02\u0598\u2A20\x03\x02\x02\x02\u059A\u2A26\x03\x02\x02\x02\u059C" + "\u2A28\x03\x02\x02\x02\u059E\u2A2A\x03\x02\x02\x02\u05A0\u2A2C\x03\x02" + "\x02\x02\u05A2\u2A2E\x03\x02\x02\x02\u05A4\u2A30\x03\x02\x02\x02\u05A6" + "\u2A36\x03\x02\x02\x02\u05A8\u2A3C\x03\x02\x02\x02\u05AA\u2A42\x03\x02" + "\x02\x02\u05AC\u2A67\x03\x02\x02\x02\u05AE\u2A69\x03\x02\x02\x02\u05B0" + "\u2A6B\x03\x02\x02\x02\u05B2\u2A6D\x03\x02\x02\x02\u05B4\u2A6F\x03\x02" + "\x02\x02\u05B6\u2A71\x03\x02\x02\x02\u05B8\u2A80\x03\x02\x02\x02\u05BA" + "\u2A82\x03\x02\x02\x02\u05BC\u2A8A\x03\x02\x02\x02\u05BE\u2A8C\x03\x02" + "\x02\x02\u05C0\u2A8E\x03\x02\x02\x02\u05C2\u2A95\x03\x02\x02\x02\u05C4" + "\u2A97\x03\x02\x02\x02\u05C6\u2AA3\x03\x02\x02\x02\u05C8\u2AA5\x03\x02" + "\x02\x02\u05CA\u2AB3\x03\x02\x02\x02\u05CC\u2AB7\x03\x02\x02\x02\u05CE" + "\u2AC0\x03\x02\x02\x02\u05D0\u2AC6\x03\x02\x02\x02\u05D2\u2ACA\x03\x02" + "\x02\x02\u05D4\u2AD0\x03\x02\x02\x02\u05D6\u2AD8\x03\x02\x02\x02\u05D8" + "\u2AE4\x03\x02\x02\x02\u05DA\u2AE6\x03\x02\x02\x02\u05DC\u2AE8\x03\x02" + "\x02\x02\u05DE\u2B1D\x03\x02\x02\x02\u05E0\u2B1F\x03\x02\x02\x02\u05E2" + "\u2B21\x03\x02\x02\x02\u05E4\u2B23\x03\x02\x02\x02\u05E6\u2B2A\x03\x02" + "\x02\x02\u05E8\u2B41\x03\x02\x02\x02\u05EA\u2B43\x03\x02\x02\x02\u05EC" + "\u2B49\x03\x02\x02\x02\u05EE\u2B4D\x03\x02\x02\x02\u05F0\u2B4F\x03\x02" + "\x02\x02\u05F2\u2B56\x03\x02\x02\x02\u05F4\u2B5D\x03\x02\x02\x02\u05F6" + "\u2B60\x03\x02\x02\x02\u05F8\u2B64\x03\x02\x02\x02\u05FA\u2B6B\x03\x02" + "\x02\x02\u05FC\u2B6D\x03\x02\x02\x02\u05FE\u2B85\x03\x02\x02\x02\u0600" + "\u2B87\x03\x02\x02\x02\u0602\u2B8E\x03\x02\x02\x02\u0604\u2B90\x03\x02" + "\x02\x02\u0606\u2B98\x03\x02\x02\x02\u0608\u2B9B\x03\x02\x02\x02\u060A" + "\u2B9F\x03\x02\x02\x02\u060C\u2BA1\x03\x02\x02\x02\u060E\u2BA5\x03\x02" + "\x02\x02\u0610\u2BA7\x03\x02\x02\x02\u0612\u2BAC\x03\x02\x02\x02\u0614" + "\u2BB1\x03\x02\x02\x02\u0616\u2BB7\x03\x02\x02\x02\u0618\u2BBB\x03\x02" + "\x02\x02\u061A\u2BBD\x03\x02\x02\x02\u061C\u2BC2\x03\x02\x02\x02\u061E" + "\u2BE0\x03\x02\x02\x02\u0620\u2BE2\x03\x02\x02\x02\u0622\u2BF6\x03\x02" + "\x02\x02\u0624\u2BFA\x03\x02\x02\x02\u0626\u2BFC\x03\x02\x02\x02\u0628" + "\u2C01\x03\x02\x02\x02\u062A\u2C0A\x03\x02\x02\x02\u062C\u2C0C\x03\x02" + "\x02\x02\u062E\u2C14\x03\x02\x02\x02\u0630\u2C18\x03\x02\x02\x02\u0632" + "\u2C1A\x03\x02\x02\x02\u0634\u2C1E\x03\x02\x02\x02\u0636\u2C29\x03\x02" + "\x02\x02\u0638\u2C3A\x03\x02\x02\x02\u063A\u2C40\x03\x02\x02\x02\u063C" + "\u2C42\x03\x02\x02\x02\u063E\u2C4C\x03\x02\x02\x02\u0640\u2C4F\x03\x02" + "\x02\x02\u0642\u2C53\x03\x02\x02\x02\u0644\u2C5B\x03\x02\x02\x02\u0646" + "\u2C5D\x03\x02\x02\x02\u0648\u2C60\x03\x02\x02\x02\u064A\u2C65\x03\x02" + "\x02\x02\u064C\u2C6A\x03\x02\x02\x02\u064E\u2C80\x03\x02\x02\x02\u0650" + "\u2C8E\x03\x02\x02\x02\u0652\u2C92\x03\x02\x02\x02\u0654\u2C97\x03\x02" + "\x02\x02\u0656\u2C99\x03\x02\x02\x02\u0658\u2C9B\x03\x02\x02\x02\u065A" + "\u2CA7\x03\x02\x02\x02\u065C\u2CA9\x03\x02\x02\x02\u065E\u2CB0\x03\x02" + "\x02\x02\u0660\u2CB2\x03\x02\x02\x02\u0662\u2CC4\x03\x02\x02\x02\u0664" + "\u2CE8\x03\x02\x02\x02\u0666\u2CEA\x03\x02\x02\x02\u0668\u2CF3\x03\x02" + "\x02\x02\u066A\u2CF8\x03\x02\x02\x02\u066C\u2CFA\x03\x02\x02\x02\u066E" + "\u2CFE\x03\x02\x02\x02\u0670\u2D06\x03\x02\x02\x02\u0672\u2D0E\x03\x02" + "\x02\x02\u0674\u2D10\x03\x02\x02\x02\u0676\u2D17\x03\x02\x02\x02\u0678" + "\u2D1A\x03\x02\x02\x02\u067A\u2D2A\x03\x02\x02\x02\u067C\u2D2C\x03\x02" + "\x02\x02\u067E\u2D3A\x03\x02\x02\x02\u0680\u2D3C\x03\x02\x02\x02\u0682" + "\u2D57\x03\x02\x02\x02\u0684\u2D59\x03\x02\x02\x02\u0686\u2D64\x03\x02" + "\x02\x02\u0688\u2D6A\x03\x02\x02\x02\u068A\u2D6E\x03\x02\x02\x02\u068C" + "\u2D70\x03\x02\x02\x02\u068E\u2D7A\x03\x02\x02\x02\u0690\u2D7F\x03\x02" + "\x02\x02\u0692\u2D90\x03\x02\x02\x02\u0694\u2D92\x03\x02\x02\x02\u0696" + "\u2D9A\x03\x02\x02\x02\u0698\u2DBF\x03\x02\x02\x02\u069A\u2DC7\x03\x02" + "\x02\x02\u069C\u2DE3\x03\x02\x02\x02\u069E\u2DE5\x03\x02\x02\x02\u06A0" + "\u2DF3\x03\x02\x02\x02\u06A2\u2E09\x03\x02\x02\x02\u06A4\u2E0B\x03\x02" + "\x02\x02\u06A6\u2E18\x03\x02\x02\x02\u06A8\u2E1A\x03\x02\x02\x02\u06AA" + "\u2E1E\x03\x02\x02\x02\u06AC\u2E21\x03\x02\x02\x02\u06AE\u2E27\x03\x02" + "\x02\x02\u06B0\u2E2D\x03\x02\x02\x02\u06B2\u2E3F\x03\x02\x02\x02\u06B4" + "\u2E43\x03\x02\x02\x02\u06B6\u2E48\x03\x02\x02\x02\u06B8\u2E4B\x03\x02" + "\x02\x02\u06BA\u2E4F\x03\x02\x02\x02\u06BC\u2E54\x03\x02\x02\x02\u06BE" + "\u2E5F\x03\x02\x02\x02\u06C0\u2E63\x03\x02\x02\x02\u06C2\u2E67\x03\x02" + "\x02\x02\u06C4\u2E6B\x03\x02\x02\x02\u06C6\u2E6D\x03\x02\x02\x02\u06C8" + "\u2E72\x03\x02\x02\x02\u06CA\u2E74\x03\x02\x02\x02\u06CC\u2E77\x03\x02" + "\x02\x02\u06CE\u2E8B\x03\x02\x02\x02\u06D0\u2E8D\x03\x02\x02\x02\u06D2" + "\u2E8F\x03\x02\x02\x02\u06D4\u2E91\x03\x02\x02\x02\u06D6\u2E93\x03\x02" + "\x02\x02\u06D8\u2E97\x03\x02\x02\x02\u06DA\u06DC\x05\x06\x04\x02\u06DB" + "\u06DA\x03\x02\x02\x02\u06DC\u06DF\x03\x02\x02\x02\u06DD\u06DB\x03\x02" + "\x02\x02\u06DD\u06DE\x03\x02\x02\x02\u06DE\u06E0\x03\x02\x02\x02\u06DF" + "\u06DD\x03\x02\x02\x02\u06E0\u06E1\x07\x02\x02\x03\u06E1\x03\x03\x02\x02" + "\x02\u06E2\u06E3\x05\u05E4\u02F3\x02\u06E3\x05\x03\x02\x02\x02\u06E4\u06E6" + "\x05\b\x05\x02\u06E5\u06E7\x07\t\x02\x02\u06E6\u06E5\x03\x02\x02\x02\u06E6" + "\u06E7\x03\x02\x02\x02\u06E7\x07\x03\x02\x02\x02\u06E8\u075E\x05\u01E8" + "\xF5\x02\u06E9\u075E\x05\u0364\u01B3\x02\u06EA\u075E\x05\u035C\u01AF\x02" + "\u06EB\u075E\x05\u035E\u01B0\x02\u06EC\u075E\x05\u026A\u0136\x02\u06ED" + "\u075E\x05\u036A\u01B6\x02\u06EE\u075E\x05\u0202\u0102\x02\u06EF\u075E" + "\x05\u015E\xB0\x02\u06F0\u075E\x05\u0164\xB3\x02\u06F1\u075E\x05\u016E" + "\xB8\x02\u06F2\u075E\x05\u0188\xC5\x02\u06F3\u075E\x05\u02CE\u0168\x02" + "\u06F4\u075E\x05,\x17\x02\u06F5\u075E\x05\u0306\u0184\x02\u06F6\u075E" + "\x05\u030A\u0186\x02\u06F7\u075E\x05\u0316\u018C\x02\u06F8\u075E\x05\u030C" + "\u0187\x02\u06F9\u075E\x05\u0314\u018B\x02\u06FA\u075E\x05\u019A\xCE\x02" + "\u06FB\u075E\x05\u019C\xCF\x02\u06FC\u075E\x05\u0136\x9C\x02\u06FD\u075E" + "\x05\u0366\u01B4\x02\u06FE\u075E\x05j6\x02\u06FF\u075E\x05\u02FE\u0180" + "\x02\u0700\u075E\x05\x98M\x02\u0701\u075E\x05\u031E\u0190\x02\u0702\u075E" + "\x05 \x11\x02\u0703\u075E\x05\"\x12\x02\u0704\u075E\x05\x1C\x0F\x02\u0705" + "\u075E\x05\u0326\u0194\x02\u0706\u075E\x05\u0124\x93\x02\u0707\u075E\x05" + "\u0370\u01B9\x02\u0708\u075E\x05\u036E\u01B8\x02\u0709\u075E\x05\u0196" + "\xCC\x02\u070A\u075E\x05\u037E\u01C0\x02\u070B\u075E\x05\f\x07\x02\u070C" + "\u075E\x05f4\x02\u070D\u075E\x05\x9EP\x02\u070E\u075E\x05\u0376\u01BC" + "\x02\u070F\u075E\x05\u023A\u011E\x02\u0710\u075E\x05`1\x02\u0711\u075E" + "\x05\xA0Q\x02\u0712\u075E\x05\u01B0\xD9\x02\u0713\u075E\x05\u0126\x94" + "\x02\u0714\u075E\x05\u01EC\xF7\x02\u0715\u075E\x05\u02EA\u0176\x02\u0716" + "\u075E\x05\u0374\u01BB\x02\u0717\u075E\x05\u0368\u01B5\x02\u0718\u075E" + "\x05\u0158\xAD\x02\u0719\u075E\x05\u0166\xB4\x02\u071A\u075E\x05\u0180" + "\xC1\x02\u071B\u075E\x05\u018A\xC6\x02\u071C\u075E\x05\u0290\u0149\x02" + "\u071D\u075E\x05*\x16\x02\u071E\u075E\x05\u012C\x97\x02\u071F\u075E\x05" + "\u0206\u0104\x02\u0720\u075E\x05\u0214\u010B\x02\u0721\u075E\x05\u0318" + "\u018D\x02\u0722\u075E\x05\u0216\u010C\x02\u0723\u075E\x05\u0198\xCD\x02" + "\u0724\u075E\x05\u0146\xA4\x02\u0725\u075E\x050\x19\x02\u0726\u075E\x05" + "\u0134\x9B\x02\u0727\u075E\x05\xBE`\x02\u0728\u075E\x05\u0320\u0191\x02" + "\u0729\u075E\x05\u0122\x92\x02\u072A\u075E\x05\u0154\xAB\x02\u072B\u075E" + "\x05\u02F0\u0179\x02\u072C\u075E\x05\u01B4\xDB\x02\u072D\u075E\x05\u01E0" + "\xF1\x02\u072E\u075E\x05\x0E\b\x02\u072F\u075E\x05\x1A\x0E\x02\u0730\u075E" + "\x05\u0192\xCA\x02\u0731\u075E\x05\u0350\u01A9\x02\u0732\u075E\x05\u03B8" + "\u01DD\x02\u0733\u075E\x05\u03E4\u01F3\x02\u0734\u075E\x05\u01EE\xF8\x02" + "\u0735\u075E\x05\u03CC\u01E7\x02\u0736\u075E\x05h5\x02\u0737\u075E\x05" + "\u02E4\u0173\x02\u0738\u075E\x05\u021E\u0110\x02\u0739\u075E\x05\u03B4" + "\u01DB\x02\u073A\u075E\x05\u03A2\u01D2\x02\u073B\u075E\x05\u0244\u0123" + "\x02\u073C\u075E\x05\u024C\u0127\x02\u073D\u075E\x05\u0262\u0132\x02\u073E" + "\u075E\x05\u0696\u034C\x02\u073F\u075E\x05\u018C\xC7\x02\u0740\u075E\x05" + "\u0274\u013B\x02\u0741\u075E\x05\u03BA\u01DE\x02\u0742\u075E\x05\u033A" + "\u019E\x02\u0743\u075E\x05\u0132\x9A\x02\u0744\u075E\x05\u034E\u01A8\x02" + "\u0745\u075E\x05\u03D0\u01E9\x02\u0746\u075E\x05\u0336\u019C\x02\u0747" + "\u075E\x05\u03AE\u01D8\x02\u0748\u075E\x05\u021C\u010F\x02\u0749\u075E" + "\x05\u02F4\u017B\x02\u074A\u075E\x05\u02D8\u016D\x02\u074B\u075E\x05\u02D6" + "\u016C\x02\u074C\u075E\x05\u02DA\u016E\x02\u074D\u075E\x05\u0300\u0181" + "\x02\u074E\u075E\x05\u024E\u0128\x02\u074F\u075E\x05\u0264\u0133\x02\u0750" + "\u075E\x05\u0328\u0195\x02\u0751\u075E\x05\u023E\u0120\x02\u0752\u075E" + "\x05\u03EC\u01F7\x02\u0753\u075E\x05\u033E\u01A0\x02\u0754\u075E\x05\u0236" + "\u011C\x02\u0755\u075E\x05\u033C\u019F\x02\u0756\u075E\x05\u03DA\u01EE" + "\x02\u0757\u075E\x05\u037C\u01BF\x02\u0758\u075E\x05T+\x02\u0759\u075E" + "\x058\x1D\x02\u075A\u075E\x05^0\x02\u075B\u075E\x05\u034A\u01A6\x02\u075C" + "\u075E\x05\n\x06\x02\u075D\u06E8\x03\x02\x02\x02\u075D\u06E9\x03\x02\x02" + "\x02\u075D\u06EA\x03\x02\x02\x02\u075D\u06EB\x03\x02\x02\x02\u075D\u06EC" + "\x03\x02\x02\x02\u075D\u06ED\x03\x02\x02\x02\u075D\u06EE\x03\x02\x02\x02" + "\u075D\u06EF\x03\x02\x02\x02\u075D\u06F0\x03\x02\x02\x02\u075D\u06F1\x03" + "\x02\x02\x02\u075D\u06F2\x03\x02\x02\x02\u075D\u06F3\x03\x02\x02\x02\u075D" + "\u06F4\x03\x02\x02\x02\u075D\u06F5\x03\x02\x02\x02\u075D\u06F6\x03\x02" + "\x02\x02\u075D\u06F7\x03\x02\x02\x02\u075D\u06F8\x03\x02\x02\x02\u075D" + "\u06F9\x03\x02\x02\x02\u075D\u06FA\x03\x02\x02\x02\u075D\u06FB\x03\x02" + "\x02\x02\u075D\u06FC\x03\x02\x02\x02\u075D\u06FD\x03\x02\x02\x02\u075D" + "\u06FE\x03\x02\x02\x02\u075D\u06FF\x03\x02\x02\x02\u075D\u0700\x03\x02" + "\x02\x02\u075D\u0701\x03\x02\x02\x02\u075D\u0702\x03\x02\x02\x02\u075D" + "\u0703\x03\x02\x02\x02\u075D\u0704\x03\x02\x02\x02\u075D\u0705\x03\x02" + "\x02\x02\u075D\u0706\x03\x02\x02\x02\u075D\u0707\x03\x02\x02\x02\u075D" + "\u0708\x03\x02\x02\x02\u075D\u0709\x03\x02\x02\x02\u075D\u070A\x03\x02" + "\x02\x02\u075D\u070B\x03\x02\x02\x02\u075D\u070C\x03\x02\x02\x02\u075D" + "\u070D\x03\x02\x02\x02\u075D\u070E\x03\x02\x02\x02\u075D\u070F\x03\x02" + "\x02\x02\u075D\u0710\x03\x02\x02\x02\u075D\u0711\x03\x02\x02\x02\u075D" + "\u0712\x03\x02\x02\x02\u075D\u0713\x03\x02\x02\x02\u075D\u0714\x03\x02" + "\x02\x02\u075D\u0715\x03\x02\x02\x02\u075D\u0716\x03\x02\x02\x02\u075D" + "\u0717\x03\x02\x02\x02\u075D\u0718\x03\x02\x02\x02\u075D\u0719\x03\x02" + "\x02\x02\u075D\u071A\x03\x02\x02\x02\u075D\u071B\x03\x02\x02\x02\u075D" + "\u071C\x03\x02\x02\x02\u075D\u071D\x03\x02\x02\x02\u075D\u071E\x03\x02" + "\x02\x02\u075D\u071F\x03\x02\x02\x02\u075D\u0720\x03\x02\x02\x02\u075D" + "\u0721\x03\x02\x02\x02\u075D\u0722\x03\x02\x02\x02\u075D\u0723\x03\x02" + "\x02\x02\u075D\u0724\x03\x02\x02\x02\u075D\u0725\x03\x02\x02\x02\u075D" + "\u0726\x03\x02\x02\x02\u075D\u0727\x03\x02\x02\x02\u075D\u0728\x03\x02" + "\x02\x02\u075D\u0729\x03\x02\x02\x02\u075D\u072A\x03\x02\x02\x02\u075D" + "\u072B\x03\x02\x02\x02\u075D\u072C\x03\x02\x02\x02\u075D\u072D\x03\x02" + "\x02\x02\u075D\u072E\x03\x02\x02\x02\u075D\u072F\x03\x02\x02\x02\u075D" + "\u0730\x03\x02\x02\x02\u075D\u0731\x03\x02\x02\x02\u075D\u0732\x03\x02" + "\x02\x02\u075D\u0733\x03\x02\x02\x02\u075D\u0734\x03\x02\x02\x02\u075D" + "\u0735\x03\x02\x02\x02\u075D\u0736\x03\x02\x02\x02\u075D\u0737\x03\x02" + "\x02\x02\u075D\u0738\x03\x02\x02\x02\u075D\u0739\x03\x02\x02\x02\u075D" + "\u073A\x03\x02\x02\x02\u075D\u073B\x03\x02\x02\x02\u075D\u073C\x03\x02" + "\x02\x02\u075D\u073D\x03\x02\x02\x02\u075D\u073E\x03\x02\x02\x02\u075D" + "\u073F\x03\x02\x02\x02\u075D\u0740\x03\x02\x02\x02\u075D\u0741\x03\x02" + "\x02\x02\u075D\u0742\x03\x02\x02\x02\u075D\u0743\x03\x02\x02\x02\u075D" + "\u0744\x03\x02\x02\x02\u075D\u0745\x03\x02\x02\x02\u075D\u0746\x03\x02" + "\x02\x02\u075D\u0747\x03\x02\x02\x02\u075D\u0748\x03\x02\x02\x02\u075D" + "\u0749\x03\x02\x02\x02\u075D\u074A\x03\x02\x02\x02\u075D\u074B\x03\x02" + "\x02\x02\u075D\u074C\x03\x02\x02\x02\u075D\u074D\x03\x02\x02\x02\u075D" + "\u074E\x03\x02\x02\x02\u075D\u074F\x03\x02\x02\x02\u075D\u0750\x03\x02" + "\x02\x02\u075D\u0751\x03\x02\x02\x02\u075D\u0752\x03\x02\x02\x02\u075D" + "\u0753\x03\x02\x02\x02\u075D\u0754\x03\x02\x02\x02\u075D\u0755\x03\x02" + "\x02\x02\u075D\u0756\x03\x02\x02\x02\u075D\u0757\x03\x02\x02\x02\u075D" + "\u0758\x03\x02\x02\x02\u075D\u0759\x03\x02\x02\x02\u075D\u075A\x03\x02" + "\x02\x02\u075D\u075B\x03\x02\x02\x02\u075D\u075C\x03\x02\x02\x02\u075E" + "\t\x03\x02\x02\x02\u075F\u0761\x07\u0247\x02\x02\u0760\u0762\x07\u0248" + "\x02\x02\u0761\u0760\x03\x02\x02\x02\u0761\u0762\x03\x02\x02\x02\u0762" + "\v\x03\x02\x02\x02\u0763\u0764\x07\u01B3\x02\x02\u0764\u0765\x05\u04EE" + "\u0278\x02\u0765\r\x03\x02\x02\x02\u0766\u0767\x070\x02\x02\u0767\u0768" + "\x07\u0140\x02\x02\u0768\u076A\x05\u05C0\u02E1\x02\u0769\u076B\x05\x10" + "\t\x02\u076A\u0769\x03\x02\x02\x02\u076A\u076B\x03\x02\x02\x02\u076B\u076C" + "\x03\x02\x02\x02\u076C\u076D\x05\x12\n\x02\u076D\x0F\x03\x02\x02\x02\u076E" + "\u076F\x07k\x02\x02\u076F\x11\x03\x02\x02\x02\u0770\u0772\x05\x18\r\x02" + "\u0771\u0770\x03\x02\x02\x02\u0772\u0775\x03\x02\x02\x02\u0773\u0771\x03" + "\x02\x02\x02\u0773\u0774\x03\x02\x02\x02\u0774\x13\x03\x02\x02\x02\u0775" + "\u0773\x03\x02\x02\x02\u0776\u0778\x05\x16\f\x02\u0777\u0776\x03\x02\x02" + "\x02\u0778\u077B\x03\x02\x02\x02\u0779\u0777\x03\x02\x02\x02\u0779\u077A" + "\x03\x02\x02\x02\u077A\x15\x03\x02\x02\x02\u077B\u0779\x03\x02\x02\x02" + "\u077C\u077F\x07\u0121\x02\x02\u077D\u0780\x05\u05B6\u02DC\x02\u077E\u0780" + "\x07P\x02\x02\u077F\u077D\x03\x02\x02\x02\u077F\u077E\x03\x02\x02\x02" + "\u0780\u07A0\x03\x02\x02\x02\u0781\u0782\t\x02\x02\x02\u0782\u0783\x07" + "\u0121\x02\x02\u0783\u07A0\x05\u05B6\u02DC\x02\u0784\u07A0\t\x03\x02\x02" + "\u0785\u07A0\t\x04\x02\x02\u0786\u07A0\t\x05\x02\x02\u0787\u07A0\t\x06" + "\x02\x02\u0788\u07A0\t\x07\x02\x02\u0789\u07A0\t\b\x02\x02\u078A\u07A0" + "\t\t\x02\x02\u078B\u07A0\t\n\x02\x02\u078C\u078D\x07\xA6\x02\x02\u078D" + "\u078E\x07L\x02\x02\u078E\u07A0\x05\u05BC\u02DF\x02\u078F\u0790\x07\u0175" + "\x02\x02\u0790\u0791\x07\u0172\x02\x02\u0791\u07A0\x05\u05B6\u02DC\x02" + "\u0792\u0793\x07F\x02\x02\u0793\u0794\x07\u0140\x02\x02\u0794\u07A0\x05" + "\u058C\u02C7\x02\u0795\u0796\x07F\x02\x02\u0796\u0797\x07D\x02\x02\u0797" + "\u07A0\x05\u058C\u02C7\x02\u0798\u0799\x07\u0140\x02\x02\u0799\u07A0\x05" + "\u05C4\u02E3\x02\u079A\u079B\x07\x88\x02\x02\u079B\u07A0\x05\u058C\u02C7" + "\x02\u079C\u079D\x07e\x02\x02\u079D\u07A0\x05\u05C4\u02E3\x02\u079E\u07A0" + "\x05\u05D8\u02ED\x02\u079F\u077C\x03\x02\x02\x02\u079F\u0781\x03\x02\x02" + "\x02\u079F\u0784\x03\x02\x02\x02\u079F\u0785\x03\x02\x02\x02\u079F\u0786" + "\x03\x02\x02\x02\u079F\u0787\x03\x02\x02\x02\u079F\u0788\x03\x02\x02\x02" + "\u079F\u0789\x03\x02\x02\x02\u079F\u078A\x03\x02\x02\x02\u079F\u078B\x03" + "\x02\x02\x02\u079F\u078C\x03\x02\x02\x02\u079F\u078F\x03\x02\x02\x02\u079F" + "\u0792\x03\x02\x02\x02\u079F\u0795\x03\x02\x02\x02\u079F\u0798\x03\x02" + "\x02\x02\u079F\u079A\x03\x02\x02\x02\u079F\u079C\x03\x02\x02\x02\u079F" + "\u079E\x03\x02\x02\x02\u07A0\x17\x03\x02\x02\x02\u07A1\u07AC\x05\x16\f" + "\x02\u07A2\u07A3\x07\u015E\x02\x02\u07A3\u07AC\x05\u05B4\u02DB\x02\u07A4" + "\u07A5\x07\x88\x02\x02\u07A5\u07AC\x05\u05C4\u02E3\x02\u07A6"; private static readonly _serializedATNSegment7: string = "\u07A7\x07\u0140\x02\x02\u07A7\u07AC\x05\u05C4\u02E3\x02\u07A8\u07A9\x07" + "F\x02\x02\u07A9\u07AA\t\v\x02\x02\u07AA\u07AC\x05\u05C4\u02E3\x02\u07AB" + "\u07A1\x03\x02\x02\x02\u07AB\u07A2\x03\x02\x02\x02\u07AB\u07A4\x03\x02" + "\x02\x02\u07AB\u07A6\x03\x02\x02\x02\u07AB\u07A8\x03\x02\x02\x02\u07AC" + "\x19\x03\x02\x02\x02\u07AD\u07AE\x070\x02\x02\u07AE\u07AF\x07e\x02\x02" + "\u07AF\u07B1\x05\u05C0\u02E1\x02\u07B0\u07B2\x05\x10\t\x02\u07B1\u07B0" + "\x03\x02\x02\x02\u07B1\u07B2\x03\x02\x02\x02\u07B2\u07B3\x03\x02\x02\x02" + "\u07B3\u07B4\x05\x12\n\x02\u07B4\x1B\x03\x02\x02\x02\u07B5\u07B6\x07\x8C" + "\x02\x02\u07B6\u07B7\t\f\x02\x02\u07B7\u07B9\x05\u05C2\u02E2\x02\u07B8" + "\u07BA\x05\x10\t\x02\u07B9\u07B8\x03\x02\x02\x02\u07B9\u07BA\x03\x02\x02" + "\x02\u07BA\u07BB\x03\x02\x02\x02\u07BB\u07BC\x05\x14\v\x02\u07BC\x1D\x03" + "\x02\x02\x02\u07BD\u07C2\x03\x02\x02\x02\u07BE\u07BF\x07F\x02\x02\u07BF" + "\u07C0\x07\xB1\x02\x02\u07C0\u07C2\x05\u0590\u02C9\x02\u07C1\u07BD\x03" + "\x02\x02\x02\u07C1\u07BE\x03\x02\x02\x02\u07C2\x1F\x03\x02\x02\x02\u07C3" + "\u07C4\x07\x8C\x02\x02\u07C4\u07C7\t\f\x02\x02\u07C5\u07C8\x07 \x02\x02" + "\u07C6\u07C8\x05\u05C2\u02E2\x02\u07C7\u07C5\x03\x02\x02\x02\u07C7\u07C6" + "\x03\x02\x02\x02\u07C8\u07C9\x03\x02\x02\x02\u07C9\u07CA\x05\x1E\x10\x02" + "\u07CA\u07CB\x05Z.\x02\u07CB!\x03\x02\x02\x02\u07CC\u07CD\x07\x8C\x02" + "\x02\u07CD\u07CE\x07\u01BC\x02\x02\u07CE\u07D0\x05\u0596\u02CC\x02\u07CF" + "\u07D1\x05\u0296\u014C\x02\u07D0\u07CF\x03\x02\x02\x02\u07D0\u07D1\x03" + "\x02\x02\x02\u07D1\u07D2\x03\x02\x02\x02\u07D2\u07D3\x05$\x13\x02\u07D3" + "#\x03\x02\x02\x02\u07D4\u07D6\x05&\x14\x02\u07D5\u07D7\x07\u013D\x02\x02" + "\u07D6\u07D5\x03\x02\x02\x02\u07D6\u07D7\x03\x02\x02\x02\u07D7\u07E9\x03" + "\x02\x02\x02\u07D8\u07D9\x07\u0137\x02\x02\u07D9\u07DA\x07`\x02\x02\u07DA" + "\u07E9\x05\u0594\u02CB\x02\u07DB\u07DC\x07\u011C\x02\x02\u07DC\u07DD\x07" + "`\x02\x02\u07DD\u07E9\x05\u05C2\u02E2\x02\u07DE\u07DF\x07\u014F\x02\x02" + "\u07DF\u07E0\x07\u0145\x02\x02\u07E0\u07E9\x052\x1A\x02\u07E1\u07E3\x07" + "\u010F\x02\x02\u07E2\u07E1\x03\x02\x02\x02\u07E2\u07E3\x03\x02\x02\x02" + "\u07E3\u07E4\x03\x02\x02\x02\u07E4\u07E5\x07\u01D0\x02\x02\u07E5\u07E6" + "\x07R\x02\x02\u07E6\u07E7\x07\xCE\x02\x02\u07E7\u07E9\x05\u05A0\u02D1" + "\x02\u07E8\u07D4\x03\x02\x02\x02\u07E8\u07D8\x03\x02\x02\x02\u07E8\u07DB" + "\x03\x02\x02\x02\u07E8\u07DE\x03\x02\x02\x02\u07E8\u07E2\x03\x02\x02\x02" + "\u07E9%\x03\x02\x02\x02\u07EA\u07EE\x05(\x15\x02\u07EB\u07ED\x05(\x15" + "\x02\u07EC\u07EB\x03\x02\x02\x02\u07ED\u07F0\x03\x02\x02\x02\u07EE\u07EC" + "\x03\x02\x02\x02\u07EE\u07EF\x03\x02\x02\x02\u07EF\'\x03\x02\x02\x02\u07F0" + "\u07EE\x03\x02\x02\x02\u07F1\u081B\x07\xE0\x02\x02\u07F2\u081B\x07\u0154" + "\x02\x02\u07F3\u081B\x07\u017B\x02\x02\u07F4\u07F6\x07O\x02\x02\u07F5" + "\u07F4\x03\x02\x02\x02\u07F5\u07F6\x03\x02\x02\x02\u07F6\u07F7\x03\x02" + "\x02\x02\u07F7\u081B\x07\xFC\x02\x02\u07F8\u07FA\x07\xCF\x02\x02\u07F9" + "\u07F8\x03\x02\x02\x02\u07F9\u07FA\x03\x02\x02\x02\u07FA\u07FB\x03\x02" + "\x02\x02\u07FB\u07FC\x07\u0149\x02\x02\u07FC\u0803\x07\xF5\x02\x02\u07FD" + "\u07FF\x07\xCF\x02\x02\u07FE\u07FD\x03\x02\x02\x02\u07FE\u07FF\x03\x02" + "\x02\x02\u07FF\u0800\x03\x02\x02\x02\u0800\u0801\x07\u0149\x02\x02\u0801" + "\u0803\x07\xB7\x02\x02\u0802\u07F9\x03\x02\x02\x02\u0802\u07FE\x03\x02" + "\x02\x02\u0803\u081B\x03\x02\x02\x02\u0804\u0805\x07\u01CE\x02\x02\u0805" + "\u081B\t\r\x02\x02\u0806\u0807\x07\xAC\x02\x02\u0807\u081B\x05\u05A2\u02D2" + "\x02\u0808\u0809\x07\u0142\x02\x02\u0809\u081B\x05\u05A0\u02D1\x02\u080A" + "\u080B\x07\u014F\x02\x02\u080B\u080C\x05\u05A0\u02D1\x02\u080C\u080F\t" + "\x0E\x02\x02\u080D\u0810\x05\u05A0\u02D1\x02\u080E\u0810\x077\x02\x02" + "\u080F\u080D\x03\x02\x02\x02\u080F\u080E\x03\x02\x02\x02\u0810\u081B\x03" + "\x02\x02\x02\u0811\u0812\x07\u014F\x02\x02\u0812\u0813\x05\u05A0\u02D1" + "\x02\u0813\u0814\x07B\x02\x02\u0814\u0815\x07\u01B4\x02\x02\u0815\u081B" + "\x03\x02\x02\x02\u0816\u0817\x07\u013B\x02\x02\u0817\u081B\x05\u05A0\u02D1" + "\x02\u0818\u0819\x07\u013B\x02\x02\u0819\u081B\x07 \x02\x02\u081A\u07F1" + "\x03\x02\x02\x02\u081A\u07F2\x03\x02\x02\x02\u081A\u07F3\x03\x02\x02\x02" + "\u081A\u07F5\x03\x02\x02\x02\u081A\u0802\x03\x02\x02\x02\u081A\u0804\x03" + "\x02\x02\x02\u081A\u0806\x03\x02\x02\x02\u081A\u0808\x03\x02\x02\x02\u081A" + "\u080A\x03\x02\x02\x02\u081A\u0811\x03\x02\x02\x02\u081A\u0816\x03\x02" + "\x02\x02\u081A\u0818\x03\x02\x02\x02\u081B)\x03\x02\x02\x02\u081C\u081D" + "\x070\x02\x02\u081D\u081E\x07D\x02\x02\u081E\u0820\x05\u05BE\u02E0\x02" + "\u081F\u0821\x05\x10\t\x02\u0820\u081F\x03\x02\x02\x02\u0820\u0821\x03" + "\x02\x02\x02\u0821\u0822\x03\x02\x02\x02\u0822\u0823\x05\x12\n\x02\u0823" + "+\x03\x02\x02\x02\u0824\u0825\x07\x8C\x02\x02\u0825\u0826\x07D\x02\x02" + "\u0826\u0827\x05\u05C2\u02E2\x02\u0827\u0828\x05.\x18\x02\u0828\u0829" + "\x07e\x02\x02\u0829\u082A\x05\u05C4\u02E3\x02\u082A-\x03\x02\x02\x02\u082B" + "\u082C\t\x0F\x02\x02\u082C/\x03\x02\x02\x02\u082D\u082E\x070\x02\x02\u082E" + "\u0830\x07\u0145\x02\x02\u082F\u0831\x05\u0204\u0103\x02\u0830\u082F\x03" + "\x02\x02\x02\u0830\u0831\x03\x02\x02\x02\u0831\u0838\x03\x02\x02\x02\u0832" + "\u0834\x052\x1A\x02\u0833\u0832\x03\x02\x02\x02\u0833\u0834\x03\x02\x02" + "\x02\u0834\u0835\x03\x02\x02\x02\u0835\u0836\x07l\x02\x02\u0836\u0839" + "\x05\u05C2\u02E2\x02\u0837\u0839\x052\x1A\x02\u0838\u0833\x03\x02\x02" + "\x02\u0838\u0837\x03\x02\x02\x02\u0839\u083A\x03\x02\x02\x02\u083A\u083B" + "\x054\x1B\x02\u083B1\x03\x02\x02\x02\u083C\u083E\x05\u05C6\u02E4\x02\u083D" + "\u083F\x05\u0232\u011A\x02\u083E\u083D\x03\x02\x02\x02\u083E\u083F\x03" + "\x02\x02\x02\u083F3\x03\x02\x02\x02\u0840\u0842\x056\x1C\x02\u0841\u0840" + "\x03\x02\x02\x02\u0842\u0845\x03\x02\x02\x02\u0843\u0841\x03\x02\x02\x02" + "\u0843\u0844\x03\x02\x02\x02\u08445\x03\x02\x02\x02\u0845\u0843\x03\x02" + "\x02\x02\u0846\u084D\x05\xBE`\x02\u0847\u084D\x05\u0274\u013B\x02\u0848" + "\u084D\x05\u0134\x9B\x02\u0849\u084D\x05\u01B4\xDB\x02\u084A\u084D\x05" + "\u024C\u0127\x02\u084B\u084D\x05\u034A\u01A6\x02\u084C\u0846\x03\x02\x02" + "\x02\u084C\u0847\x03\x02\x02\x02\u084C\u0848\x03\x02\x02\x02\u084C\u0849" + "\x03\x02\x02\x02\u084C\u084A\x03\x02\x02\x02\u084C\u084B\x03\x02\x02\x02" + "\u084D7\x03\x02\x02\x02\u084E\u0850\x07\u014F\x02\x02\u084F\u0851\t\x10" + "\x02\x02\u0850\u084F\x03\x02\x02\x02\u0850\u0851\x03\x02\x02\x02\u0851" + "\u0852\x03\x02\x02\x02\u0852\u0853\x05:\x1E\x02\u08539\x03\x02\x02\x02" + "\u0854\u0855\x07\u0166\x02\x02\u0855\u085D\x05\u0344\u01A3\x02\u0856\u0857" + "\x07\u014E\x02\x02\u0857\u0858\x07\x9C\x02\x02\u0858\u0859\x07&\x02\x02" + "\u0859\u085A\x07\u0166\x02\x02\u085A\u085D\x05\u0344\u01A3\x02\u085B\u085D" + "\x05> \x02\u085C\u0854\x03\x02\x02\x02\u085C\u0856\x03\x02\x02\x02\u085C" + "\u085B\x03\x02\x02\x02\u085D;\x03\x02\x02\x02\u085E\u0861\x05@!\x02\u085F" + "\u0861\x07 \x02\x02\u0860\u085E\x03\x02\x02\x02\u0860\u085F\x03\x02\x02" + "\x02\u0861\u0863\x03\x02\x02\x02\u0862\u0864\t\x0E\x02\x02\u0863\u0862" + "\x03\x02\x02\x02\u0863\u0864\x03\x02\x02\x02\u0864\u0867\x03\x02\x02\x02" + "\u0865\u0868\x05B\"\x02\u0866\u0868\x077\x02\x02\u0867\u0865\x03\x02\x02" + "\x02\u0867\u0866\x03\x02\x02\x02\u0867\u0868\x03\x02\x02\x02\u0868=\x03" + "\x02\x02\x02\u0869\u0885\x05<\x1F\x02\u086A\u086B\x05@!\x02\u086B\u086C" + "\x07B\x02\x02\u086C\u086D\x07\u01B4\x02\x02\u086D\u0885\x03\x02\x02\x02" + "\u086E\u086F\x07\u01A4\x02\x02\u086F\u0870\x07\u0184\x02\x02\u0870\u0885" + "\x05L\'\x02\u0871\u0872\x07\x9A\x02\x02\u0872\u0885\x05\u05B6\u02DC\x02" + "\u0873\u0874\x07\u0145\x02\x02\u0874\u0885\x05\u0592\u02CA\x02\u0875\u0877" + "\x07\u010D\x02\x02\u0876\u0878\x05N(\x02\u0877\u0876\x03\x02\x02\x02\u0877" + "\u0878\x03\x02\x02\x02\u0878\u0885\x03\x02\x02\x02\u0879\u087A\x07\u0140" + "\x02\x02\u087A\u0885\x05R*\x02\u087B\u087C\x07\u014E\x02\x02\u087C\u087D" + "\x07l\x02\x02\u087D\u0885\x05R*\x02\u087E\u087F\x07\u0181\x02\x02\u087F" + "\u0880\x07\u0119\x02\x02\u0880\u0885\x05\u0500\u0281\x02\u0881\u0882\x07" + "\u0166\x02\x02\u0882\u0883\x07\u0153\x02\x02\u0883\u0885\x05\u05B6\u02DC" + "\x02\u0884\u0869\x03\x02\x02\x02\u0884\u086A\x03\x02\x02\x02\u0884\u086E" + "\x03\x02\x02\x02\u0884\u0871\x03\x02\x02\x02\u0884\u0873\x03\x02\x02\x02" + "\u0884\u0875\x03\x02\x02\x02\u0884\u0879\x03\x02\x02\x02\u0884\u087B\x03" + "\x02\x02\x02\u0884\u087E\x03\x02\x02\x02\u0884\u0881\x03\x02\x02\x02\u0885" + "?\x03\x02\x02\x02\u0886\u088B\x05\u05C6\u02E4\x02\u0887\u0888\x07\r\x02" + "\x02\u0888\u088A\x05\u05C6\u02E4\x02\u0889\u0887\x03\x02\x02\x02\u088A" + "\u088D\x03\x02\x02\x02\u088B\u0889\x03\x02\x02\x02\u088B\u088C\x03\x02" + "\x02\x02\u088CA\x03\x02\x02\x02\u088D\u088B\x03\x02\x02\x02\u088E\u0893" + "\x05D#\x02\u088F\u0890\x07\b\x02\x02\u0890\u0892\x05D#\x02\u0891\u088F" + "\x03\x02\x02\x02\u0892\u0895\x03\x02\x02\x02\u0893\u0891\x03\x02\x02\x02" + "\u0893\u0894\x03\x02\x02\x02\u0894C\x03\x02\x02\x02\u0895\u0893\x03\x02" + "\x02\x02\u0896\u0899\x05J&\x02\u0897\u0899\x05\u0142\xA2\x02\u0898\u0896" + "\x03\x02\x02\x02\u0898\u0897\x03\x02\x02\x02\u0899E\x03\x02\x02\x02\u089A" + "\u089B\x07\u012E\x02\x02\u089B\u08A0\t\x11\x02\x02\u089C\u089D\x07\u0138" + "\x02\x02\u089D\u08A0\x07\u012E\x02\x02\u089E\u08A0\x07\u014C\x02\x02\u089F" + "\u089A\x03\x02\x02\x02\u089F\u089C\x03\x02\x02\x02\u089F\u089E\x03\x02" + "\x02\x02\u08A0G\x03\x02\x02\x02\u08A1\u08A6\x07b\x02\x02\u08A2\u08A6\x07" + ">\x02\x02\u08A3\u08A6\x07R\x02\x02\u08A4\u08A6\x05P)\x02\u08A5\u08A1\x03" + "\x02\x02\x02\u08A5\u08A2\x03\x02\x02\x02\u08A5\u08A3\x03\x02\x02\x02\u08A5" + "\u08A4\x03\x02\x02\x02\u08A6I\x03\x02\x02\x02\u08A7\u08AC\x07b\x02\x02" + "\u08A8\u08AC\x07>\x02\x02\u08A9\u08AC\x07R\x02\x02\u08AA\u08AC\x05R*\x02" + "\u08AB\u08A7\x03\x02\x02\x02\u08AB\u08A8\x03\x02\x02\x02\u08AB\u08A9\x03" + "\x02\x02\x02\u08AB\u08AA\x03\x02\x02\x02\u08ACK\x03\x02\x02\x02\u08AD" + "\u08BE\x05\u05B6\u02DC\x02\u08AE\u08BE\x05\u05D8\u02ED\x02\u08AF\u08B0" + "\x05\u04B6\u025C\x02\u08B0\u08B2\x05\u05B6\u02DC\x02\u08B1\u08B3\x05\u04BA" + "\u025E\x02\u08B2\u08B1\x03\x02\x02\x02\u08B2\u08B3\x03\x02\x02\x02\u08B3" + "\u08BE\x03\x02\x02\x02\u08B4\u08B5\x05\u04B6\u025C\x02\u08B5\u08B6\x07" + "\x04\x02\x02\u08B6\u08B7\x05\u05B4\u02DB\x02\u08B7\u08B8\x07\x05\x02\x02" + "\u08B8\u08B9\x05\u05B6\u02DC\x02\u08B9\u08BE\x03\x02\x02\x02\u08BA\u08BE" + "\x05\u0142\xA2\x02\u08BB\u08BE\x077\x02\x02\u08BC\u08BE\x07\u0100\x02" + "\x02\u08BD\u08AD\x03\x02\x02\x02\u08BD\u08AE\x03\x02\x02\x02\u08BD\u08AF" + "\x03\x02\x02\x02\u08BD\u08B4\x03\x02\x02\x02\u08BD\u08BA\x03\x02\x02\x02" + "\u08BD\u08BB\x03\x02\x02\x02\u08BD\u08BC\x03\x02\x02\x02\u08BEM\x03\x02" + "\x02\x02\u08BF\u08C2\x05\u05B6\u02DC\x02\u08C0\u08C2\x077\x02\x02\u08C1" + "\u08BF\x03\x02\x02\x02\u08C1\u08C0\x03\x02\x02\x02\u08C2O\x03\x02\x02" + "\x02\u08C3\u08C6\x05\u05D2\u02EA\x02\u08C4\u08C6\x05\u05B6\u02DC\x02\u08C5" + "\u08C3\x03\x02\x02\x02\u08C5\u08C4\x03\x02\x02\x02\u08C6Q\x03\x02\x02" + "\x02\u08C7\u08CA\x05\u05D4\u02EB\x02\u08C8\u08CA\x05\u05B6\u02DC\x02\u08C9" + "\u08C7\x03\x02\x02\x02\u08C9\u08C8\x03\x02\x02\x02\u08CAS\x03\x02\x02" + "\x02\u08CB\u08CC\x07\u013B\x02\x02\u08CC\u08CD\x05V,\x02\u08CDU\x03\x02" + "\x02\x02\u08CE\u08D7\x05X-\x02\u08CF\u08D0\x07\u01A4\x02\x02\u08D0\u08D7" + "\x07\u0184\x02\x02\u08D1\u08D2\x07\u0166\x02\x02\u08D2\u08D3\x07\xF6\x02" + "\x02\u08D3\u08D7\x07\xFD\x02\x02\u08D4\u08D5\x07\u014E\x02\x02\u08D5\u08D7" + "\x07l\x02\x02\u08D6\u08CE\x03\x02\x02\x02\u08D6\u08CF\x03\x02\x02\x02" + "\u08D6\u08D1\x03\x02\x02\x02\u08D6\u08D4\x03\x02\x02\x02\u08D7W\x03\x02" + "\x02\x02\u08D8\u08DB\x05@!\x02\u08D9\u08DB\x07 \x02\x02\u08DA\u08D8\x03" + "\x02\x02\x02\u08DA\u08D9\x03\x02\x02\x02\u08DBY\x03\x02\x02\x02\u08DC" + "\u08DD\x07\u014F\x02\x02\u08DD\u08E0\x05:\x1E\x02\u08DE\u08E0\x05T+\x02" + "\u08DF\u08DC\x03\x02\x02\x02\u08DF\u08DE\x03\x02\x02\x02\u08E0[\x03\x02" + "\x02\x02\u08E1\u08E2\x07\u014F\x02\x02\u08E2\u08E5\x05> \x02\u08E3\u08E5" + "\x05T+\x02\u08E4\u08E1\x03\x02\x02\x02\u08E4\u08E3\x03\x02\x02\x02\u08E5" + "]\x03\x02\x02\x02\u08E6\u08F0\x07\u0151\x02\x02\u08E7\u08F1\x05@!\x02" + "\u08E8\u08E9\x07\u01A4\x02\x02\u08E9\u08F1\x07\u0184\x02\x02\u08EA\u08EB" + "\x07\u0166\x02\x02\u08EB\u08EC\x07\xF6\x02\x02\u08EC\u08F1\x07\xFD\x02" + "\x02\u08ED\u08EE\x07\u014E\x02\x02\u08EE\u08F1\x07l\x02\x02\u08EF\u08F1" + "\x07 \x02\x02\u08F0\u08E7\x03\x02\x02\x02\u08F0\u08E8\x03\x02\x02\x02" + "\u08F0\u08EA\x03\x02\x02\x02\u08F0\u08ED\x03\x02\x02\x02\u08F0\u08EF\x03" + "\x02\x02\x02\u08F1_\x03\x02\x02\x02\u08F2\u08F3\x07\u014F\x02\x02\u08F3" + "\u08F4\x07\xA7\x02\x02\u08F4\u08F5\x05b2\x02\u08F5\u08F6\x05d3\x02\u08F6" + "a\x03\x02\x02\x02\u08F7\u08FA\x07 \x02\x02\u08F8\u08FA\x05\u0572\u02BA" + "\x02\u08F9\u08F7\x03\x02\x02\x02\u08F9\u08F8\x03\x02\x02\x02\u08FAc\x03" + "\x02\x02\x02\u08FB\u08FC\t\x12\x02\x02\u08FCe\x03\x02\x02\x02\u08FD\u08FE" + "\x07\x9D\x02\x02\u08FEg\x03\x02\x02\x02\u08FF\u0900\x07\xBD\x02\x02\u0900" + "\u0901\t\x13\x02\x02\u0901i\x03\x02\x02\x02\u0902\u0903\x07\x8C\x02\x02" + "\u0903\u0905\x07^\x02\x02\u0904\u0906\x05\u02EE\u0178\x02\u0905\u0904" + "\x03\x02\x02\x02\u0905\u0906\x03\x02\x02\x02\u0906\u0907\x03\x02\x02\x02" + "\u0907\u090A\x05\u0462\u0232\x02\u0908\u090B\x05l7\x02\u0909\u090B\x05" + "v<\x02\u090A\u0908\x03\x02\x02\x02\u090A\u0909\x03\x02\x02\x02\u090B\u0988" + "\x03\x02\x02\x02\u090C\u090D\x07\x8C\x02\x02\u090D\u090E\x07^\x02\x02" + "\u090E\u090F\x07 \x02\x02\u090F\u0910\x07F\x02\x02\u0910\u0911\x07\u0161" + "\x02\x02\u0911\u0915\x05\u057E\u02C0\x02\u0912\u0913\x07\u011B\x02\x02" + "\u0913\u0914\x07\x95\x02\x02\u0914\u0916\x05\u05C4\u02E3\x02\u0915\u0912" + "\x03\x02\x02\x02\u0915\u0916\x03\x02\x02\x02\u0916\u0917\x03\x02\x02\x02" + "\u0917\u0918\x07\u014F\x02\x02\u0918\u0919\x07\u0161\x02\x02\u0919\u091B" + "\x05\u057C\u02BF\x02\u091A\u091C\x05\u03D6\u01EC\x02\u091B\u091A\x03\x02" + "\x02\x02\u091B\u091C\x03\x02\x02\x02\u091C\u0988\x03\x02\x02\x02\u091D" + "\u091E\x07\x8C\x02\x02\u091E\u0920\x07^\x02\x02\u091F\u0921\x05\u02EE" + "\u0178\x02\u0920\u091F\x03\x02\x02\x02\u0920\u0921\x03\x02\x02\x02\u0921" + "\u0922\x03\x02\x02\x02\u0922\u0923\x05\u0582\u02C2\x02\u0923\u0924\x07" + "\u01B5\x02\x02\u0924\u0925\x07\u011F\x02\x02\u0925\u092A\x05\u0588\u02C5" + "\x02\u0926\u0927\x07@\x02\x02\u0927\u0928\x07\u01A8\x02\x02\u0928\u092B" + "\x05n8\x02\u0929\u092B\x077\x02\x02\u092A\u0926\x03\x02\x02\x02\u092A" + "\u0929\x03\x02\x02\x02\u092B\u0988\x03\x02\x02\x02\u092C\u092D\x07\x8C" + "\x02\x02\u092D\u092F\x07^\x02\x02\u092E\u0930\x05\u02EE\u0178\x02\u092F" + "\u092E\x03\x02\x02\x02\u092F\u0930\x03\x02\x02\x02\u0930\u0931\x03\x02" + "\x02\x02\u0931\u0932\x05\u0582\u02C2\x02\u0932\u0933\x07\u01B6\x02\x02" + "\u0933\u0934\x07\u011F\x02\x02\u0934\u0936\x05\u0588\u02C5\x02\u0935\u0937" + "\t\x14\x02\x02\u0936\u0935\x03\x02\x02\x02\u0936\u0937\x03\x02\x02\x02" + "\u0937\u0988\x03\x02\x02\x02\u0938\u0939\x07\x8C\x02\x02\u0939\u093B\x07" + "\xE4\x02\x02\u093A\u093C\x05\u02EE\u0178\x02\u093B\u093A\x03\x02\x02\x02" + "\u093B\u093C\x03\x02\x02\x02\u093C\u093D\x03\x02\x02\x02\u093D\u0940\x05" + "\u0588\u02C5\x02\u093E\u0941\x05l7\x02\u093F\u0941\x05x=\x02\u0940\u093E" + "\x03\x02\x02\x02\u0940\u093F\x03\x02\x02\x02\u0941\u0988\x03\x02\x02\x02" + "\u0942\u0943\x07\x8C\x02\x02\u0943\u0944\x07\xE4\x02\x02\u0944\u0945\x07" + " \x02\x02\u0945\u0946\x07F\x02\x02\u0946\u0947\x07\u0161\x02\x02\u0947" + "\u094B\x05\u057E\u02C0\x02\u0948\u0949\x07\u011B\x02\x02\u0949\u094A\x07" + "\x95\x02\x02\u094A\u094C\x05\u05C4\u02E3\x02\u094B\u0948\x03\x02\x02\x02" + "\u094B\u094C\x03\x02\x02\x02\u094C\u094D\x03\x02\x02\x02\u094D\u094E\x07" + "\u014F\x02\x02\u094E\u094F\x07\u0161\x02\x02\u094F\u0951\x05\u057C\u02BF" + "\x02\u0950\u0952\x05\u03D6\u01EC\x02\u0951\u0950\x03\x02\x02\x02\u0951" + "\u0952\x03\x02\x02\x02\u0952\u0988\x03\x02\x02\x02\u0953\u0954\x07\x8C" + "\x02\x02\u0954\u0956\x07\u014A\x02\x02\u0955\u0957\x05\u02EE\u0178\x02" + "\u0956\u0955\x03\x02\x02\x02\u0956\u0957\x03\x02\x02\x02\u0957\u0958\x03" + "\x02\x02\x02\u0958\u0959\x05\u0588\u02C5\x02\u0959\u095A\x05l7\x02\u095A" + "\u0988\x03\x02\x02\x02\u095B\u095C\x07\x8C\x02\x02\u095C\u095E\x07\u017A" + "\x02\x02\u095D\u095F\x05\u02EE\u0178\x02\u095E\u095D\x03\x02\x02\x02\u095E" + "\u095F\x03\x02\x02\x02\u095F\u0960\x03\x02\x02\x02\u0960\u0961\x05\u0586" + "\u02C4\x02\u0961\u0962\x05l7\x02\u0962\u0988\x03\x02\x02\x02\u0963\u0964" + "\x07\x8C\x02\x02\u0964\u0965\x07\u0105\x02\x02\u0965\u0967\x07\u017A\x02" + "\x02\u0966\u0968\x05\u02EE\u0178\x02\u0967\u0966\x03\x02\x02\x02\u0967" + "\u0968\x03\x02\x02\x02\u0968\u0969\x03\x02\x02\x02\u0969\u096A\x05\u0586" + "\u02C4\x02\u096A\u096B\x05l7\x02\u096B\u0988\x03\x02\x02\x02\u096C\u096D" + "\x07\x8C\x02\x02\u096D\u096E\x07\u0105\x02\x02\u096E\u096F\x07\u017A\x02" + "\x02\u096F\u0970\x07 \x02\x02\u0970\u0971\x07F\x02\x02\u0971\u0972\x07" + "\u0161\x02\x02\u0972\u0976\x05\u057E\u02C0\x02\u0973\u0974\x07\u011B\x02" + "\x02\u0974\u0975\x07\x95\x02\x02\u0975\u0977\x05\u05C4\u02E3\x02\u0976" + "\u0973\x03\x02\x02\x02\u0976\u0977\x03\x02\x02\x02\u0977\u0978\x03\x02" + "\x02\x02\u0978\u0979\x07\u014F\x02\x02\u0979\u097A\x07\u0161\x02\x02\u097A" + "\u097C\x05\u057C\u02BF\x02\u097B\u097D\x05\u03D6\u01EC\x02\u097C\u097B" + "\x03\x02\x02\x02\u097C\u097D\x03\x02\x02\x02\u097D\u0988\x03\x02\x02\x02" + "\u097E\u097F\x07\x8C\x02\x02\u097F\u0980\x07A\x02\x02\u0980\u0982\x07" + "^\x02\x02\u0981\u0983\x05\u02EE\u0178\x02\u0982\u0981\x03\x02\x02\x02" + "\u0982\u0983\x03\x02\x02\x02\u0983\u0984\x03\x02\x02\x02\u0984\u0985\x05" + "\u0462\u0232\x02\u0985\u0986\x05l7\x02\u0986\u0988\x03\x02\x02\x02\u0987" + "\u0902\x03\x02\x02\x02\u0987\u090C\x03\x02\x02\x02\u0987\u091D\x03\x02" + "\x02\x02\u0987\u092C\x03\x02\x02\x02\u0987\u0938\x03\x02\x02\x02\u0987" + "\u0942\x03\x02\x02\x02\u0987\u0953\x03\x02\x02\x02\u0987\u095B\x03\x02" + "\x02\x02\u0987\u0963\x03\x02\x02\x02\u0987\u096C\x03\x02\x02\x02\u0987" + "\u097E\x03\x02\x02\x02\u0988k\x03\x02\x02\x02\u0989\u098E\x05z>\x02\u098A" + "\u098B\x07\b\x02\x02\u098B\u098D\x05z>\x02\u098C\u098A\x03\x02\x02\x02" + "\u098D\u0990\x03\x02\x02\x02\u098E\u098C\x03\x02\x02\x02\u098E\u098F\x03" + "\x02\x02\x02\u098Fm\x03\x02\x02\x02\u0990\u098E\x03\x02\x02\x02\u0991" + "\u0992\x07F\x02\x02\u0992\u099B\x05\u049E\u0250\x02\u0993\u0994\x07B\x02" + "\x02\u0994\u0995\x05p9\x02\u0995\u0996\x07`\x02\x02\u0996\u0997\x05p9" + "\x02\u0997\u099B\x03\x02\x02\x02\u0998\u0999\x07k\x02\x02\u0999\u099B" + "\x05t;\x02\u099A\u0991\x03\x02\x02\x02\u099A\u0993\x03\x02\x02\x02\u099A" + "\u0998\x03\x02\x02\x02\u099Bo\x03\x02\x02\x02\u099C\u099D\x07\x04\x02" + "\x02\u099D\u09A2\x05r:\x02\u099E\u099F\x07\b\x02\x02\u099F\u09A1\x05r" + ":\x02\u09A0\u099E\x03\x02\x02\x02\u09A1\u09A4\x03\x02\x02\x02\u09A2\u09A0" + "\x03\x02\x02\x02\u09A2\u09A3\x03\x02\x02\x02\u09A3\u09A5\x03\x02\x02\x02" + "\u09A4\u09A2\x03\x02\x02\x02\u09A5\u09A6\x07\x05\x02\x02\u09A6q\x03\x02" + "\x02\x02\u09A7\u09AB\x05\u049E\u0250\x02\u09A8\u09AB\x07\u0108\x02\x02" + "\u09A9\u09AB\x07\u0106\x02\x02\u09AA\u09A7\x03\x02\x02\x02\u09AA\u09A8" + "\x03\x02\x02\x02\u09AA\u09A9\x03\x02\x02\x02\u09ABs\x03\x02\x02\x02\u09AC" + "\u09AD\x07\x04\x02\x02\u09AD\u09AE\x07\u0217\x02\x02\u09AE\u09AF\x05\u0142" + "\xA2\x02\u09AF\u09B0\x07\b\x02\x02\u09B0\u09B1\x07\u0218\x02\x02\u09B1" + "\u09B2\x05\u0142\xA2\x02\u09B2\u09B3\x07\x05\x02\x02\u09B3u\x03\x02\x02" + "\x02\u09B4\u09B5\x07\u01B5\x02\x02\u09B5\u09B6\x07\u011F\x02\x02\u09B6" + "\u09B7\x05\u0588\u02C5\x02\u09B7\u09B8\x05\x92J\x02\u09B8\u09BD\x03\x02" + "\x02\x02\u09B9\u09BA\x07\u01B6\x02\x02\u09BA\u09BB\x07\u011F\x02\x02\u09BB" + "\u09BD\x05\u0588\u02C5\x02\u09BC\u09B4\x03\x02\x02\x02\u09BC\u09B9\x03" + "\x02\x02\x02\u09BDw\x03\x02\x02\x02\u09BE\u09BF\x07\u01B5\x02\x02\u09BF" + "\u09C0\x07\u011F\x02\x02\u09C0\u09C1\x05\u0588\u02C5\x02\u09C1y\x03\x02" + "\x02\x02\u09C2\u09C4\x07\x87\x02\x02\u09C3\u09C5\x05\u0302\u0182\x02\u09C4" + "\u09C3\x03\x02\x02\x02\u09C4\u09C5\x03\x02\x02\x02\u09C5\u09C7\x03\x02" + "\x02\x02\u09C6\u09C8\x05\u0204\u0103\x02\u09C7\u09C6\x03\x02\x02\x02\u09C7" + "\u09C8\x03\x02\x02\x02\u09C8\u09C9\x03\x02\x02\x02\u09C9\u0AC9\x05\xD0" + "i\x02\u09CA\u09CC\x07\x8C\x02\x02\u09CB\u09CD\x05\u0302\u0182\x02\u09CC" + "\u09CB\x03\x02\x02\x02\u09CC\u09CD\x03\x02\x02\x02\u09CD\u09CE\x03\x02" + "\x02\x02\u09CE\u09CF\x05\u059C\u02CF\x02\u09CF\u09D0\x05|?\x02\u09D0\u0AC9" + "\x03\x02\x02\x02\u09D1\u09D3\x07\x8C\x02\x02\u09D2\u09D4\x05\u0302\u0182" + "\x02\u09D3\u09D2\x03\x02\x02\x02\u09D3\u09D4\x03\x02\x02\x02\u09D4\u09D5" + "\x03\x02\x02\x02\u09D5\u09D6\x05\u059C\u02CF\x02\u09D6\u09D7\x07\xC1\x02" + "\x02\u09D7\u09D8\x07O\x02\x02\u09D8\u09D9\x07P\x02\x02\u09D9\u0AC9\x03" + "\x02\x02\x02\u09DA\u09DC\x07\x8C\x02\x02\u09DB\u09DD\x05\u0302\u0182\x02" + "\u09DC\u09DB\x03\x02\x02\x02\u09DC\u09DD\x03\x02\x02\x02\u09DD\u09DE\x03" + "\x02\x02\x02\u09DE\u09DF\x05\u059C\u02CF\x02\u09DF\u09E0\x07\u014F\x02" + "\x02\u09E0\u09E1\x07O\x02\x02\u09E1\u09E2\x07P\x02\x02\u09E2\u0AC9\x03" + "\x02\x02\x02\u09E3\u09E5\x07\x8C\x02\x02\u09E4\u09E6\x05\u0302\u0182\x02" + "\u09E5\u09E4\x03\x02\x02\x02\u09E5\u09E6\x03\x02\x02\x02\u09E6\u09E7\x03" + "\x02\x02\x02\u09E7\u09E8\x05\u059C\u02CF\x02\u09E8\u09E9\x07\xC1\x02\x02" + "\u09E9\u09EB\x07\u01B7\x02\x02\u09EA\u09EC\x05\u02EE\u0178\x02\u09EB\u09EA" + "\x03\x02\x02\x02\u09EB\u09EC\x03\x02\x02\x02\u09EC\u0AC9\x03\x02\x02\x02" + "\u09ED\u09EF\x07\x8C\x02\x02\u09EE\u09F0\x05\u0302\u0182\x02\u09EF\u09EE" + "\x03\x02\x02\x02\u09EF\u09F0\x03\x02\x02\x02\u09F0\u09F1\x03\x02\x02\x02" + "\u09F1\u09F2\x05\u059C\u02CF\x02\u09F2\u09F3\x07\u014F\x02\x02\u09F3\u09F4" + "\x07\u0158\x02\x02\u09F4\u09F5\x05\u05BC\u02DF\x02\u09F5\u0AC9\x03\x02" + "\x02\x02\u09F6\u09F8\x07\x8C\x02\x02\u09F7\u09F9\x05\u0302\u0182\x02\u09F8" + "\u09F7\x03\x02\x02\x02\u09F8\u09F9\x03\x02\x02\x02\u09F9\u09FA\x03\x02" + "\x02\x02\u09FA\u09FB\x05\u059C\u02CF\x02\u09FB\u09FC\x07\u014F\x02\x02" + "\u09FC\u09FD\x07\u0158\x02\x02\u09FD\u09FE\x05\u05BC\u02DF\x02\u09FE\u0AC9" + "\x03\x02\x02\x02\u09FF\u0A01\x07\x8C\x02\x02\u0A00\u0A02\x05\u0302\u0182" + "\x02\u0A01\u0A00\x03\x02\x02\x02\u0A01\u0A02\x03\x02\x02\x02\u0A02\u0A03" + "\x03\x02\x02\x02\u0A03\u0A04\x05\u059C\u02CF\x02\u0A04\u0A05\x07\u014F" + "\x02\x02\u0A05\u0A06\x05\x86D\x02\u0A06\u0AC9\x03\x02\x02\x02\u0A07\u0A09" + "\x07\x8C\x02\x02\u0A08\u0A0A\x05\u0302\u0182\x02\u0A09\u0A08\x03\x02\x02" + "\x02\u0A09\u0A0A\x03\x02\x02\x02\u0A0A\u0A0B\x03\x02\x02\x02\u0A0B\u0A0C" + "\x05\u059C\u02CF\x02\u0A0C\u0A0D\x07\u013B\x02\x02\u0A0D\u0A0E\x05\x86" + "D\x02\u0A0E\u0AC9\x03\x02\x02\x02\u0A0F\u0A11\x07\x8C\x02\x02\u0A10\u0A12" + "\x05\u0302\u0182\x02\u0A11\u0A10\x03\x02\x02\x02\u0A11\u0A12\x03\x02\x02" + "\x02\u0A12\u0A13\x03\x02\x02\x02\u0A13\u0A14\x05\u059C\u02CF\x02\u0A14" + "\u0A15\x07\u014F\x02\x02\u0A15\u0A16\x07\u015B\x02\x02\u0A16\u0A17\x05" + "\u05C6\u02E4\x02\u0A17\u0AC9\x03\x02\x02\x02\u0A18\u0A1A\x07\x8C\x02\x02" + "\u0A19\u0A1B\x05\u0302\u0182\x02\u0A1A\u0A19\x03\x02\x02\x02\u0A1A\u0A1B" + "\x03\x02\x02\x02\u0A1B\u0A1C\x03\x02\x02\x02\u0A1C\u0A1D\x05\u059C\u02CF" + "\x02\u0A1D\u0A1E\x07\x87\x02\x02\u0A1E\u0A1F\x07\u01B8\x02\x02\u0A1F\u0A20" + "\x05\xE2r\x02\u0A20\u0A21\x07&\x02\x02\u0A21\u0A23\x07\xDD\x02\x02\u0A22" + "\u0A24\x05\u013A\x9E\x02\u0A23\u0A22\x03\x02\x02\x02\u0A23\u0A24\x03\x02" + "\x02\x02\u0A24\u0AC9\x03\x02\x02\x02\u0A25\u0A27\x07\x8C\x02\x02\u0A26" + "\u0A28\x05\u0302\u0182\x02\u0A27\u0A26\x03\x02\x02\x02\u0A27\u0A28\x03" + "\x02\x02\x02\u0A28\u0A29\x03\x02\x02\x02\u0A29\u0A2A\x05\u059C\u02CF\x02" + "\u0A2A\u0A2B\x05\x8EH\x02\u0A2B\u0AC9\x03\x02\x02\x02\u0A2C\u0A2E\x07" + "\x8C\x02\x02\u0A2D\u0A2F\x05\u0302\u0182\x02\u0A2E\u0A2D\x03\x02\x02\x02" + "\u0A2E\u0A2F\x03\x02\x02\x02\u0A2F\u0A30\x03\x02\x02\x02\u0A30\u0A31\x05" + "\u059C\u02CF\x02\u0A31\u0A32\x07\xC1\x02\x02\u0A32\u0A34\x07\xDD\x02\x02" + "\u0A33\u0A35\x05\u02EE\u0178\x02\u0A34\u0A33\x03\x02\x02\x02\u0A34\u0A35" + "\x03\x02\x02\x02\u0A35\u0AC9\x03\x02\x02\x02\u0A36\u0A38\x07\xC1\x02\x02" + "\u0A37\u0A39\x05\u0302\u0182\x02\u0A38\u0A37\x03\x02\x02\x02\u0A38\u0A39" + "\x03\x02\x02\x02\u0A39\u0A3B\x03\x02\x02\x02\u0A3A\u0A3C\x05\u02EE\u0178" + "\x02\u0A3B\u0A3A\x03\x02\x02\x02\u0A3B\u0A3C\x03\x02\x02\x02\u0A3C\u0A3D" + "\x03\x02\x02\x02\u0A3D\u0A3F\x05\u059C\u02CF\x02\u0A3E\u0A40\x05~@\x02" + "\u0A3F\u0A3E\x03\x02\x02\x02\u0A3F\u0A40\x03\x02\x02\x02\u0A40\u0AC9\x03" + "\x02\x02\x02\u0A41\u0A43\x07\x8C\x02\x02\u0A42\u0A44\x05\u0302\u0182\x02" + "\u0A43\u0A42\x03\x02\x02\x02\u0A43\u0A44\x03\x02\x02\x02\u0A44\u0A45\x03" + "\x02\x02\x02\u0A45\u0A47\x05\u059C\u02CF\x02\u0A46\u0A48\x05\u0304\u0183" + "\x02\u0A47\u0A46\x03\x02\x02\x02\u0A47\u0A48\x03\x02\x02\x02\u0A48\u0A49" + "\x03\x02\x02\x02\u0A49\u0A4A\x07\u016A\x02\x02\u0A4A\u0A4C\x05\u0494\u024B" + "\x02\u0A4B\u0A4D\x05\x80A\x02\u0A4C\u0A4B\x03\x02\x02\x02\u0A4C\u0A4D" + "\x03\x02\x02\x02\u0A4D\u0A4F\x03\x02\x02\x02\u0A4E\u0A50\x05\x82B\x02" + "\u0A4F\u0A4E\x03\x02\x02\x02\u0A4F\u0A50\x03\x02\x02\x02\u0A50\u0AC9\x03"; private static readonly _serializedATNSegment8: string = "\x02\x02\x02\u0A51\u0A53\x07\x8C\x02\x02\u0A52\u0A54\x05\u0302\u0182\x02" + "\u0A53\u0A52\x03\x02\x02\x02\u0A53\u0A54\x03\x02\x02\x02\u0A54\u0A55\x03" + "\x02\x02\x02\u0A55\u0A56\x05\u059C\u02CF\x02\u0A56\u0A57\x05\u0174\xBB" + "\x02\u0A57\u0AC9\x03\x02\x02\x02\u0A58\u0A59\x07\x87\x02\x02\u0A59\u0AC9" + "\x05\xEEx\x02\u0A5A\u0A5B\x07\x8C\x02\x02\u0A5B\u0A5C\x07/\x02\x02\u0A5C" + "\u0A5D\x05\u05A0\u02D1\x02\u0A5D\u0A5E\x05\u01DC\xEF\x02\u0A5E\u0AC9\x03" + "\x02\x02\x02\u0A5F\u0A60\x07\u0176\x02\x02\u0A60\u0A61\x07/\x02\x02\u0A61" + "\u0AC9\x05\u05A0\u02D1\x02\u0A62\u0A63\x07\xC1\x02\x02\u0A63\u0A65\x07" + "/\x02\x02\u0A64\u0A66\x05\u02EE\u0178\x02\u0A65\u0A64\x03\x02\x02\x02" + "\u0A65\u0A66\x03\x02\x02\x02\u0A66\u0A67\x03\x02\x02\x02\u0A67\u0A69\x05" + "\u05A0\u02D1\x02\u0A68\u0A6A\x05~@\x02\u0A69\u0A68\x03\x02\x02\x02\u0A69" + "\u0A6A\x03\x02\x02\x02\u0A6A\u0AC9\x03\x02\x02\x02\u0A6B\u0A6C\x07\u014F" + "\x02\x02\u0A6C\u0A6D\x07\u017D\x02\x02\u0A6D\u0AC9\x07\u0117\x02\x02\u0A6E" + "\u0A6F\x07\xA0\x02\x02\u0A6F\u0A70\x07R\x02\x02\u0A70\u0AC9\x05\u05A0" + "\u02D1\x02\u0A71\u0A72\x07\u014F\x02\x02\u0A72\u0A73\x07\u017D\x02\x02" + "\u0A73\u0AC9\x07\xA0\x02\x02\u0A74\u0A75\x07\u014F\x02\x02\u0A75\u0AC9" + "\x07\u01B9\x02\x02\u0A76\u0A77\x07\u014F\x02\x02\u0A77\u0AC9\x07\u0171" + "\x02\x02\u0A78\u0A79\x07\xC3\x02\x02\u0A79\u0A7A\x07\u0167\x02\x02\u0A7A" + "\u0AC9\x05\u05A0\u02D1\x02\u0A7B\u0A7C\x07\xC3\x02\x02\u0A7C\u0A7D\x07" + "\x8D\x02\x02\u0A7D\u0A7E\x07\u0167\x02\x02\u0A7E\u0AC9\x05\u05A0\u02D1" + "\x02\u0A7F\u0A80\x07\xC3\x02\x02\u0A80\u0A81\x07\u013A\x02\x02\u0A81\u0A82" + "\x07\u0167\x02\x02\u0A82\u0AC9\x05\u05A0\u02D1\x02\u0A83\u0A84\x07\xC3" + "\x02\x02\u0A84\u0A85\x07\u0167\x02\x02\u0A85\u0AC9\x07 \x02\x02\u0A86" + "\u0A87\x07\xC3\x02\x02\u0A87\u0A88\x07\u0167\x02\x02\u0A88\u0AC9\x07e" + "\x02\x02\u0A89\u0A8A\x07\xBC\x02\x02\u0A8A\u0A8B\x07\u0167\x02\x02\u0A8B" + "\u0AC9\x05\u05A0\u02D1\x02\u0A8C\u0A8D\x07\xBC\x02\x02\u0A8D\u0A8E\x07" + "\u0167\x02\x02\u0A8E\u0AC9\x07 \x02\x02\u0A8F\u0A90\x07\xBC\x02\x02\u0A90" + "\u0A91\x07\u0167\x02\x02\u0A91\u0AC9\x07e\x02\x02\u0A92\u0A93\x07\xC3" + "\x02\x02\u0A93\u0A94\x07\u0143\x02\x02\u0A94\u0AC9\x05\u05A0\u02D1\x02" + "\u0A95\u0A96\x07\xC3\x02\x02\u0A96\u0A97\x07\x8D\x02\x02\u0A97\u0A98\x07" + "\u0143\x02\x02\u0A98\u0AC9\x05\u05A0\u02D1\x02\u0A99\u0A9A\x07\xC3\x02" + "\x02\u0A9A\u0A9B\x07\u013A\x02\x02\u0A9B\u0A9C\x07\u0143\x02\x02\u0A9C" + "\u0AC9\x05\u05A0\u02D1\x02\u0A9D\u0A9E\x07\xBC\x02\x02\u0A9E\u0A9F\x07" + "\u0143\x02\x02\u0A9F\u0AC9\x05\u05A0\u02D1\x02\u0AA0\u0AA1\x07\xE6\x02" + "\x02\u0AA1\u0AC9\x05\u0588\u02C5\x02\u0AA2\u0AA3\x07\u010F\x02\x02\u0AA3" + "\u0AA4\x07\xE6\x02\x02\u0AA4\u0AC9\x05\u0588\u02C5\x02\u0AA5\u0AA6\x07" + "\u0115\x02\x02\u0AA6\u0AC9\x05\u0230\u0119\x02\u0AA7\u0AA8\x07O\x02\x02" + "\u0AA8\u0AC9\x07\u0115\x02\x02\u0AA9\u0AAA\x07\u011C\x02\x02\u0AAA\u0AAB" + "\x07`\x02\x02\u0AAB\u0AC9\x05\u05C2\u02E2\x02\u0AAC\u0AAD\x07\u014F\x02" + "\x02\u0AAD\u0AAE\x07\u0161\x02\x02\u0AAE\u0AC9\x05\u057C\u02BF\x02\u0AAF" + "\u0AB0\x07\u014F\x02\x02\u0AB0\u0AC9\x05\x86D\x02\u0AB1\u0AB2\x07\u013B" + "\x02\x02\u0AB2\u0AC9\x05\x86D\x02\u0AB3\u0AB4\x07\u013A\x02\x02\u0AB4" + "\u0AB5\x07\xDD\x02\x02\u0AB5\u0AC9\x05\x84C\x02\u0AB6\u0AB7\x07\xC3\x02" + "\x02\u0AB7\u0AB8\x07\u01A0\x02\x02\u0AB8\u0AB9\x07\xFD\x02\x02\u0AB9\u0AC9" + "\x07\u0149\x02\x02\u0ABA\u0ABB\x07\xBC\x02\x02\u0ABB\u0ABC\x07\u01A0\x02" + "\x02\u0ABC\u0ABD\x07\xFD\x02\x02\u0ABD\u0AC9\x07\u0149\x02\x02\u0ABE\u0ABF" + "\x07\xD3\x02\x02\u0ABF\u0AC0\x07\u01A0\x02\x02\u0AC0\u0AC1\x07\xFD\x02" + "\x02\u0AC1\u0AC9\x07\u0149\x02\x02\u0AC2\u0AC3\x07\u010F\x02\x02\u0AC3" + "\u0AC4\x07\xD3\x02\x02\u0AC4\u0AC5\x07\u01A0\x02\x02\u0AC5\u0AC6\x07\xFD" + "\x02\x02\u0AC6\u0AC9\x07\u0149\x02\x02\u0AC7\u0AC9\x05\u0174\xBB\x02\u0AC8" + "\u09C2\x03\x02\x02\x02\u0AC8\u09CA\x03\x02\x02\x02\u0AC8\u09D1\x03\x02" + "\x02\x02\u0AC8\u09DA\x03\x02\x02\x02\u0AC8\u09E3\x03\x02\x02\x02\u0AC8" + "\u09ED\x03\x02\x02\x02\u0AC8\u09F6\x03\x02\x02\x02\u0AC8\u09FF\x03\x02" + "\x02\x02\u0AC8\u0A07\x03\x02\x02\x02\u0AC8\u0A0F\x03\x02\x02\x02\u0AC8" + "\u0A18\x03\x02\x02\x02\u0AC8\u0A25\x03\x02\x02\x02\u0AC8\u0A2C\x03\x02" + "\x02\x02\u0AC8\u0A36\x03\x02\x02\x02\u0AC8\u0A41\x03\x02\x02\x02\u0AC8" + "\u0A51\x03\x02\x02\x02\u0AC8\u0A58\x03\x02\x02\x02\u0AC8\u0A5A\x03\x02" + "\x02\x02\u0AC8\u0A5F\x03\x02\x02\x02\u0AC8\u0A62\x03\x02\x02\x02\u0AC8" + "\u0A6B\x03\x02\x02\x02\u0AC8\u0A6E\x03\x02\x02\x02\u0AC8\u0A71\x03\x02" + "\x02\x02\u0AC8\u0A74\x03\x02\x02\x02\u0AC8\u0A76\x03\x02\x02\x02\u0AC8" + "\u0A78\x03\x02\x02\x02\u0AC8\u0A7B\x03\x02\x02\x02\u0AC8\u0A7F\x03\x02" + "\x02\x02\u0AC8\u0A83\x03\x02\x02\x02\u0AC8\u0A86\x03\x02\x02\x02\u0AC8" + "\u0A89\x03\x02\x02\x02\u0AC8\u0A8C\x03\x02\x02\x02\u0AC8\u0A8F\x03\x02" + "\x02\x02\u0AC8\u0A92\x03\x02\x02\x02\u0AC8\u0A95\x03\x02\x02\x02\u0AC8" + "\u0A99\x03\x02\x02\x02\u0AC8\u0A9D\x03\x02\x02\x02\u0AC8\u0AA0\x03\x02" + "\x02\x02\u0AC8\u0AA2\x03\x02\x02\x02\u0AC8\u0AA5\x03\x02\x02\x02\u0AC8" + "\u0AA7\x03\x02\x02\x02\u0AC8\u0AA9\x03\x02\x02\x02\u0AC8\u0AAC\x03\x02" + "\x02\x02\u0AC8\u0AAF\x03\x02\x02\x02\u0AC8\u0AB1\x03\x02\x02\x02\u0AC8" + "\u0AB3\x03\x02\x02\x02\u0AC8\u0AB6\x03\x02\x02\x02\u0AC8\u0ABA\x03\x02" + "\x02\x02\u0AC8\u0ABE\x03\x02\x02\x02\u0AC8\u0AC2\x03\x02\x02\x02\u0AC8" + "\u0AC7\x03\x02\x02\x02\u0AC9{\x03\x02\x02\x02\u0ACA\u0ACB\x07\u014F\x02" + "\x02\u0ACB\u0ACC\x077\x02\x02\u0ACC\u0AD0\x05\u04C0\u0261\x02\u0ACD\u0ACE" + "\x07\xC1\x02\x02\u0ACE\u0AD0\x077\x02\x02\u0ACF\u0ACA\x03\x02\x02\x02" + "\u0ACF\u0ACD\x03\x02\x02\x02\u0AD0}\x03\x02\x02\x02\u0AD1\u0AD2\t\x15" + "\x02\x02\u0AD2\x7F\x03\x02\x02\x02\u0AD3\u0AD4\x07-\x02\x02\u0AD4\u0AD5" + "\x05\u0230\u0119\x02\u0AD5\x81\x03\x02\x02\x02\u0AD6\u0AD7\x07f\x02\x02" + "\u0AD7\u0AD8\x05\u04C0\u0261\x02\u0AD8\x83\x03\x02\x02\x02\u0AD9\u0AE0" + "\x07\u0110\x02\x02\u0ADA\u0AE0\x07s\x02\x02\u0ADB\u0AE0\x077\x02\x02\u0ADC" + "\u0ADD\x07f\x02\x02\u0ADD\u0ADE\x07\xE4\x02\x02\u0ADE\u0AE0\x05\u05A0" + "\u02D1\x02\u0ADF\u0AD9\x03\x02\x02\x02\u0ADF\u0ADA\x03\x02\x02\x02\u0ADF" + "\u0ADB\x03\x02\x02\x02\u0ADF\u0ADC\x03\x02\x02\x02\u0AE0\x85\x03\x02\x02" + "\x02\u0AE1\u0AE2\x07\x04\x02\x02\u0AE2\u0AE3\x05\x8AF\x02\u0AE3\u0AE4" + "\x07\x05\x02\x02\u0AE4\x87\x03\x02\x02\x02\u0AE5\u0AE6\x07k\x02\x02\u0AE6" + "\u0AE7\x05\x86D\x02\u0AE7\x89\x03\x02\x02\x02\u0AE8\u0AED\x05\x8CG\x02" + "\u0AE9\u0AEA\x07\b\x02\x02\u0AEA\u0AEC\x05\x8CG\x02\u0AEB\u0AE9\x03\x02" + "\x02\x02\u0AEC\u0AEF\x03\x02\x02\x02\u0AED\u0AEB\x03\x02\x02\x02\u0AED" + "\u0AEE\x03\x02\x02\x02\u0AEE\x8B\x03\x02\x02\x02\u0AEF\u0AED\x03\x02\x02" + "\x02\u0AF0\u0AF9\x05\u05D6\u02EC\x02\u0AF1\u0AF2\x07\f\x02\x02\u0AF2\u0AFA" + "\x05\u01F6\xFC\x02\u0AF3\u0AF4\x07\r\x02\x02\u0AF4\u0AF7\x05\u05D6\u02EC" + "\x02\u0AF5\u0AF6\x07\f\x02\x02\u0AF6\u0AF8\x05\u01F6\xFC\x02\u0AF7\u0AF5" + "\x03\x02\x02\x02\u0AF7\u0AF8\x03\x02\x02\x02\u0AF8\u0AFA\x03\x02\x02\x02" + "\u0AF9\u0AF1\x03\x02\x02\x02\u0AF9\u0AF3\x03\x02\x02\x02\u0AF9\u0AFA\x03" + "\x02\x02\x02\u0AFA\x8D\x03\x02\x02\x02\u0AFB\u0AFD\x05\x90I\x02\u0AFC" + "\u0AFB\x03\x02\x02\x02\u0AFD\u0AFE\x03\x02\x02\x02\u0AFE\u0AFC\x03\x02" + "\x02\x02\u0AFE\u0AFF\x03\x02\x02\x02\u0AFF\x8F\x03\x02\x02\x02\u0B00\u0B05" + "\x07\u013C\x02\x02\u0B01\u0B03\x05\x10\t\x02\u0B02\u0B01\x03\x02\x02\x02" + "\u0B02\u0B03\x03\x02\x02\x02\u0B03\u0B04\x03\x02\x02\x02\u0B04\u0B06\x05" + "\u0142\xA2\x02\u0B05\u0B02\x03\x02\x02\x02\u0B05\u0B06\x03\x02\x02\x02" + "\u0B06\u0B0E\x03\x02\x02\x02\u0B07\u0B0B\x07\u014F\x02\x02\u0B08\u0B0C" + "\x05\u013E\xA0\x02\u0B09\u0B0A\x07\u01B8\x02\x02\u0B0A\u0B0C\x05\xE2r" + "\x02\u0B0B\u0B08\x03\x02\x02\x02\u0B0B\u0B09\x03\x02\x02\x02\u0B0C\u0B0E" + "\x03\x02\x02\x02\u0B0D\u0B00\x03\x02\x02\x02\u0B0D\u0B07\x03\x02\x02\x02" + "\u0B0E\x91\x03\x02\x02\x02\u0B0F\u0B10\x07@\x02\x02\u0B10\u0B11\x07\u01A8" + "\x02\x02\u0B11\u0B12\x07k\x02\x02\u0B12\u0B13\x07\x04\x02\x02\u0B13\u0B14" + "\x05\x96L\x02\u0B14\u0B15\x07\x05\x02\x02\u0B15\u0B2A\x03\x02\x02\x02" + "\u0B16\u0B17\x07@\x02\x02\u0B17\u0B18\x07\u01A8\x02\x02\u0B18\u0B19\x07" + "F\x02\x02\u0B19\u0B1A\x07\x04\x02\x02\u0B1A\u0B1B\x05\u0534\u029B\x02" + "\u0B1B\u0B1C\x07\x05\x02\x02\u0B1C\u0B2A\x03\x02\x02\x02\u0B1D\u0B1E\x07" + "@\x02\x02\u0B1E\u0B1F\x07\u01A8\x02\x02\u0B1F\u0B20\x07B\x02\x02\u0B20" + "\u0B21\x07\x04\x02\x02\u0B21\u0B22\x05\u0534\u029B\x02\u0B22\u0B23\x07" + "\x05\x02\x02\u0B23\u0B24\x07`\x02\x02\u0B24\u0B25\x07\x04\x02\x02\u0B25" + "\u0B26\x05\u0534\u029B\x02\u0B26\u0B27\x07\x05\x02\x02\u0B27\u0B2A\x03" + "\x02\x02\x02\u0B28\u0B2A\x077\x02\x02\u0B29\u0B0F\x03\x02\x02\x02\u0B29" + "\u0B16\x03\x02\x02\x02\u0B29\u0B1D\x03\x02\x02\x02\u0B29\u0B28\x03\x02" + "\x02\x02\u0B2A\x93\x03\x02\x02\x02\u0B2B\u0B2C\x05\u05D4\u02EB\x02\u0B2C" + "\u0B2D\x05\u05B4\u02DB\x02\u0B2D\x95\x03\x02\x02\x02\u0B2E\u0B33\x05\x94" + "K\x02\u0B2F\u0B30\x07\b\x02\x02\u0B30\u0B32\x05\x94K\x02\u0B31\u0B2F\x03" + "\x02\x02\x02\u0B32\u0B35\x03\x02\x02\x02\u0B33\u0B31\x03\x02\x02\x02\u0B33" + "\u0B34\x03\x02\x02\x02\u0B34\x97\x03\x02\x02\x02\u0B35\u0B33\x03\x02\x02" + "\x02\u0B36\u0B37\x07\x8C\x02\x02\u0B37\u0B38\x07\u016A\x02\x02\u0B38\u0B39" + "\x05\u0230\u0119\x02\u0B39\u0B3A\x05\x9AN\x02\u0B3A\x99\x03\x02\x02\x02" + "\u0B3B\u0B40\x05\x9CO\x02\u0B3C\u0B3D\x07\b\x02\x02\u0B3D\u0B3F\x05\x9C" + "O\x02\u0B3E\u0B3C\x03\x02\x02\x02\u0B3F\u0B42\x03\x02\x02\x02\u0B40\u0B3E" + "\x03\x02\x02\x02\u0B40\u0B41\x03\x02\x02\x02\u0B41\x9B\x03\x02\x02\x02" + "\u0B42\u0B40\x03\x02\x02\x02\u0B43\u0B44\x07\x87\x02\x02\u0B44\u0B45\x07" + "\x91\x02\x02\u0B45\u0B47\x05\u0484\u0243\x02\u0B46\u0B48\x05~@\x02\u0B47" + "\u0B46\x03\x02\x02\x02\u0B47\u0B48\x03\x02\x02\x02\u0B48\u0B61\x03\x02" + "\x02\x02\u0B49\u0B4A\x07\xC1\x02\x02\u0B4A\u0B4C\x07\x91\x02\x02\u0B4B" + "\u0B4D\x05\u02EE\u0178\x02\u0B4C\u0B4B\x03\x02\x02\x02\u0B4C\u0B4D\x03" + "\x02\x02\x02\u0B4D\u0B4E\x03\x02\x02\x02\u0B4E\u0B50\x05\u05C6\u02E4\x02" + "\u0B4F\u0B51\x05~@\x02\u0B50\u0B4F\x03\x02\x02\x02\u0B50\u0B51\x03\x02" + "\x02\x02\u0B51\u0B61\x03\x02\x02\x02\u0B52\u0B53\x07\x8C\x02\x02\u0B53" + "\u0B54\x07\x91\x02\x02\u0B54\u0B56\x05\u05C6\u02E4\x02\u0B55\u0B57\x05" + "\u0304\u0183\x02\u0B56\u0B55\x03\x02\x02\x02\u0B56\u0B57\x03\x02\x02\x02" + "\u0B57\u0B58\x03\x02\x02\x02\u0B58\u0B59\x07\u016A\x02\x02\u0B59\u0B5B" + "\x05\u0494\u024B\x02\u0B5A\u0B5C\x05\x80A\x02\u0B5B\u0B5A\x03\x02\x02" + "\x02\u0B5B\u0B5C\x03\x02\x02\x02\u0B5C\u0B5E\x03\x02\x02\x02\u0B5D\u0B5F" + "\x05~@\x02\u0B5E\u0B5D\x03\x02\x02\x02\u0B5E\u0B5F\x03\x02\x02\x02\u0B5F" + "\u0B61\x03\x02\x02\x02\u0B60\u0B43\x03\x02\x02\x02\u0B60\u0B49\x03\x02" + "\x02\x02\u0B60\u0B52\x03\x02\x02\x02\u0B61\x9D\x03\x02\x02\x02\u0B62\u0B65" + "\x07\x9F\x02\x02\u0B63\u0B66\x05\u03E6\u01F4\x02\u0B64\u0B66\x07 \x02" + "\x02\u0B65\u0B63\x03\x02\x02\x02\u0B65\u0B64\x03\x02\x02\x02\u0B66\x9F" + "\x03\x02\x02\x02\u0B67\u0B69\x07\xAB\x02\x02\u0B68\u0B6A\x05\xAEX\x02" + "\u0B69\u0B68\x03\x02\x02\x02\u0B69\u0B6A\x03\x02\x02\x02\u0B6A\u0B6B\x03" + "\x02\x02\x02\u0B6B\u0B6D\x05\u0582\u02C2\x02\u0B6C\u0B6E\x05\xF4{\x02" + "\u0B6D\u0B6C\x03\x02\x02\x02\u0B6D\u0B6E\x03\x02\x02\x02\u0B6E\u0B6F\x03" + "\x02\x02\x02\u0B6F\u0B71\x05\xA2R\x02\u0B70\u0B72\x05\xA4S\x02\u0B71\u0B70" + "\x03\x02\x02\x02\u0B71\u0B72\x03\x02\x02\x02\u0B72\u0B73\x03\x02\x02\x02" + "\u0B73\u0B75\x05\xA6T\x02\u0B74\u0B76\x05\xB0Y\x02\u0B75\u0B74\x03\x02" + "\x02\x02\u0B75\u0B76\x03\x02\x02\x02\u0B76\u0B78\x03\x02\x02\x02\u0B77" + "\u0B79\x05\x10\t\x02\u0B78\u0B77\x03\x02\x02\x02\u0B78\u0B79\x03\x02\x02" + "\x02\u0B79\u0B7A\x03\x02\x02\x02\u0B7A\u0B7C\x05\xA8U\x02\u0B7B\u0B7D" + "\x05\u047C\u023F\x02\u0B7C\u0B7B\x03\x02\x02\x02\u0B7C\u0B7D\x03\x02\x02" + "\x02\u0B7D\u0B8D\x03\x02\x02\x02\u0B7E\u0B7F\x07\xAB\x02\x02\u0B7F\u0B80" + "\x07\x04\x02\x02\u0B80\u0B81\x05\u03B2\u01DA\x02\u0B81\u0B82\x07\x05\x02" + "\x02\u0B82\u0B84\x07`\x02\x02\u0B83\u0B85\x05\xA4S\x02\u0B84\u0B83\x03" + "\x02\x02\x02\u0B84\u0B85\x03\x02\x02\x02\u0B85\u0B86\x03\x02\x02\x02\u0B86" + "\u0B88\x05\xA6T\x02\u0B87\u0B89\x05\x10\t\x02\u0B88\u0B87\x03\x02\x02" + "\x02\u0B88\u0B89\x03\x02\x02\x02\u0B89\u0B8A\x03\x02\x02\x02\u0B8A\u0B8B" + "\x05\xA8U\x02\u0B8B\u0B8D\x03\x02\x02\x02\u0B8C\u0B67\x03\x02\x02\x02" + "\u0B8C\u0B7E\x03\x02\x02\x02\u0B8D\xA1\x03\x02\x02\x02\u0B8E\u0B8F\t\x16" + "\x02\x02\u0B8F\xA3\x03\x02\x02\x02\u0B90\u0B91\x07\u012B\x02\x02\u0B91" + "\xA5\x03\x02\x02\x02\u0B92\u0B96\x05\u05B6\u02DC\x02\u0B93\u0B96\x07\u0159" + "\x02\x02\u0B94\u0B96\x07\u015A\x02\x02\u0B95\u0B92\x03\x02\x02\x02\u0B95" + "\u0B93\x03\x02\x02\x02\u0B95\u0B94\x03\x02\x02\x02\u0B96\xA7\x03\x02\x02" + "\x02\u0B97\u0B9D\x05\xAAV\x02\u0B98\u0B99\x07\x04\x02\x02\u0B99\u0B9A" + "\x05\xB4[\x02\u0B9A\u0B9B\x07\x05\x02\x02\u0B9B\u0B9D\x03\x02\x02\x02" + "\u0B9C\u0B97\x03\x02\x02\x02\u0B9C\u0B98\x03\x02\x02\x02\u0B9D\xA9\x03" + "\x02\x02\x02\u0B9E\u0BA0\x05\xACW\x02\u0B9F\u0B9E\x03\x02\x02\x02\u0BA0" + "\u0BA3\x03\x02\x02\x02\u0BA1\u0B9F\x03\x02\x02\x02\u0BA1\u0BA2\x03\x02" + "\x02\x02\u0BA2\xAB\x03\x02\x02\x02\u0BA3\u0BA1\x03\x02\x02\x02\u0BA4\u0BCC" + "\x07m\x02\x02\u0BA5\u0BCC\x07r\x02\x02\u0BA6\u0BA8\x07\xB9\x02\x02\u0BA7" + "\u0BA9\x05\u036C\u01B7\x02\u0BA8\u0BA7\x03\x02\x02\x02\u0BA8\u0BA9\x03" + "\x02\x02\x02\u0BA9\u0BAA\x03\x02\x02\x02\u0BAA\u0BCC\x05\u05B6\u02DC\x02" + "\u0BAB\u0BAD\x07P\x02\x02\u0BAC\u0BAE\x05\u036C\u01B7\x02\u0BAD\u0BAC" + "\x03\x02\x02\x02\u0BAD\u0BAE\x03\x02\x02\x02\u0BAE\u0BAF\x03\x02\x02\x02" + "\u0BAF\u0BCC\x05\u05B6\u02DC\x02\u0BB0\u0BCC\x07\xAD\x02\x02\u0BB1\u0BCC" + "\x07\xDA\x02\x02\u0BB2\u0BB4\x07\u012C\x02\x02\u0BB3\u0BB5\x05\u036C\u01B7" + "\x02\u0BB4\u0BB3\x03\x02\x02\x02\u0BB4\u0BB5\x03\x02\x02\x02\u0BB5\u0BB6" + "\x03\x02\x02\x02\u0BB6\u0BCC\x05\u05B6\u02DC\x02\u0BB7\u0BB9\x07\xC7\x02" + "\x02\u0BB8\u0BBA\x05\u036C\u01B7\x02\u0BB9\u0BB8\x03\x02\x02\x02\u0BB9" + "\u0BBA\x03\x02\x02\x02\u0BBA\u0BBB\x03\x02\x02\x02\u0BBB\u0BCC\x05\u05B6" + "\u02DC\x02\u0BBC\u0BBD\x07\xD3\x02\x02\u0BBD\u0BBE\x07\u012C\x02\x02\u0BBE" + "\u0BCC\x05\xF6|\x02\u0BBF\u0BC0\x07\xD3\x02\x02\u0BC0\u0BC1\x07\u012C" + "\x02\x02\u0BC1\u0BCC\x07\v\x02\x02\u0BC2\u0BC3\x07\xD3\x02\x02\u0BC3\u0BC4" + "\x07O\x02\x02\u0BC4\u0BC5\x07P\x02\x02\u0BC5\u0BCC\x05\xF6|\x02\u0BC6" + "\u0BC7\x07\xD3\x02\x02\u0BC7\u0BC8\x07P\x02\x02\u0BC8\u0BCC\x05\xF6|\x02" + "\u0BC9\u0BCA\x07\xC4\x02\x02\u0BCA\u0BCC\x05\u05B6\u02DC\x02\u0BCB\u0BA4" + "\x03\x02\x02\x02\u0BCB\u0BA5\x03\x02\x02\x02\u0BCB\u0BA6\x03\x02\x02\x02" + "\u0BCB\u0BAB\x03\x02\x02\x02\u0BCB\u0BB0\x03\x02\x02\x02\u0BCB\u0BB1\x03" + "\x02\x02\x02\u0BCB\u0BB2\x03\x02\x02\x02\u0BCB\u0BB7\x03\x02\x02\x02\u0BCB" + "\u0BBC\x03\x02\x02\x02\u0BCB\u0BBF\x03\x02\x02\x02\u0BCB\u0BC2\x03\x02" + "\x02\x02\u0BCB\u0BC6\x03\x02\x02\x02\u0BCB\u0BC9\x03\x02\x02\x02\u0BCC" + "\xAD\x03\x02\x02\x02\u0BCD\u0BCE\x07m\x02\x02\u0BCE\xAF\x03\x02\x02\x02" + "\u0BCF\u0BD1\x05\xB2Z\x02\u0BD0\u0BCF\x03\x02\x02\x02\u0BD0\u0BD1\x03" + "\x02\x02\x02\u0BD1\u0BD2\x03\x02\x02\x02\u0BD2\u0BD3\x07\xBA\x02\x02\u0BD3" + "\u0BD4\x05\u05B6\u02DC\x02\u0BD4\xB1\x03\x02\x02\x02\u0BD5\u0BD6\x07f" + "\x02\x02\u0BD6\xB3\x03\x02\x02\x02\u0BD7\u0BDC\x05\xB6\\\x02\u0BD8\u0BD9" + "\x07\b\x02\x02\u0BD9\u0BDB\x05\xB6\\\x02\u0BDA\u0BD8\x03\x02\x02\x02\u0BDB" + "\u0BDE\x03\x02\x02\x02\u0BDC\u0BDA\x03\x02\x02\x02\u0BDC\u0BDD\x03\x02" + "\x02\x02\u0BDD\xB5\x03\x02\x02\x02\u0BDE\u0BDC\x03\x02\x02\x02\u0BDF\u0BE1" + "\x05\u05D6\u02EC\x02\u0BE0\u0BE2\x05\xB8]\x02\u0BE1\u0BE0\x03\x02\x02" + "\x02\u0BE1\u0BE2\x03\x02\x02\x02\u0BE2\xB7\x03\x02\x02\x02\u0BE3\u0BEB" + "\x05J&\x02\u0BE4\u0BEB\x05\u0142\xA2\x02\u0BE5\u0BEB\x07\v\x02\x02\u0BE6" + "\u0BE7\x07\x04\x02\x02\u0BE7\u0BE8\x05\xBA^\x02\u0BE8\u0BE9\x07\x05\x02" + "\x02\u0BE9\u0BEB\x03\x02\x02\x02\u0BEA\u0BE3\x03\x02\x02\x02\u0BEA\u0BE4" + "\x03\x02\x02\x02\u0BEA\u0BE5\x03\x02\x02\x02\u0BEA\u0BE6\x03\x02\x02\x02" + "\u0BEB\xB9\x03\x02\x02\x02\u0BEC\u0BF1\x05\xBC_\x02\u0BED\u0BEE\x07\b" + "\x02\x02\u0BEE\u0BF0\x05\xBC_\x02\u0BEF\u0BED\x03\x02\x02\x02\u0BF0\u0BF3" + "\x03\x02\x02\x02\u0BF1\u0BEF\x03\x02\x02\x02\u0BF1\u0BF2\x03\x02\x02\x02" + "\u0BF2\xBB\x03\x02\x02\x02\u0BF3\u0BF1\x03\x02\x02\x02\u0BF4\u0BF5\x05" + "H%\x02\u0BF5\xBD\x03\x02\x02\x02\u0BF6\u0BF8\x070\x02\x02\u0BF7\u0BF9" + "\x05\xC0a\x02\u0BF8\u0BF7\x03\x02\x02\x02\u0BF8\u0BF9\x03\x02\x02\x02" + "\u0BF9\u0BFA\x03\x02\x02\x02\u0BFA\u0BFC\x07^\x02\x02\u0BFB\u0BFD\x05" + "\u0204\u0103\x02\u0BFC\u0BFB\x03\x02\x02\x02\u0BFC\u0BFD\x03\x02\x02\x02" + "\u0BFD\u0BFE\x03\x02\x02\x02\u0BFE\u0C40\x05\u0580\u02C1\x02\u0BFF\u0C01" + "\x07\x04\x02\x02\u0C00\u0C02\x05\xC2b\x02\u0C01\u0C00\x03\x02\x02\x02" + "\u0C01\u0C02\x03\x02\x02\x02\u0C02\u0C03\x03\x02\x02\x02\u0C03\u0C05\x07" + "\x05\x02\x02\u0C04\u0C06\x05\u010A\x86\x02\u0C05\u0C04\x03\x02\x02\x02" + "\u0C05\u0C06\x03\x02\x02\x02\u0C06\u0C08\x03\x02\x02\x02\u0C07\u0C09\x05" + "\u010C\x87\x02\u0C08\u0C07\x03\x02\x02\x02\u0C08\u0C09\x03\x02\x02\x02" + "\u0C09\u0C0B\x03\x02\x02\x02\u0C0A\u0C0C\x05\u0114\x8B\x02\u0C0B\u0C0A" + "\x03\x02\x02\x02\u0C0B\u0C0C\x03\x02\x02\x02\u0C0C\u0C0E\x03\x02\x02\x02" + "\u0C0D\u0C0F\x05\u0116\x8C\x02\u0C0E\u0C0D\x03\x02\x02\x02\u0C0E\u0C0F" + "\x03\x02\x02\x02\u0C0F\u0C11\x03\x02\x02\x02\u0C10\u0C12\x05\u0118\x8D" + "\x02\u0C11\u0C10\x03\x02\x02\x02\u0C11\u0C12\x03\x02\x02\x02\u0C12\u0C14" + "\x03\x02\x02\x02\u0C13\u0C15\x05\u011A\x8E\x02\u0C14\u0C13\x03\x02\x02" + "\x02\u0C14\u0C15\x03\x02\x02\x02\u0C15\u0C41\x03\x02\x02\x02\u0C16\u0C17" + "\x07\u0115\x02\x02\u0C17\u0C19\x05\u0230\u0119\x02\u0C18\u0C1A\x05\xC6" + "d\x02\u0C19\u0C18\x03\x02\x02\x02\u0C19\u0C1A\x03\x02\x02\x02\u0C1A\u0C1C" + "\x03\x02\x02\x02\u0C1B\u0C1D\x05\u010C\x87\x02\u0C1C\u0C1B\x03\x02\x02" + "\x02\u0C1C\u0C1D\x03\x02\x02\x02\u0C1D\u0C1F\x03\x02\x02\x02\u0C1E\u0C20" + "\x05\u0114\x8B\x02\u0C1F\u0C1E\x03\x02\x02\x02\u0C1F\u0C20\x03\x02\x02" + "\x02\u0C20\u0C22\x03\x02\x02\x02\u0C21\u0C23\x05\u0116\x8C\x02\u0C22\u0C21" + "\x03\x02\x02\x02\u0C22\u0C23\x03\x02\x02\x02\u0C23\u0C25\x03\x02\x02\x02" + "\u0C24\u0C26\x05\u0118\x8D\x02\u0C25\u0C24\x03\x02\x02\x02\u0C25\u0C26" + "\x03\x02\x02\x02\u0C26\u0C28\x03\x02\x02\x02\u0C27\u0C29\x05\u011A\x8E" + "\x02\u0C28\u0C27\x03\x02\x02\x02\u0C28\u0C29\x03\x02\x02\x02\u0C29\u0C41" + "\x03\x02\x02\x02\u0C2A\u0C2B\x07\u011F\x02\x02\u0C2B\u0C2C\x07\u0115\x02" + "\x02\u0C2C\u0C2E\x05\u0588\u02C5\x02\u0C2D\u0C2F\x05\xC6d\x02\u0C2E\u0C2D" + "\x03\x02\x02\x02\u0C2E\u0C2F\x03\x02\x02\x02\u0C2F\u0C30\x03\x02\x02\x02" + "\u0C30\u0C32\x05\x92J\x02\u0C31\u0C33\x05\u010C\x87\x02\u0C32\u0C31\x03" + "\x02\x02\x02\u0C32\u0C33\x03\x02\x02\x02\u0C33\u0C35\x03\x02\x02\x02\u0C34" + "\u0C36\x05\u0114\x8B\x02\u0C35\u0C34\x03\x02\x02\x02\u0C35\u0C36\x03\x02" + "\x02\x02\u0C36\u0C38\x03\x02\x02\x02\u0C37\u0C39\x05\u0116\x8C\x02\u0C38" + "\u0C37\x03\x02\x02\x02\u0C38\u0C39\x03\x02\x02\x02\u0C39\u0C3B\x03\x02" + "\x02\x02\u0C3A\u0C3C\x05\u0118\x8D\x02\u0C3B\u0C3A\x03\x02\x02\x02\u0C3B" + "\u0C3C\x03\x02\x02\x02\u0C3C\u0C3E\x03\x02\x02\x02\u0C3D\u0C3F\x05\u011A" + "\x8E\x02\u0C3E\u0C3D\x03\x02\x02\x02\u0C3E\u0C3F\x03\x02\x02\x02\u0C3F" + "\u0C41\x03\x02\x02\x02\u0C40\u0BFF\x03\x02\x02\x02\u0C40\u0C16\x03\x02" + "\x02\x02\u0C40\u0C2A\x03\x02\x02\x02\u0C41\xBF\x03\x02\x02\x02\u0C42\u0C4A" + "\x07\u0164\x02\x02\u0C43\u0C4A\x07\u0162\x02\x02\u0C44\u0C45\x07\u0100" + "\x02\x02\u0C45\u0C4A\t\x17\x02\x02\u0C46\u0C47\x07\xD7\x02\x02\u0C47\u0C4A" + "\t\x17\x02\x02\u0C48\u0C4A\x07\u0171\x02\x02\u0C49\u0C42\x03\x02\x02\x02" + "\u0C49\u0C43\x03\x02\x02\x02\u0C49\u0C44\x03\x02\x02\x02\u0C49\u0C46\x03" + "\x02\x02\x02\u0C49\u0C48\x03\x02\x02\x02\u0C4A\xC1\x03\x02\x02\x02\u0C4B" + "\u0C4C\x05\xC8e\x02\u0C4C\xC3\x03\x02\x02\x02\u0C4D\u0C4E\x05\xC8e\x02" + "\u0C4E\xC5\x03\x02\x02\x02\u0C4F\u0C50\x07\x04\x02\x02\u0C50\u0C51\x05" + "\xCAf\x02\u0C51\u0C52\x07\x05\x02\x02\u0C52\xC7\x03\x02\x02\x02\u0C53" + "\u0C58\x05\xCCg\x02\u0C54\u0C55\x07\b\x02\x02\u0C55\u0C57\x05\xCCg\x02" + "\u0C56\u0C54\x03\x02\x02\x02\u0C57\u0C5A\x03\x02\x02\x02\u0C58\u0C56\x03" + "\x02\x02\x02\u0C58\u0C59\x03\x02\x02\x02\u0C59\xC9\x03\x02\x02\x02\u0C5A" + "\u0C58\x03\x02\x02\x02\u0C5B\u0C60\x05\xCEh\x02\u0C5C\u0C5D\x07\b\x02" + "\x02\u0C5D\u0C5F\x05\xCEh\x02\u0C5E\u0C5C\x03\x02\x02\x02\u0C5F\u0C62" + "\x03\x02\x02\x02\u0C60\u0C5E\x03\x02\x02\x02\u0C60\u0C61\x03\x02\x02\x02" + "\u0C61\xCB\x03\x02\x02\x02\u0C62\u0C60\x03\x02\x02\x02\u0C63\u0C67\x05" + "\xD2j\x02\u0C64\u0C67\x05\xE8u\x02\u0C65\u0C67\x05\xEEx\x02\u0C66\u0C63" + "\x03\x02\x02\x02\u0C66\u0C64\x03\x02\x02\x02\u0C66\u0C65\x03\x02\x02\x02" + "\u0C67\xCD\x03\x02\x02\x02\u0C68\u0C6B\x05\xD8m\x02\u0C69\u0C6B\x05\xEE" + "x\x02\u0C6A\u0C68\x03\x02\x02\x02\u0C6A\u0C69\x03\x02\x02\x02\u0C6B\xCF" + "\x03\x02\x02\x02\u0C6C\u0C6D\x05\u059C\u02CF\x02\u0C6D\u0C6F\x05\u0494" + "\u024B\x02\u0C6E\u0C70\x05\u0170\xB9\x02\u0C6F\u0C6E\x03\x02\x02\x02\u0C6F" + "\u0C70\x03\x02\x02\x02\u0C70\u0C72\x03\x02\x02\x02\u0C71\u0C73\x05\xD6" + "l\x02\u0C72\u0C71\x03\x02\x02\x02\u0C72\u0C73\x03\x02\x02\x02\u0C73\u0C75" + "\x03\x02\x02\x02\u0C74\u0C76\x05\xD4k\x02\u0C75\u0C74\x03\x02\x02\x02" + "\u0C75\u0C76\x03\x02\x02\x02\u0C76\u0C79\x03\x02\x02\x02\u0C77\u0C78\x07" + "-\x02\x02\u0C78\u0C7A\x05\u0230\u0119\x02\u0C79\u0C77\x03\x02\x02\x02" + "\u0C79\u0C7A\x03\x02\x02\x02\u0C7A\u0C7D\x03\x02\x02\x02\u0C7B\u0C7C\x07" + "k\x02\x02\u0C7C\u0C7E\x07\u011A\x02\x02\u0C7D\u0C7B\x03\x02\x02\x02\u0C7D" + "\u0C7E\x03\x02\x02\x02\u0C7E\u0C7F\x03\x02\x02\x02\u0C7F\u0C80\x05\xDA" + "n\x02\u0C80\xD1\x03\x02\x02\x02\u0C81\u0C82\x05\u059C\u02CF\x02\u0C82" + "\u0C84\x05\u0494\u024B\x02\u0C83\u0C85\x05\u0170\xB9\x02\u0C84\u0C83\x03" + "\x02\x02\x02\u0C84\u0C85\x03\x02\x02\x02\u0C85\u0C87\x03\x02\x02\x02\u0C86" + "\u0C88\x05\xD6l\x02\u0C87\u0C86\x03\x02\x02\x02\u0C87\u0C88\x03\x02\x02" + "\x02\u0C88\u0C8A\x03\x02\x02\x02\u0C89\u0C8B\x05\xD4k\x02\u0C8A\u0C89" + "\x03\x02\x02\x02\u0C8A\u0C8B\x03\x02\x02\x02\u0C8B\u0C8E\x03\x02\x02\x02" + "\u0C8C\u0C8D\x07-\x02\x02\u0C8D\u0C8F\x05\u0230\u0119\x02\u0C8E\u0C8C" + "\x03\x02\x02\x02\u0C8E\u0C8F\x03\x02\x02\x02\u0C8F\u0C92\x03\x02\x02\x02" + "\u0C90\u0C91\x07k\x02\x02\u0C91\u0C93\x07\u011A\x02\x02\u0C92\u0C90\x03" + "\x02\x02\x02\u0C92\u0C93\x03\x02\x02\x02\u0C93\u0C94\x03\x02\x02\x02\u0C94" + "\u0C95\x05\xDAn\x02\u0C95\xD3\x03\x02\x02\x02\u0C96\u0C97\x07\u0221\x02" + "\x02\u0C97\u0C98\x05\u05C6\u02E4\x02\u0C98\xD5\x03\x02\x02\x02\u0C99\u0CA0" + "\x07\u015B\x02\x02\u0C9A\u0CA1\x07\u0222\x02\x02\u0C9B\u0CA1\x07\xCF\x02" + "\x02\u0C9C\u0CA1\x07\u0223\x02\x02\u0C9D\u0CA1\x07\u0224\x02\x02\u0C9E" + "\u0CA1\x077\x02\x02\u0C9F\u0CA1\x05\u05C6\u02E4\x02\u0CA0\u0C9A\x03\x02" + "\x02\x02\u0CA0\u0C9B\x03\x02\x02\x02\u0CA0\u0C9C\x03\x02\x02\x02\u0CA0" + "\u0C9D\x03\x02\x02\x02\u0CA0\u0C9E\x03\x02\x02\x02\u0CA0\u0C9F\x03\x02" + "\x02\x02\u0CA1\xD7\x03\x02\x02\x02\u0CA2\u0CA5\x05\u059C\u02CF\x02\u0CA3" + "\u0CA4\x07k\x02\x02\u0CA4\u0CA6\x07\u011A\x02\x02\u0CA5\u0CA3\x03\x02" + "\x02\x02\u0CA5\u0CA6\x03\x02\x02\x02\u0CA6\u0CA7\x03\x02\x02\x02\u0CA7" + "\u0CA8\x05\xDAn\x02\u0CA8\xD9\x03\x02\x02\x02\u0CA9\u0CAB\x05\xDCo\x02" + "\u0CAA\u0CA9\x03\x02\x02\x02\u0CAB\u0CAE\x03\x02\x02\x02\u0CAC\u0CAA\x03" + "\x02\x02\x02\u0CAC\u0CAD\x03\x02\x02\x02\u0CAD\xDB\x03\x02\x02\x02\u0CAE" + "\u0CAC\x03\x02\x02\x02\u0CAF\u0CB0\x07/\x02\x02\u0CB0\u0CB2\x05\u05A0" + "\u02D1\x02\u0CB1\u0CAF\x03\x02\x02\x02\u0CB1\u0CB2\x03\x02\x02\x02\u0CB2" + "\u0CB3\x03\x02\x02\x02\u0CB3\u0CB5\x05\xDEp\x02\u0CB4\u0CB6\x05\xE4s\x02" + "\u0CB5\u0CB4\x03\x02\x02\x02\u0CB5\u0CB6\x03\x02\x02\x02\u0CB6\u0CB8\x03" + "\x02\x02\x02\u0CB7\u0CB9\x05\xE6t\x02\u0CB8\u0CB7\x03\x02\x02\x02\u0CB8" + "\u0CB9\x03\x02\x02\x02\u0CB9\u0CC2\x03\x02\x02\x02\u0CBA\u0CBC\x05\xDE" + "p\x02\u0CBB\u0CBD\x05\xE4s\x02\u0CBC\u0CBB\x03\x02\x02\x02\u0CBC\u0CBD" + "\x03\x02\x02\x02\u0CBD\u0CBF\x03\x02\x02\x02\u0CBE\u0CC0\x05\xE6t\x02" + "\u0CBF\u0CBE\x03\x02\x02\x02\u0CBF\u0CC0\x03\x02\x02\x02\u0CC0\u0CC2\x03" + "\x02\x02\x02\u0CC1\u0CB1\x03\x02\x02\x02\u0CC1\u0CBA\x03\x02\x02\x02\u0CC2" + "\xDD\x03\x02\x02\x02\u0CC3\u0CC4\x07O\x02\x02\u0CC4\u0CFE\x07P\x02\x02" + "\u0CC5\u0CFE\x07P\x02\x02\u0CC6\u0CC8\x07d\x02\x02\u0CC7\u0CC9\x05\u02C8" + "\u0165\x02\u0CC8\u0CC7\x03\x02\x02\x02\u0CC8\u0CC9\x03\x02\x02\x02\u0CC9" + "\u0CCB\x03\x02\x02\x02\u0CCA\u0CCC\x05\u011E\x90\x02\u0CCB\u0CCA\x03\x02" + "\x02\x02\u0CCB\u0CCC\x03\x02\x02\x02\u0CCC\u0CFE\x03\x02\x02\x02\u0CCD" + "\u0CCF\x07d\x02\x02\u0CCE\u0CD0\x05\xE0q\x02\u0CCF\u0CCE\x03\x02\x02\x02" + "\u0CCF\u0CD0\x03\x02\x02\x02\u0CD0\u0CD1\x03\x02\x02\x02\u0CD1\u0CFE\x05" + "\u011C\x8F\x02\u0CD2\u0CD3\x07W\x02\x02\u0CD3\u0CD5\x07\xF7\x02\x02\u0CD4" + "\u0CD6\x05\u02C8\u0165\x02\u0CD5\u0CD4\x03\x02\x02\x02\u0CD5\u0CD6\x03" + "\x02\x02\x02\u0CD6\u0CD8\x03\x02\x02\x02\u0CD7\u0CD9\x05\u011E\x90\x02" + "\u0CD8\u0CD7\x03\x02\x02\x02\u0CD8\u0CD9\x03\x02\x02\x02\u0CD9\u0CFE\x03" + "\x02\x02\x02\u0CDA\u0CDB\x07,\x02\x02\u0CDB\u0CDC\x07\x04\x02\x02\u0CDC" + "\u0CDD\x05\u04C0\u0261\x02\u0CDD\u0CDF\x07\x05\x02\x02\u0CDE\u0CE0\x05" + "\xF2z\x02\u0CDF\u0CDE\x03\x02\x02\x02\u0CDF\u0CE0\x03\x02\x02\x02\u0CE0" + "\u0CFE\x03\x02\x02"; private static readonly _serializedATNSegment9: string = "\x02\u0CE1\u0CE2\x077\x02\x02\u0CE2\u0CFE\x05\u04E8\u0275\x02\u0CE3\u0CE4" + "\x07\u01B8\x02\x02\u0CE4\u0CE5\x05\xE2r\x02\u0CE5\u0CEF\x07&\x02\x02\u0CE6" + "\u0CE8\x07\xDD\x02\x02\u0CE7\u0CE9\x05\u013A\x9E\x02\u0CE8\u0CE7\x03\x02" + "\x02\x02\u0CE8\u0CE9\x03\x02\x02\x02\u0CE9\u0CF0\x03\x02\x02\x02\u0CEA" + "\u0CEB\x07\x04\x02\x02\u0CEB\u0CEC\x05\u04C0\u0261\x02\u0CEC\u0CED\x07" + "\x05\x02\x02\u0CED\u0CEE\x07\u01BA\x02\x02\u0CEE\u0CF0\x03\x02\x02\x02" + "\u0CEF\u0CE6\x03\x02\x02\x02\u0CEF\u0CEA\x03\x02\x02\x02\u0CF0\u0CFE\x03" + "\x02\x02\x02\u0CF1\u0CF2\x07X\x02\x02\u0CF2\u0CF4\x05\u0588\u02C5\x02" + "\u0CF3\u0CF5\x05\xF4{\x02\u0CF4\u0CF3\x03\x02\x02\x02\u0CF4\u0CF5\x03" + "\x02\x02\x02\u0CF5\u0CF7\x03\x02\x02\x02\u0CF6\u0CF8\x05\xFA~\x02\u0CF7" + "\u0CF6\x03\x02\x02\x02\u0CF7\u0CF8\x03\x02\x02\x02\u0CF8\u0CFA\x03\x02" + "\x02\x02\u0CF9\u0CFB\x05\u0102\x82\x02\u0CFA\u0CF9\x03\x02\x02\x02\u0CFA" + "\u0CFB\x03\x02\x02\x02\u0CFB\u0CFE\x03\x02\x02\x02\u0CFC\u0CFE\x05\u0288" + "\u0145\x02\u0CFD\u0CC3\x03\x02\x02\x02\u0CFD\u0CC5\x03\x02\x02\x02\u0CFD" + "\u0CC6\x03\x02\x02\x02\u0CFD\u0CCD\x03\x02\x02\x02\u0CFD\u0CD2\x03\x02" + "\x02\x02\u0CFD\u0CDA\x03\x02\x02\x02\u0CFD\u0CE1\x03\x02\x02\x02\u0CFD" + "\u0CE3\x03\x02\x02\x02\u0CFD\u0CF1\x03\x02\x02\x02\u0CFD\u0CFC\x03\x02" + "\x02\x02\u0CFE\xDF\x03\x02\x02\x02\u0CFF\u0D01\x07\u0113\x02\x02\u0D00" + "\u0D02\x07O\x02\x02\u0D01\u0D00\x03\x02\x02\x02\u0D01\u0D02\x03\x02\x02" + "\x02\u0D02\u0D03\x03\x02\x02\x02\u0D03\u0D04\x07:\x02\x02\u0D04\xE1\x03" + "\x02\x02\x02\u0D05\u0D09\x07\x8D\x02\x02\u0D06\u0D07\x07\x95\x02\x02\u0D07" + "\u0D09\x077\x02\x02\u0D08\u0D05\x03\x02\x02\x02\u0D08\u0D06\x03\x02\x02" + "\x02\u0D09\xE3\x03\x02\x02\x02\u0D0A\u0D0E\x078\x02\x02\u0D0B\u0D0C\x07" + "O\x02\x02\u0D0C\u0D0E\x078\x02\x02\u0D0D\u0D0A\x03\x02\x02\x02\u0D0D\u0D0B" + "\x03\x02\x02\x02\u0D0E\xE5\x03\x02\x02\x02\u0D0F\u0D10\x07G\x02\x02\u0D10" + "\u0D11\t\x12\x02\x02\u0D11\xE7\x03\x02\x02\x02\u0D12\u0D13\x07z\x02\x02" + "\u0D13\u0D14\x05\u0588\u02C5\x02\u0D14\u0D15\x05\xEAv\x02\u0D15\xE9\x03" + "\x02\x02\x02\u0D16\u0D17\t\x18\x02\x02\u0D17\u0D19\x05\xECw\x02\u0D18" + "\u0D16\x03\x02\x02\x02\u0D19\u0D1C\x03\x02\x02\x02\u0D1A\u0D18\x03\x02" + "\x02\x02\u0D1A\u0D1B\x03\x02\x02\x02\u0D1B\xEB\x03\x02\x02\x02\u0D1C\u0D1A" + "\x03\x02\x02\x02\u0D1D\u0D1E\t\x19\x02\x02\u0D1E\xED\x03\x02\x02\x02\u0D1F" + "\u0D20\x07/\x02\x02\u0D20\u0D21\x05\u05A0\u02D1\x02\u0D21\u0D22\x05\xF0" + "y\x02\u0D22\u0D25\x03\x02\x02\x02\u0D23\u0D25\x05\xF0y\x02\u0D24\u0D1F" + "\x03\x02\x02\x02\u0D24\u0D23\x03\x02\x02\x02\u0D25\xEF\x03\x02\x02\x02" + "\u0D26\u0D27\x07,\x02\x02\u0D27\u0D28\x07\x04\x02\x02\u0D28\u0D29\x05" + "\u04C0\u0261\x02\u0D29\u0D2A\x07\x05\x02\x02\u0D2A\u0D2B\x05\u01DC\xEF" + "\x02\u0D2B\u0D7D\x03\x02\x02\x02\u0D2C\u0D3E\x07d\x02\x02\u0D2D\u0D2E" + "\x07\x04\x02\x02\u0D2E\u0D2F\x05\xF6|\x02\u0D2F\u0D31\x07\x05\x02\x02" + "\u0D30\u0D32\x05\xF8}\x02\u0D31\u0D30\x03\x02\x02\x02\u0D31\u0D32\x03" + "\x02\x02\x02\u0D32\u0D34\x03\x02\x02\x02\u0D33\u0D35\x05\u02C8\u0165\x02" + "\u0D34\u0D33\x03\x02\x02\x02\u0D34\u0D35\x03\x02\x02\x02\u0D35\u0D37\x03" + "\x02\x02\x02\u0D36\u0D38\x05\u011E\x90\x02\u0D37\u0D36\x03\x02\x02\x02" + "\u0D37\u0D38\x03\x02\x02\x02\u0D38\u0D39\x03\x02\x02\x02\u0D39\u0D3A\x05" + "\u01DC\xEF\x02\u0D3A\u0D3F\x03\x02\x02\x02\u0D3B\u0D3C\x05\u0120\x91\x02" + "\u0D3C\u0D3D\x05\u01DC\xEF\x02\u0D3D\u0D3F\x03\x02\x02\x02\u0D3E\u0D2D" + "\x03\x02\x02\x02\u0D3E\u0D3B\x03\x02\x02\x02\u0D3F\u0D7D\x03\x02\x02\x02" + "\u0D40\u0D41\x07W\x02\x02\u0D41\u0D53\x07\xF7\x02\x02\u0D42\u0D43\x07" + "\x04\x02\x02\u0D43\u0D44\x05\xF6|\x02\u0D44\u0D46\x07\x05\x02\x02\u0D45" + "\u0D47\x05\xF8}\x02\u0D46\u0D45\x03\x02\x02\x02\u0D46\u0D47\x03\x02\x02" + "\x02\u0D47\u0D49\x03\x02\x02\x02\u0D48\u0D4A\x05\u02C8\u0165\x02\u0D49" + "\u0D48\x03\x02\x02\x02\u0D49\u0D4A\x03\x02\x02\x02\u0D4A\u0D4C\x03\x02" + "\x02\x02\u0D4B\u0D4D\x05\u011E\x90\x02\u0D4C\u0D4B\x03\x02\x02\x02\u0D4C" + "\u0D4D\x03\x02\x02\x02\u0D4D\u0D4E\x03\x02\x02\x02\u0D4E\u0D4F\x05\u01DC" + "\xEF\x02\u0D4F\u0D54\x03\x02\x02\x02\u0D50\u0D51\x05\u0120\x91\x02\u0D51" + "\u0D52\x05\u01DC\xEF\x02\u0D52\u0D54\x03\x02\x02\x02\u0D53\u0D42\x03\x02" + "\x02\x02\u0D53\u0D50\x03\x02\x02\x02\u0D54\u0D7D\x03\x02\x02\x02\u0D55" + "\u0D57\x07\xC9\x02\x02\u0D56\u0D58\x05\u027C\u013F\x02\u0D57\u0D56\x03" + "\x02\x02\x02\u0D57\u0D58\x03\x02\x02\x02\u0D58\u0D59\x03\x02\x02\x02\u0D59" + "\u0D5A\x07\x04\x02\x02\u0D5A\u0D5B\x05\xFC\x7F\x02\u0D5B\u0D5D\x07\x05" + "\x02\x02\u0D5C\u0D5E\x05\xF8}\x02\u0D5D\u0D5C\x03\x02\x02\x02\u0D5D\u0D5E" + "\x03\x02\x02\x02\u0D5E\u0D60\x03\x02\x02\x02\u0D5F\u0D61\x05\u02C8\u0165" + "\x02\u0D60\u0D5F\x03\x02\x02\x02\u0D60\u0D61\x03\x02\x02\x02\u0D61\u0D63" + "\x03\x02\x02\x02\u0D62\u0D64\x05\u011E\x90\x02\u0D63\u0D62\x03\x02\x02" + "\x02\u0D63\u0D64\x03\x02\x02\x02\u0D64\u0D66\x03\x02\x02\x02\u0D65\u0D67" + "\x05\u0100\x81\x02\u0D66\u0D65\x03\x02\x02\x02\u0D66\u0D67\x03\x02\x02" + "\x02\u0D67\u0D68\x03\x02\x02\x02\u0D68\u0D69\x05\u01DC\xEF\x02\u0D69\u0D7D" + "\x03\x02\x02\x02\u0D6A\u0D6B\x07A\x02\x02\u0D6B\u0D6C\x07\xF7\x02\x02" + "\u0D6C\u0D6D\x07\x04\x02\x02\u0D6D\u0D6E\x05\xF6|\x02\u0D6E\u0D6F\x07" + "\x05\x02\x02\u0D6F\u0D70\x07X\x02\x02\u0D70\u0D72\x05\u0588\u02C5\x02" + "\u0D71\u0D73\x05\xF4{\x02\u0D72\u0D71\x03\x02\x02\x02\u0D72\u0D73\x03" + "\x02\x02\x02\u0D73\u0D75\x03\x02\x02\x02\u0D74\u0D76\x05\xFA~\x02\u0D75" + "\u0D74\x03\x02\x02\x02\u0D75\u0D76\x03\x02\x02\x02\u0D76\u0D78\x03\x02" + "\x02\x02\u0D77\u0D79\x05\u0102\x82\x02\u0D78\u0D77\x03\x02\x02\x02\u0D78" + "\u0D79\x03\x02\x02\x02\u0D79\u0D7A\x03\x02\x02\x02\u0D7A\u0D7B\x05\u01DC" + "\xEF\x02\u0D7B\u0D7D\x03\x02\x02\x02\u0D7C\u0D26\x03\x02\x02\x02\u0D7C" + "\u0D2C\x03\x02\x02\x02\u0D7C\u0D40\x03\x02\x02\x02\u0D7C\u0D55\x03\x02" + "\x02\x02\u0D7C\u0D6A\x03\x02\x02\x02\u0D7D\xF1\x03\x02\x02\x02\u0D7E\u0D7F" + "\x07\u010F\x02\x02\u0D7F\u0D80\x07\xE6\x02\x02\u0D80\xF3\x03\x02\x02\x02" + "\u0D81\u0D82\x07\x04\x02\x02\u0D82\u0D83\x05\xF6|\x02\u0D83\u0D84\x07" + "\x05\x02\x02\u0D84\xF5\x03\x02\x02\x02\u0D85\u0D8A\x05\u059C\u02CF\x02" + "\u0D86\u0D87\x07\b\x02\x02\u0D87\u0D89\x05\u059C\u02CF\x02\u0D88\u0D86" + "\x03\x02\x02\x02\u0D89\u0D8C\x03\x02\x02\x02\u0D8A\u0D88\x03\x02\x02\x02" + "\u0D8A\u0D8B\x03\x02\x02\x02\u0D8B\xF7\x03\x02\x02\x02\u0D8C\u0D8A\x03" + "\x02\x02\x02\u0D8D\u0D8E\x07\u01BB\x02\x02\u0D8E\u0D8F\x07\x04\x02\x02" + "\u0D8F\u0D90\x05\xF6|\x02\u0D90\u0D91\x07\x05\x02\x02\u0D91\xF9\x03\x02" + "\x02\x02\u0D92\u0D93\x07\u0104\x02\x02\u0D93\u0D94\t\x1A\x02\x02\u0D94" + "\xFB\x03\x02\x02\x02\u0D95\u0D9A\x05\xFE\x80\x02\u0D96\u0D97\x07\b\x02" + "\x02\u0D97\u0D99\x05\xFE\x80\x02\u0D98\u0D96\x03\x02\x02\x02\u0D99\u0D9C" + "\x03\x02\x02\x02\u0D9A\u0D98\x03\x02\x02\x02\u0D9A\u0D9B\x03\x02\x02\x02" + "\u0D9B\xFD\x03\x02\x02\x02\u0D9C\u0D9A\x03\x02\x02\x02\u0D9D\u0D9E\x05" + "\u0282\u0142\x02\u0D9E\u0DA5\x07k\x02\x02\u0D9F\u0DA6\x05\u02DE\u0170" + "\x02\u0DA0\u0DA1\x07\u0118\x02\x02\u0DA1\u0DA2\x07\x04\x02\x02\u0DA2\u0DA3" + "\x05\u02DE\u0170\x02\u0DA3\u0DA4\x07\x05\x02\x02\u0DA4\u0DA6\x03\x02\x02" + "\x02\u0DA5\u0D9F\x03\x02\x02\x02\u0DA5\u0DA0\x03\x02\x02\x02\u0DA6\xFF" + "\x03\x02\x02\x02\u0DA7\u0DA8\x07i\x02\x02\u0DA8\u0DA9\x07\x04\x02\x02" + "\u0DA9\u0DAA\x05\u04C0\u0261\x02\u0DAA\u0DAB\x07\x05\x02\x02\u0DAB\u0101" + "\x03\x02\x02\x02\u0DAC\u0DB5\x05\u0104\x83\x02\u0DAD\u0DB5\x05\u0106\x84" + "\x02\u0DAE\u0DAF\x05\u0104\x83\x02\u0DAF\u0DB0\x05\u0106\x84\x02\u0DB0" + "\u0DB5\x03\x02\x02\x02\u0DB1\u0DB2\x05\u0106\x84\x02\u0DB2\u0DB3\x05\u0104" + "\x83\x02\u0DB3\u0DB5\x03\x02\x02\x02\u0DB4\u0DAC\x03\x02\x02\x02\u0DB4" + "\u0DAD\x03\x02\x02\x02\u0DB4\u0DAE\x03\x02\x02\x02\u0DB4\u0DB1\x03\x02" + "\x02\x02\u0DB5\u0103\x03\x02\x02\x02\u0DB6\u0DB7\x07R\x02\x02\u0DB7\u0DB8" + "\x07\u0173\x02\x02\u0DB8\u0DB9\x05\u0108\x85\x02\u0DB9\u0105\x03\x02\x02" + "\x02\u0DBA\u0DBB\x07R\x02\x02\u0DBB\u0DBC\x07\xB8\x02\x02\u0DBC\u0DBD" + "\x05\u0108\x85\x02\u0DBD\u0107\x03\x02\x02\x02\u0DBE\u0DBF\x07\u010F\x02" + "\x02\u0DBF\u0DC8\x07\x86\x02\x02\u0DC0\u0DC8\x07\u013D\x02\x02\u0DC1\u0DC8" + "\x07\x98\x02\x02\u0DC2\u0DC3\x07\u014F\x02\x02\u0DC3\u0DC5\t\x1B\x02\x02" + "\u0DC4\u0DC6\x05\xF6|\x02\u0DC5\u0DC4\x03\x02\x02\x02\u0DC5\u0DC6\x03" + "\x02\x02\x02\u0DC6\u0DC8\x03\x02\x02\x02\u0DC7\u0DBE\x03\x02\x02\x02\u0DC7" + "\u0DC0\x03\x02\x02\x02\u0DC7\u0DC1\x03\x02\x02\x02\u0DC7\u0DC2\x03\x02" + "\x02\x02\u0DC8\u0109\x03\x02\x02\x02\u0DC9\u0DCA\x07\xF0\x02\x02\u0DCA" + "\u0DCB\x07\x04\x02\x02\u0DCB\u0DCC\x05\u0572\u02BA\x02\u0DCC\u0DCD\x07" + "\x05\x02\x02\u0DCD\u010B\x03\x02\x02\x02\u0DCE\u0DCF\x05\u010E\x88\x02" + "\u0DCF\u010D\x03\x02\x02\x02\u0DD0\u0DD1\x07\u011F\x02\x02\u0DD1\u0DD2" + "\x07\x95\x02\x02\u0DD2\u0DD3\x05\u05C6\u02E4\x02\u0DD3\u0DD4\x07\x04\x02" + "\x02\u0DD4\u0DD5\x05\u0110\x89\x02\u0DD5\u0DD6\x07\x05\x02\x02\u0DD6\u010F" + "\x03\x02\x02\x02\u0DD7\u0DDC\x05\u0112\x8A\x02\u0DD8\u0DD9\x07\b\x02\x02" + "\u0DD9\u0DDB\x05\u0112\x8A\x02\u0DDA\u0DD8\x03\x02\x02\x02\u0DDB\u0DDE" + "\x03\x02\x02\x02\u0DDC\u0DDA\x03\x02\x02\x02\u0DDC\u0DDD\x03\x02\x02\x02" + "\u0DDD\u0111\x03\x02\x02\x02\u0DDE\u0DDC\x03\x02\x02\x02\u0DDF\u0DE1\x05" + "\u059C\u02CF\x02\u0DE0\u0DE2\x05\u0288\u0145\x02\u0DE1\u0DE0\x03\x02\x02" + "\x02\u0DE1\u0DE2\x03\x02\x02\x02\u0DE2\u0DE4\x03\x02\x02\x02\u0DE3\u0DE5" + "\x05\u028A\u0146\x02\u0DE4\u0DE3\x03\x02\x02\x02\u0DE4\u0DE5\x03\x02\x02" + "\x02\u0DE5\u0DF7\x03\x02\x02\x02\u0DE6\u0DE8\x05\u04F2\u027A\x02\u0DE7" + "\u0DE9\x05\u0288\u0145\x02\u0DE8\u0DE7\x03\x02\x02\x02\u0DE8\u0DE9\x03" + "\x02\x02\x02\u0DE9\u0DEB\x03\x02\x02\x02\u0DEA\u0DEC\x05\u028A\u0146\x02" + "\u0DEB\u0DEA\x03\x02\x02\x02\u0DEB\u0DEC\x03\x02\x02\x02\u0DEC\u0DF7\x03" + "\x02\x02\x02\u0DED\u0DEE\x07\x04\x02\x02\u0DEE\u0DEF\x05\u04C0\u0261\x02" + "\u0DEF\u0DF1\x07\x05\x02\x02\u0DF0\u0DF2\x05\u0288\u0145\x02\u0DF1\u0DF0" + "\x03\x02\x02\x02\u0DF1\u0DF2\x03\x02\x02\x02\u0DF2\u0DF4\x03\x02\x02\x02" + "\u0DF3\u0DF5\x05\u028A\u0146\x02\u0DF4\u0DF3\x03\x02\x02\x02\u0DF4\u0DF5" + "\x03\x02\x02\x02\u0DF5\u0DF7\x03\x02\x02\x02\u0DF6\u0DDF\x03\x02\x02\x02" + "\u0DF6\u0DE6\x03\x02\x02\x02\u0DF6\u0DED\x03\x02\x02\x02\u0DF7\u0113\x03" + "\x02\x02\x02\u0DF8\u0DF9\x07f\x02\x02\u0DF9\u0DFA\x05\u05A0\u02D1\x02" + "\u0DFA\u0115\x03\x02\x02\x02\u0DFB\u0DFC\x07k\x02\x02\u0DFC\u0E02\x05" + "\x86D\x02\u0DFD\u0DFE\x07\u017D\x02\x02\u0DFE\u0E02\x07\u0117\x02\x02" + "\u0DFF\u0E00\x07k\x02\x02\u0E00\u0E02\x07\u0117\x02\x02\u0E01\u0DFB\x03" + "\x02\x02\x02\u0E01\u0DFD\x03\x02\x02\x02\u0E01\u0DFF\x03\x02\x02\x02\u0E02" + "\u0117\x03\x02\x02\x02\u0E03\u0E04\x07R\x02\x02\u0E04\u0E0A\x07\xA3\x02" + "\x02\u0E05\u0E0B\x07\xC1\x02\x02\u0E06\u0E07\x07\xB8\x02\x02\u0E07\u0E0B" + "\x07\u0142\x02\x02\u0E08\u0E09\x07\u0126\x02\x02\u0E09\u0E0B\x07\u0142" + "\x02\x02\u0E0A\u0E05\x03\x02\x02\x02\u0E0A\u0E06\x03\x02\x02\x02\u0E0A" + "\u0E08\x03\x02\x02\x02\u0E0B\u0119\x03\x02\x02\x02\u0E0C\u0E0D\x07\u0161" + "\x02\x02\u0E0D\u0E0E\x05\u057E\u02C0\x02\u0E0E\u011B\x03\x02\x02\x02\u0E0F" + "\u0E11\x05\u0284\u0143\x02\u0E10\u0E0F\x03\x02\x02\x02\u0E10\u0E11\x03" + "\x02\x02\x02\u0E11\u0E13\x03\x02\x02\x02\u0E12\u0E14\x05\u03FA\u01FE\x02" + "\u0E13\u0E12\x03\x02\x02\x02\u0E13\u0E14\x03\x02\x02\x02\u0E14\u0E16\x03" + "\x02\x02\x02\u0E15\u0E17\x05\u011E\x90\x02\u0E16\u0E15\x03\x02\x02\x02" + "\u0E16\u0E17\x03\x02\x02\x02\u0E17\u011D\x03\x02\x02\x02\u0E18\u0E19\x07" + "f\x02\x02\u0E19\u0E1A\x07\xE4\x02\x02\u0E1A\u0E1B\x07\u0161\x02\x02\u0E1B" + "\u0E1C\x05\u057E\u02C0\x02\u0E1C\u011F\x03\x02\x02\x02\u0E1D\u0E1E\x07" + "f\x02\x02\u0E1E\u0E1F\x07\xE4\x02\x02\u0E1F\u0E20\x05\u05A0\u02D1\x02" + "\u0E20\u0121\x03\x02\x02\x02\u0E21\u0E22\x070\x02\x02\u0E22\u0E27\x07" + "\u0158\x02\x02\u0E23\u0E25\x05\u0204\u0103\x02\u0E24\u0E23\x03\x02\x02" + "\x02\u0E24\u0E25\x03\x02\x02\x02\u0E25\u0E26\x03\x02\x02\x02\u0E26\u0E28" + "\x05\u0230\u0119\x02\u0E27\u0E24\x03\x02\x02\x02\u0E27\u0E28\x03\x02\x02" + "\x02\u0E28\u0E2A\x03\x02\x02\x02\u0E29\u0E2B\x05\u039A\u01CE\x02\u0E2A" + "\u0E29\x03\x02\x02\x02\u0E2A\u0E2B\x03\x02\x02\x02\u0E2B\u0E2C\x03\x02" + "\x02\x02\u0E2C\u0E2F\x07R\x02\x02\u0E2D\u0E30\x05\u0538\u029D\x02\u0E2E" + "\u0E30\x05\u0534\u029B\x02\u0E2F\u0E2D\x03\x02\x02\x02\u0E2F\u0E2E\x03" + "\x02\x02\x02\u0E30\u0E31\x03\x02\x02\x02\u0E31\u0E32\x07B\x02\x02\u0E32" + "\u0E33\x05\u0454\u022B\x02\u0E33\u0123\x03\x02\x02\x02\u0E34\u0E35\x07" + "\x8C\x02\x02\u0E35\u0E37\x07\u0158\x02\x02\u0E36\u0E38\x05\u02EE\u0178" + "\x02\u0E37\u0E36\x03\x02\x02\x02\u0E37\u0E38\x03\x02\x02\x02\u0E38\u0E39" + "\x03\x02\x02\x02\u0E39\u0E3A\x05\u0230\u0119\x02\u0E3A\u0E3B\x07\u014F" + "\x02\x02\u0E3B\u0E3C\x07\u0158\x02\x02\u0E3C\u0E3D\x05\u05BC\u02DF\x02" + "\u0E3D\u0125\x03\x02\x02\x02\u0E3E\u0E40\x070\x02\x02\u0E3F\u0E41\x05" + "\xC0a\x02\u0E40\u0E3F\x03\x02\x02\x02\u0E40\u0E41\x03\x02\x02\x02\u0E41" + "\u0E42\x03\x02\x02\x02\u0E42\u0E44\x07^\x02\x02\u0E43\u0E45\x05\u0204" + "\u0103\x02\u0E44\u0E43\x03\x02\x02\x02\u0E44\u0E45\x03\x02\x02\x02\u0E45" + "\u0E46\x03\x02\x02\x02\u0E46\u0E47\x05\u0128\x95\x02\u0E47\u0E48\x07&" + "\x02\x02\u0E48\u0E4A\x05\u03EC\u01F7\x02\u0E49\u0E4B\x05\u012A\x96\x02" + "\u0E4A\u0E49\x03\x02\x02\x02\u0E4A\u0E4B\x03\x02\x02\x02\u0E4B\u0127\x03" + "\x02\x02\x02\u0E4C\u0E4E\x05\u0580\u02C1\x02\u0E4D\u0E4F\x05\xF4{\x02" + "\u0E4E\u0E4D\x03\x02\x02\x02\u0E4E\u0E4F\x03\x02\x02\x02\u0E4F\u0E51\x03" + "\x02\x02\x02\u0E50\u0E52\x05\u0114\x8B\x02\u0E51\u0E50\x03\x02\x02\x02" + "\u0E51\u0E52\x03\x02\x02\x02\u0E52\u0E54\x03\x02\x02\x02\u0E53\u0E55\x05" + "\u0116\x8C\x02\u0E54\u0E53\x03\x02\x02\x02\u0E54\u0E55\x03\x02\x02\x02" + "\u0E55\u0E57\x03\x02\x02\x02\u0E56\u0E58\x05\u0118\x8D\x02\u0E57\u0E56" + "\x03\x02\x02\x02\u0E57\u0E58\x03\x02\x02\x02\u0E58\u0E5A\x03\x02\x02\x02" + "\u0E59\u0E5B\x05\u011A\x8E\x02\u0E5A\u0E59\x03\x02\x02\x02\u0E5A\u0E5B" + "\x03\x02\x02\x02\u0E5B\u0129\x03\x02\x02\x02\u0E5C\u0E60\x07k\x02\x02" + "\u0E5D\u0E61\x07\xB0\x02\x02\u0E5E\u0E5F\x07\u010F\x02\x02\u0E5F\u0E61" + "\x07\xB0\x02\x02\u0E60\u0E5D\x03\x02\x02\x02\u0E60\u0E5E\x03\x02\x02\x02" + "\u0E61\u012B\x03\x02\x02\x02\u0E62\u0E64\x070\x02\x02\u0E63\u0E65\x05" + "\u0130\x99\x02\u0E64\u0E63\x03\x02\x02\x02\u0E64\u0E65\x03\x02\x02\x02" + "\u0E65\u0E66\x03\x02\x02\x02\u0E66\u0E67\x07\u0105\x02\x02\u0E67\u0E69" + "\x07\u017A\x02\x02\u0E68\u0E6A\x05\u0204\u0103\x02\u0E69\u0E68\x03\x02" + "\x02\x02\u0E69\u0E6A\x03\x02\x02\x02\u0E6A\u0E6B\x03\x02\x02\x02\u0E6B" + "\u0E6C\x05\u012E\x98\x02\u0E6C\u0E6D\x07&\x02\x02\u0E6D\u0E6F\x05\u03EC" + "\u01F7\x02\u0E6E\u0E70\x05\u012A\x96\x02\u0E6F\u0E6E\x03\x02\x02\x02\u0E6F" + "\u0E70\x03\x02\x02\x02\u0E70\u012D\x03\x02\x02\x02\u0E71\u0E73\x05\u0584" + "\u02C3\x02\u0E72\u0E74\x05\xF4{\x02\u0E73\u0E72\x03\x02\x02\x02\u0E73" + "\u0E74\x03\x02\x02\x02\u0E74\u0E76\x03\x02\x02\x02\u0E75\u0E77\x05\u0114" + "\x8B\x02\u0E76\u0E75\x03\x02\x02\x02\u0E76\u0E77\x03\x02\x02\x02\u0E77" + "\u0E79\x03\x02\x02\x02\u0E78\u0E7A\x05\x88E\x02\u0E79\u0E78\x03\x02\x02" + "\x02\u0E79\u0E7A\x03\x02\x02\x02\u0E7A\u0E7C\x03\x02\x02\x02\u0E7B\u0E7D" + "\x05\u011A\x8E\x02\u0E7C\u0E7B\x03\x02\x02\x02\u0E7C\u0E7D\x03\x02\x02" + "\x02\u0E7D\u012F\x03\x02\x02\x02\u0E7E\u0E7F\x07\u0171\x02\x02\u0E7F\u0131" + "\x03\x02\x02\x02\u0E80\u0E81\x07\u0133\x02\x02\u0E81\u0E82\x07\u0105\x02" + "\x02\u0E82\u0E84\x07\u017A\x02\x02\u0E83\u0E85\x05\u0278\u013D\x02\u0E84" + "\u0E83\x03\x02\x02\x02\u0E84\u0E85\x03\x02\x02\x02\u0E85\u0E86\x03\x02" + "\x02\x02\u0E86\u0E88\x05\u0586\u02C4\x02\u0E87\u0E89\x05\u012A\x96\x02" + "\u0E88\u0E87\x03\x02\x02\x02\u0E88\u0E89\x03\x02\x02\x02\u0E89\u0133\x03" + "\x02\x02\x02\u0E8A\u0E8C\x070\x02\x02\u0E8B\u0E8D\x05\xC0a\x02\u0E8C\u0E8B" + "\x03\x02\x02\x02\u0E8C\u0E8D\x03\x02\x02\x02\u0E8D\u0E8E\x03\x02\x02\x02" + "\u0E8E\u0E90\x07\u014A\x02\x02\u0E8F\u0E91\x05\u0204\u0103\x02\u0E90\u0E8F" + "\x03\x02\x02\x02\u0E90\u0E91\x03\x02\x02\x02\u0E91\u0E92\x03\x02\x02\x02" + "\u0E92\u0E94\x05\u0588\u02C5\x02\u0E93\u0E95\x05\u0138\x9D\x02\u0E94\u0E93" + "\x03\x02\x02\x02\u0E94\u0E95\x03\x02\x02\x02\u0E95\u0135\x03\x02\x02\x02" + "\u0E96\u0E97\x07\x8C\x02\x02\u0E97\u0E99\x07\u014A\x02\x02\u0E98\u0E9A" + "\x05\u02EE\u0178\x02\u0E99\u0E98\x03\x02\x02\x02\u0E99\u0E9A\x03\x02\x02" + "\x02\u0E9A\u0E9B\x03\x02\x02\x02\u0E9B\u0E9C\x05\u0588\u02C5\x02\u0E9C" + "\u0E9D\x05\u013C\x9F\x02\u0E9D\u0137\x03\x02\x02\x02\u0E9E\u0E9F\x05\u013C" + "\x9F\x02\u0E9F\u0139\x03\x02\x02\x02\u0EA0\u0EA1\x07\x04\x02\x02\u0EA1" + "\u0EA2\x05\u013C\x9F\x02\u0EA2\u0EA3\x07\x05\x02\x02\u0EA3\u013B\x03\x02" + "\x02\x02\u0EA4\u0EA6\x05\u013E\xA0\x02\u0EA5\u0EA4\x03\x02\x02\x02\u0EA6" + "\u0EA7\x03\x02\x02\x02\u0EA7\u0EA5\x03\x02\x02\x02\u0EA7\u0EA8\x03\x02" + "\x02\x02\u0EA8\u013D\x03\x02\x02\x02\u0EA9\u0EAA\x07&\x02\x02\u0EAA\u0ECC" + "\x05\u0498\u024D\x02\u0EAB\u0EAC\x07\x96\x02\x02\u0EAC\u0ECC\x05\u0142" + "\xA2\x02\u0EAD\u0ECC\x07\xAF\x02\x02\u0EAE\u0EB0\x07\xE3\x02\x02\u0EAF" + "\u0EB1\x05\u0140\xA1\x02\u0EB0\u0EAF\x03\x02\x02\x02\u0EB0\u0EB1\x03\x02" + "\x02\x02\u0EB1\u0EB2\x03\x02\x02\x02\u0EB2\u0ECC\x05\u0142\xA2\x02\u0EB3" + "\u0EB4\x07\u0106\x02\x02\u0EB4\u0ECC\x05\u0142\xA2\x02\u0EB5\u0EB6\x07" + "\u0108\x02\x02\u0EB6\u0ECC\x05\u0142\xA2\x02\u0EB7\u0EB8\x07\u010F\x02" + "\x02\u0EB8\u0ECC\t\x1C\x02\x02\u0EB9\u0EBA\x07\u011B\x02\x02\u0EBA\u0EBB" + "\x07\x95\x02\x02\u0EBB\u0ECC\x05\u022A\u0116\x02\u0EBC\u0EBD\x07\u014A" + "\x02\x02\u0EBD\u0EBE\x07\u010C\x02\x02\u0EBE\u0ECC\x05\u0230\u0119\x02" + "\u0EBF\u0EC1\x07\u0156\x02\x02\u0EC0\u0EC2\x05\x10\t\x02\u0EC1\u0EC0\x03" + "\x02\x02\x02\u0EC1\u0EC2\x03\x02\x02\x02\u0EC2\u0EC3\x03\x02\x02\x02\u0EC3" + "\u0ECC\x05\u0142\xA2\x02\u0EC4\u0EC6\x07\u013C\x02\x02\u0EC5\u0EC7\x05" + "\x10\t\x02\u0EC6\u0EC5\x03\x02\x02\x02\u0EC6\u0EC7\x03\x02\x02\x02\u0EC7" + "\u0EC9\x03\x02\x02\x02\u0EC8\u0ECA\x05\u0142\xA2\x02\u0EC9\u0EC8\x03\x02" + "\x02\x02\u0EC9\u0ECA\x03\x02\x02\x02\u0ECA\u0ECC\x03\x02\x02\x02\u0ECB" + "\u0EA9\x03\x02\x02\x02\u0ECB\u0EAB\x03\x02\x02\x02\u0ECB\u0EAD\x03\x02" + "\x02\x02\u0ECB\u0EAE\x03\x02\x02\x02\u0ECB\u0EB3\x03\x02\x02\x02\u0ECB" + "\u0EB5\x03\x02\x02\x02\u0ECB\u0EB7\x03\x02\x02\x02\u0ECB\u0EB9\x03\x02" + "\x02\x02\u0ECB\u0EBC\x03\x02\x02\x02\u0ECB\u0EBF\x03\x02\x02\x02\u0ECB" + "\u0EC4\x03\x02\x02\x02\u0ECC\u013F\x03\x02\x02\x02\u0ECD\u0ECE\x07\x95" + "\x02\x02\u0ECE\u0141\x03\x02\x02\x02\u0ECF\u0ED6\x05\u05B2\u02DA\x02\u0ED0" + "\u0ED1\x07\x0E\x02\x02\u0ED1\u0ED6\x05\u05B2\u02DA\x02\u0ED2\u0ED3\x07" + "\x0F\x02\x02\u0ED3\u0ED6\x05\u05B2\u02DA\x02\u0ED4\u0ED6\x05\u05BC\u02DF" + "\x02\u0ED5\u0ECF\x03\x02\x02\x02\u0ED5\u0ED0\x03\x02\x02\x02\u0ED5\u0ED2" + "\x03\x02\x02\x02\u0ED5\u0ED4\x03\x02\x02\x02\u0ED6\u0143\x03\x02\x02\x02" + "\u0ED7\u0EDC\x05\u0142\xA2\x02\u0ED8\u0ED9\x07\b\x02\x02\u0ED9\u0EDB\x05" + "\u0142\xA2\x02\u0EDA\u0ED8\x03\x02\x02\x02\u0EDB\u0EDE\x03\x02\x02\x02" + "\u0EDC\u0EDA\x03\x02\x02\x02\u0EDC\u0EDD\x03\x02\x02\x02\u0EDD\u0145\x03" + "\x02\x02\x02\u0EDE\u0EDC\x03\x02\x02\x02\u0EDF\u0EE1\x070\x02\x02\u0EE0" + "\u0EE2\x05\u0294\u014B\x02\u0EE1\u0EE0\x03\x02\x02\x02\u0EE1\u0EE2\x03" + "\x02\x02\x02\u0EE2\u0EE4\x03\x02\x02\x02\u0EE3\u0EE5\x05\u0148\xA5\x02" + "\u0EE4\u0EE3\x03\x02\x02\x02\u0EE4\u0EE5\x03\x02\x02\x02\u0EE5\u0EE7\x03" + "\x02\x02\x02\u0EE6\u0EE8\x05\u0152\xAA\x02\u0EE7\u0EE6\x03\x02\x02\x02" + "\u0EE7\u0EE8\x03\x02\x02\x02\u0EE8\u0EE9\x03\x02\x02\x02\u0EE9\u0EEA\x07" + "\xF9\x02\x02\u0EEA\u0EF3\x05\u05A0\u02D1\x02\u0EEB\u0EEC\x07\xD9\x02\x02" + "\u0EEC\u0EEE\x05\u014A\xA6\x02\u0EED\u0EEF\x05\u014C\xA7\x02\u0EEE\u0EED" + "\x03\x02\x02\x02\u0EEE\u0EEF\x03\x02\x02\x02\u0EEF\u0EF1\x03\x02\x02\x02" + "\u0EF0\u0EF2\x05\u0150\xA9\x02\u0EF1\u0EF0\x03\x02\x02\x02\u0EF1\u0EF2" + "\x03\x02\x02\x02\u0EF2\u0EF4\x03\x02\x02\x02\u0EF3\u0EEB\x03\x02\x02\x02" + "\u0EF3\u0EF4\x03\x02\x02\x02\u0EF4\u0147\x03\x02\x02\x02\u0EF5\u0EF6\x07" + "\u0169\x02\x02\u0EF6\u0149\x03\x02\x02\x02\u0EF7\u0EF9\x05\u05A0\u02D1" + "\x02\u0EF8\u0EFA\x05\u0232\u011A\x02\u0EF9\u0EF8\x03\x02\x02\x02\u0EF9" + "\u0EFA\x03\x02\x02\x02\u0EFA\u014B\x03\x02\x02\x02\u0EFB\u0EFC\x07\xF1" + "\x02\x02\u0EFC\u0EFD\x05\u014A\xA6\x02\u0EFD\u014D\x03\x02\x02\x02\u0EFE" + "\u0EFF\x07\u0177\x02\x02\u0EFF\u0F03\x05\u014A\xA6\x02\u0F00\u0F01\x07" + "\u010F\x02\x02\u0F01\u0F03\x07\u0177\x02\x02\u0F02\u0EFE\x03\x02\x02\x02" + "\u0F02\u0F00\x03\x02\x02\x02\u0F03\u014F\x03\x02\x02\x02\u0F04\u0F05\x05" + "\u014E\xA8\x02\u0F05\u0151\x03\x02\x02\x02\u0F06\u0F07\x07\u0129\x02\x02" + "\u0F07\u0153\x03\x02\x02\x02\u0F08\u0F09\x070\x02\x02\u0F09\u0F0A\x07" + "\u0161\x02\x02\u0F0A\u0F0C\x05\u057E\u02C0\x02\u0F0B\u0F0D\x05\u0156\xAC" + "\x02\u0F0C\u0F0B\x03\x02\x02\x02\u0F0C\u0F0D\x03\x02\x02\x02\u0F0D\u0F0E" + "\x03\x02\x02\x02\u0F0E\u0F0F\x07\u0101\x02\x02\u0F0F\u0F11\x05\u05B6\u02DC" + "\x02\u0F10\u0F12\x05\x88E\x02\u0F11\u0F10\x03\x02\x02\x02\u0F11\u0F12" + "\x03\x02\x02\x02\u0F12\u0155\x03\x02\x02\x02\u0F13\u0F14\x07\u011C\x02" + "\x02\u0F14\u0F15\x05\u05C2\u02E2\x02\u0F15\u0157\x03\x02\x02\x02\u0F16" + "\u0F17\x070\x02\x02\u0F17\u0F19\x07\xCE\x02\x02\u0F18\u0F1A\x05\u0204" + "\u0103\x02\u0F19\u0F18\x03\x02\x02\x02\u0F19\u0F1A\x03\x02\x02\x02\u0F1A" + "\u0F1B\x03\x02\x02\x02\u0F1B\u0F1D\x05\u05A0\u02D1\x02\u0F1C\u0F1E\x05" + "\x10\t\x02\u0F1D\u0F1C\x03\x02\x02\x02\u0F1D\u0F1E\x03\x02\x02\x02\u0F1E" + "\u0F1F\x03\x02\x02\x02\u0F1F\u0F20\x05\u015A\xAE\x02\u0F20\u0159\x03\x02" + "\x02\x02\u0F21\u0F23\x05\u015C\xAF\x02\u0F22\u0F21\x03\x02\x02\x02\u0F23" + "\u0F26\x03\x02\x02\x02\u0F24\u0F22\x03\x02\x02\x02\u0F24\u0F25\x03\x02" + "\x02\x02\u0F25\u015B\x03\x02\x02\x02\u0F26\u0F24\x03\x02\x02\x02\u0F27" + "\u0F28\x07\u0145\x02\x02\u0F28\u0F2F\x05\u0592\u02CA\x02\u0F29\u0F2A\x07" + "\u0179\x02\x02\u0F2A\u0F2F\x05R*\x02\u0F2B\u0F2C\x07B\x02\x02\u0F2C\u0F2F" + "\x05R*\x02\u0F2D\u0F2F\x07\x98\x02\x02\u0F2E\u0F27\x03\x02\x02\x02\u0F2E" + "\u0F29\x03\x02\x02\x02\u0F2E\u0F2B\x03\x02\x02\x02\u0F2E\u0F2D\x03\x02" + "\x02\x02\u0F2F\u015D\x03\x02\x02\x02\u0F30\u0F31\x07\x8C\x02\x02\u0F31" + "\u0F32\x07\xCE\x02\x02\u0F32\u0F33\x05\u05A0\u02D1\x02\u0F33\u0F34\x07" + "\u0173\x02\x02\u0F34\u0F35\x05\u0160\xB1\x02\u0F35\u015F\x03\x02\x02\x02" + "\u0F36\u0F38\x05\u0162\xB2\x02\u0F37\u0F36\x03\x02\x02\x02\u0F38\u0F3B" + "\x03\x02\x02\x02\u0F39\u0F37\x03\x02\x02\x02\u0F39\u0F3A\x03\x02\x02\x02" + "\u0F3A\u0161\x03\x02\x02\x02\u0F3B\u0F39\x03\x02\x02\x02\u0F3C\u0F3D\x07" + "`\x02\x02\u0F3D\u0F3E\x05R*\x02\u0F3E\u0163\x03\x02\x02\x02\u0F3F\u0F40" + "\x07\x8C\x02\x02\u0F40\u0F41\x07\xCE\x02\x02\u0F41\u0F42\x05\u05A0\u02D1" + "\x02\u0F42\u0F43\x05.\x18\x02\u0F43\u0F44\x05\u0224\u0113\x02\u0F44\u0FA6" + "\x03\x02\x02\x02\u0F45\u0F46\x07\x8C\x02\x02\u0F46\u0F47\x07\xCE\x02\x02" + "\u0F47\u0F48\x05\u05A0\u02D1\x02\u0F48\u0F49\x05.\x18\x02\u0F49\u0F4A" + "\x05\u0222\u0112\x02\u0F4A\u0FA6\x03\x02\x02\x02\u0F4B\u0F4C\x07\x8C\x02" + "\x02\u0F4C\u0F4D\x07\xCE\x02\x02\u0F4D\u0F4E\x05\u05A0\u02D1\x02\u0F4E" + "\u0F4F\x05.\x18\x02\u0F4F\u0F50\x07\x8A\x02\x02\u0F50\u0F51\x05\u02BC" + "\u015F\x02\u0F51\u0FA6\x03\x02\x02\x02\u0F52\u0F53\x07\x8C\x02\x02\u0F53" + "\u0F54\x07\xCE\x02\x02\u0F54\u0F55\x05\u05A0\u02D1\x02\u0F55\u0F56\x05" + ".\x18\x02\u0F56\u0F57\x07+\x02\x02\u0F57\u0F58\x07\x04\x02\x02\u0F58\u0F59" + "\x05\u0494\u024B\x02\u0F59\u0F5A\x07&\x02\x02\u0F5A\u0F5B\x05\u0494\u024B" + "\x02\u0F5B\u0F5C\x07\x05\x02\x02\u0F5C\u0FA6\x03\x02\x02\x02\u0F5D\u0F5E" + "\x07\x8C\x02\x02\u0F5E\u0F5F\x07\xCE\x02\x02\u0F5F\u0F60\x05\u05A0\u02D1" + "\x02\u0F60\u0F61\x05.\x18\x02\u0F61\u0F62\x07\xBF\x02\x02\u0F62\u0F63" + "\x05\u0494\u024B\x02\u0F63\u0FA6\x03\x02\x02\x02\u0F64\u0F65\x07\x8C\x02" + "\x02\u0F65\u0F66\x07\xCE\x02\x02\u0F66\u0F67\x05\u05A0\u02D1\x02\u0F67" + "\u0F68\x05.\x18\x02\u0F68\u0F69\x07\xD5\x02\x02\u0F69\u0F6A\x05\u02A4" + "\u0153\x02\u0F6A\u0FA6\x03\x02\x02\x02\u0F6B\u0F6C\x07\x8C\x02\x02\u0F6C" + "\u0F6D\x07\xCE\x02\x02\u0F6D\u0F6E\x05\u05A0\u02D1\x02\u0F6E\u0F6F\x05" + ".\x18\x02\u0F6F\u0F70\x07\u0118\x02\x02\u0F70\u0F71\x05\u02E2\u0172\x02" + "\u0F71\u0FA6\x03\x02\x02\x02\u0F72\u0F73\x07\x8C\x02\x02\u0F73\u0F74\x07" + "\xCE\x02\x02\u0F74\u0F75\x05\u05A0\u02D1\x02\u0F75\u0F76\x05.\x18\x02" + "\u0F76\u0F77\x07\u0118\x02\x02\u0F77\u0F78\x07\x9E\x02\x02\u0F78\u0F79" + "\x05\u0230\u0119\x02\u0F79\u0F7A\x07f\x02\x02\u0F7A\u0F7B\x05\u05A0\u02D1" + "\x02\u0F7B\u0FA6\x03\x02\x02\x02\u0F7C\u0F7D\x07\x8C\x02\x02\u0F7D\u0F7E" + "\x07\xCE\x02\x02\u0F7E\u0F7F\x05\u05A0\u02D1\x02\u0F7F\u0F80\x05.\x18" + "\x02\u0F80\u0F81\x07\u0118\x02\x02\u0F81\u0F82\x07\xD0\x02\x02\u0F82\u0F83" + "\x05\u0230\u0119\x02\u0F83\u0F84\x07f\x02\x02\u0F84\u0F85\x05\u05A0\u02D1" + "\x02\u0F85\u0FA6\x03\x02\x02\x02\u0F86\u0F87\x07\x8C\x02\x02\u0F87\u0F88" + "\x07\xCE\x02\x02\u0F88\u0F89\x05\u05A0\u02D1\x02\u0F89\u0F8A\x05.\x18" + "\x02\u0F8A\u0F8B\x07\u012A\x02\x02\u0F8B\u0F8C\x05\u02A0\u0151\x02\u0F8C" + "\u0FA6\x03\x02\x02\x02\u0F8D\u0F8E\x07\x8C\x02\x02\u0F8E\u0F8F\x07\xCE" + "\x02\x02\u0F8F\u0F90\x05\u05A0\u02D1\x02\u0F90\u0F91\x05.\x18\x02\u0F91" + "\u0F92\x07\u01BC\x02\x02\u0F92\u0F93\x05\u029C\u014F\x02\u0F93\u0FA6\x03" + "\x02\x02\x02\u0F94\u0F95\x07\x8C\x02\x02\u0F95\u0F96\x07\xCE\x02\x02\u0F96" + "\u0F97\x05\u05A0\u02D1\x02\u0F97\u0F98\x05.\x18\x02\u0F98\u0F99\x07\u01BD" + "\x02\x02\u0F99\u0F9A\x07@\x02\x02\u0F9A\u0F9B\x05\u0494\u024B\x02\u0F9B" + "\u0F9C\x07\xF9\x02\x02\u0F9C\u0F9D\x05\u05A0\u02D1\x02\u0F9D\u0FA6\x03" + "\x02\x02\x02\u0F9E\u0F9F\x07\x8C\x02\x02\u0F9F\u0FA0\x07\xCE\x02\x02\u0FA0" + "\u0FA1\x05\u05A0\u02D1\x02\u0FA1\u0FA2\x05.\x18\x02\u0FA2"; private static readonly _serializedATNSegment10: string = "\u0FA3\x07\u016A\x02\x02\u0FA3\u0FA4\x05\u0494\u024B\x02\u0FA4\u0FA6\x03" + "\x02\x02\x02\u0FA5\u0F3F\x03\x02\x02\x02\u0FA5\u0F45\x03\x02\x02\x02\u0FA5" + "\u0F4B\x03\x02\x02\x02\u0FA5\u0F52\x03\x02\x02\x02\u0FA5\u0F5D\x03\x02" + "\x02\x02\u0FA5\u0F64\x03\x02\x02\x02\u0FA5\u0F6B\x03\x02\x02\x02\u0FA5" + "\u0F72\x03\x02\x02\x02\u0FA5\u0F7C\x03\x02\x02\x02\u0FA5\u0F86\x03\x02" + "\x02\x02\u0FA5\u0F8D\x03\x02\x02\x02\u0FA5\u0F94\x03\x02\x02\x02\u0FA5" + "\u0F9E\x03\x02\x02\x02\u0FA6\u0165\x03\x02\x02\x02\u0FA7\u0FA8\x070\x02" + "\x02\u0FA8\u0FA9\x07A\x02\x02\u0FA9\u0FAA\x07\xB0\x02\x02\u0FAA\u0FAB" + "\x07\u017F\x02\x02\u0FAB\u0FAD\x05\u05A0\u02D1\x02\u0FAC\u0FAE\x05\u016C" + "\xB7\x02\u0FAD\u0FAC\x03\x02\x02\x02\u0FAD\u0FAE\x03\x02\x02\x02\u0FAE" + "\u0FB0\x03\x02\x02\x02\u0FAF\u0FB1\x05\u0170\xB9\x02\u0FB0\u0FAF\x03\x02" + "\x02\x02\u0FB0\u0FB1\x03\x02\x02\x02\u0FB1\u0167\x03\x02\x02\x02\u0FB2" + "\u0FB3\x07\xD9\x02\x02\u0FB3\u0FBB\x05\u014A\xA6\x02\u0FB4\u0FB5\x07\u010F" + "\x02\x02\u0FB5\u0FBB\x07\xD9\x02\x02\u0FB6\u0FB7\x07\u0177\x02\x02\u0FB7" + "\u0FBB\x05\u014A\xA6\x02\u0FB8\u0FB9\x07\u010F\x02\x02\u0FB9\u0FBB\x07" + "\u0177\x02\x02\u0FBA\u0FB2\x03\x02\x02\x02\u0FBA\u0FB4\x03\x02\x02\x02" + "\u0FBA\u0FB6\x03\x02\x02\x02\u0FBA\u0FB8\x03\x02\x02\x02\u0FBB\u0169\x03" + "\x02\x02\x02\u0FBC\u0FBE\x05\u0168\xB5\x02\u0FBD\u0FBC\x03\x02\x02\x02" + "\u0FBE\u0FBF\x03\x02\x02\x02\u0FBF\u0FBD\x03\x02\x02\x02\u0FBF\u0FC0\x03" + "\x02\x02\x02\u0FC0\u016B\x03\x02\x02\x02\u0FC1\u0FC2\x05\u016A\xB6\x02" + "\u0FC2\u016D\x03\x02\x02\x02\u0FC3\u0FC4\x07\x8C\x02\x02\u0FC4\u0FC5\x07" + "A\x02\x02\u0FC5\u0FC6\x07\xB0\x02\x02\u0FC6\u0FC7\x07\u017F\x02\x02\u0FC7" + "\u0FC9\x05\u05A0\u02D1\x02\u0FC8\u0FCA\x05\u016C\xB7\x02\u0FC9\u0FC8\x03" + "\x02\x02\x02\u0FC9\u0FCA\x03\x02\x02\x02\u0FCA\u0FCB\x03\x02\x02\x02\u0FCB" + "\u0FCC\x05\u0174\xBB\x02\u0FCC\u0FD5\x03\x02\x02\x02\u0FCD\u0FCE\x07\x8C" + "\x02\x02\u0FCE\u0FCF\x07A\x02\x02\u0FCF\u0FD0\x07\xB0\x02\x02\u0FD0\u0FD1" + "\x07\u017F\x02\x02\u0FD1\u0FD2\x05\u05A0\u02D1\x02\u0FD2\u0FD3\x05\u016A" + "\xB6\x02\u0FD3\u0FD5\x03\x02\x02\x02\u0FD4\u0FC3\x03\x02\x02\x02\u0FD4" + "\u0FCD\x03\x02\x02\x02\u0FD5\u016F\x03\x02\x02\x02\u0FD6\u0FD7\x07\u011A" + "\x02\x02\u0FD7\u0FD8\x07\x04\x02\x02\u0FD8\u0FD9\x05\u0172\xBA\x02\u0FD9" + "\u0FDA\x07\x05\x02\x02\u0FDA\u0171\x03\x02\x02\x02\u0FDB\u0FE0\x05\u017A" + "\xBE\x02\u0FDC\u0FDD\x07\b\x02\x02\u0FDD\u0FDF\x05\u017A\xBE\x02\u0FDE" + "\u0FDC\x03\x02\x02\x02\u0FDF\u0FE2\x03\x02\x02\x02\u0FE0\u0FDE\x03\x02" + "\x02\x02\u0FE0\u0FE1\x03\x02\x02\x02\u0FE1\u0173\x03\x02\x02\x02\u0FE2" + "\u0FE0\x03\x02\x02\x02\u0FE3\u0FE4\x07\u011A\x02\x02\u0FE4\u0FE5\x07\x04" + "\x02\x02\u0FE5\u0FE6\x05\u0176\xBC\x02\u0FE6\u0FE7\x07\x05\x02\x02\u0FE7" + "\u0175\x03\x02\x02\x02\u0FE8\u0FED\x05\u0178\xBD\x02\u0FE9\u0FEA\x07\b" + "\x02\x02\u0FEA\u0FEC\x05\u0178\xBD\x02\u0FEB\u0FE9\x03\x02\x02\x02\u0FEC" + "\u0FEF\x03\x02\x02\x02\u0FED\u0FEB\x03\x02\x02\x02\u0FED\u0FEE\x03\x02" + "\x02\x02\u0FEE\u0177\x03\x02\x02\x02\u0FEF\u0FED\x03\x02\x02\x02\u0FF0" + "\u0FF8\x05\u017A\xBE\x02\u0FF1\u0FF2\x07\u014F\x02\x02\u0FF2\u0FF8\x05" + "\u017A\xBE\x02\u0FF3\u0FF4\x07\x87\x02\x02\u0FF4\u0FF8\x05\u017A\xBE\x02" + "\u0FF5\u0FF6\x07\xC1\x02\x02\u0FF6\u0FF8\x05\u017A\xBE\x02\u0FF7\u0FF0" + "\x03\x02\x02\x02\u0FF7\u0FF1\x03\x02\x02\x02\u0FF7\u0FF3\x03\x02\x02\x02" + "\u0FF7\u0FF5\x03\x02\x02\x02\u0FF8\u0179\x03\x02\x02\x02\u0FF9\u0FFA\x05" + "\u017C\xBF\x02\u0FFA\u0FFB\x05\u017E\xC0\x02\u0FFB\u017B\x03\x02\x02\x02" + "\u0FFC\u0FFD\x05\u05D6\u02EC\x02\u0FFD\u017D\x03\x02\x02\x02\u0FFE\u0FFF" + "\x05\u05B6\u02DC\x02\u0FFF\u017F\x03\x02\x02\x02\u1000\u1001\x070\x02" + "\x02\u1001\u1003\x07\u014D\x02\x02\u1002\u1004\x05\u0204\u0103\x02\u1003" + "\u1002\x03\x02\x02\x02\u1003\u1004\x03\x02\x02\x02\u1004\u1005\x03\x02" + "\x02\x02\u1005\u1007\x05\u05A0\u02D1\x02\u1006\u1008\x05\u0182\xC2\x02" + "\u1007\u1006\x03\x02\x02\x02\u1007\u1008\x03\x02\x02\x02\u1008\u100A\x03" + "\x02\x02\x02\u1009\u100B\x05\u0186\xC4\x02\u100A\u1009\x03\x02\x02\x02" + "\u100A\u100B\x03\x02\x02\x02\u100B\u100C\x03\x02\x02\x02\u100C\u100D\x07" + "A\x02\x02\u100D\u100E\x07\xB0\x02\x02\u100E\u100F\x07\u017F\x02\x02\u100F" + "\u1011\x05\u05A0\u02D1\x02\u1010\u1012\x05\u0170\xB9\x02\u1011\u1010\x03" + "\x02\x02\x02\u1011\u1012\x03\x02\x02\x02\u1012\u0181\x03\x02\x02\x02\u1013" + "\u1014\x07\u016A\x02\x02\u1014\u1015\x05\u05B6\u02DC\x02\u1015\u0183\x03" + "\x02\x02\x02\u1016\u1019\x07\u0179\x02\x02\u1017\u101A\x05\u05B6\u02DC" + "\x02\u1018\u101A\x07P\x02\x02\u1019\u1017\x03\x02\x02\x02\u1019\u1018" + "\x03\x02\x02\x02\u101A\u0185\x03\x02\x02\x02\u101B\u101C\x05\u0184\xC3" + "\x02\u101C\u0187\x03\x02\x02\x02\u101D\u101E\x07\x8C\x02\x02\u101E\u101F" + "\x07\u014D\x02\x02\u101F\u1025\x05\u05A0\u02D1\x02\u1020\u1026\x05\u0174" + "\xBB\x02\u1021\u1023\x05\u0184\xC3\x02\u1022\u1024\x05\u0174\xBB\x02\u1023" + "\u1022\x03\x02\x02\x02\u1023\u1024\x03\x02\x02\x02\u1024\u1026\x03\x02" + "\x02\x02\u1025\u1020\x03\x02\x02\x02\u1025\u1021\x03\x02\x02\x02\u1026" + "\u0189\x03\x02\x02\x02\u1027\u1028\x070\x02\x02\u1028\u1029\x07A\x02\x02" + "\u1029\u102B\x07^\x02\x02\u102A\u102C\x05\u0204\u0103\x02\u102B\u102A" + "\x03\x02\x02\x02\u102B\u102C\x03\x02\x02\x02\u102C\u102D\x03\x02\x02\x02" + "\u102D\u102E\x05\u0580\u02C1\x02\u102E\u1030\x07\x04\x02\x02\u102F\u1031" + "\x05\xC4c\x02\u1030\u102F\x03\x02\x02\x02\u1030\u1031\x03\x02\x02\x02" + "\u1031\u1032\x03\x02\x02\x02\u1032\u1034\x07\x05\x02\x02\u1033\u1035\x05" + "\u010A\x86\x02\u1034\u1033\x03\x02\x02\x02\u1034\u1035\x03\x02\x02\x02" + "\u1035\u1036\x03\x02\x02\x02\u1036\u1037\x07\u014D\x02\x02\u1037\u1039" + "\x05\u05A0\u02D1\x02\u1038\u103A\x05\u0170\xB9\x02\u1039\u1038\x03\x02" + "\x02\x02\u1039\u103A\x03\x02\x02\x02\u103A\u104F\x03\x02\x02\x02\u103B" + "\u103C\x070\x02\x02\u103C\u103D\x07A\x02\x02\u103D\u103F\x07^\x02\x02" + "\u103E\u1040\x05\u0204\u0103\x02\u103F\u103E\x03\x02\x02\x02\u103F\u1040" + "\x03\x02\x02\x02\u1040\u1041\x03\x02\x02\x02\u1041\u1042\x05\u0580\u02C1" + "\x02\u1042\u1043\x07\u011F\x02\x02\u1043\u1044\x07\u0115\x02\x02\u1044" + "\u1046\x05\u0582\u02C2\x02\u1045\u1047\x05\xC6d\x02\u1046\u1045\x03\x02" + "\x02\x02\u1046\u1047\x03\x02\x02\x02\u1047\u1048\x03\x02\x02\x02\u1048" + "\u1049\x05\x92J\x02\u1049\u104A\x07\u014D\x02\x02\u104A\u104C\x05\u05A0" + "\u02D1\x02\u104B\u104D\x05\u0170\xB9\x02\u104C\u104B\x03\x02\x02\x02\u104C" + "\u104D\x03\x02\x02\x02\u104D\u104F\x03\x02\x02\x02\u104E\u1027\x03\x02" + "\x02\x02\u104E\u103B\x03\x02\x02\x02\u104F\u018B\x03\x02\x02\x02\u1050" + "\u1051\x07\u01BE\x02\x02\u1051\u1052\x07A\x02\x02\u1052\u1053\x07\u0145" + "\x02\x02\u1053\u1055\x05\u0592\u02CA\x02\u1054\u1056\x05\u0190\xC9\x02" + "\u1055\u1054\x03\x02\x02\x02\u1055\u1056\x03\x02\x02\x02\u1056\u1057\x03" + "\x02\x02\x02\u1057\u1058\x07B\x02\x02\u1058\u1059\x07\u014D\x02\x02\u1059" + "\u105A\x05\u05A0\u02D1\x02\u105A\u105B\x07I\x02\x02\u105B\u105D\x05\u05A0" + "\u02D1\x02\u105C\u105E\x05\u0170\xB9\x02\u105D\u105C\x03\x02\x02\x02\u105D" + "\u105E\x03\x02\x02\x02\u105E\u018D\x03\x02\x02\x02\u105F\u1060\x07L\x02" + "\x02\u1060\u1063\x07`\x02\x02\u1061\u1063\x07=\x02\x02\u1062\u105F\x03" + "\x02\x02\x02\u1062\u1061\x03\x02\x02\x02\u1063\u018F\x03\x02\x02\x02\u1064" + "\u1065\x05\u018E\xC8\x02\u1065\u1066\x07\x04\x02\x02\u1066\u1067\x05\u0468" + "\u0235\x02\u1067\u1068\x07\x05\x02\x02\u1068\u0191\x03\x02\x02\x02\u1069" + "\u106A\x070\x02\x02\u106A\u106B\x07e\x02\x02\u106B\u106D\x07\u0103\x02" + "\x02\u106C\u106E\x05\u0204\u0103\x02\u106D\u106C\x03\x02\x02\x02\u106D" + "\u106E\x03\x02\x02\x02\u106E\u106F\x03\x02\x02\x02\u106F\u1070\x07@\x02" + "\x02\u1070\u1071\x05\u0194\xCB\x02\u1071\u1072\x07\u014D\x02\x02\u1072" + "\u1074\x05\u05A0\u02D1\x02\u1073\u1075\x05\u0170\xB9\x02\u1074\u1073\x03" + "\x02\x02\x02\u1074\u1075\x03\x02\x02\x02\u1075\u0193\x03\x02\x02\x02\u1076" + "\u1079\x05\u05C2\u02E2\x02\u1077\u1079\x07e\x02\x02\u1078\u1076\x03\x02" + "\x02\x02\u1078\u1077\x03\x02\x02\x02\u1079\u0195\x03\x02\x02\x02\u107A" + "\u107B\x07\x8C\x02\x02\u107B\u107C\x07e\x02\x02\u107C\u107D\x07\u0103" + "\x02\x02\u107D\u107E\x07@\x02\x02\u107E\u107F\x05\u0194\xCB\x02\u107F" + "\u1080\x07\u014D\x02\x02\u1080\u1081\x05\u05A0\u02D1\x02\u1081\u1082\x05" + "\u0174\xBB\x02\u1082\u0197\x03\x02\x02\x02\u1083\u1084\x070\x02\x02\u1084" + "\u1085\x07\u01BF\x02\x02\u1085\u1086\x05\u05A0\u02D1\x02\u1086\u1087\x07" + "R\x02\x02\u1087\u1089\x05\u0588\u02C5\x02\u1088\u108A\x05\u01AA\xD6\x02" + "\u1089\u1088\x03\x02\x02\x02\u1089\u108A\x03\x02\x02\x02\u108A\u108C\x03" + "\x02\x02\x02\u108B\u108D\x05\u01AC\xD7\x02\u108C\u108B\x03\x02\x02\x02" + "\u108C\u108D\x03\x02\x02\x02\u108D\u108F\x03\x02\x02\x02\u108E\u1090\x05" + "\u01A6\xD4\x02\u108F\u108E\x03\x02\x02\x02\u108F\u1090\x03\x02\x02\x02" + "\u1090\u1092\x03\x02\x02\x02\u1091\u1093\x05\u01A2\xD2\x02\u1092\u1091" + "\x03\x02\x02\x02\u1092\u1093\x03\x02\x02\x02\u1093\u1095\x03\x02\x02\x02" + "\u1094\u1096\x05\u01A4\xD3\x02\u1095\u1094\x03\x02\x02\x02\u1095\u1096" + "\x03\x02\x02\x02\u1096\u0199\x03\x02\x02\x02\u1097\u1098\x07\x8C\x02\x02" + "\u1098\u1099\x07\u01BF\x02\x02\u1099\u109A\x05\u05A0\u02D1\x02\u109A\u109B" + "\x07R\x02\x02\u109B\u109D\x05\u0588\u02C5\x02\u109C\u109E\x05\u01A8\xD5" + "\x02\u109D\u109C\x03\x02\x02\x02\u109D\u109E\x03\x02\x02\x02\u109E\u10A0" + "\x03\x02\x02\x02\u109F\u10A1\x05\u01A2\xD2\x02\u10A0\u109F\x03\x02\x02" + "\x02\u10A0\u10A1\x03\x02\x02\x02\u10A1\u10A3\x03\x02\x02\x02\u10A2\u10A4" + "\x05\u01A4\xD3\x02\u10A3\u10A2\x03\x02\x02\x02\u10A3\u10A4\x03\x02\x02" + "\x02\u10A4\u019B\x03\x02\x02\x02\u10A5\u10A6\x07\x8C\x02\x02\u10A6\u10A7" + "\x07\u012A\x02\x02\u10A7\u10A9\x05\u0598\u02CD\x02\u10A8\u10AA\x05\u0296" + "\u014C\x02\u10A9\u10A8\x03\x02\x02\x02\u10A9\u10AA\x03\x02\x02\x02\u10AA" + "\u10AB\x03\x02\x02\x02\u10AB\u10AC\x05\u019E\xD0\x02\u10AC\u019D\x03\x02" + "\x02\x02\u10AD\u10B1\x05\u01A0\xD1\x02\u10AE\u10B0\x05\u01A0\xD1\x02\u10AF" + "\u10AE\x03\x02\x02\x02\u10B0\u10B3\x03\x02\x02\x02\u10B1\u10AF\x03\x02" + "\x02\x02\u10B1\u10B2\x03\x02\x02\x02\u10B2\u10B5\x03\x02\x02\x02\u10B3" + "\u10B1\x03\x02\x02\x02\u10B4\u10B6\x07\u013D\x02\x02\u10B5\u10B4\x03\x02" + "\x02\x02\u10B5\u10B6\x03\x02\x02\x02\u10B6\u10C8\x03\x02\x02\x02\u10B7" + "\u10B8\x07\u0137\x02\x02\u10B8\u10B9\x07`\x02\x02\u10B9\u10C8\x05\u059A" + "\u02CE\x02\u10BA\u10BB\x07\u011C\x02\x02\u10BB\u10BC\x07`\x02\x02\u10BC" + "\u10C8\x05\u05C2\u02E2\x02\u10BD\u10BE\x07\u014F\x02\x02\u10BE\u10BF\x07" + "\u0145\x02\x02\u10BF\u10C8\x052\x1A\x02\u10C0\u10C2\x07\u010F\x02\x02" + "\u10C1\u10C0\x03\x02\x02\x02\u10C1\u10C2\x03\x02\x02\x02\u10C2\u10C3\x03" + "\x02\x02\x02\u10C3\u10C4\x07\u01D0\x02\x02\u10C4\u10C5\x07R\x02\x02\u10C5" + "\u10C6\x07\xCE\x02\x02\u10C6\u10C8\x05\u05A0\u02D1\x02\u10C7\u10AD\x03" + "\x02\x02\x02\u10C7\u10B7\x03\x02\x02\x02\u10C7\u10BA\x03\x02\x02\x02\u10C7" + "\u10BD\x03\x02\x02\x02\u10C7\u10C1\x03\x02\x02\x02\u10C8\u019F\x03\x02" + "\x02\x02\u10C9\u10CB\x07\xCF\x02\x02\u10CA\u10C9\x03\x02\x02\x02\u10CA" + "\u10CB\x03\x02\x02\x02\u10CB\u10CC\x03\x02\x02\x02\u10CC\u10CD\x07\u0149" + "\x02\x02\u10CD\u10D4\x07\xF5\x02\x02\u10CE\u10D0\x07\xCF\x02\x02\u10CF" + "\u10CE\x03\x02\x02\x02\u10CF\u10D0\x03\x02\x02\x02\u10D0\u10D1\x03\x02" + "\x02\x02\u10D1\u10D2\x07\u0149\x02\x02\u10D2\u10D4\x07\xB7\x02\x02\u10D3" + "\u10CA\x03\x02\x02\x02\u10D3\u10CF\x03\x02\x02\x02\u10D4\u10E6\x03\x02" + "\x02\x02\u10D5\u10D6\x07\u014F\x02\x02\u10D6\u10D7\x05\u05A0\u02D1\x02" + "\u10D7\u10DA\t\x1D\x02\x02\u10D8\u10DB\x05\u05A0\u02D1\x02\u10D9\u10DB" + "\x077\x02\x02\u10DA\u10D8\x03\x02\x02\x02\u10DA\u10D9\x03\x02\x02\x02" + "\u10DB\u10E6\x03\x02\x02\x02\u10DC\u10DD\x07\u014F\x02\x02\u10DD\u10DE" + "\x05\u05A0\u02D1\x02\u10DE\u10DF\x07B\x02\x02\u10DF\u10E0\x07\u01B4\x02" + "\x02\u10E0\u10E6\x03\x02\x02\x02\u10E1\u10E2\x07\u013B\x02\x02\u10E2\u10E6" + "\x05\u05A0\u02D1\x02\u10E3\u10E4\x07\u013B\x02\x02\u10E4\u10E6\x07 \x02" + "\x02\u10E5\u10D3\x03\x02\x02\x02\u10E5\u10D5\x03\x02\x02\x02\u10E5\u10DC" + "\x03\x02\x02\x02\u10E5\u10E1\x03\x02\x02\x02\u10E5\u10E3\x03\x02\x02\x02" + "\u10E6\u01A1\x03\x02\x02\x02\u10E7\u10E8\x07f\x02\x02\u10E8\u10E9\x07" + "\x04\x02\x02\u10E9\u10EA\x05\u04C0\u0261\x02\u10EA\u10EB\x07\x05\x02\x02" + "\u10EB\u01A3\x03\x02\x02\x02\u10EC\u10ED\x07k\x02\x02\u10ED\u10EE\x07" + ",\x02\x02\u10EE\u10EF\x07\x04\x02\x02\u10EF\u10F0\x05\u04C0\u0261\x02" + "\u10F0\u10F1\x07\x05\x02\x02\u10F1\u01A5\x03\x02\x02\x02\u10F2\u10F3\x07" + "`\x02\x02\u10F3\u10F4\x05\u05C4\u02E3\x02\u10F4\u01A7\x03\x02\x02\x02" + "\u10F5\u10F6\x07`\x02\x02\u10F6\u10F7\x05\u05C4\u02E3\x02\u10F7\u01A9" + "\x03\x02\x02\x02\u10F8\u10FC\x07&\x02\x02\u10F9\u10FD\x07\u021F\x02\x02" + "\u10FA\u10FD\x07\u0220\x02\x02\u10FB\u10FD\x05\u05D8\u02ED\x02\u10FC\u10F9" + "\x03\x02\x02\x02\u10FC\u10FA\x03\x02\x02\x02\u10FC\u10FB\x03\x02\x02\x02" + "\u10FD\u01AB\x03\x02\x02\x02\u10FE\u10FF\x07@\x02\x02\u10FF\u1100\x05" + "\u01AE\xD8\x02\u1100\u01AD\x03\x02\x02\x02\u1101\u1102\t\x1E\x02\x02\u1102" + "\u01AF\x03\x02\x02\x02\u1103\u1104\x070\x02\x02\u1104\u1105\x07\x85\x02" + "\x02\u1105\u1106\x07\u01C0\x02\x02\u1106\u1107\x05\u05A0\u02D1\x02\u1107" + "\u1108\x07\u016A\x02\x02\u1108\u1109\x05\u01B2\xDA\x02\u1109\u110A\x07" + "\xD9\x02\x02\u110A\u110B\x05\u014A\xA6\x02\u110B\u01B1\x03\x02\x02\x02" + "\u110C\u110D\t\x1F\x02\x02\u110D\u01B3\x03\x02\x02\x02\u110E\u1110\x07" + "0\x02\x02\u110F\u1111\x05\u0294\u014B\x02\u1110\u110F\x03\x02\x02\x02" + "\u1110\u1111\x03\x02\x02\x02\u1111\u1112\x03\x02\x02\x02\u1112\u1113\x07" + "\u0167\x02\x02\u1113\u1114\x05\u05A0\u02D1\x02\u1114\u1115\x05\u01B6\xDC" + "\x02\u1115\u1116\x05\u01BC\xDF\x02\u1116\u1117\x07R\x02\x02\u1117\u1119" + "\x05\u0582\u02C2\x02\u1118\u111A\x05\u01C0\xE1\x02\u1119\u1118\x03\x02" + "\x02\x02\u1119\u111A\x03\x02\x02\x02\u111A\u111C\x03\x02\x02\x02\u111B" + "\u111D\x05\u01CC\xE7\x02\u111C\u111B\x03\x02\x02\x02\u111C\u111D\x03\x02" + "\x02\x02\u111D\u111F\x03\x02\x02\x02\u111E\u1120\x05\u01D2\xEA\x02\u111F" + "\u111E\x03\x02\x02\x02\u111F\u1120\x03\x02\x02\x02\u1120\u1121\x03\x02" + "\x02\x02\u1121\u1122\x07\xCC\x02\x02\u1122\u1123\x05\u01D4\xEB\x02\u1123" + "\u1124\x07\x04\x02\x02\u1124\u1125\x05\u01D6\xEC\x02\u1125\u1126\x07\x05" + "\x02\x02\u1126\u1145\x03\x02\x02\x02\u1127\u1129\x070\x02\x02\u1128\u112A" + "\x05\u0294\u014B\x02\u1129\u1128\x03\x02\x02\x02\u1129\u112A\x03\x02\x02" + "\x02\u112A\u112C\x03\x02\x02\x02\u112B\u112D\x07/\x02\x02\u112C\u112B" + "\x03\x02\x02\x02\u112C\u112D\x03\x02\x02\x02\u112D\u112E\x03\x02\x02\x02" + "\u112E\u112F\x07\u0167\x02\x02\u112F\u1130\x05\u05A0\u02D1\x02\u1130\u1131" + "\x05\u01B6\xDC\x02\u1131\u1132\x05\u01BC\xDF\x02\u1132\u1133\x07R\x02" + "\x02\u1133\u1135\x05\u0582\u02C2\x02\u1134\u1136\x05\u01DA\xEE\x02\u1135" + "\u1134\x03\x02\x02\x02\u1135\u1136\x03\x02\x02\x02\u1136\u1137\x03\x02" + "\x02\x02\u1137\u1139\x05\u01DC\xEF\x02\u1138\u113A\x05\u01B8\xDD\x02\u1139" + "\u1138\x03\x02\x02\x02\u1139\u113A\x03\x02\x02\x02\u113A\u113C\x03\x02" + "\x02\x02\u113B\u113D\x05\u01D2\xEA\x02\u113C\u113B\x03\x02\x02\x02\u113C" + "\u113D\x03\x02\x02\x02\u113D\u113E\x03\x02\x02\x02\u113E\u113F\x07\xCC" + "\x02\x02\u113F\u1140\x05\u01D4\xEB\x02\u1140\u1141\x07\x04\x02\x02\u1141" + "\u1142\x05\u01D6\xEC\x02\u1142\u1143\x07\x05\x02\x02\u1143\u1145\x03\x02" + "\x02\x02\u1144\u110E\x03\x02\x02\x02\u1144\u1127\x03\x02\x02\x02\u1145" + "\u01B5\x03\x02\x02\x02\u1146\u114B\x07\x93\x02\x02\u1147\u114B\x07\x89" + "\x02\x02\u1148\u1149\x07\xF4\x02\x02\u1149\u114B\x07\u0115\x02\x02\u114A" + "\u1146\x03\x02\x02\x02\u114A\u1147\x03\x02\x02\x02\u114A\u1148\x03\x02" + "\x02\x02\u114B\u01B7\x03\x02\x02\x02\u114C\u114E\x07@\x02\x02\u114D\u114F" + "\x07\xC2\x02\x02\u114E\u114D\x03\x02\x02\x02\u114E\u114F\x03\x02\x02\x02" + "\u114F\u1150\x03\x02\x02\x02\u1150\u1151\x05\u01BA\xDE\x02\u1151\u01B9" + "\x03\x02\x02\x02\u1152\u1153\t \x02\x02\u1153\u01BB\x03\x02\x02\x02\u1154" + "\u1159\x05\u01BE\xE0\x02\u1155\u1156\x07T\x02\x02\u1156\u1158\x05\u01BE" + "\xE0\x02\u1157\u1155\x03\x02\x02\x02\u1158\u115B\x03\x02\x02\x02\u1159" + "\u1157\x03\x02\x02\x02\u1159\u115A\x03\x02\x02\x02\u115A\u01BD\x03\x02" + "\x02\x02\u115B\u1159\x03\x02\x02\x02\u115C\u1164\x07\xF3\x02\x02\u115D" + "\u1164\x07\xB8\x02\x02\u115E\u1164\x07\u0173\x02\x02\u115F\u1160\x07\u0173" + "\x02\x02\u1160\u1161\x07\u0115\x02\x02\u1161\u1164\x05\xF6|\x02\u1162" + "\u1164\x07\u0168\x02\x02\u1163\u115C\x03\x02\x02\x02\u1163\u115D\x03\x02" + "\x02\x02\u1163\u115E\x03\x02\x02\x02\u1163\u115F\x03\x02\x02\x02\u1163" + "\u1162\x03\x02\x02\x02\u1164\u01BF\x03\x02\x02\x02\u1165\u1166\x07\u01C1" + "\x02\x02\u1166\u1167\x05\u01C2\xE2\x02\u1167\u01C1\x03\x02\x02\x02\u1168" + "\u116A\x05\u01C4\xE3\x02\u1169\u1168\x03\x02\x02\x02\u116A\u116B\x03\x02" + "\x02\x02\u116B\u1169\x03\x02\x02\x02\u116B\u116C\x03\x02\x02\x02\u116C" + "\u01C3\x03\x02\x02\x02\u116D\u116E\x05\u01C6\xE4\x02\u116E\u1170\x05\u01C8" + "\xE5\x02\u116F\u1171\x05\u036C\u01B7\x02\u1170\u116F\x03\x02\x02\x02\u1170" + "\u1171\x03\x02\x02\x02\u1171\u1172\x03\x02\x02\x02\u1172\u1173\x05\u01CA" + "\xE6\x02\u1173\u01C5\x03\x02\x02\x02\u1174\u1175\t!\x02\x02\u1175\u01C7" + "\x03\x02\x02\x02\u1176\u1177\t\"\x02\x02\u1177\u01C9\x03\x02\x02\x02\u1178" + "\u1179\x05\u05C6\u02E4\x02\u1179\u01CB\x03\x02\x02\x02\u117A\u117C\x07" + "@\x02\x02\u117B\u117D\x05\u01CE\xE8\x02\u117C\u117B\x03\x02\x02\x02\u117C" + "\u117D\x03\x02\x02\x02\u117D\u117E\x03\x02\x02\x02\u117E\u117F\x05\u01D0" + "\xE9\x02\u117F\u01CD\x03\x02\x02\x02\u1180\u1181\x07\xC2\x02\x02\u1181" + "\u01CF\x03\x02\x02\x02\u1182\u1183\t \x02\x02\u1183\u01D1\x03\x02\x02" + "\x02\u1184\u1185\x07h\x02\x02\u1185\u1186\x07\x04\x02\x02\u1186\u1187" + "\x05\u04C0\u0261\x02\u1187\u1188\x07\x05\x02\x02\u1188\u01D3\x03\x02\x02" + "\x02\u1189\u118A\x07\xD5\x02\x02\u118A\u118E\x05\u05A8\u02D5\x02\u118B" + "\u118C\x07\u012A\x02\x02\u118C\u118E\x05\u0598\u02CD\x02\u118D\u1189\x03" + "\x02\x02\x02\u118D\u118B\x03\x02\x02\x02\u118E\u01D5\x03\x02\x02\x02\u118F" + "\u1192\x05\u01D8\xED\x02\u1190\u1192\x03\x02\x02\x02\u1191\u118F\x03\x02" + "\x02\x02\u1191\u1190\x03\x02\x02\x02\u1192\u1197\x03\x02\x02\x02\u1193" + "\u1194\x07\b\x02\x02\u1194\u1196\x05\u01D8\xED\x02\u1195\u1193\x03\x02" + "\x02\x02\u1196\u1199\x03\x02\x02\x02\u1197\u1195\x03\x02\x02\x02\u1197" + "\u1198\x03\x02\x02\x02\u1198\u01D7\x03\x02\x02\x02\u1199\u1197\x03\x02" + "\x02\x02\u119A\u119F\x05\u05B4\u02DB\x02\u119B\u119F\x05\u05B2\u02DA\x02" + "\u119C\u119F\x05\u05B6\u02DC\x02\u119D\u119F\x05\u05D6\u02EC\x02\u119E" + "\u119A\x03\x02\x02\x02\u119E\u119B\x03\x02\x02\x02\u119E\u119C\x03\x02" + "\x02\x02\u119E\u119D\x03\x02\x02\x02\u119F\u01D9\x03\x02\x02\x02\u11A0" + "\u11A1\x07B\x02\x02\u11A1\u11A2\x05\u0588\u02C5\x02\u11A2\u01DB\x03\x02" + "\x02\x02\u11A3\u11A5\x05\u01DE\xF0\x02\u11A4\u11A3\x03\x02\x02\x02\u11A5" + "\u11A8\x03\x02\x02\x02\u11A6\u11A4\x03\x02\x02\x02\u11A6\u11A7\x03\x02" + "\x02\x02\u11A7\u01DD\x03\x02\x02\x02\u11A8\u11A6\x03\x02\x02\x02\u11A9" + "\u11AA\x07O\x02\x02\u11AA\u11B5\x078\x02\x02\u11AB\u11B5\x078\x02\x02" + "\u11AC\u11AD\x07G\x02\x02\u11AD\u11B5\x07\xDF\x02\x02\u11AE\u11AF\x07" + "G\x02\x02\u11AF\u11B5\x07\xB6\x02\x02\u11B0\u11B1\x07O\x02\x02\u11B1\u11B5" + "\x07\u0175\x02\x02\u11B2\u11B3\x07\u010F\x02\x02\u11B3\u11B5\x07\xE6\x02" + "\x02\u11B4\u11A9\x03\x02\x02\x02\u11B4\u11AB\x03\x02\x02\x02\u11B4\u11AC" + "\x03\x02\x02\x02\u11B4\u11AE\x03\x02\x02\x02\u11B4\u11B0\x03\x02\x02\x02" + "\u11B4\u11B2\x03\x02\x02\x02\u11B5\u01DF\x03\x02\x02\x02\u11B6\u11B7\x07" + "0\x02\x02\u11B7\u11B8\x07\xC8\x02\x02\u11B8\u11B9\x07\u0167\x02\x02\u11B9" + "\u11BA\x05\u05A0\u02D1\x02\u11BA\u11BB\x07R\x02\x02\u11BB\u11BC\x05\u05D6" + "\u02EC\x02\u11BC\u11BD\x07\xCC\x02\x02\u11BD\u11BE\x05\u01D4\xEB\x02\u11BE" + "\u11BF\x07\x04\x02\x02\u11BF\u11C0\x07\x05\x02\x02\u11C0\u11CF\x03\x02" + "\x02\x02\u11C1\u11C2\x070\x02\x02\u11C2\u11C3\x07\xC8\x02\x02\u11C3\u11C4" + "\x07\u0167\x02\x02\u11C4\u11C5\x05\u05A0\u02D1\x02\u11C5\u11C6\x07R\x02" + "\x02\u11C6\u11C7\x05\u05D6\u02EC\x02\u11C7\u11C8\x07h\x02\x02\u11C8\u11C9" + "\x05\u01E2\xF2\x02\u11C9\u11CA\x07\xCC\x02\x02\u11CA\u11CB\x05\u01D4\xEB" + "\x02\u11CB\u11CC\x07\x04\x02\x02\u11CC\u11CD\x07\x05\x02\x02\u11CD\u11CF" + "\x03\x02\x02\x02\u11CE\u11B6\x03\x02\x02\x02\u11CE\u11C1\x03\x02\x02\x02" + "\u11CF\u01E1\x03\x02\x02\x02\u11D0\u11D5\x05\u01E4\xF3\x02\u11D1\u11D2" + "\x07#\x02\x02\u11D2\u11D4\x05\u01E4\xF3\x02\u11D3\u11D1\x03\x02\x02\x02" + "\u11D4\u11D7\x03\x02\x02\x02\u11D5\u11D3\x03\x02\x02\x02\u11D5\u11D6\x03" + "\x02\x02\x02\u11D6\u01E3\x03\x02\x02\x02\u11D7\u11D5\x03\x02\x02\x02\u11D8" + "\u11D9\x05\u05C6\u02E4\x02\u11D9\u11DA\x07F\x02\x02\u11DA\u11DB\x07\x04" + "\x02\x02\u11DB\u11DC\x05\u01E6\xF4\x02\u11DC\u11DD\x07\x05\x02\x02\u11DD" + "\u01E5\x03\x02\x02\x02\u11DE\u11E3\x05\u05B6\u02DC\x02\u11DF\u11E0\x07" + "\b\x02\x02\u11E0\u11E2\x05\u05B6\u02DC\x02\u11E1\u11DF\x03\x02\x02\x02" + "\u11E2\u11E5\x03\x02\x02\x02\u11E3\u11E1\x03\x02\x02\x02\u11E3\u11E4\x03" + "\x02\x02\x02\u11E4\u01E7\x03\x02\x02\x02\u11E5\u11E3\x03\x02\x02\x02\u11E6" + "\u11E7\x07\x8C\x02\x02\u11E7\u11E8\x07\xC8\x02\x02\u11E8\u11E9\x07\u0167" + "\x02\x02\u11E9\u11EA\x05\u05A0\u02D1\x02\u11EA\u11EB\x05\u01EA\xF6\x02" + "\u11EB\u01E9\x03\x02\x02\x02\u11EC\u11F3\x07\xC3\x02\x02\u11ED\u11EE\x07" + "\xC3\x02\x02\u11EE\u11F3\x07\u013A\x02\x02\u11EF\u11F0\x07\xC3\x02\x02" + "\u11F0\u11F3\x07\x8D\x02\x02\u11F1\u11F3\x07\xBC\x02\x02\u11F2\u11EC\x03" + "\x02\x02\x02\u11F2\u11ED\x03\x02\x02\x02\u11F2\u11EF\x03\x02\x02\x02\u11F2" + "\u11F1\x03\x02\x02\x02\u11F3\u01EB\x03\x02\x02\x02\u11F4\u11F5\x070\x02" + "\x02\u11F5\u11F6\x07\x8E\x02\x02\u11F6\u11F7\x05\u0230\u0119\x02\u11F7" + "\u11F8\x07,\x02\x02\u11F8\u11F9\x07\x04\x02\x02\u11F9\u11FA\x05\u04C0" + "\u0261\x02\u11FA\u11FB\x07\x05\x02\x02\u11FB\u11FC\x05\u01DC\xEF\x02\u11FC" + "\u01ED\x03\x02\x02\x02\u11FD\u11FF\x070\x02\x02\u11FE\u1200\x05\u0294" + "\u014B\x02\u11FF\u11FE\x03\x02\x02\x02\u11FF\u1200\x03\x02\x02\x02\u1200" + "\u1201\x03\x02\x02\x02\u1201\u1202\x07\x8A\x02\x02\u1202\u1203\x05\u05A8" + "\u02D5\x02\u1203\u1204\x05\u02B8\u015D\x02\u1204\u1205\x05\u01F0\xF9\x02" + "\u1205\u1265\x03\x02\x02\x02\u1206\u1208\x070\x02\x02\u1207\u1209\x05" + "\u0294\u014B\x02\u1208\u1207\x03\x02\x02\x02\u1208\u1209\x03\x02\x02\x02" + "\u1209\u120A\x03\x02\x02\x02\u120A\u120B\x07\x8A\x02\x02\u120B\u120C\x05" + "\u05A8\u02D5\x02\u120C\u120D\x05\u01F8\xFD\x02\u120D\u1265\x03\x02\x02" + "\x02\u120E\u120F\x070\x02\x02\u120F\u1210\x07\u0118\x02\x02\u1210\u1211" + "\x05\u02DE\u0170\x02\u1211\u1212\x05\u01F0\xF9\x02\u1212\u1265\x03\x02" + "\x02\x02\u1213\u1214\x070\x02\x02\u1214\u1215\x07\u016A\x02\x02\u1215" + "\u1216\x05\u0230\u0119\x02\u1216\u1217\x05\u01F0\xF9\x02\u1217\u1265\x03" + "\x02\x02\x02\u1218\u1219\x070\x02\x02\u1219\u121A\x07\u016A\x02\x02\u121A" + "\u1265\x05\u0230\u0119\x02\u121B\u121C\x070\x02\x02\u121C\u121D\x07\u016A" + "\x02\x02\u121D\u121E\x05\u0230\u0119\x02\u121E\u121F\x07&\x02\x02\u121F" + "\u1221\x07\x04\x02\x02\u1220\u1222\x05\u0480\u0241\x02\u1221\u1220\x03" + "\x02\x02\x02\u1221\u1222\x03\x02\x02\x02\u1222\u1223\x03\x02\x02\x02\u1223" + "\u1224\x07\x05\x02\x02\u1224\u1265\x03\x02\x02\x02\u1225\u1226\x070\x02" + "\x02\u1226\u1227\x07\u016A\x02\x02\u1227\u1228\x05\u0230\u0119\x02\u1228" + "\u1229\x07&\x02\x02\u1229\u122A\x07\xC6\x02\x02\u122A\u122C\x07\x04\x02" + "\x02\u122B\u122D\x05\u01FE\u0100\x02\u122C\u122B\x03\x02\x02\x02\u122C" + "\u122D\x03\x02\x02\x02\u122D\u122E\x03\x02\x02\x02\u122E\u122F\x07\x05" + "\x02\x02\u122F\u1265\x03\x02\x02\x02\u1230\u1231\x070\x02\x02\u1231\u1232" + "\x07\u016A\x02\x02\u1232\u1233\x05\u0230\u0119\x02\u1233\u1234\x07&\x02" + "\x02\u1234\u1235\x07\u012D\x02\x02\u1235\u1236\x05\u01F0\xF9\x02\u1236" + "\u1265\x03\x02\x02\x02\u1237\u1238\x070\x02\x02\u1238\u1239\x07\u0165" + "\x02\x02\u1239\u123A\x07\u0147\x02\x02\u123A\u123B\x07\u011D\x02\x02\u123B" + "\u123C\x05\u0230\u0119\x02\u123C\u123D\x05\u01F0\xF9\x02\u123D\u1265\x03" + "\x02\x02\x02\u123E\u123F\x070\x02\x02\u123F\u1240\x07\u0165\x02\x02\u1240" + "\u1241\x07\u0147\x02\x02\u1241\u1242\x07\xBB\x02\x02\u1242\u1243\x05\u0230" + "\u0119\x02\u1243\u1244\x05\u01F0\xF9\x02\u1244\u1265\x03\x02\x02\x02\u1245" + "\u1246\x070\x02\x02\u1246\u1247\x07\u0165\x02\x02\u1247\u1248\x07\u0147" + "\x02\x02\u1248\u1249\x07\u0163\x02\x02\u1249\u124A\x05\u0230\u0119\x02" + "\u124A\u124B\x05\u01F0\xF9\x02\u124B\u1265\x03\x02\x02\x02\u124C\u124D" + "\x070\x02\x02\u124D\u124E\x07\u0165\x02\x02\u124E\u124F\x07\u0147\x02" + "\x02\u124F\u1250\x07\xA5\x02\x02\u1250\u1251\x05\u0230\u0119\x02\u1251" + "\u1252\x05\u01F0\xF9\x02\u1252\u1265\x03\x02\x02\x02\u1253\u1254\x070" + "\x02\x02\u1254\u1256\x07n\x02\x02\u1255\u1257\x05\u0204\u0103\x02\u1256" + "\u1255\x03\x02\x02\x02\u1256\u1257\x03\x02\x02\x02\u1257\u1258\x03\x02" + "\x02\x02\u1258\u1259\x05\u0230\u0119\x02\u1259\u125A\x05\u01F0\xF9\x02" + "\u125A\u1265\x03\x02\x02\x02\u125B\u125C\x070\x02\x02\u125C\u125E\x07" + "n\x02\x02\u125D\u125F\x05\u0204\u0103\x02\u125E\u125D\x03\x02\x02\x02" + "\u125E\u125F\x03\x02\x02\x02\u125F\u1260\x03\x02\x02\x02\u1260\u1261\x05" + "\u0230\u0119\x02\u1261\u1262\x07B\x02\x02\u1262\u1263\x05\u0230\u0119" + "\x02\u1263\u1265\x03\x02\x02\x02\u1264\u11FD\x03\x02\x02\x02\u1264\u1206" + "\x03\x02\x02\x02\u1264\u120E\x03\x02\x02\x02\u1264\u1213\x03\x02\x02\x02" + "\u1264\u1218\x03\x02\x02\x02\u1264\u121B\x03\x02\x02\x02\u1264\u1225\x03" + "\x02\x02\x02\u1264\u1230\x03\x02\x02\x02\u1264\u1237\x03\x02\x02\x02\u1264" + "\u123E\x03\x02\x02\x02\u1264\u1245\x03"; private static readonly _serializedATNSegment11: string = "\x02\x02\x02\u1264\u124C\x03\x02\x02\x02\u1264\u1253\x03\x02\x02\x02\u1264" + "\u125B\x03\x02\x02\x02\u1265\u01EF\x03\x02\x02\x02\u1266\u1267\x07\x04" + "\x02\x02\u1267\u1268\x05\u01F2\xFA\x02\u1268\u1269\x07\x05\x02\x02\u1269" + "\u01F1\x03\x02\x02\x02\u126A\u126F\x05\u01F4\xFB\x02\u126B\u126C\x07\b" + "\x02\x02\u126C\u126E\x05\u01F4\xFB\x02\u126D\u126B\x03\x02\x02\x02\u126E" + "\u1271\x03\x02\x02\x02\u126F\u126D\x03\x02\x02\x02\u126F\u1270\x03\x02" + "\x02\x02\u1270\u01F3\x03\x02\x02\x02\u1271\u126F\x03\x02\x02\x02\u1272" + "\u1275\x05\u05D6\u02EC\x02\u1273\u1274\x07\f\x02\x02\u1274\u1276\x05\u01F6" + "\xFC\x02\u1275\u1273\x03\x02\x02\x02\u1275\u1276\x03\x02\x02\x02\u1276" + "\u01F5\x03\x02\x02\x02\u1277\u127E\x05\u02B2\u015A\x02\u1278\u127E\x05" + "\u05E2\u02F2\x02\u1279\u127E\x05\u0530\u0299\x02\u127A\u127E\x05\u0142" + "\xA2\x02\u127B\u127E\x05\u05B6\u02DC\x02\u127C\u127E\x07\u0199\x02\x02" + "\u127D\u1277\x03\x02\x02\x02\u127D\u1278\x03\x02\x02\x02\u127D\u1279\x03" + "\x02\x02\x02\u127D\u127A\x03\x02\x02\x02\u127D\u127B\x03\x02\x02\x02\u127D" + "\u127C\x03\x02\x02\x02\u127E\u01F7\x03\x02\x02\x02\u127F\u1280\x07\x04" + "\x02\x02\u1280\u1281\x05\u01FA\xFE\x02\u1281\u1282\x07\x05\x02\x02\u1282" + "\u01F9\x03\x02\x02\x02\u1283\u1288\x05\u01FC\xFF\x02\u1284\u1285\x07\b" + "\x02\x02\u1285\u1287\x05\u01FC\xFF\x02\u1286\u1284\x03\x02\x02\x02\u1287" + "\u128A\x03\x02\x02\x02\u1288\u1286\x03\x02\x02\x02\u1288\u1289\x03\x02" + "\x02\x02\u1289\u01FB\x03\x02\x02\x02\u128A\u1288\x03\x02\x02\x02\u128B" + "\u128C\x05\u05D8\u02ED\x02\u128C\u128D\x07\f\x02\x02\u128D\u128E\x05\u01F6" + "\xFC\x02\u128E\u01FD\x03\x02\x02\x02\u128F\u1290\x05\u0200\u0101\x02\u1290" + "\u01FF\x03\x02\x02\x02\u1291\u1296\x05\u05B6\u02DC\x02\u1292\u1293\x07" + "\b\x02\x02\u1293\u1295\x05\u05B6\u02DC\x02\u1294\u1292\x03\x02\x02\x02" + "\u1295\u1298\x03\x02\x02\x02\u1296\u1294\x03\x02\x02\x02\u1296\u1297\x03" + "\x02\x02\x02\u1297\u0201\x03\x02\x02\x02\u1298\u1296\x03\x02\x02\x02\u1299" + "\u129A\x07\x8C\x02\x02\u129A\u129B\x07\u016A\x02\x02\u129B\u129C\x05\u0230" + "\u0119\x02\u129C\u129D\x07\x87\x02\x02\u129D\u129F\x07\u01C4\x02\x02\u129E" + "\u12A0\x05\u0204\u0103\x02\u129F\u129E\x03\x02\x02\x02\u129F\u12A0\x03" + "\x02\x02\x02\u12A0\u12A1\x03\x02\x02\x02\u12A1\u12A2\x05\u05B6\u02DC\x02" + "\u12A2\u12C5\x03\x02\x02\x02\u12A3\u12A4\x07\x8C\x02\x02\u12A4\u12A5\x07" + "\u016A\x02\x02\u12A5\u12A6\x05\u0230\u0119\x02\u12A6\u12A7\x07\x87\x02" + "\x02\u12A7\u12A9\x07\u01C4\x02\x02\u12A8\u12AA\x05\u0204\u0103\x02\u12A9" + "\u12A8\x03\x02\x02\x02\u12A9\u12AA\x03\x02\x02\x02\u12AA\u12AB\x03\x02" + "\x02\x02\u12AB\u12AC\x05\u05B6\u02DC\x02\u12AC\u12AD\x07\x93\x02\x02\u12AD" + "\u12AE\x05\u05B6\u02DC\x02\u12AE\u12C5\x03\x02\x02\x02\u12AF\u12B0\x07" + "\x8C\x02\x02\u12B0\u12B1\x07\u016A\x02\x02\u12B1\u12B2\x05\u0230\u0119" + "\x02\u12B2\u12B3\x07\x87\x02\x02\u12B3\u12B5\x07\u01C4\x02\x02\u12B4\u12B6" + "\x05\u0204\u0103\x02\u12B5\u12B4\x03\x02\x02\x02\u12B5\u12B6\x03\x02\x02" + "\x02\u12B6\u12B7\x03\x02\x02\x02\u12B7\u12B8\x05\u05B6\u02DC\x02\u12B8" + "\u12B9\x07\x89\x02\x02\u12B9\u12BA\x05\u05B6\u02DC\x02\u12BA\u12C5\x03" + "\x02\x02\x02\u12BB\u12BC\x07\x8C\x02\x02\u12BC\u12BD\x07\u016A\x02\x02" + "\u12BD\u12BE\x05\u0230\u0119\x02\u12BE\u12BF\x07\u0137\x02\x02\u12BF\u12C0" + "\x07\u01C4\x02\x02\u12C0\u12C1\x05\u05B6\u02DC\x02\u12C1\u12C2\x07`\x02" + "\x02\u12C2\u12C3\x05\u05B6\u02DC\x02\u12C3\u12C5\x03\x02\x02\x02\u12C4" + "\u1299\x03\x02\x02\x02\u12C4\u12A3\x03\x02\x02\x02\u12C4\u12AF\x03\x02" + "\x02\x02\u12C4\u12BB\x03\x02\x02\x02\u12C5\u0203\x03\x02\x02\x02\u12C6" + "\u12C7\x07\xDE\x02\x02\u12C7\u12C8\x07O\x02\x02\u12C8\u12C9\x07\u018E" + "\x02\x02\u12C9\u0205\x03\x02\x02\x02\u12CA\u12CB\x070\x02\x02\u12CB\u12CC" + "\x07\u0118\x02\x02\u12CC\u12CD\x07\x9E\x02\x02\u12CD\u12CF\x05\u0230\u0119" + "\x02\u12CE\u12D0\x05\u020C\u0107\x02\u12CF\u12CE\x03\x02\x02\x02\u12CF" + "\u12D0\x03\x02\x02\x02\u12D0\u12D1\x03\x02\x02\x02\u12D1\u12D2\x07@\x02" + "\x02\u12D2\u12D3\x07\u016A\x02\x02\u12D3\u12D4\x05\u0494\u024B\x02\u12D4" + "\u12D5\x07f\x02\x02\u12D5\u12D7\x05\u05A0\u02D1\x02\u12D6\u12D8\x05\u020E" + "\u0108\x02\u12D7\u12D6\x03\x02\x02\x02\u12D7\u12D8\x03\x02\x02\x02\u12D8" + "\u12D9\x03\x02\x02\x02\u12D9\u12DA\x07&\x02\x02\u12DA\u12DB\x05\u0208" + "\u0105\x02\u12DB\u0207\x03\x02\x02\x02\u12DC\u12E1\x05\u020A\u0106\x02" + "\u12DD\u12DE\x07\b\x02\x02\u12DE\u12E0\x05\u020A\u0106\x02\u12DF\u12DD" + "\x03\x02\x02\x02\u12E0\u12E3\x03\x02\x02\x02\u12E1\u12DF\x03\x02\x02\x02" + "\u12E1\u12E2\x03\x02\x02\x02\u12E2\u0209\x03\x02\x02\x02\u12E3\u12E1\x03" + "\x02\x02\x02\u12E4\u12E5\x07\u0118\x02\x02\u12E5\u12E6\x05\u05B4\u02DB" + "\x02\u12E6\u12E8\x05\u02DE\u0170\x02\u12E7\u12E9\x05\u0210\u0109\x02\u12E8" + "\u12E7\x03\x02\x02\x02\u12E8\u12E9\x03\x02\x02\x02\u12E9\u12EB\x03\x02" + "\x02\x02\u12EA\u12EC\x05\u0212\u010A\x02\u12EB\u12EA\x03\x02\x02\x02\u12EB" + "\u12EC\x03\x02\x02\x02\u12EC\u1304\x03\x02\x02\x02\u12ED\u12EE\x07\u0118" + "\x02\x02\u12EE\u12EF\x05\u05B4\u02DB\x02\u12EF\u12F1\x05\u02E2\u0172\x02" + "\u12F0\u12F2\x05\u0210\u0109\x02\u12F1\u12F0\x03\x02\x02\x02\u12F1\u12F2" + "\x03\x02\x02\x02\u12F2\u12F4\x03\x02\x02\x02\u12F3\u12F5\x05\u0212\u010A" + "\x02\u12F4\u12F3\x03\x02\x02\x02\u12F4\u12F5\x03\x02\x02\x02\u12F5\u1304" + "\x03\x02\x02\x02\u12F6\u12F7\x07\xD5\x02\x02\u12F7\u12F8\x05\u05B4\u02DB" + "\x02\u12F8\u12F9\x05\u02A4\u0153\x02\u12F9\u1304\x03\x02\x02\x02\u12FA" + "\u12FB\x07\xD5\x02\x02\u12FB\u12FC\x05\u05B4\u02DB\x02\u12FC\u12FD\x07" + "\x04\x02\x02\u12FD\u12FE\x05\u0542\u02A2\x02\u12FE\u12FF\x07\x05\x02\x02" + "\u12FF\u1300\x05\u02A4\u0153\x02\u1300\u1304\x03\x02\x02\x02\u1301\u1302" + "\x07\u015B\x02\x02\u1302\u1304\x05\u0494\u024B\x02\u1303\u12E4\x03\x02" + "\x02\x02\u1303\u12ED\x03\x02\x02\x02\u1303\u12F6\x03\x02\x02\x02\u1303" + "\u12FA\x03\x02\x02\x02\u1303\u1301\x03\x02\x02\x02\u1304\u020B\x03\x02" + "\x02\x02\u1305\u1306\x077\x02\x02\u1306\u020D\x03\x02\x02\x02\u1307\u1308" + "\x07\xD0\x02\x02\u1308\u1309\x05\u0230\u0119\x02\u1309\u020F\x03\x02\x02" + "\x02\u130A\u130B\x07@\x02\x02\u130B\u1311\x07\u0147\x02\x02\u130C\u130D" + "\x07@\x02\x02\u130D\u130E\x07U\x02\x02\u130E\u130F\x07\x95\x02\x02\u130F" + "\u1311\x05\u0230\u0119\x02\u1310\u130A\x03\x02\x02\x02\u1310\u130C\x03" + "\x02\x02\x02\u1311\u0211\x03\x02\x02\x02\u1312\u1313\x07\u0130\x02\x02" + "\u1313\u0213\x03\x02\x02\x02\u1314\u1315\x070\x02\x02\u1315\u1316\x07" + "\u0118\x02\x02\u1316\u1317\x07\xD0\x02\x02\u1317\u1318\x05\u0230\u0119" + "\x02\u1318\u1319\x07f\x02\x02\u1319\u131A\x05\u05A0\u02D1\x02\u131A\u0215" + "\x03\x02\x02\x02\u131B\u131C\x07\x8C\x02\x02\u131C\u131D\x07\u0118\x02" + "\x02\u131D\u131E\x07\xD0\x02\x02\u131E\u131F\x05\u0230\u0119\x02\u131F" + "\u1320\x07f\x02\x02\u1320\u1321\x05\u05A0\u02D1\x02\u1321\u1322\x07\x87" + "\x02\x02\u1322\u1323\x05\u0208\u0105\x02\u1323\u132E\x03\x02\x02\x02\u1324" + "\u1325\x07\x8C\x02\x02\u1325\u1326\x07\u0118\x02\x02\u1326\u1327\x07\xD0" + "\x02\x02\u1327\u1328\x05\u0230\u0119\x02\u1328\u1329\x07f\x02\x02\u1329" + "\u132A\x05\u05A0\u02D1\x02\u132A\u132B\x07\xC1\x02\x02\u132B\u132C\x05" + "\u0218\u010D\x02\u132C\u132E\x03\x02\x02\x02\u132D\u131B\x03\x02\x02\x02" + "\u132D\u1324\x03\x02\x02\x02\u132E\u0217\x03\x02\x02\x02\u132F\u1334\x05" + "\u021A\u010E\x02\u1330\u1331\x07\b\x02\x02\u1331\u1333\x05\u021A\u010E" + "\x02\u1332\u1330\x03\x02\x02\x02\u1333\u1336\x03\x02\x02\x02\u1334\u1332" + "\x03\x02\x02\x02\u1334\u1335\x03\x02\x02\x02\u1335\u0219\x03\x02\x02\x02" + "\u1336\u1334\x03\x02\x02\x02\u1337\u1338\x07\u0118\x02\x02\u1338\u1339" + "\x05\u05B4\u02DB\x02\u1339\u133A\x07\x04\x02\x02\u133A\u133B\x05\u0542" + "\u02A2\x02\u133B\u133C\x07\x05\x02\x02\u133C\u1344\x03\x02\x02\x02\u133D" + "\u133E\x07\xD5\x02\x02\u133E\u133F\x05\u05B4\u02DB\x02\u133F\u1340\x07" + "\x04\x02\x02\u1340\u1341\x05\u0542\u02A2\x02\u1341\u1342\x07\x05\x02\x02" + "\u1342\u1344\x03\x02\x02\x02\u1343\u1337\x03\x02\x02\x02\u1343\u133D\x03" + "\x02\x02\x02\u1344\u021B\x03\x02\x02\x02\u1345\u1346\x07\u012F\x02\x02" + "\u1346\u1347\x07\u011B\x02\x02\u1347\u1348\x07\x95\x02\x02\u1348\u1349" + "\x05\u05C4\u02E3\x02\u1349\u134A\x07`\x02\x02\u134A\u134B\x05\u05C2\u02E2" + "\x02\u134B\u021D\x03\x02\x02\x02\u134C\u134D\x07\xC1\x02\x02\u134D\u134F" + "\x07^\x02\x02\u134E\u1350\x05\u02EE\u0178\x02\u134F\u134E\x03\x02\x02" + "\x02\u134F\u1350\x03\x02\x02\x02\u1350\u1351\x03\x02\x02\x02\u1351\u1353" + "\x05\u0574\u02BB\x02\u1352\u1354\x05~@\x02\u1353\u1352\x03\x02\x02\x02" + "\u1353\u1354\x03\x02\x02\x02\u1354\u14C8\x03\x02\x02\x02\u1355\u1356\x07" + "\xC1\x02\x02\u1356\u1358\x07\u014A\x02\x02\u1357\u1359\x05\u02EE\u0178" + "\x02\u1358\u1357\x03\x02\x02\x02\u1358\u1359\x03\x02\x02\x02\u1359\u135A" + "\x03\x02\x02\x02\u135A\u135C\x05\u058C\u02C7\x02\u135B\u135D\x05~@\x02" + "\u135C\u135B\x03\x02\x02\x02\u135C\u135D\x03\x02\x02\x02\u135D\u14C8\x03" + "\x02\x02\x02\u135E\u135F\x07\xC1\x02\x02\u135F\u1361\x07\u017A\x02\x02" + "\u1360\u1362\x05\u02EE\u0178\x02\u1361\u1360\x03\x02\x02\x02\u1361\u1362" + "\x03\x02\x02\x02\u1362\u1363\x03\x02\x02\x02\u1363\u1365\x05\u0220\u0111" + "\x02\u1364\u1366\x05~@\x02\u1365\u1364\x03\x02\x02\x02\u1365\u1366\x03" + "\x02\x02\x02\u1366\u14C8\x03\x02\x02\x02\u1367\u1368\x07\xC1\x02\x02\u1368" + "\u1369\x07\u0105\x02\x02\u1369\u136B\x07\u017A\x02\x02\u136A\u136C\x05" + "\u02EE\u0178\x02\u136B\u136A\x03\x02\x02\x02\u136B\u136C\x03\x02\x02\x02" + "\u136C\u136D\x03\x02\x02\x02\u136D\u136F\x05\u0220\u0111\x02\u136E\u1370" + "\x05~@\x02\u136F\u136E\x03\x02\x02\x02\u136F\u1370\x03\x02\x02\x02\u1370" + "\u14C8\x03\x02\x02\x02\u1371\u1372\x07\xC1\x02\x02\u1372\u1374\x07\xE4" + "\x02\x02\u1373\u1375\x05\u02EE\u0178\x02\u1374\u1373\x03\x02\x02\x02\u1374" + "\u1375\x03\x02\x02\x02\u1375\u1376\x03\x02\x02\x02\u1376\u1378\x05\u058C" + "\u02C7\x02\u1377\u1379\x05~@\x02\u1378\u1377\x03\x02\x02\x02\u1378\u1379" + "\x03\x02\x02\x02\u1379\u14C8\x03\x02\x02\x02\u137A\u137B\x07\xC1\x02\x02" + "\u137B\u137C\x07A\x02\x02\u137C\u137E\x07^\x02\x02\u137D\u137F\x05\u02EE" + "\u0178\x02\u137E\u137D\x03\x02\x02\x02\u137E\u137F\x03\x02\x02\x02\u137F" + "\u1380\x03\x02\x02\x02\u1380\u1382\x05\u0574\u02BB\x02\u1381\u1383\x05" + "~@\x02\u1382\u1381\x03\x02\x02\x02\u1382\u1383\x03\x02\x02\x02\u1383\u14C8" + "\x03\x02\x02\x02\u1384\u1385\x07\xC1\x02\x02\u1385\u1387\x07n\x02\x02" + "\u1386\u1388\x05\u02EE\u0178\x02\u1387\u1386\x03\x02\x02\x02\u1387\u1388" + "\x03\x02\x02\x02\u1388\u1389\x03\x02\x02\x02\u1389\u138B\x05\u058C\u02C7" + "\x02\u138A\u138C\x05~@\x02\u138B\u138A\x03\x02\x02\x02\u138B\u138C\x03" + "\x02\x02\x02\u138C\u14C8\x03\x02\x02\x02\u138D\u138E\x07\xC1\x02\x02\u138E" + "\u1390\x07\xAA\x02\x02\u138F\u1391\x05\u02EE\u0178\x02\u1390\u138F\x03" + "\x02\x02\x02\u1390\u1391\x03\x02\x02\x02\u1391\u1392\x03\x02\x02\x02\u1392" + "\u1394\x05\u058C\u02C7\x02\u1393\u1395\x05~@\x02\u1394\u1393\x03\x02\x02" + "\x02\u1394\u1395\x03\x02\x02\x02\u1395\u14C8\x03\x02\x02\x02\u1396\u1397" + "\x07\xC1\x02\x02\u1397\u1399\x07\u0158\x02\x02\u1398\u139A\x05\u02EE\u0178" + "\x02\u1399\u1398\x03\x02\x02\x02\u1399\u139A\x03\x02\x02\x02\u139A\u139B" + "\x03\x02\x02\x02\u139B\u139D\x05\u058C\u02C7\x02\u139C\u139E\x05~@\x02" + "\u139D\u139C\x03\x02\x02\x02\u139D\u139E\x03\x02\x02\x02\u139E\u14C8\x03" + "\x02\x02\x02\u139F\u13A0\x07\xC1\x02\x02\u13A0\u13A1\x07\u0165\x02\x02" + "\u13A1\u13A2\x07\u0147\x02\x02\u13A2\u13A4\x07\u011D\x02\x02\u13A3\u13A5" + "\x05\u02EE\u0178\x02\u13A4\u13A3\x03\x02\x02\x02\u13A4\u13A5\x03\x02\x02" + "\x02\u13A5\u13A6\x03\x02\x02\x02\u13A6\u13A8\x05\u058C\u02C7\x02\u13A7" + "\u13A9\x05~@\x02\u13A8\u13A7\x03\x02\x02\x02\u13A8\u13A9\x03\x02\x02\x02" + "\u13A9\u14C8\x03\x02\x02\x02\u13AA\u13AB\x07\xC1\x02\x02\u13AB\u13AC\x07" + "\u0165\x02\x02\u13AC\u13AD\x07\u0147\x02\x02\u13AD\u13AF\x07\xBB\x02\x02" + "\u13AE\u13B0\x05\u02EE\u0178\x02\u13AF\u13AE\x03\x02\x02\x02\u13AF\u13B0" + "\x03\x02\x02\x02\u13B0\u13B1\x03\x02\x02\x02\u13B1\u13B3\x05\u058C\u02C7" + "\x02\u13B2\u13B4\x05~@\x02\u13B3\u13B2\x03\x02\x02\x02\u13B3\u13B4\x03" + "\x02\x02\x02\u13B4\u14C8\x03\x02\x02\x02\u13B5\u13B6\x07\xC1\x02\x02\u13B6" + "\u13B7\x07\u0165\x02\x02\u13B7\u13B8\x07\u0147\x02\x02\u13B8\u13BA\x07" + "\u0163\x02\x02\u13B9\u13BB\x05\u02EE\u0178\x02\u13BA\u13B9\x03\x02\x02" + "\x02\u13BA\u13BB\x03\x02\x02\x02\u13BB\u13BC\x03\x02\x02\x02\u13BC\u13BE" + "\x05\u058C\u02C7\x02\u13BD\u13BF\x05~@\x02\u13BE\u13BD\x03\x02\x02\x02" + "\u13BE\u13BF\x03\x02\x02\x02\u13BF\u14C8\x03\x02\x02\x02\u13C0\u13C1\x07" + "\xC1\x02\x02\u13C1\u13C2\x07\u0165\x02\x02\u13C2\u13C3\x07\u0147\x02\x02" + "\u13C3\u13C5\x07\xA5\x02\x02\u13C4\u13C6\x05\u02EE\u0178\x02\u13C5\u13C4" + "\x03\x02\x02\x02\u13C5\u13C6\x03\x02\x02\x02\u13C6\u13C7\x03\x02\x02\x02" + "\u13C7\u13C9\x05\u058C\u02C7\x02\u13C8\u13CA\x05~@\x02\u13C9\u13C8\x03" + "\x02\x02\x02\u13C9\u13CA\x03\x02\x02\x02\u13CA\u14C8\x03\x02\x02\x02\u13CB" + "\u13CC\x07\xC1\x02\x02\u13CC\u13CD\x07\x85\x02\x02\u13CD\u13CF\x07\u01C0" + "\x02\x02\u13CE\u13D0\x05\u02EE\u0178\x02\u13CF\u13CE\x03\x02\x02\x02\u13CF" + "\u13D0\x03\x02\x02\x02\u13D0\u13D1\x03\x02\x02\x02\u13D1\u13D3\x05\u058C" + "\u02C7\x02\u13D2\u13D4\x05~@\x02\u13D3\u13D2\x03\x02\x02\x02\u13D3\u13D4" + "\x03\x02\x02\x02\u13D4\u14C8\x03\x02\x02\x02\u13D5\u13D6\x07\xC1\x02\x02" + "\u13D6\u13D7\x07\xC8\x02\x02\u13D7\u13D9\x07\u0167\x02\x02\u13D8\u13DA" + "\x05\u02EE\u0178\x02\u13D9\u13D8\x03\x02\x02\x02\u13D9\u13DA\x03\x02\x02" + "\x02\u13DA\u13DB\x03\x02\x02\x02\u13DB\u13DD\x05\u058C\u02C7\x02\u13DC" + "\u13DE\x05~@\x02\u13DD\u13DC\x03\x02\x02\x02\u13DD\u13DE\x03\x02\x02\x02" + "\u13DE\u14C8\x03\x02\x02\x02\u13DF\u13E0\x07\xC1\x02\x02\u13E0\u13E2\x07" + "\xCE\x02\x02\u13E1\u13E3\x05\u02EE\u0178\x02\u13E2\u13E1\x03\x02\x02\x02" + "\u13E2\u13E3\x03\x02\x02\x02\u13E3\u13E4\x03\x02\x02\x02\u13E4\u13E6\x05" + "\u058C\u02C7\x02\u13E5\u13E7\x05~@\x02\u13E6\u13E5\x03\x02\x02\x02\u13E6" + "\u13E7\x03\x02\x02\x02\u13E7\u14C8\x03\x02\x02\x02\u13E8\u13E9\x07\xC1" + "\x02\x02\u13E9\u13EA\x07A\x02\x02\u13EA\u13EB\x07\xB0\x02\x02\u13EB\u13ED" + "\x07\u017F\x02\x02\u13EC\u13EE\x05\u02EE\u0178\x02\u13ED\u13EC\x03\x02" + "\x02\x02\u13ED\u13EE\x03\x02\x02\x02\u13EE\u13EF\x03\x02\x02\x02\u13EF" + "\u13F1\x05\u058C\u02C7\x02\u13F0\u13F2\x05~@\x02\u13F1\u13F0\x03\x02\x02" + "\x02\u13F1\u13F2\x03\x02\x02\x02\u13F2\u14C8\x03\x02\x02\x02\u13F3\u13F5" + "\x07\xC1\x02\x02\u13F4\u13F6\x05\u0152\xAA\x02\u13F5\u13F4\x03\x02\x02" + "\x02\u13F5\u13F6\x03\x02\x02\x02\u13F6\u13F7\x03\x02\x02\x02\u13F7\u13F9" + "\x07\xF9\x02\x02\u13F8\u13FA\x05\u02EE\u0178\x02\u13F9\u13F8\x03\x02\x02" + "\x02\u13F9\u13FA\x03\x02\x02\x02\u13FA\u13FB\x03\x02\x02\x02\u13FB\u13FD" + "\x05\u058C\u02C7\x02\u13FC\u13FE\x05~@\x02\u13FD\u13FC\x03\x02\x02\x02" + "\u13FD\u13FE\x03\x02\x02\x02\u13FE\u14C8\x03\x02\x02\x02\u13FF\u1400\x07" + "\xC1\x02\x02\u1400\u1402\x07\u01C6\x02\x02\u1401\u1403\x05\u02EE\u0178" + "\x02\u1402\u1401\x03\x02\x02\x02\u1402\u1403\x03\x02\x02\x02\u1403\u1404" + "\x03\x02\x02\x02\u1404\u1406\x05\u058C\u02C7\x02\u1405\u1407\x05~@\x02" + "\u1406\u1405\x03\x02\x02\x02\u1406\u1407\x03\x02\x02\x02\u1407\u14C8\x03" + "\x02\x02\x02\u1408\u1409\x07\xC1\x02\x02\u1409\u140B\x07\u014D\x02\x02" + "\u140A\u140C\x05\u02EE\u0178\x02\u140B\u140A\x03\x02\x02\x02\u140B\u140C" + "\x03\x02\x02\x02\u140C\u140D\x03\x02\x02\x02\u140D\u140F\x05\u058C\u02C7" + "\x02\u140E\u1410\x05~@\x02\u140F\u140E\x03\x02\x02\x02\u140F\u1410\x03" + "\x02\x02\x02\u1410\u14C8\x03\x02\x02\x02\u1411\u1412\x07\xC1\x02\x02\u1412" + "\u1414\x07\u0145\x02\x02\u1413\u1415\x05\u02EE\u0178\x02\u1414\u1413\x03" + "\x02\x02\x02\u1414\u1415\x03\x02\x02\x02\u1415\u1416\x03\x02\x02\x02\u1416" + "\u1418\x05\u0576\u02BC\x02\u1417\u1419\x05~@\x02\u1418\u1417\x03\x02\x02" + "\x02\u1418\u1419\x03\x02\x02\x02\u1419\u14C8\x03\x02\x02\x02\u141A\u141B" + "\x07\xC1\x02\x02\u141B\u141D\x07\u01BF\x02\x02\u141C\u141E\x05\u02EE\u0178" + "\x02\u141D\u141C\x03\x02\x02\x02\u141D\u141E\x03\x02\x02\x02\u141E\u141F" + "\x03\x02\x02\x02\u141F\u1420\x05\u05A0\u02D1\x02\u1420\u1421\x07R\x02" + "\x02\u1421\u1423\x05\u0230\u0119\x02\u1422\u1424\x05~@\x02\u1423\u1422" + "\x03\x02\x02\x02\u1423\u1424\x03\x02\x02\x02\u1424\u14C8\x03\x02\x02\x02" + "\u1425\u1426\x07\xC1\x02\x02\u1426\u1428\x07\u0143\x02\x02\u1427\u1429" + "\x05\u02EE\u0178\x02\u1428\u1427\x03\x02\x02\x02\u1428\u1429\x03\x02\x02" + "\x02\u1429\u142A\x03\x02\x02\x02\u142A\u142B\x05\u05A0\u02D1\x02\u142B" + "\u142C\x07R\x02\x02\u142C\u142E\x05\u0230\u0119\x02\u142D\u142F\x05~@" + "\x02\u142E\u142D\x03\x02\x02\x02\u142E\u142F\x03\x02\x02\x02\u142F\u14C8" + "\x03\x02\x02\x02\u1430\u1431\x07\xC1\x02\x02\u1431\u1433\x07\u0167\x02" + "\x02\u1432\u1434\x05\u02EE\u0178\x02\u1433\u1432\x03\x02\x02\x02\u1433" + "\u1434\x03\x02\x02\x02\u1434\u1435\x03\x02\x02\x02\u1435\u1436\x05\u05A0" + "\u02D1\x02\u1436\u1437\x07R\x02\x02\u1437\u1439\x05\u0230\u0119\x02\u1438" + "\u143A\x05~@\x02\u1439\u1438\x03\x02\x02\x02\u1439\u143A\x03\x02\x02\x02" + "\u143A\u14C8\x03\x02\x02\x02\u143B\u143C\x07\xC1\x02\x02\u143C\u143E\x07" + "\u016A\x02\x02\u143D\u143F\x05\u02EE\u0178\x02\u143E\u143D\x03\x02\x02" + "\x02\u143E\u143F\x03\x02\x02\x02\u143F\u1440\x03\x02\x02\x02\u1440\u1442" + "\x05\u0234\u011B\x02\u1441\u1443\x05~@\x02\u1442\u1441\x03\x02\x02\x02" + "\u1442\u1443\x03\x02\x02\x02\u1443\u14C8\x03\x02\x02\x02\u1444\u1445\x07" + "\xC1\x02\x02\u1445\u1447\x07\xBF\x02\x02\u1446\u1448\x05\u02EE\u0178\x02" + "\u1447\u1446\x03\x02\x02\x02\u1447\u1448\x03\x02\x02\x02\u1448\u1449\x03" + "\x02\x02\x02\u1449\u144B\x05\u0234\u011B\x02\u144A\u144C\x05~@\x02\u144B" + "\u144A\x03\x02\x02\x02\u144B\u144C\x03\x02\x02\x02\u144C\u14C8\x03\x02" + "\x02\x02\u144D\u144E\x07\xC1\x02\x02\u144E\u144F\x07\xE4\x02\x02\u144F" + "\u1451\x07o\x02\x02\u1450\u1452\x05\u02EE\u0178\x02\u1451\u1450\x03\x02" + "\x02\x02\u1451\u1452\x03\x02\x02\x02\u1452\u1453\x03\x02\x02\x02\u1453" + "\u1455\x05\u0228\u0115\x02\u1454\u1456\x05~@\x02\u1455\u1454\x03\x02\x02" + "\x02\u1455\u1456\x03\x02\x02\x02\u1456\u14C8\x03\x02\x02\x02\u1457\u1458" + "\x07\xC1\x02\x02\u1458\u145A\x07+\x02\x02\u1459\u145B\x05\u02EE\u0178" + "\x02\u145A\u1459\x03\x02\x02\x02\u145A\u145B\x03\x02\x02\x02\u145B\u145C" + "\x03\x02\x02\x02\u145C\u145D\x07\x04\x02\x02\u145D\u145E\x05\u0494\u024B" + "\x02\u145E\u145F\x07&\x02\x02\u145F\u1460\x05\u0494\u024B\x02\u1460\u1462" + "\x07\x05\x02\x02\u1461\u1463\x05~@\x02\u1462\u1461\x03\x02\x02\x02\u1462" + "\u1463\x03\x02\x02\x02\u1463\u14C8\x03\x02\x02\x02\u1464\u1465\x07\xC1" + "\x02\x02\u1465\u1466\x07\u0118\x02\x02\u1466\u1468\x07\x9E\x02\x02\u1467" + "\u1469\x05\u02EE\u0178\x02\u1468\u1467\x03\x02\x02\x02\u1468\u1469\x03" + "\x02\x02\x02\u1469\u146A\x03\x02\x02\x02\u146A\u146B\x05\u0230\u0119\x02" + "\u146B\u146C\x07f\x02\x02\u146C\u146E\x05\u05A0\u02D1\x02\u146D\u146F" + "\x05~@\x02\u146E\u146D\x03\x02\x02\x02\u146E\u146F\x03\x02\x02\x02\u146F" + "\u14C8\x03\x02\x02\x02\u1470\u1471\x07\xC1\x02\x02\u1471\u1472\x07\u0118" + "\x02\x02\u1472\u1474\x07\xD0\x02\x02\u1473\u1475\x05\u02EE\u0178\x02\u1474" + "\u1473\x03\x02\x02\x02\u1474\u1475\x03\x02\x02\x02\u1475\u1476\x03\x02" + "\x02\x02\u1476\u1477\x05\u0230\u0119\x02\u1477\u1478\x07f\x02\x02\u1478" + "\u147A\x05\u05A0\u02D1\x02\u1479\u147B\x05~@\x02\u147A\u1479\x03\x02\x02" + "\x02\u147A\u147B\x03\x02\x02\x02\u147B\u14C8\x03\x02\x02\x02\u147C\u147D" + "\x07\xC1\x02\x02\u147D\u147E\x07\u011B\x02\x02\u147E\u147F\x07\x95\x02" + "\x02\u147F\u1481\x05\u05C4\u02E3\x02\u1480\u1482\x05~@\x02\u1481\u1480" + "\x03\x02\x02\x02\u1481\u1482\x03\x02\x02\x02\u1482\u14C8\x03\x02\x02\x02" + "\u1483\u1484\x07\xC1\x02\x02\u1484\u1486\x07\u017A\x02\x02\u1485\u1487" + "\x05\u02EE\u0178\x02\u1486\u1485\x03\x02\x02\x02\u1486\u1487\x03\x02\x02" + "\x02\u1487\u1488\x03\x02\x02\x02\u1488\u148A\x05\u0220\u0111\x02\u1489" + "\u148B\x05~@\x02\u148A\u1489\x03\x02\x02\x02\u148A\u148B\x03\x02\x02\x02" + "\u148B\u14C8\x03\x02\x02\x02\u148C\u148D\x07\xC1\x02\x02\u148D\u148F\x07" + "\u01C5\x02\x02\u148E\u1490\x05\u02EE\u0178\x02\u148F\u148E\x03\x02\x02" + "\x02\u148F\u1490\x03\x02\x02\x02\u1490\u1491\x03\x02\x02\x02\u1491\u1493" + "\x05\u05A0\u02D1\x02\u1492\u1494\x05~@\x02\u1493\u1492\x03\x02\x02\x02" + "\u1493\u1494\x03\x02\x02\x02\u1494\u14C8\x03\x02\x02\x02\u1495\u1496\x07" + "\xC1\x02\x02\u1496\u1498\x07\u0161\x02\x02\u1497\u1499\x05\u02EE\u0178" + "\x02\u1498\u1497\x03\x02\x02\x02\u1498\u1499\x03\x02\x02\x02\u1499\u149A" + "\x03\x02\x02\x02\u149A\u14C8\x05\u057E\u02C0\x02\u149B\u149C\x07\xC1\x02" + "\x02\u149C\u149E\x07\u01BD\x02\x02\u149D\u149F\x05\u02EE\u0178\x02\u149E" + "\u149D\x03\x02\x02\x02\u149E\u149F\x03\x02\x02\x02\u149F\u14A0\x03\x02" + "\x02\x02\u14A0\u14A1\x07@\x02\x02\u14A1\u14A2\x05\u0494\u024B\x02\u14A2" + "\u14A3\x07\xF9\x02\x02\u14A3\u14A5\x05\u05A0\u02D1\x02\u14A4\u14A6\x05" + "~@\x02\u14A5\u14A4\x03\x02\x02\x02\u14A5\u14A6\x03\x02\x02\x02\u14A6\u14C8" + "\x03\x02\x02\x02\u14A7\u14A8\x07\xC1\x02\x02\u14A8\u14AA\t#\x02\x02\u14A9" + "\u14AB\x05\u02EE\u0178\x02\u14AA\u14A9\x03\x02\x02\x02\u14AA\u14AB\x03" + "\x02\x02\x02\u14AB\u14AC\x03\x02\x02\x02\u14AC\u14C8\x05\u05C4\u02E3\x02" + "\u14AD\u14AE\x07\xC1\x02\x02\u14AE\u14AF\x07e\x02\x02\u14AF\u14B1\x07" + "\u0103\x02\x02\u14B0\u14B2\x05\u02EE\u0178\x02\u14B1\u14B0\x03\x02\x02" + "\x02\u14B1\u14B2\x03\x02\x02\x02\u14B2\u14B3\x03\x02\x02\x02\u14B3\u14B4" + "\x07@\x02\x02\u14B4\u14B5\x05\u0194\xCB\x02\u14B5\u14B6\x07\u014D\x02" + "\x02\u14B6\u14B7\x05\u05A0\u02D1\x02\u14B7\u14C8\x03\x02\x02\x02\u14B8" + "\u14B9\x07\xC1\x02\x02\u14B9\u14BB\x07\xB1\x02\x02\u14BA\u14BC\x05\u02EE" + "\u0178\x02\u14BB\u14BA\x03\x02\x02\x02\u14BB\u14BC\x03\x02\x02\x02\u14BC" + "\u14BD\x03\x02\x02\x02\u14BD\u14C5\x05\u0590\u02C9\x02\u14BE\u14C0\x05" + "\x10\t\x02\u14BF\u14BE\x03\x02\x02\x02\u14BF\u14C0\x03\x02\x02\x02\u14C0" + "\u14C1\x03\x02\x02\x02\u14C1\u14C2\x07\x04\x02\x02\u14C2\u14C3\x05\u0360" + "\u01B1\x02\u14C3\u14C4\x07\x05\x02\x02\u14C4\u14C6\x03\x02\x02\x02\u14C5" + "\u14BF\x03\x02\x02\x02\u14C5\u14C6\x03\x02\x02\x02\u14C6\u14C8\x03\x02" + "\x02\x02\u14C7\u134C\x03\x02\x02\x02\u14C7\u1355\x03\x02\x02\x02\u14C7" + "\u135E\x03\x02\x02\x02\u14C7\u1367\x03\x02\x02\x02\u14C7\u1371\x03\x02" + "\x02\x02\u14C7\u137A\x03\x02\x02\x02\u14C7\u1384\x03\x02\x02\x02\u14C7" + "\u138D\x03\x02\x02\x02\u14C7\u1396\x03\x02\x02\x02\u14C7\u139F\x03\x02" + "\x02\x02\u14C7\u13AA\x03\x02\x02\x02\u14C7\u13B5\x03\x02\x02\x02\u14C7" + "\u13C0\x03\x02\x02\x02\u14C7\u13CB\x03\x02\x02\x02\u14C7\u13D5\x03\x02" + "\x02\x02\u14C7\u13DF\x03\x02\x02\x02\u14C7\u13E8\x03\x02\x02\x02\u14C7" + "\u13F3\x03\x02\x02\x02\u14C7\u13FF\x03\x02\x02\x02\u14C7\u1408\x03\x02" + "\x02\x02\u14C7\u1411\x03\x02\x02\x02\u14C7\u141A\x03\x02\x02\x02\u14C7" + "\u1425\x03\x02\x02\x02\u14C7\u1430\x03\x02\x02\x02\u14C7\u143B\x03\x02" + "\x02\x02\u14C7\u1444\x03\x02\x02\x02\u14C7\u144D\x03\x02\x02\x02\u14C7" + "\u1457\x03\x02\x02\x02\u14C7\u1464\x03\x02\x02\x02\u14C7\u1470\x03\x02" + "\x02\x02\u14C7\u147C\x03\x02\x02\x02\u14C7\u1483\x03\x02\x02\x02\u14C7" + "\u148C\x03\x02\x02\x02\u14C7\u1495\x03\x02\x02\x02\u14C7\u149B\x03\x02" + "\x02\x02\u14C7\u14A7\x03\x02\x02\x02\u14C7\u14AD\x03\x02\x02\x02\u14C7" + "\u14B8\x03\x02\x02\x02\u14C8\u021F\x03\x02\x02\x02\u14C9\u14CE\x05\u0586" + "\u02C4\x02\u14CA\u14CB\x07\b\x02\x02\u14CB\u14CD\x05\u0586\u02C4\x02\u14CC" + "\u14CA\x03\x02\x02\x02\u14CD\u14D0\x03\x02\x02\x02\u14CE\u14CC\x03\x02" + "\x02\x02\u14CE\u14CF\x03\x02\x02\x02\u14CF\u0221\x03\x02\x02\x02\u14D0" + "\u14CE\x03\x02\x02\x02\u14D1\u14D2\x07^\x02\x02\u14D2\u14F6\x05\u0582" + "\u02C2\x02\u14D3\u14D4\x07\u014A\x02\x02\u14D4\u14F6\x05\u0230\u0119\x02" + "\u14D5\u14D6\x07\u017A\x02\x02\u14D6\u14F6\x05\u0586\u02C4\x02\u14D7\u14D8" + "\x07\u0105\x02\x02\u14D8\u14D9\x07\u017A\x02\x02\u14D9\u14F6\x05\u0586" + "\u02C4\x02\u14DA\u14DB\x07\xE4\x02\x02\u14DB\u14F6\x05\u0230\u0119\x02" + "\u14DC\u14DD\x07A\x02\x02\u14DD\u14DE\x07^\x02\x02\u14DE\u14F6\x05\u0582" + "\u02C2\x02\u14DF\u14E0\x07n\x02\x02\u14E0\u14F6\x05\u0230\u0119\x02\u14E1" + "\u14E2\x07\xAA\x02\x02\u14E2\u14F6\x05\u0230\u0119\x02\u14E3\u14E4\x07" + "\u0158\x02\x02\u14E4\u14F6\x05\u0230\u0119\x02\u14E5\u14E6\x07\u0165\x02" + "\x02\u14E6\u14E7\x07\u0147\x02\x02\u14E7\u14E8\x07\u011D\x02\x02\u14E8" + "\u14F6\x05\u0230\u0119\x02\u14E9\u14EA\x07\u0165\x02\x02\u14EA\u14EB\x07" + "\u0147\x02\x02\u14EB\u14EC\x07\xBB\x02\x02\u14EC\u14F6\x05\u0230\u0119" + "\x02\u14ED\u14EE\x07\u0165\x02\x02\u14EE\u14EF\x07\u0147\x02\x02\u14EF" + "\u14F0\x07\u0163\x02\x02\u14F0\u14F6\x05\u0230\u0119\x02\u14F1\u14F2\x07" + "\u0165\x02\x02\u14F2\u14F3\x07\u0147\x02\x02\u14F3\u14F4\x07\xA5\x02\x02" + "\u14F4\u14F6\x05\u0230\u0119\x02\u14F5\u14D1\x03\x02\x02\x02\u14F5\u14D3" + "\x03\x02\x02\x02\u14F5\u14D5\x03\x02\x02\x02\u14F5\u14D7\x03\x02\x02\x02" + "\u14F5\u14DA\x03\x02\x02\x02\u14F5\u14DC\x03\x02\x02\x02\u14F5\u14DF\x03" + "\x02\x02\x02\u14F5\u14E1\x03\x02\x02\x02\u14F5\u14E3\x03\x02\x02\x02\u14F5" + "\u14E5\x03\x02\x02\x02\u14F5\u14E9\x03\x02\x02\x02\u14F5\u14ED\x03\x02" + "\x02\x02\u14F5\u14F1\x03\x02\x02\x02\u14F6\u0223\x03\x02\x02\x02\u14F7" + "\u14F8\x07\x85\x02\x02\u14F8\u14F9\x07\u01C0\x02\x02\u14F9\u1517\x05\u05A0" + "\u02D1\x02\u14FA\u14FB\x07\xC8\x02\x02\u14FB\u14FC\x07\u0167\x02\x02\u14FC" + "\u1517\x05\u05A0\u02D1\x02\u14FD\u14FE\x07\xCE\x02\x02\u14FE\u1517\x05" + "\u05A0\u02D1\x02\u14FF\u1500\x07A\x02\x02\u1500\u1501\x07\xB0\x02\x02" + "\u1501\u1502\x07\u017F\x02\x02\u1502\u1517\x05\u05A0\u02D1\x02\u1503\u1505" + "\x05\u0152\xAA\x02\u1504\u1503\x03\x02\x02\x02\u1504\u1505\x03\x02\x02" + "\x02\u1505\u1506\x03\x02\x02\x02\u1506\u1507\x07\xF9\x02\x02\u1507\u1517" + "\x05\u05A0\u02D1"; private static readonly _serializedATNSegment12: string = "\x02\u1508\u1509\x07\u01C6\x02\x02\u1509\u1517\x05\u05A0\u02D1\x02\u150A" + "\u150B\x07\u0145\x02\x02\u150B\u1517\x05\u0592\u02CA\x02\u150C\u150D\x07" + "\u014D\x02\x02\u150D\u1517\x05\u05A0\u02D1\x02\u150E\u150F\x07\xB1\x02" + "\x02\u150F\u1517\x05\u0590\u02C9\x02\u1510\u1511\x07\u0140\x02\x02\u1511" + "\u1517\x05\u05A0\u02D1\x02\u1512\u1513\x07\u01C5\x02\x02\u1513\u1517\x05" + "\u05A0\u02D1\x02\u1514\u1515\x07\u0161\x02\x02\u1515\u1517\x05\u057E\u02C0" + "\x02\u1516\u14F7\x03\x02\x02\x02\u1516\u14FA\x03\x02\x02\x02\u1516\u14FD" + "\x03\x02\x02\x02\u1516\u14FF\x03\x02\x02\x02\u1516\u1504\x03\x02\x02\x02" + "\u1516\u1508\x03\x02\x02\x02\u1516\u150A\x03\x02\x02\x02\u1516\u150C\x03" + "\x02\x02\x02\u1516\u150E\x03\x02\x02\x02\u1516\u1510\x03\x02\x02\x02\u1516" + "\u1512\x03\x02\x02\x02\u1516\u1514\x03\x02\x02\x02\u1517\u0225\x03\x02" + "\x02\x02\u1518\u1519\t$\x02\x02\u1519\u0227\x03\x02\x02\x02\u151A\u151F" + "\x05\u0230\u0119\x02\u151B\u151C\x07\b\x02\x02\u151C\u151E\x05\u0230\u0119" + "\x02\u151D\u151B\x03\x02\x02\x02\u151E\u1521\x03\x02\x02\x02\u151F\u151D" + "\x03\x02\x02\x02\u151F\u1520\x03\x02\x02\x02\u1520\u0229\x03\x02\x02\x02" + "\u1521\u151F\x03\x02\x02\x02\u1522\u1523\x05\u0582\u02C2\x02\u1523\u1524" + "\x07\r\x02\x02\u1524\u1525\x05\u059C\u02CF\x02\u1525\u022B\x03\x02\x02" + "\x02\u1526\u1527\x05\u022E\u0118\x02\u1527\u1528\x07\r\x02\x02\u1528\u1529" + "\x05\u059C\u02CF\x02\u1529\u022D\x03\x02\x02\x02\u152A\u152C\x05\u05C6" + "\u02E4\x02\u152B\u152D\x05\u0232\u011A\x02\u152C\u152B\x03\x02\x02\x02" + "\u152C\u152D\x03\x02\x02\x02\u152D\u022F\x03\x02\x02\x02\u152E\u1530\x05" + "\u05C6\u02E4\x02\u152F\u1531\x05\u0232\u011A\x02\u1530\u152F\x03\x02\x02" + "\x02\u1530\u1531\x03\x02\x02\x02\u1531\u0231\x03\x02\x02\x02\u1532\u1533" + "\x07\r\x02\x02\u1533\u1535\x05\u05A2\u02D2\x02\u1534\u1532\x03\x02\x02" + "\x02\u1535\u1536\x03\x02\x02\x02\u1536\u1534\x03\x02\x02\x02\u1536\u1537" + "\x03\x02\x02\x02\u1537\u0233\x03\x02\x02\x02\u1538\u153D\x05\u0494\u024B" + "\x02\u1539\u153A\x07\b\x02\x02\u153A\u153C\x05\u0494\u024B\x02\u153B\u1539" + "\x03\x02\x02\x02\u153C\u153F\x03\x02\x02\x02\u153D\u153B\x03\x02\x02\x02" + "\u153D\u153E\x03\x02\x02\x02\u153E\u0235\x03\x02\x02\x02\u153F\u153D\x03" + "\x02\x02\x02\u1540\u1542\x07\u0168\x02\x02\u1541\u1543\x05\u040E\u0208" + "\x02\u1542\u1541\x03\x02\x02\x02\u1542\u1543\x03\x02\x02\x02\u1543\u1544" + "\x03\x02\x02\x02\u1544\u1546\x05\u0468\u0235\x02\u1545\u1547\x05\u0238" + "\u011D\x02\u1546\u1545\x03\x02\x02\x02\u1546\u1547\x03\x02\x02\x02\u1547" + "\u1549\x03\x02\x02\x02\u1548\u154A\x05~@\x02\u1549\u1548\x03\x02\x02\x02" + "\u1549\u154A\x03\x02\x02\x02\u154A\u0237\x03\x02\x02\x02\u154B\u154C\x07" + "\xA9\x02\x02\u154C\u1550\x07\xDD\x02\x02\u154D\u154E\x07\u013C\x02\x02" + "\u154E\u1550\x07\xDD\x02\x02\u154F\u154B\x03\x02\x02\x02\u154F\u154D\x03" + "\x02\x02\x02\u1550\u0239\x03\x02\x02\x02\u1551\u1552\x07\xA1\x02\x02\u1552" + "\u1553\x07R\x02\x02\u1553\u1554\x05\u0222\u0112\x02\u1554\u1555\x07v\x02" + "\x02\u1555\u1556\x05\u023C\u011F\x02\u1556\u15F7\x03\x02\x02\x02\u1557" + "\u1558\x07\xA1\x02\x02\u1558\u1559\x07R\x02\x02\u1559\u155A\x07.\x02\x02" + "\u155A\u155B\x05\u022C\u0117\x02\u155B\u155C\x07v\x02\x02\u155C\u155D" + "\x05\u023C\u011F\x02\u155D\u15F7\x03\x02\x02\x02\u155E\u155F\x07\xA1\x02" + "\x02\u155F\u1560\x07R\x02\x02\u1560\u1561\x05\u0224\u0113\x02\u1561\u1562" + "\x07v\x02\x02\u1562\u1563\x05\u023C\u011F\x02\u1563\u15F7\x03\x02\x02" + "\x02\u1564\u1565\x07\xA1\x02\x02\u1565\u1566\x07R\x02\x02\u1566\u1567" + "\x07\u016A\x02\x02\u1567\u1568\x05\u0494\u024B\x02\u1568\u1569\x07v\x02" + "\x02\u1569\u156A\x05\u023C\u011F\x02\u156A\u15F7\x03\x02\x02\x02\u156B" + "\u156C\x07\xA1\x02\x02\u156C\u156D\x07R\x02\x02\u156D\u156E\x07\xBF\x02" + "\x02\u156E\u156F\x05\u0494\u024B\x02\u156F\u1570\x07v\x02\x02\u1570\u1571" + "\x05\u023C\u011F\x02\u1571\u15F7\x03\x02\x02\x02\u1572\u1573\x07\xA1\x02" + "\x02\u1573\u1574\x07R\x02\x02\u1574\u1575\x07\x8A\x02\x02\u1575\u1576" + "\x05\u02BC\u015F\x02\u1576\u1577\x07v\x02\x02\u1577\u1578\x05\u023C\u011F" + "\x02\u1578\u15F7\x03\x02\x02\x02\u1579\u157A\x07\xA1\x02\x02\u157A\u157B" + "\x07R\x02\x02\u157B\u157C\x07\xD5\x02\x02\u157C\u157D\x05\u02A4\u0153" + "\x02\u157D\u157E\x07v\x02\x02\u157E\u157F\x05\u023C\u011F\x02\u157F\u15F7" + "\x03\x02\x02\x02\u1580\u1581\x07\xA1\x02\x02\u1581\u1582\x07R\x02\x02" + "\u1582\u1583\x07\u0118\x02\x02\u1583\u1584\x05\u02E2\u0172\x02\u1584\u1585" + "\x07v\x02\x02\u1585\u1586\x05\u023C\u011F\x02\u1586\u15F7\x03\x02\x02" + "\x02\u1587\u1588\x07\xA1\x02\x02\u1588\u1589\x07R\x02\x02\u1589\u158A" + "\x07/\x02\x02\u158A\u158B\x05\u05A0\u02D1\x02\u158B\u158C\x07R\x02\x02" + "\u158C\u158D\x05\u0582\u02C2\x02\u158D\u158E\x07v\x02\x02\u158E\u158F" + "\x05\u023C\u011F\x02\u158F\u15F7\x03\x02\x02\x02\u1590\u1591\x07\xA1\x02" + "\x02\u1591\u1592\x07R\x02\x02\u1592\u1593\x07/\x02\x02\u1593\u1594\x05" + "\u05A0\u02D1\x02\u1594\u1596\x07R\x02\x02\u1595\u1597\x07\xBF\x02\x02" + "\u1596\u1595\x03\x02\x02\x02\u1596\u1597\x03\x02\x02\x02\u1597\u1598\x03" + "\x02\x02\x02\u1598\u1599\x05\u0230\u0119\x02\u1599\u159A\x07v\x02\x02" + "\u159A\u159B\x05\u023C\u011F\x02\u159B\u15F7\x03\x02\x02\x02\u159C\u159D" + "\x07\xA1\x02\x02\u159D\u159E\x07R\x02\x02\u159E\u159F\x07\u01BF\x02\x02" + "\u159F\u15A0\x05\u05A0\u02D1\x02\u15A0\u15A1\x07R\x02\x02\u15A1\u15A2" + "\x05\u0230\u0119\x02\u15A2\u15A3\x07v\x02\x02\u15A3\u15A4\x05\u023C\u011F" + "\x02\u15A4\u15F7\x03\x02\x02\x02\u15A5\u15A6\x07\xA1\x02\x02\u15A6\u15A7" + "\x07R\x02\x02\u15A7\u15A8\x07\u0143\x02\x02\u15A8\u15A9\x05\u05A0\u02D1" + "\x02\u15A9\u15AA\x07R\x02\x02\u15AA\u15AB\x05\u0230\u0119\x02\u15AB\u15AC" + "\x07v\x02\x02\u15AC\u15AD\x05\u023C\u011F\x02\u15AD\u15F7\x03\x02\x02" + "\x02\u15AE\u15AF\x07\xA1\x02\x02\u15AF\u15B0\x07R\x02\x02\u15B0\u15B1" + "\x07\u0167\x02\x02\u15B1\u15B2\x05\u05A0\u02D1\x02\u15B2\u15B3\x07R\x02" + "\x02\u15B3\u15B4\x05\u0230\u0119\x02\u15B4\u15B5\x07v\x02\x02\u15B5\u15B6" + "\x05\u023C\u011F\x02\u15B6\u15F7\x03\x02\x02\x02\u15B7\u15B8\x07\xA1\x02" + "\x02\u15B8\u15B9\x07R\x02\x02\u15B9\u15BA\x07\u012A\x02\x02\u15BA\u15BB" + "\x05\u02A0\u0151\x02\u15BB\u15BC\x07v\x02\x02\u15BC\u15BD\x05\u023C\u011F" + "\x02\u15BD\u15F7\x03\x02\x02\x02\u15BE\u15BF\x07\xA1\x02\x02\u15BF\u15C0" + "\x07R\x02\x02\u15C0\u15C1\x07\u01BC\x02\x02\u15C1\u15C2\x05\u029C\u014F" + "\x02\u15C2\u15C3\x07v\x02\x02\u15C3\u15C4\x05\u023C\u011F\x02\u15C4\u15F7" + "\x03\x02\x02\x02\u15C5\u15C6\x07\xA1\x02\x02\u15C6\u15C7\x07R\x02\x02" + "\u15C7\u15C8\x07\u01BD\x02\x02\u15C8\u15C9\x07@\x02\x02\u15C9\u15CA\x05" + "\u0494\u024B\x02\u15CA\u15CB\x07\xF9\x02\x02\u15CB\u15CC\x05\u05A0\u02D1" + "\x02\u15CC\u15CD\x07v\x02\x02\u15CD\u15CE\x05\u023C\u011F\x02\u15CE\u15F7" + "\x03\x02\x02\x02\u15CF\u15D0\x07\xA1\x02\x02\u15D0\u15D1\x07R\x02\x02" + "\u15D1\u15D2\x07\u0118\x02\x02\u15D2\u15D3\x07\x9E\x02\x02\u15D3\u15D4" + "\x05\u0230\u0119\x02\u15D4\u15D5\x07f\x02\x02\u15D5\u15D6\x05\u05A0\u02D1" + "\x02\u15D6\u15D7\x07v\x02\x02\u15D7\u15D8\x05\u023C\u011F\x02\u15D8\u15F7" + "\x03\x02\x02\x02\u15D9\u15DA\x07\xA1\x02\x02\u15DA\u15DB\x07R\x02\x02" + "\u15DB\u15DC\x07\u0118\x02\x02\u15DC\u15DD\x07\xD0\x02\x02\u15DD\u15DE" + "\x05\u0230\u0119\x02\u15DE\u15DF\x07f\x02\x02\u15DF\u15E0\x05\u05A0\u02D1" + "\x02\u15E0\u15E1\x07v\x02\x02\u15E1\u15E2\x05\u023C\u011F\x02\u15E2\u15F7" + "\x03\x02\x02\x02\u15E3\u15E4\x07\xA1\x02\x02\u15E4\u15E5\x07R\x02\x02" + "\u15E5\u15E6\x07\xFA\x02\x02\u15E6\u15E7\x07\u0114\x02\x02\u15E7\u15E8" + "\x05\u0142\xA2\x02\u15E8\u15E9\x07v\x02\x02\u15E9\u15EA\x05\u023C\u011F" + "\x02\u15EA\u15F7\x03\x02\x02\x02\u15EB\u15EC\x07\xA1\x02\x02\u15EC\u15ED" + "\x07R\x02\x02\u15ED\u15EE\x07+\x02\x02\u15EE\u15EF\x07\x04\x02\x02\u15EF" + "\u15F0\x05\u0494\u024B\x02\u15F0\u15F1\x07&\x02\x02\u15F1\u15F2\x05\u0494" + "\u024B\x02\u15F2\u15F3\x07\x05\x02\x02\u15F3\u15F4\x07v\x02\x02\u15F4" + "\u15F5\x05\u023C\u011F\x02\u15F5\u15F7\x03\x02\x02\x02\u15F6\u1551\x03" + "\x02\x02\x02\u15F6\u1557\x03\x02\x02\x02\u15F6\u155E\x03\x02\x02\x02\u15F6" + "\u1564\x03\x02\x02\x02\u15F6\u156B\x03\x02\x02\x02\u15F6\u1572\x03\x02" + "\x02\x02\u15F6\u1579\x03\x02\x02\x02\u15F6\u1580\x03\x02\x02\x02\u15F6" + "\u1587\x03\x02\x02\x02\u15F6\u1590\x03\x02\x02\x02\u15F6\u159C\x03\x02" + "\x02\x02\u15F6\u15A5\x03\x02\x02\x02\u15F6\u15AE\x03\x02\x02\x02\u15F6" + "\u15B7\x03\x02\x02\x02\u15F6\u15BE\x03\x02\x02\x02\u15F6\u15C5\x03\x02" + "\x02\x02\u15F6\u15CF\x03\x02\x02\x02\u15F6\u15D9\x03\x02\x02\x02\u15F6" + "\u15E3\x03\x02\x02\x02\u15F6\u15EB\x03\x02\x02\x02\u15F7\u023B\x03\x02" + "\x02\x02\u15F8\u15FB\x05\u05B6\u02DC\x02\u15F9\u15FB\x07P\x02\x02\u15FA" + "\u15F8\x03\x02\x02\x02\u15FA\u15F9\x03\x02\x02\x02\u15FB\u023D\x03\x02" + "\x02\x02\u15FC\u15FD\x07\u0149\x02\x02\u15FD\u15FF\x07\xF8\x02\x02\u15FE" + "\u1600\x05\u0240\u0121\x02\u15FF\u15FE\x03\x02\x02\x02\u15FF\u1600\x03" + "\x02\x02\x02\u1600\u1601\x03\x02\x02\x02\u1601\u1602\x07R\x02\x02\u1602" + "\u1603\x05\u0222\u0112\x02\u1603\u1604\x07v\x02\x02\u1604\u1605\x05\u0242" + "\u0122\x02\u1605\u166A\x03\x02\x02\x02\u1606\u1607\x07\u0149\x02\x02\u1607" + "\u1609\x07\xF8\x02\x02\u1608\u160A\x05\u0240\u0121\x02\u1609\u1608\x03" + "\x02\x02\x02\u1609\u160A\x03\x02\x02\x02\u160A\u160B\x03\x02\x02\x02\u160B" + "\u160C\x07R\x02\x02\u160C\u160D\x07.\x02\x02\u160D\u160E\x05\u022A\u0116" + "\x02\u160E\u160F\x07v\x02\x02\u160F\u1610\x05\u0242\u0122\x02\u1610\u166A" + "\x03\x02\x02\x02\u1611\u1612\x07\u0149\x02\x02\u1612\u1614\x07\xF8\x02" + "\x02\u1613\u1615\x05\u0240\u0121\x02\u1614\u1613\x03\x02\x02\x02\u1614" + "\u1615\x03\x02\x02\x02\u1615\u1616\x03\x02\x02\x02\u1616\u1617\x07R\x02" + "\x02\u1617\u1618\x05\u0224\u0113\x02\u1618\u1619\x07v\x02\x02\u1619\u161A" + "\x05\u0242\u0122\x02\u161A\u166A\x03\x02\x02\x02\u161B\u161C\x07\u0149" + "\x02\x02\u161C\u161E\x07\xF8\x02\x02\u161D\u161F\x05\u0240\u0121\x02\u161E" + "\u161D\x03\x02\x02\x02\u161E\u161F\x03\x02\x02\x02\u161F\u1620\x03\x02" + "\x02\x02\u1620\u1621\x07R\x02\x02\u1621\u1622\x07\u016A\x02\x02\u1622" + "\u1623\x05\u0494\u024B\x02\u1623\u1624\x07v\x02\x02\u1624\u1625\x05\u0242" + "\u0122\x02\u1625\u166A\x03\x02\x02\x02\u1626\u1627\x07\u0149\x02\x02\u1627" + "\u1629\x07\xF8\x02\x02\u1628\u162A\x05\u0240\u0121\x02\u1629\u1628\x03" + "\x02\x02\x02\u1629\u162A\x03\x02\x02\x02\u162A\u162B\x03\x02\x02\x02\u162B" + "\u162C\x07R\x02\x02\u162C\u162D\x07\xBF\x02\x02\u162D\u162E\x05\u0494" + "\u024B\x02\u162E\u162F\x07v\x02\x02\u162F\u1630\x05\u0242\u0122\x02\u1630" + "\u166A\x03\x02\x02\x02\u1631\u1632\x07\u0149\x02\x02\u1632\u1634\x07\xF8" + "\x02\x02\u1633\u1635\x05\u0240\u0121\x02\u1634\u1633\x03\x02\x02\x02\u1634" + "\u1635\x03\x02\x02\x02\u1635\u1636\x03\x02\x02\x02\u1636\u1637\x07R\x02" + "\x02\u1637\u1638\x07\x8A\x02\x02\u1638\u1639\x05\u02BC\u015F\x02\u1639" + "\u163A\x07v\x02\x02\u163A\u163B\x05\u0242\u0122\x02\u163B\u166A\x03\x02" + "\x02\x02\u163C\u163D\x07\u0149\x02\x02\u163D\u163F\x07\xF8\x02\x02\u163E" + "\u1640\x05\u0240\u0121\x02\u163F\u163E\x03\x02\x02\x02\u163F\u1640\x03" + "\x02\x02\x02\u1640\u1641\x03\x02\x02\x02\u1641\u1642\x07R\x02\x02\u1642" + "\u1643\x07\xD5\x02\x02\u1643\u1644\x05\u02A4\u0153\x02\u1644\u1645\x07" + "v\x02\x02\u1645\u1646\x05\u0242\u0122\x02\u1646\u166A\x03\x02\x02\x02" + "\u1647\u1648\x07\u0149\x02\x02\u1648\u164A\x07\xF8\x02\x02\u1649\u164B" + "\x05\u0240\u0121\x02\u164A\u1649\x03\x02\x02\x02\u164A\u164B\x03\x02\x02" + "\x02\u164B\u164C\x03\x02\x02\x02\u164C\u164D\x07R\x02\x02\u164D\u164E" + "\x07\xFA\x02\x02\u164E\u164F\x07\u0114\x02\x02\u164F\u1650\x05\u0142\xA2" + "\x02\u1650\u1651\x07v\x02\x02\u1651\u1652\x05\u0242\u0122\x02\u1652\u166A" + "\x03\x02\x02\x02\u1653\u1654\x07\u0149\x02\x02\u1654\u1656\x07\xF8\x02" + "\x02\u1655\u1657\x05\u0240\u0121\x02\u1656\u1655\x03\x02\x02\x02\u1656" + "\u1657\x03\x02\x02\x02\u1657\u1658\x03\x02\x02\x02\u1658\u1659\x07R\x02" + "\x02\u1659\u165A\x07\u012A\x02\x02\u165A\u165B\x05\u02A0\u0151\x02\u165B" + "\u165C\x07v\x02\x02\u165C\u165D\x05\u0242\u0122\x02\u165D\u166A\x03\x02" + "\x02\x02\u165E\u165F\x07\u0149\x02\x02\u165F\u1661\x07\xF8\x02\x02\u1660" + "\u1662\x05\u0240\u0121\x02\u1661\u1660\x03\x02\x02\x02\u1661\u1662\x03" + "\x02\x02\x02\u1662\u1663\x03\x02\x02\x02\u1663\u1664\x07R\x02\x02\u1664" + "\u1665\x07\u01BC\x02\x02\u1665\u1666\x05\u029C\u014F\x02\u1666\u1667\x07" + "v\x02\x02\u1667\u1668\x05\u0242\u0122\x02\u1668\u166A\x03\x02\x02\x02" + "\u1669\u15FC\x03\x02\x02\x02\u1669\u1606\x03\x02\x02\x02\u1669\u1611\x03" + "\x02\x02\x02\u1669\u161B\x03\x02\x02\x02\u1669\u1626\x03\x02\x02\x02\u1669" + "\u1631\x03\x02\x02\x02\u1669\u163C\x03\x02\x02\x02\u1669\u1647\x03\x02" + "\x02\x02\u1669\u1653\x03\x02\x02\x02\u1669\u165E\x03\x02\x02\x02\u166A" + "\u023F\x03\x02\x02\x02\u166B\u166C\x07@\x02\x02\u166C\u166D\x05R*\x02" + "\u166D\u0241\x03\x02\x02\x02\u166E\u1671\x05\u05B6\u02DC\x02\u166F\u1671" + "\x07P\x02\x02\u1670\u166E\x03\x02\x02\x02\u1670\u166F\x03\x02\x02\x02" + "\u1671\u0243\x03\x02\x02\x02\u1672\u1673\x07?\x02\x02\u1673\u1677\x05" + "\u0246\u0124\x02\u1674\u1675\x07\u010B\x02\x02\u1675\u1677\x05\u0246\u0124" + "\x02\u1676\u1672\x03\x02\x02\x02\u1676\u1674\x03\x02\x02\x02\u1677\u0245" + "\x03\x02\x02\x02\u1678\u16CE\x05\u03E6\u01F4\x02\u1679\u167A\x05\u0248" + "\u0125\x02\u167A\u167B\x05\u03E6\u01F4\x02\u167B\u16CE\x03\x02\x02\x02" + "\u167C\u167E\x07\u010E\x02\x02\u167D\u167F\x05\u024A\u0126\x02\u167E\u167D" + "\x03\x02\x02\x02\u167E\u167F\x03\x02\x02\x02\u167F\u1680\x03\x02\x02\x02" + "\u1680\u16CE\x05\u03E6\u01F4\x02\u1681\u1683\x07\u0127\x02\x02\u1682\u1684" + "\x05\u024A\u0126\x02\u1683\u1682\x03\x02\x02\x02\u1683\u1684\x03\x02\x02" + "\x02\u1684\u1685\x03\x02\x02\x02\u1685\u16CE\x05\u03E6\u01F4\x02\u1686" + "\u1688\x07\xD1\x02\x02\u1687\u1689\x05\u024A\u0126\x02\u1688\u1687\x03" + "\x02\x02\x02\u1688\u1689\x03\x02\x02\x02\u1689\u168A\x03\x02\x02\x02\u168A" + "\u16CE\x05\u03E6\u01F4\x02\u168B\u168D\x07\xFB\x02\x02\u168C\u168E\x05" + "\u024A\u0126\x02\u168D\u168C\x03\x02\x02\x02\u168D\u168E\x03\x02\x02\x02" + "\u168E\u168F\x03\x02\x02\x02\u168F\u16CE\x05\u03E6\u01F4\x02\u1690\u1691" + "\x07\x84\x02\x02\u1691\u1693\x05\u05BC\u02DF\x02\u1692\u1694\x05\u024A" + "\u0126\x02\u1693\u1692\x03\x02\x02\x02\u1693\u1694\x03\x02\x02\x02\u1694" + "\u1695\x03\x02\x02\x02\u1695\u1696\x05\u03E6\u01F4\x02\u1696\u16CE\x03" + "\x02\x02\x02\u1697\u1698\x07\u0135\x02\x02\u1698\u169A\x05\u05BC\u02DF" + "\x02\u1699\u169B\x05\u024A\u0126\x02\u169A\u1699\x03\x02\x02\x02\u169A" + "\u169B\x03\x02\x02\x02\u169B\u169C\x03\x02\x02\x02\u169C\u169D\x05\u03E6" + "\u01F4\x02\u169D\u16CE\x03\x02\x02\x02\u169E\u16A0\x05\u05BC\u02DF\x02" + "\u169F\u16A1\x05\u024A\u0126\x02\u16A0\u169F\x03\x02\x02\x02\u16A0\u16A1" + "\x03\x02\x02\x02\u16A1\u16A2\x03\x02\x02\x02\u16A2\u16A3\x05\u03E6\u01F4" + "\x02\u16A3\u16CE\x03\x02\x02\x02\u16A4\u16A6\x07 \x02\x02\u16A5\u16A7" + "\x05\u024A\u0126\x02\u16A6\u16A5\x03\x02\x02\x02\u16A6\u16A7\x03\x02\x02" + "\x02\u16A7\u16A8\x03\x02\x02\x02\u16A8\u16CE\x05\u03E6\u01F4\x02\u16A9" + "\u16AB\x07\xD4\x02\x02\u16AA\u16AC\x05\u024A\u0126\x02\u16AB\u16AA\x03" + "\x02\x02\x02\u16AB\u16AC\x03\x02\x02\x02\u16AC\u16AD\x03\x02\x02\x02\u16AD" + "\u16CE\x05\u03E6\u01F4\x02\u16AE\u16AF\x07\xD4\x02\x02\u16AF\u16B1\x05" + "\u05BC\u02DF\x02\u16B0\u16B2\x05\u024A\u0126\x02\u16B1\u16B0\x03\x02\x02" + "\x02\u16B1\u16B2\x03\x02\x02\x02\u16B2\u16B3\x03\x02\x02\x02\u16B3\u16B4" + "\x05\u03E6\u01F4\x02\u16B4\u16CE\x03\x02\x02\x02\u16B5\u16B6\x07\xD4\x02" + "\x02\u16B6\u16B8\x07 \x02\x02\u16B7\u16B9\x05\u024A\u0126\x02\u16B8\u16B7" + "\x03\x02\x02\x02\u16B8\u16B9\x03\x02\x02\x02\u16B9\u16BA\x03\x02\x02\x02" + "\u16BA\u16CE\x05\u03E6\u01F4\x02\u16BB\u16BD\x07\x92\x02\x02\u16BC\u16BE" + "\x05\u024A\u0126\x02\u16BD\u16BC\x03\x02\x02\x02\u16BD\u16BE\x03\x02\x02" + "\x02\u16BE\u16BF\x03\x02\x02\x02\u16BF\u16CE\x05\u03E6\u01F4\x02\u16C0" + "\u16C1\x07\x92\x02\x02\u16C1\u16C3\x05\u05BC\u02DF\x02\u16C2\u16C4\x05" + "\u024A\u0126\x02\u16C3\u16C2\x03\x02\x02\x02\u16C3\u16C4\x03\x02\x02\x02" + "\u16C4\u16C5\x03\x02\x02\x02\u16C5\u16C6\x05\u03E6\u01F4\x02\u16C6\u16CE" + "\x03\x02\x02\x02\u16C7\u16C8\x07\x92\x02\x02\u16C8\u16CA\x07 \x02\x02" + "\u16C9\u16CB\x05\u024A\u0126\x02\u16CA\u16C9\x03\x02\x02\x02\u16CA\u16CB" + "\x03\x02\x02\x02\u16CB\u16CC\x03\x02\x02\x02\u16CC\u16CE\x05\u03E6\u01F4" + "\x02\u16CD\u1678\x03\x02\x02\x02\u16CD\u1679\x03\x02\x02\x02\u16CD\u167C" + "\x03\x02\x02\x02\u16CD\u1681\x03\x02\x02\x02\u16CD\u1686\x03\x02\x02\x02" + "\u16CD\u168B\x03\x02\x02\x02\u16CD\u1690\x03\x02\x02\x02\u16CD\u1697\x03" + "\x02\x02\x02\u16CD\u169E\x03\x02\x02\x02\u16CD\u16A4\x03\x02\x02\x02\u16CD" + "\u16A9\x03\x02\x02\x02\u16CD\u16AE\x03\x02\x02\x02\u16CD\u16B5\x03\x02" + "\x02\x02\u16CD\u16BB\x03\x02\x02\x02\u16CD\u16C0\x03\x02\x02\x02\u16CD" + "\u16C7\x03\x02\x02\x02\u16CE\u0247\x03\x02\x02\x02\u16CF\u16D0\t%\x02" + "\x02\u16D0\u0249\x03\x02\x02\x02\u16D1\u16D2\x05\u0248\u0125\x02\u16D2" + "\u024B\x03\x02\x02\x02\u16D3\u16D4\x07C\x02\x02\u16D4\u16D5\x05\u0250" + "\u0129\x02\u16D5\u16D6\x07R\x02\x02\u16D6\u16D7\x05\u025A\u012E\x02\u16D7" + "\u16D8\x07`\x02\x02\u16D8\u16DA\x05\u025C\u012F\x02\u16D9\u16DB\x05\u0260" + "\u0131\x02\u16DA\u16D9\x03\x02\x02\x02\u16DA\u16DB\x03\x02\x02\x02\u16DB" + "\u024D\x03\x02\x02\x02\u16DC\u16DD\x07\u013F\x02\x02\u16DD\u16DE\x05\u0250" + "\u0129\x02\u16DE\u16DF\x07R\x02\x02\u16DF\u16E0\x05\u025A\u012E\x02\u16E0" + "\u16E1\x07B\x02\x02\u16E1\u16E3\x05\u025C\u012F\x02\u16E2\u16E4\x05~@" + "\x02\u16E3\u16E2\x03\x02\x02\x02\u16E3\u16E4\x03\x02\x02\x02\u16E4\u16F2" + "\x03\x02\x02\x02\u16E5\u16E6\x07\u013F\x02\x02\u16E6\u16E7\x07C\x02\x02" + "\u16E7\u16E8\x07\u0119\x02\x02\u16E8\u16E9\x07@\x02\x02\u16E9\u16EA\x05" + "\u0250\u0129\x02\u16EA\u16EB\x07R\x02\x02\u16EB\u16EC\x05\u025A\u012E" + "\x02\u16EC\u16ED\x07B\x02\x02\u16ED\u16EF\x05\u025C\u012F\x02\u16EE\u16F0" + "\x05~@\x02\u16EF\u16EE\x03\x02\x02\x02\u16EF\u16F0\x03\x02\x02\x02\u16F0" + "\u16F2\x03\x02\x02\x02\u16F1\u16DC\x03\x02\x02\x02\u16F1\u16E5\x03\x02" + "\x02\x02\u16F2\u024F\x03\x02\x02\x02\u16F3\u1704\x05\u0256\u012C\x02\u16F4" + "\u1704\x07 \x02\x02\u16F5\u16F6\x07 \x02\x02\u16F6\u1704\x07\u0128\x02" + "\x02\u16F7\u16F8\x07 \x02\x02\u16F8\u16F9\x07\x04\x02\x02\u16F9\u16FA" + "\x05\xF6|\x02\u16FA\u16FB\x07\x05\x02\x02\u16FB\u1704\x03\x02\x02\x02" + "\u16FC\u16FD\x07 \x02\x02\u16FD\u16FE\x07\u0128\x02\x02\u16FE\u16FF\x07" + "\x04\x02\x02\u16FF\u1700\x05\xF6|\x02\u1700\u1701\x07\x05\x02\x02\u1701" + "\u1704\x03\x02\x02\x02\u1702\u1704\x05\u0252\u012A\x02\u1703\u16F3\x03" + "\x02\x02\x02\u1703\u16F4\x03\x02\x02\x02\u1703\u16F5\x03\x02\x02\x02\u1703" + "\u16F7\x03\x02\x02\x02\u1703\u16FC\x03\x02\x02\x02\u1703\u1702\x03\x02" + "\x02\x02\u1704\u0251\x03\x02\x02\x02\u1705\u170A\x05\u0254\u012B\x02\u1706" + "\u1707\x07\b\x02\x02\u1707\u1709\x05\u0254\u012B\x02\u1708\u1706\x03\x02" + "\x02\x02\u1709\u170C\x03\x02\x02\x02\u170A\u1708\x03\x02\x02\x02\u170A" + "\u170B\x03\x02\x02\x02\u170B\u0253\x03\x02\x02\x02\u170C\u170A\x03\x02" + "\x02\x02\u170D\u170E\t&\x02\x02\u170E\u0255\x03\x02\x02\x02\u170F\u1714" + "\x05\u0258\u012D\x02\u1710\u1711\x07\b\x02\x02\u1711\u1713\x05\u0258\u012D" + "\x02\u1712\u1710\x03\x02\x02\x02\u1713\u1716\x03\x02\x02\x02\u1714\u1712" + "\x03\x02\x02\x02\u1714\u1715\x03\x02\x02\x02\u1715\u0257\x03\x02\x02\x02" + "\u1716\u1714\x03\x02\x02\x02\u1717\u1719\x07Z\x02\x02\u1718\u171A\x05" + "\xF4{\x02\u1719\u1718\x03\x02\x02\x02\u1719\u171A\x03\x02\x02\x02\u171A" + "\u1728\x03\x02\x02\x02\u171B\u171D\x07X\x02\x02\u171C\u171E\x05\xF4{\x02" + "\u171D\u171C\x03\x02\x02\x02\u171D\u171E\x03\x02\x02\x02\u171E\u1728\x03" + "\x02\x02\x02\u171F\u1721\x070\x02\x02\u1720\u1722\x05\xF4{\x02\u1721\u1720" + "\x03\x02\x02\x02\u1721\u1722\x03\x02\x02\x02\u1722\u1728\x03\x02\x02\x02" + "\u1723\u1725\x05\u05C6\u02E4\x02\u1724\u1726\x05\xF4{\x02\u1725\u1724" + "\x03\x02\x02\x02\u1725\u1726\x03\x02\x02\x02\u1726\u1728\x03\x02\x02\x02" + "\u1727\u1717\x03\x02\x02\x02\u1727\u171B\x03\x02\x02\x02\u1727\u171F\x03" + "\x02\x02\x02\u1727\u1723\x03\x02\x02\x02\u1728\u0259\x03\x02\x02\x02\u1729" + "\u1764\x05\u0572\u02BA\x02\u172A\u172B\x07^\x02\x02\u172B\u1764\x05\u0574" + "\u02BB\x02\u172C\u172D\x07\u014A\x02\x02\u172D\u1764\x05\u0572\u02BA\x02" + "\u172E\u172F\x07A\x02\x02\u172F\u1730\x07\xB0\x02\x02\u1730\u1731\x07" + "\u017F\x02\x02\u1731\u1764\x05\u058C\u02C7\x02\u1732\u1733\x07A\x02\x02" + "\u1733\u1734\x07\u014D\x02\x02\u1734\u1764\x05\u058C\u02C7\x02\u1735\u1736" + "\x07\xD5\x02\x02\u1736\u1764\x05\u02A2\u0152\x02\u1737\u1738\x07\u012A" + "\x02\x02\u1738\u1764\x05\u029E\u0150\x02\u1739\u173A\x07\u01BC\x02\x02" + "\u173A\u1764\x05\u029A\u014E\x02\u173B\u173C\x07\xB1\x02\x02\u173C\u1764" + "\x05\u0578\u02BD\x02\u173D\u173E\x07\xBF\x02\x02\u173E\u1764\x05\u0228" + "\u0115\x02\u173F\u1740\x07\xF9\x02\x02\u1740\u1764\x05\u058C\u02C7\x02" + "\u1741\u1742\x07\xFA\x02\x02\u1742\u1743\x07\u0114\x02\x02\u1743\u1764" + "\x05\u0144\xA3\x02\u1744\u1745\x07\u0145\x02\x02\u1745\u1764\x05\u0576" + "\u02BC\x02\u1746\u1747\x07\u0161\x02\x02\u1747\u1764\x05\u058A\u02C6\x02" + "\u1748\u1749\x07\u016A\x02\x02\u1749\u1764\x05\u0228\u0115\x02\u174A\u174B" + "\x07 \x02\x02\u174B\u174C\x07\u0160\x02\x02\u174C\u174D\x07F\x02\x02\u174D" + "\u174E\x07\u0145\x02\x02\u174E\u1764\x05\u0576\u02BC\x02\u174F\u1750\x07" + " \x02\x02\u1750\u1751\x07\u014B\x02\x02\u1751\u1752\x07F\x02\x02\u1752" + "\u1753\x07\u0145\x02\x02\u1753\u1764\x05\u0576\u02BC\x02\u1754\u1755\x07" + " \x02\x02\u1755\u1756\x07\xD6\x02\x02\u1756\u1757\x07F\x02\x02\u1757\u1758" + "\x07\u0145\x02\x02\u1758\u1764\x05\u0576\u02BC\x02\u1759\u175A\x07 \x02" + "\x02\u175A\u175B\x07\u01CB\x02\x02\u175B\u175C\x07F\x02\x02\u175C\u175D" + "\x07\u0145\x02\x02\u175D\u1764\x05\u0576\u02BC\x02\u175E\u175F\x07 \x02" + "\x02\u175F\u1760\x07\u01C9\x02\x02\u1760\u1761\x07F\x02\x02\u1761\u1762" + "\x07\u0145\x02\x02\u1762\u1764\x05\u0576\u02BC\x02\u1763\u1729\x03\x02" + "\x02\x02\u1763\u172A\x03\x02\x02\x02\u1763\u172C\x03\x02\x02\x02\u1763" + "\u172E\x03\x02\x02\x02\u1763\u1732\x03\x02\x02\x02\u1763\u1735\x03\x02" + "\x02\x02\u1763\u1737\x03\x02\x02\x02\u1763\u1739\x03\x02\x02\x02\u1763" + "\u173B\x03\x02\x02\x02\u1763\u173D\x03\x02\x02\x02\u1763\u173F\x03\x02" + "\x02\x02\u1763\u1741\x03\x02\x02\x02\u1763\u1744\x03\x02\x02\x02\u1763" + "\u1746\x03\x02\x02\x02\u1763\u1748\x03\x02\x02\x02\u1763\u174A\x03\x02" + "\x02\x02\u1763\u174F\x03\x02\x02\x02\u1763\u1754\x03\x02\x02\x02\u1763" + "\u1759\x03\x02\x02\x02\u1763\u175E\x03\x02\x02\x02\u1764\u025B\x03\x02" + "\x02\x02\u1765\u176A\x05\u025E\u0130\x02\u1766\u1767\x07\b\x02\x02\u1767" + "\u1769\x05\u025E\u0130\x02\u1768\u1766\x03\x02\x02\x02\u1769\u176C\x03" + "\x02\x02\x02\u176A\u1768\x03\x02\x02\x02\u176A\u176B\x03\x02\x02\x02\u176B" + "\u025D\x03\x02\x02\x02\u176C\u176A\x03\x02\x02\x02\u176D\u1771\x05\u05C2" + "\u02E2\x02\u176E\u176F\x07D\x02\x02\u176F\u1771\x05\u05C2\u02E2\x02\u1770" + "\u176D\x03\x02\x02\x02\u1770\u176E\x03\x02\x02\x02\u1771\u025F\x03\x02" + "\x02\x02\u1772\u1773\x07k\x02\x02\u1773\u1774\x07C\x02\x02\u1774\u1775" + "\x07\u0119\x02\x02\u1775\u0261\x03\x02\x02\x02\u1776\u1777\x07C\x02\x02" + "\u1777\u1778\x05\u0256\u012C\x02\u1778\u1779\x07`\x02\x02\u1779\u177B" + "\x05\u05C4\u02E3\x02\u177A\u177C\x05\u0266\u0134\x02\u177B\u177A\x03\x02" + "\x02\x02\u177B\u177C\x03\x02\x02\x02\u177C\u177E\x03\x02\x02\x02\u177D" + "\u177F\x05\u0268\u0135\x02\u177E\u177D\x03\x02\x02\x02\u177E\u177F\x03" + "\x02\x02\x02\u177F\u0263\x03\x02\x02\x02\u1780\u1781\x07\u013F\x02\x02" + "\u1781\u1782\x05\u0256\u012C\x02\u1782\u1783\x07B\x02\x02\u1783\u1785" + "\x05\u05C4\u02E3\x02\u1784\u1786\x05\u0268\u0135\x02\u1785\u1784\x03\x02" + "\x02\x02\u1785\u1786\x03\x02\x02\x02\u1786\u1788\x03\x02\x02\x02\u1787" + "\u1789\x05~@\x02\u1788\u1787\x03\x02\x02\x02\u1788\u1789\x03\x02\x02\x02" + "\u1789\u1798\x03\x02\x02\x02\u178A\u178B\x07\u013F\x02\x02\u178B\u178C" + "\x07\x88\x02\x02\u178C\u178D\x07\u0119\x02\x02\u178D\u178E\x07@\x02\x02" + "\u178E\u178F\x05\u0256\u012C\x02\u178F\u1790\x07B\x02\x02\u1790\u1792" + "\x05\u05C4\u02E3\x02\u1791\u1793\x05\u0268\u0135\x02\u1792\u1791\x03\x02" + "\x02\x02\u1792\u1793\x03\x02\x02\x02\u1793\u1795\x03\x02\x02\x02\u1794" + "\u1796\x05~@\x02\u1795\u1794\x03\x02\x02\x02\u1795\u1796\x03\x02\x02\x02" + "\u1796\u1798\x03\x02\x02\x02\u1797\u1780\x03\x02\x02\x02\u1797\u178A\x03" + "\x02\x02\x02\u1798\u0265\x03\x02\x02\x02\u1799\u179A\x07k\x02\x02\u179A" + "\u179B\x07\x88\x02\x02\u179B\u179C\x07\u0119\x02\x02\u179C\u0267\x03\x02" + "\x02\x02\u179D\u179E\x07\xD8\x02\x02\u179E\u179F\x07\x95\x02\x02\u179F" + "\u17A0\x05\u05C2\u02E2\x02\u17A0\u0269\x03\x02\x02\x02\u17A1\u17A2\x07" + "\x8C\x02\x02\u17A2\u17A3\x077\x02\x02\u17A3\u17A4\x07\u0128\x02\x02\u17A4" + "\u17A5\x05\u026C\u0137\x02\u17A5\u17A6\x05\u0270\u0139\x02\u17A6\u026B" + "\x03\x02\x02\x02\u17A7\u17A9\x05\u026E\u0138\x02\u17A8\u17A7\x03\x02\x02" + "\x02\u17A9\u17AC\x03\x02\x02\x02\u17AA\u17A8\x03\x02\x02\x02\u17AA\u17AB" + "\x03\x02\x02\x02\u17AB\u026D\x03\x02\x02\x02\u17AC\u17AA\x03\x02\x02\x02" + "\u17AD\u17AE\x07F\x02\x02\u17AE\u17AF\x07\u0145\x02\x02\u17AF\u17B7\x05" + "\u0576\u02BC\x02\u17B0\u17B1\x07@\x02\x02\u17B1\u17B2\x07\u0140\x02\x02" + "\u17B2\u17B7\x05\u05C4\u02E3\x02\u17B3\u17B4\x07@\x02\x02\u17B4\u17B5" + "\x07e\x02\x02\u17B5\u17B7\x05\u05C4\u02E3\x02\u17B6\u17AD\x03\x02\x02" + "\x02\u17B6\u17B0\x03\x02\x02\x02\u17B6\u17B3\x03\x02\x02\x02\u17B7\u026F" + "\x03\x02\x02\x02\u17B8\u17B9\x07C\x02\x02\u17B9\u17BA\x05\u0250\u0129" + "\x02\u17BA\u17BB\x07R\x02\x02\u17BB\u17BC\x05\u0272\u013A\x02\u17BC\u17BD" + "\x07`\x02\x02\u17BD"; private static readonly _serializedATNSegment13: string = "\u17BF\x05\u025C\u012F\x02\u17BE\u17C0\x05\u0260\u0131\x02\u17BF\u17BE" + "\x03\x02\x02\x02\u17BF\u17C0\x03\x02\x02\x02\u17C0\u17D7\x03\x02\x02\x02" + "\u17C1\u17C2\x07\u013F\x02\x02\u17C2\u17C3\x05\u0250\u0129\x02\u17C3\u17C4" + "\x07R\x02\x02\u17C4\u17C5\x05\u0272\u013A\x02\u17C5\u17C6\x07B\x02\x02" + "\u17C6\u17C8\x05\u025C\u012F\x02\u17C7\u17C9\x05~@\x02\u17C8\u17C7\x03" + "\x02\x02\x02\u17C8\u17C9\x03\x02\x02\x02\u17C9\u17D7\x03\x02\x02\x02\u17CA" + "\u17CB\x07\u013F\x02\x02\u17CB\u17CC\x07C\x02\x02\u17CC\u17CD\x07\u0119" + "\x02\x02\u17CD\u17CE\x07@\x02\x02\u17CE\u17CF\x05\u0250\u0129\x02\u17CF" + "\u17D0\x07R\x02\x02\u17D0\u17D1\x05\u0272\u013A\x02\u17D1\u17D2\x07B\x02" + "\x02\u17D2\u17D4\x05\u025C\u012F\x02\u17D3\u17D5\x05~@\x02\u17D4\u17D3" + "\x03\x02\x02\x02\u17D4\u17D5\x03\x02\x02\x02\u17D5\u17D7\x03\x02\x02\x02" + "\u17D6\u17B8\x03\x02\x02\x02\u17D6\u17C1\x03\x02\x02\x02\u17D6\u17CA\x03" + "\x02\x02\x02\u17D7\u0271\x03\x02\x02\x02\u17D8\u17D9\t\'\x02\x02\u17D9" + "\u0273\x03\x02\x02\x02\u17DA\u17DC\x070\x02\x02\u17DB\u17DD\x05\u0276" + "\u013C\x02\u17DC\u17DB\x03\x02\x02\x02\u17DC\u17DD\x03\x02\x02\x02\u17DD" + "\u17DE\x03\x02\x02\x02\u17DE\u17E0\x07\xE4\x02\x02\u17DF\u17E1\x05\u0278" + "\u013D\x02\u17E0\u17DF\x03\x02\x02\x02\u17E0\u17E1\x03\x02\x02\x02\u17E1" + "\u17E3\x03\x02\x02\x02\u17E2\u17E4\x05\u0204\u0103\x02\u17E3\u17E2\x03" + "\x02\x02\x02\u17E3\u17E4\x03\x02\x02\x02\u17E4\u17E6\x03\x02\x02\x02\u17E5" + "\u17E7\x05\u027A\u013E\x02\u17E6\u17E5\x03\x02\x02\x02\u17E6\u17E7\x03" + "\x02\x02\x02\u17E7\u17E8\x03\x02\x02\x02\u17E8\u17E9\x07R\x02\x02\u17E9" + "\u17EB\x05\u0462\u0232\x02\u17EA\u17EC\x05\u027C\u013F\x02\u17EB\u17EA" + "\x03\x02\x02\x02\u17EB\u17EC\x03\x02\x02\x02\u17EC\u17ED\x03\x02\x02\x02" + "\u17ED\u17EE\x07\x04\x02\x02\u17EE\u17EF\x05\u027E\u0140\x02\u17EF\u17F1" + "\x07\x05\x02\x02\u17F0\u17F2\x05\u0284\u0143\x02\u17F1\u17F0\x03\x02\x02" + "\x02\u17F1\u17F2\x03\x02\x02\x02\u17F2\u17F4\x03\x02\x02\x02\u17F3\u17F5" + "\x05\xE0q\x02\u17F4\u17F3\x03\x02\x02\x02\u17F4\u17F5\x03\x02\x02\x02" + "\u17F5\u17F7\x03\x02\x02\x02\u17F6\u17F8\x05\x88E\x02\u17F7\u17F6\x03" + "\x02\x02\x02\u17F7\u17F8\x03\x02\x02\x02\u17F8\u17FA\x03\x02\x02\x02\u17F9" + "\u17FB\x05\u011A\x8E\x02\u17FA\u17F9\x03\x02\x02\x02\u17FA\u17FB\x03\x02" + "\x02\x02\u17FB\u17FD\x03\x02\x02\x02\u17FC\u17FE\x05\u047C\u023F\x02\u17FD" + "\u17FC\x03\x02\x02\x02\u17FD\u17FE\x03\x02\x02\x02\u17FE\u0275\x03\x02" + "\x02\x02\u17FF\u1800\x07d\x02\x02\u1800\u0277\x03\x02\x02\x02\u1801\u1802" + "\x07o\x02\x02\u1802\u0279\x03\x02\x02\x02\u1803\u1804\x05\u05A0\u02D1" + "\x02\u1804\u027B\x03\x02\x02\x02\u1805\u1806\x07f\x02\x02\u1806\u1807" + "\x05\u05A0\u02D1\x02\u1807\u027D\x03\x02\x02\x02\u1808\u180D\x05\u0282" + "\u0142\x02\u1809\u180A\x07\b\x02\x02\u180A\u180C\x05\u0282\u0142\x02\u180B" + "\u1809\x03\x02\x02\x02\u180C\u180F\x03\x02\x02\x02\u180D\u180B\x03\x02" + "\x02\x02\u180D\u180E\x03\x02\x02\x02\u180E\u027F\x03\x02\x02\x02\u180F" + "\u180D\x03\x02\x02\x02\u1810\u1812\x05\u0288\u0145\x02\u1811\u1810\x03" + "\x02\x02\x02\u1811\u1812\x03\x02\x02\x02\u1812\u1814\x03\x02\x02\x02\u1813" + "\u1815\x05\u028A\u0146\x02\u1814\u1813\x03\x02\x02\x02\u1814\u1815\x03" + "\x02\x02\x02\u1815\u1817\x03\x02\x02\x02\u1816\u1818\x05\u028C\u0147\x02" + "\u1817\u1816\x03\x02\x02\x02\u1817\u1818\x03\x02\x02\x02\u1818\u181A\x03" + "\x02\x02\x02\u1819\u181B\x05\u028E\u0148\x02\u181A\u1819\x03\x02\x02\x02" + "\u181A\u181B\x03\x02\x02\x02\u181B\u1828\x03\x02\x02\x02\u181C\u181E\x05" + "\u0288\u0145\x02\u181D\u181C\x03\x02\x02\x02\u181D\u181E\x03\x02\x02\x02" + "\u181E\u181F\x03\x02\x02\x02\u181F\u1820\x05\u0230\u0119\x02\u1820\u1822" + "\x05\x86D\x02\u1821\u1823\x05\u028C\u0147\x02\u1822\u1821\x03\x02\x02" + "\x02\u1822\u1823\x03\x02\x02\x02\u1823\u1825\x03\x02\x02\x02\u1824\u1826" + "\x05\u028E\u0148\x02\u1825\u1824\x03\x02\x02\x02\u1825\u1826\x03\x02\x02" + "\x02\u1826\u1828\x03\x02\x02\x02\u1827\u1811\x03\x02\x02\x02\u1827\u181D" + "\x03\x02\x02\x02\u1828\u0281\x03\x02\x02\x02\u1829\u182A\x05\u059C\u02CF" + "\x02\u182A\u182B\x05\u0280\u0141\x02\u182B\u1835\x03\x02\x02\x02\u182C" + "\u182D\x05\u04F2\u027A\x02\u182D\u182E\x05\u0280\u0141\x02\u182E\u1835" + "\x03\x02\x02\x02\u182F\u1830\x07\x04\x02\x02\u1830\u1831\x05\u04C0\u0261" + "\x02\u1831\u1832\x07\x05\x02\x02\u1832\u1833\x05\u0280\u0141\x02\u1833" + "\u1835\x03\x02\x02\x02\u1834\u1829\x03\x02\x02\x02\u1834\u182C\x03\x02" + "\x02\x02\u1834\u182F\x03\x02\x02\x02\u1835\u0283\x03\x02\x02\x02\u1836" + "\u1837\x07\u01BB\x02\x02\u1837\u1838\x07\x04\x02\x02\u1838\u1839\x05\u0286" + "\u0144\x02\u1839\u183A\x07\x05\x02\x02\u183A\u0285\x03\x02\x02\x02\u183B" + "\u1840\x05\u0282\u0142\x02\u183C\u183D\x07\b\x02\x02\u183D\u183F\x05\u0282" + "\u0142\x02\u183E\u183C\x03\x02\x02\x02\u183F\u1842\x03\x02\x02\x02\u1840" + "\u183E\x03\x02\x02\x02\u1840\u1841\x03\x02\x02\x02\u1841\u0287\x03\x02" + "\x02\x02\u1842\u1840\x03\x02\x02\x02\u1843\u1844\x07-\x02\x02\u1844\u1845" + "\x05\u0230\u0119\x02\u1845\u0289\x03\x02\x02\x02\u1846\u1847\x05\u0230" + "\u0119\x02\u1847\u028B\x03\x02\x02\x02\u1848\u1849\t(\x02\x02\u1849\u028D" + "\x03\x02\x02\x02\u184A\u184B\x07\u0113\x02\x02\u184B\u184F\x07\xD1\x02" + "\x02\u184C\u184D\x07\u0113\x02\x02\u184D\u184F\x07\xFB\x02\x02\u184E\u184A" + "\x03\x02\x02\x02\u184E\u184C\x03\x02\x02\x02\u184F\u028F\x03\x02\x02\x02" + "\u1850\u1852\x070\x02\x02\u1851\u1853\x05\u0294\u014B\x02\u1852\u1851" + "\x03\x02\x02\x02\u1852\u1853\x03\x02\x02\x02\u1853\u1858\x03\x02\x02\x02" + "\u1854\u1855\x07\xD5\x02\x02\u1855\u1859\x05\u05A6\u02D4\x02\u1856\u1857" + "\x07\u012A\x02\x02\u1857\u1859\x05\u059A\u02CE\x02\u1858\u1854\x03\x02" + "\x02\x02\u1858\u1856\x03\x02\x02\x02\u1859\u185A\x03\x02\x02\x02\u185A" + "\u1864\x05\u02A6\u0154\x02\u185B\u1862\x07\u013E\x02\x02\u185C\u1863\x05" + "\u02B0\u0159\x02\u185D\u185E\x07^\x02\x02\u185E\u185F\x07\x04\x02\x02" + "\u185F\u1860\x05\u02CC\u0167\x02\u1860\u1861\x07\x05\x02\x02\u1861\u1863" + "\x03\x02\x02\x02\u1862\u185C\x03\x02\x02\x02\u1862\u185D\x03\x02\x02\x02" + "\u1863\u1865\x03\x02\x02\x02\u1864\u185B\x03\x02\x02\x02\u1864\u1865\x03" + "\x02\x02\x02\u1865\u1866\x03\x02\x02\x02\u1866\u1869\x05\u02C0\u0161\x02" + "\u1867\u1868\x07k\x02\x02\u1868\u186A\x05\u0292\u014A\x02\u1869\u1867" + "\x03\x02\x02\x02\u1869\u186A\x03\x02\x02\x02\u186A\u0291\x03\x02\x02\x02" + "\u186B\u186C\x07\x04\x02\x02\u186C\u1871\x05\u05C6\u02E4\x02\u186D\u186E" + "\x07\b\x02\x02\u186E\u1870\x05\u05C6\u02E4\x02\u186F\u186D\x03\x02\x02" + "\x02\u1870\u1873\x03\x02\x02\x02\u1871\u186F\x03\x02\x02\x02\u1871\u1872" + "\x03\x02\x02\x02\u1872\u1874\x03\x02\x02\x02\u1873\u1871\x03\x02\x02\x02" + "\u1874\u1875\x07\x05\x02\x02\u1875\u0293\x03\x02\x02\x02\u1876\u1877\x07" + "T\x02\x02\u1877\u1878\x07\u0139\x02\x02\u1878\u0295\x03\x02\x02\x02\u1879" + "\u187B\x07\x04\x02\x02\u187A\u187C\x05\u0298\u014D\x02\u187B\u187A\x03" + "\x02\x02\x02\u187B\u187C\x03\x02\x02\x02\u187C\u187D\x03\x02\x02\x02\u187D" + "\u187E\x07\x05\x02\x02\u187E\u0297\x03\x02\x02\x02\u187F\u1884\x05\u02AA" + "\u0156\x02\u1880\u1881\x07\b\x02\x02\u1881\u1883\x05\u02AA\u0156\x02\u1882" + "\u1880\x03\x02\x02\x02\u1883\u1886\x03\x02\x02\x02\u1884\u1882\x03\x02" + "\x02\x02\u1884\u1885\x03\x02\x02\x02\u1885\u0299\x03\x02\x02\x02\u1886" + "\u1884\x03\x02\x02\x02\u1887\u188C\x05\u029C\u014F\x02\u1888\u1889\x07" + "\b\x02\x02\u1889\u188B\x05\u029C\u014F\x02\u188A\u1888\x03\x02\x02\x02" + "\u188B\u188E\x03\x02\x02\x02\u188C\u188A\x03\x02\x02\x02\u188C\u188D\x03" + "\x02\x02\x02\u188D\u029B\x03\x02\x02\x02\u188E\u188C\x03\x02\x02\x02\u188F" + "\u1890\x05\u0596\u02CC\x02\u1890\u1891\x05\u0296\u014C\x02\u1891\u1898" + "\x03\x02\x02\x02\u1892\u1898\x05\u05E0\u02F1\x02\u1893\u1895\x05\u05C6" + "\u02E4\x02\u1894\u1896\x05\u0568\u02B5\x02\u1895\u1894\x03\x02\x02\x02" + "\u1895\u1896\x03\x02\x02\x02\u1896\u1898\x03\x02\x02\x02\u1897\u188F\x03" + "\x02\x02\x02\u1897\u1892\x03\x02\x02\x02\u1897\u1893\x03\x02\x02\x02\u1898" + "\u029D\x03\x02\x02\x02\u1899\u189E\x05\u02A0\u0151\x02\u189A\u189B\x07" + "\b\x02\x02\u189B\u189D\x05\u02A0\u0151\x02\u189C\u189A\x03\x02\x02\x02" + "\u189D\u18A0\x03\x02\x02\x02\u189E\u189C\x03\x02\x02\x02\u189E\u189F\x03" + "\x02\x02\x02\u189F\u029F\x03\x02\x02\x02\u18A0\u189E\x03\x02\x02\x02\u18A1" + "\u18A2\x05\u0598\u02CD\x02\u18A2\u18A3\x05\u0296\u014C\x02\u18A3\u18AA" + "\x03\x02\x02\x02\u18A4\u18AA\x05\u05E0\u02F1\x02\u18A5\u18A7\x05\u05C6" + "\u02E4\x02\u18A6\u18A8\x05\u0568\u02B5\x02\u18A7\u18A6\x03\x02\x02\x02" + "\u18A7\u18A8\x03\x02\x02\x02\u18A8\u18AA\x03\x02\x02\x02\u18A9\u18A1\x03" + "\x02\x02\x02\u18A9\u18A4\x03\x02\x02\x02\u18A9\u18A5\x03\x02\x02\x02\u18AA" + "\u02A1\x03\x02\x02\x02\u18AB\u18B0\x05\u02A4\u0153\x02\u18AC\u18AD\x07" + "\b\x02\x02\u18AD\u18AF\x05\u02A4\u0153\x02\u18AE\u18AC\x03\x02\x02\x02" + "\u18AF\u18B2\x03\x02\x02\x02\u18B0\u18AE\x03\x02\x02\x02\u18B0\u18B1\x03" + "\x02\x02\x02\u18B1\u02A3\x03\x02\x02\x02\u18B2\u18B0\x03\x02\x02\x02\u18B3" + "\u18B4\x05\u05A8\u02D5\x02\u18B4\u18B5\x05\u0296\u014C\x02\u18B5\u18BC" + "\x03\x02\x02\x02\u18B6\u18BC\x05\u05E0\u02F1\x02\u18B7\u18B9\x05\u05C6" + "\u02E4\x02\u18B8\u18BA\x05\u0568\u02B5\x02\u18B9\u18B8\x03\x02\x02\x02" + "\u18B9\u18BA\x03\x02\x02\x02\u18BA\u18BC\x03\x02\x02\x02\u18BB\u18B3\x03" + "\x02\x02\x02\u18BB\u18B6\x03\x02\x02\x02\u18BB\u18B7\x03\x02\x02\x02\u18BC" + "\u02A5\x03\x02\x02\x02\u18BD\u18BF\x07\x04\x02\x02\u18BE\u18C0\x05\u02A8" + "\u0155\x02\u18BF\u18BE\x03\x02\x02\x02\u18BF\u18C0\x03\x02\x02\x02\u18C0" + "\u18C1\x03\x02\x02\x02\u18C1\u18C2\x07\x05\x02\x02\u18C2\u02A7\x03\x02" + "\x02\x02\u18C3\u18C8\x05\u02B4\u015B\x02\u18C4\u18C5\x07\b\x02\x02\u18C5" + "\u18C7\x05\u02B4\u015B\x02\u18C6\u18C4\x03\x02\x02\x02\u18C7\u18CA\x03" + "\x02\x02\x02\u18C8\u18C6\x03\x02\x02\x02\u18C8\u18C9\x03\x02\x02\x02\u18C9" + "\u02A9\x03\x02\x02\x02\u18CA\u18C8\x03\x02\x02\x02\u18CB\u18CD\x05\u02AC" + "\u0157\x02\u18CC\u18CE\x05\u02AE\u0158\x02\u18CD\u18CC\x03\x02\x02\x02" + "\u18CD\u18CE\x03\x02\x02\x02\u18CE\u18CF\x03\x02\x02\x02\u18CF\u18D0\x05" + "\u02B2\u015A\x02\u18D0\u18D9\x03\x02\x02\x02\u18D1\u18D3\x05\u02AE\u0158" + "\x02\u18D2\u18D4\x05\u02AC\u0157\x02\u18D3\u18D2\x03\x02\x02\x02\u18D3" + "\u18D4\x03\x02\x02\x02\u18D4\u18D5\x03\x02\x02\x02\u18D5\u18D6\x05\u02B2" + "\u015A\x02\u18D6\u18D9\x03\x02\x02\x02\u18D7\u18D9\x05\u02B2\u015A\x02" + "\u18D8\u18CB\x03\x02\x02\x02\u18D8\u18D1\x03\x02\x02\x02\u18D8\u18D7\x03" + "\x02\x02\x02\u18D9\u02AB\x03\x02\x02\x02\u18DA\u18DC\x07F\x02\x02\u18DB" + "\u18DD\x07\u01C7\x02\x02\u18DC\u18DB\x03\x02\x02\x02\u18DC\u18DD\x03\x02" + "\x02\x02\u18DD\u18E2\x03\x02\x02\x02\u18DE\u18E2\x07\u01C7\x02\x02\u18DF" + "\u18E2\x07\u0192\x02\x02\u18E0\u18E2\x07g\x02\x02\u18E1\u18DA\x03\x02" + "\x02\x02\u18E1\u18DE\x03\x02\x02\x02\u18E1\u18DF\x03\x02\x02\x02\u18E1" + "\u18E0\x03\x02\x02\x02\u18E2\u02AD\x03\x02\x02\x02\u18E3\u18E4\x05\u05CE" + "\u02E8\x02\u18E4\u02AF\x03\x02\x02\x02\u18E5\u18E6\x05\u02B2\u015A\x02" + "\u18E6\u02B1\x03\x02\x02\x02\u18E7\u18F4\x05\u0494\u024B\x02\u18E8\u18E9" + "\x05\u05CE\u02E8\x02\u18E9\u18EA\x05\u0232\u011A\x02\u18EA\u18EB\x07\x1D" + "\x02\x02\u18EB\u18EC\x07\u016A\x02\x02\u18EC\u18F4\x03\x02\x02\x02\u18ED" + "\u18EE\x07\u01A1\x02\x02\u18EE\u18EF\x05\u05CE\u02E8\x02\u18EF\u18F0\x05" + "\u0232\u011A\x02\u18F0\u18F1\x07\x1D\x02\x02\u18F1\u18F2\x07\u016A\x02" + "\x02\u18F2\u18F4\x03\x02\x02\x02\u18F3\u18E7\x03\x02\x02\x02\u18F3\u18E8" + "\x03\x02\x02\x02\u18F3\u18ED\x03\x02\x02\x02\u18F4\u02B3\x03\x02\x02\x02" + "\u18F5\u18F8\x05\u02AA\u0156\x02\u18F6\u18F7\t)\x02\x02\u18F7\u18F9\x05" + "\u04C0\u0261\x02\u18F8\u18F6\x03\x02\x02\x02\u18F8\u18F9\x03\x02\x02\x02" + "\u18F9\u02B5\x03\x02\x02\x02\u18FA\u18FB\x05\u02AA\u0156\x02\u18FB\u02B7" + "\x03\x02\x02\x02\u18FC\u1907\x07\x04\x02\x02\u18FD\u1908\x07\v\x02\x02" + "\u18FE\u1908\x05\u02BA\u015E\x02\u18FF\u1900\x07U\x02\x02\u1900\u1901" + "\x07\x95\x02\x02\u1901\u1908\x05\u02BA\u015E\x02\u1902\u1903\x05\u02BA" + "\u015E\x02\u1903\u1904\x07U\x02\x02\u1904\u1905\x07\x95\x02\x02\u1905" + "\u1906\x05\u02BA\u015E\x02\u1906\u1908\x03\x02\x02\x02\u1907\u18FD\x03" + "\x02\x02\x02\u1907\u18FE\x03\x02\x02\x02\u1907\u18FF\x03\x02\x02\x02\u1907" + "\u1902\x03\x02\x02\x02\u1908\u1909\x03\x02\x02\x02\u1909\u190A\x07\x05" + "\x02\x02\u190A\u02B9\x03\x02\x02\x02\u190B\u1910\x05\u02B6\u015C\x02\u190C" + "\u190D\x07\b\x02\x02\u190D\u190F\x05\u02B6\u015C\x02\u190E\u190C\x03\x02" + "\x02\x02\u190F\u1912\x03\x02\x02\x02\u1910\u190E\x03\x02\x02\x02\u1910" + "\u1911\x03\x02\x02\x02\u1911\u02BB\x03\x02\x02\x02\u1912\u1910\x03\x02" + "\x02\x02\u1913\u1914\x05\u05A8\u02D5\x02\u1914\u1915\x05\u02B8\u015D\x02" + "\u1915\u02BD\x03\x02\x02\x02\u1916\u191B\x05\u02BC\u015F\x02\u1917\u1918" + "\x07\b\x02\x02\u1918\u191A\x05\u02BC\u015F\x02\u1919\u1917\x03\x02\x02" + "\x02\u191A\u191D\x03\x02\x02\x02\u191B\u1919\x03\x02\x02\x02\u191B\u191C" + "\x03\x02\x02\x02\u191C\u02BF\x03\x02\x02\x02\u191D\u191B\x03\x02\x02\x02" + "\u191E\u1920\x05\u02C4\u0163\x02\u191F\u191E\x03\x02\x02\x02\u1920\u1921" + "\x03\x02\x02\x02\u1921\u191F\x03\x02\x02\x02\u1921\u1922\x03\x02\x02\x02" + "\u1922\u02C1\x03\x02\x02\x02\u1923\u1924\x07\x97\x02\x02\u1924\u1925\x07" + "R\x02\x02\u1925\u1926\x07P\x02\x02\u1926\u1947\x07\u01CC\x02\x02\u1927" + "\u1928\x07\u013E\x02\x02\u1928\u1929\x07P\x02\x02\u1929\u192A\x07R\x02" + "\x02\u192A\u192B\x07P\x02\x02\u192B\u1947\x07\u01CC\x02\x02\u192C\u1947" + "\x07\u015C\x02\x02\u192D\u1947\x07\xE0\x02\x02\u192E\u1947\x07\u0154\x02" + "\x02\u192F\u1947\x07\u017B\x02\x02\u1930\u1931\x07\xCF\x02\x02\u1931\u1932" + "\x07\u0149\x02\x02\u1932\u1947\x07\xB7\x02\x02\u1933\u1934\x07\xCF\x02" + "\x02\u1934\u1935\x07\u0149\x02\x02\u1935\u1947\x07\xF5\x02\x02\u1936\u1937" + "\x07\u0149\x02\x02\u1937\u1947\x07\xB7\x02\x02\u1938\u1939\x07\u0149\x02" + "\x02\u1939\u1947\x07\xF5\x02\x02\u193A\u1947\x07\xFC\x02\x02\u193B\u193C" + "\x07O\x02\x02\u193C\u1947\x07\xFC\x02\x02\u193D\u193E\x07\xAC\x02\x02" + "\u193E\u1947\x05\u0142\xA2\x02\u193F\u1940\x07\u0142\x02\x02\u1940\u1947" + "\x05\u0142\xA2\x02\u1941\u1942\x07\u01CD\x02\x02\u1942\u1947\x05\u0230" + "\u0119\x02\u1943\u1947\x05\\/\x02\u1944\u1945\x07\u01CE\x02\x02\u1945" + "\u1947\x05\u05C6\u02E4\x02\u1946\u1923\x03\x02\x02\x02\u1946\u1927\x03" + "\x02\x02\x02\u1946\u192C\x03\x02\x02\x02\u1946\u192D\x03\x02\x02\x02\u1946" + "\u192E\x03\x02\x02\x02\u1946\u192F\x03\x02\x02\x02\u1946\u1930\x03\x02" + "\x02\x02\u1946\u1933\x03\x02\x02\x02\u1946\u1936\x03\x02\x02\x02\u1946" + "\u1938\x03\x02\x02\x02\u1946\u193A\x03\x02\x02\x02\u1946\u193B\x03\x02" + "\x02\x02\u1946\u193D\x03\x02\x02\x02\u1946\u193F\x03\x02\x02\x02\u1946" + "\u1941\x03\x02\x02\x02\u1946\u1943\x03\x02\x02\x02\u1946\u1944\x03\x02" + "\x02\x02\u1947\u02C3\x03\x02\x02\x02\u1948\u1949\x07&\x02\x02\u1949\u194A" + "\x05\u05B6\u02DC\x02\u194A\u194B\x07\b\x02\x02\u194B\u194C\x05\u05B6\u02DC" + "\x02\u194C\u1962\x03\x02\x02\x02\u194D\u194E\x07\xF9\x02\x02\u194E\u1962" + "\x05R*\x02\u194F\u1950\x07\u01BD\x02\x02\u1950\u1962\x05\u02C6\u0164\x02" + "\u1951\u1962\x07j\x02\x02\u1952\u1953\x07\u014F\x02\x02\u1953\u195A\x05" + "\u05C6\u02E4\x02\u1954\u1955\x07`\x02\x02\u1955\u195B\x05\u05C6\u02E4" + "\x02\u1956\u1957\x07\f\x02\x02\u1957\u195B\x05\u05C6\u02E4\x02\u1958\u1959" + "\x07B\x02\x02\u1959\u195B\x07\u01B4\x02\x02\u195A\u1954\x03\x02\x02\x02" + "\u195A\u1956\x03\x02\x02\x02\u195A\u1958\x03\x02\x02\x02\u195B\u1962\x03" + "\x02\x02\x02\u195C\u195D\x07&\x02\x02\u195D\u1962\x05\u05C6\u02E4\x02" + "\u195E\u1962\x05\b\x05\x02\u195F\u1962\x05\u02C2\u0162\x02\u1960\u1962" + "\x05\u05C6\u02E4\x02\u1961\u1948\x03\x02\x02\x02\u1961\u194D\x03\x02\x02" + "\x02\u1961\u194F\x03\x02\x02\x02\u1961\u1951\x03\x02\x02\x02\u1961\u1952" + "\x03\x02\x02\x02\u1961\u195C\x03\x02\x02\x02\u1961\u195E\x03\x02\x02\x02" + "\u1961\u195F\x03\x02\x02\x02\u1961\u1960\x03\x02\x02\x02\u1962\u02C5\x03" + "\x02\x02\x02\u1963\u1964\x07@\x02\x02\u1964\u1965\x07\u016A\x02\x02\u1965" + "\u196C\x05\u0494\u024B\x02\u1966\u1967\x07\b\x02\x02\u1967\u1968\x07@" + "\x02\x02\u1968\u1969\x07\u016A\x02\x02\u1969\u196B\x05\u0494\u024B\x02" + "\u196A\u1966\x03\x02\x02\x02\u196B\u196E\x03\x02\x02\x02\u196C\u196A\x03" + "\x02\x02\x02\u196C\u196D\x03\x02\x02\x02\u196D\u02C7\x03\x02\x02\x02\u196E" + "\u196C\x03\x02\x02\x02\u196F\u1970\x07k\x02\x02\u1970\u1971\x05\u01F0" + "\xF9\x02\u1971\u02C9\x03\x02\x02\x02\u1972\u1973\x05\u059C\u02CF\x02\u1973" + "\u1974\x05\u02B2\u015A\x02\u1974\u02CB\x03\x02\x02\x02\u1975\u197A\x05" + "\u02CA\u0166\x02\u1976\u1977\x07\b\x02\x02\u1977\u1979\x05\u02CA\u0166" + "\x02\u1978\u1976\x03\x02\x02\x02\u1979\u197C\x03\x02\x02\x02\u197A\u1978" + "\x03\x02\x02\x02\u197A\u197B\x03\x02\x02\x02\u197B\u02CD\x03\x02\x02\x02" + "\u197C\u197A\x03\x02\x02\x02\u197D\u197E\x07\x8C\x02\x02\u197E\u197F\x05" + "\u02D0\u0169\x02\u197F\u1981\x05\u02D2\u016A\x02\u1980\u1982\x05\u02D4" + "\u016B\x02\u1981\u1980\x03\x02\x02\x02\u1981\u1982\x03\x02\x02\x02\u1982" + "\u02CF\x03\x02\x02\x02\u1983\u1984\x07\xD5\x02\x02\u1984\u198A\x05\u02A4" + "\u0153\x02\u1985\u1986\x07\u012A\x02\x02\u1986\u198A\x05\u02A0\u0151\x02" + "\u1987\u1988\x07\u01BC\x02\x02\u1988\u198A\x05\u029C\u014F\x02\u1989\u1983" + "\x03\x02\x02\x02\u1989\u1985\x03\x02\x02\x02\u1989\u1987\x03\x02\x02\x02" + "\u198A\u02D1\x03\x02\x02\x02\u198B\u198D\x05\u02C2\u0162\x02\u198C\u198B" + "\x03\x02\x02\x02\u198D\u198E\x03\x02\x02\x02\u198E\u198C\x03\x02\x02\x02" + "\u198E\u198F\x03\x02\x02\x02\u198F\u02D3\x03\x02\x02\x02\u1990\u1991\x07" + "\u013D\x02\x02\u1991\u02D5\x03\x02\x02\x02\u1992\u1993\x07\xC1\x02\x02" + "\u1993\u1995\x07\xD5\x02\x02\u1994\u1996\x05\u02EE\u0178\x02\u1995\u1994" + "\x03\x02\x02\x02\u1995\u1996\x03\x02\x02\x02\u1996\u1997\x03\x02\x02\x02" + "\u1997\u1999\x05\u02A2\u0152\x02\u1998\u199A\x05~@\x02\u1999\u1998\x03" + "\x02\x02\x02\u1999\u199A\x03\x02\x02\x02\u199A\u19AE\x03\x02\x02\x02\u199B" + "\u199C\x07\xC1\x02\x02\u199C\u199E\x07\u012A\x02\x02\u199D\u199F\x05\u02EE" + "\u0178\x02\u199E\u199D\x03\x02\x02\x02\u199E\u199F\x03\x02\x02\x02\u199F" + "\u19A0\x03\x02\x02\x02\u19A0\u19A2\x05\u029E\u0150\x02\u19A1\u19A3\x05" + "~@\x02\u19A2\u19A1\x03\x02\x02\x02\u19A2\u19A3\x03\x02\x02\x02\u19A3\u19AE" + "\x03\x02\x02\x02\u19A4\u19A5\x07\xC1\x02\x02\u19A5\u19A7\x07\u01BC\x02" + "\x02\u19A6\u19A8\x05\u02EE\u0178\x02\u19A7\u19A6\x03\x02\x02\x02\u19A7" + "\u19A8\x03\x02\x02\x02\u19A8\u19A9\x03\x02\x02\x02\u19A9\u19AB\x05\u029A" + "\u014E\x02\u19AA\u19AC\x05~@\x02\u19AB\u19AA\x03\x02\x02\x02\u19AB\u19AC" + "\x03\x02\x02\x02\u19AC\u19AE\x03\x02\x02\x02\u19AD\u1992\x03\x02\x02\x02" + "\u19AD\u199B\x03\x02\x02\x02\u19AD\u19A4\x03\x02\x02\x02\u19AE\u02D7\x03" + "\x02\x02\x02\u19AF\u19B0\x07\xC1\x02\x02\u19B0\u19B2\x07\x8A\x02\x02\u19B1" + "\u19B3\x05\u02EE\u0178\x02\u19B2\u19B1\x03\x02\x02\x02\u19B2\u19B3\x03" + "\x02\x02\x02\u19B3\u19B4\x03\x02\x02\x02\u19B4\u19B6\x05\u02BE\u0160\x02" + "\u19B5\u19B7\x05~@\x02\u19B6\u19B5\x03\x02\x02\x02\u19B6\u19B7\x03\x02" + "\x02\x02\u19B7\u02D9\x03\x02\x02\x02\u19B8\u19B9\x07\xC1\x02\x02\u19B9" + "\u19BB\x07\u0118\x02\x02\u19BA\u19BC\x05\u02EE\u0178\x02\u19BB\u19BA\x03" + "\x02\x02\x02\u19BB\u19BC\x03\x02\x02\x02\u19BC\u19BD\x03\x02\x02\x02\u19BD" + "\u19BF\x05\u02E0\u0171\x02\u19BE\u19C0\x05~@\x02\u19BF\u19BE\x03\x02\x02" + "\x02\u19BF\u19C0\x03\x02\x02\x02\u19C0\u02DB\x03\x02\x02\x02\u19C1\u19C2" + "\x07\x04\x02\x02\u19C2\u19C3\x05\u0494\u024B\x02\u19C3\u19C4\x07\x05\x02" + "\x02\u19C4\u19D8\x03\x02\x02\x02\u19C5\u19C6\x07\x04\x02\x02\u19C6\u19C7" + "\x05\u0494\u024B\x02\u19C7\u19C8\x07\b\x02\x02\u19C8\u19C9\x05\u0494\u024B" + "\x02\u19C9\u19CA\x07\x05\x02\x02\u19CA\u19D8\x03\x02\x02\x02\u19CB\u19CC" + "\x07\x04\x02\x02\u19CC\u19CD\x07\u0199\x02\x02\u19CD\u19CE\x07\b\x02\x02" + "\u19CE\u19CF\x05\u0494\u024B\x02\u19CF\u19D0\x07\x05\x02\x02\u19D0\u19D8" + "\x03\x02\x02\x02\u19D1\u19D2\x07\x04\x02\x02\u19D2\u19D3\x05\u0494\u024B" + "\x02\u19D3\u19D4\x07\b\x02\x02\u19D4\u19D5\x07\u0199\x02\x02\u19D5\u19D6" + "\x07\x05\x02\x02\u19D6\u19D8\x03\x02\x02\x02\u19D7\u19C1\x03\x02\x02\x02" + "\u19D7\u19C5\x03\x02\x02\x02\u19D7\u19CB\x03\x02\x02\x02\u19D7\u19D1\x03" + "\x02\x02\x02\u19D8\u02DD\x03\x02\x02\x02\u19D9\u19DA\x05\u05C6\u02E4\x02" + "\u19DA\u19DB\x07\r\x02\x02\u19DB\u19DD\x03\x02\x02\x02\u19DC\u19D9\x03" + "\x02\x02\x02\u19DD\u19E0\x03\x02\x02\x02\u19DE\u19DC\x03\x02\x02\x02\u19DE" + "\u19DF\x03\x02\x02\x02\u19DF\u19E1\x03\x02\x02\x02\u19E0\u19DE\x03\x02" + "\x02\x02\u19E1\u19E2\x05\u052A\u0296\x02\u19E2\u02DF\x03\x02\x02\x02\u19E3" + "\u19E8\x05\u02E2\u0172\x02\u19E4\u19E5\x07\b\x02\x02\u19E5\u19E7\x05\u02E2" + "\u0172\x02\u19E6\u19E4\x03\x02\x02\x02\u19E7\u19EA\x03\x02\x02\x02\u19E8" + "\u19E6\x03\x02\x02\x02\u19E8\u19E9\x03\x02\x02\x02\u19E9\u02E1\x03\x02" + "\x02\x02\u19EA\u19E8\x03\x02\x02\x02\u19EB\u19EC\x05\u02DE\u0170\x02\u19EC" + "\u19ED\x05\u02DC\u016F\x02\u19ED\u02E3\x03\x02\x02\x02\u19EE\u19EF\x07" + ";\x02\x02\u19EF\u19F0\x05\u02E6\u0174\x02\u19F0\u02E5\x03\x02\x02\x02" + "\u19F1\u19F3\x05\u02E8\u0175\x02\u19F2\u19F1\x03\x02\x02\x02\u19F3\u19F4" + "\x03\x02\x02\x02\u19F4\u19F2\x03\x02\x02\x02\u19F4\u19F5\x03\x02\x02\x02" + "\u19F5\u02E7\x03\x02\x02\x02\u19F6\u19FA\x05\u05B6\u02DC\x02\u19F7\u19F8" + "\x07\xF9\x02\x02\u19F8\u19FA\x05R*\x02\u19F9\u19F6\x03\x02\x02\x02\u19F9" + "\u19F7\x03\x02\x02\x02\u19FA\u02E9\x03\x02\x02\x02\u19FB\u19FC\x070\x02" + "\x02\u19FC\u19FD\x07+\x02\x02\u19FD\u19FE\x07\x04\x02\x02\u19FE\u19FF" + "\x05\u0494\u024B\x02\u19FF\u1A00\x07&\x02\x02\u1A00\u1A01\x05\u0494\u024B" + "\x02\u1A01\u1A02\x07\x05\x02\x02\u1A02\u1A03\x07k\x02\x02\u1A03\u1A04" + "\x07\xD5\x02\x02\u1A04\u1A06\x05\u02A4\u0153\x02\u1A05\u1A07\x05\u02EC" + "\u0177\x02\u1A06\u1A05\x03\x02\x02\x02\u1A06\u1A07\x03\x02\x02\x02\u1A07" + "\u1A21\x03\x02\x02\x02\u1A08\u1A09\x070\x02\x02\u1A09\u1A0A\x07+\x02\x02" + "\u1A0A\u1A0B\x07\x04\x02\x02\u1A0B\u1A0C\x05\u0494\u024B\x02\u1A0C\u1A0D" + "\x07&\x02\x02\u1A0D\u1A0E\x05\u0494\u024B\x02\u1A0E\u1A0F\x07\x05\x02" + "\x02\u1A0F\u1A10\x07\u017D\x02\x02\u1A10\u1A12\x07\xD5\x02\x02\u1A11\u1A13" + "\x05\u02EC\u0177\x02\u1A12\u1A11\x03\x02\x02\x02\u1A12\u1A13\x03\x02\x02" + "\x02\u1A13\u1A21\x03\x02\x02\x02\u1A14\u1A15\x070\x02\x02\u1A15\u1A16" + "\x07+\x02\x02\u1A16\u1A17\x07\x04\x02\x02\u1A17\u1A18\x05\u0494\u024B" + "\x02\u1A18\u1A19\x07&\x02\x02\u1A19\u1A1A\x05\u0494\u024B\x02\u1A1A\u1A1B" + "\x07\x05\x02\x02\u1A1B\u1A1C\x07k\x02\x02\u1A1C\u1A1E\x07\u0192\x02\x02" + "\u1A1D\u1A1F\x05\u02EC\u0177\x02\u1A1E\u1A1D\x03\x02\x02\x02\u1A1E\u1A1F" + "\x03\x02\x02\x02\u1A1F\u1A21\x03\x02\x02\x02\u1A20\u19FB\x03\x02\x02\x02" + "\u1A20\u1A08\x03\x02\x02\x02\u1A20\u1A14\x03\x02\x02\x02\u1A21\u02EB\x03" + "\x02\x02\x02\u1A22\u1A23\x07&\x02\x02\u1A23\u1A27\x07\xE1\x02\x02\u1A24" + "\u1A25\x07&\x02\x02\u1A25\u1A27\x07\x8F\x02\x02\u1A26\u1A22\x03\x02\x02" + "\x02\u1A26\u1A24\x03\x02\x02\x02\u1A27\u02ED\x03\x02\x02\x02\u1A28\u1A29" + "\x07\xDE\x02\x02\u1A29\u1A2A\x07\u018E\x02\x02\u1A2A\u02EF\x03\x02\x02" + "\x02\u1A2B\u1A2D\x070\x02\x02\u1A2C\u1A2E\x05\u0294\u014B\x02\u1A2D\u1A2C" + "\x03\x02\x02\x02\u1A2D\u1A2E\x03\x02\x02\x02\u1A2E\u1A2F\x03\x02\x02\x02" + "\u1A2F\u1A30\x07\u01BD\x02\x02\u1A30\u1A31\x07@\x02\x02\u1A31\u1A32\x05" + "\u0494\u024B\x02\u1A32\u1A33\x07\xF9\x02\x02\u1A33\u1A34\x05\u05A0\u02D1" + "\x02\u1A34\u1A35\x07\x04\x02\x02\u1A35\u1A36\x05\u02F2\u017A\x02\u1A36" + "\u1A37\x07\x05\x02\x02\u1A37\u02F1\x03\x02\x02\x02\u1A38\u1A39\x07B\x02" + "\x02\u1A39\u1A3A\x07\u01CF\x02\x02\u1A3A\u1A3B\x07k\x02\x02\u1A3B\u1A3C" + "\x07\xD5\x02\x02\u1A3C\u1A3D\x05\u02A4\u0153\x02\u1A3D\u1A3E\x07\b\x02" + "\x02\u1A3E\u1A3F\x07`\x02\x02\u1A3F\u1A40\x07\u01CF\x02\x02\u1A40\u1A41" + "\x07k\x02\x02\u1A41\u1A42\x07\xD5\x02\x02\u1A42\u1A43\x05\u02A4\u0153" + "\x02\u1A43\u1A5B\x03\x02\x02\x02\u1A44\u1A45\x07`\x02\x02\u1A45\u1A46" + "\x07\u01CF\x02\x02\u1A46\u1A47\x07k\x02\x02\u1A47\u1A48\x07\xD5\x02\x02" + "\u1A48\u1A49\x05\u02A4\u0153\x02\u1A49\u1A4A\x07\b\x02\x02\u1A4A\u1A4B" + "\x07B\x02\x02\u1A4B\u1A4C\x07\u01CF\x02\x02\u1A4C\u1A4D\x07k\x02\x02\u1A4D" + "\u1A4E\x07\xD5\x02\x02\u1A4E\u1A4F\x05\u02A4\u0153\x02\u1A4F\u1A5B\x03" + "\x02\x02\x02\u1A50\u1A51\x07B\x02\x02\u1A51\u1A52\x07\u01CF\x02\x02\u1A52" + "\u1A53\x07k\x02\x02\u1A53\u1A54\x07\xD5\x02\x02\u1A54\u1A5B\x05\u02A4" + "\u0153\x02\u1A55\u1A56\x07`\x02\x02\u1A56\u1A57\x07\u01CF\x02\x02\u1A57" + "\u1A58\x07k\x02\x02\u1A58\u1A59\x07\xD5\x02\x02\u1A59\u1A5B\x05\u02A4" + "\u0153\x02\u1A5A\u1A38\x03\x02\x02\x02\u1A5A\u1A44\x03\x02\x02\x02\u1A5A" + "\u1A50\x03\x02\x02\x02\u1A5A\u1A55\x03\x02\x02\x02\u1A5B\u02F3\x03\x02" + "\x02\x02\u1A5C\u1A5D\x07\u0134\x02\x02\u1A5D\u1A6D\x05\u02F6\u017C\x02" + "\u1A5E\u1A5F\x07\u0134\x02\x02\u1A5F\u1A6D\x05\u02F8\u017D\x02\u1A60\u1A61" + "\x07\u0134\x02\x02\u1A61\u1A62\x07\x04\x02\x02\u1A62\u1A63\x05\u02FA\u017E" + "\x02\u1A63\u1A64\x07\x05\x02\x02\u1A64\u1A65\x05\u02F6\u017C\x02\u1A65" + "\u1A6D\x03\x02\x02\x02\u1A66\u1A67\x07\u0134\x02\x02\u1A67\u1A68\x07\x04" + "\x02\x02\u1A68\u1A69\x05\u02FA\u017E\x02\u1A69\u1A6A\x07\x05\x02\x02\u1A6A" + "\u1A6B\x05\u02F8\u017D\x02\u1A6B\u1A6D\x03\x02\x02\x02\u1A6C\u1A5C\x03" + "\x02\x02\x02\u1A6C\u1A5E\x03\x02\x02\x02\u1A6C\u1A60\x03\x02\x02\x02\u1A6C" + "\u1A66\x03\x02\x02\x02\u1A6D\u02F5\x03\x02\x02\x02\u1A6E\u1A70\x07\xE4" + "\x02\x02\u1A6F\u1A71\x05\u0278\u013D\x02\u1A70\u1A6F\x03\x02\x02\x02\u1A70" + "\u1A71\x03\x02\x02\x02\u1A71\u1A72\x03\x02\x02\x02\u1A72\u1A79\x05\u0588" + "\u02C5\x02\u1A73\u1A75\x07^\x02\x02\u1A74\u1A76\x05\u0278\u013D\x02\u1A75" + "\u1A74\x03\x02\x02\x02\u1A75\u1A76\x03\x02\x02\x02\u1A76\u1A77\x03\x02" + "\x02\x02\u1A77\u1A79\x05\u0582\u02C2\x02\u1A78\u1A6E\x03\x02\x02\x02\u1A78" + "\u1A73\x03"; private static readonly _serializedATNSegment14: string = "\x02\x02\x02\u1A79\u02F7\x03\x02\x02\x02\u1A7A\u1A7C\x07\u0145\x02\x02" + "\u1A7B\u1A7D\x05\u0278\u013D\x02\u1A7C\u1A7B\x03\x02\x02\x02\u1A7C\u1A7D" + "\x03\x02\x02\x02\u1A7D\u1A7E\x03\x02\x02\x02\u1A7E\u1A8A\x05\u0592\u02CA" + "\x02\u1A7F\u1A81\x07\u015F\x02\x02\u1A80\u1A82\x05\u0278\u013D\x02\u1A81" + "\u1A80\x03\x02\x02\x02\u1A81\u1A82\x03\x02\x02\x02\u1A82\u1A83\x03\x02" + "\x02\x02\u1A83\u1A8A\x05\u05A0\u02D1\x02\u1A84\u1A86\x07\xB1\x02\x02\u1A85" + "\u1A87\x05\u0278\u013D\x02\u1A86\u1A85\x03\x02\x02\x02\u1A86\u1A87\x03" + "\x02\x02\x02\u1A87\u1A88\x03\x02\x02\x02\u1A88\u1A8A\x05\u0590\u02C9\x02" + "\u1A89\u1A7A\x03\x02\x02\x02\u1A89\u1A7F\x03\x02\x02\x02\u1A89\u1A84\x03" + "\x02\x02\x02\u1A8A\u02F9\x03\x02\x02\x02\u1A8B\u1A90\x05\u02FC\u017F\x02" + "\u1A8C\u1A8D\x07\b\x02\x02\u1A8D\u1A8F\x05\u02FC\u017F\x02\u1A8E\u1A8C" + "\x03\x02\x02\x02\u1A8F\u1A92\x03\x02\x02\x02\u1A90\u1A8E\x03\x02\x02\x02" + "\u1A90\u1A91\x03\x02\x02\x02\u1A91\u02FB\x03\x02\x02\x02\u1A92\u1A90\x03" + "\x02\x02\x02\u1A93\u1A94\x07\x82\x02\x02\u1A94\u02FD\x03\x02\x02\x02\u1A95" + "\u1A96\x07\x8C\x02\x02\u1A96\u1A97\x07\u0161\x02\x02\u1A97\u1A98\x05\u057E" + "\u02C0\x02\u1A98\u1A99\x07\u014F\x02\x02\u1A99\u1A9A\x05\x86D\x02\u1A9A" + "\u1AA2\x03\x02\x02\x02\u1A9B\u1A9C\x07\x8C\x02\x02\u1A9C\u1A9D\x07\u0161" + "\x02\x02\u1A9D\u1A9E\x05\u057E\u02C0\x02\u1A9E\u1A9F\x07\u013B\x02\x02" + "\u1A9F\u1AA0\x05\x86D\x02\u1AA0\u1AA2\x03\x02\x02\x02\u1AA1\u1A95\x03" + "\x02\x02\x02\u1AA1\u1A9B\x03\x02\x02\x02\u1AA2\u02FF\x03\x02\x02\x02\u1AA3" + "\u1AA4\x07\x8C\x02\x02\u1AA4\u1AA5\x07\x8A\x02\x02\u1AA5\u1AA6\x05\u02BC" + "\u015F\x02\u1AA6\u1AA7\x07\u0137\x02\x02\u1AA7\u1AA8\x07`\x02\x02\u1AA8" + "\u1AA9\x05\u05A0\u02D1\x02\u1AA9\u1C2B\x03\x02\x02\x02\u1AAA\u1AAB\x07" + "\x8C\x02\x02\u1AAB\u1AAC\x07n\x02\x02\u1AAC\u1AAD\x05\u0230\u0119\x02" + "\u1AAD\u1AAE\x07\u0137\x02\x02\u1AAE\u1AAF\x07`\x02\x02\u1AAF\u1AB0\x05" + "\u05A0\u02D1\x02\u1AB0\u1C2B\x03\x02\x02\x02\u1AB1\u1AB2\x07\x8C\x02\x02" + "\u1AB2\u1AB3\x07\xAA\x02\x02\u1AB3\u1AB4\x05\u0230\u0119\x02\u1AB4\u1AB5" + "\x07\u0137\x02\x02\u1AB5\u1AB6\x07`\x02\x02\u1AB6\u1AB7\x05\u05A0\u02D1" + "\x02\u1AB7\u1C2B\x03\x02\x02\x02\u1AB8\u1AB9\x07\x8C\x02\x02\u1AB9\u1ABA" + "\x07\xB1\x02\x02\u1ABA\u1ABB\x05\u0590\u02C9\x02\u1ABB\u1ABC\x07\u0137" + "\x02\x02\u1ABC\u1ABD\x07`\x02\x02\u1ABD\u1ABE\x05\u058E\u02C8\x02\u1ABE" + "\u1C2B\x03\x02\x02\x02\u1ABF\u1AC0\x07\x8C\x02\x02\u1AC0\u1AC1\x07\xBF" + "\x02\x02\u1AC1\u1AC2\x05\u0230\u0119\x02\u1AC2\u1AC3\x07\u0137\x02\x02" + "\u1AC3\u1AC4\x07`\x02\x02\u1AC4\u1AC5\x05\u05A0\u02D1\x02\u1AC5\u1C2B" + "\x03\x02\x02\x02\u1AC6\u1AC7\x07\x8C\x02\x02\u1AC7\u1AC8\x07\xBF\x02\x02" + "\u1AC8\u1AC9\x05\u0230\u0119\x02\u1AC9\u1ACA\x07\u0137\x02\x02\u1ACA\u1ACB" + "\x07/\x02\x02\u1ACB\u1ACC\x05\u05A0\u02D1\x02\u1ACC\u1ACD\x07`\x02\x02" + "\u1ACD\u1ACE\x05\u05A0\u02D1\x02\u1ACE\u1C2B\x03\x02\x02\x02\u1ACF\u1AD0" + "\x07\x8C\x02\x02\u1AD0\u1AD1\x07A\x02\x02\u1AD1\u1AD2\x07\xB0\x02\x02" + "\u1AD2\u1AD3\x07\u017F\x02\x02\u1AD3\u1AD4\x05\u05A0\u02D1\x02\u1AD4\u1AD5" + "\x07\u0137\x02\x02\u1AD5\u1AD6\x07`\x02\x02\u1AD6\u1AD7\x05\u05A0\u02D1" + "\x02\u1AD7\u1C2B\x03\x02\x02\x02\u1AD8\u1AD9\x07\x8C\x02\x02\u1AD9\u1ADA" + "\x07\xD5\x02\x02\u1ADA\u1ADB\x05\u02A4\u0153\x02\u1ADB\u1ADC\x07\u0137" + "\x02\x02\u1ADC\u1ADD\x07`\x02\x02\u1ADD\u1ADE\x05\u05A6\u02D4\x02\u1ADE" + "\u1C2B\x03\x02\x02\x02\u1ADF\u1AE0\x07\x8C\x02\x02\u1AE0\u1AE1\x07D\x02" + "\x02\u1AE1\u1AE2\x05\u05C0\u02E1\x02\u1AE2\u1AE3\x07\u0137\x02\x02\u1AE3" + "\u1AE4\x07`\x02\x02\u1AE4\u1AE5\x05\u05C0\u02E1\x02\u1AE5\u1C2B\x03\x02" + "\x02\x02\u1AE6\u1AE8\x07\x8C\x02\x02\u1AE7\u1AE9\x05\u0152\xAA\x02\u1AE8" + "\u1AE7\x03\x02\x02\x02\u1AE8\u1AE9\x03\x02\x02\x02\u1AE9\u1AEA\x03\x02" + "\x02\x02\u1AEA\u1AEB\x07\xF9\x02\x02\u1AEB\u1AEC\x05\u05A0\u02D1\x02\u1AEC" + "\u1AED\x07\u0137\x02\x02\u1AED\u1AEE\x07`\x02\x02\u1AEE\u1AEF\x05\u05A0" + "\u02D1\x02\u1AEF\u1C2B\x03\x02\x02\x02\u1AF0\u1AF1\x07\x8C\x02\x02\u1AF1" + "\u1AF2\x07\u0118\x02\x02\u1AF2\u1AF3\x07\x9E\x02\x02\u1AF3\u1AF4\x05\u0230" + "\u0119\x02\u1AF4\u1AF5\x07f\x02\x02\u1AF5\u1AF6\x05\u05A0\u02D1\x02\u1AF6" + "\u1AF7\x07\u0137\x02\x02\u1AF7\u1AF8\x07`\x02\x02\u1AF8\u1AF9\x05\u05A0" + "\u02D1\x02\u1AF9\u1C2B\x03\x02\x02\x02\u1AFA\u1AFB\x07\x8C\x02\x02\u1AFB" + "\u1AFC\x07\u0118\x02\x02\u1AFC\u1AFD\x07\xD0\x02\x02\u1AFD\u1AFE\x05\u0230" + "\u0119\x02\u1AFE\u1AFF\x07f\x02\x02\u1AFF\u1B00\x05\u05A0\u02D1\x02\u1B00" + "\u1B01\x07\u0137\x02\x02\u1B01\u1B02\x07`\x02\x02\u1B02\u1B03\x05\u05A0" + "\u02D1\x02\u1B03\u1C2B\x03\x02\x02\x02\u1B04\u1B05\x07\x8C\x02\x02\u1B05" + "\u1B07\x07\u01BF\x02\x02\u1B06\u1B08\x05\u02EE\u0178\x02\u1B07\u1B06\x03" + "\x02\x02\x02\u1B07\u1B08\x03\x02\x02\x02\u1B08\u1B09\x03\x02\x02\x02\u1B09" + "\u1B0A\x05\u05A0\u02D1\x02\u1B0A\u1B0B\x07R\x02\x02\u1B0B\u1B0C\x05\u0588" + "\u02C5\x02\u1B0C\u1B0D\x07\u0137\x02\x02\u1B0D\u1B0E\x07`\x02\x02\u1B0E" + "\u1B0F\x05\u05A0\u02D1\x02\u1B0F\u1C2B\x03\x02\x02\x02\u1B10\u1B11\x07" + "\x8C\x02\x02\u1B11\u1B12\x07\u012A\x02\x02\u1B12\u1B13\x05\u02A0\u0151" + "\x02\u1B13\u1B14\x07\u0137\x02\x02\u1B14\u1B15\x07`\x02\x02\u1B15\u1B16" + "\x05\u059A\u02CE\x02\u1B16\u1C2B\x03\x02\x02\x02\u1B17\u1B18\x07\x8C\x02" + "\x02\u1B18\u1B19\x07\u01C6\x02\x02\u1B19\u1B1A\x05\u05A0\u02D1\x02\u1B1A" + "\u1B1B\x07\u0137\x02\x02\u1B1B\u1B1C\x07`\x02\x02\u1B1C\u1B1D\x05\u05A0" + "\u02D1\x02\u1B1D\u1C2B\x03\x02\x02\x02\u1B1E\u1B1F\x07\x8C\x02\x02\u1B1F" + "\u1B20\x07\u01BC\x02\x02\u1B20\u1B21\x05\u029C\u014F\x02\u1B21\u1B22\x07" + "\u0137\x02\x02\u1B22\u1B23\x07`\x02\x02\u1B23\u1B24\x05\u05A0\u02D1\x02" + "\u1B24\u1C2B\x03\x02\x02\x02\u1B25\u1B26\x07\x8C\x02\x02\u1B26\u1B27\x07" + "\u0145\x02\x02\u1B27\u1B28\x05\u0592\u02CA\x02\u1B28\u1B29\x07\u0137\x02" + "\x02\u1B29\u1B2A\x07`\x02\x02\u1B2A\u1B2B\x052\x1A\x02\u1B2B\u1C2B\x03" + "\x02\x02\x02\u1B2C\u1B2D\x07\x8C\x02\x02\u1B2D\u1B2E\x07\u014D\x02\x02" + "\u1B2E\u1B2F\x05\u05A0\u02D1\x02\u1B2F\u1B30\x07\u0137\x02\x02\u1B30\u1B31" + "\x07`\x02\x02\u1B31\u1B32\x05\u05A0\u02D1\x02\u1B32\u1C2B\x03\x02\x02" + "\x02\u1B33\u1B34\x07\x8C\x02\x02\u1B34\u1B35\x07\u01C5\x02\x02\u1B35\u1B36" + "\x05\u05A0\u02D1\x02\u1B36\u1B37\x07\u0137\x02\x02\u1B37\u1B38\x07`\x02" + "\x02\u1B38\u1B39\x05\u05A0\u02D1\x02\u1B39\u1C2B\x03\x02\x02\x02\u1B3A" + "\u1B3B\x07\x8C\x02\x02\u1B3B\u1B3D\x07^\x02\x02\u1B3C\u1B3E\x05\u02EE" + "\u0178\x02\u1B3D\u1B3C\x03\x02\x02\x02\u1B3D\u1B3E\x03\x02\x02\x02\u1B3E" + "\u1B3F\x03\x02\x02\x02\u1B3F\u1B40\x05\u0462\u0232\x02\u1B40\u1B41\x07" + "\u0137\x02\x02\u1B41\u1B42\x07`\x02\x02\u1B42\u1B43\x05\u0580\u02C1\x02" + "\u1B43\u1C2B\x03\x02\x02\x02\u1B44\u1B45\x07\x8C\x02\x02\u1B45\u1B47\x07" + "\u014A\x02\x02\u1B46\u1B48\x05\u02EE\u0178\x02\u1B47\u1B46\x03\x02\x02" + "\x02\u1B47\u1B48\x03\x02\x02\x02\u1B48\u1B49\x03\x02\x02\x02\u1B49\u1B4A" + "\x05\u0588\u02C5\x02\u1B4A\u1B4B\x07\u0137\x02\x02\u1B4B\u1B4C\x07`\x02" + "\x02\u1B4C\u1B4D\x05\u05A0\u02D1\x02\u1B4D\u1C2B\x03\x02\x02\x02\u1B4E" + "\u1B4F\x07\x8C\x02\x02\u1B4F\u1B51\x07\u017A\x02\x02\u1B50\u1B52\x05\u02EE" + "\u0178\x02\u1B51\u1B50\x03\x02\x02\x02\u1B51\u1B52\x03\x02\x02\x02\u1B52" + "\u1B53\x03\x02\x02\x02\u1B53\u1B54\x05\u0586\u02C4\x02\u1B54\u1B55\x07" + "\u0137\x02\x02\u1B55\u1B56\x07`\x02\x02\u1B56\u1B57\x05\u0584\u02C3\x02" + "\u1B57\u1C2B\x03\x02\x02\x02\u1B58\u1B59\x07\x8C\x02\x02\u1B59\u1B5A\x07" + "\u0105\x02\x02\u1B5A\u1B5C\x07\u017A\x02\x02\u1B5B\u1B5D\x05\u02EE\u0178" + "\x02\u1B5C\u1B5B\x03\x02\x02\x02\u1B5C\u1B5D\x03\x02\x02\x02\u1B5D\u1B5E" + "\x03\x02\x02\x02\u1B5E\u1B5F\x05\u0586\u02C4\x02\u1B5F\u1B60\x07\u0137" + "\x02\x02\u1B60\u1B61\x07`\x02\x02\u1B61\u1B62\x05\u0584\u02C3\x02\u1B62" + "\u1C2B\x03\x02\x02\x02\u1B63\u1B64\x07\x8C\x02\x02\u1B64\u1B66\x07\xE4" + "\x02\x02\u1B65\u1B67\x05\u02EE\u0178\x02\u1B66\u1B65\x03\x02\x02\x02\u1B66" + "\u1B67\x03\x02\x02\x02\u1B67\u1B68\x03\x02\x02\x02\u1B68\u1B69\x05\u0588" + "\u02C5\x02\u1B69\u1B6A\x07\u0137\x02\x02\u1B6A\u1B6B\x07`\x02\x02\u1B6B" + "\u1B6C\x05\u05A0\u02D1\x02\u1B6C\u1C2B\x03\x02\x02\x02\u1B6D\u1B6E\x07" + "\x8C\x02\x02\u1B6E\u1B6F\x07A\x02\x02\u1B6F\u1B71\x07^\x02\x02\u1B70\u1B72" + "\x05\u02EE\u0178\x02\u1B71\u1B70\x03\x02\x02\x02\u1B71\u1B72\x03\x02\x02" + "\x02\u1B72\u1B73\x03\x02\x02\x02\u1B73\u1B74\x05\u0462\u0232\x02\u1B74" + "\u1B75\x07\u0137\x02\x02\u1B75\u1B76\x07`\x02\x02\u1B76\u1B77\x05\u0580" + "\u02C1\x02\u1B77\u1C2B\x03\x02\x02\x02\u1B78\u1B79\x07\x8C\x02\x02\u1B79" + "\u1B7B\x07^\x02\x02\u1B7A\u1B7C\x05\u02EE\u0178\x02\u1B7B\u1B7A\x03\x02" + "\x02\x02\u1B7B\u1B7C\x03\x02\x02\x02\u1B7C\u1B7D\x03\x02\x02\x02\u1B7D" + "\u1B7E\x05\u0462\u0232\x02\u1B7E\u1B80\x07\u0137\x02\x02\u1B7F\u1B81\x05" + "\u0302\u0182\x02\u1B80\u1B7F\x03\x02\x02\x02\u1B80\u1B81\x03\x02\x02\x02" + "\u1B81\u1B82\x03\x02\x02\x02\u1B82\u1B83\x05\u059C\u02CF\x02\u1B83\u1B84" + "\x07`\x02\x02\u1B84\u1B85\x05\u059E\u02D0\x02\u1B85\u1C2B\x03\x02\x02" + "\x02\u1B86\u1B87\x07\x8C\x02\x02\u1B87\u1B89\x07\u017A\x02\x02\u1B88\u1B8A" + "\x05\u02EE\u0178\x02\u1B89\u1B88\x03\x02\x02\x02\u1B89\u1B8A\x03\x02\x02" + "\x02\u1B8A\u1B8B\x03\x02\x02\x02\u1B8B\u1B8C\x05\u0586\u02C4\x02\u1B8C" + "\u1B8E\x07\u0137\x02\x02\u1B8D\u1B8F\x05\u0302\u0182\x02\u1B8E\u1B8D\x03" + "\x02\x02\x02\u1B8E\u1B8F\x03\x02\x02\x02\u1B8F\u1B90\x03\x02\x02\x02\u1B90" + "\u1B91\x05\u059C\u02CF\x02\u1B91\u1B92\x07`\x02\x02\u1B92\u1B93\x05\u059E" + "\u02D0\x02\u1B93\u1C2B\x03\x02\x02\x02\u1B94\u1B95\x07\x8C\x02\x02\u1B95" + "\u1B96\x07\u0105\x02\x02\u1B96\u1B98\x07\u017A\x02\x02\u1B97\u1B99\x05" + "\u02EE\u0178\x02\u1B98\u1B97\x03\x02\x02\x02\u1B98\u1B99\x03\x02\x02\x02" + "\u1B99\u1B9A\x03\x02\x02\x02\u1B9A\u1B9B\x05\u0586\u02C4\x02\u1B9B\u1B9D" + "\x07\u0137\x02\x02\u1B9C\u1B9E\x05\u0302\u0182\x02\u1B9D\u1B9C\x03\x02" + "\x02\x02\u1B9D\u1B9E\x03\x02\x02\x02\u1B9E\u1B9F\x03\x02\x02\x02\u1B9F" + "\u1BA0\x05\u059C\u02CF\x02\u1BA0\u1BA1\x07`\x02\x02\u1BA1\u1BA2\x05\u059E" + "\u02D0\x02\u1BA2\u1C2B\x03\x02\x02\x02\u1BA3\u1BA4\x07\x8C\x02\x02\u1BA4" + "\u1BA6\x07^\x02\x02\u1BA5\u1BA7\x05\u02EE\u0178\x02\u1BA6\u1BA5\x03\x02" + "\x02\x02\u1BA6\u1BA7\x03\x02\x02\x02\u1BA7\u1BA8\x03\x02\x02\x02\u1BA8" + "\u1BA9\x05\u0462\u0232\x02\u1BA9\u1BAA\x07\u0137\x02\x02\u1BAA\u1BAB\x07" + "/\x02\x02\u1BAB\u1BAC\x05\u05A0\u02D1\x02\u1BAC\u1BAD\x07`\x02\x02\u1BAD" + "\u1BAE\x05\u05A0\u02D1\x02\u1BAE\u1C2B\x03\x02\x02\x02\u1BAF\u1BB0\x07" + "\x8C\x02\x02\u1BB0\u1BB1\x07A\x02\x02\u1BB1\u1BB3\x07^\x02\x02\u1BB2\u1BB4" + "\x05\u02EE\u0178\x02\u1BB3\u1BB2\x03\x02\x02\x02\u1BB3\u1BB4\x03\x02\x02" + "\x02\u1BB4\u1BB5\x03\x02\x02\x02\u1BB5\u1BB6\x05\u0462\u0232\x02\u1BB6" + "\u1BB8\x07\u0137\x02\x02\u1BB7\u1BB9\x05\u0302\u0182\x02\u1BB8\u1BB7\x03" + "\x02\x02\x02\u1BB8\u1BB9\x03\x02\x02\x02\u1BB9\u1BBA\x03\x02\x02\x02\u1BBA" + "\u1BBB\x05\u059C\u02CF\x02\u1BBB\u1BBC\x07`\x02\x02\u1BBC\u1BBD\x05\u059E" + "\u02D0\x02\u1BBD\u1C2B\x03\x02\x02\x02\u1BBE\u1BBF\x07\x8C\x02\x02\u1BBF" + "\u1BC0\x07\u0143\x02\x02\u1BC0\u1BC1\x05\u05A0\u02D1\x02\u1BC1\u1BC2\x07" + "R\x02\x02\u1BC2\u1BC3\x05\u0588\u02C5\x02\u1BC3\u1BC4\x07\u0137\x02\x02" + "\u1BC4\u1BC5\x07`\x02\x02\u1BC5\u1BC6\x05\u05A0\u02D1\x02\u1BC6\u1C2B" + "\x03\x02\x02\x02\u1BC7\u1BC8\x07\x8C\x02\x02\u1BC8\u1BC9\x07\u0167\x02" + "\x02\u1BC9\u1BCA\x05\u05A0\u02D1\x02\u1BCA\u1BCB\x07R\x02\x02\u1BCB\u1BCC" + "\x05\u0588\u02C5\x02\u1BCC\u1BCD\x07\u0137\x02\x02\u1BCD\u1BCE\x07`\x02" + "\x02\u1BCE\u1BCF\x05\u05A0\u02D1\x02\u1BCF\u1C2B\x03\x02\x02\x02\u1BD0" + "\u1BD1\x07\x8C\x02\x02\u1BD1\u1BD2\x07\xC8\x02\x02\u1BD2\u1BD3\x07\u0167" + "\x02\x02\u1BD3\u1BD4\x05\u05A0\u02D1\x02\u1BD4\u1BD5\x07\u0137\x02\x02" + "\u1BD5\u1BD6\x07`\x02\x02\u1BD6\u1BD7\x05\u05A0\u02D1\x02\u1BD7\u1C2B" + "\x03\x02\x02\x02\u1BD8\u1BD9\x07\x8C\x02\x02\u1BD9\u1BDA\x07\u0140\x02" + "\x02\u1BDA\u1BDB\x05\u05C0\u02E1\x02\u1BDB\u1BDC\x07\u0137\x02\x02\u1BDC" + "\u1BDD\x07`\x02\x02\u1BDD\u1BDE\x05\u05C0\u02E1\x02\u1BDE\u1C2B\x03\x02" + "\x02\x02\u1BDF\u1BE0\x07\x8C\x02\x02\u1BE0\u1BE1\x07e\x02\x02\u1BE1\u1BE2" + "\x05\u05C0\u02E1\x02\u1BE2\u1BE3\x07\u0137\x02\x02\u1BE3\u1BE4\x07`\x02" + "\x02\u1BE4\u1BE5\x05\u05C0\u02E1\x02\u1BE5\u1C2B\x03\x02\x02\x02\u1BE6" + "\u1BE7\x07\x8C\x02\x02\u1BE7\u1BE8\x07\u0161\x02\x02\u1BE8\u1BE9\x05\u057E" + "\u02C0\x02\u1BE9\u1BEA\x07\u0137\x02\x02\u1BEA\u1BEB\x07`\x02\x02\u1BEB" + "\u1BEC\x05\u057C\u02BF\x02\u1BEC\u1C2B\x03\x02\x02\x02\u1BED\u1BEE\x07" + "\x8C\x02\x02\u1BEE\u1BEF\x07\u0158\x02\x02\u1BEF\u1BF0\x05\u0230\u0119" + "\x02\u1BF0\u1BF1\x07\u0137\x02\x02\u1BF1\u1BF2\x07`\x02\x02\u1BF2\u1BF3" + "\x05\u05A0\u02D1\x02\u1BF3\u1C2B\x03\x02\x02\x02\u1BF4\u1BF5\x07\x8C\x02" + "\x02\u1BF5\u1BF6\x07\u0165\x02\x02\u1BF6\u1BF7\x07\u0147\x02\x02\u1BF7" + "\u1BF8\x07\u011D\x02\x02\u1BF8\u1BF9\x05\u0230\u0119\x02\u1BF9\u1BFA\x07" + "\u0137\x02\x02\u1BFA\u1BFB\x07`\x02\x02\u1BFB\u1BFC\x05\u05A0\u02D1\x02" + "\u1BFC\u1C2B\x03\x02\x02\x02\u1BFD\u1BFE\x07\x8C\x02\x02\u1BFE\u1BFF\x07" + "\u0165\x02\x02\u1BFF\u1C00\x07\u0147\x02\x02\u1C00\u1C01\x07\xBB\x02\x02" + "\u1C01\u1C02\x05\u0230\u0119\x02\u1C02\u1C03\x07\u0137\x02\x02\u1C03\u1C04" + "\x07`\x02\x02\u1C04\u1C05\x05\u05A0\u02D1\x02\u1C05\u1C2B\x03\x02\x02" + "\x02\u1C06\u1C07\x07\x8C\x02\x02\u1C07\u1C08\x07\u0165\x02\x02\u1C08\u1C09" + "\x07\u0147\x02\x02\u1C09\u1C0A\x07\u0163\x02\x02\u1C0A\u1C0B\x05\u0230" + "\u0119\x02\u1C0B\u1C0C\x07\u0137\x02\x02\u1C0C\u1C0D\x07`\x02\x02\u1C0D" + "\u1C0E\x05\u05A0\u02D1\x02\u1C0E\u1C2B\x03\x02\x02\x02\u1C0F\u1C10\x07" + "\x8C\x02\x02\u1C10\u1C11\x07\u0165\x02\x02\u1C11\u1C12\x07\u0147\x02\x02" + "\u1C12\u1C13\x07\xA5\x02\x02\u1C13\u1C14\x05\u0230\u0119\x02\u1C14\u1C15" + "\x07\u0137\x02\x02\u1C15\u1C16\x07`\x02\x02\u1C16\u1C17\x05\u05A0\u02D1" + "\x02\u1C17\u1C2B\x03\x02\x02\x02\u1C18\u1C19\x07\x8C\x02\x02\u1C19\u1C1A" + "\x07\u016A\x02\x02\u1C1A\u1C1B\x05\u0230\u0119\x02\u1C1B\u1C1C\x07\u0137" + "\x02\x02\u1C1C\u1C1D\x07`\x02\x02\u1C1D\u1C1E\x05\u05A0\u02D1\x02\u1C1E" + "\u1C2B\x03\x02\x02\x02\u1C1F\u1C20\x07\x8C\x02\x02\u1C20\u1C21\x07\u016A" + "\x02\x02\u1C21\u1C22\x05\u0230\u0119\x02\u1C22\u1C23\x07\u0137\x02\x02" + "\u1C23\u1C24\x07\x91\x02\x02\u1C24\u1C25\x05\u05A0\u02D1\x02\u1C25\u1C26" + "\x07`\x02\x02\u1C26\u1C28\x05\u05A0\u02D1\x02\u1C27\u1C29\x05~@\x02\u1C28" + "\u1C27\x03\x02\x02\x02\u1C28\u1C29\x03\x02\x02\x02\u1C29\u1C2B\x03\x02" + "\x02\x02\u1C2A\u1AA3\x03\x02\x02\x02\u1C2A\u1AAA\x03\x02\x02\x02\u1C2A" + "\u1AB1\x03\x02\x02\x02\u1C2A\u1AB8\x03\x02\x02\x02\u1C2A\u1ABF\x03\x02" + "\x02\x02\u1C2A\u1AC6\x03\x02\x02\x02\u1C2A\u1ACF\x03\x02\x02\x02\u1C2A" + "\u1AD8\x03\x02\x02\x02\u1C2A\u1ADF\x03\x02\x02\x02\u1C2A\u1AE6\x03\x02" + "\x02\x02\u1C2A\u1AF0\x03\x02\x02\x02\u1C2A\u1AFA\x03\x02\x02\x02\u1C2A" + "\u1B04\x03\x02\x02\x02\u1C2A\u1B10\x03\x02\x02\x02\u1C2A\u1B17\x03\x02" + "\x02\x02\u1C2A\u1B1E\x03\x02\x02\x02\u1C2A\u1B25\x03\x02\x02\x02\u1C2A" + "\u1B2C\x03\x02\x02\x02\u1C2A\u1B33\x03\x02\x02\x02\u1C2A\u1B3A\x03\x02" + "\x02\x02\u1C2A\u1B44\x03\x02\x02\x02\u1C2A\u1B4E\x03\x02\x02\x02\u1C2A" + "\u1B58\x03\x02\x02\x02\u1C2A\u1B63\x03\x02\x02\x02\u1C2A\u1B6D\x03\x02" + "\x02\x02\u1C2A\u1B78\x03\x02\x02\x02\u1C2A\u1B86\x03\x02\x02\x02\u1C2A" + "\u1B94\x03\x02\x02\x02\u1C2A\u1BA3\x03\x02\x02\x02\u1C2A\u1BAF\x03\x02" + "\x02\x02\u1C2A\u1BBE\x03\x02\x02\x02\u1C2A\u1BC7\x03\x02\x02\x02\u1C2A" + "\u1BD0\x03\x02\x02\x02\u1C2A\u1BD8\x03\x02\x02\x02\u1C2A\u1BDF\x03\x02" + "\x02\x02\u1C2A\u1BE6\x03\x02\x02\x02\u1C2A\u1BED\x03\x02\x02\x02\u1C2A" + "\u1BF4\x03\x02\x02\x02\u1C2A\u1BFD\x03\x02\x02\x02\u1C2A\u1C06\x03\x02" + "\x02\x02\u1C2A\u1C0F\x03\x02\x02\x02\u1C2A\u1C18\x03\x02\x02\x02\u1C2A" + "\u1C1F\x03\x02\x02\x02\u1C2B\u0301\x03\x02\x02\x02\u1C2C\u1C2D\x07.\x02" + "\x02\u1C2D\u0303\x03\x02\x02\x02\u1C2E\u1C2F\x07\u014F\x02\x02\u1C2F\u1C30" + "\x07\xB0\x02\x02\u1C30\u0305\x03\x02\x02\x02\u1C31\u1C32\x07\x8C\x02\x02" + "\u1C32\u1C33\x07\xD5\x02\x02\u1C33\u1C35\x05\u02A4\u0153\x02\u1C34\u1C36" + "\x05\u0308\u0185\x02\u1C35\u1C34\x03\x02\x02\x02\u1C35\u1C36\x03\x02\x02" + "\x02\u1C36\u1C37\x03\x02\x02\x02\u1C37\u1C38\x07\u01D0\x02\x02\u1C38\u1C39" + "\x07R\x02\x02\u1C39\u1C3A\x07\xCE\x02\x02\u1C3A\u1C3B\x05\u05A0\u02D1" + "\x02\u1C3B\u1C77\x03\x02\x02\x02\u1C3C\u1C3D\x07\x8C\x02\x02\u1C3D\u1C3E" + "\x07\u012A\x02\x02\u1C3E\u1C40\x05\u02A0\u0151\x02\u1C3F\u1C41\x05\u0308" + "\u0185\x02\u1C40\u1C3F\x03\x02\x02\x02\u1C40\u1C41\x03\x02\x02\x02\u1C41" + "\u1C42\x03\x02\x02\x02\u1C42\u1C43\x07\u01D0\x02\x02\u1C43\u1C44\x07R" + "\x02\x02\u1C44\u1C45\x07\xCE\x02\x02\u1C45\u1C46\x05\u05A0\u02D1\x02\u1C46" + "\u1C77\x03\x02\x02\x02\u1C47\u1C48\x07\x8C\x02\x02\u1C48\u1C49\x07\u01BC" + "\x02\x02\u1C49\u1C4B\x05\u029C\u014F\x02\u1C4A\u1C4C\x05\u0308\u0185\x02" + "\u1C4B\u1C4A\x03\x02\x02\x02\u1C4B\u1C4C\x03\x02\x02\x02\u1C4C\u1C4D\x03" + "\x02\x02\x02\u1C4D\u1C4E\x07\u01D0\x02\x02\u1C4E\u1C4F\x07R\x02\x02\u1C4F" + "\u1C50\x07\xCE\x02\x02\u1C50\u1C51\x05\u05A0\u02D1\x02\u1C51\u1C77\x03" + "\x02\x02\x02\u1C52\u1C53\x07\x8C\x02\x02\u1C53\u1C54\x07\u0167\x02\x02" + "\u1C54\u1C55\x05\u05A0\u02D1\x02\u1C55\u1C56\x07R\x02\x02\u1C56\u1C58" + "\x05\u0588\u02C5\x02\u1C57\u1C59\x05\u0308\u0185\x02\u1C58\u1C57\x03\x02" + "\x02\x02\u1C58\u1C59\x03\x02\x02\x02\u1C59\u1C5A\x03\x02\x02\x02\u1C5A" + "\u1C5B\x07\u01D0\x02\x02\u1C5B\u1C5C\x07R\x02\x02\u1C5C\u1C5D\x07\xCE" + "\x02\x02\u1C5D\u1C5E\x05\u05A0\u02D1\x02\u1C5E\u1C77\x03\x02\x02\x02\u1C5F" + "\u1C60\x07\x8C\x02\x02\u1C60\u1C61\x07\u0105\x02\x02\u1C61\u1C62\x07\u017A" + "\x02\x02\u1C62\u1C64\x05\u0586\u02C4\x02\u1C63\u1C65\x05\u0308\u0185\x02" + "\u1C64\u1C63\x03\x02\x02\x02\u1C64\u1C65\x03\x02\x02\x02\u1C65\u1C66\x03" + "\x02\x02\x02\u1C66\u1C67\x07\u01D0\x02\x02\u1C67\u1C68\x07R\x02\x02\u1C68" + "\u1C69\x07\xCE\x02\x02\u1C69\u1C6A\x05\u05A0\u02D1\x02\u1C6A\u1C77\x03" + "\x02\x02\x02\u1C6B\u1C6C\x07\x8C\x02\x02\u1C6C\u1C6D\x07\xE4\x02\x02\u1C6D" + "\u1C6F\x05\u0588\u02C5\x02\u1C6E\u1C70\x05\u0308\u0185\x02\u1C6F\u1C6E" + "\x03\x02\x02\x02\u1C6F\u1C70\x03\x02\x02\x02\u1C70\u1C71\x03\x02\x02\x02" + "\u1C71\u1C72\x07\u01D0\x02\x02\u1C72\u1C73\x07R\x02\x02\u1C73\u1C74\x07" + "\xCE\x02\x02\u1C74\u1C75\x05\u05A0\u02D1\x02\u1C75\u1C77\x03\x02\x02\x02" + "\u1C76\u1C31\x03\x02\x02\x02\u1C76\u1C3C\x03\x02\x02\x02\u1C76\u1C47\x03" + "\x02\x02\x02\u1C76\u1C52\x03\x02\x02\x02\u1C76\u1C5F\x03\x02\x02\x02\u1C76" + "\u1C6B\x03\x02\x02\x02\u1C77\u0307\x03\x02\x02\x02\u1C78\u1C79\x07\u010F" + "\x02\x02\u1C79\u0309\x03\x02\x02\x02\u1C7A\u1C7B\x07\x8C\x02\x02\u1C7B" + "\u1C7C\x07\x8A\x02\x02\u1C7C\u1C7D\x05\u02BC\u015F\x02\u1C7D\u1C7E\x07" + "\u014F\x02\x02\u1C7E\u1C7F\x07\u0145\x02\x02\u1C7F\u1C80\x052\x1A\x02" + "\u1C80\u1D34\x03\x02\x02\x02\u1C81\u1C82\x07\x8C\x02\x02\u1C82\u1C83\x07" + "n\x02\x02\u1C83\u1C84\x05\u0230\u0119\x02\u1C84\u1C85\x07\u014F\x02\x02" + "\u1C85\u1C86\x07\u0145\x02\x02\u1C86\u1C87\x052\x1A\x02\u1C87\u1D34\x03" + "\x02\x02\x02\u1C88\u1C89\x07\x8C\x02\x02\u1C89\u1C8A\x07\xAA\x02\x02\u1C8A" + "\u1C8B\x05\u0230\u0119\x02\u1C8B\u1C8C\x07\u014F\x02\x02\u1C8C\u1C8D\x07" + "\u0145\x02\x02\u1C8D\u1C8E\x052\x1A\x02\u1C8E\u1D34\x03\x02\x02\x02\u1C8F" + "\u1C90\x07\x8C\x02\x02\u1C90\u1C91\x07\xBF\x02\x02\u1C91\u1C92\x05\u0230" + "\u0119\x02\u1C92\u1C93\x07\u014F\x02\x02\u1C93\u1C94\x07\u0145\x02\x02" + "\u1C94\u1C95\x052\x1A\x02\u1C95\u1D34\x03\x02\x02\x02\u1C96\u1C97\x07" + "\x8C\x02\x02\u1C97\u1C98\x07\xCE\x02\x02\u1C98\u1C99\x05\u05A0\u02D1\x02" + "\u1C99\u1C9A\x07\u014F\x02\x02\u1C9A\u1C9B\x07\u0145\x02\x02\u1C9B\u1C9C" + "\x052\x1A\x02\u1C9C\u1D34\x03\x02\x02\x02\u1C9D\u1C9E\x07\x8C\x02\x02" + "\u1C9E\u1C9F\x07\xD5\x02\x02\u1C9F\u1CA0\x05\u02A4\u0153\x02\u1CA0\u1CA1" + "\x07\u014F\x02\x02\u1CA1\u1CA2\x07\u0145\x02\x02\u1CA2\u1CA3\x052\x1A" + "\x02\u1CA3\u1D34\x03\x02\x02\x02\u1CA4\u1CA5\x07\x8C\x02\x02\u1CA5\u1CA6" + "\x07\u0118\x02\x02\u1CA6\u1CA7\x05\u02E2\u0172\x02\u1CA7\u1CA8\x07\u014F" + "\x02\x02\u1CA8\u1CA9\x07\u0145\x02\x02\u1CA9\u1CAA\x052\x1A\x02\u1CAA" + "\u1D34\x03\x02\x02\x02\u1CAB\u1CAC\x07\x8C\x02\x02\u1CAC\u1CAD\x07\u0118" + "\x02\x02\u1CAD\u1CAE\x07\x9E\x02\x02\u1CAE\u1CAF\x05\u0230\u0119\x02\u1CAF" + "\u1CB0\x07f\x02\x02\u1CB0\u1CB1\x05\u05A0\u02D1\x02\u1CB1\u1CB2\x07\u014F" + "\x02\x02\u1CB2\u1CB3\x07\u0145\x02\x02\u1CB3\u1CB4\x052\x1A\x02\u1CB4" + "\u1D34\x03\x02\x02\x02\u1CB5\u1CB6\x07\x8C\x02\x02\u1CB6\u1CB7\x07\u0118" + "\x02\x02\u1CB7\u1CB8\x07\xD0\x02\x02\u1CB8\u1CB9\x05\u0230\u0119\x02\u1CB9" + "\u1CBA\x07f\x02\x02\u1CBA\u1CBB\x05\u05A0\u02D1\x02\u1CBB\u1CBC\x07\u014F" + "\x02\x02\u1CBC\u1CBD\x07\u0145\x02\x02\u1CBD\u1CBE\x052\x1A\x02\u1CBE" + "\u1D34\x03\x02\x02\x02\u1CBF\u1CC0\x07\x8C\x02\x02\u1CC0\u1CC1\x07\u012A" + "\x02\x02\u1CC1\u1CC2\x05\u02A0\u0151\x02\u1CC2\u1CC3\x07\u014F\x02\x02" + "\u1CC3\u1CC4\x07\u0145\x02\x02\u1CC4\u1CC5\x052\x1A\x02\u1CC5\u1D34\x03" + "\x02\x02\x02\u1CC6\u1CC7\x07\x8C\x02\x02\u1CC7\u1CC8\x07\u01BC\x02\x02" + "\u1CC8\u1CC9\x05\u029C\u014F\x02\u1CC9\u1CCA\x07\u014F\x02\x02\u1CCA\u1CCB" + "\x07\u0145\x02\x02\u1CCB\u1CCC\x052\x1A\x02\u1CCC\u1D34\x03\x02\x02\x02" + "\u1CCD\u1CCE\x07\x8C\x02\x02\u1CCE\u1CD0\x07^\x02\x02\u1CCF\u1CD1\x05" + "\u02EE\u0178\x02\u1CD0\u1CCF\x03\x02\x02\x02\u1CD0\u1CD1\x03\x02\x02\x02" + "\u1CD1\u1CD2\x03\x02\x02\x02\u1CD2\u1CD3\x05\u0462\u0232\x02\u1CD3\u1CD4" + "\x07\u014F\x02\x02\u1CD4\u1CD5\x07\u0145\x02\x02\u1CD5\u1CD6\x052\x1A" + "\x02\u1CD6\u1D34\x03\x02\x02\x02\u1CD7\u1CD8\x07\x8C\x02\x02\u1CD8\u1CD9" + "\x07\u0158\x02\x02\u1CD9\u1CDA\x05\u0230\u0119\x02\u1CDA\u1CDB\x07\u014F" + "\x02\x02\u1CDB\u1CDC\x07\u0145\x02\x02\u1CDC\u1CDD\x052\x1A\x02\u1CDD" + "\u1D34\x03\x02\x02\x02\u1CDE\u1CDF\x07\x8C\x02\x02\u1CDF\u1CE0\x07\u0165" + "\x02\x02\u1CE0\u1CE1\x07\u0147\x02\x02\u1CE1\u1CE2\x07\u011D\x02\x02\u1CE2" + "\u1CE3\x05\u0230\u0119\x02\u1CE3\u1CE4\x07\u014F\x02\x02\u1CE4\u1CE5\x07" + "\u0145\x02\x02\u1CE5\u1CE6\x052\x1A\x02\u1CE6\u1D34\x03\x02\x02\x02\u1CE7" + "\u1CE8\x07\x8C\x02\x02\u1CE8\u1CE9\x07\u0165\x02\x02\u1CE9\u1CEA\x07\u0147" + "\x02\x02\u1CEA\u1CEB\x07\xBB\x02\x02\u1CEB\u1CEC\x05\u0230\u0119\x02\u1CEC" + "\u1CED\x07\u014F\x02\x02\u1CED\u1CEE\x07\u0145\x02\x02\u1CEE\u1CEF\x05" + "2\x1A\x02\u1CEF\u1D34\x03\x02\x02\x02\u1CF0\u1CF1\x07\x8C\x02\x02\u1CF1" + "\u1CF2\x07\u0165\x02\x02\u1CF2\u1CF3\x07\u0147\x02\x02\u1CF3\u1CF4\x07" + "\u0163\x02\x02\u1CF4\u1CF5\x05\u0230\u0119\x02\u1CF5\u1CF6\x07\u014F\x02" + "\x02\u1CF6\u1CF7\x07\u0145\x02\x02\u1CF7\u1CF8\x052\x1A\x02\u1CF8\u1D34" + "\x03\x02\x02\x02\u1CF9\u1CFA\x07\x8C\x02\x02\u1CFA\u1CFB\x07\u0165\x02" + "\x02\u1CFB\u1CFC\x07\u0147\x02\x02\u1CFC\u1CFD\x07\xA5\x02\x02\u1CFD\u1CFE" + "\x05\u0230\u0119\x02\u1CFE\u1CFF\x07\u014F\x02\x02\u1CFF\u1D00\x07\u0145" + "\x02\x02\u1D00\u1D01\x052\x1A\x02\u1D01\u1D34\x03\x02\x02\x02\u1D02\u1D03" + "\x07\x8C\x02\x02\u1D03\u1D05\x07\u014A\x02\x02\u1D04\u1D06\x05\u02EE\u0178" + "\x02\u1D05\u1D04\x03\x02\x02\x02\u1D05\u1D06\x03\x02\x02\x02\u1D06\u1D07" + "\x03\x02\x02\x02\u1D07\u1D08\x05\u0588\u02C5\x02\u1D08\u1D09\x07\u014F" + "\x02\x02\u1D09\u1D0A\x07\u0145\x02\x02\u1D0A\u1D0B\x052\x1A\x02\u1D0B" + "\u1D34\x03\x02\x02\x02\u1D0C\u1D0D\x07\x8C\x02\x02\u1D0D\u1D0F\x07\u017A" + "\x02\x02\u1D0E\u1D10\x05\u02EE\u0178\x02\u1D0F\u1D0E\x03\x02\x02\x02\u1D0F" + "\u1D10\x03\x02\x02\x02\u1D10\u1D11\x03\x02\x02\x02\u1D11\u1D12\x05\u0586" + "\u02C4\x02\u1D12\u1D13\x07\u014F\x02\x02\u1D13\u1D14\x07\u0145\x02\x02" + "\u1D14\u1D15\x052\x1A\x02\u1D15\u1D34\x03\x02\x02\x02\u1D16\u1D17\x07" + "\x8C\x02\x02\u1D17\u1D18\x07\u0105\x02\x02\u1D18\u1D1A\x07\u017A\x02\x02" + "\u1D19\u1D1B\x05\u02EE\u0178\x02\u1D1A\u1D19\x03\x02\x02\x02\u1D1A\u1D1B" + "\x03\x02\x02\x02\u1D1B\u1D1C\x03\x02\x02\x02\u1D1C\u1D1D\x05\u0586\u02C4" + "\x02\u1D1D\u1D1E\x07\u014F\x02\x02\u1D1E\u1D1F\x07\u0145\x02\x02\u1D1F" + "\u1D20\x052\x1A\x02\u1D20\u1D34\x03\x02\x02\x02\u1D21\u1D22\x07\x8C\x02" + "\x02\u1D22\u1D23\x07A\x02\x02\u1D23\u1D25\x07^\x02\x02\u1D24\u1D26\x05" + "\u02EE\u0178\x02\u1D25\u1D24\x03\x02\x02\x02\u1D25\u1D26\x03\x02\x02\x02" + "\u1D26\u1D27\x03\x02\x02\x02\u1D27\u1D28\x05\u0462\u0232\x02\u1D28\u1D29" + "\x07\u014F\x02\x02\u1D29\u1D2A\x07\u0145\x02\x02\u1D2A\u1D2B\x052\x1A" + "\x02\u1D2B\u1D34\x03\x02\x02\x02\u1D2C\u1D2D\x07\x8C\x02\x02\u1D2D\u1D2E" + "\x07\u016A\x02\x02\u1D2E\u1D2F\x05\u0230\u0119\x02\u1D2F\u1D30\x07\u014F" + "\x02\x02\u1D30\u1D31\x07\u0145\x02\x02\u1D31\u1D32\x052\x1A\x02\u1D32" + "\u1D34\x03\x02\x02\x02\u1D33\u1C7A\x03\x02\x02\x02\u1D33\u1C81\x03\x02" + "\x02\x02\u1D33\u1C88\x03\x02\x02\x02\u1D33\u1C8F\x03\x02\x02\x02\u1D33" + "\u1C96\x03\x02\x02\x02\u1D33\u1C9D\x03\x02\x02\x02\u1D33\u1CA4\x03\x02" + "\x02\x02\u1D33\u1CAB\x03\x02\x02\x02\u1D33\u1CB5\x03\x02\x02\x02\u1D33" + "\u1CBF\x03\x02\x02\x02\u1D33\u1CC6\x03\x02\x02\x02\u1D33\u1CCD\x03\x02" + "\x02\x02\u1D33\u1CD7\x03\x02\x02\x02\u1D33\u1CDE\x03\x02\x02\x02\u1D33" + "\u1CE7\x03\x02\x02\x02\u1D33\u1CF0\x03\x02\x02\x02\u1D33\u1CF9\x03\x02" + "\x02\x02\u1D33\u1D02\x03\x02\x02\x02\u1D33\u1D0C\x03\x02\x02\x02\u1D33" + "\u1D16\x03\x02\x02\x02\u1D33\u1D21\x03\x02\x02\x02\u1D33\u1D2C\x03\x02" + "\x02\x02\u1D34\u030B\x03\x02\x02\x02\u1D35\u1D36\x07\x8C\x02\x02\u1D36" + "\u1D37\x07\u0118\x02\x02\u1D37\u1D38\x05\u02E2\u0172\x02\u1D38\u1D39\x07" + "\u014F\x02\x02\u1D39\u1D3A\x07\x04\x02\x02\u1D3A\u1D3B\x05\u030E\u0188" + "\x02\u1D3B\u1D3C\x07\x05\x02\x02\u1D3C\u030D\x03\x02\x02\x02\u1D3D\u1D42" + "\x05\u0310\u0189\x02\u1D3E\u1D3F\x07\b\x02\x02\u1D3F\u1D41\x05\u0310\u0189" + "\x02\u1D40\u1D3E\x03\x02\x02\x02\u1D41\u1D44\x03\x02\x02\x02\u1D42\u1D40" + "\x03\x02\x02\x02\u1D42\u1D43\x03\x02\x02\x02\u1D43\u030F\x03\x02\x02\x02" + "\u1D44\u1D42\x03\x02\x02\x02\u1D45\u1D46\x05\u05D6\u02EC\x02\u1D46\u1D47" + "\x07\f\x02\x02\u1D47\u1D48\x07\u0199\x02\x02\u1D48\u1D4E\x03\x02\x02\x02" + "\u1D49\u1D4A\x05\u05D6\u02EC\x02\u1D4A\u1D4B\x07\f\x02\x02\u1D4B\u1D4C" + "\x05\u0312\u018A\x02\u1D4C\u1D4E\x03\x02\x02\x02\u1D4D\u1D45\x03\x02\x02" + "\x02\u1D4D\u1D49\x03\x02\x02\x02\u1D4E\u0311\x03\x02\x02\x02\u1D4F\u1D55" + "\x05\u02B2\u015A"; private static readonly _serializedATNSegment15: string = "\x02\u1D50\u1D55\x05\u05E2\u02F2\x02\u1D51\u1D55\x05\u0530\u0299\x02\u1D52" + "\u1D55\x05\u0142\xA2\x02\u1D53\u1D55\x05\u05B6\u02DC\x02\u1D54\u1D4F\x03" + "\x02\x02\x02\u1D54\u1D50\x03\x02\x02\x02\u1D54\u1D51\x03\x02\x02\x02\u1D54" + "\u1D52\x03\x02\x02\x02\u1D54\u1D53\x03\x02\x02\x02\u1D55\u0313\x03\x02" + "\x02\x02\u1D56\u1D57\x07\x8C\x02\x02\u1D57\u1D58\x07\u016A\x02\x02\u1D58" + "\u1D59\x05\u0230\u0119\x02\u1D59\u1D5A\x07\u014F\x02\x02\u1D5A\u1D5B\x07" + "\x04\x02\x02\u1D5B\u1D5C\x05\u030E\u0188\x02\u1D5C\u1D5D\x07\x05\x02\x02" + "\u1D5D\u0315\x03\x02\x02\x02\u1D5E\u1D5F\x07\x8C\x02\x02\u1D5F\u1D60\x07" + "\x8A\x02\x02\u1D60\u1D61\x05\u02BC\u015F\x02\u1D61\u1D62\x07\u011C\x02" + "\x02\u1D62\u1D63\x07`\x02\x02\u1D63\u1D64\x05\u05C2\u02E2\x02\u1D64\u1E18" + "\x03\x02\x02\x02\u1D65\u1D66\x07\x8C\x02\x02\u1D66\u1D67\x07n\x02\x02" + "\u1D67\u1D68\x05\u0230\u0119\x02\u1D68\u1D69\x07\u011C\x02\x02\u1D69\u1D6A" + "\x07`\x02\x02\u1D6A\u1D6B\x05\u05C2\u02E2\x02\u1D6B\u1E18\x03\x02\x02" + "\x02\u1D6C\u1D6D\x07\x8C\x02\x02\u1D6D\u1D6E\x07\xAA\x02\x02\u1D6E\u1D6F" + "\x05\u0230\u0119\x02\u1D6F\u1D70\x07\u011C\x02\x02\u1D70\u1D71\x07`\x02" + "\x02\u1D71\u1D72\x05\u05C2\u02E2\x02\u1D72\u1E18\x03\x02\x02\x02\u1D73" + "\u1D74\x07\x8C\x02\x02\u1D74\u1D75\x07\xB1\x02\x02\u1D75\u1D76\x05\u0590" + "\u02C9\x02\u1D76\u1D77\x07\u011C\x02\x02\u1D77\u1D78\x07`\x02\x02\u1D78" + "\u1D79\x05\u05C2\u02E2\x02\u1D79\u1E18\x03\x02\x02\x02\u1D7A\u1D7B\x07" + "\x8C\x02\x02\u1D7B\u1D7C\x07\xBF\x02\x02\u1D7C\u1D7D\x05\u0230\u0119\x02" + "\u1D7D\u1D7E\x07\u011C\x02\x02\u1D7E\u1D7F\x07`\x02\x02\u1D7F\u1D80\x05" + "\u05C2\u02E2\x02\u1D80\u1E18\x03\x02\x02\x02\u1D81\u1D82\x07\x8C\x02\x02" + "\u1D82\u1D83\x07\xD5\x02\x02\u1D83\u1D84\x05\u02A4\u0153\x02\u1D84\u1D85" + "\x07\u011C\x02\x02\u1D85\u1D86\x07`\x02\x02\u1D86\u1D87\x05\u05C2\u02E2" + "\x02\u1D87\u1E18\x03\x02\x02\x02\u1D88\u1D8A\x07\x8C\x02\x02\u1D89\u1D8B" + "\x05\u0152\xAA\x02\u1D8A\u1D89\x03\x02\x02\x02\u1D8A\u1D8B\x03\x02\x02" + "\x02\u1D8B\u1D8C\x03\x02\x02\x02\u1D8C\u1D8D\x07\xF9\x02\x02\u1D8D\u1D8E" + "\x05\u05A0\u02D1\x02\u1D8E\u1D8F\x07\u011C\x02\x02\u1D8F\u1D90\x07`\x02" + "\x02\u1D90\u1D91\x05\u05C2\u02E2\x02\u1D91\u1E18\x03\x02\x02\x02\u1D92" + "\u1D93\x07\x8C\x02\x02\u1D93\u1D94\x07\xFA\x02\x02\u1D94\u1D95\x07\u0114" + "\x02\x02\u1D95\u1D96\x05\u0142\xA2\x02\u1D96\u1D97\x07\u011C\x02\x02\u1D97" + "\u1D98\x07`\x02\x02\u1D98\u1D99\x05\u05C2\u02E2\x02\u1D99\u1E18\x03\x02" + "\x02\x02\u1D9A\u1D9B\x07\x8C\x02\x02\u1D9B\u1D9C\x07\u0118\x02\x02\u1D9C" + "\u1D9D\x05\u02E2\u0172\x02\u1D9D\u1D9E\x07\u011C\x02\x02\u1D9E\u1D9F\x07" + "`\x02\x02\u1D9F\u1DA0\x05\u05C2\u02E2\x02\u1DA0\u1E18\x03\x02\x02\x02" + "\u1DA1\u1DA2\x07\x8C\x02\x02\u1DA2\u1DA3\x07\u0118\x02\x02\u1DA3\u1DA4" + "\x07\x9E\x02\x02\u1DA4\u1DA5\x05\u0230\u0119\x02\u1DA5\u1DA6\x07f\x02" + "\x02\u1DA6\u1DA7\x05\u05A0\u02D1\x02\u1DA7\u1DA8\x07\u011C\x02\x02\u1DA8" + "\u1DA9\x07`\x02\x02\u1DA9\u1DAA\x05\u05C2\u02E2\x02\u1DAA\u1E18\x03\x02" + "\x02\x02\u1DAB\u1DAC\x07\x8C\x02\x02\u1DAC\u1DAD\x07\u0118\x02\x02\u1DAD" + "\u1DAE\x07\xD0\x02\x02\u1DAE\u1DAF\x05\u0230\u0119\x02\u1DAF\u1DB0\x07" + "f\x02\x02\u1DB0\u1DB1\x05\u05A0\u02D1\x02\u1DB1\u1DB2\x07\u011C\x02\x02" + "\u1DB2\u1DB3\x07`\x02\x02\u1DB3\u1DB4\x05\u05C2\u02E2\x02\u1DB4\u1E18" + "\x03\x02\x02\x02\u1DB5\u1DB6\x07\x8C\x02\x02\u1DB6\u1DB7\x07\u012A\x02" + "\x02\u1DB7\u1DB8\x05\u02A0\u0151\x02\u1DB8\u1DB9\x07\u011C\x02\x02\u1DB9" + "\u1DBA\x07`\x02\x02\u1DBA\u1DBB\x05\u05C2\u02E2\x02\u1DBB\u1E18\x03\x02" + "\x02\x02\u1DBC\u1DBD\x07\x8C\x02\x02\u1DBD\u1DBE\x07\u01BC\x02\x02\u1DBE" + "\u1DBF\x05\u029C\u014F\x02\u1DBF\u1DC0\x07\u011C\x02\x02\u1DC0\u1DC1\x07" + "`\x02\x02\u1DC1\u1DC2\x05\u05C2\u02E2\x02\u1DC2\u1E18\x03\x02\x02\x02" + "\u1DC3\u1DC4\x07\x8C\x02\x02\u1DC4\u1DC5\x07\u0145\x02\x02\u1DC5\u1DC6" + "\x05\u0592\u02CA\x02\u1DC6\u1DC7\x07\u011C\x02\x02\u1DC7\u1DC8\x07`\x02" + "\x02\u1DC8\u1DC9\x05\u05C2\u02E2\x02\u1DC9\u1E18\x03\x02\x02\x02\u1DCA" + "\u1DCB\x07\x8C\x02\x02\u1DCB\u1DCC\x07\u016A\x02\x02\u1DCC\u1DCD\x05\u0230" + "\u0119\x02\u1DCD\u1DCE\x07\u011C\x02\x02\u1DCE\u1DCF\x07`\x02\x02\u1DCF" + "\u1DD0\x05\u05C2\u02E2\x02\u1DD0\u1E18\x03\x02\x02\x02\u1DD1\u1DD2\x07" + "\x8C\x02\x02\u1DD2\u1DD3\x07\u0161\x02\x02\u1DD3\u1DD4\x05\u057E\u02C0" + "\x02\u1DD4\u1DD5\x07\u011C\x02\x02\u1DD5\u1DD6\x07`\x02\x02\u1DD6\u1DD7" + "\x05\u05C2\u02E2\x02\u1DD7\u1E18\x03\x02\x02\x02\u1DD8\u1DD9\x07\x8C\x02" + "\x02\u1DD9\u1DDA\x07\u0158\x02\x02\u1DDA\u1DDB\x05\u0230\u0119\x02\u1DDB" + "\u1DDC\x07\u011C\x02\x02\u1DDC\u1DDD\x07`\x02\x02\u1DDD\u1DDE\x05\u05C2" + "\u02E2\x02\u1DDE\u1E18\x03\x02\x02\x02\u1DDF\u1DE0\x07\x8C\x02\x02\u1DE0" + "\u1DE1\x07\u0165\x02\x02\u1DE1\u1DE2\x07\u0147\x02\x02\u1DE2\u1DE3\x07" + "\xBB\x02\x02\u1DE3\u1DE4\x05\u0230\u0119\x02\u1DE4\u1DE5\x07\u011C\x02" + "\x02\u1DE5\u1DE6\x07`\x02\x02\u1DE6\u1DE7\x05\u05C2\u02E2\x02\u1DE7\u1E18" + "\x03\x02\x02\x02\u1DE8\u1DE9\x07\x8C\x02\x02\u1DE9\u1DEA\x07\u0165\x02" + "\x02\u1DEA\u1DEB\x07\u0147\x02\x02\u1DEB\u1DEC\x07\xA5\x02\x02\u1DEC\u1DED" + "\x05\u0230\u0119\x02\u1DED\u1DEE\x07\u011C\x02\x02\u1DEE\u1DEF\x07`\x02" + "\x02\u1DEF\u1DF0\x05\u05C2\u02E2\x02\u1DF0\u1E18\x03\x02\x02\x02\u1DF1" + "\u1DF2\x07\x8C\x02\x02\u1DF2\u1DF3\x07A\x02\x02\u1DF3\u1DF4\x07\xB0\x02" + "\x02\u1DF4\u1DF5\x07\u017F\x02\x02\u1DF5\u1DF6\x05\u05A0\u02D1\x02\u1DF6" + "\u1DF7\x07\u011C\x02\x02\u1DF7\u1DF8\x07`\x02\x02\u1DF8\u1DF9\x05\u05C2" + "\u02E2\x02\u1DF9\u1E18\x03\x02\x02\x02\u1DFA\u1DFB\x07\x8C\x02\x02\u1DFB" + "\u1DFC\x07\u014D\x02\x02\u1DFC\u1DFD\x05\u05A0\u02D1\x02\u1DFD\u1DFE\x07" + "\u011C\x02\x02\u1DFE\u1DFF\x07`\x02\x02\u1DFF\u1E00\x05\u05C2\u02E2\x02" + "\u1E00\u1E18\x03\x02\x02\x02\u1E01\u1E02\x07\x8C\x02\x02\u1E02\u1E03\x07" + "\xC8\x02\x02\u1E03\u1E04\x07\u0167\x02\x02\u1E04\u1E05\x05\u05A0\u02D1" + "\x02\u1E05\u1E06\x07\u011C\x02\x02\u1E06\u1E07\x07`\x02\x02\u1E07\u1E08" + "\x05\u05C2\u02E2\x02\u1E08\u1E18\x03\x02\x02\x02\u1E09\u1E0A\x07\x8C\x02" + "\x02\u1E0A\u1E0B\x07\u01C6\x02\x02\u1E0B\u1E0C\x05\u05A0\u02D1\x02\u1E0C" + "\u1E0D\x07\u011C\x02\x02\u1E0D\u1E0E\x07`\x02\x02\u1E0E\u1E0F\x05\u05C2" + "\u02E2\x02\u1E0F\u1E18\x03\x02\x02\x02\u1E10\u1E11\x07\x8C\x02\x02\u1E11" + "\u1E12\x07\u01C5\x02\x02\u1E12\u1E13\x05\u05A0\u02D1\x02\u1E13\u1E14\x07" + "\u011C\x02\x02\u1E14\u1E15\x07`\x02\x02\u1E15\u1E16\x05\u05C2\u02E2\x02" + "\u1E16\u1E18\x03\x02\x02\x02\u1E17\u1D5E\x03\x02\x02\x02\u1E17\u1D65\x03" + "\x02\x02\x02\u1E17\u1D6C\x03\x02\x02\x02\u1E17\u1D73\x03\x02\x02\x02\u1E17" + "\u1D7A\x03\x02\x02\x02\u1E17\u1D81\x03\x02\x02\x02\u1E17\u1D88\x03\x02" + "\x02\x02\u1E17\u1D92\x03\x02\x02\x02\u1E17\u1D9A\x03\x02\x02\x02\u1E17" + "\u1DA1\x03\x02\x02\x02\u1E17\u1DAB\x03\x02\x02\x02\u1E17\u1DB5\x03\x02" + "\x02\x02\u1E17\u1DBC\x03\x02\x02\x02\u1E17\u1DC3\x03\x02\x02\x02\u1E17" + "\u1DCA\x03\x02\x02\x02\u1E17\u1DD1\x03\x02\x02\x02\u1E17\u1DD8\x03\x02" + "\x02\x02\u1E17\u1DDF\x03\x02\x02\x02\u1E17\u1DE8\x03\x02\x02\x02\u1E17" + "\u1DF1\x03\x02\x02\x02\u1E17\u1DFA\x03\x02\x02\x02\u1E17\u1E01\x03\x02" + "\x02\x02\u1E17\u1E09\x03\x02\x02\x02\u1E17\u1E10\x03\x02\x02\x02\u1E18" + "\u0317\x03\x02\x02\x02\u1E19\u1E1A\x070\x02\x02\u1E1A\u1E1B\x07\u01C6" + "\x02\x02\u1E1B\u1E1D\x05\u05A0\u02D1\x02\u1E1C\u1E1E\x05\u031A\u018E\x02" + "\u1E1D\u1E1C\x03\x02\x02\x02\u1E1D\u1E1E\x03\x02\x02\x02\u1E1E\u1E20\x03" + "\x02\x02\x02\u1E1F\u1E21\x05\u02C8\u0165\x02\u1E20\u1E1F\x03\x02\x02\x02" + "\u1E20\u1E21\x03\x02\x02\x02\u1E21\u0319\x03\x02\x02\x02\u1E22\u1E23\x05" + "\u031C\u018F\x02\u1E23\u031B\x03\x02\x02\x02\u1E24\u1E25\x07@\x02\x02" + "\u1E25\u1E26\x07^\x02\x02\u1E26\u1E2B\x05\u0468\u0235\x02\u1E27\u1E28" + "\x07@\x02\x02\u1E28\u1E29\x07 \x02\x02\u1E29\u1E2B\x07\u0160\x02\x02\u1E2A" + "\u1E24\x03\x02\x02\x02\u1E2A\u1E27\x03\x02\x02\x02\u1E2B\u031D\x03\x02" + "\x02\x02\u1E2C\u1E2D\x07\x8C\x02\x02\u1E2D\u1E2E\x07\u01C6\x02\x02\u1E2E" + "\u1E2F\x05\u05A0\u02D1\x02\u1E2F\u1E30\x07\u014F\x02\x02\u1E30\u1E31\x05" + "\u01F0\xF9\x02\u1E31\u1E53\x03\x02\x02\x02\u1E32\u1E33\x07\x8C\x02\x02" + "\u1E33\u1E34\x07\u01C6\x02\x02\u1E34\u1E35\x05\u05A0\u02D1\x02\u1E35\u1E36" + "\x07\x87\x02\x02\u1E36\u1E37\x05\u046A\u0236\x02\u1E37\u1E53\x03\x02\x02" + "\x02\u1E38\u1E39\x07\x8C\x02\x02\u1E39\u1E3A\x07\u01C6\x02\x02\u1E3A\u1E3B" + "\x05\u05A0\u02D1\x02\u1E3B\u1E3C\x07\u014F\x02\x02\u1E3C\u1E3D\x05\u046A" + "\u0236\x02\u1E3D\u1E53\x03\x02\x02\x02\u1E3E\u1E3F\x07\x8C\x02\x02\u1E3F" + "\u1E40\x07\u01C6\x02\x02\u1E40\u1E41\x05\u05A0\u02D1\x02\u1E41\u1E42\x07" + "\xC1\x02\x02\u1E42\u1E43\x05\u046A\u0236\x02\u1E43\u1E53\x03\x02\x02\x02" + "\u1E44\u1E45\x07\x8C\x02\x02\u1E45\u1E46\x07\u01C6\x02\x02\u1E46\u1E47" + "\x05\u05A0\u02D1\x02\u1E47\u1E48\x07\u011C\x02\x02\u1E48\u1E49\x07`\x02" + "\x02\u1E49\u1E4A\x05\u05C2\u02E2\x02\u1E4A\u1E53\x03\x02\x02\x02\u1E4B" + "\u1E4C\x07\x8C\x02\x02\u1E4C\u1E4D\x07\u01C6\x02\x02\u1E4D\u1E4E\x05\u05A0" + "\u02D1\x02\u1E4E\u1E4F\x07\u0137\x02\x02\u1E4F\u1E50\x07`\x02\x02\u1E50" + "\u1E51\x05\u05A0\u02D1\x02\u1E51\u1E53\x03\x02\x02\x02\u1E52\u1E2C\x03" + "\x02\x02\x02\u1E52\u1E32\x03\x02\x02\x02\u1E52\u1E38\x03\x02\x02\x02\u1E52" + "\u1E3E\x03\x02\x02\x02\u1E52\u1E44\x03\x02\x02\x02\u1E52\u1E4B\x03\x02" + "\x02\x02\u1E53\u031F\x03\x02\x02\x02\u1E54\u1E55\x070\x02\x02\u1E55\u1E56" + "\x07\u01C5\x02\x02\u1E56\u1E57\x05\u05A0\u02D1\x02\u1E57\u1E58\x07\xA6" + "\x02\x02\u1E58\u1E59\x05\u05B6\u02DC\x02\u1E59\u1E5A\x07\u01C6\x02\x02" + "\u1E5A\u1E5C\x05\u0322\u0192\x02\u1E5B\u1E5D\x05\u02C8\u0165\x02\u1E5C" + "\u1E5B\x03\x02\x02\x02\u1E5C\u1E5D\x03\x02\x02\x02\u1E5D\u0321\x03\x02" + "\x02\x02\u1E5E\u1E63\x05\u0324\u0193\x02\u1E5F\u1E60\x07\b\x02\x02\u1E60" + "\u1E62\x05\u0324\u0193\x02\u1E61\u1E5F\x03\x02\x02\x02\u1E62\u1E65\x03" + "\x02\x02\x02\u1E63\u1E61\x03\x02\x02\x02\u1E63\u1E64\x03\x02\x02\x02\u1E64" + "\u0323\x03\x02\x02\x02\u1E65\u1E63\x03\x02\x02\x02\u1E66\u1E67\x05\u05D6" + "\u02EC\x02\u1E67\u0325\x03\x02\x02\x02\u1E68\u1E69\x07\x8C\x02\x02\u1E69" + "\u1E6A\x07\u01C5\x02\x02\u1E6A\u1E6B\x05\u05A0\u02D1\x02\u1E6B\u1E6C\x07" + "\u014F\x02\x02\u1E6C\u1E6D\x05\u01F0\xF9\x02\u1E6D\u1EB7\x03\x02\x02\x02" + "\u1E6E\u1E6F\x07\x8C\x02\x02\u1E6F\u1E70\x07\u01C5\x02\x02\u1E70\u1E71" + "\x05\u05A0\u02D1\x02\u1E71\u1E72\x07\xA6\x02\x02\u1E72\u1E73\x05\u05B6" + "\u02DC\x02\u1E73\u1EB7\x03\x02\x02\x02\u1E74\u1E75\x07\x8C\x02\x02\u1E75" + "\u1E76\x07\u01C5\x02\x02\u1E76\u1E77\x05\u05A0\u02D1\x02\u1E77\u1E78\x07" + "\u0133\x02\x02\u1E78\u1E7A\x07\u01C6\x02\x02\u1E79\u1E7B\x05\u02C8\u0165" + "\x02\u1E7A\u1E79\x03\x02\x02\x02\u1E7A\u1E7B\x03\x02\x02\x02\u1E7B\u1EB7" + "\x03\x02\x02\x02\u1E7C\u1E7D\x07\x8C\x02\x02\u1E7D\u1E7E\x07\u01C5\x02" + "\x02\u1E7E\u1E7F\x05\u05A0\u02D1\x02\u1E7F\u1E80\x07\u014F\x02\x02\u1E80" + "\u1E81\x07\u01C6\x02\x02\u1E81\u1E83\x05\u0322\u0192\x02\u1E82\u1E84\x05" + "\u02C8\u0165\x02\u1E83\u1E82\x03\x02\x02\x02\u1E83\u1E84\x03\x02\x02\x02" + "\u1E84\u1EB7\x03\x02\x02\x02\u1E85\u1E86\x07\x8C\x02\x02\u1E86\u1E87\x07" + "\u01C5\x02\x02\u1E87\u1E88\x05\u05A0\u02D1\x02\u1E88\u1E89\x07\x87\x02" + "\x02\u1E89\u1E8A\x07\u01C6\x02\x02\u1E8A\u1E8C\x05\u0322\u0192\x02\u1E8B" + "\u1E8D\x05\u02C8\u0165\x02\u1E8C\u1E8B\x03\x02\x02\x02\u1E8C\u1E8D\x03" + "\x02\x02\x02\u1E8D\u1EB7\x03\x02\x02\x02\u1E8E\u1E8F\x07\x8C\x02\x02\u1E8F" + "\u1E90\x07\u01C5\x02\x02\u1E90\u1E91\x05\u05A0\u02D1\x02\u1E91\u1E92\x07" + "\xC1\x02\x02\u1E92\u1E93\x07\u01C6\x02\x02\u1E93\u1E95\x05\u0322\u0192" + "\x02\u1E94\u1E96\x05\u02C8\u0165\x02\u1E95\u1E94\x03\x02\x02\x02\u1E95" + "\u1E96\x03\x02\x02\x02\u1E96\u1EB7\x03\x02\x02\x02\u1E97\u1E98\x07\x8C" + "\x02\x02\u1E98\u1E99\x07\u01C5\x02\x02\u1E99\u1E9A\x05\u05A0\u02D1\x02" + "\u1E9A\u1E9B\x07\xC3\x02\x02\u1E9B\u1EB7\x03\x02\x02\x02\u1E9C\u1E9D\x07" + "\x8C\x02\x02\u1E9D\u1E9E\x07\u01C5\x02\x02\u1E9E\u1E9F\x05\u05A0\u02D1" + "\x02\u1E9F\u1EA0\x07\xBC\x02\x02\u1EA0\u1EB7\x03\x02\x02\x02\u1EA1\u1EA2" + "\x07\x8C\x02\x02\u1EA2\u1EA3\x07\u01C5\x02\x02\u1EA3\u1EA4\x05\u05A0\u02D1" + "\x02\u1EA4\u1EA5\x07\u014F\x02\x02\u1EA5\u1EA6\x05\u01F0\xF9\x02\u1EA6" + "\u1EB7\x03\x02\x02\x02\u1EA7\u1EA8\x07\x8C\x02\x02\u1EA8\u1EA9\x07\u01C5" + "\x02\x02\u1EA9\u1EAA\x05\u05A0\u02D1\x02\u1EAA\u1EAB\x07\u01D3\x02\x02" + "\u1EAB\u1EAC\x07\x04\x02\x02\u1EAC\u1EAD\x05\u01FC\xFF\x02\u1EAD\u1EAE" + "\x07\x05\x02\x02\u1EAE\u1EB7\x03\x02\x02\x02\u1EAF\u1EB0\x07\x8C\x02\x02" + "\u1EB0\u1EB1\x07\u01C5\x02\x02\u1EB1\u1EB2\x05\u05A0\u02D1\x02\u1EB2\u1EB3" + "\x07\u011C\x02\x02\u1EB3\u1EB4\x07`\x02\x02\u1EB4\u1EB5\x05\u05C2\u02E2" + "\x02\u1EB5\u1EB7\x03\x02\x02\x02\u1EB6\u1E68\x03\x02\x02\x02\u1EB6\u1E6E" + "\x03\x02\x02\x02\u1EB6\u1E74\x03\x02\x02\x02\u1EB6\u1E7C\x03\x02\x02\x02" + "\u1EB6\u1E85\x03\x02\x02\x02\u1EB6\u1E8E\x03\x02\x02\x02\u1EB6\u1E97\x03" + "\x02\x02\x02\u1EB6\u1E9C\x03\x02\x02\x02\u1EB6\u1EA1\x03\x02\x02\x02\u1EB6" + "\u1EA7\x03\x02\x02\x02\u1EB6\u1EAF\x03\x02\x02\x02\u1EB7\u0327\x03\x02" + "\x02\x02\u1EB8\u1EBA\x070\x02\x02\u1EB9\u1EBB\x05\u0294\u014B\x02\u1EBA" + "\u1EB9\x03\x02\x02\x02\u1EBA\u1EBB\x03\x02\x02\x02\u1EBB\u1EBC\x03\x02" + "\x02\x02\u1EBC\u1EBD\x07\u0143\x02\x02\u1EBD\u1EBE\x05\u05A0\u02D1\x02" + "\u1EBE\u1EBF\x07&\x02\x02\u1EBF\u1EC0\x07R\x02\x02\u1EC0\u1EC1\x05\u0332" + "\u019A\x02\u1EC1\u1EC2\x07`\x02\x02\u1EC2\u1EC4\x05\u0588\u02C5\x02\u1EC3" + "\u1EC5\x05\u047C\u023F\x02\u1EC4\u1EC3\x03\x02\x02\x02\u1EC4\u1EC5\x03" + "\x02\x02\x02\u1EC5\u1EC6\x03\x02\x02\x02\u1EC6\u1EC8\x07;\x02\x02\u1EC7" + "\u1EC9\x05\u0334\u019B\x02\u1EC8\u1EC7\x03\x02\x02\x02\u1EC8\u1EC9\x03" + "\x02\x02\x02\u1EC9\u1ECA\x03\x02\x02\x02\u1ECA\u1ECB\x05\u032A\u0196\x02" + "\u1ECB\u0329\x03\x02\x02\x02\u1ECC\u1ED3\x07\u0110\x02\x02\u1ECD\u1ED3" + "\x05\u032E\u0198\x02\u1ECE\u1ECF\x07\x04\x02\x02\u1ECF\u1ED0\x05\u032C" + "\u0197\x02\u1ED0\u1ED1\x07\x05\x02\x02\u1ED1\u1ED3\x03\x02\x02\x02\u1ED2" + "\u1ECC\x03\x02\x02\x02\u1ED2\u1ECD\x03\x02\x02\x02\u1ED2\u1ECE\x03\x02" + "\x02\x02\u1ED3\u032B\x03\x02\x02\x02\u1ED4\u1ED6\x05\u0330\u0199\x02\u1ED5" + "\u1ED4\x03\x02\x02\x02\u1ED5\u1ED6\x03\x02\x02\x02\u1ED6\u1EDD\x03\x02" + "\x02\x02\u1ED7\u1ED9\x07\t\x02\x02\u1ED8\u1EDA\x05\u0330\u0199\x02\u1ED9" + "\u1ED8\x03\x02\x02\x02\u1ED9\u1EDA\x03\x02\x02\x02\u1EDA\u1EDC\x03\x02" + "\x02\x02\u1EDB\u1ED7\x03\x02\x02\x02\u1EDC\u1EDF\x03\x02\x02\x02\u1EDD" + "\u1EDB\x03\x02\x02\x02\u1EDD\u1EDE\x03\x02\x02\x02\u1EDE\u032D\x03\x02" + "\x02\x02\u1EDF\u1EDD\x03\x02\x02\x02\u1EE0\u1EE6\x05\u03EC\u01F7\x02\u1EE1" + "\u1EE6\x05\u03BA\u01DE\x02\u1EE2\u1EE6\x05\u03DA\u01EE\x02\u1EE3\u1EE6" + "\x05\u03CC\u01E7\x02\u1EE4\u1EE6\x05\u0336\u019C\x02\u1EE5\u1EE0\x03\x02" + "\x02\x02\u1EE5\u1EE1\x03\x02\x02\x02\u1EE5\u1EE2\x03\x02\x02\x02\u1EE5" + "\u1EE3\x03\x02\x02\x02\u1EE5\u1EE4\x03\x02\x02\x02\u1EE6\u032F\x03\x02" + "\x02\x02\u1EE7\u1EE8\x05\u032E\u0198\x02\u1EE8\u0331\x03\x02\x02\x02\u1EE9" + "\u1EEA\t*\x02\x02\u1EEA\u0333\x03\x02\x02\x02\u1EEB\u1EEC\t+\x02\x02\u1EEC" + "\u0335\x03\x02\x02\x02\u1EED\u1EEE\x07\u0111\x02\x02\u1EEE\u1EF0\x05\u05C6" + "\u02E4\x02\u1EEF\u1EF1\x05\u0338\u019D\x02\u1EF0\u1EEF\x03\x02\x02\x02" + "\u1EF0\u1EF1\x03\x02\x02\x02\u1EF1\u0337\x03\x02\x02\x02\u1EF2\u1EF3\x07" + "\b\x02\x02\u1EF3\u1EF4\x05\u05B6\u02DC\x02\u1EF4\u0339\x03\x02\x02\x02" + "\u1EF5\u1EF6\x07\xFE\x02\x02\u1EF6\u1EF7\x05\u05C6\u02E4\x02\u1EF7\u033B" + "\x03\x02\x02\x02\u1EF8\u1EF9\x07\u0170\x02\x02\u1EF9\u1EFD\x05\u05C6\u02E4" + "\x02\u1EFA\u1EFB\x07\u0170\x02\x02\u1EFB\u1EFD\x07\v\x02\x02\u1EFC\u1EF8" + "\x03\x02\x02\x02\u1EFC\u1EFA\x03\x02\x02\x02\u1EFD\u033D\x03\x02\x02\x02" + "\u1EFE\u1F00\x07\x83\x02\x02\u1EFF\u1F01\x05\u0340\u01A1\x02\u1F00\u1EFF" + "\x03\x02\x02\x02\u1F00\u1F01\x03\x02\x02\x02\u1F01\u1F03\x03\x02\x02\x02" + "\u1F02\u1F04\x05\u0348\u01A5\x02\u1F03\u1F02\x03\x02\x02\x02\u1F03\u1F04" + "\x03\x02\x02\x02\u1F04\u1F44\x03\x02\x02\x02\u1F05\u1F07\x07\x94\x02\x02" + "\u1F06\u1F08\x05\u0340\u01A1\x02\u1F07\u1F06\x03\x02\x02\x02\u1F07\u1F08" + "\x03\x02\x02\x02\u1F08\u1F0A\x03\x02\x02\x02\u1F09\u1F0B\x05\u0346\u01A4" + "\x02\u1F0A\u1F09\x03\x02\x02\x02\u1F0A\u1F0B\x03\x02\x02\x02\u1F0B\u1F44" + "\x03\x02\x02\x02\u1F0C\u1F0D\x07\u0156\x02\x02\u1F0D\u1F0F\x07\u0166\x02" + "\x02\u1F0E\u1F10\x05\u0346\u01A4\x02\u1F0F\u1F0E\x03\x02\x02\x02\u1F0F" + "\u1F10\x03\x02\x02\x02\u1F10\u1F44\x03\x02\x02\x02\u1F11\u1F13\x07\xA3" + "\x02\x02\u1F12\u1F14\x05\u0340\u01A1\x02\u1F13\u1F12\x03\x02\x02\x02\u1F13" + "\u1F14\x03\x02\x02\x02\u1F14\u1F16\x03\x02\x02\x02\u1F15\u1F17\x05\u0348" + "\u01A5\x02\u1F16\u1F15\x03\x02\x02\x02\u1F16\u1F17\x03\x02\x02\x02\u1F17" + "\u1F44\x03\x02\x02\x02\u1F18\u1F1A\x07\u01C8\x02\x02\u1F19\u1F1B\x05\u0340" + "\u01A1\x02\u1F1A\u1F19\x03\x02\x02\x02\u1F1A\u1F1B\x03\x02\x02\x02\u1F1B" + "\u1F1D\x03\x02\x02\x02\u1F1C\u1F1E\x05\u0348\u01A5\x02\u1F1D\u1F1C\x03" + "\x02\x02\x02\u1F1D\u1F1E\x03\x02\x02\x02\u1F1E\u1F44\x03\x02\x02\x02\u1F1F" + "\u1F21\x07\u0141\x02\x02\u1F20\u1F22\x05\u0340\u01A1\x02\u1F21\u1F20\x03" + "\x02\x02\x02\u1F21\u1F22\x03\x02\x02\x02\u1F22\u1F24\x03\x02\x02\x02\u1F23" + "\u1F25\x05\u0348\u01A5\x02\u1F24\u1F23\x03\x02\x02\x02\u1F24\u1F25\x03" + "\x02\x02\x02\u1F25\u1F44\x03\x02\x02\x02\u1F26\u1F27\x07\u0144\x02\x02" + "\u1F27\u1F44\x05\u05C6\u02E4\x02\u1F28\u1F29\x07\u0136\x02\x02\u1F29\u1F2A" + "\x07\u0144\x02\x02\u1F2A\u1F44\x05\u05C6\u02E4\x02\u1F2B\u1F2C\x07\u0136" + "\x02\x02\u1F2C\u1F44\x05\u05C6\u02E4\x02\u1F2D\u1F2F\x07\u0141\x02\x02" + "\u1F2E\u1F30\x05\u0340\u01A1\x02\u1F2F\u1F2E\x03\x02\x02\x02\u1F2F\u1F30" + "\x03\x02\x02\x02\u1F30\u1F31\x03\x02\x02\x02\u1F31\u1F32\x07`\x02\x02" + "\u1F32\u1F33\x07\u0144\x02\x02\u1F33\u1F44\x05\u05C6\u02E4\x02\u1F34\u1F36" + "\x07\u0141\x02\x02\u1F35\u1F37\x05\u0340\u01A1\x02\u1F36\u1F35\x03\x02" + "\x02\x02\u1F36\u1F37\x03\x02\x02\x02\u1F37\u1F38\x03\x02\x02\x02\u1F38" + "\u1F39\x07`\x02\x02\u1F39\u1F44\x05\u05C6\u02E4\x02\u1F3A\u1F3B\x07\u0124" + "\x02\x02\u1F3B\u1F3C\x07\u0166\x02\x02\u1F3C\u1F44\x05\u05B6\u02DC\x02" + "\u1F3D\u1F3E\x07\xA3\x02\x02\u1F3E\u1F3F\x07\u0125\x02\x02\u1F3F\u1F44" + "\x05\u05B6\u02DC\x02\u1F40\u1F41\x07\u0141\x02\x02\u1F41\u1F42\x07\u0125" + "\x02\x02\u1F42\u1F44\x05\u05B6\u02DC\x02\u1F43\u1EFE\x03\x02\x02\x02\u1F43" + "\u1F05\x03\x02\x02\x02\u1F43\u1F0C\x03\x02\x02\x02\u1F43\u1F11\x03\x02" + "\x02\x02\u1F43\u1F18\x03\x02\x02\x02\u1F43\u1F1F\x03\x02\x02\x02\u1F43" + "\u1F26\x03\x02\x02\x02\u1F43\u1F28\x03\x02\x02\x02\u1F43\u1F2B\x03\x02" + "\x02\x02\u1F43\u1F2D\x03\x02\x02\x02\u1F43\u1F34\x03\x02\x02\x02\u1F43" + "\u1F3A\x03\x02\x02\x02\u1F43\u1F3D\x03\x02\x02\x02\u1F43\u1F40\x03\x02" + "\x02\x02\u1F44\u033F\x03\x02\x02\x02\u1F45\u1F46\t,\x02\x02\u1F46\u0341" + "\x03\x02\x02\x02\u1F47\u1F48\x07\xF6\x02\x02\u1F48\u1F49\x07\xFD\x02\x02" + "\u1F49\u1F52\x05F$\x02\u1F4A\u1F4B\x07\u012E\x02\x02\u1F4B\u1F52\x07S" + "\x02\x02\u1F4C\u1F4D\x07\u012E\x02\x02\u1F4D\u1F52\x07\u0180\x02\x02\u1F4E" + "\u1F52\x078\x02\x02\u1F4F\u1F50\x07O\x02\x02\u1F50\u1F52\x078\x02\x02" + "\u1F51\u1F47\x03\x02\x02\x02\u1F51\u1F4A\x03\x02\x02\x02\u1F51\u1F4C\x03" + "\x02\x02\x02\u1F51\u1F4E\x03\x02\x02\x02\u1F51\u1F4F\x03\x02\x02\x02\u1F52" + "\u0343\x03\x02\x02\x02\u1F53\u1F5A\x05\u0342\u01A2\x02\u1F54\u1F56\x07" + "\b\x02\x02\u1F55\u1F54\x03\x02\x02\x02\u1F55\u1F56\x03\x02\x02\x02\u1F56" + "\u1F57\x03\x02\x02\x02\u1F57\u1F59\x05\u0342\u01A2\x02\u1F58\u1F55\x03" + "\x02\x02\x02\u1F59\u1F5C\x03\x02\x02\x02\u1F5A\u1F58\x03\x02\x02\x02\u1F5A" + "\u1F5B\x03\x02\x02\x02\u1F5B\u0345\x03\x02\x02\x02\u1F5C\u1F5A\x03\x02" + "\x02\x02\u1F5D\u1F5E\x05\u0344\u01A3\x02\u1F5E\u0347\x03\x02\x02\x02\u1F5F" + "\u1F61\x07#\x02\x02\u1F60\u1F62\x07\u010F\x02\x02\u1F61\u1F60\x03\x02" + "\x02\x02\u1F61\u1F62\x03\x02\x02\x02\u1F62\u1F63\x03\x02\x02\x02\u1F63" + "\u1F64\x07\x9B\x02\x02\u1F64\u0349\x03\x02\x02\x02\u1F65\u1F68\x070\x02" + "\x02\u1F66\u1F67\x07T\x02\x02\u1F67\u1F69\x07\u0139\x02\x02\u1F68\u1F66" + "\x03\x02\x02\x02\u1F68\u1F69\x03\x02\x02\x02\u1F69\u1F6B\x03\x02\x02\x02" + "\u1F6A\u1F6C\x05\xC0a\x02\u1F6B\u1F6A\x03\x02\x02\x02\u1F6B\u1F6C\x03" + "\x02\x02\x02\u1F6C\u1F7E\x03\x02\x02\x02\u1F6D\u1F6E\x07\u017A\x02\x02" + "\u1F6E\u1F70\x05\u0584\u02C3\x02\u1F6F\u1F71\x05\xF4{\x02\u1F70\u1F6F" + "\x03\x02\x02\x02\u1F70\u1F71\x03\x02\x02\x02\u1F71\u1F73\x03\x02\x02\x02" + "\u1F72\u1F74\x05\x88E\x02\u1F73\u1F72\x03\x02\x02\x02\u1F73\u1F74\x03" + "\x02\x02\x02\u1F74\u1F7F\x03\x02\x02\x02\u1F75\u1F76\x07\u0131\x02\x02" + "\u1F76\u1F77\x07\u017A\x02\x02\u1F77\u1F78\x05\u0584\u02C3\x02\u1F78\u1F79" + "\x07\x04\x02\x02\u1F79\u1F7A\x05\xF6|\x02\u1F7A\u1F7C\x07\x05\x02\x02" + "\u1F7B\u1F7D\x05\x88E\x02\u1F7C\u1F7B\x03\x02\x02\x02\u1F7C\u1F7D\x03" + "\x02\x02\x02\u1F7D\u1F7F\x03\x02\x02\x02\u1F7E\u1F6D\x03\x02\x02\x02\u1F7E" + "\u1F75\x03\x02\x02\x02\u1F7F\u1F80\x03\x02\x02\x02\u1F80\u1F81\x07&\x02" + "\x02\u1F81\u1F83\x05\u03EC\u01F7\x02\u1F82\u1F84\x05\u034C\u01A7\x02\u1F83" + "\u1F82\x03\x02\x02\x02\u1F83\u1F84\x03\x02\x02\x02\u1F84\u034B\x03\x02" + "\x02\x02\u1F85\u1F87\x07k\x02\x02\u1F86\u1F88\t-\x02\x02\u1F87\u1F86\x03" + "\x02\x02\x02\u1F87\u1F88\x03\x02\x02\x02\u1F88\u1F89\x03\x02\x02\x02\u1F89" + "\u1F8A\x07,\x02\x02\u1F8A\u1F8B\x07\u0119\x02\x02\u1F8B\u034D\x03\x02" + "\x02\x02\u1F8C\u1F8D\x07\xFF\x02\x02\u1F8D\u1F8E\x05\u05A4\u02D3\x02\u1F8E" + "\u034F\x03\x02\x02\x02\u1F8F\u1F90\x070\x02\x02\u1F90\u1F91\x07\xB1\x02" + "\x02\u1F91\u1F93\x05\u058E\u02C8\x02\u1F92\u1F94\x05\x10\t\x02\u1F93\u1F92" + "\x03\x02\x02\x02\u1F93\u1F94\x03\x02\x02\x02\u1F94\u1F96\x03\x02\x02\x02" + "\u1F95\u1F97\x05\u0352\u01AA\x02\u1F96\u1F95\x03\x02\x02\x02\u1F96\u1F97" + "\x03\x02\x02\x02\u1F97\u0351\x03\x02\x02\x02\u1F98\u1F99\x05\u0354\u01AB" + "\x02\u1F99\u0353\x03\x02\x02\x02\u1F9A\u1F9C\x05\u0356\u01AC\x02\u1F9B" + "\u1F9A\x03\x02\x02\x02\u1F9C\u1F9D\x03\x02\x02\x02\u1F9D\u1F9B\x03\x02" + "\x02\x02\u1F9D\u1F9E\x03\x02\x02\x02\u1F9E\u0355\x03\x02\x02\x02\u1F9F" + "\u1FA1\x05\u0358\u01AD\x02\u1FA0\u1FA2\x05\u035A\u01AE\x02\u1FA1\u1FA0" + "\x03\x02\x02\x02\u1FA1\u1FA2\x03\x02\x02\x02\u1FA2\u1FA6\x03\x02\x02\x02" + "\u1FA3\u1FA7\x05\u05BC\u02DF\x02\u1FA4\u1FA7\x05J&\x02\u1FA5\u1FA7\x07" + "7\x02\x02\u1FA6\u1FA3\x03\x02\x02\x02\u1FA6\u1FA4\x03\x02\x02\x02\u1FA6" + "\u1FA5\x03\x02\x02\x02\u1FA7\u0357\x03\x02\x02\x02\u1FA8\u1FB1\x05\u05D8" + "\u02ED\x02\u1FA9\u1FAA\x07\xA6\x02\x02\u1FAA\u1FB1\x07L\x02\x02\u1FAB" + "\u1FB1\x07\xC4\x02\x02\u1FAC\u1FB1\x07\u0101\x02\x02\u1FAD\u1FB1\x07\u011C" + "\x02\x02\u1FAE\u1FB1\x07\u0161\x02\x02\u1FAF\u1FB1\x07\u0163\x02\x02\u1FB0" + "\u1FA8\x03\x02\x02\x02\u1FB0\u1FA9\x03\x02\x02\x02\u1FB0\u1FAB\x03\x02" + "\x02\x02\u1FB0\u1FAC\x03\x02\x02\x02\u1FB0\u1FAD\x03\x02\x02\x02\u1FB0" + "\u1FAE\x03\x02\x02\x02\u1FB0\u1FAF\x03\x02\x02\x02\u1FB1\u0359\x03\x02" + "\x02\x02\u1FB2\u1FB3\x07\f\x02\x02\u1FB3\u035B\x03\x02\x02\x02\u1FB4\u1FB5" + "\x07\x8C\x02\x02\u1FB5\u1FB6\x07\xB1\x02\x02\u1FB6\u1FC5\x05\u0590\u02C9" + "\x02\u1FB7\u1FB9\x07k\x02\x02\u1FB8\u1FB7\x03\x02\x02\x02\u1FB8\u1FB9" + "\x03\x02\x02\x02\u1FB9\u1FBA\x03\x02\x02\x02\u1FBA\u1FBC\x05\u0352\u01AA" + "\x02\u1FBB\u1FB8\x03\x02\x02\x02\u1FBB\u1FBC\x03\x02\x02\x02\u1FBC\u1FC6" + "\x03\x02\x02\x02\u1FBD\u1FBF\x05\u0352\u01AA\x02\u1FBE\u1FBD\x03\x02\x02" + "\x02\u1FBE\u1FBF\x03\x02\x02\x02\u1FBF\u1FC6\x03\x02\x02\x02\u1FC0\u1FC1" + "\x07\u014F\x02\x02\u1FC1\u1FC2\x07\u0161\x02\x02\u1FC2\u1FC4\x05\u057C" + "\u02BF\x02\u1FC3\u1FC0\x03\x02\x02\x02\u1FC3\u1FC4\x03\x02\x02\x02\u1FC4" + "\u1FC6\x03\x02\x02\x02\u1FC5\u1FBB\x03\x02\x02\x02\u1FC5\u1FBE\x03\x02" + "\x02\x02\u1FC5\u1FC3\x03\x02\x02\x02\u1FC6\u035D\x03\x02\x02\x02\u1FC7" + "\u1FC8\x07\x8C\x02\x02\u1FC8\u1FC9\x07\xB1\x02\x02\u1FC9\u1FCB\x05\u0590" + "\u02C9\x02\u1FCA\u1FCC\x05Z.\x02\u1FCB\u1FCA\x03\x02\x02\x02\u1FCB\u1FCC" + "\x03\x02\x02\x02\u1FCC\u035F\x03\x02\x02\x02\u1FCD\u1FD2\x05\u0362\u01B2" + "\x02\u1FCE\u1FCF\x07\b\x02\x02\u1FCF\u1FD1\x05\u0362\u01B2\x02\u1FD0\u1FCE" + "\x03\x02\x02\x02\u1FD1\u1FD4\x03\x02\x02\x02\u1FD2\u1FD0\x03\x02\x02\x02" + "\u1FD2\u1FD3\x03\x02\x02\x02\u1FD3\u0361\x03\x02\x02\x02\u1FD4\u1FD2\x03" + "\x02\x02\x02\u1FD5\u1FD6\x07\xD3\x02\x02\u1FD6\u0363\x03\x02\x02\x02\u1FD7" + "\u1FD8\x07\x8C\x02\x02\u1FD8\u1FD9\x07n\x02\x02\u1FD9\u1FDA\x05\u0230" + "\u0119\x02\u1FDA\u1FDB\x07\u0133\x02\x02\u1FDB\u1FDC\x07\u0179\x02\x02" + "\u1FDC\u0365\x03\x02\x02\x02\u1FDD\u1FDE\x07\x8C\x02\x02\u1FDE\u1FDF\x07" + "\u015F\x02\x02\u1FDF\u1FE0\t.\x02\x02\u1FE0\u1FE1\x05<\x1F\x02\u1FE1\u0367" + "\x03\x02\x02\x02\u1FE2\u1FE3\x070\x02\x02\u1FE3\u1FE4\x07\xBF\x02\x02" + "\u1FE4\u1FE6\x05\u0230\u0119\x02\u1FE5\u1FE7\x05\u036C\u01B7\x02\u1FE6" + "\u1FE5\x03\x02\x02\x02\u1FE6\u1FE7\x03\x02\x02\x02\u1FE7\u1FE8\x03\x02" + "\x02\x02\u1FE8\u1FE9\x05\u0494\u024B\x02\u1FE9\u1FEA\x05\xDAn\x02\u1FEA" + "\u0369\x03\x02\x02\x02\u1FEB\u1FEC\x07\x8C\x02\x02\u1FEC\u1FED\x07\xBF" + "\x02\x02\u1FED\u2003\x05\u0230\u0119\x02\u1FEE\u2004\x05|?\x02\u1FEF\u1FF0" + "\x07\xC1\x02\x02\u1FF0\u1FF1\x07O\x02\x02\u1FF1\u2004\x07P\x02\x02\u1FF2" + "\u1FF3\x07\u014F\x02\x02\u1FF3\u1FF4\x07O\x02\x02\u1FF4\u2004\x07P\x02" + "\x02\u1FF5\u1FF6\x07\x87\x02\x02\u1FF6\u2004\x05\xEEx\x02\u1FF7\u1FF8" + "\x07\xC1\x02\x02\u1FF8\u1FFA\x07/\x02\x02\u1FF9\u1FFB\x05\u02EE\u0178" + "\x02\u1FFA\u1FF9\x03\x02\x02\x02\u1FFA\u1FFB\x03\x02\x02\x02\u1FFB\u1FFC" + "\x03\x02\x02\x02\u1FFC\u1FFE\x05\u05A0\u02D1\x02\u1FFD\u1FFF\x05~@\x02" + "\u1FFE\u1FFD\x03\x02\x02\x02\u1FFE\u1FFF\x03\x02\x02\x02\u1FFF\u2004\x03" + "\x02\x02\x02\u2000\u2001\x07\u0176\x02\x02\u2001\u2002\x07/\x02\x02\u2002" + "\u2004\x05\u05A0\u02D1\x02\u2003\u1FEE\x03\x02\x02\x02\u2003\u1FEF\x03" + "\x02\x02\x02\u2003\u1FF2\x03\x02\x02\x02\u2003\u1FF5\x03\x02\x02\x02\u2003" + "\u1FF7\x03\x02\x02\x02\u2003\u2000\x03\x02\x02\x02\u2004\u036B\x03\x02" + "\x02\x02\u2005\u2006\x07&\x02\x02\u2006\u036D\x03\x02\x02\x02\u2007\u2008" + "\x07\x8C\x02\x02\u2008\u2009\x07\u0165\x02\x02\u2009\u200A\x07\u0147\x02" + "\x02\u200A"; private static readonly _serializedATNSegment16: string = "\u200B\x07\xBB\x02\x02\u200B\u200C\x05\u0230\u0119\x02\u200C\u200D\x05" + "\u01F0\xF9\x02\u200D\u036F\x03\x02\x02\x02\u200E\u200F\x07\x8C\x02\x02" + "\u200F\u2010\x07\u0165\x02\x02\u2010\u2011\x07\u0147\x02\x02\u2011\u2012" + "\x07\xA5\x02\x02\u2012\u2013\x05\u0230\u0119\x02\u2013\u2014\x07\x87\x02" + "\x02\u2014\u2015\x07\u0103\x02\x02\u2015\u2016\x07@\x02\x02\u2016\u2017" + "\x05\u058C\u02C7\x02\u2017\u2018\x05\u0372\u01BA\x02\u2018\u2019\x05\u0228" + "\u0115\x02\u2019\u204E\x03\x02\x02\x02\u201A\u201B\x07\x8C\x02\x02\u201B" + "\u201C\x07\u0165\x02\x02\u201C\u201D\x07\u0147\x02\x02\u201D\u201E\x07" + "\xA5\x02\x02\u201E\u201F\x05\u0230\u0119\x02\u201F\u2020\x07\x8C\x02\x02" + "\u2020\u2021\x07\u0103\x02\x02\u2021\u2022\x07@\x02\x02\u2022\u2023\x05" + "\u058C\u02C7\x02\u2023\u2024\x05\u0372\u01BA\x02\u2024\u2025\x05\u0228" + "\u0115\x02\u2025\u204E\x03\x02\x02\x02\u2026\u2027\x07\x8C\x02\x02\u2027" + "\u2028\x07\u0165\x02\x02\u2028\u2029\x07\u0147\x02\x02\u2029\u202A\x07" + "\xA5\x02\x02\u202A\u202B\x05\u0230\u0119\x02\u202B\u202C\x07\x8C\x02\x02" + "\u202C\u202D\x07\u0103\x02\x02\u202D\u202E\x07\u0139\x02\x02\u202E\u202F" + "\x05\u0230\u0119\x02\u202F\u2030\x05\u0372\u01BA\x02\u2030\u2031\x05\u0230" + "\u0119\x02\u2031\u204E\x03\x02\x02\x02\u2032\u2033\x07\x8C\x02\x02\u2033" + "\u2034\x07\u0165\x02\x02\u2034\u2035\x07\u0147\x02\x02\u2035\u2036\x07" + "\xA5\x02\x02\u2036\u2037\x05\u0230\u0119\x02\u2037\u2038\x07\x8C\x02\x02" + "\u2038\u2039\x07\u0103\x02\x02\u2039\u203A\x07@\x02\x02\u203A\u203B\x05" + "\u058C\u02C7\x02\u203B\u203C\x07\u0139\x02\x02\u203C\u203D\x05\u0230\u0119" + "\x02\u203D\u203E\x05\u0372\u01BA\x02\u203E\u203F\x05\u0230\u0119\x02\u203F" + "\u204E\x03\x02\x02\x02\u2040\u2041\x07\x8C\x02\x02\u2041\u2042\x07\u0165" + "\x02\x02\u2042\u2043\x07\u0147\x02\x02\u2043\u2044\x07\xA5\x02\x02\u2044" + "\u2045\x05\u0230\u0119\x02\u2045\u2046\x07\xC1\x02\x02\u2046\u2048\x07" + "\u0103\x02\x02\u2047\u2049\x05\u02EE\u0178\x02\u2048\u2047\x03\x02\x02" + "\x02\u2048\u2049\x03\x02\x02\x02\u2049\u204A\x03\x02\x02\x02\u204A\u204B" + "\x07@\x02\x02\u204B\u204C\x05\u058C\u02C7\x02\u204C\u204E\x03\x02\x02" + "\x02\u204D\u200E\x03\x02\x02\x02\u204D\u201A\x03\x02\x02\x02\u204D\u2026" + "\x03\x02\x02\x02\u204D\u2032\x03\x02\x02\x02\u204D\u2040\x03\x02\x02\x02" + "\u204E\u0371\x03\x02\x02\x02\u204F\u2050\x07k\x02\x02\u2050\u0373\x03" + "\x02\x02\x02\u2051\u2053\x070\x02\x02\u2052\u2054\x05\u020C\u0107\x02" + "\u2053\u2052\x03\x02\x02\x02\u2053\u2054\x03\x02\x02\x02\u2054\u2055\x03" + "\x02\x02\x02\u2055\u2056\x07\xAA\x02\x02\u2056\u2057\x05\u0230\u0119\x02" + "\u2057\u2058\x07@\x02\x02\u2058\u2059\x05\u05B6\u02DC\x02\u2059\u205A" + "\x07`\x02\x02\u205A\u205B\x05\u05B6\u02DC\x02\u205B\u205C\x07B\x02\x02" + "\u205C\u205D\x05\u0230\u0119\x02\u205D\u0375\x03\x02\x02\x02\u205E\u2060" + "\x07\xA0\x02\x02\u205F\u2061\x05\u0390\u01C9\x02\u2060\u205F\x03\x02\x02" + "\x02\u2060\u2061\x03\x02\x02\x02\u2061\u2062\x03\x02\x02\x02\u2062\u2064" + "\x05\u0582\u02C2\x02\u2063\u2065\x05\u037A\u01BE\x02\u2064\u2063\x03\x02" + "\x02\x02\u2064\u2065\x03\x02\x02\x02\u2065\u2071\x03\x02\x02\x02\u2066" + "\u2068\x07\xA0\x02\x02\u2067\u2069\x05\u0390\u01C9\x02\u2068\u2067\x03" + "\x02\x02\x02\u2068\u2069\x03\x02\x02\x02\u2069\u2071\x03\x02\x02\x02\u206A" + "\u206B\x07\xA0\x02\x02\u206B\u206C\x05\u0378\u01BD\x02\u206C\u206E\x05" + "\u0582\u02C2\x02\u206D\u206F\x05\u037A\u01BE\x02\u206E\u206D\x03\x02\x02" + "\x02\u206E\u206F\x03\x02\x02\x02\u206F\u2071\x03\x02\x02\x02\u2070\u205E" + "\x03\x02\x02\x02\u2070\u2066\x03\x02\x02\x02\u2070\u206A\x03\x02\x02\x02" + "\u2071\u0377\x03\x02\x02\x02\u2072\u2073\x07\x04\x02\x02\u2073\u2078\x05" + "\u0390\u01C9\x02\u2074\u2075\x07\b\x02\x02\u2075\u2077\x05\u0390\u01C9" + "\x02\u2076\u2074\x03\x02\x02\x02\u2077\u207A\x03\x02\x02\x02\u2078\u2076" + "\x03\x02\x02\x02\u2078\u2079\x03\x02\x02\x02\u2079\u207B\x03\x02\x02\x02" + "\u207A\u2078\x03\x02\x02\x02\u207B\u207C\x07\x05\x02\x02\u207C\u0379\x03" + "\x02\x02\x02\u207D\u207E\x07f\x02\x02\u207E\u207F\x05\u05A0\u02D1\x02" + "\u207F\u037B\x03\x02\x02\x02\u2080\u2082\x07\u0174\x02\x02\u2081\u2083" + "\x05\u0396\u01CC\x02\u2082\u2081\x03\x02\x02\x02\u2082\u2083\x03\x02\x02" + "\x02\u2083\u2085\x03\x02\x02\x02\u2084\u2086\x05\u0398\u01CD\x02\u2085" + "\u2084\x03\x02\x02\x02\u2085\u2086\x03\x02\x02\x02\u2086\u2088\x03\x02" + "\x02\x02\u2087\u2089\x05\u0390\u01C9\x02\u2088\u2087\x03\x02\x02\x02\u2088" + "\u2089\x03\x02\x02\x02\u2089\u208B\x03\x02\x02\x02\u208A\u208C\x05\u038A" + "\u01C6\x02\u208B\u208A\x03\x02\x02\x02\u208B\u208C\x03\x02\x02\x02\u208C" + "\u208E\x03\x02\x02\x02\u208D\u208F\x05\u03A0\u01D1\x02\u208E\u208D\x03" + "\x02\x02\x02\u208E\u208F\x03\x02\x02\x02\u208F\u209B\x03\x02\x02\x02\u2090" + "\u2095\x07\u0174\x02\x02\u2091\u2092\x07\x04\x02\x02\u2092\u2093\x05\u0380" + "\u01C1\x02\u2093\u2094\x07\x05\x02\x02\u2094\u2096\x03\x02\x02\x02\u2095" + "\u2091\x03\x02\x02\x02\u2095\u2096\x03\x02\x02\x02\u2096\u2098\x03\x02" + "\x02\x02\u2097\u2099\x05\u03A0\u01D1\x02\u2098\u2097\x03\x02\x02\x02\u2098" + "\u2099\x03\x02\x02\x02\u2099\u209B\x03\x02\x02\x02\u209A\u2080\x03\x02" + "\x02\x02\u209A\u2090\x03\x02\x02\x02\u209B\u037D\x03\x02\x02\x02\u209C" + "\u209E\x05\u0382\u01C2\x02\u209D\u209F\x05\u0390\u01C9\x02\u209E\u209D" + "\x03\x02\x02\x02\u209E\u209F\x03\x02\x02\x02\u209F\u20A1\x03\x02\x02\x02" + "\u20A0\u20A2\x05\u03A0\u01D1\x02\u20A1\u20A0\x03\x02\x02\x02\u20A1\u20A2" + "\x03\x02\x02\x02\u20A2\u20AB\x03\x02\x02\x02\u20A3\u20A4\x05\u0382\u01C2" + "\x02\u20A4\u20A5\x07\x04\x02\x02\u20A5\u20A6\x05\u038C\u01C7\x02\u20A6" + "\u20A8\x07\x05\x02\x02\u20A7\u20A9\x05\u03A0\u01D1\x02\u20A8\u20A7\x03" + "\x02\x02\x02\u20A8\u20A9\x03\x02\x02\x02\u20A9\u20AB\x03\x02\x02\x02\u20AA" + "\u209C\x03\x02\x02\x02\u20AA\u20A3\x03\x02\x02\x02\u20AB\u037F\x03\x02" + "\x02\x02\u20AC\u20B1\x05\u0384\u01C3\x02\u20AD\u20AE\x07\b\x02\x02\u20AE" + "\u20B0\x05\u0384\u01C3\x02\u20AF\u20AD\x03\x02\x02\x02\u20B0\u20B3\x03" + "\x02\x02\x02\u20B1\u20AF\x03\x02\x02\x02\u20B1\u20B2\x03\x02\x02\x02\u20B2" + "\u0381\x03\x02\x02\x02\u20B3\u20B1\x03\x02\x02\x02\u20B4\u20B5\t/\x02" + "\x02\u20B5\u0383\x03\x02\x02\x02\u20B6\u20B8\x05\u0386\u01C4\x02\u20B7" + "\u20B9\x05\u0388\u01C5\x02\u20B8\u20B7\x03\x02\x02\x02\u20B8\u20B9\x03" + "\x02\x02\x02\u20B9\u0385\x03\x02\x02\x02\u20BA\u20BD\x05\u05D4\u02EB\x02" + "\u20BB\u20BD\x05\u0382\u01C2\x02\u20BC\u20BA\x03\x02\x02\x02\u20BC\u20BB" + "\x03\x02\x02\x02\u20BD\u0387\x03\x02\x02\x02\u20BE\u20C1\x05J&\x02\u20BF" + "\u20C1\x05\u0142\xA2\x02\u20C0\u20BE\x03\x02\x02\x02\u20C0\u20BF\x03\x02" + "\x02\x02\u20C1\u0389\x03\x02\x02\x02\u20C2\u20C3\x05\u0382\u01C2\x02\u20C3" + "\u038B\x03\x02\x02\x02\u20C4\u20C9\x05\u038E\u01C8\x02\u20C5\u20C6\x07" + "\b\x02\x02\u20C6\u20C8\x05\u038E\u01C8\x02\u20C7\u20C5\x03\x02\x02\x02" + "\u20C8\u20CB\x03\x02\x02\x02\u20C9\u20C7\x03\x02\x02\x02\u20C9\u20CA\x03" + "\x02\x02\x02\u20CA\u038D\x03\x02\x02\x02\u20CB\u20C9\x03\x02\x02\x02\u20CC" + "\u20D0\x05\u0390\u01C9\x02\u20CD\u20D0\x05\u0392\u01CA\x02\u20CE\u20D0" + "\x05\u0394\u01CB\x02\u20CF\u20CC\x03\x02\x02\x02\u20CF\u20CD\x03\x02\x02" + "\x02\u20CF\u20CE\x03\x02\x02\x02\u20D0\u038F\x03\x02\x02\x02\u20D1\u20D3" + "\x07\x82\x02\x02\u20D2\u20D4\t0\x02\x02\u20D3\u20D2\x03\x02\x02\x02\u20D3" + "\u20D4\x03\x02\x02\x02\u20D4\u0391\x03\x02\x02\x02\u20D5\u20D7\x07\u0225" + "\x02\x02\u20D6\u20D8\t0\x02\x02\u20D7\u20D6\x03\x02\x02\x02\u20D7\u20D8" + "\x03\x02\x02\x02\u20D8\u0393\x03\x02\x02\x02\u20D9\u20DC\x07\u0226\x02" + "\x02\u20DA\u20DD\x05\u0142\xA2\x02\u20DB\u20DD\x05\u05B6\u02DC\x02\u20DC" + "\u20DA\x03\x02\x02\x02\u20DC\u20DB\x03\x02\x02\x02\u20DD\u0395\x03\x02" + "\x02\x02\u20DE\u20DF\x07s\x02\x02\u20DF\u0397\x03\x02\x02\x02\u20E0\u20E1" + "\x07r\x02\x02\u20E1\u0399\x03\x02\x02\x02\u20E2\u20E3\x07\x04\x02\x02" + "\u20E3\u20E4\x05\xF6|\x02\u20E4\u20E5\x07\x05\x02\x02\u20E5\u039B\x03" + "\x02\x02\x02\u20E6\u20E8\x05\u0582\u02C2\x02\u20E7\u20E9\x05\u039A\u01CE" + "\x02\u20E8\u20E7\x03\x02\x02\x02\u20E8\u20E9\x03\x02\x02\x02\u20E9\u039D" + "\x03\x02\x02\x02\u20EA\u20EF\x05\u039C\u01CF\x02\u20EB\u20EC\x07\b\x02" + "\x02\u20EC\u20EE\x05\u039C\u01CF\x02\u20ED\u20EB\x03\x02\x02\x02\u20EE" + "\u20F1\x03\x02\x02\x02\u20EF\u20ED\x03\x02\x02\x02\u20EF\u20F0\x03\x02" + "\x02\x02\u20F0\u039F\x03\x02\x02\x02\u20F1\u20EF\x03\x02\x02\x02\u20F2" + "\u20F3\x05\u039E\u01D0\x02\u20F3\u03A1\x03\x02\x02\x02\u20F4\u20F5\x07" + "\xCD\x02\x02\u20F5\u2107\x05\u03A4\u01D3\x02\u20F6\u20F7\x07\xCD\x02\x02" + "\u20F7\u20F9\x05\u0382\u01C2\x02\u20F8\u20FA\x05\u0390\u01C9\x02\u20F9" + "\u20F8\x03\x02\x02\x02\u20F9\u20FA\x03\x02\x02\x02\u20FA\u20FB\x03\x02" + "\x02\x02\u20FB\u20FC\x05\u03A4\u01D3\x02\u20FC\u2107\x03\x02\x02\x02\u20FD" + "\u20FE\x07\xCD\x02\x02\u20FE\u20FF\x07\x82\x02\x02\u20FF\u2107\x05\u03A4" + "\u01D3\x02\u2100\u2101\x07\xCD\x02\x02\u2101\u2102\x07\x04\x02\x02\u2102" + "\u2103\x05\u03A6\u01D4\x02\u2103\u2104\x07\x05\x02\x02\u2104\u2105\x05" + "\u03A4\u01D3\x02\u2105\u2107\x03\x02\x02\x02\u2106\u20F4\x03\x02\x02\x02" + "\u2106\u20F6\x03\x02\x02\x02\u2106\u20FD\x03\x02\x02\x02\u2106\u2100\x03" + "\x02\x02\x02\u2107\u03A3\x03\x02\x02\x02\u2108\u2112\x05\u03EC\u01F7\x02" + "\u2109\u2112\x05\u03BA\u01DE\x02\u210A\u2112\x05\u03DA\u01EE\x02\u210B" + "\u2112\x05\u03CC\u01E7\x02\u210C\u2112\x05\u03E4\u01F3\x02\u210D\u2112" + "\x05\u0126\x94\x02\u210E\u2112\x05\u012C\x97\x02\u210F\u2112\x05\u0132" + "\x9A\x02\u2110\u2112\x05\u03B4\u01DB\x02\u2111\u2108\x03\x02\x02\x02\u2111" + "\u2109\x03\x02\x02\x02\u2111\u210A\x03\x02\x02\x02\u2111\u210B\x03\x02" + "\x02\x02\u2111\u210C\x03\x02\x02\x02\u2111\u210D\x03\x02\x02\x02\u2111" + "\u210E\x03\x02\x02\x02\u2111\u210F\x03\x02\x02\x02\u2111\u2110\x03\x02" + "\x02\x02\u2112\u03A5\x03\x02\x02\x02\u2113\u2118\x05\u03A8\u01D5\x02\u2114" + "\u2115\x07\b\x02\x02\u2115\u2117\x05\u03A8\u01D5\x02\u2116\u2114\x03\x02" + "\x02\x02\u2117\u211A\x03\x02\x02\x02\u2118\u2116\x03\x02\x02\x02\u2118" + "\u2119\x03\x02\x02\x02\u2119\u03A7\x03\x02\x02\x02\u211A\u2118\x03\x02" + "\x02\x02\u211B\u211D\x05\u03AA\u01D6\x02\u211C\u211E\x05\u03AC\u01D7\x02" + "\u211D\u211C\x03\x02\x02\x02\u211D\u211E\x03\x02\x02\x02\u211E\u03A9\x03" + "\x02\x02\x02\u211F\u2122\x05\u05D4\u02EB\x02\u2120\u2122\x05\u0382\u01C2" + "\x02\u2121\u211F\x03\x02\x02\x02\u2121\u2120\x03\x02\x02\x02\u2122\u03AB" + "\x03\x02\x02\x02\u2123\u2126\x05J&\x02\u2124\u2126\x05\u0142\xA2\x02\u2125" + "\u2123\x03\x02\x02\x02\u2125\u2124\x03\x02\x02\x02\u2126\u03AD\x03\x02" + "\x02\x02\u2127\u2128\x07\u0124\x02\x02\u2128\u212A\x05\u05A0\u02D1\x02" + "\u2129\u212B\x05\u03B0\u01D9\x02\u212A\u2129\x03\x02\x02\x02\u212A\u212B" + "\x03\x02\x02\x02\u212B\u212C\x03\x02\x02\x02\u212C\u212D\x07&\x02\x02" + "\u212D\u212E\x05\u03B2\u01DA\x02\u212E\u03AF\x03\x02\x02\x02\u212F\u2130" + "\x07\x04\x02\x02\u2130\u2131\x05\u0542\u02A2\x02\u2131\u2132\x07\x05\x02" + "\x02\u2132\u03B1\x03\x02\x02\x02\u2133\u2138\x05\u03EC\u01F7\x02\u2134" + "\u2138\x05\u03BA\u01DE\x02\u2135\u2138\x05\u03DA\u01EE\x02\u2136\u2138" + "\x05\u03CC\u01E7\x02\u2137\u2133\x03\x02\x02\x02\u2137\u2134\x03\x02\x02" + "\x02\u2137\u2135\x03\x02\x02\x02\u2137\u2136\x03\x02\x02\x02\u2138\u03B3" + "\x03\x02\x02\x02\u2139\u213A\x07\xCC\x02\x02\u213A\u213C\x05\u05A0\u02D1" + "\x02\u213B\u213D\x05\u03B6\u01DC\x02\u213C\u213B\x03\x02\x02\x02\u213C" + "\u213D\x03\x02\x02\x02\u213D\u2151\x03\x02\x02\x02\u213E\u2140\x070\x02" + "\x02\u213F\u2141\x05\xC0a\x02\u2140\u213F\x03\x02\x02\x02\u2140\u2141" + "\x03\x02\x02\x02\u2141\u2142\x03\x02\x02\x02\u2142\u2144\x07^\x02\x02" + "\u2143\u2145\x05\u0204\u0103\x02\u2144\u2143\x03\x02\x02\x02\u2144\u2145" + "\x03\x02\x02\x02\u2145\u2146\x03\x02\x02\x02\u2146\u2147\x05\u0128\x95" + "\x02\u2147\u2148\x07&\x02\x02\u2148\u2149\x07\xCC\x02\x02\u2149\u214B" + "\x05\u05A0\u02D1\x02\u214A\u214C\x05\u03B6\u01DC\x02\u214B\u214A\x03\x02" + "\x02\x02\u214B\u214C\x03\x02\x02\x02\u214C\u214E\x03\x02\x02\x02\u214D" + "\u214F\x05\u012A\x96\x02\u214E\u214D\x03\x02\x02\x02\u214E\u214F\x03\x02" + "\x02\x02\u214F\u2151\x03\x02\x02\x02\u2150\u2139\x03\x02\x02\x02\u2150" + "\u213E\x03\x02\x02\x02\u2151\u03B5\x03\x02\x02\x02\u2152\u2153\x07\x04" + "\x02\x02\u2153\u2154\x05\u0534\u029B\x02\u2154\u2155\x07\x05\x02\x02\u2155" + "\u03B7\x03\x02\x02\x02\u2156\u2157\x07\xB3\x02\x02\u2157\u2161\x05\u05A0" + "\u02D1\x02\u2158\u2159\x07\xB3\x02\x02\u2159\u215A\x07\u0124\x02\x02\u215A" + "\u2161\x05\u05A0\u02D1\x02\u215B\u215C\x07\xB3\x02\x02\u215C\u2161\x07" + " \x02\x02\u215D\u215E\x07\xB3\x02\x02\u215E\u215F\x07\u0124\x02\x02\u215F" + "\u2161\x07 \x02\x02\u2160\u2156\x03\x02\x02\x02\u2160\u2158\x03\x02\x02" + "\x02\u2160\u215B\x03\x02\x02\x02\u2160\u215D\x03\x02\x02\x02\u2161\u03B9" + "\x03\x02\x02\x02\u2162\u2164\x05\u0406\u0204\x02\u2163\u2162\x03\x02\x02" + "\x02\u2163\u2164\x03\x02\x02\x02\u2164\u2165\x03\x02\x02\x02\u2165\u2166" + "\x07\xF3\x02\x02\u2166\u2167\x07I\x02\x02\u2167\u2168\x05\u03BC\u01DF" + "\x02\u2168\u216A\x05\u03BE\u01E0\x02\u2169\u216B\x05\u03C6\u01E4\x02\u216A" + "\u2169\x03\x02\x02\x02\u216A\u216B\x03\x02\x02\x02\u216B\u216D\x03\x02" + "\x02\x02\u216C\u216E\x05\u03CA\u01E6\x02\u216D\u216C\x03\x02\x02\x02\u216D" + "\u216E\x03\x02\x02\x02\u216E\u03BB\x03\x02\x02\x02\u216F\u2172\x05\u0582" + "\u02C2\x02\u2170\u2171\x07&\x02\x02\u2171\u2173\x05\u05C6\u02E4\x02\u2172" + "\u2170\x03\x02\x02\x02\u2172\u2173\x03\x02\x02\x02\u2173\u03BD\x03\x02" + "\x02\x02\u2174\u2175\x07\x04\x02\x02\u2175\u2176\x05\u03C2\u01E2\x02\u2176" + "\u2177\x07\x05\x02\x02\u2177\u2179\x03\x02\x02\x02\u2178\u2174\x03\x02" + "\x02\x02\u2178\u2179\x03\x02\x02\x02\u2179\u217E\x03\x02\x02\x02\u217A" + "\u217B\x07\u01D1\x02\x02\u217B\u217C\x05\u03C0\u01E1\x02\u217C\u217D\x07" + "\u01C4\x02\x02\u217D\u217F\x03\x02\x02\x02\u217E\u217A\x03\x02\x02\x02" + "\u217E\u217F\x03\x02\x02\x02\u217F\u2182\x03\x02\x02\x02\u2180\u2183\x05" + "\u06A2\u0352\x02\u2181\u2183\x05\u03EC\u01F7\x02\u2182\u2180\x03\x02\x02" + "\x02\u2182\u2181\x03\x02\x02\x02\u2183\u03BF\x03\x02\x02\x02\u2184\u2185" + "\t1\x02\x02\u2185\u03C1\x03\x02\x02\x02\u2186\u218B\x05\u03C4\u01E3\x02" + "\u2187\u2188\x07\b\x02\x02\u2188\u218A\x05\u03C4\u01E3\x02\u2189\u2187" + "\x03\x02\x02\x02\u218A\u218D\x03\x02\x02\x02\u218B\u2189\x03\x02\x02\x02" + "\u218B\u218C\x03\x02\x02\x02\u218C\u03C3\x03\x02\x02\x02\u218D\u218B\x03" + "\x02\x02\x02\u218E\u218F\x05\u059C\u02CF\x02\u218F\u2190\x05\u056A\u02B6" + "\x02\u2190\u03C5\x03\x02\x02\x02\u2191\u2192\x07R\x02\x02\u2192\u2194" + "\x07\u01D2\x02\x02\u2193\u2195\x05\u03C8\u01E5\x02\u2194\u2193\x03\x02" + "\x02\x02\u2194\u2195\x03\x02\x02\x02\u2195\u2196\x03\x02\x02\x02\u2196" + "\u219E\x07;\x02\x02\u2197\u2198\x07\u0173\x02\x02\u2198\u2199\x07\u014F" + "\x02\x02\u2199\u219B\x05\u03DC\u01EF\x02\u219A\u219C\x05\u047C\u023F\x02" + "\u219B\u219A\x03\x02\x02\x02\u219B\u219C\x03\x02\x02\x02\u219C\u219F\x03" + "\x02\x02\x02\u219D\u219F\x07\u0110\x02\x02\u219E\u2197\x03\x02\x02\x02" + "\u219E\u219D\x03\x02\x02\x02\u219F\u03C7\x03\x02\x02\x02\u21A0\u21A1\x07" + "\x04\x02\x02\u21A1\u21A2\x05\u027E\u0140\x02\u21A2\u21A4\x07\x05\x02\x02" + "\u21A3\u21A5\x05\u047C\u023F\x02\u21A4\u21A3\x03\x02\x02\x02\u21A4\u21A5" + "\x03\x02\x02\x02\u21A5\u21AA\x03\x02\x02\x02\u21A6\u21A7\x07R\x02\x02" + "\u21A7\u21A8\x07/\x02\x02\u21A8\u21AA\x05\u05A0\u02D1\x02\u21A9\u21A0" + "\x03\x02\x02\x02\u21A9\u21A6\x03\x02\x02\x02\u21AA\u03C9\x03\x02\x02\x02" + "\u21AB\u21AC\x07Y\x02\x02\u21AC\u21AD\x05\u056E\u02B8\x02\u21AD\u03CB" + "\x03\x02\x02\x02\u21AE\u21B0\x05\u0406\u0204\x02\u21AF\u21AE\x03\x02\x02" + "\x02\u21AF\u21B0\x03\x02\x02\x02\u21B0\u21B1\x03\x02\x02\x02\u21B1\u21B2" + "\x07\xB8\x02\x02\u21B2\u21B3\x07B\x02\x02\u21B3\u21B5\x05\u046C\u0237" + "\x02\u21B4\u21B6\x05\u03CE\u01E8\x02\u21B5\u21B4\x03\x02\x02\x02\u21B5" + "\u21B6\x03\x02\x02\x02\u21B6\u21B8\x03\x02\x02\x02\u21B7\u21B9\x05\u047E" + "\u0240\x02\u21B8\u21B7\x03\x02\x02\x02\u21B8\u21B9\x03\x02\x02\x02\u21B9" + "\u21BB\x03\x02\x02\x02\u21BA\u21BC\x05\u03CA\u01E6\x02\u21BB\u21BA\x03" + "\x02\x02\x02\u21BB\u21BC\x03\x02\x02\x02\u21BC\u03CD\x03\x02\x02\x02\u21BD" + "\u21BE\x07f\x02\x02\u21BE\u21BF\x05\u0454\u022B\x02\u21BF\u03CF\x03\x02" + "\x02\x02\u21C0\u21C2\x07\u0102\x02\x02\u21C1\u21C3\x05\u040E\u0208\x02" + "\u21C2\u21C1\x03\x02\x02\x02\u21C2\u21C3\x03\x02\x02\x02\u21C3\u21C4\x03" + "\x02\x02\x02\u21C4\u21C6\x05\u0468\u0235\x02\u21C5\u21C7\x05\u03D2\u01EA" + "\x02\u21C6\u21C5\x03\x02\x02\x02\u21C6\u21C7\x03\x02\x02\x02\u21C7\u21C9" + "\x03\x02\x02\x02\u21C8\u21CA\x05\u03D6\u01EC\x02\u21C9\u21C8\x03\x02\x02" + "\x02\u21C9\u21CA\x03\x02\x02\x02\u21CA\u03D1\x03\x02\x02\x02\u21CB\u21CC" + "\x07F\x02\x02\u21CC\u21CD\x05\u03D4\u01EB\x02\u21CD\u21CE\x07\u0109\x02" + "\x02\u21CE\u03D3\x03\x02\x02\x02\u21CF\u21D0\x07\x85\x02\x02\u21D0\u21DC" + "\t2\x02\x02\u21D1\u21D2\x07\u01A0\x02\x02\u21D2\u21DC\t2\x02\x02\u21D3" + "\u21D8\x07\u0150\x02\x02\u21D4\u21D5\x07\u0173\x02\x02\u21D5\u21D9\x07" + "\xCB\x02\x02\u21D6\u21D7\x07\u01A0\x02\x02\u21D7\u21D9\x07\xCB\x02\x02" + "\u21D8\u21D4\x03\x02\x02\x02\u21D8\u21D6\x03\x02\x02\x02\u21D8\u21D9\x03" + "\x02\x02\x02\u21D9\u21DC\x03\x02\x02\x02\u21DA\u21DC\x07\xCB\x02\x02\u21DB" + "\u21CF\x03\x02\x02\x02\u21DB\u21D1\x03\x02\x02\x02\u21DB\u21D3\x03\x02" + "\x02\x02\u21DB\u21DA\x03\x02\x02\x02\u21DC\u03D5\x03\x02\x02\x02\u21DD" + "\u21DE\x07\u0112\x02\x02\u21DE\u03D7\x03\x02\x02\x02\u21DF\u21E3\x07\u0112" + "\x02\x02\u21E0\u21E1\x07\u01D3\x02\x02\u21E1\u21E3\x07\u01D4\x02\x02\u21E2" + "\u21DF\x03\x02\x02\x02\u21E2\u21E0\x03\x02\x02\x02\u21E3\u03D9\x03\x02" + "\x02\x02\u21E4\u21E6\x05\u0406\u0204\x02\u21E5\u21E4\x03\x02\x02\x02\u21E5" + "\u21E6\x03\x02\x02\x02\u21E6\u21E7\x03\x02\x02\x02\u21E7\u21E8\x07\u0173" + "\x02\x02\u21E8\u21E9\x05\u046C\u0237\x02\u21E9\u21EA\x07\u014F\x02\x02" + "\u21EA\u21EC\x05\u03DC\u01EF\x02\u21EB\u21ED\x05\u0452\u022A\x02\u21EC" + "\u21EB\x03\x02\x02\x02\u21EC\u21ED\x03\x02\x02\x02\u21ED\u21EF\x03\x02" + "\x02\x02\u21EE\u21F0\x05\u047E\u0240\x02\u21EF\u21EE\x03\x02\x02\x02\u21EF" + "\u21F0\x03\x02\x02\x02\u21F0\u21F2\x03\x02\x02\x02\u21F1\u21F3\x05\u03CA" + "\u01E6\x02\u21F2\u21F1\x03\x02\x02\x02\u21F2\u21F3\x03\x02\x02\x02\u21F3" + "\u03DB\x03\x02\x02\x02\u21F4\u21F9\x05\u03DE\u01F0\x02\u21F5\u21F6\x07" + "\b\x02\x02\u21F6\u21F8\x05\u03DE\u01F0\x02\u21F7\u21F5\x03\x02\x02\x02" + "\u21F8\u21FB\x03\x02\x02\x02\u21F9\u21F7\x03\x02\x02\x02\u21F9\u21FA\x03" + "\x02\x02\x02\u21FA\u03DD\x03\x02\x02\x02\u21FB\u21F9\x03\x02\x02\x02\u21FC" + "\u21FD\x05\u03E0\u01F1\x02\u21FD\u21FE\x07\f\x02\x02\u21FE\u21FF\x05\u04C0" + "\u0261\x02\u21FF\u220F\x03\x02\x02\x02\u2200\u2201\x07\x04\x02\x02\u2201" + "\u2202\x05\u03E2\u01F2\x02\u2202\u2203\x07\x05\x02\x02\u2203\u220C\x07" + "\f\x02\x02\u2204\u2206\x07\u01A0\x02\x02\u2205\u2204\x03\x02\x02\x02\u2205" + "\u2206\x03\x02\x02\x02\u2206\u2207\x03\x02\x02\x02\u2207\u220D\x05\u04C0" + "\u0261\x02\u2208\u2209\x07\x04\x02\x02\u2209\u220A\x05\u03F2\u01FA\x02" + "\u220A\u220B\x07\x05\x02\x02\u220B\u220D\x03\x02\x02\x02\u220C\u2205\x03" + "\x02\x02\x02\u220C\u2208\x03\x02\x02\x02\u220D\u220F\x03\x02\x02\x02\u220E" + "\u21FC\x03\x02\x02\x02\u220E\u2200\x03\x02\x02\x02\u220F\u03DF\x03\x02" + "\x02\x02\u2210\u2211\x05\u059C\u02CF\x02\u2211\u2212\x05\u056A\u02B6\x02" + "\u2212\u03E1\x03\x02\x02\x02\u2213\u2218\x05\u03E0\u01F1\x02\u2214\u2215" + "\x07\b\x02\x02\u2215\u2217\x05\u03E0\u01F1\x02\u2216\u2214\x03\x02\x02" + "\x02\u2217\u221A\x03\x02\x02\x02\u2218\u2216\x03\x02\x02\x02\u2218\u2219" + "\x03\x02\x02\x02\u2219\u03E3\x03\x02\x02\x02\u221A\u2218\x03\x02\x02\x02" + "\u221B\u221C\x07\xB4\x02\x02\u221C\u221D\x05\u03E6\u01F4\x02\u221D\u221E" + "\x05\u03E8\u01F5\x02\u221E\u221F\x07\xAE\x02\x02\u221F\u2220\x05\u03EA" + "\u01F6\x02\u2220\u2221\x07@\x02\x02\u2221\u2222\x05\u03EC\u01F7\x02\u2222" + "\u03E5\x03\x02\x02\x02\u2223\u2224\x05\u05A0\u02D1\x02\u2224\u03E7\x03" + "\x02\x02\x02\u2225\u2226\x07\u010F\x02\x02\u2226\u222B\x07\u0146\x02\x02" + "\u2227\u222B\x07\u0146\x02\x02\u2228\u222B\x07m\x02\x02\u2229\u222B\x07" + "\xF2\x02\x02\u222A\u2225\x03\x02\x02\x02\u222A\u2227\x03\x02\x02\x02\u222A" + "\u2228\x03\x02\x02\x02\u222A\u2229\x03\x02\x02\x02\u222B\u222E\x03\x02" + "\x02\x02\u222C\u222A\x03\x02\x02\x02\u222C\u222D\x03\x02\x02\x02\u222D" + "\u03E9\x03\x02\x02\x02\u222E\u222C\x03\x02\x02\x02\u222F\u2235\x03\x02" + "\x02\x02\u2230\u2231\x07k\x02\x02\u2231\u2235\x07\xDB\x02\x02\u2232\u2233" + "\x07\u017D\x02\x02\u2233\u2235\x07\xDB\x02\x02\u2234\u222F\x03\x02\x02" + "\x02\u2234\u2230\x03\x02\x02\x02\u2234\u2232\x03\x02\x02\x02\u2235\u03EB" + "\x03\x02\x02\x02\u2236\u2239\x05\u03F0\u01F9\x02\u2237\u2239\x05\u03EE" + "\u01F8\x02\u2238\u2236\x03\x02\x02\x02\u2238\u2237\x03\x02\x02\x02\u2239" + "\u03ED\x03\x02\x02\x02\u223A\u223B\x07\x04\x02\x02\u223B\u223C\x05\u03F0" + "\u01F9\x02\u223C\u223D\x07\x05\x02\x02\u223D\u2243\x03\x02\x02\x02\u223E" + "\u223F\x07\x04\x02\x02\u223F\u2240\x05\u03EE\u01F8\x02\u2240\u2241\x07" + "\x05\x02\x02\u2241\u2243\x03\x02\x02\x02\u2242\u223A\x03\x02\x02\x02\u2242" + "\u223E\x03\x02\x02\x02\u2243\u03EF\x03\x02\x02\x02\u2244\u2246\x05\u03F2" + "\u01FA\x02\u2245\u2247\x05\u0416\u020C\x02\u2246\u2245\x03\x02\x02\x02" + "\u2246\u2247\x03\x02\x02\x02\u2247\u2250\x03\x02\x02\x02\u2248\u224A\x05" + "\u0444\u0223\x02\u2249\u224B\x05\u0420\u0211\x02\u224A\u2249\x03\x02\x02" + "\x02\u224A\u224B\x03\x02\x02\x02\u224B\u2251\x03\x02\x02\x02\u224C\u224E" + "\x05\u041E\u0210\x02\u224D\u224F\x05\u0446\u0224\x02\u224E\u224D\x03\x02" + "\x02\x02\u224E\u224F\x03\x02\x02\x02\u224F\u2251\x03\x02\x02\x02\u2250" + "\u2248\x03\x02\x02\x02\u2250\u224C\x03\x02\x02\x02\u2250\u2251\x03\x02" + "\x02\x02\u2251\u2262\x03\x02\x02\x02\u2252\u2253\x05\u03FA\u01FE\x02\u2253" + "\u2255\x05\u03F2\u01FA\x02\u2254\u2256\x05\u0416\u020C\x02\u2255\u2254" + "\x03\x02\x02\x02\u2255\u2256\x03\x02\x02\x02\u2256\u225F\x03\x02\x02\x02" + "\u2257\u2259\x05\u0444\u0223\x02\u2258\u225A\x05\u0420\u0211\x02\u2259" + "\u2258\x03\x02\x02\x02\u2259\u225A\x03\x02\x02\x02\u225A\u2260\x03\x02" + "\x02\x02\u225B\u225D\x05\u041E\u0210\x02\u225C\u225E\x05\u0446\u0224\x02" + "\u225D\u225C\x03\x02\x02\x02\u225D\u225E\x03\x02\x02\x02\u225E\u2260\x03" + "\x02\x02\x02\u225F\u2257\x03\x02\x02\x02\u225F\u225B\x03\x02\x02\x02\u225F" + "\u2260\x03\x02\x02\x02\u2260\u2262\x03\x02\x02\x02\u2261\u2244\x03\x02" + "\x02\x02\u2261\u2252\x03\x02\x02\x02\u2262\u03F1\x03\x02\x02\x02\u2263" + "\u2266\x05\u03F4\u01FB\x02\u2264\u2266\x05\u03EE\u01F8\x02\u2265\u2263" + "\x03\x02\x02\x02\u2265\u2264\x03\x02\x02\x02\u2266\u03F3\x03\x02\x02\x02" + "\u2267\u2277\x07Z\x02\x02\u2268\u226A\x05\u0414\u020B\x02\u2269\u2268" + "\x03\x02\x02\x02\u2269\u226A\x03\x02\x02\x02\u226A\u226C\x03\x02\x02\x02" + "\u226B\u226D\x05\u0408\u0205\x02\u226C\u226B\x03\x02\x02\x02\u226C\u226D" + "\x03\x02\x02\x02\u226D\u226F\x03\x02\x02\x02\u226E\u2270\x05\u056C\u02B7" + "\x02\u226F\u226E\x03\x02\x02\x02\u226F\u2270\x03\x02\x02\x02\u2270\u2278" + "\x03\x02\x02\x02\u2271\u2273\x05\u0412\u020A\x02\u2272\u2271\x03\x02\x02" + "\x02\u2272\u2273\x03\x02\x02\x02\u2273\u2275\x03\x02\x02\x02\u2274\u2276" + "\x05\u056E\u02B8\x02\u2275\u2274\x03\x02\x02\x02\u2275\u2276\x03\x02\x02" + "\x02\u2276\u2278\x03\x02\x02\x02\u2277\u2269\x03\x02\x02\x02\u2277\u2272" + "\x03\x02\x02\x02\u2278\u227A\x03\x02\x02\x02\u2279\u227B\x05\u0408\u0205" + "\x02\u227A\u2279\x03\x02\x02\x02\u227A\u227B\x03\x02\x02\x02\u227B\u227D" + "\x03\x02\x02\x02\u227C\u227E\x05\u0452\u022A\x02\u227D\u227C\x03\x02\x02" + "\x02\u227D\u227E\x03\x02\x02\x02\u227E\u2280\x03\x02\x02\x02\u227F\u2281" + "\x05\u047C\u023F\x02\u2280\u227F\x03\x02\x02\x02\u2280\u2281\x03\x02\x02" + "\x02\u2281\u2283\x03\x02\x02\x02\u2282\u2284\x05\u0434\u021B\x02\u2283" + "\u2282\x03\x02\x02\x02\u2283\u2284\x03\x02\x02\x02\u2284\u2286\x03\x02" + "\x02\x02\u2285\u2287\x05\u0442\u0222\x02\u2286\u2285\x03\x02\x02\x02\u2286" + "\u2287\x03\x02\x02\x02\u2287\u2289\x03\x02\x02\x02\u2288\u228A\x05\u050C" + "\u0287\x02\u2289\u2288\x03\x02\x02\x02\u2289\u228A\x03\x02\x02\x02\u228A" + "\u2295\x03\x02\x02\x02\u228B\u2295\x05\u0450\u0229\x02\u228C\u228D\x07" + "^\x02\x02\u228D\u2295\x05\u0462\u0232\x02\u228E\u228F\x05\u03EE\u01F8" + "\x02\u228F\u2292\x05\u03F8\u01FD\x02\u2290\u2293\x05\u03F4\u01FB\x02\u2291" + "\u2293\x05\u03EE\u01F8\x02\u2292\u2290\x03\x02\x02\x02\u2292\u2291\x03" + "\x02\x02\x02\u2293\u2295\x03\x02\x02\x02\u2294\u2267\x03\x02\x02\x02\u2294" + "\u228B\x03\x02\x02\x02\u2294\u228C\x03\x02\x02\x02\u2294\u228E\x03\x02" + "\x02\x02\u2295\u229D\x03\x02\x02\x02\u2296\u2299\x05\u03F8\u01FD\x02\u2297" + "\u229A\x05\u03F4\u01FB\x02\u2298\u229A\x05\u03EE\u01F8\x02\u2299\u2297" + "\x03\x02\x02\x02\u2299\u2298\x03\x02\x02\x02\u229A\u229C\x03\x02\x02\x02" + "\u229B\u2296\x03\x02\x02\x02\u229C\u229F\x03\x02\x02\x02\u229D\u229B\x03" + "\x02\x02\x02\u229D\u229E\x03\x02\x02\x02\u229E\u03F5\x03\x02\x02\x02\u229F" + "\u229D\x03\x02\x02\x02\u22A0\u22A4\x07c\x02\x02\u22A1\u22A4\x07H\x02\x02" + "\u22A2\u22A4\x07=\x02\x02\u22A3\u22A0\x03\x02\x02\x02\u22A3\u22A1\x03" + "\x02\x02\x02\u22A3\u22A2\x03\x02\x02\x02\u22A4\u03F7\x03\x02\x02\x02\u22A5" + "\u22A7\x05\u03F6\u01FC\x02\u22A6\u22A8\x05\u0410\u0209\x02\u22A7\u22A6" + "\x03\x02\x02\x02\u22A7\u22A8\x03\x02\x02\x02\u22A8\u03F9\x03\x02\x02\x02" + "\u22A9\u22AB\x07k\x02\x02\u22AA\u22AC\x07\u0131\x02\x02\u22AB\u22AA\x03" + "\x02\x02\x02\u22AB\u22AC\x03\x02\x02\x02\u22AC\u22AD\x03\x02\x02\x02\u22AD" + "\u22AE\x05\u03FC\u01FF\x02\u22AE\u03FB\x03\x02\x02\x02\u22AF\u22B4\x05" + "\u03FE\u0200\x02\u22B0\u22B1\x07\b\x02\x02\u22B1\u22B3\x05\u03FE\u0200" + "\x02\u22B2\u22B0\x03\x02\x02\x02\u22B3\u22B6\x03\x02\x02\x02\u22B4\u22B2" + "\x03\x02\x02\x02\u22B4\u22B5\x03\x02\x02\x02\u22B5\u03FD\x03\x02\x02\x02" + "\u22B6\u22B4\x03\x02\x02\x02\u22B7\u22B9\x05\u05A0\u02D1\x02\u22B8\u22BA" + "\x05\u039A\u01CE\x02\u22B9\u22B8\x03\x02\x02\x02\u22B9\u22BA\x03\x02\x02" + "\x02\u22BA\u22BB\x03"; private static readonly _serializedATNSegment17: string = "\x02\x02\x02\u22BB\u22BD\x07&\x02\x02\u22BC\u22BE\x05\u0404\u0203\x02" + "\u22BD\u22BC\x03\x02\x02\x02\u22BD\u22BE\x03\x02\x02\x02\u22BE\u22BF\x03" + "\x02\x02\x02\u22BF\u22C0\x07\x04\x02\x02\u22C0\u22C1\x05\u03B2\u01DA\x02" + "\u22C1\u22C3\x07\x05\x02\x02\u22C2\u22C4\x05\u0400\u0201\x02\u22C3\u22C2" + "\x03\x02\x02\x02\u22C3\u22C4\x03\x02\x02\x02\u22C4\u22C6\x03\x02\x02\x02" + "\u22C5\u22C7\x05\u0402\u0202\x02\u22C6\u22C5\x03\x02\x02\x02\u22C6\u22C7" + "\x03\x02\x02\x02\u22C7\u03FF\x03\x02\x02\x02\u22C8\u22C9\x07\u0147\x02" + "\x02\u22C9\u22CA\t3\x02\x02\u22CA\u22CB\x07\xD1\x02\x02\u22CB\u22CC\x07" + "\x95\x02\x02\u22CC\u22CD\x05\xF6|\x02\u22CD\u22CE\x07\u014F\x02\x02\u22CE" + "\u22CF\x05\u059C\u02CF\x02\u22CF\u0401\x03\x02\x02\x02\u22D0\u22D1\x07" + "\xAF\x02\x02\u22D1\u22D2\x05\xF6|\x02\u22D2\u22D3\x07\u014F\x02\x02\u22D3" + "\u22D9\x05\u059C\u02CF\x02\u22D4\u22D5\x07`\x02\x02\u22D5\u22D6\x05\u05A0" + "\u02D1\x02\u22D6\u22D7\x077\x02\x02\u22D7\u22D8\x05\u05A0\u02D1\x02\u22D8" + "\u22DA\x03\x02\x02\x02\u22D9\u22D4\x03\x02\x02\x02\u22D9\u22DA\x03\x02" + "\x02\x02\u22DA\u22DB\x03\x02\x02\x02\u22DB\u22DC\x07f\x02\x02\u22DC\u22DD" + "\x05\u059C\u02CF\x02\u22DD\u0403\x03\x02\x02\x02\u22DE\u22E2\x07\u0105" + "\x02\x02\u22DF\u22E0\x07O\x02\x02\u22E0\u22E2\x07\u0105\x02\x02\u22E1" + "\u22DE\x03\x02\x02\x02\u22E1\u22DF\x03\x02\x02\x02\u22E2\u0405\x03\x02" + "\x02\x02\u22E3\u22E4\x05\u03FA\u01FE\x02\u22E4\u0407\x03\x02\x02\x02\u22E5" + "\u22EA\x07I\x02\x02\u22E6\u22E7\x05\u040A\u0206\x02\u22E7\u22E8\x05\u040C" + "\u0207\x02\u22E8\u22EB\x03\x02\x02\x02\u22E9\u22EB\x05\u068E\u0348\x02" + "\u22EA\u22E6\x03\x02\x02\x02\u22EA\u22E9\x03\x02\x02\x02\u22EB\u0409\x03" + "\x02\x02\x02\u22EC\u22EF\x03\x02\x02\x02\u22ED\u22EF\x07\u015C\x02\x02" + "\u22EE\u22EC\x03\x02\x02\x02\u22EE\u22ED\x03\x02\x02\x02\u22EF\u040B\x03" + "\x02\x02\x02\u22F0\u22F2\t4\x02\x02\u22F1\u22F0\x03\x02\x02\x02\u22F1" + "\u22F2\x03\x02\x02\x02\u22F2\u22F3\x03\x02\x02\x02\u22F3\u22F5\t\x17\x02" + "\x02\u22F4\u22F6\x05\u040E\u0208\x02\u22F5\u22F4\x03\x02\x02\x02\u22F5" + "\u22F6\x03\x02\x02\x02\u22F6\u22F7\x03\x02\x02\x02\u22F7\u2301\x05\u0580" + "\u02C1\x02\u22F8\u22FA\x07\u0171\x02\x02\u22F9\u22FB\x05\u040E\u0208\x02" + "\u22FA\u22F9\x03\x02\x02\x02\u22FA\u22FB\x03\x02\x02\x02\u22FB\u22FC\x03" + "\x02\x02\x02\u22FC\u2301\x05\u0580\u02C1\x02\u22FD\u22FE\x07^\x02\x02" + "\u22FE\u2301\x05\u0580\u02C1\x02\u22FF\u2301\x05\u0580\u02C1\x02\u2300" + "\u22F1\x03\x02\x02\x02\u2300\u22F8\x03\x02\x02\x02\u2300\u22FD\x03\x02" + "\x02\x02\u2300\u22FF\x03\x02\x02\x02\u2301\u040D\x03\x02\x02\x02\u2302" + "\u2303\x07^\x02\x02\u2303\u040F\x03\x02\x02\x02\u2304\u2305\t5\x02\x02" + "\u2305\u0411\x03\x02\x02\x02\u2306\u230C\x07:\x02\x02\u2307\u2308\x07" + "R\x02\x02\u2308\u2309\x07\x04\x02\x02\u2309\u230A\x05\u0534\u029B\x02" + "\u230A\u230B\x07\x05\x02\x02\u230B\u230D\x03\x02\x02\x02\u230C\u2307\x03" + "\x02\x02\x02\u230C\u230D\x03\x02\x02\x02\u230D\u0413\x03\x02\x02\x02\u230E" + "\u230F\x07 \x02\x02\u230F\u0415\x03\x02\x02\x02\u2310\u2311\x05\u0418" + "\u020D\x02\u2311\u0417\x03\x02\x02\x02\u2312\u2313\x07U\x02\x02\u2313" + "\u2314\x07\x95\x02\x02\u2314\u2315\x05\u041A\u020E\x02\u2315\u0419\x03" + "\x02\x02\x02\u2316\u231B\x05\u041C\u020F\x02\u2317\u2318\x07\b\x02\x02" + "\u2318\u231A\x05\u041C\u020F\x02\u2319\u2317\x03\x02\x02\x02\u231A\u231D" + "\x03\x02\x02\x02\u231B\u2319\x03\x02\x02\x02\u231B\u231C\x03\x02\x02\x02" + "\u231C\u041B\x03\x02\x02\x02\u231D\u231B\x03\x02\x02\x02\u231E\u2322\x05" + "\u053C\u029F\x02\u231F\u2320\x07f\x02\x02\u2320\u2323\x05\u0530\u0299" + "\x02\u2321\u2323\x05\u028C\u0147\x02\u2322\u231F\x03\x02\x02\x02\u2322" + "\u2321\x03\x02\x02\x02\u2322\u2323\x03\x02\x02\x02\u2323\u2325\x03\x02" + "\x02\x02\u2324\u2326\x05\u028E\u0148\x02\u2325\u2324\x03\x02\x02\x02\u2325" + "\u2326\x03\x02\x02\x02\u2326\u041D\x03\x02\x02\x02\u2327\u2329\x05\u0422" + "\u0212\x02\u2328\u232A\x05\u0426\u0214\x02\u2329\u2328\x03\x02\x02\x02" + "\u2329\u232A\x03\x02\x02\x02\u232A\u2334\x03\x02\x02\x02\u232B\u232D\x05" + "\u0426\u0214\x02\u232C\u232E\x05\u0424\u0213\x02\u232D\u232C\x03\x02\x02" + "\x02\u232D\u232E\x03\x02\x02\x02\u232E\u2334\x03\x02\x02\x02\u232F\u2331" + "\x05\u0424\u0213\x02\u2330\u2332\x05\u0426\u0214\x02\u2331\u2330\x03\x02" + "\x02\x02\u2331\u2332\x03\x02\x02\x02\u2332\u2334\x03\x02\x02\x02\u2333" + "\u2327\x03\x02\x02\x02\u2333\u232B\x03\x02\x02\x02\u2333\u232F\x03\x02" + "\x02\x02\u2334\u041F\x03\x02\x02\x02\u2335\u2336\x05\u041E\u0210\x02\u2336" + "\u0421\x03\x02\x02\x02\u2337\u2338\x07L\x02\x02\u2338\u233B\x05\u0428" + "\u0215\x02\u2339\u233A\x07\b\x02\x02\u233A\u233C\x05\u042A\u0216\x02\u233B" + "\u2339\x03\x02\x02\x02\u233B\u233C\x03\x02\x02\x02\u233C\u0423\x03\x02" + "\x02\x02\u233D\u233E\x07?\x02\x02\u233E\u234C\x05\u0432\u021A\x02\u233F" + "\u2340\x05\u042C\u0217\x02\u2340\u2344\x05\u0430\u0219\x02\u2341\u2345" + "\x07S\x02\x02\u2342\u2343\x07k\x02\x02\u2343\u2345\x07\u01D5\x02\x02\u2344" + "\u2341\x03\x02\x02\x02\u2344\u2342\x03\x02\x02\x02\u2345\u234D\x03\x02" + "\x02\x02\u2346\u234A\x05\u0430\u0219\x02\u2347\u234B\x07S\x02\x02\u2348" + "\u2349\x07k\x02\x02\u2349\u234B\x07\u01D5\x02\x02\u234A\u2347\x03\x02" + "\x02\x02\u234A\u2348\x03\x02\x02\x02\u234B\u234D\x03\x02\x02\x02\u234C" + "\u233F\x03\x02\x02\x02\u234C\u2346\x03\x02\x02\x02\u234D\u0425\x03\x02" + "\x02\x02\u234E\u2353\x07Q\x02\x02\u234F\u2354\x05\u042A\u0216\x02\u2350" + "\u2351\x05\u042C\u0217\x02\u2351\u2352\x05\u0430\u0219\x02\u2352\u2354" + "\x03\x02\x02\x02\u2353\u234F\x03\x02\x02\x02\u2353\u2350\x03\x02\x02\x02" + "\u2354\u0427\x03\x02\x02\x02\u2355\u2358\x05\u04C0\u0261\x02\u2356\u2358" + "\x07 \x02\x02\u2357\u2355\x03\x02\x02\x02\u2357\u2356\x03\x02\x02\x02" + "\u2358\u0429\x03\x02\x02\x02\u2359\u235A\x05\u04C0\u0261\x02\u235A\u042B" + "\x03\x02\x02\x02\u235B\u2361\x05\u04EA\u0276\x02\u235C\u235D\x07\x0E\x02" + "\x02\u235D\u2361\x05\u042E\u0218\x02\u235E\u235F\x07\x0F\x02\x02\u235F" + "\u2361\x05\u042E\u0218\x02\u2360\u235B\x03\x02\x02\x02\u2360\u235C\x03" + "\x02\x02\x02\u2360\u235E\x03\x02\x02\x02\u2361\u042D\x03\x02\x02\x02\u2362" + "\u2365\x05\u05B4\u02DB\x02\u2363\u2365\x05\u05B2\u02DA\x02\u2364\u2362" + "\x03\x02\x02\x02\u2364\u2363\x03\x02\x02\x02\u2365\u042F\x03\x02\x02\x02" + "\u2366\u2367\t6\x02\x02\u2367\u0431\x03\x02\x02\x02\u2368\u2369\t7\x02" + "\x02\u2369\u0433\x03\x02\x02\x02\u236A\u236B\x07D\x02\x02\u236B\u236D" + "\x07\x95\x02\x02\u236C\u236E\x05\u0410\u0209\x02\u236D\u236C\x03\x02\x02" + "\x02\u236D\u236E\x03\x02\x02\x02\u236E\u236F\x03\x02\x02\x02\u236F\u2370" + "\x05\u0436\u021C\x02\u2370\u0435\x03\x02\x02\x02\u2371\u2376\x05\u0438" + "\u021D\x02\u2372\u2373\x07\b\x02\x02\u2373\u2375\x05\u0438\u021D\x02\u2374" + "\u2372\x03\x02\x02\x02\u2375\u2378\x03\x02\x02\x02\u2376\u2374\x03\x02" + "\x02\x02\u2376\u2377\x03\x02\x02\x02\u2377\u0437\x03\x02\x02\x02\u2378" + "\u2376\x03\x02\x02\x02\u2379\u2383\x05\u053C\u029F\x02\u237A\u2383\x05" + "\u043A\u021E\x02\u237B\u2383\x05\u043E\u0220\x02\u237C\u2383\x05\u043C" + "\u021F\x02\u237D\u2383\x05\u0440\u0221\x02\u237E\u237F\x07\x04\x02\x02" + "\u237F\u2380\x05\u0536\u029C\x02\u2380\u2381\x07\x05\x02\x02\u2381\u2383" + "\x03\x02\x02\x02\u2382\u2379\x03\x02\x02\x02\u2382\u237A\x03\x02\x02\x02" + "\u2382\u237B\x03\x02\x02\x02\u2382\u237C\x03\x02\x02\x02\u2382\u237D\x03" + "\x02\x02\x02\u2382\u237E\x03\x02\x02\x02\u2383\u0439\x03\x02\x02\x02\u2384" + "\u2385\x07\x04\x02\x02\u2385\u2386\x07\x05\x02\x02\u2386\u043B\x03\x02" + "\x02\x02\u2387\u2388\x07\u01D6\x02\x02\u2388\u2389\x07\x04\x02\x02\u2389" + "\u238A\x05\u0536\u029C\x02\u238A\u238B\x07\x05\x02\x02\u238B\u043D\x03" + "\x02\x02\x02\u238C\u238D\x07\u01D7\x02\x02\u238D\u238E\x07\x04\x02\x02" + "\u238E\u238F\x05\u0536\u029C\x02\u238F\u2390\x07\x05\x02\x02\u2390\u043F" + "\x03\x02\x02\x02\u2391\u2392\x07\u01D8\x02\x02\u2392\u2393\x07\u01D9\x02" + "\x02\u2393\u2394\x07\x04\x02\x02\u2394\u2395\x05\u0436\u021C\x02\u2395" + "\u2396\x07\x05\x02\x02\u2396\u0441\x03\x02\x02\x02\u2397\u2398\x07E\x02" + "\x02\u2398\u2399\x05\u04C0\u0261\x02\u2399\u0443\x03\x02\x02\x02\u239A" + "\u239F\x05\u0448\u0225\x02\u239B\u239C\x07@\x02\x02\u239C\u239D\x07\u012E" + "\x02\x02\u239D\u239F\x07S\x02\x02\u239E\u239A\x03\x02\x02\x02\u239E\u239B" + "\x03\x02\x02\x02\u239F\u0445\x03\x02\x02\x02\u23A0\u23A1\x05\u0444\u0223" + "\x02\u23A1\u0447\x03\x02\x02\x02\u23A2\u23A4\x05\u044A\u0226\x02\u23A3" + "\u23A2\x03\x02\x02\x02\u23A4\u23A5\x03\x02\x02\x02\u23A5\u23A3\x03\x02" + "\x02\x02\u23A5\u23A6\x03\x02\x02\x02\u23A6\u0449\x03\x02\x02\x02\u23A7" + "\u23A9\x05\u044C\u0227\x02\u23A8\u23AA\x05\u044E\u0228\x02\u23A9\u23A8" + "\x03\x02\x02\x02\u23A9\u23AA\x03\x02\x02\x02\u23AA\u23AC\x03\x02\x02\x02" + "\u23AB\u23AD\x05\u03D8\u01ED\x02\u23AC\u23AB\x03\x02\x02\x02\u23AC\u23AD" + "\x03\x02\x02\x02\u23AD\u044B\x03\x02\x02\x02\u23AE\u23B8\x07@\x02\x02" + "\u23AF\u23B0\x07\u010F\x02\x02\u23B0\u23B2\x07\xF7\x02\x02\u23B1\u23AF" + "\x03\x02\x02\x02\u23B1\u23B2\x03\x02\x02\x02\u23B2\u23B3\x03\x02\x02\x02" + "\u23B3\u23B9\x07\u0173\x02\x02\u23B4\u23B6\x07\xF7\x02\x02\u23B5\u23B4" + "\x03\x02\x02\x02\u23B5\u23B6\x03\x02\x02\x02\u23B6\u23B7\x03\x02\x02\x02" + "\u23B7\u23B9\x07\u0150\x02\x02\u23B8\u23B1\x03\x02\x02\x02\u23B8\u23B5" + "\x03\x02\x02\x02\u23B9\u044D\x03\x02\x02\x02\u23BA\u23BB\x07\u0115\x02" + "\x02\u23BB\u23BC\x05\u0572\u02BA\x02\u23BC\u044F\x03\x02\x02\x02\u23BD" + "\u23BE\x07\u01A8\x02\x02\u23BE\u23BF\x07\x04\x02\x02\u23BF\u23C0\x05\u0534" + "\u029B\x02\u23C0\u23C8\x07\x05\x02\x02\u23C1\u23C2\x07\b\x02\x02\u23C2" + "\u23C3\x07\x04\x02\x02\u23C3\u23C4\x05\u0534\u029B\x02\u23C4\u23C5\x07" + "\x05\x02\x02\u23C5\u23C7\x03\x02\x02\x02\u23C6\u23C1\x03\x02\x02\x02\u23C7" + "\u23CA\x03\x02\x02\x02\u23C8\u23C6\x03\x02\x02\x02\u23C8\u23C9\x03\x02" + "\x02\x02\u23C9\u0451\x03\x02\x02\x02\u23CA\u23C8\x03\x02\x02\x02\u23CB" + "\u23CC\x07B\x02\x02\u23CC\u23CD\x05\u0454\u022B\x02\u23CD\u0453\x03\x02" + "\x02\x02\u23CE\u23D3\x05\u0456\u022C\x02\u23CF\u23D0\x07\b\x02\x02\u23D0" + "\u23D2\x05\u0456\u022C\x02\u23D1\u23CF\x03\x02\x02\x02\u23D2\u23D5\x03" + "\x02\x02\x02\u23D3\u23D1\x03\x02\x02\x02\u23D3\u23D4\x03\x02\x02\x02\u23D4" + "\u0455\x03\x02\x02\x02\u23D5\u23D3\x03\x02\x02\x02\u23D6\u23D9\x05\u0462" + "\u0232\x02\u23D7\u23D9\x05\u0464\u0233\x02\u23D8\u23D6\x03\x02\x02\x02" + "\u23D8\u23D7\x03\x02\x02\x02\u23D9\u23DB\x03\x02\x02\x02\u23DA\u23DC\x05" + "\u045A\u022E\x02\u23DB\u23DA\x03\x02\x02\x02\u23DB\u23DC\x03\x02\x02\x02" + "\u23DC\u23DE\x03\x02\x02\x02\u23DD\u23DF\x05\u046E\u0238\x02\u23DE\u23DD" + "\x03\x02\x02\x02\u23DE\u23DF\x03\x02\x02\x02\u23DF\u2414\x03\x02\x02\x02" + "\u23E0\u23E2\x05\u0472\u023A\x02\u23E1\u23E3\x05\u045C\u022F\x02\u23E2" + "\u23E1\x03\x02\x02\x02\u23E2\u23E3\x03\x02\x02\x02\u23E3\u2414\x03\x02" + "\x02\x02\u23E4\u23E6\x05\u0486\u0244\x02\u23E5\u23E7\x05\u045A\u022E\x02" + "\u23E6\u23E5\x03\x02\x02\x02\u23E6\u23E7\x03\x02\x02\x02\u23E7\u2414\x03" + "\x02\x02\x02\u23E8\u23EA\x05\u03EE\u01F8\x02\u23E9\u23EB\x05\u045A\u022E" + "\x02\u23EA\u23E9\x03\x02\x02\x02\u23EA\u23EB\x03\x02\x02\x02\u23EB\u2414" + "\x03\x02\x02\x02\u23EC\u23F9\x07J\x02\x02\u23ED\u23EF\x05\u0486\u0244" + "\x02\u23EE\u23F0\x05\u045A\u022E\x02\u23EF\u23EE\x03\x02\x02\x02\u23EF" + "\u23F0\x03\x02\x02\x02\u23F0\u23FA\x03\x02\x02\x02\u23F1\u23F3\x05\u0472" + "\u023A\x02\u23F2\u23F4\x05\u045C\u022F\x02\u23F3\u23F2\x03\x02\x02\x02" + "\u23F3\u23F4\x03\x02\x02\x02\u23F4\u23FA\x03\x02\x02\x02\u23F5\u23F7\x05" + "\u03EE\u01F8\x02\u23F6\u23F8\x05\u045A\u022E\x02\u23F7\u23F6\x03\x02\x02" + "\x02\u23F7\u23F8\x03\x02\x02\x02\u23F8\u23FA\x03\x02\x02\x02\u23F9\u23ED" + "\x03\x02\x02\x02\u23F9\u23F1\x03\x02\x02\x02\u23F9\u23F5\x03\x02\x02\x02" + "\u23FA\u2414\x03\x02\x02\x02\u23FB\u23FC\x07\x04\x02\x02\u23FC\u240D\x05" + "\u0456\u022C\x02\u23FD\u23FE\x07p\x02\x02\u23FE\u23FF\x07x\x02\x02\u23FF" + "\u240E\x05\u0456\u022C\x02\u2400\u2402\x07{\x02\x02\u2401\u2403\x05\u045E" + "\u0230\x02\u2402\u2401\x03\x02\x02\x02\u2402\u2403\x03\x02\x02\x02\u2403" + "\u2404\x03\x02\x02\x02\u2404\u2405\x07x\x02\x02\u2405\u240E\x05\u0456" + "\u022C\x02\u2406\u2408\x05\u045E\u0230\x02\u2407\u2406\x03\x02\x02\x02" + "\u2407\u2408\x03\x02\x02\x02\u2408\u2409\x03\x02\x02\x02\u2409\u240A\x07" + "x\x02\x02\u240A\u240B\x05\u0456\u022C\x02\u240B\u240C\x05\u0460\u0231" + "\x02\u240C\u240E\x03\x02\x02\x02\u240D\u23FD\x03\x02\x02\x02\u240D\u2400" + "\x03\x02\x02\x02\u240D\u2407\x03\x02\x02\x02\u240D\u240E\x03\x02\x02\x02" + "\u240E\u240F\x03\x02\x02\x02\u240F\u2411\x07\x05\x02\x02\u2410\u2412\x05" + "\u045A\u022E\x02\u2411\u2410\x03\x02\x02\x02\u2411\u2412\x03\x02\x02\x02" + "\u2412\u2414\x03\x02\x02\x02\u2413\u23D8\x03\x02\x02\x02\u2413\u23E0\x03" + "\x02\x02\x02\u2413\u23E4\x03\x02\x02\x02\u2413\u23E8\x03\x02\x02\x02\u2413" + "\u23EC\x03\x02\x02\x02\u2413\u23FB\x03\x02\x02\x02\u2414\u2427\x03\x02" + "\x02\x02\u2415\u2416\x07p\x02\x02\u2416\u2417\x07x\x02\x02\u2417\u2426" + "\x05\u0456\u022C\x02\u2418\u241A\x07{\x02\x02\u2419\u241B\x05\u045E\u0230" + "\x02\u241A\u2419\x03\x02\x02\x02\u241A\u241B\x03\x02\x02\x02\u241B\u241C" + "\x03\x02\x02\x02\u241C\u241D\x07x\x02\x02\u241D\u2426\x05\u0456\u022C" + "\x02\u241E\u2420\x05\u045E\u0230\x02\u241F\u241E\x03\x02\x02\x02\u241F" + "\u2420\x03\x02\x02\x02\u2420\u2421\x03\x02\x02\x02\u2421\u2422\x07x\x02" + "\x02\u2422\u2423\x05\u0456\u022C\x02\u2423\u2424\x05\u0460\u0231\x02\u2424" + "\u2426\x03\x02\x02\x02\u2425\u2415\x03\x02\x02\x02\u2425\u2418\x03\x02" + "\x02\x02\u2425\u241F\x03\x02\x02\x02\u2426\u2429\x03\x02\x02\x02\u2427" + "\u2425\x03\x02\x02\x02\u2427\u2428\x03\x02\x02\x02\u2428\u0457\x03\x02" + "\x02\x02\u2429\u2427\x03\x02\x02\x02\u242A\u242C\x07&\x02\x02\u242B\u242A" + "\x03\x02\x02\x02\u242B\u242C\x03\x02\x02\x02\u242C\u242D\x03\x02\x02\x02" + "\u242D\u2432\x05\u05C6\u02E4\x02\u242E\u242F\x07\x04\x02\x02\u242F\u2430" + "\x05\u058C\u02C7\x02\u2430\u2431\x07\x05\x02\x02\u2431\u2433\x03\x02\x02" + "\x02\u2432\u242E\x03\x02\x02\x02\u2432\u2433\x03\x02\x02\x02\u2433\u0459" + "\x03\x02\x02\x02\u2434\u2435\x05\u0458\u022D\x02\u2435\u045B\x03\x02\x02" + "\x02\u2436\u2443\x05\u0458\u022D\x02\u2437\u2439\x07&\x02\x02\u2438\u243A" + "\x05\u05C6\u02E4\x02\u2439\u2438\x03\x02\x02\x02\u2439\u243A\x03\x02\x02" + "\x02\u243A\u243D\x03\x02\x02\x02\u243B\u243D\x05\u05C6\u02E4\x02\u243C" + "\u2437\x03\x02\x02\x02\u243C\u243B\x03\x02\x02\x02\u243D\u243E\x03\x02" + "\x02\x02\u243E\u243F\x07\x04\x02\x02\u243F\u2440\x05\u0482\u0242\x02\u2440" + "\u2441\x07\x05\x02\x02\u2441\u2443\x03\x02\x02\x02\u2442\u2436\x03\x02" + "\x02\x02\u2442\u243C\x03\x02\x02\x02\u2443\u045D\x03\x02\x02\x02\u2444" + "\u2446\t8\x02\x02\u2445\u2447\x07}\x02\x02\u2446\u2445\x03\x02\x02\x02" + "\u2446\u2447\x03\x02\x02\x02\u2447\u045F\x03\x02\x02\x02\u2448\u2449\x07" + "f\x02\x02\u2449\u244A\x07\x04\x02\x02\u244A\u244B\x05\xF6|\x02\u244B\u244C" + "\x07\x05\x02\x02\u244C\u2450\x03\x02\x02\x02\u244D\u244E\x07R\x02\x02" + "\u244E\u2450\x05\u04C0\u0261\x02\u244F\u2448\x03\x02\x02\x02\u244F\u244D" + "\x03\x02\x02\x02\u2450\u0461\x03\x02\x02\x02\u2451\u2453\x07S\x02\x02" + "\u2452\u2451\x03\x02\x02\x02\u2452\u2453\x03\x02\x02\x02\u2453\u2454\x03" + "\x02\x02\x02\u2454\u2456\x05\u0582\u02C2\x02\u2455\u2457\x07\v\x02\x02" + "\u2456\u2455\x03\x02\x02\x02\u2456\u2457\x03\x02\x02\x02\u2457\u2459\x03" + "\x02\x02\x02\u2458\u245A\x05\xF6|\x02\u2459\u2458\x03\x02\x02\x02\u2459" + "\u245A\x03\x02\x02\x02\u245A\u245C\x03\x02\x02\x02\u245B\u245D\x05\u047C" + "\u023F\x02\u245C\u245B\x03\x02\x02\x02\u245C\u245D\x03\x02\x02\x02\u245D" + "\u246D\x03\x02\x02\x02\u245E\u2464\x07S\x02\x02\u245F\u2465\x05\u0582" + "\u02C2\x02\u2460\u2461\x07\x04\x02\x02\u2461\u2462\x05\u0582\u02C2\x02" + "\u2462\u2463\x07\x05\x02\x02\u2463\u2465\x03\x02\x02\x02\u2464\u245F\x03" + "\x02\x02\x02\u2464\u2460\x03\x02\x02\x02\u2465\u246D\x03\x02\x02\x02\u2466" + "\u2467\x07F\x02\x02\u2467\u246A\x07\u0145\x02\x02\u2468\u246B\x05\u0592" + "\u02CA\x02\u2469\u246B\x07q\x02\x02\u246A\u2468\x03\x02\x02\x02\u246A" + "\u2469\x03\x02\x02\x02\u246B\u246D\x03\x02\x02\x02\u246C\u2452\x03\x02" + "\x02\x02\u246C\u245E\x03\x02\x02\x02\u246C\u2466\x03\x02\x02\x02\u246D" + "\u0463\x03\x02\x02\x02\u246E\u2470\x07S\x02\x02\u246F\u246E\x03\x02\x02" + "\x02\u246F\u2470\x03\x02\x02\x02\u2470\u2471\x03\x02\x02\x02\u2471\u2473" + "\x05\u0586\u02C4\x02\u2472\u2474\x07\v\x02\x02\u2473\u2472\x03\x02\x02" + "\x02\u2473\u2474\x03\x02\x02\x02\u2474\u2476\x03\x02\x02\x02\u2475\u2477" + "\x05\xF6|\x02\u2476\u2475\x03\x02\x02\x02\u2476\u2477\x03\x02\x02\x02" + "\u2477\u2479\x03\x02\x02\x02\u2478\u247A\x05\u047C\u023F\x02\u2479\u2478" + "\x03\x02\x02\x02\u2479\u247A\x03\x02\x02\x02\u247A\u0465\x03\x02\x02\x02" + "\u247B\u247D\x07^\x02\x02\u247C\u247E\x07S\x02\x02\u247D\u247C\x03\x02" + "\x02\x02\u247D\u247E\x03\x02\x02\x02\u247E\u247F\x03\x02\x02\x02\u247F" + "\u2481\x05\u0582\u02C2\x02\u2480\u2482\x07\v\x02\x02\u2481\u2480\x03\x02" + "\x02\x02\u2481\u2482\x03\x02\x02\x02\u2482\u2487\x03\x02\x02\x02\u2483" + "\u2484\x07\x04\x02\x02\u2484\u2485\x05\xF6|\x02\u2485\u2486\x07\x05\x02" + "\x02\u2486\u2488\x03\x02\x02\x02\u2487\u2483\x03\x02\x02\x02\u2487\u2488" + "\x03\x02\x02\x02\u2488\u248A\x03\x02\x02\x02\u2489\u248B\x05\u047C\u023F" + "\x02\u248A\u2489\x03\x02\x02\x02\u248A\u248B\x03\x02\x02\x02\u248B\u249D" + "\x03\x02\x02\x02\u248C\u248D\x07^\x02\x02\u248D\u2493\x07S\x02\x02\u248E" + "\u2494\x05\u0582\u02C2\x02\u248F\u2490\x07\x04\x02\x02\u2490\u2491\x05" + "\u0582\u02C2\x02\u2491\u2492\x07\x05\x02\x02\u2492\u2494\x03\x02\x02\x02" + "\u2493\u248E\x03\x02\x02\x02\u2493\u248F\x03\x02\x02\x02\u2494\u249D\x03" + "\x02\x02\x02\u2495\u2496\x07\u0160\x02\x02\u2496\u2497\x07F\x02\x02\u2497" + "\u249A\x07\u0145\x02\x02\u2498\u249B\x05\u0592\u02CA\x02\u2499\u249B\x07" + "q\x02\x02\u249A\u2498\x03\x02\x02\x02\u249A\u2499\x03\x02\x02\x02\u249B" + "\u249D\x03\x02\x02\x02\u249C\u247B\x03\x02\x02\x02\u249C\u248C\x03\x02" + "\x02\x02\u249C\u2495\x03\x02\x02\x02\u249D\u0467\x03\x02\x02\x02\u249E" + "\u24A3\x05\u0462\u0232\x02\u249F\u24A0\x07\b\x02\x02\u24A0\u24A2\x05\u0462" + "\u0232\x02\u24A1\u249F\x03\x02\x02\x02\u24A2\u24A5\x03\x02\x02\x02\u24A3" + "\u24A1\x03\x02\x02\x02\u24A3\u24A4\x03\x02\x02\x02\u24A4\u0469\x03\x02" + "\x02\x02\u24A5\u24A3\x03\x02\x02\x02\u24A6\u24AB\x05\u0466\u0234\x02\u24A7" + "\u24A8\x07\b\x02\x02\u24A8\u24AA\x05\u0466\u0234\x02\u24A9\u24A7\x03\x02" + "\x02\x02\u24AA\u24AD\x03\x02\x02\x02\u24AB\u24A9\x03\x02\x02\x02\u24AB" + "\u24AC\x03\x02\x02\x02\u24AC\u046B\x03\x02\x02\x02\u24AD\u24AB\x03\x02" + "\x02\x02\u24AE\u24B3\x05\u0462\u0232\x02\u24AF\u24B1\x07&\x02\x02\u24B0" + "\u24AF\x03\x02\x02\x02\u24B0\u24B1\x03\x02\x02\x02\u24B1\u24B2\x03\x02" + "\x02\x02\u24B2\u24B4\x05\u05C6\u02E4\x02\u24B3\u24B0\x03\x02\x02\x02\u24B3" + "\u24B4\x03\x02\x02\x02\u24B4\u046D\x03\x02\x02\x02\u24B5\u24B6\x07\u01DA" + "\x02\x02\u24B6\u24B7\x05\u05A8\u02D5\x02\u24B7\u24B8\x07\x04\x02\x02\u24B8" + "\u24B9\x05\u0534\u029B\x02\u24B9\u24BB\x07\x05\x02\x02\u24BA\u24BC\x05" + "\u0470\u0239\x02\u24BB\u24BA\x03\x02\x02\x02\u24BB\u24BC\x03\x02\x02\x02" + "\u24BC\u046F\x03\x02\x02\x02\u24BD\u24BE\x07\u0138\x02\x02\u24BE\u24BF" + "\x07\x04\x02\x02\u24BF\u24C0\x05\u04C0\u0261\x02\u24C0\u24C1\x07\x05\x02" + "\x02\u24C1\u0471\x03\x02\x02\x02\u24C2\u24C4\x05\u04F2\u027A\x02\u24C3" + "\u24C5\x05\u047A\u023E\x02\u24C4\u24C3\x03\x02\x02\x02\u24C4\u24C5\x03" + "\x02\x02\x02\u24C5\u24CF\x03\x02\x02\x02\u24C6\u24C7\x07\u0142\x02\x02" + "\u24C7\u24C8\x07B\x02\x02\u24C8\u24C9\x07\x04\x02\x02\u24C9\u24CA\x05" + "\u0476\u023C\x02\u24CA\u24CC\x07\x05\x02\x02\u24CB\u24CD\x05\u047A\u023E" + "\x02\u24CC\u24CB\x03\x02\x02\x02\u24CC\u24CD\x03\x02\x02\x02\u24CD\u24CF" + "\x03\x02\x02\x02\u24CE\u24C2\x03\x02\x02\x02\u24CE\u24C6\x03\x02\x02\x02" + "\u24CF\u0473\x03\x02\x02\x02\u24D0\u24D2\x05\u04F2\u027A\x02\u24D1\u24D3" + "\x05\u0478\u023D\x02\u24D2\u24D1\x03\x02\x02\x02\u24D2\u24D3\x03\x02\x02" + "\x02\u24D3\u0475\x03\x02\x02\x02\u24D4\u24D9\x05\u0474\u023B\x02\u24D5" + "\u24D6\x07\b\x02\x02\u24D6\u24D8\x05\u0474\u023B\x02\u24D7\u24D5\x03\x02" + "\x02\x02\u24D8\u24DB\x03\x02\x02\x02\u24D9\u24D7\x03\x02\x02\x02\u24D9" + "\u24DA\x03\x02\x02\x02\u24DA\u0477\x03\x02\x02\x02\u24DB\u24D9\x03\x02" + "\x02\x02\u24DC\u24DD\x07&\x02\x02\u24DD\u24DE\x07\x04\x02\x02\u24DE\u24DF" + "\x05\u0482\u0242\x02\u24DF\u24E0\x07\x05\x02\x02\u24E0\u0479\x03\x02\x02" + "\x02\u24E1\u24E2\x07k\x02\x02\u24E2\u24E3\x07\u01DB\x02\x02\u24E3\u047B" + "\x03\x02\x02\x02\u24E4\u24E5\x07i\x02\x02\u24E5\u24E6\x05\u053C\u029F" + "\x02\u24E6\u047D\x03\x02\x02\x02\u24E7\u24EC\x07i\x02\x02\u24E8\u24E9" + "\x07\u01B4\x02\x02\u24E9\u24EA\x07\u0115\x02\x02\u24EA\u24ED\x05\u03E6" + "\u01F4\x02\u24EB\u24ED\x05\u04C0\u0261\x02\u24EC\u24E8\x03\x02\x02\x02" + "\u24EC\u24EB\x03\x02\x02\x02\u24ED\u047F\x03\x02\x02\x02\u24EE\u24EF\x05" + "\u0482\u0242\x02\u24EF\u0481\x03\x02\x02\x02\u24F0\u24F5\x05\u0484\u0243" + "\x02\u24F1\u24F2\x07\b\x02\x02\u24F2\u24F4\x05\u0484\u0243\x02\u24F3\u24F1" + "\x03\x02\x02\x02\u24F4\u24F7\x03\x02\x02\x02\u24F5\u24F3\x03\x02\x02\x02" + "\u24F5\u24F6\x03\x02\x02\x02\u24F6\u0483\x03\x02\x02\x02\u24F7\u24F5\x03" + "\x02\x02\x02\u24F8\u24F9\x05\u05C6\u02E4\x02\u24F9\u24FB\x05\u0494\u024B" + "\x02\u24FA\u24FC\x05\x80A\x02\u24FB\u24FA\x03\x02\x02\x02\u24FB\u24FC" + "\x03\x02\x02\x02\u24FC\u0485\x03\x02\x02\x02\u24FD\u24FE\x07\u01DC\x02" + "\x02\u24FE\u250E\x07\x04\x02\x02\u24FF\u2500\x05\u04EA\u0276\x02\u2500" + "\u2501\x05\u0504\u0283\x02\u2501\u2502\x07\u01DD\x02\x02\u2502\u2503\x05" + "\u0488\u0245\x02\u2503\u250F\x03\x02\x02\x02\u2504\u2505\x07\u01DE\x02" + "\x02\u2505\u2506\x07\x04\x02\x02\u2506\u2507\x05\u0490\u0249\x02\u2507" + "\u2508\x07\x05\x02\x02\u2508\u2509\x07\b\x02\x02\u2509\u250A\x05\u04EA" + "\u0276\x02\u250A\u250B\x05\u0504\u0283\x02\u250B\u250C\x07\u01DD\x02\x02" + "\u250C\u250D\x05\u0488\u0245\x02\u250D\u250F\x03\x02\x02\x02\u250E\u24FF" + "\x03\x02\x02\x02\u250E\u2504\x03\x02\x02\x02\u250F\u2510\x03\x02\x02\x02" + "\u2510\u2511\x07\x05\x02\x02\u2511\u0487\x03\x02\x02\x02\u2512\u2517\x05" + "\u048A\u0246\x02\u2513\u2514\x07\b\x02\x02\u2514\u2516\x05\u048A\u0246" + "\x02\u2515\u2513\x03\x02\x02\x02\u2516\u2519\x03\x02\x02\x02\u2517\u2515" + "\x03\x02\x02\x02\u2517\u2518\x03\x02\x02\x02\u2518\u0489\x03\x02\x02\x02" + "\u2519\u2517\x03\x02\x02\x02\u251A\u2521\x05\u05C6\u02E4\x02\u251B\u251D" + "\x05\u0494\u024B\x02\u251C\u251E\x05\u048C\u0247\x02\u251D\u251C\x03\x02" + "\x02\x02\u251D\u251E\x03\x02\x02\x02\u251E\u2522\x03\x02\x02\x02\u251F" + "\u2520\x07@\x02\x02\u2520\u2522\x07\u01DB\x02\x02\u2521\u251B\x03\x02" + "\x02\x02\u2521\u251F\x03\x02\x02\x02\u2522\u048B\x03\x02\x02\x02\u2523" + "\u2525\x05\u048E\u0248\x02\u2524\u2523\x03\x02\x02\x02\u2525\u2526\x03" + "\x02\x02\x02\u2526\u2524\x03\x02\x02\x02\u2526\u2527\x03\x02\x02\x02\u2527" + "\u048D\x03\x02\x02\x02\u2528\u2529\x077\x02\x02\u2529\u2531\x05\u04C0" + "\u0261\x02\u252A\u252B\x05\u05D8\u02ED\x02\u252B\u252C\x05\u04C0\u0261" + "\x02\u252C\u2531\x03\x02\x02\x02\u252D\u252E\x07O\x02\x02\u252E\u2531" + "\x07P\x02\x02\u252F\u2531\x07P\x02\x02\u2530\u2528\x03\x02\x02\x02\u2530" + "\u252A\x03\x02\x02\x02\u2530\u252D\x03\x02\x02\x02\u2530\u252F\x03\x02" + "\x02\x02\u2531\u048F\x03\x02\x02\x02\u2532\u2537\x05\u0492\u024A\x02\u2533" + "\u2534\x07\b\x02\x02\u2534\u2536\x05\u0492\u024A\x02\u2535\u2533\x03\x02" + "\x02\x02\u2536\u2539\x03\x02\x02\x02\u2537\u2535\x03\x02\x02\x02\u2537" + "\u2538\x03\x02\x02\x02\u2538\u0491\x03\x02\x02\x02\u2539\u2537\x03\x02" + "\x02\x02\u253A\u253B\x05\u04E8\u0275\x02\u253B\u253C\x07&\x02\x02\u253C" + "\u253D\x05\u05D6\u02EC\x02\u253D\u2541\x03\x02\x02\x02\u253E\u253F\x07" + "7\x02\x02\u253F\u2541\x05\u04E8\u0275\x02\u2540\u253A\x03\x02\x02\x02" + "\u2540\u253E\x03\x02\x02\x02\u2541\u0493\x03\x02\x02\x02\u2542\u2544\x07" + "\u01A1\x02\x02\u2543\u2542\x03\x02\x02\x02\u2543\u2544\x03\x02\x02\x02" + "\u2544\u2545\x03\x02\x02\x02\u2545\u254E\x05\u0498\u024D\x02\u2546\u254F" + "\x05\u0496\u024C\x02\u2547\u254C\x07%\x02\x02\u2548\u2549\x07\x06\x02" + "\x02\u2549\u254A\x05\u05B4\u02DB\x02\u254A\u254B\x07\x07\x02\x02\u254B" + "\u254D\x03\x02\x02\x02\u254C\u2548\x03\x02\x02\x02\u254C\u254D\x03\x02" + "\x02\x02\u254D\u254F\x03\x02\x02\x02\u254E\u2546\x03\x02\x02\x02\u254E" + "\u2547\x03\x02\x02\x02\u254F\u2555\x03\x02\x02\x02\u2550\u2551\x05\u0588" + "\u02C5\x02\u2551\u2552\x07\x1D\x02\x02\u2552\u2553\t9\x02\x02\u2553\u2555" + "\x03\x02\x02\x02\u2554\u2543\x03\x02\x02\x02\u2554\u2550\x03\x02\x02\x02" + "\u2555\u0495\x03\x02\x02\x02\u2556\u2558\x07\x06\x02\x02\u2557\u2559\x05" + "\u05B4\u02DB\x02\u2558\u2557\x03\x02\x02\x02\u2558\u2559\x03\x02\x02\x02" + "\u2559\u255A\x03\x02\x02\x02\u255A\u255C\x07\x07\x02\x02\u255B\u2556\x03" + "\x02\x02\x02\u255C\u255F\x03\x02\x02\x02\u255D\u255B\x03\x02\x02\x02\u255D" + "\u255E\x03\x02\x02\x02\u255E\u0497\x03\x02\x02\x02\u255F\u255D\x03\x02" + "\x02\x02\u2560\u2570\x05\u049C\u024F\x02\u2561\u2570\x05\u04A0\u0251\x02" + "\u2562\u2570\x05\u04A4\u0253\x02\u2563\u2570\x05\u04AC\u0257\x02\u2564" + "\u2570\x05\u04B4\u025B\x02\u2565\u256D\x05\u04B6\u025C\x02\u2566\u2568" + "\x05\u04BA\u025E\x02\u2567\u2566\x03\x02\x02\x02\u2567\u2568\x03\x02\x02" + "\x02\u2568\u256E\x03\x02\x02\x02\u2569\u256A\x07\x04\x02\x02\u256A\u256B" + "\x05\u05B4\u02DB\x02\u256B\u256C\x07\x05\x02\x02\u256C\u256E\x03\x02\x02" + "\x02\u256D\u2567\x03\x02\x02\x02\u256D\u2569\x03\x02\x02\x02\u256E\u2570" + "\x03\x02\x02\x02\u256F\u2560\x03\x02\x02\x02\u256F\u2561\x03\x02\x02\x02" + "\u256F\u2562\x03\x02\x02\x02\u256F\u2563\x03\x02\x02\x02\u256F\u2564\x03" + "\x02\x02\x02\u256F\u2565\x03\x02\x02\x02\u2570\u0499\x03\x02\x02\x02\u2571" + "\u2576\x05\u04A0\u0251"; private static readonly _serializedATNSegment18: string = "\x02\u2572\u2576\x05\u04A6\u0254\x02\u2573\u2576\x05\u04AE\u0258\x02\u2574" + "\u2576\x05\u04B4\u025B\x02\u2575\u2571\x03\x02\x02\x02\u2575\u2572\x03" + "\x02\x02\x02\u2575\u2573\x03\x02\x02\x02\u2575\u2574\x03\x02\x02\x02\u2576" + "\u049B\x03\x02\x02\x02\u2577\u2579\x05\u05CE\u02E8\x02\u2578\u257A\x05" + "\u0232\u011A\x02\u2579\u2578\x03\x02\x02\x02\u2579\u257A\x03\x02\x02\x02" + "\u257A\u257C\x03\x02\x02\x02\u257B\u257D\x05\u049E\u0250\x02\u257C\u257B" + "\x03\x02\x02\x02\u257C\u257D\x03\x02\x02\x02\u257D\u049D\x03\x02\x02\x02" + "\u257E\u257F\x07\x04\x02\x02\u257F\u2580\x05\u0534\u029B\x02\u2580\u2581" + "\x07\x05\x02\x02\u2581\u049F\x03\x02\x02\x02\u2582\u259B\x07\u0193\x02" + "\x02\u2583\u259B\x07\u0194\x02\x02\u2584\u259B\x07\u01A2\x02\x02\u2585" + "\u259B\x07\u0186\x02\x02\u2586\u259B\x07\u019F\x02\x02\u2587\u2589\x07" + "\u0190\x02\x02\u2588\u258A\x05\u04A2\u0252\x02\u2589\u2588\x03\x02\x02" + "\x02\u2589\u258A\x03\x02\x02\x02\u258A\u259B\x03\x02\x02\x02\u258B\u258C" + "\x07\xC0\x02\x02\u258C\u259B\x07\u019E\x02\x02\u258D\u258F\x07\u018D\x02" + "\x02\u258E\u2590\x05\u049E\u0250\x02\u258F\u258E\x03\x02\x02\x02\u258F" + "\u2590\x03\x02\x02\x02\u2590\u259B\x03\x02\x02\x02\u2591\u2593\x07\u018C" + "\x02\x02\u2592\u2594\x05\u049E\u0250\x02\u2593\u2592\x03\x02\x02\x02\u2593" + "\u2594\x03\x02\x02\x02\u2594\u259B\x03\x02\x02\x02\u2595\u2597\x07\u019B" + "\x02\x02\u2596\u2598\x05\u049E\u0250\x02\u2597\u2596\x03\x02\x02\x02\u2597" + "\u2598\x03\x02\x02\x02\u2598\u259B\x03\x02\x02\x02\u2599\u259B\x07\u0188" + "\x02\x02\u259A\u2582\x03\x02\x02\x02\u259A\u2583\x03\x02\x02\x02\u259A" + "\u2584\x03\x02\x02\x02\u259A\u2585\x03\x02\x02\x02\u259A\u2586\x03\x02" + "\x02\x02\u259A\u2587\x03\x02\x02\x02\u259A\u258B\x03\x02\x02\x02\u259A" + "\u258D\x03\x02\x02\x02\u259A\u2591\x03\x02\x02\x02\u259A\u2595\x03\x02" + "\x02\x02\u259A\u2599\x03\x02\x02\x02\u259B\u04A1\x03\x02\x02\x02\u259C" + "\u259D\x07\x04\x02\x02\u259D\u259E\x05\u05B4\u02DB\x02\u259E\u259F\x07" + "\x05\x02\x02\u259F\u04A3\x03\x02\x02\x02\u25A0\u25A3\x05\u04A8\u0255\x02" + "\u25A1\u25A3\x05\u04AA\u0256\x02\u25A2\u25A0\x03\x02\x02\x02\u25A2\u25A1" + "\x03\x02\x02\x02\u25A3\u04A5\x03\x02\x02\x02\u25A4\u25A7\x05\u04A8\u0255" + "\x02\u25A5\u25A7\x05\u04AA\u0256\x02\u25A6\u25A4\x03\x02\x02\x02\u25A6" + "\u25A5\x03\x02\x02\x02\u25A7\u04A7\x03\x02\x02\x02\u25A8\u25AA\x07\u0187" + "\x02\x02\u25A9\u25AB\x05\u04B2\u025A\x02\u25AA\u25A9\x03\x02\x02\x02\u25AA" + "\u25AB\x03\x02\x02\x02\u25AB\u25AC\x03\x02\x02\x02\u25AC\u25AD\x07\x04" + "\x02\x02\u25AD\u25AE\x05\u0534\u029B\x02\u25AE\u25AF\x07\x05\x02\x02\u25AF" + "\u04A9\x03\x02\x02\x02\u25B0\u25B2\x07\u0187\x02\x02\u25B1\u25B3\x05\u04B2" + "\u025A\x02\u25B2\u25B1\x03\x02\x02\x02\u25B2\u25B3\x03\x02\x02\x02\u25B3" + "\u04AB\x03\x02\x02\x02\u25B4\u25B9\x05\u04B0\u0259\x02\u25B5\u25B6\x07" + "\x04\x02\x02\u25B6\u25B7\x05\u05B4\u02DB\x02\u25B7\u25B8\x07\x05\x02\x02" + "\u25B8\u25BA\x03\x02\x02\x02\u25B9\u25B5\x03\x02\x02\x02\u25B9\u25BA\x03" + "\x02\x02\x02\u25BA\u04AD\x03\x02\x02\x02\u25BB\u25C0\x05\u04B0\u0259\x02" + "\u25BC\u25BD\x07\x04\x02\x02\u25BD\u25BE\x05\u05B4\u02DB\x02\u25BE\u25BF" + "\x07\x05\x02\x02\u25BF\u25C1\x03\x02\x02\x02\u25C0\u25BC\x03\x02\x02\x02" + "\u25C0\u25C1\x03\x02\x02\x02\u25C1\u04AF\x03\x02\x02\x02\u25C2\u25C4\t" + ":\x02\x02\u25C3\u25C5\x05\u04B2\u025A\x02\u25C4\u25C3\x03\x02\x02\x02" + "\u25C4\u25C5\x03\x02\x02\x02\u25C5\u25CD\x03\x02\x02\x02\u25C6\u25CD\x07" + "\u01A9\x02\x02\u25C7\u25C8\x07\u0197\x02\x02\u25C8\u25CA\t;\x02\x02\u25C9" + "\u25CB\x05\u04B2\u025A\x02\u25CA\u25C9\x03\x02\x02\x02\u25CA\u25CB\x03" + "\x02\x02\x02\u25CB\u25CD\x03\x02\x02\x02\u25CC\u25C2\x03\x02\x02\x02\u25CC" + "\u25C6\x03\x02\x02\x02\u25CC\u25C7\x03\x02\x02\x02\u25CD\u04B1\x03\x02" + "\x02\x02\u25CE\u25CF\x07\u0178\x02\x02\u25CF\u04B3\x03\x02\x02\x02\u25D0" + "\u25D5\t<\x02\x02\u25D1\u25D2\x07\x04\x02\x02\u25D2\u25D3\x05\u05B4\u02DB" + "\x02\u25D3\u25D4\x07\x05\x02\x02\u25D4\u25D6\x03\x02\x02\x02\u25D5\u25D1" + "\x03\x02\x02\x02\u25D5\u25D6\x03\x02\x02\x02\u25D6\u25D8\x03\x02\x02\x02" + "\u25D7\u25D9\x05\u04B8\u025D\x02\u25D8\u25D7\x03\x02\x02\x02\u25D8\u25D9" + "\x03\x02\x02\x02\u25D9\u04B5\x03\x02\x02\x02\u25DA\u25DB\x07\u0195\x02" + "\x02\u25DB\u04B7\x03\x02\x02\x02\u25DC\u25DD\x07k\x02\x02\u25DD\u25DE" + "\x07\u01A4\x02\x02\u25DE\u25E3\x07\u0184\x02\x02\u25DF\u25E0\x07\u017D" + "\x02\x02\u25E0\u25E1\x07\u01A4\x02\x02\u25E1\u25E3\x07\u0184\x02\x02\u25E2" + "\u25DC\x03\x02\x02\x02\u25E2\u25DF\x03\x02\x02\x02\u25E3\u04B9\x03\x02" + "\x02\x02\u25E4\u25FE\x07\u0182\x02\x02\u25E5\u25FE\x07\u010A\x02\x02\u25E6" + "\u25FE\x07\xB2\x02\x02\u25E7\u25FE\x07\xDC\x02\x02\u25E8\u25FE\x07\u0107" + "\x02\x02\u25E9\u25FE\x05\u04BC\u025F\x02\u25EA\u25EB\x07\u0182\x02\x02" + "\u25EB\u25EC\x07`\x02\x02\u25EC\u25FE\x07\u010A\x02\x02\u25ED\u25EE\x07" + "\xB2\x02\x02\u25EE\u25F2\x07`\x02\x02\u25EF\u25F3\x07\xDC\x02\x02\u25F0" + "\u25F3\x07\u0107\x02\x02\u25F1\u25F3\x05\u04BC\u025F\x02\u25F2\u25EF\x03" + "\x02\x02\x02\u25F2\u25F0\x03\x02\x02\x02\u25F2\u25F1\x03\x02\x02\x02\u25F3" + "\u25FE\x03\x02\x02\x02\u25F4\u25F5\x07\xDC\x02\x02\u25F5\u25F8\x07`\x02" + "\x02\u25F6\u25F9\x07\u0107\x02\x02\u25F7\u25F9\x05\u04BC\u025F\x02\u25F8" + "\u25F6\x03\x02\x02\x02\u25F8\u25F7\x03\x02\x02\x02\u25F9\u25FE\x03\x02" + "\x02\x02\u25FA\u25FB\x07\u0107\x02\x02\u25FB\u25FC\x07`\x02\x02\u25FC" + "\u25FE\x05\u04BC\u025F\x02\u25FD\u25E4\x03\x02\x02\x02\u25FD\u25E5\x03" + "\x02\x02\x02\u25FD\u25E6\x03\x02\x02\x02\u25FD\u25E7\x03\x02\x02\x02\u25FD" + "\u25E8\x03\x02\x02\x02\u25FD\u25E9\x03\x02\x02\x02\u25FD\u25EA\x03\x02" + "\x02\x02\u25FD\u25ED\x03\x02\x02\x02\u25FD\u25F4\x03\x02\x02\x02\u25FD" + "\u25FA\x03\x02\x02\x02\u25FE\u04BB\x03\x02\x02\x02\u25FF\u2604\x07\u0148" + "\x02\x02\u2600\u2601\x07\x04\x02\x02\u2601\u2602\x05\u05B4\u02DB\x02\u2602" + "\u2603\x07\x05\x02\x02\u2603\u2605\x03\x02\x02\x02\u2604\u2600\x03\x02" + "\x02\x02\u2604\u2605\x03\x02\x02\x02\u2605\u04BD\x03\x02\x02\x02\u2606" + "\u2607\x07\xC7\x02\x02\u2607\u2608\x05\u04C0\u0261\x02\u2608\u04BF\x03" + "\x02\x02\x02\u2609\u260A\x05\u04C2\u0262\x02\u260A\u04C1\x03\x02\x02\x02" + "\u260B\u260D\x05\u04C4\u0263\x02\u260C\u260E\x05\u052E\u0298\x02\u260D" + "\u260C\x03\x02\x02\x02\u260D\u260E\x03\x02\x02\x02\u260E\u04C3\x03\x02" + "\x02\x02\u260F\u2614\x05\u04C6\u0264\x02\u2610\u2611\t=\x02\x02\u2611" + "\u2613\x05\u04C6\u0264\x02\u2612\u2610\x03\x02\x02\x02\u2613\u2616\x03" + "\x02\x02\x02\u2614\u2612\x03\x02\x02\x02\u2614\u2615\x03\x02\x02\x02\u2615" + "\u04C5\x03\x02\x02\x02\u2616\u2614\x03\x02\x02\x02\u2617\u261C\x05\u04C8" + "\u0265\x02\u2618\u2619\x07T\x02\x02\u2619\u261B\x05\u04C8\u0265\x02\u261A" + "\u2618\x03\x02\x02\x02\u261B\u261E\x03\x02\x02\x02\u261C\u261A\x03\x02" + "\x02\x02\u261C\u261D\x03\x02\x02\x02\u261D\u04C7\x03\x02\x02\x02\u261E" + "\u261C\x03\x02\x02\x02\u261F\u2624\x05\u04CA\u0266\x02\u2620\u2621\x07" + "#\x02\x02\u2621\u2623\x05\u04CA\u0266\x02\u2622\u2620\x03\x02\x02\x02" + "\u2623\u2626\x03\x02\x02\x02\u2624\u2622\x03\x02\x02\x02\u2624\u2625\x03" + "\x02\x02\x02\u2625\u04C9\x03\x02\x02\x02\u2626\u2624\x03\x02\x02\x02\u2627" + "\u262D\x05\u04CC\u0267\x02\u2628\u262A\x07O\x02\x02\u2629\u2628\x03\x02" + "\x02\x02\u2629\u262A\x03\x02\x02\x02\u262A\u262B\x03\x02\x02\x02\u262B" + "\u262C\x07F\x02\x02\u262C\u262E\x05\u0556\u02AC\x02\u262D\u2629\x03\x02" + "\x02\x02\u262D\u262E\x03\x02\x02\x02\u262E\u04CB\x03\x02\x02\x02\u262F" + "\u2631\x07O\x02\x02\u2630\u262F\x03\x02\x02\x02\u2630\u2631\x03\x02\x02" + "\x02\u2631\u2632\x03\x02\x02\x02\u2632\u2633\x05\u04CE\u0268\x02\u2633" + "\u04CD\x03\x02\x02\x02\u2634\u2636\x05\u04D0\u0269\x02\u2635\u2637\t>" + "\x02\x02\u2636\u2635\x03\x02\x02\x02\u2636\u2637\x03\x02\x02\x02\u2637" + "\u04CF\x03\x02\x02\x02\u2638\u2650\x05\u04D2\u026A\x02\u2639\u263B\x07" + "v\x02\x02\u263A\u263C\x07O\x02\x02\u263B\u263A\x03\x02\x02\x02\u263B\u263C" + "\x03\x02\x02\x02\u263C\u264E\x03\x02\x02\x02\u263D\u264F\x07P\x02\x02" + "\u263E\u264F\x07b\x02\x02\u263F\u264F\x07>\x02\x02\u2640\u264F\x07\u016F" + "\x02\x02\u2641\u2642\x07:\x02\x02\u2642\u2643\x07B\x02\x02\u2643\u264F" + "\x05\u04C0\u0261\x02\u2644\u2645\x07\u0115\x02\x02\u2645\u2646\x07\x04" + "\x02\x02\u2646\u2647\x05\u0542\u02A2\x02\u2647\u2648\x07\x05\x02\x02\u2648" + "\u264F\x03\x02\x02\x02\u2649\u264F\x07\xBE\x02\x02\u264A\u264C\x05\u054C" + "\u02A7\x02\u264B\u264A\x03\x02\x02\x02\u264B\u264C\x03\x02\x02\x02\u264C" + "\u264D\x03\x02\x02\x02\u264D\u264F\x07\u01E0\x02\x02\u264E\u263D\x03\x02" + "\x02\x02\u264E\u263E\x03\x02\x02\x02\u264E\u263F\x03\x02\x02\x02\u264E" + "\u2640\x03\x02\x02\x02\u264E\u2641\x03\x02\x02\x02\u264E\u2644\x03\x02" + "\x02\x02\u264E\u2649\x03\x02\x02\x02\u264E\u264B\x03\x02\x02\x02\u264F" + "\u2651\x03\x02\x02\x02\u2650\u2639\x03\x02\x02\x02\u2650\u2651\x03\x02" + "\x02\x02\u2651\u04D1\x03\x02\x02\x02\u2652\u265E\x05\u04D4\u026B\x02\u2653" + "\u2654\t?\x02\x02\u2654\u265F\x05\u04D4\u026B\x02\u2655\u2656\x05\u0532" + "\u029A\x02\u2656\u265C\x05\u0528\u0295\x02\u2657\u265D\x05\u03EE\u01F8" + "\x02\u2658\u2659\x07\x04\x02\x02\u2659\u265A\x05\u04C0\u0261\x02\u265A" + "\u265B\x07\x05\x02\x02\u265B\u265D\x03\x02\x02\x02\u265C\u2657\x03\x02" + "\x02\x02\u265C\u2658\x03\x02\x02\x02\u265D\u265F\x03\x02\x02\x02\u265E" + "\u2653\x03\x02\x02\x02\u265E\u2655\x03\x02\x02\x02\u265E\u265F\x03\x02" + "\x02\x02\u265F\u04D3\x03\x02\x02\x02\u2660\u2672\x05\u04D6\u026C\x02\u2661" + "\u2663\x07O\x02\x02\u2662\u2661\x03\x02\x02\x02\u2662\u2663\x03\x02\x02" + "\x02\u2663\u266C\x03\x02\x02\x02\u2664\u266D\x07z\x02\x02\u2665\u266D" + "\x07t\x02\x02\u2666\u2667\x07\x81\x02\x02\u2667\u266D\x07`\x02\x02\u2668" + "\u266A\x07\u0185\x02\x02\u2669\u266B\x07]\x02\x02\u266A\u2669\x03\x02" + "\x02\x02\u266A\u266B\x03\x02\x02\x02\u266B\u266D\x03\x02\x02\x02\u266C" + "\u2664\x03\x02\x02\x02\u266C\u2665\x03\x02\x02\x02\u266C\u2666\x03\x02" + "\x02\x02\u266C\u2668\x03\x02\x02\x02\u266D\u266E\x03\x02\x02\x02\u266E" + "\u2670\x05\u04D6\u026C\x02\u266F\u2671\x05\u04BE\u0260\x02\u2670\u266F" + "\x03\x02\x02\x02\u2670\u2671\x03\x02\x02\x02\u2671\u2673\x03\x02\x02\x02" + "\u2672\u2662\x03\x02\x02\x02\u2672\u2673\x03\x02\x02\x02\u2673\u04D5\x03" + "\x02\x02\x02\u2674\u267A\x05\u04D8\u026D\x02\u2675\u2676\x05\u052E\u0298" + "\x02\u2676\u2677\x05\u04D8\u026D\x02\u2677\u2679\x03\x02\x02\x02\u2678" + "\u2675\x03\x02\x02\x02\u2679\u267C\x03\x02\x02\x02\u267A\u2678\x03\x02" + "\x02\x02\u267A\u267B\x03\x02\x02\x02\u267B\u04D7\x03\x02\x02\x02\u267C" + "\u267A\x03\x02\x02\x02\u267D\u267F\x05\u052E\u0298\x02\u267E\u267D\x03" + "\x02\x02\x02\u267E\u267F\x03\x02\x02\x02\u267F\u2680\x03\x02\x02\x02\u2680" + "\u2681\x05\u04DA\u026E\x02\u2681\u04D9\x03\x02\x02\x02\u2682\u2687\x05" + "\u04DC\u026F\x02\u2683\u2684\t@\x02\x02\u2684\u2686\x05\u04DC\u026F\x02" + "\u2685\u2683\x03\x02\x02\x02\u2686\u2689\x03\x02\x02\x02\u2687\u2685\x03" + "\x02\x02\x02\u2687\u2688\x03\x02\x02\x02\u2688\u04DB\x03\x02\x02\x02\u2689" + "\u2687\x03\x02\x02\x02\u268A\u268F\x05\u04DE\u0270\x02\u268B\u268C\tA" + "\x02\x02\u268C\u268E\x05\u04DE\u0270\x02\u268D\u268B\x03\x02\x02\x02\u268E" + "\u2691\x03\x02\x02\x02\u268F\u268D\x03\x02\x02\x02\u268F\u2690\x03\x02" + "\x02\x02\u2690\u04DD\x03\x02\x02\x02\u2691\u268F\x03\x02\x02\x02\u2692" + "\u2695\x05\u04E0\u0271\x02\u2693\u2694\x07\x11\x02\x02\u2694\u2696\x05" + "\u04C0\u0261\x02\u2695\u2693\x03\x02\x02\x02\u2695\u2696\x03\x02\x02\x02" + "\u2696\u04DF\x03\x02\x02\x02\u2697\u2699\t@\x02\x02\u2698\u2697\x03\x02" + "\x02\x02\u2698\u2699\x03\x02\x02\x02\u2699\u269A\x03\x02\x02\x02\u269A" + "\u269B\x05\u04E2\u0272\x02\u269B\u04E1\x03\x02\x02\x02\u269C\u26A1\x05" + "\u04E4\u0273\x02\u269D\u269E\x07\x90\x02\x02\u269E\u269F\x07\u01A4\x02" + "\x02\u269F\u26A0\x07\u0184\x02\x02\u26A0\u26A2\x05\u04C0\u0261\x02\u26A1" + "\u269D\x03\x02\x02\x02\u26A1\u26A2\x03\x02\x02\x02\u26A2\u04E3\x03\x02" + "\x02\x02\u26A3\u26A6\x05\u04E6\u0274\x02\u26A4\u26A5\x07-\x02\x02\u26A5" + "\u26A7\x05\u0230\u0119\x02\u26A6\u26A4\x03\x02\x02\x02\u26A6\u26A7\x03" + "\x02\x02\x02\u26A7\u04E5\x03\x02\x02\x02\u26A8\u26AD\x05\u04EA\u0276\x02" + "\u26A9\u26AA\x07\x1C\x02\x02\u26AA\u26AC\x05\u0494\u024B\x02\u26AB\u26A9" + "\x03\x02\x02\x02\u26AC\u26AF\x03\x02\x02\x02\u26AD\u26AB\x03\x02\x02\x02" + "\u26AD\u26AE\x03\x02\x02\x02\u26AE\u04E7\x03\x02\x02\x02\u26AF\u26AD\x03" + "\x02\x02\x02\u26B0\u26B1\b\u0275\x01\x02\u26B1\u26B8\x05\u04EA\u0276\x02" + "\u26B2\u26B3\t@\x02\x02\u26B3\u26B8\x05\u04E8\u0275\v\u26B4\u26B5\x05" + "\u052E\u0298\x02\u26B5\u26B6\x05\u04E8\u0275\x05\u26B6\u26B8\x03\x02\x02" + "\x02\u26B7\u26B0\x03\x02\x02\x02\u26B7\u26B2\x03\x02\x02\x02\u26B7\u26B4" + "\x03\x02\x02\x02\u26B8\u26E0\x03\x02\x02\x02\u26B9\u26BA\f\n\x02\x02\u26BA" + "\u26BB\x07\x11\x02\x02\u26BB\u26DF\x05\u04E8\u0275\v\u26BC\u26BD\f\t\x02" + "\x02\u26BD\u26BE\tA\x02\x02\u26BE\u26DF\x05\u04E8\u0275\n\u26BF\u26C0" + "\f\b\x02\x02\u26C0\u26C1\t@\x02\x02\u26C1\u26DF\x05\u04E8\u0275\t\u26C2" + "\u26C3\f\x07\x02\x02\u26C3\u26C4\x05\u052E\u0298\x02\u26C4\u26C5\x05\u04E8" + "\u0275\b\u26C5\u26DF\x03\x02\x02\x02\u26C6\u26C7\f\x06\x02\x02\u26C7\u26C8" + "\t?\x02\x02\u26C8\u26DF\x05\u04E8\u0275\x07\u26C9\u26CA\f\f\x02\x02\u26CA" + "\u26CB\x07\x1C\x02\x02\u26CB\u26DF\x05\u0494\u024B\x02\u26CC\u26CD\f\x04" + "\x02\x02\u26CD\u26DF\x05\u052E\u0298\x02\u26CE\u26CF\f\x03\x02\x02\u26CF" + "\u26D1\x07v\x02\x02\u26D0\u26D2\x07O\x02\x02\u26D1\u26D0\x03\x02\x02\x02" + "\u26D1\u26D2\x03\x02\x02\x02\u26D2\u26DC\x03\x02\x02\x02\u26D3\u26D4\x07" + ":\x02\x02\u26D4\u26D5\x07B\x02\x02\u26D5\u26DD\x05\u04E8\u0275\x02\u26D6" + "\u26D7\x07\u0115\x02\x02\u26D7\u26D8\x07\x04\x02\x02\u26D8\u26D9\x05\u0542" + "\u02A2\x02\u26D9\u26DA\x07\x05\x02\x02\u26DA\u26DD\x03\x02\x02\x02\u26DB" + "\u26DD\x07\xBE\x02\x02\u26DC\u26D3\x03\x02\x02\x02\u26DC\u26D6\x03\x02" + "\x02\x02\u26DC\u26DB\x03\x02\x02\x02\u26DD\u26DF\x03\x02\x02\x02\u26DE" + "\u26B9\x03\x02\x02\x02\u26DE\u26BC\x03\x02\x02\x02\u26DE\u26BF\x03\x02" + "\x02\x02\u26DE\u26C2\x03\x02\x02\x02\u26DE\u26C6\x03\x02\x02\x02\u26DE" + "\u26C9\x03\x02\x02\x02\u26DE\u26CC\x03\x02\x02\x02\u26DE\u26CE\x03\x02" + "\x02\x02\u26DF\u26E2\x03\x02\x02\x02\u26E0\u26DE\x03\x02\x02\x02\u26E0" + "\u26E1\x03\x02\x02\x02\u26E1\u04E9\x03\x02\x02\x02\u26E2\u26E0\x03\x02" + "\x02\x02\u26E3\u26E4\x07\u018E\x02\x02\u26E4\u2708\x05\u03EE\u01F8\x02" + "\u26E5\u26E8\x07%\x02\x02\u26E6\u26E9\x05\u03EE\u01F8\x02\u26E7\u26E9" + "\x05\u0544\u02A3\x02\u26E8\u26E6\x03\x02\x02\x02\u26E8\u26E7\x03\x02\x02" + "\x02\u26E9\u2708\x03\x02\x02\x02\u26EA\u26EB\x07\x1E\x02\x02\u26EB\u2708" + "\x05\u056A\u02B6\x02\u26EC\u26ED\x07\u01D8\x02\x02\u26ED\u26EE\x07\x04" + "\x02\x02\u26EE\u26EF\x05\u0534\u029B\x02\u26EF\u26F0\x07\x05\x02\x02\u26F0" + "\u2708\x03\x02\x02\x02\u26F1\u26F2\x07d\x02\x02\u26F2\u2708\x05\u03EE" + "\u01F8\x02\u26F3\u2708\x05\u0562\u02B2\x02\u26F4\u2708\x05\u05AC\u02D7" + "\x02\u26F5\u2708\x05\u04EC\u0277\x02\u26F6\u26F7\x07\x04\x02\x02\u26F7" + "\u26F8\x05\u04C0\u0261\x02\u26F8\u26F9\x07\x05\x02\x02\u26F9\u26FA\x05" + "\u056A\u02B6\x02\u26FA\u2708\x03\x02\x02\x02\u26FB\u2708\x05\u0558\u02AD" + "\x02\u26FC\u2708\x05\u04F0\u0279\x02\u26FD\u26FF\x05\u03EE\u01F8\x02\u26FE" + "\u2700\x05\u0568\u02B5\x02\u26FF\u26FE\x03\x02\x02\x02\u26FF\u2700\x03" + "\x02\x02\x02\u2700\u2708\x03\x02\x02\x02\u2701\u2708\x05\u0524\u0293\x02" + "\u2702\u2708\x05\u0526\u0294\x02\u2703\u2704\x05\u0522\u0292\x02\u2704" + "\u2705\x07\x7F\x02\x02\u2705\u2706\x05\u0522\u0292\x02\u2706\u2708\x03" + "\x02\x02\x02\u2707\u26E3\x03\x02\x02\x02\u2707\u26E5\x03\x02\x02\x02\u2707" + "\u26EA\x03\x02\x02\x02\u2707\u26EC\x03\x02\x02\x02\u2707\u26F1\x03\x02" + "\x02\x02\u2707\u26F3\x03\x02\x02\x02\u2707\u26F4\x03\x02\x02\x02\u2707" + "\u26F5\x03\x02\x02\x02\u2707\u26F6\x03\x02\x02\x02\u2707\u26FB\x03\x02" + "\x02\x02\u2707\u26FC\x03\x02\x02\x02\u2707\u26FD\x03\x02\x02\x02\u2707" + "\u2701\x03\x02\x02\x02\u2707\u2702\x03\x02\x02\x02\u2707\u2703\x03\x02" + "\x02\x02\u2708\u04EB\x03\x02\x02\x02\u2709\u270A\x07\u0240\x02\x02\u270A" + "\u04ED\x03\x02\x02\x02\u270B\u2725\x05\u05A8\u02D5\x02\u270C\u2722\x07" + "\x04\x02\x02\u270D\u2711\x05\u053E\u02A0\x02\u270E\u270F\x07\b\x02\x02" + "\u270F\u2710\x07g\x02\x02\u2710\u2712\x05\u0540\u02A1\x02\u2711\u270E" + "\x03\x02\x02\x02\u2711\u2712\x03\x02\x02\x02\u2712\u2714\x03\x02\x02\x02" + "\u2713\u2715\x05\u0416\u020C\x02\u2714\u2713\x03\x02\x02\x02\u2714\u2715" + "\x03\x02\x02\x02\u2715\u2723\x03\x02\x02\x02\u2716\u2717\x07g\x02\x02" + "\u2717\u2719\x05\u0540\u02A1\x02\u2718\u271A\x05\u0416\u020C\x02\u2719" + "\u2718\x03\x02\x02\x02\u2719\u271A\x03\x02\x02\x02\u271A\u2723\x03\x02" + "\x02\x02\u271B\u271C\t5\x02\x02\u271C\u271E\x05\u053E\u02A0\x02\u271D" + "\u271F\x05\u0416\u020C\x02\u271E\u271D\x03\x02\x02\x02\u271E\u271F\x03" + "\x02\x02\x02\u271F\u2723\x03\x02\x02\x02\u2720\u2723\x07\v\x02\x02\u2721" + "\u2723\x03\x02\x02\x02\u2722\u270D\x03\x02\x02\x02\u2722\u2716\x03\x02" + "\x02\x02\u2722\u271B\x03\x02\x02\x02\u2722\u2720\x03\x02\x02\x02\u2722" + "\u2721\x03\x02\x02\x02\u2723\u2724\x03\x02\x02\x02\u2724\u2726\x07\x05" + "\x02\x02\u2725\u270C\x03\x02\x02\x02\u2725\u2726\x03\x02\x02\x02\u2726" + "\u04EF\x03\x02\x02\x02\u2727\u2729\x05\u04EE\u0278\x02\u2728\u272A\x05" + "\u0508\u0285\x02\u2729\u2728\x03\x02\x02\x02\u2729\u272A\x03\x02\x02\x02" + "\u272A\u272C\x03\x02\x02\x02\u272B\u272D\x05\u050A\u0286\x02\u272C\u272B" + "\x03\x02\x02\x02\u272C\u272D\x03\x02\x02\x02\u272D\u272F\x03\x02\x02\x02" + "\u272E\u2730\x05\u0512\u028A\x02\u272F\u272E\x03\x02\x02\x02\u272F\u2730" + "\x03\x02\x02\x02\u2730\u2733\x03\x02\x02\x02\u2731\u2733\x05\u04F4\u027B" + "\x02\u2732\u2727\x03\x02\x02\x02\u2732\u2731\x03\x02\x02\x02\u2733\u04F1" + "\x03\x02\x02\x02\u2734\u2737\x05\u04EE\u0278\x02\u2735\u2737\x05\u04F4" + "\u027B\x02\u2736\u2734\x03\x02\x02\x02\u2736\u2735\x03\x02\x02\x02\u2737" + "\u04F3\x03\x02\x02\x02\u2738\u2739\x07n\x02\x02\u2739\u273A\x07@\x02\x02" + "\u273A\u273B\x07\x04\x02\x02\u273B\u273C\x05\u04C0\u0261\x02\u273C\u273D" + "\x07\x05\x02\x02\u273D\u27F1\x03\x02\x02\x02\u273E\u27F1\x072\x02\x02" + "\u273F\u2744\x074\x02\x02\u2740\u2741\x07\x04\x02\x02\u2741\u2742\x05" + "\u05B4\u02DB\x02\u2742\u2743\x07\x05\x02\x02\u2743\u2745\x03\x02\x02\x02" + "\u2744\u2740\x03\x02\x02\x02\u2744\u2745\x03\x02\x02\x02\u2745\u27F1\x03" + "\x02\x02\x02\u2746\u274B\x075\x02\x02\u2747\u2748\x07\x04\x02\x02\u2748" + "\u2749\x05\u05B4\u02DB\x02\u2749\u274A\x07\x05\x02\x02\u274A\u274C\x03" + "\x02\x02\x02\u274B\u2747\x03\x02\x02\x02\u274B\u274C\x03\x02\x02\x02\u274C" + "\u27F1\x03\x02\x02\x02\u274D\u2752\x07M\x02\x02\u274E\u274F\x07\x04\x02" + "\x02\u274F\u2750\x05\u05B4\u02DB\x02\u2750\u2751\x07\x05\x02\x02\u2751" + "\u2753\x03\x02\x02\x02\u2752\u274E\x03\x02\x02\x02\u2752\u2753\x03\x02" + "\x02\x02\u2753\u27F1\x03\x02\x02\x02\u2754\u2759\x07N\x02\x02\u2755\u2756" + "\x07\x04\x02\x02\u2756\u2757\x05\u05B4\u02DB\x02\u2757\u2758\x07\x05\x02" + "\x02\u2758\u275A\x03\x02\x02\x02\u2759\u2755\x03\x02\x02\x02\u2759\u275A" + "\x03\x02\x02\x02\u275A\u27F1\x03\x02\x02\x02\u275B\u27F1\x073\x02\x02" + "\u275C\u27F1\x076\x02\x02\u275D\u27F1\x07[\x02\x02\u275E\u27F1\x07e\x02" + "\x02\u275F\u27F1\x071\x02\x02\u2760\u27F1\x07q\x02\x02\u2761\u2762\x07" + "+\x02\x02\u2762\u2763\x07\x04\x02\x02\u2763\u2764\x05\u04C0\u0261\x02" + "\u2764\u2765\x07&\x02\x02\u2765\u2766\x05\u0494\u024B\x02\u2766\u2767" + "\x07\x05\x02\x02\u2767\u27F1\x03\x02\x02\x02\u2768\u2769\x07\u018F\x02" + "\x02\u2769\u276B\x07\x04\x02\x02\u276A\u276C\x05\u0548\u02A5\x02\u276B" + "\u276A\x03\x02\x02\x02\u276B\u276C\x03\x02\x02\x02\u276C\u276D\x03\x02" + "\x02\x02\u276D\u27F1\x07\x05\x02\x02\u276E\u276F\x07\u01EB\x02\x02\u276F" + "\u2770\x07\x04\x02\x02\u2770\u2773\x05\u04C0\u0261\x02\u2771\u2772\x07" + "\b\x02\x02\u2772\u2774\x05\u054C\u02A7\x02\u2773\u2771\x03\x02\x02\x02" + "\u2773\u2774\x03\x02\x02\x02\u2774\u2775\x03\x02\x02\x02\u2775\u2776\x07" + "\x05\x02\x02\u2776\u27F1\x03\x02\x02\x02\u2777\u2778\x07\u019C\x02\x02" + "\u2778\u2779\x07\x04\x02\x02\u2779\u277A\x05\u054E\u02A8\x02\u277A\u277B" + "\x07\x05\x02\x02\u277B\u27F1\x03\x02\x02\x02\u277C\u277D\x07\u019D\x02" + "\x02\u277D\u277F\x07\x04\x02\x02\u277E\u2780\x05\u0550\u02A9\x02\u277F" + "\u277E\x03\x02\x02\x02\u277F\u2780\x03\x02\x02\x02\u2780\u2781\x03\x02" + "\x02\x02\u2781\u27F1\x07\x05\x02\x02\u2782\u2783\x07\u01A3\x02\x02\u2783" + "\u2785\x07\x04\x02\x02\u2784\u2786\x05\u0552\u02AA\x02\u2785\u2784\x03" + "\x02\x02\x02\u2785\u2786\x03\x02\x02\x02\u2786\u2787\x03\x02\x02\x02\u2787" + "\u27F1\x07\x05\x02\x02\u2788\u2789\x07\u01A6\x02\x02\u2789\u278A\x07\x04" + "\x02\x02\u278A\u278B\x05\u04C0\u0261\x02\u278B\u278C\x07&\x02\x02\u278C" + "\u278D\x05\u0494\u024B\x02\u278D\u278E\x07\x05\x02\x02\u278E\u27F1\x03" + "\x02\x02\x02\u278F\u2790\x07\u01A7\x02\x02\u2790\u2792\x07\x04\x02\x02" + "\u2791\u2793\tB\x02\x02\u2792\u2791\x03\x02\x02\x02\u2792\u2793\x03\x02" + "\x02\x02\u2793\u2794\x03\x02\x02\x02\u2794\u2795\x05\u0554\u02AB\x02\u2795" + "\u2796\x07\x05\x02\x02\u2796\u27F1\x03\x02\x02\x02\u2797\u2798\x07\u019A" + "\x02\x02\u2798\u2799\x07\x04\x02\x02\u2799\u279A\x05\u04C0\u0261\x02\u279A" + "\u279B\x07\b\x02\x02\u279B\u279C\x05\u04C0\u0261\x02\u279C\u279D\x07\x05" + "\x02\x02\u279D\u27F1\x03\x02\x02\x02\u279E\u279F\x07\u018B\x02\x02\u279F" + "\u27A0\x07\x04\x02\x02\u27A0\u27A1\x05\u0534\u029B\x02\u27A1\u27A2\x07" + "\x05\x02\x02\u27A2\u27F1\x03\x02\x02\x02\u27A3\u27A4\x07\u0191\x02\x02" + "\u27A4\u27A5\x07\x04\x02\x02\u27A5\u27A6\x05\u0534\u029B\x02\u27A6\u27A7" + "\x07\x05\x02\x02\u27A7\u27F1\x03\x02\x02\x02\u27A8\u27A9\x07\u0196\x02" + "\x02\u27A9\u27AA\x07\x04\x02\x02\u27AA\u27AB\x05\u0534\u029B\x02\u27AB" + "\u27AC\x07\x05\x02\x02\u27AC\u27F1\x03\x02\x02\x02\u27AD\u27AE\x07\u01AB" + "\x02\x02\u27AE\u27AF\x07\x04\x02\x02\u27AF\u27B0\x05\u0534\u029B\x02\u27B0" + "\u27B1\x07\x05\x02\x02\u27B1\u27F1\x03\x02\x02\x02\u27B2\u27B3\x07\u01AC" + "\x02\x02\u27B3\u27B4\x07\x04\x02\x02\u27B4\u27B5\x07\u010C\x02\x02\u27B5" + "\u27BB\x05\u05D6\u02EC\x02\u27B6\u27B9\x07\b\x02\x02\u27B7\u27BA\x05\u04FA" + "\u027E\x02\u27B8\u27BA\x05\u0534\u029B\x02\u27B9\u27B7\x03\x02\x02\x02" + "\u27B9\u27B8\x03\x02\x02\x02\u27BA\u27BC\x03\x02\x02\x02\u27BB\u27B6\x03" + "\x02\x02\x02\u27BB\u27BC\x03\x02\x02\x02\u27BC\u27BD\x03\x02\x02\x02\u27BD" + "\u27BE\x07\x05\x02\x02\u27BE\u27F1\x03\x02\x02\x02\u27BF\u27C0\x07\u01AD" + "\x02\x02\u27C0\u27C1\x07\x04\x02\x02\u27C1\u27C2\x05\u04EA\u0276\x02\u27C2" + "\u27C3\x05\u0504\u0283\x02\u27C3\u27C4\x07\x05\x02\x02\u27C4\u27F1\x03" + "\x02\x02\x02\u27C5\u27C6\x07\u01AE\x02\x02\u27C6\u27C7\x07\x04\x02\x02" + "\u27C7\u27C8\x05\u04FC\u027F\x02\u27C8\u27C9\x07\x05\x02\x02\u27C9\u27F1" + "\x03\x02\x02\x02\u27CA\u27CB\x07\u01AF\x02\x02\u27CB\u27CC\x07\x04\x02" + "\x02\u27CC\u27CD\x05\u0500\u0281\x02\u27CD\u27CF\x05\u04C0\u0261\x02\u27CE" + "\u27D0\x05\u0502\u0282\x02\u27CF\u27CE\x03\x02\x02\x02\u27CF\u27D0\x03" + "\x02\x02\x02\u27D0\u27D1\x03\x02\x02\x02\u27D1\u27D2\x07\x05\x02\x02\u27D2" + "\u27F1\x03\x02\x02\x02\u27D3\u27D4\x07\u01B0\x02\x02\u27D4\u27D5\x07\x04" + "\x02\x02\u27D5\u27D6\x07\u010C\x02\x02\u27D6\u27D9\x05\u05D6\u02EC\x02" + "\u27D7\u27D8\x07\b\x02\x02\u27D8\u27DA\x05\u04C0\u0261\x02\u27D9\u27D7" + "\x03\x02\x02\x02\u27D9\u27DA\x03\x02\x02\x02\u27DA\u27DB\x03\x02\x02\x02" + "\u27DB\u27DC\x07\x05\x02\x02\u27DC\u27F1\x03\x02\x02\x02\u27DD\u27DE\x07" + "\u01B1\x02\x02\u27DE\u27DF\x07\x04\x02\x02\u27DF\u27E0\x07\u0181\x02\x02" + "\u27E0\u27E1\x05\u04C0\u0261\x02\u27E1\u27E2\x07\b\x02\x02\u27E2\u27E4" + "\x05\u04F6\u027C\x02\u27E3\u27E5\x05\u04F8\u027D\x02\u27E4\u27E3\x03\x02" + "\x02\x02\u27E4\u27E5\x03\x02\x02\x02\u27E5\u27E6\x03\x02\x02\x02\u27E6" + "\u27E7\x07\x05\x02\x02\u27E7\u27F1\x03\x02\x02\x02\u27E8\u27E9\x07\u01B2" + "\x02\x02\u27E9\u27EA\x07\x04\x02\x02\u27EA\u27EB\x05\u0500\u0281\x02\u27EB" + "\u27EC\x05\u04C0\u0261\x02\u27EC\u27ED\x07&\x02\x02\u27ED\u27EE\x05\u0498" + "\u024D\x02\u27EE\u27EF\x07\x05\x02\x02\u27EF\u27F1\x03\x02\x02\x02\u27F0" + "\u2738\x03\x02\x02\x02\u27F0\u273E\x03\x02\x02\x02\u27F0\u273F\x03\x02" + "\x02\x02\u27F0\u2746\x03\x02\x02\x02\u27F0\u274D\x03\x02\x02\x02\u27F0" + "\u2754\x03\x02\x02\x02\u27F0\u275B\x03\x02\x02\x02\u27F0\u275C\x03\x02" + "\x02\x02\u27F0\u275D\x03\x02\x02\x02\u27F0\u275E\x03\x02\x02\x02\u27F0" + "\u275F\x03\x02\x02\x02\u27F0\u2760\x03\x02\x02\x02\u27F0\u2761\x03\x02" + "\x02\x02\u27F0\u2768\x03\x02\x02\x02\u27F0\u276E\x03\x02\x02\x02\u27F0" + "\u2777\x03\x02\x02\x02\u27F0\u277C\x03\x02\x02\x02\u27F0\u2782\x03\x02" + "\x02\x02\u27F0\u2788\x03\x02\x02\x02\u27F0\u278F\x03\x02\x02\x02\u27F0" + "\u2797\x03\x02\x02\x02\u27F0\u279E\x03\x02\x02\x02\u27F0\u27A3\x03\x02" + "\x02\x02\u27F0\u27A8\x03\x02\x02\x02\u27F0\u27AD\x03\x02\x02\x02\u27F0" + "\u27B2\x03\x02\x02\x02\u27F0\u27BF\x03\x02\x02\x02\u27F0\u27C5\x03\x02" + "\x02\x02\u27F0\u27CA\x03\x02\x02\x02\u27F0\u27D3\x03\x02\x02\x02\u27F0" + "\u27DD\x03\x02\x02\x02\u27F0\u27E8\x03\x02\x02\x02\u27F1\u04F5\x03\x02" + "\x02\x02\u27F2\u27F3\x07\u0179\x02\x02\u27F3\u27F8\x05\u04C0\u0261\x02" + "\u27F4\u27F5\x07\u0179\x02\x02\u27F5\u27F6\x07\u010F\x02\x02\u27F6\u27F8" + "\x07\u01C4\x02\x02\u27F7\u27F2\x03\x02\x02\x02\u27F7\u27F4\x03\x02\x02" + "\x02\u27F8\u04F7\x03\x02\x02\x02\u27F9\u27FA\x07\b\x02\x02\u27FA\u27FB" + "\x07\u0155\x02\x02\u27FB\u2804\x07\u0183\x02\x02\u27FC\u27FD\x07\b\x02" + "\x02\u27FD\u27FE\x07\u0155\x02\x02\u27FE\u2804\x07\u010F\x02\x02\u27FF" + "\u2800\x07\b\x02\x02\u2800\u2801\x07\u0155\x02\x02\u2801\u2802\x07\u010F" + "\x02\x02\u2802\u2804\x07\u01C4\x02\x02\u2803\u27F9\x03\x02\x02\x02\u2803" + "\u27FC\x03\x02\x02\x02\u2803\u27FF\x03\x02\x02\x02\u2804\u04F9\x03\x02" + "\x02\x02\u2805\u2806\x07\u01AA\x02\x02\u2806"; private static readonly _serializedATNSegment19: string = "\u2807\x07\x04\x02\x02\u2807\u2808\x05\u04FC\u027F\x02\u2808\u2809\x07" + "\x05\x02\x02\u2809\u04FB\x03\x02\x02\x02\u280A\u280F\x05\u04FE\u0280\x02" + "\u280B\u280C\x07\b\x02\x02\u280C\u280E\x05\u04FE\u0280\x02\u280D\u280B" + "\x03\x02\x02\x02\u280E\u2811\x03\x02\x02\x02\u280F\u280D\x03\x02\x02\x02" + "\u280F\u2810\x03\x02\x02\x02\u2810\u04FD\x03\x02\x02\x02\u2811\u280F\x03" + "\x02\x02\x02\u2812\u2815\x05\u04C0\u0261\x02\u2813\u2814\x07&\x02\x02" + "\u2814\u2816\x05\u05D6\u02EC\x02\u2815\u2813\x03\x02\x02\x02\u2815\u2816" + "\x03\x02\x02\x02\u2816\u04FF\x03\x02\x02\x02\u2817\u2818\tC\x02\x02\u2818" + "\u0501\x03\x02\x02\x02\u2819\u281A\x07\u0126\x02\x02\u281A\u281E\x07\u017C" + "\x02\x02\u281B\u281C\x07\u015D\x02\x02\u281C\u281E\x07\u017C\x02\x02\u281D" + "\u2819\x03\x02\x02\x02\u281D\u281B\x03\x02\x02\x02\u281E\u0503\x03\x02" + "\x02\x02\u281F\u2820\x07\u0120\x02\x02\u2820\u282F\x05\u04EA\u0276\x02" + "\u2821\u2822\x07\u0120\x02\x02\u2822\u2823\x05\u04EA\u0276\x02\u2823\u2824" + "\x05\u0506\u0284\x02\u2824\u282F\x03\x02\x02\x02\u2825\u2826\x07\u0120" + "\x02\x02\u2826\u2827\x05\u0506\u0284\x02\u2827\u2828\x05\u04EA\u0276\x02" + "\u2828\u282F\x03\x02\x02\x02\u2829\u282A\x07\u0120\x02\x02\u282A\u282B" + "\x05\u0506\u0284\x02\u282B\u282C\x05\u04EA\u0276\x02\u282C\u282D\x05\u0506" + "\u0284\x02\u282D\u282F\x03\x02\x02\x02\u282E\u281F\x03\x02\x02\x02\u282E" + "\u2821\x03\x02\x02\x02\u282E\u2825\x03\x02\x02\x02\u282E\u2829\x03\x02" + "\x02\x02\u282F\u0505\x03\x02\x02\x02\u2830\u2831\x07\x95\x02\x02\u2831" + "\u2832\tD\x02\x02\u2832\u0507\x03\x02\x02\x02\u2833\u2834\x07\u01E1\x02" + "\x02\u2834\u2835\x07D\x02\x02\u2835\u2836\x07\x04\x02\x02\u2836\u2837" + "\x05\u0418\u020D\x02\u2837\u2838\x07\x05\x02\x02\u2838\u0509\x03\x02\x02" + "\x02\u2839\u283A\x07\u01E2\x02\x02\u283A\u283B\x07\x04\x02\x02\u283B\u283C" + "\x07i\x02\x02\u283C\u283D\x05\u04C0\u0261\x02\u283D\u283E\x07\x05\x02" + "\x02\u283E\u050B\x03\x02\x02\x02\u283F\u2840\x07j\x02\x02\u2840\u2841" + "\x05\u050E\u0288\x02\u2841\u050D\x03\x02\x02\x02\u2842\u2847\x05\u0510" + "\u0289\x02\u2843\u2844\x07\b\x02\x02\u2844\u2846\x05\u0510\u0289\x02\u2845" + "\u2843\x03\x02\x02\x02\u2846\u2849\x03\x02\x02\x02\u2847\u2845\x03\x02" + "\x02\x02\u2847\u2848\x03\x02\x02\x02\u2848\u050F\x03\x02\x02\x02\u2849" + "\u2847\x03\x02\x02\x02\u284A\u284B\x05\u05C6\u02E4\x02\u284B\u284C\x07" + "&\x02\x02\u284C\u284D\x05\u0514\u028B\x02\u284D\u0511\x03\x02\x02\x02" + "\u284E\u2851\x07~\x02\x02\u284F\u2852\x05\u0514\u028B\x02\u2850\u2852" + "\x05\u05C6\u02E4\x02\u2851\u284F\x03\x02\x02\x02\u2851\u2850\x03\x02\x02" + "\x02\u2852\u0513\x03\x02\x02\x02\u2853\u2855\x07\x04\x02\x02\u2854\u2856" + "\x05\u0516\u028C\x02\u2855\u2854\x03\x02\x02\x02\u2855\u2856\x03\x02\x02" + "\x02\u2856\u2858\x03\x02\x02\x02\u2857\u2859\x05\u0518\u028D\x02\u2858" + "\u2857\x03\x02\x02\x02\u2858\u2859\x03\x02\x02\x02\u2859\u285B\x03\x02" + "\x02\x02\u285A\u285C\x05\u0416\u020C\x02\u285B\u285A\x03\x02\x02\x02\u285B" + "\u285C\x03\x02\x02\x02\u285C\u285E\x03\x02\x02\x02\u285D\u285F\x05\u051A" + "\u028E\x02\u285E\u285D\x03\x02\x02\x02\u285E\u285F\x03\x02\x02\x02\u285F" + "\u2860\x03\x02\x02\x02\u2860\u2861\x07\x05\x02\x02\u2861\u0515\x03\x02" + "\x02\x02\u2862\u2863\x05\u05C6\u02E4\x02\u2863\u0517\x03\x02\x02\x02\u2864" + "\u2865\x07\u011F\x02\x02\u2865\u2866\x07\x95\x02\x02\u2866\u2867\x05\u0534" + "\u029B\x02\u2867\u0519\x03\x02\x02\x02\u2868\u2869\x07\u012D\x02\x02\u2869" + "\u286B\x05\u051C\u028F\x02\u286A\u286C\x05\u0520\u0291\x02\u286B\u286A" + "\x03\x02\x02\x02\u286B\u286C\x03\x02\x02\x02\u286C\u2878\x03\x02\x02\x02" + "\u286D\u286E\x07\u0142\x02\x02\u286E\u2870\x05\u051C\u028F\x02\u286F\u2871" + "\x05\u0520\u0291\x02\u2870\u286F\x03\x02\x02\x02\u2870\u2871\x03\x02\x02" + "\x02\u2871\u2878\x03\x02\x02\x02\u2872\u2873\x07\u01E3\x02\x02\u2873\u2875" + "\x05\u051C\u028F\x02\u2874\u2876\x05\u0520\u0291\x02\u2875\u2874\x03\x02" + "\x02\x02\u2875\u2876\x03\x02\x02\x02\u2876\u2878\x03\x02\x02\x02\u2877" + "\u2868\x03\x02\x02\x02\u2877\u286D\x03\x02\x02\x02\u2877\u2872\x03\x02" + "\x02\x02\u2878\u051B\x03\x02\x02\x02\u2879\u2880\x05\u051E\u0290\x02\u287A" + "\u287B\x07\u0185\x02\x02\u287B\u287C\x05\u051E\u0290\x02\u287C\u287D\x07" + "#\x02\x02\u287D\u287E\x05\u051E\u0290\x02\u287E\u2880\x03\x02\x02\x02" + "\u287F\u2879\x03\x02\x02\x02\u287F\u287A\x03\x02\x02\x02\u2880\u051D\x03" + "\x02\x02\x02\u2881\u2882\x07\u016C\x02\x02\u2882\u2889\tE\x02\x02\u2883" + "\u2884\x07\u01B4\x02\x02\u2884\u2889\x07\u01A0\x02\x02\u2885\u2886\x05" + "\u04C0\u0261\x02\u2886\u2887\tE\x02\x02\u2887\u2889\x03\x02\x02\x02\u2888" + "\u2881\x03\x02\x02\x02\u2888\u2883\x03\x02\x02\x02\u2888\u2885\x03\x02" + "\x02\x02\u2889\u051F\x03\x02\x02\x02\u288A\u2891\x07\xC9\x02\x02\u288B" + "\u288C\x07\u01B4\x02\x02\u288C\u2892\x07\u01A0\x02\x02\u288D\u2892\x07" + "D\x02\x02\u288E\u2892\x07\u01D5\x02\x02\u288F\u2890\x07\u010F\x02\x02" + "\u2890\u2892\x07\u01E4\x02\x02\u2891\u288B\x03\x02\x02\x02\u2891\u288D" + "\x03\x02\x02\x02\u2891\u288E\x03\x02\x02\x02\u2891\u288F\x03\x02\x02\x02" + "\u2892\u0521\x03\x02\x02\x02\u2893\u2894\x07\u01A0\x02\x02\u2894\u2896" + "\x07\x04\x02\x02\u2895\u2897\x05\u0534\u029B\x02\u2896\u2895\x03\x02\x02" + "\x02\u2896\u2897\x03\x02\x02\x02\u2897\u2898\x03\x02\x02\x02\u2898\u28A0" + "\x07\x05\x02\x02\u2899\u289A\x07\x04\x02\x02\u289A\u289B\x05\u0534\u029B" + "\x02\u289B\u289C\x07\b\x02\x02\u289C\u289D\x05\u04C0\u0261\x02\u289D\u289E" + "\x07\x05\x02\x02\u289E\u28A0\x03\x02\x02\x02\u289F\u2893\x03\x02\x02\x02" + "\u289F\u2899\x03\x02\x02\x02\u28A0\u0523\x03\x02\x02\x02\u28A1\u28A2\x07" + "\u01A0\x02\x02\u28A2\u28A4\x07\x04\x02\x02\u28A3\u28A5\x05\u0534\u029B" + "\x02\u28A4\u28A3\x03\x02\x02\x02\u28A4\u28A5\x03\x02\x02\x02\u28A5\u28A6" + "\x03\x02\x02\x02\u28A6\u28A7\x07\x05\x02\x02\u28A7\u0525\x03\x02\x02\x02" + "\u28A8\u28A9\x07\x04\x02\x02\u28A9\u28AA\x05\u0534\u029B\x02\u28AA\u28AB" + "\x07\b\x02\x02\u28AB\u28AC\x05\u04C0\u0261\x02\u28AC\u28AD\x07\x05\x02" + "\x02\u28AD\u0527\x03\x02\x02\x02\u28AE\u28AF\tF\x02\x02\u28AF\u0529\x03" + "\x02\x02\x02\u28B0\u28B3\x07\x1F\x02\x02\u28B1\u28B3\x05\u052C\u0297\x02" + "\u28B2\u28B0\x03\x02\x02\x02\u28B2\u28B1\x03\x02\x02\x02\u28B3\u052B\x03" + "\x02\x02\x02\u28B4\u28B5\tG\x02\x02\u28B5\u052D\x03\x02\x02\x02\u28B6" + "\u28BD\x07\x1F\x02\x02\u28B7\u28B8\x07\u0118\x02\x02\u28B8\u28B9\x07\x04" + "\x02\x02\u28B9\u28BA\x05\u02DE\u0170\x02\u28BA\u28BB\x07\x05\x02\x02\u28BB" + "\u28BD\x03\x02\x02\x02\u28BC\u28B6\x03\x02\x02\x02\u28BC\u28B7\x03\x02" + "\x02\x02\u28BD\u052F\x03\x02\x02\x02\u28BE\u28C5\x05\u052A\u0296\x02\u28BF" + "\u28C0\x07\u0118\x02\x02\u28C0\u28C1\x07\x04\x02\x02\u28C1\u28C2\x05\u02DE" + "\u0170\x02\u28C2\u28C3\x07\x05\x02\x02\u28C3\u28C5\x03\x02\x02\x02\u28C4" + "\u28BE\x03\x02\x02\x02\u28C4\u28BF\x03\x02\x02\x02\u28C5\u0531\x03\x02" + "\x02\x02\u28C6\u28D3\x05\u052A\u0296\x02\u28C7\u28C8\x07\u0118\x02\x02" + "\u28C8\u28C9\x07\x04\x02\x02\u28C9\u28CA\x05\u02DE\u0170\x02\u28CA\u28CB" + "\x07\x05\x02\x02\u28CB\u28D3\x03\x02\x02\x02\u28CC\u28D3\x07z\x02\x02" + "\u28CD\u28CE\x07O\x02\x02\u28CE\u28D3\x07z\x02\x02\u28CF\u28D3\x07t\x02" + "\x02\u28D0\u28D1\x07O\x02\x02\u28D1\u28D3\x07t\x02\x02\u28D2\u28C6\x03" + "\x02\x02\x02\u28D2\u28C7\x03\x02\x02\x02\u28D2\u28CC\x03\x02\x02\x02\u28D2" + "\u28CD\x03\x02\x02\x02\u28D2\u28CF\x03\x02\x02\x02\u28D2\u28D0\x03\x02" + "\x02\x02\u28D3\u0533\x03\x02\x02\x02\u28D4\u28D9\x05\u04C0\u0261\x02\u28D5" + "\u28D6\x07\b\x02\x02\u28D6\u28D8\x05\u04C0\u0261\x02\u28D7\u28D5\x03\x02" + "\x02\x02\u28D8\u28DB\x03\x02\x02\x02\u28D9\u28D7\x03\x02\x02\x02\u28D9" + "\u28DA\x03\x02\x02\x02\u28DA\u0535\x03\x02\x02\x02\u28DB\u28D9\x03\x02" + "\x02\x02\u28DC\u28E1\x05\u053C\u029F\x02\u28DD\u28DE\x07\b\x02\x02\u28DE" + "\u28E0\x05\u053C\u029F\x02\u28DF\u28DD\x03\x02\x02\x02\u28E0\u28E3\x03" + "\x02\x02\x02\u28E1\u28DF\x03\x02\x02\x02\u28E1\u28E2\x03\x02\x02\x02\u28E2" + "\u0537\x03\x02\x02\x02\u28E3\u28E1\x03\x02\x02\x02\u28E4\u28E9\x05\u053A" + "\u029E\x02\u28E5\u28E6\x07\b\x02\x02\u28E6\u28E8\x05\u053A\u029E\x02\u28E7" + "\u28E5\x03\x02\x02\x02\u28E8\u28EB\x03\x02\x02\x02\u28E9\u28E7\x03\x02" + "\x02\x02\u28E9\u28EA\x03\x02\x02\x02\u28EA\u0539\x03\x02\x02\x02\u28EB" + "\u28E9\x03\x02\x02\x02\u28EC\u28F2\x05\u059C\u02CF\x02\u28ED\u28EE\x07" + "\x04\x02\x02\u28EE\u28EF\x05\u04C0\u0261\x02\u28EF\u28F0\x07\x05\x02\x02" + "\u28F0\u28F2\x03\x02\x02\x02\u28F1\u28EC\x03\x02\x02\x02\u28F1\u28ED\x03" + "\x02\x02\x02\u28F2\u053B\x03\x02\x02\x02\u28F3\u28F6\x05\u059C\u02CF\x02" + "\u28F4\u28F6\x05\u04C0\u0261\x02\u28F5\u28F3\x03\x02\x02\x02\u28F5\u28F4" + "\x03\x02\x02\x02\u28F6\u053D\x03\x02\x02\x02\u28F7\u28FC\x05\u0540\u02A1" + "\x02\u28F8\u28F9\x07\b\x02\x02\u28F9\u28FB\x05\u0540\u02A1\x02\u28FA\u28F8" + "\x03\x02\x02\x02\u28FB\u28FE\x03\x02\x02\x02\u28FC\u28FA\x03\x02\x02\x02" + "\u28FC\u28FD\x03\x02\x02\x02\u28FD\u053F\x03\x02\x02\x02\u28FE\u28FC\x03" + "\x02\x02\x02\u28FF\u2905\x05\u04C0\u0261\x02\u2900\u2901\x05\u02AE\u0158" + "\x02\u2901\u2902\tH\x02\x02\u2902\u2903\x05\u04C0\u0261\x02\u2903\u2905" + "\x03\x02\x02\x02\u2904\u28FF\x03\x02\x02\x02\u2904\u2900\x03\x02\x02\x02" + "\u2905\u0541\x03\x02\x02\x02\u2906\u290B\x05\u0494\u024B\x02\u2907\u2908" + "\x07\b\x02\x02\u2908\u290A\x05\u0494\u024B\x02\u2909\u2907\x03\x02\x02" + "\x02\u290A\u290D\x03\x02\x02\x02\u290B\u2909\x03\x02\x02\x02\u290B\u290C" + "\x03\x02\x02\x02\u290C\u0543\x03\x02\x02\x02\u290D\u290B\x03\x02\x02\x02" + "\u290E\u2911\x07\x06\x02\x02\u290F\u2912\x05\u0534\u029B\x02\u2910\u2912" + "\x05\u0546\u02A4\x02\u2911\u290F\x03\x02\x02\x02\u2911\u2910\x03\x02\x02" + "\x02\u2911\u2912\x03\x02\x02\x02\u2912\u2913\x03\x02\x02\x02\u2913\u2914" + "\x07\x07\x02\x02\u2914\u0545\x03\x02\x02\x02\u2915\u291A\x05\u0544\u02A3" + "\x02\u2916\u2917\x07\b\x02\x02\u2917\u2919\x05\u0544\u02A3\x02\u2918\u2916" + "\x03\x02\x02\x02\u2919\u291C\x03\x02\x02\x02\u291A\u2918\x03\x02\x02\x02" + "\u291A\u291B\x03\x02\x02\x02\u291B\u0547\x03\x02\x02\x02\u291C\u291A\x03" + "\x02\x02\x02\u291D\u291E\x05\u054A\u02A6\x02\u291E\u291F\x07B\x02\x02" + "\u291F\u2920\x05\u04C0\u0261\x02\u2920\u0549\x03\x02\x02\x02\u2921\u292A" + "\x05\u05D8\u02ED\x02\u2922\u292A\x07\u0182\x02\x02\u2923\u292A\x07\u010A" + "\x02\x02\u2924\u292A\x07\xB2\x02\x02\u2925\u292A\x07\xDC\x02\x02\u2926" + "\u292A\x07\u0107\x02\x02\u2927\u292A\x07\u0148\x02\x02\u2928\u292A\x05" + "\u05B6\u02DC\x02\u2929\u2921\x03\x02\x02\x02\u2929\u2922\x03\x02\x02\x02" + "\u2929\u2923\x03\x02\x02\x02\u2929\u2924\x03\x02\x02\x02\u2929\u2925\x03" + "\x02\x02\x02\u2929\u2926\x03\x02\x02\x02\u2929\u2927\x03\x02\x02\x02\u2929" + "\u2928\x03\x02\x02\x02\u292A\u054B\x03\x02\x02\x02\u292B\u292C\tI\x02" + "\x02\u292C\u054D\x03\x02\x02\x02\u292D\u292E\x05\u04C0\u0261\x02\u292E" + "\u292F\x07V\x02\x02\u292F\u2930\x05\u04C0\u0261\x02\u2930\u2931\x07B\x02" + "\x02\u2931\u2934\x05\u04C0\u0261\x02\u2932\u2933\x07@\x02\x02\u2933\u2935" + "\x05\u04C0\u0261\x02\u2934\u2932\x03\x02\x02\x02\u2934\u2935\x03\x02\x02" + "\x02\u2935\u054F\x03\x02\x02\x02\u2936\u2937\x05\u04E8\u0275\x02\u2937" + "\u2938\x07F\x02\x02\u2938\u2939\x05\u04E8\u0275\x02\u2939\u0551\x03\x02" + "\x02\x02\u293A\u293B\x05\u04C0\u0261\x02\u293B\u293C\x07B\x02\x02\u293C" + "\u293D\x05\u04C0\u0261\x02\u293D\u293E\x07@\x02\x02\u293E\u293F\x05\u04C0" + "\u0261\x02\u293F\u2956\x03\x02\x02\x02\u2940\u2941\x05\u04C0\u0261\x02" + "\u2941\u2942\x07@\x02\x02\u2942\u2943\x05\u04C0\u0261\x02\u2943\u2944" + "\x07B\x02\x02\u2944\u2945\x05\u04C0\u0261\x02\u2945\u2956\x03\x02\x02" + "\x02\u2946\u2947\x05\u04C0\u0261\x02\u2947\u2948\x07B\x02\x02\u2948\u2949" + "\x05\u04C0\u0261\x02\u2949\u2956\x03\x02\x02\x02\u294A\u294B\x05\u04C0" + "\u0261\x02\u294B\u294C\x07@\x02\x02\u294C\u294D\x05\u04C0\u0261\x02\u294D" + "\u2956\x03\x02\x02\x02\u294E\u294F\x05\u04C0\u0261\x02\u294F\u2950\x07" + "\x81\x02\x02\u2950\u2951\x05\u04C0\u0261\x02\u2951\u2952\x07\xC7\x02\x02" + "\u2952\u2953\x05\u04C0\u0261\x02\u2953\u2956\x03\x02\x02\x02\u2954\u2956" + "\x05\u0534\u029B\x02\u2955\u293A\x03\x02\x02\x02\u2955\u2940\x03\x02\x02" + "\x02\u2955\u2946\x03\x02\x02\x02\u2955\u294A\x03\x02\x02\x02\u2955\u294E" + "\x03\x02\x02\x02\u2955\u2954\x03\x02\x02\x02\u2956\u0553\x03\x02\x02\x02" + "\u2957\u2958\x05\u04C0\u0261\x02\u2958\u2959\x07B\x02\x02\u2959\u295A" + "\x05\u0534\u029B\x02\u295A\u295F\x03\x02\x02\x02\u295B\u295C\x07B\x02" + "\x02\u295C\u295F\x05\u0534\u029B\x02\u295D\u295F\x05\u0534\u029B\x02\u295E" + "\u2957\x03\x02\x02\x02\u295E\u295B\x03\x02\x02\x02\u295E\u295D\x03\x02" + "\x02\x02\u295F\u0555\x03\x02\x02\x02\u2960\u2966\x05\u03EE\u01F8\x02\u2961" + "\u2962\x07\x04\x02\x02\u2962\u2963\x05\u0534\u029B\x02\u2963\u2964\x07" + "\x05\x02\x02\u2964\u2966\x03\x02\x02\x02\u2965\u2960\x03\x02\x02\x02\u2965" + "\u2961\x03\x02\x02\x02\u2966\u0557\x03\x02\x02\x02\u2967\u2969\x07*\x02" + "\x02\u2968\u296A\x05\u0560\u02B1\x02\u2969\u2968\x03\x02\x02\x02\u2969" + "\u296A\x03\x02\x02\x02\u296A\u296B\x03\x02\x02\x02\u296B\u296D\x05\u055A" + "\u02AE\x02\u296C\u296E\x05\u055E\u02B0\x02\u296D\u296C\x03\x02\x02\x02" + "\u296D\u296E\x03\x02\x02\x02\u296E\u296F\x03\x02\x02\x02\u296F\u2970\x07" + "\u01C8\x02\x02\u2970\u0559\x03\x02\x02\x02\u2971\u2973\x05\u055C\u02AF" + "\x02\u2972\u2971\x03\x02\x02\x02\u2973\u2974\x03\x02\x02\x02\u2974\u2972" + "\x03\x02\x02\x02\u2974\u2975\x03\x02\x02\x02\u2975\u055B\x03\x02\x02\x02" + "\u2976\u2977\x07h\x02\x02\u2977\u2978\x05\u04C0\u0261\x02\u2978\u2979" + "\x07_\x02\x02\u2979\u297A\x05\u04C0\u0261\x02\u297A\u055D\x03\x02\x02" + "\x02\u297B\u297C\x07<\x02\x02\u297C\u297D\x05\u04C0\u0261\x02\u297D\u055F" + "\x03\x02\x02\x02\u297E\u297F\x05\u04C0\u0261\x02\u297F\u0561\x03\x02\x02" + "\x02\u2980\u2982\x05\u05C6\u02E4\x02\u2981\u2983\x05\u0568\u02B5\x02\u2982" + "\u2981\x03\x02\x02\x02\u2982\u2983\x03\x02\x02\x02\u2983\u0563\x03\x02" + "\x02\x02\u2984\u2987\x07\r\x02\x02\u2985\u2988\x05\u05A2\u02D2\x02\u2986" + "\u2988\x07\v\x02\x02\u2987\u2985\x03\x02\x02\x02\u2987\u2986\x03\x02\x02" + "\x02\u2988\u2996\x03\x02\x02\x02\u2989\u2992\x07\x06\x02\x02\u298A\u2993" + "\x05\u04C0\u0261\x02\u298B\u298D\x05\u0566\u02B4\x02\u298C\u298B\x03\x02" + "\x02\x02\u298C\u298D\x03\x02\x02\x02\u298D\u298E\x03\x02\x02\x02\u298E" + "\u2990\x07\n\x02\x02\u298F\u2991\x05\u0566\u02B4\x02\u2990\u298F\x03\x02" + "\x02\x02\u2990\u2991\x03\x02\x02\x02\u2991\u2993\x03\x02\x02\x02\u2992" + "\u298A\x03\x02\x02\x02\u2992\u298C\x03\x02\x02\x02\u2993\u2994\x03\x02" + "\x02\x02\u2994\u2996\x07\x07\x02\x02\u2995\u2984\x03\x02\x02\x02\u2995" + "\u2989\x03\x02\x02\x02\u2996\u0565\x03\x02\x02\x02\u2997\u2998\x05\u04C0" + "\u0261\x02\u2998\u0567\x03\x02\x02\x02\u2999\u299B\x05\u0564\u02B3\x02" + "\u299A\u2999\x03\x02\x02\x02\u299B\u299C\x03\x02\x02\x02\u299C\u299A\x03" + "\x02\x02\x02\u299C\u299D\x03\x02\x02\x02\u299D\u0569\x03\x02\x02\x02\u299E" + "\u29A0\x05\u0564\u02B3\x02\u299F\u299E\x03\x02\x02\x02\u29A0\u29A3\x03" + "\x02\x02\x02\u29A1\u299F\x03\x02\x02\x02\u29A1\u29A2\x03\x02\x02\x02\u29A2" + "\u056B\x03\x02\x02\x02\u29A3\u29A1\x03\x02\x02\x02\u29A4\u29A5\x05\u056E" + "\u02B8\x02\u29A5\u056D\x03\x02\x02\x02\u29A6\u29AB\x05\u0570\u02B9\x02" + "\u29A7\u29A8\x07\b\x02\x02\u29A8\u29AA\x05\u0570\u02B9\x02\u29A9\u29A7" + "\x03\x02\x02\x02\u29AA\u29AD\x03\x02\x02\x02\u29AB\u29A9\x03\x02\x02\x02" + "\u29AB\u29AC\x03\x02\x02\x02\u29AC\u056F\x03\x02\x02\x02\u29AD\u29AB\x03" + "\x02\x02\x02\u29AE\u29B3\x05\u053C\u029F\x02\u29AF\u29B0\x07&\x02\x02" + "\u29B0\u29B4\x05\u05D6\u02EC\x02\u29B1\u29B4\x05\u05D8\u02ED\x02\u29B2" + "\u29B4\x03\x02\x02\x02\u29B3\u29AF\x03\x02\x02\x02\u29B3\u29B1\x03\x02" + "\x02\x02\u29B3\u29B2\x03\x02\x02\x02\u29B4\u29B7\x03\x02\x02\x02\u29B5" + "\u29B7\x07\v\x02\x02\u29B6\u29AE\x03\x02\x02\x02\u29B6\u29B5\x03\x02\x02" + "\x02\u29B7\u0571\x03\x02\x02\x02\u29B8\u29BD\x05\u0588\u02C5\x02\u29B9" + "\u29BA\x07\b\x02\x02\u29BA\u29BC\x05\u0588\u02C5\x02\u29BB\u29B9\x03\x02" + "\x02\x02\u29BC\u29BF\x03\x02\x02\x02\u29BD\u29BB\x03\x02\x02\x02\u29BD" + "\u29BE\x03\x02\x02\x02\u29BE\u0573\x03\x02\x02\x02\u29BF\u29BD\x03\x02" + "\x02\x02\u29C0\u29C5\x05\u0582\u02C2\x02\u29C1\u29C2\x07\b\x02\x02\u29C2" + "\u29C4\x05\u0582\u02C2\x02\u29C3\u29C1\x03\x02\x02\x02\u29C4\u29C7\x03" + "\x02\x02\x02\u29C5\u29C3\x03\x02\x02\x02\u29C5\u29C6\x03\x02\x02\x02\u29C6" + "\u0575\x03\x02\x02\x02\u29C7\u29C5\x03\x02\x02\x02\u29C8\u29CD\x05\u0592" + "\u02CA\x02\u29C9\u29CA\x07\b\x02\x02\u29CA\u29CC\x05\u0592\u02CA\x02\u29CB" + "\u29C9\x03\x02\x02\x02\u29CC\u29CF\x03\x02\x02\x02\u29CD\u29CB\x03\x02" + "\x02\x02\u29CD\u29CE\x03\x02\x02\x02\u29CE\u0577\x03\x02\x02\x02\u29CF" + "\u29CD\x03\x02\x02\x02\u29D0\u29D5\x05\u0590\u02C9\x02\u29D1\u29D2\x07" + "\b\x02\x02\u29D2\u29D4\x05\u0590\u02C9\x02\u29D3\u29D1\x03\x02\x02\x02" + "\u29D4\u29D7\x03\x02\x02\x02\u29D5\u29D3\x03\x02\x02\x02\u29D5\u29D6\x03" + "\x02\x02\x02\u29D6\u0579\x03\x02\x02\x02\u29D7\u29D5\x03\x02\x02\x02\u29D8" + "\u29DD\x05\u0598\u02CD\x02\u29D9\u29DA\x07\b\x02\x02\u29DA\u29DC\x05\u0598" + "\u02CD\x02\u29DB\u29D9\x03\x02\x02\x02\u29DC\u29DF\x03\x02\x02\x02\u29DD" + "\u29DB\x03\x02\x02\x02\u29DD\u29DE\x03\x02\x02\x02\u29DE\u057B\x03\x02" + "\x02\x02\u29DF\u29DD\x03\x02\x02\x02\u29E0\u29E2\x05\u05C6\u02E4\x02\u29E1" + "\u29E3\x05\u0568\u02B5\x02\u29E2\u29E1\x03\x02\x02\x02\u29E2\u29E3\x03" + "\x02\x02\x02\u29E3\u057D\x03\x02\x02\x02\u29E4\u29E6\x05\u05C6\u02E4\x02" + "\u29E5\u29E7\x05\u0568\u02B5\x02\u29E6\u29E5\x03\x02\x02\x02\u29E6\u29E7" + "\x03\x02\x02\x02\u29E7\u057F\x03\x02\x02\x02\u29E8\u29EA\x05\u05C6\u02E4" + "\x02\u29E9\u29EB\x05\u0568\u02B5\x02\u29EA\u29E9\x03\x02\x02\x02\u29EA" + "\u29EB\x03\x02\x02\x02\u29EB\u0581\x03\x02\x02\x02\u29EC\u29EE\x05\u05C6" + "\u02E4\x02\u29ED\u29EF\x05\u0568\u02B5\x02\u29EE\u29ED\x03\x02\x02\x02" + "\u29EE\u29EF\x03\x02\x02\x02\u29EF\u0583\x03\x02\x02\x02\u29F0\u29F2\x05" + "\u05C6\u02E4\x02\u29F1\u29F3\x05\u0568\u02B5\x02\u29F2\u29F1\x03\x02\x02" + "\x02\u29F2\u29F3\x03\x02\x02\x02\u29F3\u0585\x03\x02\x02\x02\u29F4\u29F6" + "\x05\u05C6\u02E4\x02\u29F5\u29F7\x05\u0232\u011A\x02\u29F6\u29F5\x03\x02" + "\x02\x02\u29F6\u29F7\x03\x02\x02\x02\u29F7\u0587\x03\x02\x02\x02\u29F8" + "\u29FA\x05\u05C6\u02E4\x02\u29F9\u29FB\x05\u0568\u02B5\x02\u29FA\u29F9" + "\x03\x02\x02\x02\u29FA\u29FB\x03\x02\x02\x02\u29FB\u0589\x03\x02\x02\x02" + "\u29FC\u2A01\x05\u057E\u02C0\x02\u29FD\u29FE\x07\b\x02\x02\u29FE\u2A00" + "\x05\u057E\u02C0\x02\u29FF\u29FD\x03\x02\x02\x02\u2A00\u2A03\x03\x02\x02" + "\x02\u2A01\u29FF\x03\x02\x02\x02\u2A01\u2A02\x03\x02\x02\x02\u2A02\u058B" + "\x03\x02\x02\x02\u2A03\u2A01\x03\x02\x02\x02\u2A04\u2A09\x05\u05A0\u02D1" + "\x02\u2A05\u2A06\x07\b\x02\x02\u2A06\u2A08\x05\u05A0\u02D1\x02\u2A07\u2A05" + "\x03\x02\x02\x02\u2A08\u2A0B\x03\x02\x02\x02\u2A09\u2A07\x03\x02\x02\x02" + "\u2A09\u2A0A\x03\x02\x02\x02\u2A0A\u058D\x03\x02\x02\x02\u2A0B\u2A09\x03" + "\x02\x02\x02\u2A0C\u2A0E\x05\u05C6\u02E4\x02\u2A0D\u2A0F\x05\u0232\u011A" + "\x02\u2A0E\u2A0D\x03\x02\x02\x02\u2A0E\u2A0F\x03\x02\x02\x02\u2A0F\u058F" + "\x03\x02\x02\x02\u2A10\u2A12\x05\u05C6\u02E4\x02\u2A11\u2A13\x05\u0232" + "\u011A\x02\u2A12\u2A11\x03\x02\x02\x02\u2A12\u2A13\x03\x02\x02\x02\u2A13" + "\u0591\x03\x02\x02\x02\u2A14\u2A16\x05\u05C6\u02E4\x02\u2A15\u2A17\x05" + "\u0232\u011A\x02\u2A16\u2A15\x03\x02\x02\x02\u2A16\u2A17\x03\x02\x02\x02" + "\u2A17\u0593\x03\x02\x02\x02\u2A18\u2A19\x05\u05C6\u02E4\x02\u2A19\u0595" + "\x03\x02\x02\x02\u2A1A\u2A1B\x05\u05C6\u02E4\x02\u2A1B\u0597\x03\x02\x02" + "\x02\u2A1C\u2A21\x05\u05CE\u02E8\x02\u2A1D\u2A1E\x05\u05C6\u02E4\x02\u2A1E" + "\u2A1F\x05\u0568\u02B5\x02\u2A1F\u2A21\x03\x02\x02\x02\u2A20\u2A1C\x03" + "\x02\x02\x02\u2A20\u2A1D\x03\x02\x02\x02\u2A21\u0599\x03\x02\x02\x02\u2A22" + "\u2A27\x05\u05CE\u02E8\x02\u2A23\u2A24\x05\u05C6\u02E4\x02\u2A24\u2A25" + "\x05\u0568\u02B5\x02\u2A25\u2A27\x03\x02\x02\x02\u2A26\u2A22\x03\x02\x02" + "\x02\u2A26\u2A23\x03\x02\x02\x02\u2A27\u059B\x03\x02\x02\x02\u2A28\u2A29" + "\x05\u05C6\u02E4\x02\u2A29\u059D\x03\x02\x02\x02\u2A2A\u2A2B\x05\u05C6" + "\u02E4\x02\u2A2B\u059F\x03\x02\x02\x02\u2A2C\u2A2D\x05\u05C6\u02E4\x02" + "\u2A2D\u05A1\x03\x02\x02\x02\u2A2E\u2A2F\x05\u05D6\u02EC\x02\u2A2F\u05A3" + "\x03\x02\x02\x02\u2A30\u2A31\x05\u05B6\u02DC\x02\u2A31\u05A5\x03\x02\x02" + "\x02\u2A32\u2A37\x05\u05CE\u02E8\x02\u2A33\u2A34\x05\u05C6\u02E4\x02\u2A34" + "\u2A35\x05\u0568\u02B5\x02\u2A35\u2A37\x03\x02\x02\x02\u2A36\u2A32\x03" + "\x02\x02\x02\u2A36\u2A33\x03\x02\x02\x02\u2A37\u05A7\x03\x02\x02\x02\u2A38" + "\u2A3D\x05\u05CE\u02E8\x02\u2A39\u2A3A\x05\u05C6\u02E4\x02\u2A3A\u2A3B" + "\x05\u0568\u02B5\x02\u2A3B\u2A3D\x03\x02\x02\x02\u2A3C\u2A38\x03\x02\x02" + "\x02\u2A3C\u2A39\x03\x02\x02\x02\u2A3D\u05A9\x03\x02\x02\x02\u2A3E\u2A43" + "\x05\u05D0\u02E9\x02\u2A3F\u2A40\x05\u05C6\u02E4\x02\u2A40\u2A41\x05\u0568" + "\u02B5\x02\u2A41\u2A43\x03\x02\x02\x02\u2A42\u2A3E\x03\x02\x02\x02\u2A42" + "\u2A3F\x03\x02\x02\x02\u2A43\u05AB\x03\x02\x02\x02\u2A44\u2A68\x05\u05B4" + "\u02DB\x02\u2A45\u2A68\x05\u05B2\u02DA\x02\u2A46\u2A68\x05\u05B6\u02DC" + "\x02\u2A47\u2A68\x05\u05B0\u02D9\x02\u2A48\u2A68\x05\u05AE\u02D8\x02\u2A49" + "\u2A53\x05\u05A8\u02D5\x02\u2A4A\u2A54\x05\u05B6\u02DC\x02\u2A4B\u2A4C" + "\x07\x04\x02\x02\u2A4C\u2A4E\x05\u053E\u02A0\x02\u2A4D\u2A4F\x05\u0416" + "\u020C\x02\u2A4E\u2A4D\x03\x02\x02\x02\u2A4E\u2A4F\x03\x02\x02\x02\u2A4F" + "\u2A50\x03\x02\x02\x02\u2A50\u2A51\x07\x05\x02\x02\u2A51\u2A52\x05\u05B6" + "\u02DC\x02\u2A52\u2A54\x03\x02\x02\x02\u2A53\u2A4A\x03\x02\x02\x02\u2A53" + "\u2A4B\x03\x02\x02\x02\u2A54\u2A68\x03\x02\x02\x02\u2A55\u2A56\x05\u049A" + "\u024E\x02\u2A56\u2A57\x05\u05B6\u02DC\x02\u2A57\u2A68\x03\x02\x02\x02" + "\u2A58\u2A62\x05\u04B6\u025C\x02\u2A59\u2A5B\x05\u05B6\u02DC\x02\u2A5A" + "\u2A5C\x05\u04BA\u025E\x02\u2A5B\u2A5A\x03\x02\x02\x02\u2A5B\u2A5C\x03" + "\x02\x02\x02\u2A5C\u2A63\x03\x02\x02\x02\u2A5D\u2A5E\x07\x04\x02\x02\u2A5E" + "\u2A5F\x05\u05B4\u02DB\x02\u2A5F\u2A60\x07\x05\x02\x02\u2A60\u2A61\x05" + "\u05B6\u02DC\x02\u2A61\u2A63\x03\x02\x02\x02\u2A62\u2A59\x03\x02\x02\x02" + "\u2A62\u2A5D\x03\x02\x02\x02\u2A63\u2A68\x03\x02\x02\x02\u2A64\u2A68\x07" + "b\x02\x02\u2A65\u2A68\x07>\x02\x02\u2A66\u2A68\x07P\x02\x02\u2A67\u2A44" + "\x03\x02\x02\x02\u2A67\u2A45\x03\x02\x02\x02\u2A67\u2A46\x03\x02\x02\x02" + "\u2A67\u2A47\x03\x02\x02\x02\u2A67\u2A48\x03\x02\x02\x02\u2A67\u2A49\x03" + "\x02\x02\x02\u2A67\u2A55\x03\x02\x02\x02\u2A67\u2A58\x03\x02\x02\x02\u2A67" + "\u2A64\x03\x02\x02\x02\u2A67\u2A65\x03\x02\x02\x02\u2A67\u2A66\x03\x02" + "\x02\x02\u2A68\u05AD\x03\x02\x02\x02\u2A69\u2A6A\x07\u0239\x02\x02\u2A6A" + "\u05AF\x03\x02\x02\x02\u2A6B\u2A6C\x07\u0235\x02\x02\u2A6C\u05B1\x03\x02" + "\x02\x02\u2A6D\u2A6E\x07\u023F\x02\x02\u2A6E\u05B3\x03\x02\x02\x02\u2A6F" + "\u2A70\x07\u023D\x02\x02\u2A70\u05B5\x03\x02\x02\x02\u2A71\u2A73\x05\u05B8" + "\u02DD\x02\u2A72\u2A74\x05\u05BA\u02DE\x02\u2A73\u2A72\x03\x02\x02\x02" + "\u2A73\u2A74\x03\x02\x02\x02\u2A74\u05B7\x03\x02\x02\x02\u2A75\u2A81\x07" + "\u0230\x02\x02\u2A76\u2A81\x07\u0232\x02\x02\u2A77\u2A7B\x07\u0234\x02" + "\x02\u2A78\u2A7A\x07\u024E\x02\x02\u2A79\u2A78\x03\x02\x02\x02\u2A7A\u2A7D" + "\x03\x02\x02\x02\u2A7B\u2A79\x03\x02\x02\x02\u2A7B\u2A7C\x03\x02\x02\x02" + "\u2A7C\u2A7E\x03\x02\x02\x02\u2A7D\u2A7B\x03\x02\x02\x02\u2A7E\u2A81\x07" + "\u024F\x02\x02\u2A7F\u2A81\x07\u024A\x02\x02\u2A80\u2A75\x03\x02\x02\x02" + "\u2A80\u2A76\x03\x02\x02\x02\u2A80\u2A77\x03\x02\x02\x02\u2A80\u2A7F\x03" + "\x02\x02\x02\u2A81\u05B9\x03\x02\x02\x02\u2A82\u2A83\x07\u01E9\x02\x02" + "\u2A83\u2A84\x05\u05B8\u02DD\x02\u2A84\u05BB\x03\x02\x02\x02\u2A85\u2A8B" + "\x05\u05B4\u02DB\x02\u2A86\u2A87\x07\x0E\x02\x02\u2A87\u2A8B\x05\u05B4" + "\u02DB\x02\u2A88\u2A89\x07\x0F\x02\x02\u2A89\u2A8B\x05\u05B4\u02DB\x02" + "\u2A8A\u2A85\x03\x02\x02\x02\u2A8A\u2A86\x03\x02\x02\x02\u2A8A\u2A88\x03" + "\x02\x02\x02\u2A8B\u05BD\x03\x02\x02\x02\u2A8C\u2A8D\x05\u05C2\u02E2\x02" + "\u2A8D\u05BF\x03\x02\x02\x02\u2A8E\u2A8F\x05\u05C2\u02E2\x02\u2A8F\u05C1" + "\x03\x02\x02\x02\u2A90\u2A96\x05\u05D4\u02EB\x02\u2A91\u2A96\x076\x02" + "\x02\u2A92\u2A96\x073\x02\x02\u2A93\u2A96\x07[\x02\x02\u2A94\u2A96\x07" + "\u020E\x02\x02\u2A95\u2A90\x03\x02\x02\x02\u2A95\u2A91\x03\x02\x02\x02" + "\u2A95\u2A92\x03\x02\x02\x02\u2A95\u2A93\x03\x02\x02\x02\u2A95\u2A94\x03" + "\x02\x02\x02\u2A96\u05C3\x03\x02\x02\x02\u2A97\u2A9C\x05\u05C2\u02E2\x02" + "\u2A98\u2A99\x07\b\x02\x02\u2A99\u2A9B\x05\u05C2\u02E2\x02\u2A9A\u2A98" + "\x03\x02\x02\x02\u2A9B\u2A9E\x03\x02\x02\x02\u2A9C\u2A9A\x03\x02\x02\x02" + "\u2A9C\u2A9D\x03\x02\x02\x02\u2A9D\u05C5\x03\x02\x02\x02\u2A9E\u2A9C\x03" + "\x02\x02\x02\u2A9F\u2AA4\x05\u05D8\u02ED\x02\u2AA0\u2AA4\x05\u05DC\u02EF" + "\x02\u2AA1\u2AA4\x05\u05DE\u02F0\x02\u2AA2\u2AA4\x05\u06CA\u0366\x02\u2AA3" + "\u2A9F\x03\x02\x02\x02\u2AA3\u2AA0\x03\x02\x02\x02\u2AA3\u2AA1\x03\x02" + "\x02\x02\u2AA3\u2AA2\x03\x02\x02\x02\u2AA4\u05C7\x03\x02\x02\x02\u2AA5" + "\u2AA6\x05\u05D8\u02ED\x02\u2AA6\u05C9\x03\x02\x02\x02\u2AA7\u2AB4\x05" + "\u02C8\u0165\x02\u2AA8\u2AA9\x07\x04\x02\x02\u2AA9\u2AAA\x05\u04C0\u0261" + "\x02\u2AAA\u2AAB\x07\x05\x02\x02\u2AAB\u2AAC\x03\x02\x02\x02\u2AAC\u2AAE" + "\x05\u05D8\u02ED\x02\u2AAD\u2AAF\x05\u028C\u0147\x02\u2AAE\u2AAD\x03\x02" + "\x02\x02\u2AAE\u2AAF\x03\x02\x02\x02\u2AAF\u2AB1\x03\x02\x02\x02\u2AB0" + "\u2AB2\x05\u028E\u0148\x02\u2AB1\u2AB0\x03\x02\x02\x02\u2AB1\u2AB2\x03" + "\x02\x02\x02\u2AB2\u2AB4\x03\x02\x02\x02\u2AB3\u2AA7\x03\x02\x02\x02\u2AB3" + "\u2AA8\x03\x02\x02\x02\u2AB4\u05CB\x03\x02\x02\x02\u2AB5\u2AB6\x07k\x02" + "\x02\u2AB6\u2AB8\x05\x86D\x02\u2AB7\u2AB5\x03\x02\x02\x02\u2AB7\u2AB8" + "\x03\x02\x02\x02\u2AB8\u2ABA\x03\x02\x02\x02\u2AB9\u2ABB\x05\u011E\x90" + "\x02\u2ABA\u2AB9\x03\x02\x02\x02\u2ABA\u2ABB\x03\x02\x02\x02\u2ABB\u05CD" + "\x03\x02\x02\x02\u2ABC\u2AC1\x05\u05D8\u02ED\x02\u2ABD\u2AC1\x05\u05DC" + "\u02EF\x02\u2ABE\u2AC1\x05\u06CA\u0366\x02\u2ABF\u2AC1\x05\u05E0\u02F1" + "\x02\u2AC0\u2ABC\x03\x02\x02\x02\u2AC0\u2ABD\x03\x02\x02\x02\u2AC0\u2ABE" + "\x03\x02\x02\x02\u2AC0\u2ABF\x03"; private static readonly _serializedATNSegment20: string = "\x02\x02\x02\u2AC1\u05CF\x03\x02\x02\x02\u2AC2\u2AC7\x05\u05D8\u02ED\x02" + "\u2AC3\u2AC7\x05\u05DC\u02EF\x02\u2AC4\u2AC7\x05\u06CA\u0366\x02\u2AC5" + "\u2AC7\x05\u05E0\u02F1\x02\u2AC6\u2AC2\x03\x02\x02\x02\u2AC6\u2AC3\x03" + "\x02\x02\x02\u2AC6\u2AC4\x03\x02\x02\x02\u2AC6\u2AC5\x03\x02\x02\x02\u2AC7" + "\u05D1\x03\x02\x02\x02\u2AC8\u2ACB\x05\u059C\u02CF\x02\u2AC9\u2ACB\x05" + "\u05E0\u02F1\x02\u2ACA\u2AC8\x03\x02\x02\x02\u2ACA\u2AC9\x03\x02\x02\x02" + "\u2ACB\u05D3\x03\x02\x02\x02\u2ACC\u2AD1\x05\u05D8\u02ED\x02\u2ACD\u2AD1" + "\x05\u05DC\u02EF\x02\u2ACE\u2AD1\x05\u05DE\u02F0\x02\u2ACF\u2AD1\x05\u05E0" + "\u02F1\x02\u2AD0\u2ACC\x03\x02\x02\x02\u2AD0\u2ACD\x03\x02\x02\x02\u2AD0" + "\u2ACE\x03\x02\x02\x02\u2AD0\u2ACF\x03\x02\x02\x02\u2AD1\u05D5\x03\x02" + "\x02\x02\u2AD2\u2AD9\x05\u05D8\u02ED\x02\u2AD3\u2AD9\x05\u06CA\u0366\x02" + "\u2AD4\u2AD9\x05\u05DC\u02EF\x02\u2AD5\u2AD9\x05\u05DE\u02F0\x02\u2AD6" + "\u2AD9\x05\u05E0\u02F1\x02\u2AD7\u2AD9\x05\u05E2\u02F2\x02\u2AD8\u2AD2" + "\x03\x02\x02\x02\u2AD8\u2AD3\x03\x02\x02\x02\u2AD8\u2AD4\x03\x02\x02\x02" + "\u2AD8\u2AD5\x03\x02\x02\x02\u2AD8\u2AD6\x03\x02\x02\x02\u2AD8\u2AD7\x03" + "\x02\x02\x02\u2AD9\u05D7\x03\x02\x02\x02\u2ADA\u2ADC\x07\u0227\x02\x02" + "\u2ADB\u2ADD\x05\u05BA\u02DE\x02\u2ADC\u2ADB\x03\x02\x02\x02\u2ADC\u2ADD" + "\x03\x02\x02\x02\u2ADD\u2AE5\x03\x02\x02\x02\u2ADE\u2AE5\x05\u05B6\u02DC" + "\x02\u2ADF\u2AE5\x07\u0228\x02\x02\u2AE0\u2AE5\x07\u022C\x02\x02\u2AE1" + "\u2AE5\x05\u04EC\u0277\x02\u2AE2\u2AE5\x05\u05DA\u02EE\x02\u2AE3\u2AE5" + "\x05\u06CA\u0366\x02\u2AE4\u2ADA\x03\x02\x02\x02\u2AE4\u2ADE\x03\x02\x02" + "\x02\u2AE4\u2ADF\x03\x02\x02\x02\u2AE4\u2AE0\x03\x02\x02\x02\u2AE4\u2AE1" + "\x03\x02\x02\x02\u2AE4\u2AE2\x03\x02\x02\x02\u2AE4\u2AE3\x03\x02\x02\x02" + "\u2AE5\u05D9\x03\x02\x02\x02\u2AE6\u2AE7\x07\u0241\x02\x02\u2AE7\u05DB" + "\x03\x02\x02\x02\u2AE8\u2AE9\tJ\x02\x02\u2AE9\u05DD\x03\x02\x02\x02\u2AEA" + "\u2B1E\x07\u0185\x02\x02\u2AEB\u2B1E\x07\u0186\x02\x02\u2AEC\u2B1E\x05" + "\u04A4\u0253\x02\u2AED\u2B1E\x07\u0188\x02\x02\u2AEE\u2B1E\x07\u0189\x02" + "\x02\u2AEF\u2B1E\x05\u04AC\u0257\x02\u2AF0\u2B1E\x07\u018B\x02\x02\u2AF1" + "\u2B1E\x07\u018C\x02\x02\u2AF2\u2B1E\x07\u018D\x02\x02\u2AF3\u2B1E\x07" + "\u018E\x02\x02\u2AF4\u2B1E\x07\u018F\x02\x02\u2AF5\u2B1E\x07\u0190\x02" + "\x02\u2AF6\u2B1E\x07\u0191\x02\x02\u2AF7\u2B1E\x07\u01D8\x02\x02\u2AF8" + "\u2B1E\x07\u0192\x02\x02\u2AF9\u2B1E\x07\u0193\x02\x02\u2AFA\u2B1E\x07" + "\u0194\x02\x02\u2AFB\u2B1E\x07\u0195\x02\x02\u2AFC\u2B1E\x07\u0196\x02" + "\x02\u2AFD\u2B1E\x07\u0197\x02\x02\u2AFE\u2B1E\x07\u0198\x02\x02\u2AFF" + "\u2B1E\x07\u0199\x02\x02\u2B00\u2B1E\x07\u01EB\x02\x02\u2B01\u2B1E\x07" + "\u019A\x02\x02\u2B02\u2B1E\x05\u04A0\u0251\x02\u2B03\u2B1E\x07\u01C7\x02" + "\x02\u2B04\u2B1E\x07\u019C\x02\x02\u2B05\u2B1E\x07\u019D\x02\x02\u2B06" + "\u2B1E\x07\u019E\x02\x02\u2B07\u2B1E\x07\u019F\x02\x02\u2B08\u2B1E\x07" + "\u01A0\x02\x02\u2B09\u2B1E\x07\u01A1\x02\x02\u2B0A\u2B1E\x07\u01A2\x02" + "\x02\u2B0B\u2B1E\x07\u01A3\x02\x02\u2B0C\u2B1E\x07\u01A4\x02\x02\u2B0D" + "\u2B1E\x07\u01A5\x02\x02\u2B0E\u2B1E\x07\u01A6\x02\x02\u2B0F\u2B1E\x07" + "\u01A7\x02\x02\u2B10\u2B1E\x07\u01A8\x02\x02\u2B11\u2B1E\x07\u01A9\x02" + "\x02\u2B12\u2B1E\x07\u01AA\x02\x02\u2B13\u2B1E\x07\u01AB\x02\x02\u2B14" + "\u2B1E\x07\u01AC\x02\x02\u2B15\u2B1E\x07\u01AD\x02\x02\u2B16\u2B1E\x07" + "\u01AE\x02\x02\u2B17\u2B1E\x07\u01DE\x02\x02\u2B18\u2B1E\x07\u01AF\x02" + "\x02\u2B19\u2B1E\x07\u01B0\x02\x02\u2B1A\u2B1E\x07\u01B1\x02\x02\u2B1B" + "\u2B1E\x07\u01B2\x02\x02\u2B1C\u2B1E\x07\u01DC\x02\x02\u2B1D\u2AEA\x03" + "\x02\x02\x02\u2B1D\u2AEB\x03\x02\x02\x02\u2B1D\u2AEC\x03\x02\x02\x02\u2B1D" + "\u2AED\x03\x02\x02\x02\u2B1D\u2AEE\x03\x02\x02\x02\u2B1D\u2AEF\x03\x02" + "\x02\x02\u2B1D\u2AF0\x03\x02\x02\x02\u2B1D\u2AF1\x03\x02\x02\x02\u2B1D" + "\u2AF2\x03\x02\x02\x02\u2B1D\u2AF3\x03\x02\x02\x02\u2B1D\u2AF4\x03\x02" + "\x02\x02\u2B1D\u2AF5\x03\x02\x02\x02\u2B1D\u2AF6\x03\x02\x02\x02\u2B1D" + "\u2AF7\x03\x02\x02\x02\u2B1D\u2AF8\x03\x02\x02\x02\u2B1D\u2AF9\x03\x02" + "\x02\x02\u2B1D\u2AFA\x03\x02\x02\x02\u2B1D\u2AFB\x03\x02\x02\x02\u2B1D" + "\u2AFC\x03\x02\x02\x02\u2B1D\u2AFD\x03\x02\x02\x02\u2B1D\u2AFE\x03\x02" + "\x02\x02\u2B1D\u2AFF\x03\x02\x02\x02\u2B1D\u2B00\x03\x02\x02\x02\u2B1D" + "\u2B01\x03\x02\x02\x02\u2B1D\u2B02\x03\x02\x02\x02\u2B1D\u2B03\x03\x02" + "\x02\x02\u2B1D\u2B04\x03\x02\x02\x02\u2B1D\u2B05\x03\x02\x02\x02\u2B1D" + "\u2B06\x03\x02\x02\x02\u2B1D\u2B07\x03\x02\x02\x02\u2B1D\u2B08\x03\x02" + "\x02\x02\u2B1D\u2B09\x03\x02\x02\x02\u2B1D\u2B0A\x03\x02\x02\x02\u2B1D" + "\u2B0B\x03\x02\x02\x02\u2B1D\u2B0C\x03\x02\x02\x02\u2B1D\u2B0D\x03\x02" + "\x02\x02\u2B1D\u2B0E\x03\x02\x02\x02\u2B1D\u2B0F\x03\x02\x02\x02\u2B1D" + "\u2B10\x03\x02\x02\x02\u2B1D\u2B11\x03\x02\x02\x02\u2B1D\u2B12\x03\x02" + "\x02\x02\u2B1D\u2B13\x03\x02\x02\x02\u2B1D\u2B14\x03\x02\x02\x02\u2B1D" + "\u2B15\x03\x02\x02\x02\u2B1D\u2B16\x03\x02\x02\x02\u2B1D\u2B17\x03\x02" + "\x02\x02\u2B1D\u2B18\x03\x02\x02\x02\u2B1D\u2B19\x03\x02\x02\x02\u2B1D" + "\u2B1A\x03\x02\x02\x02\u2B1D\u2B1B\x03\x02\x02\x02\u2B1D\u2B1C\x03\x02" + "\x02\x02\u2B1E\u05DF\x03\x02\x02\x02\u2B1F\u2B20\tK\x02\x02\u2B20\u05E1" + "\x03\x02\x02\x02\u2B21\u2B22\tL\x02\x02\u2B22\u05E3\x03\x02\x02\x02\u2B23" + "\u2B24\x05\u05E6\u02F4\x02\u2B24\u2B25\x05\u05F0\u02F9\x02\u2B25\u2B26" + "\x05\u05EE\u02F8\x02\u2B26\u05E5\x03\x02\x02\x02\u2B27\u2B29\x05\u05E8" + "\u02F5\x02\u2B28\u2B27\x03\x02\x02\x02\u2B29\u2B2C\x03\x02\x02\x02\u2B2A" + "\u2B28\x03\x02\x02\x02\u2B2A\u2B2B\x03\x02\x02\x02\u2B2B\u05E7\x03\x02" + "\x02\x02\u2B2C\u2B2A\x03\x02\x02\x02\u2B2D\u2B2E\x05\u05EA\u02F6\x02\u2B2E" + "\u2B2F\x07\u0119\x02\x02\u2B2F\u2B30\x07\u01EC\x02\x02\u2B30\u2B42\x03" + "\x02\x02\x02\u2B31\u2B32\x05\u05EA\u02F6\x02\u2B32\u2B33\x07\u01ED\x02" + "\x02\u2B33\u2B34\x05\u05EC\u02F7\x02\u2B34\u2B42\x03\x02\x02\x02\u2B35" + "\u2B36\x05\u05EA\u02F6\x02\u2B36\u2B37\x07\u01EE\x02\x02\u2B37\u2B38\x07" + "\u01EF\x02\x02\u2B38\u2B42\x03\x02\x02\x02\u2B39\u2B3A\x05\u05EA\u02F6" + "\x02\u2B3A\u2B3B\x07\u01EE\x02\x02\u2B3B\u2B3C\x07\u01F0\x02\x02\u2B3C" + "\u2B42\x03\x02\x02\x02\u2B3D\u2B3E\x05\u05EA\u02F6\x02\u2B3E\u2B3F\x07" + "\u01EE\x02\x02\u2B3F\u2B40\x07\u01F1\x02\x02\u2B40\u2B42\x03\x02\x02\x02" + "\u2B41\u2B2D\x03\x02\x02\x02\u2B41\u2B31\x03\x02\x02\x02\u2B41\u2B35\x03" + "\x02\x02\x02\u2B41\u2B39\x03\x02\x02\x02\u2B41\u2B3D\x03\x02\x02\x02\u2B42" + "\u05E9\x03\x02\x02\x02\u2B43\u2B44\x07\x1F\x02\x02\u2B44\u05EB\x03\x02" + "\x02\x02\u2B45\u2B4A\x05\u05B6\u02DC\x02\u2B46\u2B4A\x05\u05E2\u02F2\x02" + "\u2B47\u2B4A\x05\u06CA\u0366\x02\u2B48\u2B4A\x05\u05DC\u02EF\x02\u2B49" + "\u2B45\x03\x02\x02\x02\u2B49\u2B46\x03\x02\x02\x02\u2B49\u2B47\x03\x02" + "\x02\x02\u2B49\u2B48\x03\x02\x02\x02\u2B4A\u05ED\x03\x02\x02\x02\u2B4B" + "\u2B4E\x03\x02\x02\x02\u2B4C\u2B4E\x07\t\x02\x02\u2B4D\u2B4B\x03\x02\x02" + "\x02\u2B4D\u2B4C\x03\x02\x02\x02\u2B4E\u05EF\x03\x02\x02\x02\u2B4F\u2B50" + "\x05\u05F2\u02FA\x02\u2B50\u2B51\x07\x94\x02\x02\u2B51\u2B52\x05\u061C" + "\u030F\x02\u2B52\u2B53\x05\u06B6\u035C\x02\u2B53\u2B54\x07\u01C8\x02\x02" + "\u2B54\u2B55\x05\u06C4\u0363\x02\u2B55\u05F1\x03\x02\x02\x02\u2B56\u2B5B" + "\x05\u06C0\u0361\x02\u2B57\u2B59\x05\u05F4\u02FB\x02\u2B58\u2B5A\x05\u05F6" + "\u02FC\x02\u2B59\u2B58\x03\x02\x02\x02\u2B59\u2B5A\x03\x02\x02\x02\u2B5A" + "\u2B5C\x03\x02\x02\x02\u2B5B\u2B57\x03\x02\x02\x02\u2B5B\u2B5C\x03\x02" + "\x02\x02\u2B5C\u05F3\x03\x02\x02\x02\u2B5D\u2B5E\x07\xB4\x02\x02\u2B5E" + "\u05F5\x03\x02\x02\x02\u2B5F\u2B61\x05\u05FA\u02FE\x02\u2B60\u2B5F\x03" + "\x02\x02\x02\u2B61\u2B62\x03\x02\x02\x02\u2B62\u2B60\x03\x02\x02\x02\u2B62" + "\u2B63\x03\x02\x02\x02\u2B63\u05F7\x03\x02\x02\x02\u2B64\u2B65\x07\x14" + "\x02\x02\u2B65\u2B66\x05\u06C8\u0365\x02\u2B66\u2B67\x07\x15\x02\x02\u2B67" + "\u05F9\x03\x02\x02\x02\u2B68\u2B6C\x05\u05FC\u02FF\x02\u2B69\u2B6C\x07" + "\xB4\x02\x02\u2B6A\u2B6C\x05\u05F8\u02FD\x02\u2B6B\u2B68\x03\x02\x02\x02" + "\u2B6B\u2B69\x03\x02\x02\x02\u2B6B\u2B6A\x03\x02\x02\x02\u2B6C\u05FB\x03" + "\x02\x02\x02\u2B6D\u2B7D\x05\u060C\u0307\x02\u2B6E\u2B6F\x07\u01F2\x02" + "\x02\u2B6F\u2B70\x07@\x02\x02\u2B70\u2B7E\x05\u060A\u0306\x02\u2B71\u2B72" + "\x05\u060E\u0308\x02\u2B72\u2B73\x05\u0610\u0309\x02\u2B73\u2B74\x05\u0612" + "\u030A\x02\u2B74\u2B75\x05\u0614\u030B\x02\u2B75\u2B76\x05\u0616\u030C" + "\x02\u2B76\u2B7E\x03\x02\x02\x02\u2B77\u2B78\x05\u05FE\u0300\x02\u2B78" + "\u2B79\x07\xAE\x02\x02\u2B79\u2B7A\x05\u0602\u0302\x02\u2B7A\u2B7B\x05" + "\u0608\u0305\x02\u2B7B\u2B7C\x05\u0600\u0301\x02\u2B7C\u2B7E\x03\x02\x02" + "\x02\u2B7D\u2B6E\x03\x02\x02\x02\u2B7D\u2B71\x03\x02\x02\x02\u2B7D\u2B77" + "\x03\x02\x02\x02\u2B7E\u2B7F\x03\x02\x02\x02\u2B7F\u2B80\x07\t\x02\x02" + "\u2B80\u05FD\x03\x02\x02\x02\u2B81\u2B86\x03\x02\x02\x02\u2B82\u2B83\x07" + "\u010F\x02\x02\u2B83\u2B86\x07\u0146\x02\x02\u2B84\u2B86\x07\u0146\x02" + "\x02\u2B85\u2B81\x03\x02\x02\x02\u2B85\u2B82\x03\x02\x02\x02\u2B85\u2B84" + "\x03\x02\x02\x02\u2B86\u05FF\x03\x02\x02\x02\u2B87\u2B88\x05\u03EC\u01F7" + "\x02\u2B88\u0601\x03\x02\x02\x02\u2B89\u2B8F\x03\x02\x02\x02\u2B8A\u2B8B" + "\x07\x04\x02\x02\u2B8B\u2B8C\x05\u0604\u0303\x02\u2B8C\u2B8D\x07\x05\x02" + "\x02\u2B8D\u2B8F\x03\x02\x02\x02\u2B8E\u2B89\x03\x02\x02\x02\u2B8E\u2B8A" + "\x03\x02\x02\x02\u2B8F\u0603\x03\x02\x02\x02\u2B90\u2B95\x05\u0606\u0304" + "\x02\u2B91\u2B92\x07\b\x02\x02\u2B92\u2B94\x05\u0606\u0304\x02\u2B93\u2B91" + "\x03\x02\x02\x02\u2B94\u2B97\x03\x02\x02\x02\u2B95\u2B93\x03\x02\x02\x02" + "\u2B95\u2B96\x03\x02\x02\x02\u2B96\u0605\x03\x02\x02\x02\u2B97\u2B95\x03" + "\x02\x02\x02\u2B98\u2B99\x05\u060C\u0307\x02\u2B99\u2B9A\x05\u0610\u0309" + "\x02\u2B9A\u0607\x03\x02\x02\x02\u2B9B\u2B9C\tM\x02\x02\u2B9C\u0609\x03" + "\x02\x02\x02\u2B9D\u2BA0\x07\x1E\x02\x02\u2B9E\u2BA0\x05\u05C6\u02E4\x02" + "\u2B9F\u2B9D\x03\x02\x02\x02\u2B9F\u2B9E\x03\x02\x02\x02\u2BA0\u060B\x03" + "\x02\x02\x02\u2BA1\u2BA2\x05\u06C8\u0365\x02\u2BA2\u060D\x03\x02\x02\x02" + "\u2BA3\u2BA6\x03\x02\x02\x02\u2BA4\u2BA6\x07\u01F3\x02\x02\u2BA5\u2BA3" + "\x03\x02\x02\x02\u2BA5\u2BA4\x03\x02\x02\x02\u2BA6\u060F\x03\x02\x02\x02" + "\u2BA7\u2BA8\x05\u0494\u024B\x02\u2BA8\u0611\x03\x02\x02\x02\u2BA9\u2BAD" + "\x03\x02\x02\x02\u2BAA\u2BAB\x07-\x02\x02\u2BAB\u2BAD\x05\u0230\u0119" + "\x02\u2BAC\u2BA9\x03\x02\x02\x02\u2BAC\u2BAA\x03\x02\x02\x02\u2BAD\u0613" + "\x03\x02\x02\x02\u2BAE\u2BB2\x03\x02\x02\x02\u2BAF\u2BB0\x07O\x02\x02" + "\u2BB0\u2BB2\x07P\x02\x02\u2BB1\u2BAE\x03\x02\x02\x02\u2BB1\u2BAF\x03" + "\x02\x02\x02\u2BB2\u0615\x03\x02\x02\x02\u2BB3\u2BB8\x03\x02\x02\x02\u2BB4" + "\u2BB5\x05\u0618\u030D\x02\u2BB5\u2BB6\x05\u06CC\u0367\x02\u2BB6\u2BB8" + "\x03\x02\x02\x02\u2BB7\u2BB3\x03\x02\x02\x02\u2BB7\u2BB4\x03\x02\x02\x02" + "\u2BB8\u0617\x03\x02\x02\x02\u2BB9\u2BBC\x05\u061A\u030E\x02\u2BBA\u2BBC" + "\x077\x02\x02\u2BBB\u2BB9\x03\x02\x02\x02\u2BBB\u2BBA\x03\x02\x02\x02" + "\u2BBC\u0619\x03\x02\x02\x02\u2BBD\u2BBE\tN\x02\x02\u2BBE\u061B\x03\x02" + "\x02\x02\u2BBF\u2BC1\x05\u061E\u0310\x02\u2BC0\u2BBF\x03\x02\x02\x02\u2BC1" + "\u2BC4\x03\x02\x02\x02\u2BC2\u2BC0\x03\x02\x02\x02\u2BC2\u2BC3\x03\x02" + "\x02\x02\u2BC3\u061D\x03\x02\x02\x02\u2BC4\u2BC2\x03\x02\x02\x02\u2BC5" + "\u2BC6\x05\u05F0\u02F9\x02\u2BC6\u2BC7\x07\t\x02\x02\u2BC7\u2BE1\x03\x02" + "\x02\x02\u2BC8\u2BE1\x05\u0660\u0331\x02\u2BC9\u2BE1\x05\u0664\u0333\x02" + "\u2BCA\u2BE1\x05\u0626\u0314\x02\u2BCB\u2BE1\x05\u0636\u031C\x02\u2BCC" + "\u2BE1\x05\u063C\u031F\x02\u2BCD\u2BE1\x05\u0646\u0324\x02\u2BCE\u2BE1" + "\x05\u0648\u0325\x02\u2BCF\u2BE1\x05\u064A\u0326\x02\u2BD0\u2BE1\x05\u0658" + "\u032D\x02\u2BD1\u2BE1\x05\u065C\u032F\x02\u2BD2\u2BE1\x05\u0670\u0339" + "\x02\u2BD3\u2BE1\x05\u0676\u033C\x02\u2BD4\u2BE1\x05\u0678\u033D\x02\u2BD5" + "\u2BE1\x05\u0620\u0311\x02\u2BD6\u2BE1\x05\u0622\u0312\x02\u2BD7\u2BE1" + "\x05\u0628\u0315\x02\u2BD8\u2BE1\x05\u0680\u0341\x02\u2BD9\u2BE1\x05\u068C" + "\u0347\x02\u2BDA\u2BE1\x05\u0694\u034B\x02\u2BDB\u2BE1\x05\u06A8\u0355" + "\x02\u2BDC\u2BE1\x05\u06AA\u0356\x02\u2BDD\u2BE1\x05\u06AC\u0357\x02\u2BDE" + "\u2BE1\x05\u06AE\u0358\x02\u2BDF\u2BE1\x05\u06B2\u035A\x02\u2BE0\u2BC5" + "\x03\x02\x02\x02\u2BE0\u2BC8\x03\x02\x02\x02\u2BE0\u2BC9\x03\x02\x02\x02" + "\u2BE0\u2BCA\x03\x02\x02\x02\u2BE0\u2BCB\x03\x02\x02\x02\u2BE0\u2BCC\x03" + "\x02\x02\x02\u2BE0\u2BCD\x03\x02\x02\x02\u2BE0\u2BCE\x03\x02\x02\x02\u2BE0" + "\u2BCF\x03\x02\x02\x02\u2BE0\u2BD0\x03\x02\x02\x02\u2BE0\u2BD1\x03\x02" + "\x02\x02\u2BE0\u2BD2\x03\x02\x02\x02\u2BE0\u2BD3\x03\x02\x02\x02\u2BE0" + "\u2BD4\x03\x02\x02\x02\u2BE0\u2BD5\x03\x02\x02\x02\u2BE0\u2BD6\x03\x02" + "\x02\x02\u2BE0\u2BD7\x03\x02\x02\x02\u2BE0\u2BD8\x03\x02\x02\x02\u2BE0" + "\u2BD9\x03\x02\x02\x02\u2BE0\u2BDA\x03\x02\x02\x02\u2BE0\u2BDB\x03\x02" + "\x02\x02\u2BE0\u2BDC\x03\x02\x02\x02\u2BE0\u2BDD\x03\x02\x02\x02\u2BE0" + "\u2BDE\x03\x02\x02\x02\u2BE0\u2BDF\x03\x02\x02\x02\u2BE1\u061F\x03\x02" + "\x02\x02\u2BE2\u2BE3\x07\u01F4\x02\x02\u2BE3\u2BE4\x05\u06D0\u0369\x02" + "\u2BE4\u2BE5\x07\t\x02\x02\u2BE5\u0621\x03\x02\x02\x02\u2BE6\u2BE7\x07" + "\u01B3\x02\x02\u2BE7\u2BED\x05\u06C8\u0365\x02\u2BE8\u2BE9\x07\x04\x02" + "\x02\u2BE9\u2BEA\x05\u0624\u0313\x02\u2BEA\u2BEB\x07\x05\x02\x02\u2BEB" + "\u2BEC\x07\t\x02\x02\u2BEC\u2BEE\x03\x02\x02\x02\u2BED\u2BE8\x03\x02\x02" + "\x02\u2BED\u2BEE\x03\x02\x02\x02\u2BEE\u2BF7\x03\x02\x02\x02\u2BEF\u2BF0" + "\x07;\x02\x02\u2BF0\u2BF1\x05\u06C8\u0365\x02\u2BF1\u2BF2\x07\x04\x02" + "\x02\u2BF2\u2BF3\x05\u0624\u0313\x02\u2BF3\u2BF4\x07\x05\x02\x02\u2BF4" + "\u2BF5\x07\t\x02\x02\u2BF5\u2BF7\x03\x02\x02\x02\u2BF6\u2BE6\x03\x02\x02" + "\x02\u2BF6\u2BEF\x03\x02\x02\x02\u2BF7\u0623\x03\x02\x02\x02\u2BF8\u2BFB" + "\x03\x02\x02\x02\u2BF9\u2BFB\x05\u0534\u029B\x02\u2BFA\u2BF8\x03\x02\x02" + "\x02\u2BFA\u2BF9\x03\x02\x02\x02\u2BFB\u0625\x03\x02\x02\x02\u2BFC\u2BFD" + "\x05\u0634\u031B\x02\u2BFD\u2BFE\x05\u061A\u030E\x02\u2BFE\u2BFF\x05\u06CC" + "\u0367\x02\u2BFF\u2C00\x07\t\x02\x02\u2C00\u0627\x03\x02\x02\x02\u2C01" + "\u2C02\x07\u01F5\x02\x02\u2C02\u2C03\x05\u062A\u0316\x02\u2C03\u2C04\x07" + "\u01F6\x02\x02\u2C04\u2C05\x05\u062C\u0317\x02\u2C05\u2C06\x07\t\x02\x02" + "\u2C06\u0629\x03\x02\x02\x02\u2C07\u2C0B\x03\x02\x02\x02\u2C08\u2C0B\x07" + "\u01B4\x02\x02\u2C09\u2C0B\x07\u01F7\x02\x02\u2C0A\u2C07\x03\x02\x02\x02" + "\u2C0A\u2C08\x03\x02\x02\x02\u2C0A\u2C09\x03\x02\x02\x02\u2C0B\u062B\x03" + "\x02\x02\x02\u2C0C\u2C11\x05\u062E\u0318\x02\u2C0D\u2C0E\x07\b\x02\x02" + "\u2C0E\u2C10\x05\u062E\u0318\x02\u2C0F\u2C0D\x03\x02\x02\x02\u2C10\u2C13" + "\x03\x02\x02\x02\u2C11\u2C0F\x03\x02\x02\x02\u2C11\u2C12\x03\x02\x02\x02" + "\u2C12\u062D\x03\x02\x02\x02\u2C13\u2C11\x03\x02\x02\x02\u2C14\u2C15\x05" + "\u0632\u031A\x02\u2C15\u2C16\x05\u061A\u030E\x02\u2C16\u2C17\x05\u0630" + "\u0319\x02\u2C17\u062F\x03\x02\x02\x02\u2C18\u2C19\x05\u05C6\u02E4\x02" + "\u2C19\u0631\x03\x02\x02\x02\u2C1A\u2C1B\x05\u0634\u031B\x02\u2C1B\u0633" + "\x03\x02\x02\x02\u2C1C\u2C1F\x05\u0230\u0119\x02\u2C1D\u2C1F\x07\x1E\x02" + "\x02\u2C1E\u2C1C\x03\x02\x02\x02\u2C1E\u2C1D\x03\x02\x02\x02\u2C1F\u2C26" + "\x03\x02\x02\x02\u2C20\u2C21\x07\x06\x02\x02\u2C21\u2C22\x05\u06D2\u036A" + "\x02\u2C22\u2C23\x07\x07\x02\x02\u2C23\u2C25\x03\x02\x02\x02\u2C24\u2C20" + "\x03\x02\x02\x02\u2C25\u2C28\x03\x02\x02\x02\u2C26\u2C24\x03\x02\x02\x02" + "\u2C26\u2C27\x03\x02\x02\x02\u2C27\u0635\x03\x02\x02\x02\u2C28\u2C26\x03" + "\x02\x02\x02\u2C29\u2C2A\x07\xDE\x02\x02\u2C2A\u2C2B\x05\u06CE\u0368\x02" + "\u2C2B\u2C2C\x07_\x02\x02\u2C2C\u2C2D\x05\u061C\u030F\x02\u2C2D\u2C2E" + "\x05\u0638\u031D\x02\u2C2E\u2C2F\x05\u063A\u031E\x02\u2C2F\u2C30\x07\u01C8" + "\x02\x02\u2C30\u2C31\x07\xDE\x02\x02\u2C31\u2C32\x07\t\x02\x02\u2C32\u0637" + "\x03\x02\x02\x02\u2C33\u2C34\x07\u01F8\x02\x02\u2C34\u2C35\x05\u04C0\u0261" + "\x02\u2C35\u2C36\x07_\x02\x02\u2C36\u2C37\x05\u061C\u030F\x02\u2C37\u2C39" + "\x03\x02\x02\x02\u2C38\u2C33\x03\x02\x02\x02\u2C39\u2C3C\x03\x02\x02\x02" + "\u2C3A\u2C38\x03\x02\x02\x02\u2C3A\u2C3B\x03\x02\x02\x02\u2C3B\u0639\x03" + "\x02\x02\x02\u2C3C\u2C3A\x03\x02\x02\x02\u2C3D\u2C41\x03\x02\x02\x02\u2C3E" + "\u2C3F\x07<\x02\x02\u2C3F\u2C41\x05\u061C\u030F\x02\u2C40\u2C3D\x03\x02" + "\x02\x02\u2C40\u2C3E\x03\x02\x02\x02\u2C41\u063B\x03\x02\x02\x02\u2C42" + "\u2C43\x07*\x02\x02\u2C43\u2C44\x05\u063E\u0320\x02\u2C44\u2C45\x05\u0640" + "\u0321\x02\u2C45\u2C46\x05\u0644\u0323\x02\u2C46\u2C47\x07\u01C8\x02\x02" + "\u2C47\u2C48\x07*\x02\x02\u2C48\u2C49\x07\t\x02\x02\u2C49\u063D\x03\x02" + "\x02\x02\u2C4A\u2C4D\x03\x02\x02\x02\u2C4B\u2C4D\x05\u06CC\u0367\x02\u2C4C" + "\u2C4A\x03\x02\x02\x02\u2C4C\u2C4B\x03\x02\x02\x02\u2C4D\u063F\x03\x02" + "\x02\x02\u2C4E\u2C50\x05\u0642\u0322\x02\u2C4F\u2C4E\x03\x02\x02\x02\u2C50" + "\u2C51\x03\x02\x02\x02\u2C51\u2C4F\x03\x02\x02\x02\u2C51\u2C52\x03\x02" + "\x02\x02\u2C52\u0641\x03\x02\x02\x02\u2C53\u2C54\x07h\x02\x02\u2C54\u2C55" + "\x05\u0534\u029B\x02\u2C55\u2C56\x07_\x02\x02\u2C56\u2C57\x05\u061C\u030F" + "\x02\u2C57\u0643\x03\x02\x02\x02\u2C58\u2C5C\x03\x02\x02\x02\u2C59\u2C5A" + "\x07<\x02\x02\u2C5A\u2C5C\x05\u061C\u030F\x02\u2C5B\u2C58\x03\x02\x02" + "\x02\u2C5B\u2C59\x03\x02\x02\x02\u2C5C\u0645\x03\x02\x02\x02\u2C5D\u2C5E" + "\x05\u06C2\u0362\x02\u2C5E\u2C5F\x05\u0674\u033B\x02\u2C5F\u0647\x03\x02" + "\x02\x02\u2C60\u2C61\x05\u06C2\u0362\x02\u2C61\u2C62\x07\u01F9\x02\x02" + "\u2C62\u2C63\x05\u06D4\u036B\x02\u2C63\u2C64\x05\u0674\u033B\x02\u2C64" + "\u0649\x03\x02\x02\x02\u2C65\u2C66\x05\u06C2\u0362\x02\u2C66\u2C67\x07" + "@\x02\x02\u2C67\u2C68\x05\u064C\u0327\x02\u2C68\u2C69\x05\u0674\u033B" + "\x02\u2C69\u064B\x03\x02\x02\x02\u2C6A\u2C6B\x05\u0656\u032C\x02\u2C6B" + "\u2C7B\x07F\x02\x02\u2C6C\u2C6D\x05\u03E6\u01F4\x02\u2C6D\u2C6E\x05\u0650" + "\u0329\x02\u2C6E\u2C7C\x03\x02\x02\x02\u2C6F\u2C7C\x05\u03EC\u01F7\x02" + "\u2C70\u2C7C\x05\u03A2\u01D2\x02\u2C71\u2C72\x07\xCC\x02\x02\u2C72\u2C73" + "\x05\u04C0\u0261\x02\u2C73\u2C74\x05\u064E\u0328\x02\u2C74\u2C7C\x03\x02" + "\x02\x02\u2C75\u2C76\x05\u0652\u032A\x02\u2C76\u2C77\x05\u04C0\u0261\x02" + "\u2C77\u2C78\x07\x1A\x02\x02\u2C78\u2C79\x05\u04C0\u0261\x02\u2C79\u2C7A" + "\x05\u0654\u032B\x02\u2C7A\u2C7C\x03\x02\x02\x02\u2C7B\u2C6C\x03\x02\x02" + "\x02\u2C7B\u2C6F\x03\x02\x02\x02\u2C7B\u2C70\x03\x02\x02\x02\u2C7B\u2C71" + "\x03\x02\x02\x02\u2C7B\u2C75\x03\x02\x02\x02\u2C7C\u064D\x03\x02\x02\x02" + "\u2C7D\u2C81\x03\x02\x02\x02\u2C7E\u2C7F\x07f\x02\x02\u2C7F\u2C81\x05" + "\u0534\u029B\x02\u2C80\u2C7D\x03\x02\x02\x02\u2C80\u2C7E\x03\x02\x02\x02" + "\u2C81\u064F\x03\x02\x02\x02\u2C82\u2C8F\x03\x02\x02\x02\u2C83\u2C84\x07" + "\x04\x02\x02\u2C84\u2C89\x05\u04C0\u0261\x02\u2C85\u2C86\x07\b\x02\x02" + "\u2C86\u2C88\x05\u04C0\u0261\x02\u2C87\u2C85\x03\x02\x02\x02\u2C88\u2C8B" + "\x03\x02\x02\x02\u2C89\u2C87\x03\x02\x02\x02\u2C89\u2C8A\x03\x02\x02\x02" + "\u2C8A\u2C8C\x03\x02\x02\x02\u2C8B\u2C89\x03\x02\x02\x02\u2C8C\u2C8D\x07" + "\x05\x02\x02\u2C8D\u2C8F\x03\x02\x02\x02\u2C8E\u2C82\x03\x02\x02\x02\u2C8E" + "\u2C83\x03\x02\x02\x02\u2C8F\u0651\x03\x02\x02\x02\u2C90\u2C93\x03\x02" + "\x02\x02\u2C91\u2C93\x07\u01FA\x02\x02\u2C92\u2C90\x03\x02\x02\x02\u2C92" + "\u2C91\x03\x02\x02\x02\u2C93\u0653\x03\x02\x02\x02\u2C94\u2C98\x03\x02" + "\x02\x02\u2C95\u2C96\x07\x95\x02\x02\u2C96\u2C98\x05\u04C0\u0261\x02\u2C97" + "\u2C94\x03\x02\x02\x02\u2C97\u2C95\x03\x02\x02\x02\u2C98\u0655\x03\x02" + "\x02\x02\u2C99\u2C9A\x05\u0228\u0115\x02\u2C9A\u0657\x03\x02\x02\x02\u2C9B" + "\u2C9C\x05\u06C2\u0362\x02\u2C9C\u2C9D\x07\u01FB\x02\x02\u2C9D\u2C9E\x05" + "\u0656\u032C\x02\u2C9E\u2C9F\x05\u065A\u032E\x02\u2C9F\u2CA0\x07F\x02" + "\x02\u2CA0\u2CA1\x07%\x02\x02\u2CA1\u2CA2\x05\u04C0\u0261\x02\u2CA2\u2CA3" + "\x05\u0674\u033B\x02\u2CA3\u0659\x03\x02\x02\x02\u2CA4\u2CA8\x03\x02\x02" + "\x02\u2CA5\u2CA6\x07\u01FC\x02\x02\u2CA6\u2CA8\x05\u05B4\u02DB\x02\u2CA7" + "\u2CA4\x03\x02\x02\x02\u2CA7\u2CA5\x03\x02\x02\x02\u2CA8\u065B\x03\x02" + "\x02\x02\u2CA9\u2CAA\x05\u065E\u0330\x02\u2CAA\u2CAC\x05\u06C4\u0363\x02" + "\u2CAB\u2CAD\x05\u06C6\u0364\x02\u2CAC\u2CAB\x03\x02\x02\x02\u2CAC\u2CAD" + "\x03\x02\x02\x02\u2CAD\u2CAE\x03\x02\x02\x02\u2CAE\u2CAF\x07\t\x02\x02" + "\u2CAF\u065D\x03\x02\x02\x02\u2CB0\u2CB1\tO\x02\x02\u2CB1\u065F\x03\x02" + "\x02\x02\u2CB2\u2CBE\x07\u01FE\x02\x02\u2CB3\u2CB4\x07\u010E\x02\x02\u2CB4" + "\u2CBF\x05\u06CC\u0367\x02\u2CB5\u2CBB\x07\u01FF\x02\x02\u2CB6\u2CB7\x07" + "\xCC\x02\x02\u2CB7\u2CB8\x05\u04C0\u0261\x02\u2CB8\u2CB9\x05\u064E\u0328" + "\x02\u2CB9\u2CBC\x03\x02\x02\x02\u2CBA\u2CBC\x05\u03EC\u01F7\x02\u2CBB" + "\u2CB6\x03\x02\x02\x02\u2CBB\u2CBA\x03\x02\x02\x02\u2CBC\u2CBF\x03\x02" + "\x02\x02\u2CBD\u2CBF\x05\u0662\u0332\x02\u2CBE\u2CB3\x03\x02\x02\x02\u2CBE" + "\u2CB5\x03\x02\x02\x02\u2CBE\u2CBD\x03\x02\x02\x02\u2CBF\u2CC0\x03\x02" + "\x02\x02\u2CC0\u2CC1\x07\t\x02\x02\u2CC1\u0661\x03\x02\x02\x02\u2CC2\u2CC5" + "\x03\x02\x02\x02\u2CC3\u2CC5\x05\u06CC\u0367\x02\u2CC4\u2CC2\x03\x02\x02" + "\x02\u2CC4\u2CC3\x03\x02\x02\x02\u2CC5\u0663\x03\x02\x02\x02\u2CC6\u2CC8" + "\x07\u0200\x02\x02\u2CC7\u2CC9\x05\u0666\u0334\x02\u2CC8\u2CC7\x03\x02" + "\x02\x02\u2CC8\u2CC9\x03\x02\x02\x02\u2CC9\u2CCA\x03\x02\x02\x02\u2CCA" + "\u2CCB\x05\u05B6\u02DC\x02\u2CCB\u2CCC\x05\u0668\u0335\x02\u2CCC\u2CCD" + "\x05\u066A\u0336\x02\u2CCD\u2CCE\x07\t\x02\x02\u2CCE\u2CE9\x03\x02\x02" + "\x02\u2CCF\u2CD1\x07\u0200\x02\x02\u2CD0\u2CD2\x05\u0666\u0334\x02\u2CD1" + "\u2CD0\x03\x02\x02\x02\u2CD1\u2CD2\x03\x02\x02\x02\u2CD2\u2CD3\x03\x02" + "\x02\x02\u2CD3\u2CD4\x05\u05D8\u02ED\x02\u2CD4\u2CD5\x05\u066A\u0336\x02" + "\u2CD5\u2CD6\x07\t\x02\x02\u2CD6\u2CE9\x03\x02\x02\x02\u2CD7\u2CD9\x07" + "\u0200\x02\x02\u2CD8\u2CDA\x05\u0666\u0334\x02\u2CD9\u2CD8\x03\x02\x02" + "\x02\u2CD9\u2CDA\x03\x02\x02\x02\u2CDA\u2CDB\x03\x02\x02\x02\u2CDB\u2CDC" + "\x07\u0201\x02\x02\u2CDC\u2CDD\x05\u05B6\u02DC\x02\u2CDD\u2CDE\x05\u066A" + "\u0336\x02\u2CDE\u2CDF\x07\t\x02\x02\u2CDF\u2CE9\x03\x02\x02\x02\u2CE0" + "\u2CE2\x07\u0200\x02\x02\u2CE1\u2CE3\x05\u0666\u0334\x02\u2CE2\u2CE1\x03" + "\x02\x02\x02\u2CE2\u2CE3\x03\x02\x02\x02\u2CE3\u2CE4\x03\x02\x02\x02\u2CE4" + "\u2CE5\x05\u066A\u0336\x02\u2CE5\u2CE6\x07\t\x02\x02\u2CE6\u2CE9\x03\x02" + "\x02\x02\u2CE7\u2CE9\x07\u0200\x02\x02\u2CE8\u2CC6\x03\x02\x02\x02\u2CE8" + "\u2CCF\x03\x02\x02\x02\u2CE8\u2CD7\x03\x02\x02\x02\u2CE8\u2CE0\x03\x02" + "\x02\x02\u2CE8\u2CE7\x03\x02\x02\x02\u2CE9\u0665\x03\x02\x02\x02\u2CEA" + "\u2CEB\tP\x02\x02\u2CEB\u0667\x03\x02\x02\x02\u2CEC\u2CF4\x03\x02\x02" + "\x02\u2CED\u2CEE\x07\b\x02\x02\u2CEE\u2CF0\x05\u04C0\u0261\x02\u2CEF\u2CED" + "\x03\x02\x02\x02\u2CF0\u2CF1\x03\x02\x02\x02\u2CF1\u2CEF\x03\x02\x02\x02" + "\u2CF1\u2CF2\x03\x02\x02\x02\u2CF2\u2CF4\x03\x02\x02\x02\u2CF3\u2CEC\x03" + "\x02\x02\x02\u2CF3\u2CEF\x03\x02\x02\x02\u2CF4\u0669\x03\x02\x02\x02\u2CF5" + "\u2CF9\x03\x02\x02\x02\u2CF6\u2CF7\x07f\x02\x02\u2CF7\u2CF9\x05\u066E" + "\u0338\x02\u2CF8\u2CF5\x03\x02\x02\x02\u2CF8\u2CF6\x03\x02\x02\x02\u2CF9" + "\u066B\x03\x02\x02\x02\u2CFA\u2CFB\x05\u05D8\u02ED\x02\u2CFB\u2CFC\x07" + "\f\x02\x02\u2CFC\u2CFD\x05\u04C0\u0261\x02\u2CFD\u066D\x03\x02\x02\x02" + "\u2CFE\u2D03\x05\u066C\u0337\x02\u2CFF\u2D00\x07\b\x02\x02\u2D00\u2D02" + "\x05\u066C\u0337\x02\u2D01\u2CFF\x03\x02\x02\x02\u2D02\u2D05\x03\x02\x02" + "\x02\u2D03\u2D01\x03\x02\x02\x02\u2D03\u2D04\x03\x02\x02\x02\u2D04\u066F" + "\x03\x02\x02\x02\u2D05\u2D03\x03\x02\x02\x02\u2D06\u2D07\x07\u0208\x02" + "\x02\u2D07\u2D08\x05\u06CC\u0367\x02\u2D08\u2D09\x05\u0672\u033A\x02\u2D09" + "\u2D0A\x07\t\x02\x02\u2D0A\u0671\x03\x02\x02\x02\u2D0B\u2D0F\x03\x02\x02" + "\x02\u2D0C\u2D0D\x07\b\x02\x02\u2D0D\u2D0F\x05\u06CC\u0367\x02\u2D0E\u2D0B" + "\x03\x02\x02\x02\u2D0E\u2D0C\x03\x02\x02\x02\u2D0F\u0673\x03\x02\x02\x02" + "\u2D10\u2D11\x07\u0209\x02\x02\u2D11\u2D12\x05\u061C\u030F\x02\u2D12\u2D13" + "\x07\u01C8\x02\x02\u2D13\u2D14\x07\u0209\x02\x02\u2D14\u2D15\x05\u06C4" + "\u0363\x02\u2D15\u2D16\x07\t\x02\x02\u2D16\u0675\x03\x02\x02\x02\u2D17" + "\u2D18\x05\u06D6\u036C\x02\u2D18\u2D19\x07\t\x02\x02\u2D19\u0677\x03\x02" + "\x02\x02\u2D1A\u2D1B\x07\xCC\x02\x02\u2D1B\u2D23\x05\u04C0\u0261\x02\u2D1C" + "\u2D1D\x05\u067E\u0340\x02\u2D1D\u2D1E\x05\u067A\u033E\x02\u2D1E\u2D24" + "\x03\x02\x02\x02\u2D1F\u2D20\x05\u067A\u033E\x02\u2D20\u2D21\x05\u067E" + "\u0340\x02\u2D21\u2D24\x03\x02\x02\x02\u2D22\u2D24\x03\x02\x02\x02\u2D23" + "\u2D1C\x03\x02\x02\x02\u2D23\u2D1F\x03\x02\x02\x02\u2D23\u2D22\x03\x02" + "\x02\x02\u2D24\u2D25\x03\x02\x02\x02\u2D25\u2D26\x07\t\x02\x02\u2D26\u0679" + "\x03\x02\x02\x02\u2D27\u2D2B\x03\x02\x02\x02\u2D28\u2D29\x07f\x02\x02" + "\u2D29\u2D2B\x05\u067C\u033F\x02\u2D2A\u2D27\x03\x02\x02\x02\u2D2A\u2D28" + "\x03\x02\x02\x02\u2D2B\u067B\x03\x02\x02\x02\u2D2C\u2D31\x05\u04C0\u0261" + "\x02\u2D2D\u2D2E\x07\b\x02\x02\u2D2E\u2D30\x05\u04C0\u0261\x02\u2D2F\u2D2D" + "\x03\x02\x02\x02\u2D30\u2D33\x03\x02\x02\x02\u2D31\u2D2F\x03\x02\x02\x02" + "\u2D31\u2D32\x03\x02\x02\x02\u2D32\u067D\x03\x02\x02\x02\u2D33\u2D31\x03" + "\x02\x02\x02\u2D34\u2D3B\x03\x02\x02\x02\u2D35\u2D37\x07I\x02\x02\u2D36" + "\u2D38\x07\u015C\x02\x02\u2D37\u2D36\x03\x02\x02\x02\u2D37\u2D38\x03\x02" + "\x02\x02\u2D38\u2D39\x03\x02\x02\x02\u2D39\u2D3B\x05\u068E\u0348\x02\u2D3A" + "\u2D34\x03\x02\x02\x02\u2D3A\u2D35\x03\x02\x02\x02\u2D3B\u067F\x03\x02" + "\x02\x02\u2D3C\u2D4E\x07\u020A\x02\x02\u2D3D\u2D3E\x05\u06B4\u035B\x02" + "\u2D3E\u2D3F\x05\u0688\u0345\x02\u2D3F\u2D45\x07@\x02\x02\u2D40\u2D46" + "\x05\u03EC\u01F7\x02\u2D41\u2D42\x07\xCC\x02\x02\u2D42\u2D43\x05\u06CC" + "\u0367\x02\u2D43\u2D44\x05\u0686\u0344\x02\u2D44\u2D46\x03\x02\x02\x02" + "\u2D45\u2D40\x03\x02\x02\x02\u2D45\u2D41\x03\x02\x02\x02\u2D46\u2D4F\x03" + "\x02\x02\x02\u2D47\u2D4C\x05\u05C6\u02E4\x02\u2D48\u2D49\x07\x04\x02\x02" + "\u2D49\u2D4A\x05\u0684\u0343\x02\u2D4A\u2D4B\x07\x05\x02\x02\u2D4B\u2D4D" + "\x03\x02\x02\x02\u2D4C\u2D48\x03\x02\x02\x02\u2D4C\u2D4D\x03\x02\x02\x02" + "\u2D4D\u2D4F\x03\x02\x02\x02\u2D4E\u2D3D\x03\x02\x02\x02\u2D4E\u2D47\x03" + "\x02\x02\x02\u2D4F\u2D50\x03\x02\x02\x02\u2D50\u2D51\x07\t\x02\x02\u2D51" + "\u0681\x03\x02\x02\x02\u2D52\u2D53\x05\u05C6\u02E4\x02\u2D53\u2D54\x07" + "\x16\x02\x02\u2D54\u2D55\x05\u04C0\u0261\x02\u2D55\u2D58\x03\x02\x02\x02" + "\u2D56\u2D58\x05\u04C0\u0261\x02\u2D57\u2D52\x03\x02\x02"; private static readonly _serializedATNSegment21: string = "\x02\u2D57\u2D56\x03\x02\x02\x02\u2D58\u0683\x03\x02\x02\x02\u2D59\u2D5E" + "\x05\u0682\u0342\x02\u2D5A\u2D5B\x07\b\x02\x02\u2D5B\u2D5D\x05\u0682\u0342" + "\x02\u2D5C\u2D5A\x03\x02\x02\x02\u2D5D\u2D60\x03\x02\x02\x02\u2D5E\u2D5C" + "\x03\x02\x02\x02\u2D5E\u2D5F\x03\x02\x02\x02\u2D5F\u0685\x03\x02\x02\x02" + "\u2D60\u2D5E\x03\x02\x02\x02\u2D61\u2D65\x03\x02\x02\x02\u2D62\u2D63\x07" + "f\x02\x02\u2D63\u2D65\x05\u0534\u029B\x02\u2D64\u2D61\x03\x02\x02\x02" + "\u2D64\u2D62\x03\x02\x02\x02\u2D65\u0687\x03\x02\x02\x02\u2D66\u2D6B\x03" + "\x02\x02\x02\u2D67\u2D68\x05\u068A\u0346\x02\u2D68\u2D69\x07\u0146\x02" + "\x02\u2D69\u2D6B\x03\x02\x02\x02\u2D6A\u2D66\x03\x02\x02\x02\u2D6A\u2D67" + "\x03\x02\x02\x02\u2D6B\u0689\x03\x02\x02\x02\u2D6C\u2D6F\x03\x02\x02\x02" + "\u2D6D\u2D6F\x07\u010F\x02\x02\u2D6E\u2D6C\x03\x02\x02\x02\u2D6E\u2D6D" + "\x03\x02\x02\x02\u2D6F\u068B\x03\x02\x02\x02\u2D70\u2D72\x07?\x02\x02" + "\u2D71\u2D73\x05\u0692\u034A\x02\u2D72\u2D71\x03\x02\x02\x02\u2D72\u2D73" + "\x03\x02\x02\x02\u2D73\u2D74\x03\x02\x02\x02\u2D74\u2D75\x05\u0690\u0349" + "\x02\u2D75\u2D76\x05\u06B4\u035B\x02\u2D76\u2D77\x07I\x02\x02\u2D77\u2D78" + "\x05\u068E\u0348\x02\u2D78\u2D79\x07\t\x02\x02\u2D79\u068D\x03\x02\x02" + "\x02\u2D7A\u2D7B\x05\u0534\u029B\x02\u2D7B\u068F\x03\x02\x02\x02\u2D7C" + "\u2D80\x03\x02\x02\x02\u2D7D\u2D80\x07B\x02\x02\u2D7E\u2D80\x07F\x02\x02" + "\u2D7F\u2D7C\x03\x02\x02\x02\u2D7F\u2D7D\x03\x02\x02\x02\u2D7F\u2D7E\x03" + "\x02\x02\x02\u2D80\u0691\x03\x02\x02\x02\u2D81\u2D91\x07\u010E\x02\x02" + "\u2D82\u2D91\x07\u0127\x02\x02\u2D83\u2D91\x07\xD1\x02\x02\u2D84\u2D91" + "\x07\xFB\x02\x02\u2D85\u2D86\x07\x84\x02\x02\u2D86\u2D91\x05\u04C0\u0261" + "\x02\u2D87\u2D88\x07\u0135\x02\x02\u2D88\u2D91\x05\u04C0\u0261\x02\u2D89" + "\u2D91\x05\u04C0\u0261\x02\u2D8A\u2D91\x07 \x02\x02\u2D8B\u2D8E\tQ\x02" + "\x02\u2D8C\u2D8F\x05\u04C0\u0261\x02\u2D8D\u2D8F\x07 \x02\x02\u2D8E\u2D8C" + "\x03\x02\x02\x02\u2D8E\u2D8D\x03\x02\x02\x02\u2D8E\u2D8F\x03\x02\x02\x02" + "\u2D8F\u2D91\x03\x02\x02\x02\u2D90\u2D81\x03\x02\x02\x02\u2D90\u2D82\x03" + "\x02\x02\x02\u2D90\u2D83\x03\x02\x02\x02\u2D90\u2D84\x03\x02\x02\x02\u2D90" + "\u2D85\x03\x02\x02\x02\u2D90\u2D87\x03\x02\x02\x02\u2D90\u2D89\x03\x02" + "\x02\x02\u2D90\u2D8A\x03\x02\x02\x02\u2D90\u2D8B\x03\x02\x02\x02\u2D91" + "\u0693\x03\x02\x02\x02\u2D92\u2D94\x07\u010B\x02\x02\u2D93\u2D95\x05\u0692" + "\u034A\x02\u2D94\u2D93\x03\x02\x02\x02\u2D94\u2D95\x03\x02\x02\x02\u2D95" + "\u2D96\x03\x02\x02\x02\u2D96\u2D97\x05\u06B4\u035B\x02\u2D97\u2D98\x07" + "\t\x02\x02\u2D98\u0695\x03\x02\x02\x02\u2D99\u2D9B\x05\u03FA\u01FE\x02" + "\u2D9A\u2D99\x03\x02\x02\x02\u2D9A\u2D9B\x03\x02\x02\x02\u2D9B\u2D9C\x03" + "\x02\x02\x02\u2D9C\u2D9D\x07\u020F\x02\x02\u2D9D\u2D9F\x07I\x02\x02\u2D9E" + "\u2DA0\x07S\x02\x02\u2D9F\u2D9E\x03\x02\x02\x02\u2D9F\u2DA0\x03\x02\x02" + "\x02\u2DA0\u2DA1\x03\x02\x02\x02\u2DA1\u2DA3\x05\u0582\u02C2\x02\u2DA2" + "\u2DA4\x07\v\x02\x02\u2DA3\u2DA2\x03\x02\x02\x02\u2DA3\u2DA4\x03\x02\x02" + "\x02\u2DA4\u2DA9\x03\x02\x02\x02\u2DA5\u2DA7\x07&\x02\x02\u2DA6\u2DA5" + "\x03\x02\x02\x02\u2DA6\u2DA7\x03\x02\x02\x02\u2DA7\u2DA8\x03\x02\x02\x02" + "\u2DA8\u2DAA\x05\u05C6\u02E4\x02\u2DA9\u2DA6\x03\x02\x02\x02\u2DA9\u2DAA" + "\x03\x02\x02\x02\u2DAA\u2DAB\x03\x02\x02\x02\u2DAB\u2DAC\x07f\x02\x02" + "\u2DAC\u2DAD\x05\u0698\u034D\x02\u2DAD\u2DAE\x07R\x02\x02\u2DAE\u2DB0" + "\x05\u069A\u034E\x02\u2DAF\u2DB1\x05\u069C\u034F\x02\u2DB0\u2DAF\x03\x02" + "\x02\x02\u2DB1\u2DB2\x03\x02\x02\x02\u2DB2\u2DB0\x03\x02\x02\x02\u2DB2" + "\u2DB3\x03\x02\x02\x02\u2DB3\u0697\x03\x02\x02\x02\u2DB4\u2DB6\x07S\x02" + "\x02\u2DB5\u2DB4\x03\x02\x02\x02\u2DB5\u2DB6\x03\x02\x02\x02\u2DB6\u2DB7" + "\x03\x02\x02\x02\u2DB7\u2DB9\x05\u0582\u02C2\x02\u2DB8\u2DBA\x07\v\x02" + "\x02\u2DB9\u2DB8\x03\x02\x02\x02\u2DB9\u2DBA\x03\x02\x02\x02\u2DBA\u2DC0" + "\x03\x02\x02\x02\u2DBB\u2DBE\x05\u03F0\u01F9\x02\u2DBC\u2DBE\x05\u0450" + "\u0229\x02\u2DBD\u2DBB\x03\x02\x02\x02\u2DBD\u2DBC\x03\x02\x02\x02\u2DBE" + "\u2DC0\x03\x02\x02\x02\u2DBF\u2DB5\x03\x02\x02\x02\u2DBF\u2DBD\x03\x02" + "\x02\x02\u2DC0\u2DC5\x03\x02\x02\x02\u2DC1\u2DC3\x07&\x02\x02\u2DC2\u2DC1" + "\x03\x02\x02\x02\u2DC2\u2DC3\x03\x02\x02\x02\u2DC3\u2DC4\x03\x02\x02\x02" + "\u2DC4\u2DC6\x05\u05C6\u02E4\x02\u2DC5\u2DC2\x03\x02\x02\x02\u2DC5\u2DC6" + "\x03\x02\x02\x02\u2DC6\u0699\x03\x02\x02\x02\u2DC7\u2DC8\x05\u04C0\u0261" + "\x02\u2DC8\u069B\x03\x02\x02\x02\u2DC9\u2DCA\x07h\x02\x02\u2DCA\u2DCD" + "\x07\u0210\x02\x02\u2DCB\u2DCC\x07#\x02\x02\u2DCC\u2DCE\x05\u04C0\u0261" + "\x02\u2DCD\u2DCB\x03\x02\x02\x02\u2DCD\u2DCE\x03\x02\x02\x02\u2DCE\u2DCF" + "\x03\x02\x02\x02\u2DCF\u2DD4\x07_\x02\x02\u2DD0\u2DD5\x05\u06A0\u0351" + "\x02\u2DD1\u2DD5\x07\xB8\x02\x02\u2DD2\u2DD3\x07;\x02\x02\u2DD3\u2DD5" + "\x07\u0110\x02\x02\u2DD4\u2DD0\x03\x02\x02\x02\u2DD4\u2DD1\x03\x02\x02" + "\x02\u2DD4\u2DD2\x03\x02\x02\x02\u2DD5\u2DE4\x03\x02\x02\x02\u2DD6\u2DD7" + "\x07h\x02\x02\u2DD7\u2DD8\x07O\x02\x02\u2DD8\u2DDB\x07\u0210\x02\x02\u2DD9" + "\u2DDA\x07#\x02\x02\u2DDA\u2DDC\x05\u04C0\u0261\x02\u2DDB\u2DD9\x03\x02" + "\x02\x02\u2DDB\u2DDC\x03\x02\x02\x02\u2DDC\u2DDD\x03\x02\x02\x02\u2DDD" + "\u2DE1\x07_\x02\x02\u2DDE\u2DE2\x05\u069E\u0350\x02\u2DDF\u2DE0\x07;\x02" + "\x02\u2DE0\u2DE2\x07\u0110\x02\x02\u2DE1\u2DDE\x03\x02\x02\x02\u2DE1\u2DDF" + "\x03\x02\x02\x02\u2DE2\u2DE4\x03\x02\x02\x02\u2DE3\u2DC9\x03\x02\x02\x02" + "\u2DE3\u2DD6\x03\x02\x02\x02\u2DE4\u069D\x03\x02\x02\x02\u2DE5\u2DEA\x07" + "\xF3\x02\x02\u2DE6\u2DE7\x07\x04\x02\x02\u2DE7\u2DE8\x05\xF6|\x02\u2DE8" + "\u2DE9\x07\x05\x02\x02\u2DE9\u2DEB\x03\x02\x02\x02\u2DEA\u2DE6\x03\x02" + "\x02\x02\u2DEA\u2DEB\x03\x02\x02\x02\u2DEB\u2DEF\x03\x02\x02\x02\u2DEC" + "\u2DED\x07\u01D1\x02\x02\u2DED\u2DEE\t1\x02\x02\u2DEE\u2DF0\x07\u01C4" + "\x02\x02\u2DEF\u2DEC\x03\x02\x02\x02\u2DEF\u2DF0\x03\x02\x02\x02\u2DF0" + "\u2DF1\x03\x02\x02\x02\u2DF1\u2DF2\x05\u06A2\u0352\x02\u2DF2\u069F\x03" + "\x02\x02\x02\u2DF3\u2DF4\x07\u0173\x02\x02\u2DF4\u2E01\x07\u014F\x02\x02" + "\u2DF5\u2DF6\x05\u059C\u02CF\x02\u2DF6\u2DF7\x07\f\x02\x02\u2DF7\u2DF8" + "\x05\u06A6\u0354\x02\u2DF8\u2E02\x03\x02\x02\x02\u2DF9\u2DFA\x07\x04\x02" + "\x02\u2DFA\u2DFB\x05\xF6|\x02\u2DFB\u2DFC\x07\x05\x02\x02\u2DFC\u2DFD" + "\x07\f\x02\x02\u2DFD\u2DFE\x07\x04\x02\x02\u2DFE\u2DFF\x05\u06A4\u0353" + "\x02\u2DFF\u2E00\x07\x05\x02\x02\u2E00\u2E02\x03\x02\x02\x02\u2E01\u2DF5" + "\x03\x02\x02\x02\u2E01\u2DF9\x03\x02\x02\x02\u2E02\u2E03\x03\x02\x02\x02" + "\u2E03\u2E01\x03\x02\x02\x02\u2E03\u2E04\x03\x02\x02\x02\u2E04\u06A1\x03" + "\x02\x02\x02\u2E05\u2E06\x07\u01A8\x02\x02\u2E06\u2E0A\x05\u06A4\u0353" + "\x02\u2E07\u2E08\x077\x02\x02\u2E08\u2E0A\x07\u01A8\x02\x02\u2E09\u2E05" + "\x03\x02\x02\x02\u2E09\u2E07\x03\x02\x02\x02\u2E0A\u06A3\x03\x02\x02\x02" + "\u2E0B\u2E0C\x07\x04\x02\x02\u2E0C\u2E11\x05\u06A6\u0354\x02\u2E0D\u2E0E" + "\x07\b\x02\x02\u2E0E\u2E10\x05\u06A6\u0354\x02\u2E0F\u2E0D\x03\x02\x02" + "\x02\u2E10\u2E13\x03\x02\x02\x02\u2E11\u2E0F\x03\x02\x02\x02\u2E11\u2E12" + "\x03\x02\x02\x02\u2E12\u2E14\x03\x02\x02\x02\u2E13\u2E11\x03\x02\x02\x02" + "\u2E14\u2E15\x07\x05\x02\x02\u2E15\u06A5\x03\x02\x02\x02\u2E16\u2E19\x05" + "\u041C\u020F\x02\u2E17\u2E19\x077\x02\x02\u2E18\u2E16\x03\x02\x02\x02" + "\u2E18\u2E17\x03\x02\x02\x02\u2E19\u06A7\x03\x02\x02\x02\u2E1A\u2E1B\x07" + "\x9F\x02\x02\u2E1B\u2E1C\x05\u06B4\u035B\x02\u2E1C\u2E1D\x07\t\x02\x02" + "\u2E1D\u06A9\x03\x02\x02\x02\u2E1E\u2E1F\x07P\x02\x02\u2E1F\u2E20\x07" + "\t\x02\x02\u2E20\u06AB\x03\x02\x02\x02\u2E21\u2E23\x07\xA3\x02\x02\u2E22" + "\u2E24\x05\u06B0\u0359\x02\u2E23\u2E22\x03\x02\x02\x02\u2E23\u2E24\x03" + "\x02\x02\x02\u2E24\u2E25\x03\x02\x02\x02\u2E25\u2E26\x07\t\x02\x02\u2E26" + "\u06AD\x03\x02\x02\x02\u2E27\u2E29\x07\u0141\x02\x02\u2E28\u2E2A\x05\u06B0" + "\u0359\x02\u2E29\u2E28\x03\x02\x02\x02\u2E29\u2E2A\x03\x02\x02\x02\u2E2A" + "\u2E2B\x03\x02\x02\x02\u2E2B\u2E2C\x07\t\x02\x02\u2E2C\u06AF\x03\x02\x02" + "\x02\u2E2D\u2E2F\x07#\x02\x02\u2E2E\u2E30\x07\u010F\x02\x02\u2E2F\u2E2E" + "\x03\x02\x02\x02\u2E2F\u2E30\x03\x02\x02\x02\u2E30\u2E31\x03\x02\x02\x02" + "\u2E31\u2E32\x07\x9B\x02\x02\u2E32\u06B1\x03\x02\x02\x02\u2E33\u2E34\x07" + "\u014F\x02\x02\u2E34\u2E35\x05\u0230\u0119\x02\u2E35\u2E36\x07`\x02\x02" + "\u2E36\u2E37\x077\x02\x02\u2E37\u2E38\x07\t\x02\x02\u2E38\u2E40\x03\x02" + "\x02\x02\u2E39\u2E3C\x07\u013B\x02\x02\u2E3A\u2E3D\x05\u0230\u0119\x02" + "\u2E3B\u2E3D\x07 \x02\x02\u2E3C\u2E3A\x03\x02\x02\x02\u2E3C\u2E3B\x03" + "\x02\x02\x02\u2E3D\u2E3E\x03\x02\x02\x02\u2E3E\u2E40\x07\t\x02\x02\u2E3F" + "\u2E33\x03\x02\x02\x02\u2E3F\u2E39\x03\x02\x02\x02\u2E40\u06B3\x03\x02" + "\x02\x02\u2E41\u2E44\x05\u05C6\u02E4\x02\u2E42\u2E44\x07\x1E\x02\x02\u2E43" + "\u2E41\x03\x02\x02\x02\u2E43\u2E42\x03\x02\x02\x02\u2E44\u06B5\x03\x02" + "\x02\x02\u2E45\u2E49\x03\x02\x02\x02\u2E46\u2E47\x07\u0207\x02\x02\u2E47" + "\u2E49\x05\u06B8\u035D\x02\u2E48\u2E45\x03\x02\x02\x02\u2E48\u2E46\x03" + "\x02\x02\x02\u2E49\u06B7\x03\x02\x02\x02\u2E4A\u2E4C\x05\u06BA\u035E\x02" + "\u2E4B\u2E4A\x03\x02\x02\x02\u2E4C\u2E4D\x03\x02\x02\x02\u2E4D\u2E4B\x03" + "\x02\x02\x02\u2E4D\u2E4E\x03\x02\x02\x02\u2E4E\u06B9\x03\x02\x02\x02\u2E4F" + "\u2E50\x07h\x02\x02\u2E50\u2E51\x05\u06BC\u035F\x02\u2E51\u2E52\x07_\x02" + "\x02\u2E52\u2E53\x05\u061C\u030F\x02\u2E53\u06BB\x03\x02\x02\x02\u2E54" + "\u2E59\x05\u06BE\u0360\x02\u2E55\u2E56\x07T\x02\x02\u2E56\u2E58\x05\u06BE" + "\u0360\x02\u2E57\u2E55\x03\x02\x02\x02\u2E58\u2E5B\x03\x02\x02\x02\u2E59" + "\u2E57\x03\x02\x02\x02\u2E59\u2E5A\x03\x02\x02\x02\u2E5A\u06BD\x03\x02" + "\x02\x02\u2E5B\u2E59\x03\x02\x02\x02\u2E5C\u2E60\x05\u06C8\u0365\x02\u2E5D" + "\u2E5E\x07\u0201\x02\x02\u2E5E\u2E60\x05\u05B6\u02DC\x02\u2E5F\u2E5C\x03" + "\x02\x02\x02\u2E5F\u2E5D\x03\x02\x02\x02\u2E60\u06BF\x03\x02\x02\x02\u2E61" + "\u2E64\x03\x02\x02\x02\u2E62\u2E64\x05\u05F8\u02FD\x02\u2E63\u2E61\x03" + "\x02\x02\x02\u2E63\u2E62\x03\x02\x02\x02\u2E64\u06C1\x03\x02\x02\x02\u2E65" + "\u2E68\x03\x02\x02\x02\u2E66\u2E68\x05\u05F8\u02FD\x02\u2E67\u2E65\x03" + "\x02\x02\x02\u2E67\u2E66\x03\x02\x02\x02\u2E68\u06C3\x03\x02\x02\x02\u2E69" + "\u2E6C\x03\x02\x02\x02\u2E6A\u2E6C\x05\u06C8\u0365\x02\u2E6B\u2E69\x03" + "\x02\x02\x02\u2E6B\u2E6A\x03\x02\x02\x02\u2E6C\u06C5\x03\x02\x02\x02\u2E6D" + "\u2E6E\x07h\x02\x02\u2E6E\u2E6F\x05\u06D0\u0369\x02\u2E6F\u06C7\x03\x02" + "\x02\x02\u2E70\u2E73\x05\u05C6\u02E4\x02\u2E71\u2E73\x05\u06CA\u0366\x02" + "\u2E72\u2E70\x03\x02\x02\x02\u2E72\u2E71\x03\x02\x02\x02\u2E73\u06C9\x03" + "\x02\x02\x02\u2E74\u2E75\tR\x02\x02\u2E75\u06CB\x03\x02\x02\x02\u2E76" + "\u2E78\x05\u056C\u02B7\x02\u2E77\u2E76\x03\x02\x02\x02\u2E77\u2E78\x03" + "\x02\x02\x02\u2E78\u2E7A\x03\x02\x02\x02\u2E79\u2E7B\x05\u0408\u0205\x02" + "\u2E7A\u2E79\x03\x02\x02\x02\u2E7A\u2E7B\x03\x02\x02\x02\u2E7B\u2E7D\x03" + "\x02\x02\x02\u2E7C\u2E7E\x05\u0452\u022A\x02\u2E7D\u2E7C\x03\x02\x02\x02" + "\u2E7D\u2E7E\x03\x02\x02\x02\u2E7E\u2E80\x03\x02\x02\x02\u2E7F\u2E81\x05" + "\u047C\u023F\x02\u2E80\u2E7F\x03\x02\x02\x02\u2E80\u2E81\x03\x02\x02\x02" + "\u2E81\u2E83\x03\x02\x02\x02\u2E82\u2E84\x05\u0434\u021B\x02\u2E83\u2E82" + "\x03\x02\x02\x02\u2E83\u2E84\x03\x02\x02\x02\u2E84\u2E86\x03\x02\x02\x02" + "\u2E85\u2E87\x05\u0442\u0222\x02\u2E86\u2E85\x03\x02\x02\x02\u2E86\u2E87" + "\x03\x02\x02\x02\u2E87\u2E89\x03\x02\x02\x02\u2E88\u2E8A\x05\u050C\u0287" + "\x02\u2E89\u2E88\x03\x02\x02\x02\u2E89\u2E8A\x03\x02\x02\x02\u2E8A\u06CD" + "\x03\x02\x02\x02\u2E8B\u2E8C\x05\u06CC\u0367\x02\u2E8C\u06CF\x03\x02\x02" + "\x02\u2E8D\u2E8E\x05\u06CC\u0367\x02\u2E8E\u06D1\x03\x02\x02\x02\u2E8F" + "\u2E90\x05\u04C0\u0261\x02\u2E90\u06D3\x03\x02\x02\x02\u2E91\u2E92\x05" + "\u04C0\u0261\x02\u2E92\u06D5\x03\x02\x02\x02\u2E93\u2E95\x05\b\x05\x02" + "\u2E94\u2E96\x05\u06D8\u036D\x02\u2E95\u2E94\x03\x02\x02\x02\u2E95\u2E96" + "\x03\x02\x02\x02\u2E96\u06D7\x03\x02\x02\x02\u2E97\u2E98\x07I\x02\x02" + "\u2E98\u2E99\x05\u040A\u0206\x02\u2E99\u2E9A\x05\u068E\u0348\x02\u2E9A" + "\u06D9\x03\x02\x02\x02\u0502\u06DD\u06E6\u075D\u0761\u076A\u0773\u0779" + "\u077F\u079F\u07AB\u07B1\u07B9\u07C1\u07C7\u07D0\u07D6\u07E2\u07E8\u07EE" + "\u07F5\u07F9\u07FE\u0802\u080F\u081A\u0820\u0830\u0833\u0838\u083E\u0843" + "\u084C\u0850\u085C\u0860\u0863\u0867\u0877\u0884\u088B\u0893\u0898\u089F" + "\u08A5\u08AB\u08B2\u08BD\u08C1\u08C5\u08C9\u08D6\u08DA\u08DF\u08E4\u08F0" + "\u08F9\u0905\u090A\u0915\u091B\u0920\u092A\u092F\u0936\u093B\u0940\u094B" + "\u0951\u0956\u095E\u0967\u0976\u097C\u0982\u0987\u098E\u099A\u09A2\u09AA" + "\u09BC\u09C4\u09C7\u09CC\u09D3\u09DC\u09E5\u09EB\u09EF\u09F8\u0A01\u0A09" + "\u0A11\u0A1A\u0A23\u0A27\u0A2E\u0A34\u0A38\u0A3B\u0A3F\u0A43\u0A47\u0A4C" + "\u0A4F\u0A53\u0A65\u0A69\u0AC8\u0ACF\u0ADF\u0AED\u0AF7\u0AF9\u0AFE\u0B02" + "\u0B05\u0B0B\u0B0D\u0B29\u0B33\u0B40\u0B47\u0B4C\u0B50\u0B56\u0B5B\u0B5E" + "\u0B60\u0B65\u0B69\u0B6D\u0B71\u0B75\u0B78\u0B7C\u0B84\u0B88\u0B8C\u0B95" + "\u0B9C\u0BA1\u0BA8\u0BAD\u0BB4\u0BB9\u0BCB\u0BD0\u0BDC\u0BE1\u0BEA\u0BF1" + "\u0BF8\u0BFC\u0C01\u0C05\u0C08\u0C0B\u0C0E\u0C11\u0C14\u0C19\u0C1C\u0C1F" + "\u0C22\u0C25\u0C28\u0C2E\u0C32\u0C35\u0C38\u0C3B\u0C3E\u0C40\u0C49\u0C58" + "\u0C60\u0C66\u0C6A\u0C6F\u0C72\u0C75\u0C79\u0C7D\u0C84\u0C87\u0C8A\u0C8E" + "\u0C92\u0CA0\u0CA5\u0CAC\u0CB1\u0CB5\u0CB8\u0CBC\u0CBF\u0CC1\u0CC8\u0CCB" + "\u0CCF\u0CD5\u0CD8\u0CDF\u0CE8\u0CEF\u0CF4\u0CF7\u0CFA\u0CFD\u0D01\u0D08" + "\u0D0D\u0D1A\u0D24\u0D31\u0D34\u0D37\u0D3E\u0D46\u0D49\u0D4C\u0D53\u0D57" + "\u0D5D\u0D60\u0D63\u0D66\u0D72\u0D75\u0D78\u0D7C\u0D8A\u0D9A\u0DA5\u0DB4" + "\u0DC5\u0DC7\u0DDC\u0DE1\u0DE4\u0DE8\u0DEB\u0DF1\u0DF4\u0DF6\u0E01\u0E0A" + "\u0E10\u0E13\u0E16\u0E24\u0E27\u0E2A\u0E2F\u0E37\u0E40\u0E44\u0E4A\u0E4E" + "\u0E51\u0E54\u0E57\u0E5A\u0E60\u0E64\u0E69\u0E6F\u0E73\u0E76\u0E79\u0E7C" + "\u0E84\u0E88\u0E8C\u0E90\u0E94\u0E99\u0EA7\u0EB0\u0EC1\u0EC6\u0EC9\u0ECB" + "\u0ED5\u0EDC\u0EE1\u0EE4\u0EE7\u0EEE\u0EF1\u0EF3\u0EF9\u0F02\u0F0C\u0F11" + "\u0F19\u0F1D\u0F24\u0F2E\u0F39\u0FA5\u0FAD\u0FB0\u0FBA\u0FBF\u0FC9\u0FD4" + "\u0FE0\u0FED\u0FF7\u1003\u1007\u100A\u1011\u1019\u1023\u1025\u102B\u1030" + "\u1034\u1039\u103F\u1046\u104C\u104E\u1055\u105D\u1062\u106D\u1074\u1078" + "\u1089\u108C\u108F\u1092\u1095\u109D\u10A0\u10A3\u10A9\u10B1\u10B5\u10C1" + "\u10C7\u10CA\u10CF\u10D3\u10DA\u10E5\u10FC\u1110\u1119\u111C\u111F\u1129" + "\u112C\u1135\u1139\u113C\u1144\u114A\u114E\u1159\u1163\u116B\u1170\u117C" + "\u118D\u1191\u1197\u119E\u11A6\u11B4\u11CE\u11D5\u11E3\u11F2\u11FF\u1208" + "\u1221\u122C\u1256\u125E\u1264\u126F\u1275\u127D\u1288\u1296\u129F\u12A9" + "\u12B5\u12C4\u12CF\u12D7\u12E1\u12E8\u12EB\u12F1\u12F4\u1303\u1310\u132D" + "\u1334\u1343\u134F\u1353\u1358\u135C\u1361\u1365\u136B\u136F\u1374\u1378" + "\u137E\u1382\u1387\u138B\u1390\u1394\u1399\u139D\u13A4\u13A8\u13AF\u13B3" + "\u13BA\u13BE\u13C5\u13C9\u13CF\u13D3\u13D9\u13DD\u13E2\u13E6\u13ED\u13F1" + "\u13F5\u13F9\u13FD\u1402\u1406\u140B\u140F\u1414\u1418\u141D\u1423\u1428" + "\u142E\u1433\u1439\u143E\u1442\u1447\u144B\u1451\u1455\u145A\u1462\u1468" + "\u146E\u1474\u147A\u1481\u1486\u148A\u148F\u1493\u1498\u149E\u14A5\u14AA" + "\u14B1\u14BB\u14BF\u14C5\u14C7\u14CE\u14F5\u1504\u1516\u151F\u152C\u1530" + "\u1536\u153D\u1542\u1546\u1549\u154F\u1596\u15F6\u15FA\u15FF\u1609\u1614" + "\u161E\u1629\u1634\u163F\u164A\u1656\u1661\u1669\u1670\u1676\u167E\u1683" + "\u1688\u168D\u1693\u169A\u16A0\u16A6\u16AB\u16B1\u16B8\u16BD\u16C3\u16CA" + "\u16CD\u16DA\u16E3\u16EF\u16F1\u1703\u170A\u1714\u1719\u171D\u1721\u1725" + "\u1727\u1763\u176A\u1770\u177B\u177E\u1785\u1788\u1792\u1795\u1797\u17AA" + "\u17B6\u17BF\u17C8\u17D4\u17D6\u17DC\u17E0\u17E3\u17E6\u17EB\u17F1\u17F4" + "\u17F7\u17FA\u17FD\u180D\u1811\u1814\u1817\u181A\u181D\u1822\u1825\u1827" + "\u1834\u1840\u184E\u1852\u1858\u1862\u1864\u1869\u1871\u187B\u1884\u188C" + "\u1895\u1897\u189E\u18A7\u18A9\u18B0\u18B9\u18BB\u18BF\u18C8\u18CD\u18D3" + "\u18D8\u18DC\u18E1\u18F3\u18F8\u1907\u1910\u191B\u1921\u1946\u195A\u1961" + "\u196C\u197A\u1981\u1989\u198E\u1995\u1999\u199E\u19A2\u19A7\u19AB\u19AD" + "\u19B2\u19B6\u19BB\u19BF\u19D7\u19DE\u19E8\u19F4\u19F9\u1A06\u1A12\u1A1E" + "\u1A20\u1A26\u1A2D\u1A5A\u1A6C\u1A70\u1A75\u1A78\u1A7C\u1A81\u1A86\u1A89" + "\u1A90\u1AA1\u1AE8\u1B07\u1B3D\u1B47\u1B51\u1B5C\u1B66\u1B71\u1B7B\u1B80" + "\u1B89\u1B8E\u1B98\u1B9D\u1BA6\u1BB3\u1BB8\u1C28\u1C2A\u1C35\u1C40\u1C4B" + "\u1C58\u1C64\u1C6F\u1C76\u1CD0\u1D05\u1D0F\u1D1A\u1D25\u1D33\u1D42\u1D4D" + "\u1D54\u1D8A\u1E17\u1E1D\u1E20\u1E2A\u1E52\u1E5C\u1E63\u1E7A\u1E83\u1E8C" + "\u1E95\u1EB6\u1EBA\u1EC4\u1EC8\u1ED2\u1ED5\u1ED9\u1EDD\u1EE5\u1EF0\u1EFC" + "\u1F00\u1F03\u1F07\u1F0A\u1F0F\u1F13\u1F16\u1F1A\u1F1D\u1F21\u1F24\u1F2F" + "\u1F36\u1F43\u1F51\u1F55\u1F5A\u1F61\u1F68\u1F6B\u1F70\u1F73\u1F7C\u1F7E" + "\u1F83\u1F87\u1F93\u1F96\u1F9D\u1FA1\u1FA6\u1FB0\u1FB8\u1FBB\u1FBE\u1FC3" + "\u1FC5\u1FCB\u1FD2\u1FE6\u1FFA\u1FFE\u2003\u2048\u204D\u2053\u2060\u2064" + "\u2068\u206E\u2070\u2078\u2082\u2085\u2088\u208B\u208E\u2095\u2098\u209A" + "\u209E\u20A1\u20A8\u20AA\u20B1\u20B8\u20BC\u20C0\u20C9\u20CF\u20D3\u20D7" + "\u20DC\u20E8\u20EF\u20F9\u2106\u2111\u2118\u211D\u2121\u2125\u212A\u2137" + "\u213C\u2140\u2144\u214B\u214E\u2150\u2160\u2163\u216A\u216D\u2172\u2178" + "\u217E\u2182\u218B\u2194\u219B\u219E\u21A4\u21A9\u21AF\u21B5\u21B8\u21BB" + "\u21C2\u21C6\u21C9\u21D8\u21DB\u21E2\u21E5\u21EC\u21EF\u21F2\u21F9\u2205" + "\u220C\u220E\u2218\u222A\u222C\u2234\u2238\u2242\u2246\u224A\u224E\u2250" + "\u2255\u2259\u225D\u225F\u2261\u2265\u2269\u226C\u226F\u2272\u2275\u2277" + "\u227A\u227D\u2280\u2283\u2286\u2289\u2292\u2294\u2299\u229D\u22A3\u22A7" + "\u22AB\u22B4\u22B9\u22BD\u22C3\u22C6\u22D9\u22E1\u22EA\u22EE\u22F1\u22F5" + "\u22FA\u2300\u230C\u231B\u2322\u2325\u2329\u232D\u2331\u2333\u233B\u2344" + "\u234A\u234C\u2353\u2357\u2360\u2364\u236D\u2376\u2382\u239E\u23A5\u23A9" + "\u23AC\u23B1\u23B5\u23B8\u23C8\u23D3\u23D8\u23DB\u23DE\u23E2\u23E6\u23EA" + "\u23EF\u23F3\u23F7\u23F9\u2402\u2407\u240D\u2411\u2413\u241A\u241F\u2425" + "\u2427\u242B\u2432\u2439\u243C\u2442\u2446\u244F\u2452\u2456\u2459\u245C" + "\u2464\u246A\u246C\u246F\u2473\u2476\u2479\u247D\u2481\u2487\u248A\u2493" + "\u249A\u249C\u24A3\u24AB\u24B0\u24B3\u24BB\u24C4\u24CC\u24CE\u24D2\u24D9" + "\u24EC\u24F5\u24FB\u250E\u2517\u251D\u2521\u2526\u2530\u2537\u2540\u2543" + "\u254C\u254E\u2554\u2558\u255D\u2567\u256D\u256F\u2575\u2579\u257C\u2589" + "\u258F\u2593\u2597\u259A\u25A2\u25A6\u25AA\u25B2\u25B9\u25C0\u25C4\u25CA" + "\u25CC\u25D5\u25D8\u25E2\u25F2\u25F8\u25FD\u2604\u260D\u2614\u261C\u2624" + "\u2629\u262D\u2630\u2636\u263B\u264B\u264E\u2650\u265C\u265E\u2662\u266A" + "\u266C\u2670\u2672\u267A\u267E\u2687\u268F\u2695\u2698\u26A1\u26A6\u26AD" + "\u26B7\u26D1\u26DC\u26DE\u26E0\u26E8\u26FF\u2707\u2711\u2714\u2719\u271E" + "\u2722\u2725\u2729\u272C\u272F\u2732\u2736\u2744\u274B\u2752\u2759\u276B" + "\u2773\u277F\u2785\u2792\u27B9\u27BB\u27CF\u27D9\u27E4\u27F0\u27F7\u2803" + "\u280F\u2815\u281D\u282E\u2847\u2851\u2855\u2858\u285B\u285E\u286B\u2870" + "\u2875\u2877\u287F\u2888\u2891\u2896\u289F\u28A4\u28B2\u28BC\u28C4\u28D2" + "\u28D9\u28E1\u28E9\u28F1\u28F5\u28FC\u2904\u290B\u2911\u291A\u2929\u2934" + "\u2955\u295E\u2965\u2969\u296D\u2974\u2982\u2987\u298C\u2990\u2992\u2995" + "\u299C\u29A1\u29AB\u29B3\u29B6\u29BD\u29C5\u29CD\u29D5\u29DD\u29E2\u29E6" + "\u29EA\u29EE\u29F2\u29F6\u29FA\u2A01\u2A09\u2A0E\u2A12\u2A16\u2A20\u2A26" + "\u2A36\u2A3C\u2A42\u2A4E\u2A53\u2A5B\u2A62\u2A67\u2A73\u2A7B\u2A80\u2A8A" + "\u2A95\u2A9C\u2AA3\u2AAE\u2AB1\u2AB3\u2AB7\u2ABA\u2AC0\u2AC6\u2ACA\u2AD0" + "\u2AD8\u2ADC\u2AE4\u2B1D\u2B2A\u2B41\u2B49\u2B4D\u2B59\u2B5B\u2B62\u2B6B" + "\u2B7D\u2B85\u2B8E\u2B95\u2B9F\u2BA5\u2BAC\u2BB1\u2BB7\u2BBB\u2BC2\u2BE0" + "\u2BED\u2BF6\u2BFA\u2C0A\u2C11\u2C1E\u2C26\u2C3A\u2C40\u2C4C\u2C51\u2C5B" + "\u2C7B\u2C80\u2C89\u2C8E\u2C92\u2C97\u2CA7\u2CAC\u2CBB\u2CBE\u2CC4\u2CC8" + "\u2CD1\u2CD9\u2CE2\u2CE8\u2CF1\u2CF3\u2CF8\u2D03\u2D0E\u2D23\u2D2A\u2D31" + "\u2D37\u2D3A\u2D45\u2D4C\u2D4E\u2D57\u2D5E\u2D64\u2D6A\u2D6E\u2D72\u2D7F" + "\u2D8E\u2D90\u2D94\u2D9A\u2D9F\u2DA3\u2DA6\u2DA9\u2DB2\u2DB5\u2DB9\u2DBD" + "\u2DBF\u2DC2\u2DC5\u2DCD\u2DD4\u2DDB\u2DE1\u2DE3\u2DEA\u2DEF\u2E01\u2E03" + "\u2E09\u2E11\u2E18\u2E23\u2E29\u2E2F\u2E3C\u2E3F\u2E43\u2E48\u2E4D\u2E59" + "\u2E5F\u2E63\u2E67\u2E6B\u2E72\u2E77\u2E7A\u2E7D\u2E80\u2E83\u2E86\u2E89" + "\u2E95"; public static readonly _serializedATN: string = Utils.join( [ PostgreSQLParser._serializedATNSegment0, PostgreSQLParser._serializedATNSegment1, PostgreSQLParser._serializedATNSegment2, PostgreSQLParser._serializedATNSegment3, PostgreSQLParser._serializedATNSegment4, PostgreSQLParser._serializedATNSegment5, PostgreSQLParser._serializedATNSegment6, PostgreSQLParser._serializedATNSegment7, PostgreSQLParser._serializedATNSegment8, PostgreSQLParser._serializedATNSegment9, PostgreSQLParser._serializedATNSegment10, PostgreSQLParser._serializedATNSegment11, PostgreSQLParser._serializedATNSegment12, PostgreSQLParser._serializedATNSegment13, PostgreSQLParser._serializedATNSegment14, PostgreSQLParser._serializedATNSegment15, PostgreSQLParser._serializedATNSegment16, PostgreSQLParser._serializedATNSegment17, PostgreSQLParser._serializedATNSegment18, PostgreSQLParser._serializedATNSegment19, PostgreSQLParser._serializedATNSegment20, PostgreSQLParser._serializedATNSegment21, ], "", ); public static __ATN: ATN; public static get _ATN(): ATN { if (!PostgreSQLParser.__ATN) { PostgreSQLParser.__ATN = new ATNDeserializer().deserialize(Utils.toCharArray(PostgreSQLParser._serializedATN)); } return PostgreSQLParser.__ATN; } } export class ProgramContext extends ParserRuleContext { public EOF(): TerminalNode { return this.getToken(PostgreSQLParser.EOF, 0); } public singleStmt(): SingleStmtContext[]; public singleStmt(i: number): SingleStmtContext; public singleStmt(i?: number): SingleStmtContext | SingleStmtContext[] { if (i === undefined) { return this.getRuleContexts(SingleStmtContext); } else { return this.getRuleContext(i, SingleStmtContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_program; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProgram) { listener.enterProgram(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProgram) { listener.exitProgram(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProgram) { return visitor.visitProgram(this); } else { return visitor.visitChildren(this); } } } export class PlsqlrootContext extends ParserRuleContext { public pl_function(): Pl_functionContext { return this.getRuleContext(0, Pl_functionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_plsqlroot; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPlsqlroot) { listener.enterPlsqlroot(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPlsqlroot) { listener.exitPlsqlroot(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPlsqlroot) { return visitor.visitPlsqlroot(this); } else { return visitor.visitChildren(this); } } } export class SingleStmtContext extends ParserRuleContext { public stmt(): StmtContext { return this.getRuleContext(0, StmtContext); } public SEMI(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.SEMI, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_singleStmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSingleStmt) { listener.enterSingleStmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSingleStmt) { listener.exitSingleStmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSingleStmt) { return visitor.visitSingleStmt(this); } else { return visitor.visitChildren(this); } } } export class StmtContext extends ParserRuleContext { public altereventtrigstmt(): AltereventtrigstmtContext | undefined { return this.tryGetRuleContext(0, AltereventtrigstmtContext); } public altercollationstmt(): AltercollationstmtContext | undefined { return this.tryGetRuleContext(0, AltercollationstmtContext); } public alterdatabasestmt(): AlterdatabasestmtContext | undefined { return this.tryGetRuleContext(0, AlterdatabasestmtContext); } public alterdatabasesetstmt(): AlterdatabasesetstmtContext | undefined { return this.tryGetRuleContext(0, AlterdatabasesetstmtContext); } public alterdefaultprivilegesstmt(): AlterdefaultprivilegesstmtContext | undefined { return this.tryGetRuleContext(0, AlterdefaultprivilegesstmtContext); } public alterdomainstmt(): AlterdomainstmtContext | undefined { return this.tryGetRuleContext(0, AlterdomainstmtContext); } public alterenumstmt(): AlterenumstmtContext | undefined { return this.tryGetRuleContext(0, AlterenumstmtContext); } public alterextensionstmt(): AlterextensionstmtContext | undefined { return this.tryGetRuleContext(0, AlterextensionstmtContext); } public alterextensioncontentsstmt(): AlterextensioncontentsstmtContext | undefined { return this.tryGetRuleContext(0, AlterextensioncontentsstmtContext); } public alterfdwstmt(): AlterfdwstmtContext | undefined { return this.tryGetRuleContext(0, AlterfdwstmtContext); } public alterforeignserverstmt(): AlterforeignserverstmtContext | undefined { return this.tryGetRuleContext(0, AlterforeignserverstmtContext); } public alterfunctionstmt(): AlterfunctionstmtContext | undefined { return this.tryGetRuleContext(0, AlterfunctionstmtContext); } public altergroupstmt(): AltergroupstmtContext | undefined { return this.tryGetRuleContext(0, AltergroupstmtContext); } public alterobjectdependsstmt(): AlterobjectdependsstmtContext | undefined { return this.tryGetRuleContext(0, AlterobjectdependsstmtContext); } public alterobjectschemastmt(): AlterobjectschemastmtContext | undefined { return this.tryGetRuleContext(0, AlterobjectschemastmtContext); } public alterownerstmt(): AlterownerstmtContext | undefined { return this.tryGetRuleContext(0, AlterownerstmtContext); } public alteroperatorstmt(): AlteroperatorstmtContext | undefined { return this.tryGetRuleContext(0, AlteroperatorstmtContext); } public altertypestmt(): AltertypestmtContext | undefined { return this.tryGetRuleContext(0, AltertypestmtContext); } public alterpolicystmt(): AlterpolicystmtContext | undefined { return this.tryGetRuleContext(0, AlterpolicystmtContext); } public alterprocedurestmt(): AlterprocedurestmtContext | undefined { return this.tryGetRuleContext(0, AlterprocedurestmtContext); } public alterseqstmt(): AlterseqstmtContext | undefined { return this.tryGetRuleContext(0, AlterseqstmtContext); } public altersystemstmt(): AltersystemstmtContext | undefined { return this.tryGetRuleContext(0, AltersystemstmtContext); } public altertablestmt(): AltertablestmtContext | undefined { return this.tryGetRuleContext(0, AltertablestmtContext); } public altertblspcstmt(): AltertblspcstmtContext | undefined { return this.tryGetRuleContext(0, AltertblspcstmtContext); } public altercompositetypestmt(): AltercompositetypestmtContext | undefined { return this.tryGetRuleContext(0, AltercompositetypestmtContext); } public alterpublicationstmt(): AlterpublicationstmtContext | undefined { return this.tryGetRuleContext(0, AlterpublicationstmtContext); } public alterrolesetstmt(): AlterrolesetstmtContext | undefined { return this.tryGetRuleContext(0, AlterrolesetstmtContext); } public alterroutinestmt(): AlterroutinestmtContext | undefined { return this.tryGetRuleContext(0, AlterroutinestmtContext); } public alterrolestmt(): AlterrolestmtContext | undefined { return this.tryGetRuleContext(0, AlterrolestmtContext); } public altersubscriptionstmt(): AltersubscriptionstmtContext | undefined { return this.tryGetRuleContext(0, AltersubscriptionstmtContext); } public alterstatsstmt(): AlterstatsstmtContext | undefined { return this.tryGetRuleContext(0, AlterstatsstmtContext); } public altertsconfigurationstmt(): AltertsconfigurationstmtContext | undefined { return this.tryGetRuleContext(0, AltertsconfigurationstmtContext); } public altertsdictionarystmt(): AltertsdictionarystmtContext | undefined { return this.tryGetRuleContext(0, AltertsdictionarystmtContext); } public alterusermappingstmt(): AlterusermappingstmtContext | undefined { return this.tryGetRuleContext(0, AlterusermappingstmtContext); } public analyzestmt(): AnalyzestmtContext | undefined { return this.tryGetRuleContext(0, AnalyzestmtContext); } public callstmt(): CallstmtContext | undefined { return this.tryGetRuleContext(0, CallstmtContext); } public checkpointstmt(): CheckpointstmtContext | undefined { return this.tryGetRuleContext(0, CheckpointstmtContext); } public closeportalstmt(): CloseportalstmtContext | undefined { return this.tryGetRuleContext(0, CloseportalstmtContext); } public clusterstmt(): ClusterstmtContext | undefined { return this.tryGetRuleContext(0, ClusterstmtContext); } public commentstmt(): CommentstmtContext | undefined { return this.tryGetRuleContext(0, CommentstmtContext); } public constraintssetstmt(): ConstraintssetstmtContext | undefined { return this.tryGetRuleContext(0, ConstraintssetstmtContext); } public copystmt(): CopystmtContext | undefined { return this.tryGetRuleContext(0, CopystmtContext); } public createamstmt(): CreateamstmtContext | undefined { return this.tryGetRuleContext(0, CreateamstmtContext); } public createasstmt(): CreateasstmtContext | undefined { return this.tryGetRuleContext(0, CreateasstmtContext); } public createassertionstmt(): CreateassertionstmtContext | undefined { return this.tryGetRuleContext(0, CreateassertionstmtContext); } public createcaststmt(): CreatecaststmtContext | undefined { return this.tryGetRuleContext(0, CreatecaststmtContext); } public createconversionstmt(): CreateconversionstmtContext | undefined { return this.tryGetRuleContext(0, CreateconversionstmtContext); } public createdomainstmt(): CreatedomainstmtContext | undefined { return this.tryGetRuleContext(0, CreatedomainstmtContext); } public createextensionstmt(): CreateextensionstmtContext | undefined { return this.tryGetRuleContext(0, CreateextensionstmtContext); } public createfdwstmt(): CreatefdwstmtContext | undefined { return this.tryGetRuleContext(0, CreatefdwstmtContext); } public createforeignserverstmt(): CreateforeignserverstmtContext | undefined { return this.tryGetRuleContext(0, CreateforeignserverstmtContext); } public createforeigntablestmt(): CreateforeigntablestmtContext | undefined { return this.tryGetRuleContext(0, CreateforeigntablestmtContext); } public createfunctionstmt(): CreatefunctionstmtContext | undefined { return this.tryGetRuleContext(0, CreatefunctionstmtContext); } public creategroupstmt(): CreategroupstmtContext | undefined { return this.tryGetRuleContext(0, CreategroupstmtContext); } public creatematviewstmt(): CreatematviewstmtContext | undefined { return this.tryGetRuleContext(0, CreatematviewstmtContext); } public createopclassstmt(): CreateopclassstmtContext | undefined { return this.tryGetRuleContext(0, CreateopclassstmtContext); } public createopfamilystmt(): CreateopfamilystmtContext | undefined { return this.tryGetRuleContext(0, CreateopfamilystmtContext); } public createpublicationstmt(): CreatepublicationstmtContext | undefined { return this.tryGetRuleContext(0, CreatepublicationstmtContext); } public alteropfamilystmt(): AlteropfamilystmtContext | undefined { return this.tryGetRuleContext(0, AlteropfamilystmtContext); } public createpolicystmt(): CreatepolicystmtContext | undefined { return this.tryGetRuleContext(0, CreatepolicystmtContext); } public createplangstmt(): CreateplangstmtContext | undefined { return this.tryGetRuleContext(0, CreateplangstmtContext); } public createschemastmt(): CreateschemastmtContext | undefined { return this.tryGetRuleContext(0, CreateschemastmtContext); } public createseqstmt(): CreateseqstmtContext | undefined { return this.tryGetRuleContext(0, CreateseqstmtContext); } public createstmt(): CreatestmtContext | undefined { return this.tryGetRuleContext(0, CreatestmtContext); } public createsubscriptionstmt(): CreatesubscriptionstmtContext | undefined { return this.tryGetRuleContext(0, CreatesubscriptionstmtContext); } public createstatsstmt(): CreatestatsstmtContext | undefined { return this.tryGetRuleContext(0, CreatestatsstmtContext); } public createtablespacestmt(): CreatetablespacestmtContext | undefined { return this.tryGetRuleContext(0, CreatetablespacestmtContext); } public createtransformstmt(): CreatetransformstmtContext | undefined { return this.tryGetRuleContext(0, CreatetransformstmtContext); } public createtrigstmt(): CreatetrigstmtContext | undefined { return this.tryGetRuleContext(0, CreatetrigstmtContext); } public createeventtrigstmt(): CreateeventtrigstmtContext | undefined { return this.tryGetRuleContext(0, CreateeventtrigstmtContext); } public createrolestmt(): CreaterolestmtContext | undefined { return this.tryGetRuleContext(0, CreaterolestmtContext); } public createuserstmt(): CreateuserstmtContext | undefined { return this.tryGetRuleContext(0, CreateuserstmtContext); } public createusermappingstmt(): CreateusermappingstmtContext | undefined { return this.tryGetRuleContext(0, CreateusermappingstmtContext); } public createdbstmt(): CreatedbstmtContext | undefined { return this.tryGetRuleContext(0, CreatedbstmtContext); } public deallocatestmt(): DeallocatestmtContext | undefined { return this.tryGetRuleContext(0, DeallocatestmtContext); } public declarecursorstmt(): DeclarecursorstmtContext | undefined { return this.tryGetRuleContext(0, DeclarecursorstmtContext); } public definestmt(): DefinestmtContext | undefined { return this.tryGetRuleContext(0, DefinestmtContext); } public deletestmt(): DeletestmtContext | undefined { return this.tryGetRuleContext(0, DeletestmtContext); } public discardstmt(): DiscardstmtContext | undefined { return this.tryGetRuleContext(0, DiscardstmtContext); } public dostmt(): DostmtContext | undefined { return this.tryGetRuleContext(0, DostmtContext); } public dropstmt(): DropstmtContext | undefined { return this.tryGetRuleContext(0, DropstmtContext); } public executestmt(): ExecutestmtContext | undefined { return this.tryGetRuleContext(0, ExecutestmtContext); } public explainstmt(): ExplainstmtContext | undefined { return this.tryGetRuleContext(0, ExplainstmtContext); } public fetchstmt(): FetchstmtContext | undefined { return this.tryGetRuleContext(0, FetchstmtContext); } public grantstmt(): GrantstmtContext | undefined { return this.tryGetRuleContext(0, GrantstmtContext); } public grantrolestmt(): GrantrolestmtContext | undefined { return this.tryGetRuleContext(0, GrantrolestmtContext); } public mergestmt(): MergestmtContext | undefined { return this.tryGetRuleContext(0, MergestmtContext); } public importforeignschemastmt(): ImportforeignschemastmtContext | undefined { return this.tryGetRuleContext(0, ImportforeignschemastmtContext); } public indexstmt(): IndexstmtContext | undefined { return this.tryGetRuleContext(0, IndexstmtContext); } public insertstmt(): InsertstmtContext | undefined { return this.tryGetRuleContext(0, InsertstmtContext); } public listenstmt(): ListenstmtContext | undefined { return this.tryGetRuleContext(0, ListenstmtContext); } public refreshmatviewstmt(): RefreshmatviewstmtContext | undefined { return this.tryGetRuleContext(0, RefreshmatviewstmtContext); } public loadstmt(): LoadstmtContext | undefined { return this.tryGetRuleContext(0, LoadstmtContext); } public lockstmt(): LockstmtContext | undefined { return this.tryGetRuleContext(0, LockstmtContext); } public notifystmt(): NotifystmtContext | undefined { return this.tryGetRuleContext(0, NotifystmtContext); } public preparestmt(): PreparestmtContext | undefined { return this.tryGetRuleContext(0, PreparestmtContext); } public reassignownedstmt(): ReassignownedstmtContext | undefined { return this.tryGetRuleContext(0, ReassignownedstmtContext); } public reindexstmt(): ReindexstmtContext | undefined { return this.tryGetRuleContext(0, ReindexstmtContext); } public removeaggrstmt(): RemoveaggrstmtContext | undefined { return this.tryGetRuleContext(0, RemoveaggrstmtContext); } public removefuncstmt(): RemovefuncstmtContext | undefined { return this.tryGetRuleContext(0, RemovefuncstmtContext); } public removeoperstmt(): RemoveoperstmtContext | undefined { return this.tryGetRuleContext(0, RemoveoperstmtContext); } public renamestmt(): RenamestmtContext | undefined { return this.tryGetRuleContext(0, RenamestmtContext); } public revokestmt(): RevokestmtContext | undefined { return this.tryGetRuleContext(0, RevokestmtContext); } public revokerolestmt(): RevokerolestmtContext | undefined { return this.tryGetRuleContext(0, RevokerolestmtContext); } public rulestmt(): RulestmtContext | undefined { return this.tryGetRuleContext(0, RulestmtContext); } public seclabelstmt(): SeclabelstmtContext | undefined { return this.tryGetRuleContext(0, SeclabelstmtContext); } public selectstmt(): SelectstmtContext | undefined { return this.tryGetRuleContext(0, SelectstmtContext); } public transactionstmt(): TransactionstmtContext | undefined { return this.tryGetRuleContext(0, TransactionstmtContext); } public truncatestmt(): TruncatestmtContext | undefined { return this.tryGetRuleContext(0, TruncatestmtContext); } public unlistenstmt(): UnlistenstmtContext | undefined { return this.tryGetRuleContext(0, UnlistenstmtContext); } public updatestmt(): UpdatestmtContext | undefined { return this.tryGetRuleContext(0, UpdatestmtContext); } public vacuumstmt(): VacuumstmtContext | undefined { return this.tryGetRuleContext(0, VacuumstmtContext); } public variableresetstmt(): VariableresetstmtContext | undefined { return this.tryGetRuleContext(0, VariableresetstmtContext); } public variablesetstmt(): VariablesetstmtContext | undefined { return this.tryGetRuleContext(0, VariablesetstmtContext); } public variableshowstmt(): VariableshowstmtContext | undefined { return this.tryGetRuleContext(0, VariableshowstmtContext); } public viewstmt(): ViewstmtContext | undefined { return this.tryGetRuleContext(0, ViewstmtContext); } public plsqlconsolecommand(): PlsqlconsolecommandContext | undefined { return this.tryGetRuleContext(0, PlsqlconsolecommandContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt) { listener.enterStmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt) { listener.exitStmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt) { return visitor.visitStmt(this); } else { return visitor.visitChildren(this); } } } export class PlsqlconsolecommandContext extends ParserRuleContext { public MetaCommand(): TerminalNode { return this.getToken(PostgreSQLParser.MetaCommand, 0); } public EndMetaCommand(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EndMetaCommand, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_plsqlconsolecommand; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPlsqlconsolecommand) { listener.enterPlsqlconsolecommand(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPlsqlconsolecommand) { listener.exitPlsqlconsolecommand(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPlsqlconsolecommand) { return visitor.visitPlsqlconsolecommand(this); } else { return visitor.visitChildren(this); } } } export class CallstmtContext extends ParserRuleContext { public KW_CALL(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CALL, 0); } public func_application(): Func_applicationContext { return this.getRuleContext(0, Func_applicationContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_callstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCallstmt) { listener.enterCallstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCallstmt) { listener.exitCallstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCallstmt) { return visitor.visitCallstmt(this); } else { return visitor.visitChildren(this); } } } export class CreaterolestmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_ROLE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ROLE, 0); } public roleid(): RoleidContext { return this.getRuleContext(0, RoleidContext); } public optrolelist(): OptrolelistContext { return this.getRuleContext(0, OptrolelistContext); } public opt_with(): Opt_withContext | undefined { return this.tryGetRuleContext(0, Opt_withContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createrolestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreaterolestmt) { listener.enterCreaterolestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreaterolestmt) { listener.exitCreaterolestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreaterolestmt) { return visitor.visitCreaterolestmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_withContext extends ParserRuleContext { public KW_WITH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WITH, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_with; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_with) { listener.enterOpt_with(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_with) { listener.exitOpt_with(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_with) { return visitor.visitOpt_with(this); } else { return visitor.visitChildren(this); } } } export class OptrolelistContext extends ParserRuleContext { public createoptroleelem(): CreateoptroleelemContext[]; public createoptroleelem(i: number): CreateoptroleelemContext; public createoptroleelem(i?: number): CreateoptroleelemContext | CreateoptroleelemContext[] { if (i === undefined) { return this.getRuleContexts(CreateoptroleelemContext); } else { return this.getRuleContext(i, CreateoptroleelemContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_optrolelist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOptrolelist) { listener.enterOptrolelist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOptrolelist) { listener.exitOptrolelist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOptrolelist) { return visitor.visitOptrolelist(this); } else { return visitor.visitChildren(this); } } } export class AlteroptrolelistContext extends ParserRuleContext { public alteroptroleelem(): AlteroptroleelemContext[]; public alteroptroleelem(i: number): AlteroptroleelemContext; public alteroptroleelem(i?: number): AlteroptroleelemContext | AlteroptroleelemContext[] { if (i === undefined) { return this.getRuleContexts(AlteroptroleelemContext); } else { return this.getRuleContext(i, AlteroptroleelemContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alteroptrolelist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlteroptrolelist) { listener.enterAlteroptrolelist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlteroptrolelist) { listener.exitAlteroptrolelist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlteroptrolelist) { return visitor.visitAlteroptrolelist(this); } else { return visitor.visitChildren(this); } } } export class AlteroptroleelemContext extends ParserRuleContext { public KW_PASSWORD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PASSWORD, 0); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } public KW_ENCRYPTED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ENCRYPTED, 0); } public KW_UNENCRYPTED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNENCRYPTED, 0); } public KW_INHERIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INHERIT, 0); } public KW_NOINHERIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOINHERIT, 0); } public KW_CREATEUSER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CREATEUSER, 0); } public KW_NOCREATEUSER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOCREATEUSER, 0); } public KW_CREATEROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CREATEROLE, 0); } public KW_NOCREATEROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOCREATEROLE, 0); } public KW_CREATEDB(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CREATEDB, 0); } public KW_NOCREATEDB(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOCREATEDB, 0); } public KW_SUPERUSER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SUPERUSER, 0); } public KW_NOSUPERUSER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOSUPERUSER, 0); } public KW_LOGIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOGIN, 0); } public KW_NOLOGIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOLOGIN, 0); } public KW_REPLICATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REPLICATION, 0); } public KW_NOREPLICATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOREPLICATION, 0); } public KW_BYPASSRLS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BYPASSRLS, 0); } public KW_NOBYPASSRLS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOBYPASSRLS, 0); } public KW_CONNECTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONNECTION, 0); } public KW_LIMIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LIMIT, 0); } public signediconst(): SignediconstContext | undefined { return this.tryGetRuleContext(0, SignediconstContext); } public KW_VALID(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALID, 0); } public KW_UNTIL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNTIL, 0); } public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } public KW_ROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLE, 0); } public name_list(): Name_listContext | undefined { return this.tryGetRuleContext(0, Name_listContext); } public KW_GROUP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GROUP, 0); } public role_list(): Role_listContext | undefined { return this.tryGetRuleContext(0, Role_listContext); } public KW_ADMIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADMIN, 0); } public KW_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USER, 0); } public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alteroptroleelem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlteroptroleelem) { listener.enterAlteroptroleelem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlteroptroleelem) { listener.exitAlteroptroleelem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlteroptroleelem) { return visitor.visitAlteroptroleelem(this); } else { return visitor.visitChildren(this); } } } export class CreateoptroleelemContext extends ParserRuleContext { public alteroptroleelem(): AlteroptroleelemContext | undefined { return this.tryGetRuleContext(0, AlteroptroleelemContext); } public KW_SYSID(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SYSID, 0); } public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } public KW_ADMIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADMIN, 0); } public role_list(): Role_listContext | undefined { return this.tryGetRuleContext(0, Role_listContext); } public KW_ROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLE, 0); } public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } public KW_GROUP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GROUP, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createoptroleelem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateoptroleelem) { listener.enterCreateoptroleelem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateoptroleelem) { listener.exitCreateoptroleelem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateoptroleelem) { return visitor.visitCreateoptroleelem(this); } else { return visitor.visitChildren(this); } } } export class CreateuserstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_USER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USER, 0); } public roleid(): RoleidContext { return this.getRuleContext(0, RoleidContext); } public optrolelist(): OptrolelistContext { return this.getRuleContext(0, OptrolelistContext); } public opt_with(): Opt_withContext | undefined { return this.tryGetRuleContext(0, Opt_withContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createuserstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateuserstmt) { listener.enterCreateuserstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateuserstmt) { listener.exitCreateuserstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateuserstmt) { return visitor.visitCreateuserstmt(this); } else { return visitor.visitChildren(this); } } } export class AlterrolestmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public rolespec(): RolespecContext { return this.getRuleContext(0, RolespecContext); } public alteroptrolelist(): AlteroptrolelistContext { return this.getRuleContext(0, AlteroptrolelistContext); } public KW_ROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLE, 0); } public KW_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USER, 0); } public opt_with(): Opt_withContext | undefined { return this.tryGetRuleContext(0, Opt_withContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterrolestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterrolestmt) { listener.enterAlterrolestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterrolestmt) { listener.exitAlterrolestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterrolestmt) { return visitor.visitAlterrolestmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_in_databaseContext extends ParserRuleContext { public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } public KW_DATABASE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATABASE, 0); } public database_name(): Database_nameContext | undefined { return this.tryGetRuleContext(0, Database_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_in_database; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_in_database) { listener.enterOpt_in_database(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_in_database) { listener.exitOpt_in_database(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_in_database) { return visitor.visitOpt_in_database(this); } else { return visitor.visitChildren(this); } } } export class AlterrolesetstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public opt_in_database(): Opt_in_databaseContext { return this.getRuleContext(0, Opt_in_databaseContext); } public setresetclause(): SetresetclauseContext { return this.getRuleContext(0, SetresetclauseContext); } public KW_ROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLE, 0); } public KW_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USER, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public rolespec(): RolespecContext | undefined { return this.tryGetRuleContext(0, RolespecContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterrolesetstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterrolesetstmt) { listener.enterAlterrolesetstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterrolesetstmt) { listener.exitAlterrolesetstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterrolesetstmt) { return visitor.visitAlterrolesetstmt(this); } else { return visitor.visitChildren(this); } } } export class AlterroutinestmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_ROUTINE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ROUTINE, 0); } public routine_name(): Routine_nameContext { return this.getRuleContext(0, Routine_nameContext); } public alter_routine_cluase(): Alter_routine_cluaseContext { return this.getRuleContext(0, Alter_routine_cluaseContext); } public func_args(): Func_argsContext | undefined { return this.tryGetRuleContext(0, Func_argsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterroutinestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterroutinestmt) { listener.enterAlterroutinestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterroutinestmt) { listener.exitAlterroutinestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterroutinestmt) { return visitor.visitAlterroutinestmt(this); } else { return visitor.visitChildren(this); } } } export class Alter_routine_cluaseContext extends ParserRuleContext { public routine_action_list(): Routine_action_listContext | undefined { return this.tryGetRuleContext(0, Routine_action_listContext); } public KW_RESTRICT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESTRICT, 0); } public KW_RENAME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RENAME, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public routine_name_create(): Routine_name_createContext | undefined { return this.tryGetRuleContext(0, Routine_name_createContext); } public KW_OWNER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OWNER, 0); } public rolespec(): RolespecContext | undefined { return this.tryGetRuleContext(0, RolespecContext); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name_create(): Schema_name_createContext | undefined { return this.tryGetRuleContext(0, Schema_name_createContext); } public KW_DEPENDS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEPENDS, 0); } public KW_ON(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ON, 0); } public KW_EXTENSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTENSION, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_routine_cluase; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_routine_cluase) { listener.enterAlter_routine_cluase(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_routine_cluase) { listener.exitAlter_routine_cluase(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_routine_cluase) { return visitor.visitAlter_routine_cluase(this); } else { return visitor.visitChildren(this); } } } export class Routine_action_listContext extends ParserRuleContext { public routine_action(): Routine_actionContext[]; public routine_action(i: number): Routine_actionContext; public routine_action(i?: number): Routine_actionContext | Routine_actionContext[] { if (i === undefined) { return this.getRuleContexts(Routine_actionContext); } else { return this.getRuleContext(i, Routine_actionContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_routine_action_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRoutine_action_list) { listener.enterRoutine_action_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRoutine_action_list) { listener.exitRoutine_action_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRoutine_action_list) { return visitor.visitRoutine_action_list(this); } else { return visitor.visitChildren(this); } } } export class Routine_actionContext extends ParserRuleContext { public KW_IMMUTABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IMMUTABLE, 0); } public KW_STABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STABLE, 0); } public KW_VOLATILE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VOLATILE, 0); } public KW_LEAKPROOF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEAKPROOF, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public KW_SECURITY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SECURITY, 0); } public KW_INVOKER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INVOKER, 0); } public KW_DEFINER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFINER, 0); } public KW_EXTERNAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTERNAL, 0); } public KW_PARALLEL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARALLEL, 0); } public KW_UNSAFE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNSAFE, 0); } public KW_RESTRICTED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESTRICTED, 0); } public KW_SAFE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SAFE, 0); } public KW_COST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COST, 0); } public attr_name(): Attr_nameContext | undefined { return this.tryGetRuleContext(0, Attr_nameContext); } public KW_ROWS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROWS, 0); } public name(): NameContext[]; public name(i: number): NameContext; public name(i?: number): NameContext | NameContext[] { if (i === undefined) { return this.getRuleContexts(NameContext); } else { return this.getRuleContext(i, NameContext); } } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public EQUAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EQUAL, 0); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public KW_CURRENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT, 0); } public KW_RESET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESET, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_routine_action; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRoutine_action) { listener.enterRoutine_action(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRoutine_action) { listener.exitRoutine_action(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRoutine_action) { return visitor.visitRoutine_action(this); } else { return visitor.visitChildren(this); } } } export class CreategroupstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_GROUP(): TerminalNode { return this.getToken(PostgreSQLParser.KW_GROUP, 0); } public groupname(): GroupnameContext { return this.getRuleContext(0, GroupnameContext); } public optrolelist(): OptrolelistContext { return this.getRuleContext(0, OptrolelistContext); } public opt_with(): Opt_withContext | undefined { return this.tryGetRuleContext(0, Opt_withContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_creategroupstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreategroupstmt) { listener.enterCreategroupstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreategroupstmt) { listener.exitCreategroupstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreategroupstmt) { return visitor.visitCreategroupstmt(this); } else { return visitor.visitChildren(this); } } } export class AltergroupstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_GROUP(): TerminalNode { return this.getToken(PostgreSQLParser.KW_GROUP, 0); } public rolespec(): RolespecContext { return this.getRuleContext(0, RolespecContext); } public add_drop(): Add_dropContext { return this.getRuleContext(0, Add_dropContext); } public KW_USER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USER, 0); } public role_list(): Role_listContext { return this.getRuleContext(0, Role_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_altergroupstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAltergroupstmt) { listener.enterAltergroupstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAltergroupstmt) { listener.exitAltergroupstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAltergroupstmt) { return visitor.visitAltergroupstmt(this); } else { return visitor.visitChildren(this); } } } export class Add_dropContext extends ParserRuleContext { public KW_ADD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADD, 0); } public KW_DROP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DROP, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_add_drop; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAdd_drop) { listener.enterAdd_drop(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAdd_drop) { listener.exitAdd_drop(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAdd_drop) { return visitor.visitAdd_drop(this); } else { return visitor.visitChildren(this); } } } export class CreateschemastmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_SCHEMA(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SCHEMA, 0); } public optschemaeltlist(): OptschemaeltlistContext { return this.getRuleContext(0, OptschemaeltlistContext); } public KW_AUTHORIZATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AUTHORIZATION, 0); } public rolespec(): RolespecContext | undefined { return this.tryGetRuleContext(0, RolespecContext); } public schema_name_create(): Schema_name_createContext | undefined { return this.tryGetRuleContext(0, Schema_name_createContext); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createschemastmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateschemastmt) { listener.enterCreateschemastmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateschemastmt) { listener.exitCreateschemastmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateschemastmt) { return visitor.visitCreateschemastmt(this); } else { return visitor.visitChildren(this); } } } export class Schema_name_createContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public attrs(): AttrsContext | undefined { return this.tryGetRuleContext(0, AttrsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_schema_name_create; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSchema_name_create) { listener.enterSchema_name_create(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSchema_name_create) { listener.exitSchema_name_create(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSchema_name_create) { return visitor.visitSchema_name_create(this); } else { return visitor.visitChildren(this); } } } export class OptschemaeltlistContext extends ParserRuleContext { public schema_stmt(): Schema_stmtContext[]; public schema_stmt(i: number): Schema_stmtContext; public schema_stmt(i?: number): Schema_stmtContext | Schema_stmtContext[] { if (i === undefined) { return this.getRuleContexts(Schema_stmtContext); } else { return this.getRuleContext(i, Schema_stmtContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_optschemaeltlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOptschemaeltlist) { listener.enterOptschemaeltlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOptschemaeltlist) { listener.exitOptschemaeltlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOptschemaeltlist) { return visitor.visitOptschemaeltlist(this); } else { return visitor.visitChildren(this); } } } export class Schema_stmtContext extends ParserRuleContext { public createstmt(): CreatestmtContext | undefined { return this.tryGetRuleContext(0, CreatestmtContext); } public indexstmt(): IndexstmtContext | undefined { return this.tryGetRuleContext(0, IndexstmtContext); } public createseqstmt(): CreateseqstmtContext | undefined { return this.tryGetRuleContext(0, CreateseqstmtContext); } public createtrigstmt(): CreatetrigstmtContext | undefined { return this.tryGetRuleContext(0, CreatetrigstmtContext); } public grantstmt(): GrantstmtContext | undefined { return this.tryGetRuleContext(0, GrantstmtContext); } public viewstmt(): ViewstmtContext | undefined { return this.tryGetRuleContext(0, ViewstmtContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_schema_stmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSchema_stmt) { listener.enterSchema_stmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSchema_stmt) { listener.exitSchema_stmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSchema_stmt) { return visitor.visitSchema_stmt(this); } else { return visitor.visitChildren(this); } } } export class VariablesetstmtContext extends ParserRuleContext { public KW_SET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SET, 0); } public set_rest(): Set_restContext { return this.getRuleContext(0, Set_restContext); } public KW_LOCAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCAL, 0); } public KW_SESSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SESSION, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_variablesetstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterVariablesetstmt) { listener.enterVariablesetstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitVariablesetstmt) { listener.exitVariablesetstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitVariablesetstmt) { return visitor.visitVariablesetstmt(this); } else { return visitor.visitChildren(this); } } } export class Set_restContext extends ParserRuleContext { public KW_TRANSACTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRANSACTION, 0); } public transaction_mode_list(): Transaction_mode_listContext | undefined { return this.tryGetRuleContext(0, Transaction_mode_listContext); } public KW_SESSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SESSION, 0); } public KW_CHARACTERISTICS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CHARACTERISTICS, 0); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public set_rest_more(): Set_rest_moreContext | undefined { return this.tryGetRuleContext(0, Set_rest_moreContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_set_rest; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSet_rest) { listener.enterSet_rest(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSet_rest) { listener.exitSet_rest(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSet_rest) { return visitor.visitSet_rest(this); } else { return visitor.visitChildren(this); } } } export class Generic_setContext extends ParserRuleContext { public var_name(): Var_nameContext | undefined { return this.tryGetRuleContext(0, Var_nameContext); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public var_list(): Var_listContext | undefined { return this.tryGetRuleContext(0, Var_listContext); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public EQUAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EQUAL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_generic_set; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGeneric_set) { listener.enterGeneric_set(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGeneric_set) { listener.exitGeneric_set(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGeneric_set) { return visitor.visitGeneric_set(this); } else { return visitor.visitChildren(this); } } } export class Set_rest_moreContext extends ParserRuleContext { public generic_set(): Generic_setContext | undefined { return this.tryGetRuleContext(0, Generic_setContext); } public var_name(): Var_nameContext | undefined { return this.tryGetRuleContext(0, Var_nameContext); } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public KW_CURRENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT, 0); } public KW_TIME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TIME, 0); } public KW_ZONE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ZONE, 0); } public zone_value(): Zone_valueContext | undefined { return this.tryGetRuleContext(0, Zone_valueContext); } public KW_CATALOG(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CATALOG, 0); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name(): Schema_nameContext | undefined { return this.tryGetRuleContext(0, Schema_nameContext); } public KW_NAMES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NAMES, 0); } public opt_encoding(): Opt_encodingContext | undefined { return this.tryGetRuleContext(0, Opt_encodingContext); } public KW_ROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLE, 0); } public nonreservedword_or_sconst(): Nonreservedword_or_sconstContext | undefined { return this.tryGetRuleContext(0, Nonreservedword_or_sconstContext); } public KW_SESSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SESSION, 0); } public KW_AUTHORIZATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AUTHORIZATION, 0); } public KW_XML(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XML, 0); } public KW_OPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPTION, 0); } public document_or_content(): Document_or_contentContext | undefined { return this.tryGetRuleContext(0, Document_or_contentContext); } public KW_TRANSACTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRANSACTION, 0); } public KW_SNAPSHOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SNAPSHOT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_set_rest_more; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSet_rest_more) { listener.enterSet_rest_more(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSet_rest_more) { listener.exitSet_rest_more(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSet_rest_more) { return visitor.visitSet_rest_more(this); } else { return visitor.visitChildren(this); } } } export class Var_nameContext extends ParserRuleContext { public colid(): ColidContext[]; public colid(i: number): ColidContext; public colid(i?: number): ColidContext | ColidContext[] { if (i === undefined) { return this.getRuleContexts(ColidContext); } else { return this.getRuleContext(i, ColidContext); } } public DOT(): TerminalNode[]; public DOT(i: number): TerminalNode; public DOT(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.DOT); } else { return this.getToken(PostgreSQLParser.DOT, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_var_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterVar_name) { listener.enterVar_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitVar_name) { listener.exitVar_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitVar_name) { return visitor.visitVar_name(this); } else { return visitor.visitChildren(this); } } } export class Var_listContext extends ParserRuleContext { public var_value(): Var_valueContext[]; public var_value(i: number): Var_valueContext; public var_value(i?: number): Var_valueContext | Var_valueContext[] { if (i === undefined) { return this.getRuleContexts(Var_valueContext); } else { return this.getRuleContext(i, Var_valueContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_var_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterVar_list) { listener.enterVar_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitVar_list) { listener.exitVar_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitVar_list) { return visitor.visitVar_list(this); } else { return visitor.visitChildren(this); } } } export class Var_valueContext extends ParserRuleContext { public opt_boolean_or_string(): Opt_boolean_or_stringContext | undefined { return this.tryGetRuleContext(0, Opt_boolean_or_stringContext); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_var_value; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterVar_value) { listener.enterVar_value(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitVar_value) { listener.exitVar_value(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitVar_value) { return visitor.visitVar_value(this); } else { return visitor.visitChildren(this); } } } export class Iso_levelContext extends ParserRuleContext { public KW_READ(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_READ, 0); } public KW_UNCOMMITTED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNCOMMITTED, 0); } public KW_COMMITTED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COMMITTED, 0); } public KW_REPEATABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REPEATABLE, 0); } public KW_SERIALIZABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SERIALIZABLE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_iso_level; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIso_level) { listener.enterIso_level(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIso_level) { listener.exitIso_level(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIso_level) { return visitor.visitIso_level(this); } else { return visitor.visitChildren(this); } } } export class Opt_boolean_or_string_columnContext extends ParserRuleContext { public KW_TRUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRUE, 0); } public KW_FALSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FALSE, 0); } public KW_ON(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ON, 0); } public nonreservedword_or_sconst_column(): Nonreservedword_or_sconst_columnContext | undefined { return this.tryGetRuleContext(0, Nonreservedword_or_sconst_columnContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_boolean_or_string_column; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_boolean_or_string_column) { listener.enterOpt_boolean_or_string_column(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_boolean_or_string_column) { listener.exitOpt_boolean_or_string_column(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_boolean_or_string_column) { return visitor.visitOpt_boolean_or_string_column(this); } else { return visitor.visitChildren(this); } } } export class Opt_boolean_or_stringContext extends ParserRuleContext { public KW_TRUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRUE, 0); } public KW_FALSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FALSE, 0); } public KW_ON(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ON, 0); } public nonreservedword_or_sconst(): Nonreservedword_or_sconstContext | undefined { return this.tryGetRuleContext(0, Nonreservedword_or_sconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_boolean_or_string; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_boolean_or_string) { listener.enterOpt_boolean_or_string(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_boolean_or_string) { listener.exitOpt_boolean_or_string(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_boolean_or_string) { return visitor.visitOpt_boolean_or_string(this); } else { return visitor.visitChildren(this); } } } export class Zone_valueContext extends ParserRuleContext { public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } public constinterval(): ConstintervalContext | undefined { return this.tryGetRuleContext(0, ConstintervalContext); } public opt_interval(): Opt_intervalContext | undefined { return this.tryGetRuleContext(0, Opt_intervalContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public KW_LOCAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCAL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_zone_value; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterZone_value) { listener.enterZone_value(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitZone_value) { listener.exitZone_value(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitZone_value) { return visitor.visitZone_value(this); } else { return visitor.visitChildren(this); } } } export class Opt_encodingContext extends ParserRuleContext { public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_encoding; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_encoding) { listener.enterOpt_encoding(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_encoding) { listener.exitOpt_encoding(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_encoding) { return visitor.visitOpt_encoding(this); } else { return visitor.visitChildren(this); } } } export class Nonreservedword_or_sconst_columnContext extends ParserRuleContext { public nonreservedword_column(): Nonreservedword_columnContext | undefined { return this.tryGetRuleContext(0, Nonreservedword_columnContext); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_nonreservedword_or_sconst_column; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterNonreservedword_or_sconst_column) { listener.enterNonreservedword_or_sconst_column(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitNonreservedword_or_sconst_column) { listener.exitNonreservedword_or_sconst_column(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitNonreservedword_or_sconst_column) { return visitor.visitNonreservedword_or_sconst_column(this); } else { return visitor.visitChildren(this); } } } export class Nonreservedword_or_sconstContext extends ParserRuleContext { public nonreservedword(): NonreservedwordContext | undefined { return this.tryGetRuleContext(0, NonreservedwordContext); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_nonreservedword_or_sconst; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterNonreservedword_or_sconst) { listener.enterNonreservedword_or_sconst(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitNonreservedword_or_sconst) { listener.exitNonreservedword_or_sconst(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitNonreservedword_or_sconst) { return visitor.visitNonreservedword_or_sconst(this); } else { return visitor.visitChildren(this); } } } export class VariableresetstmtContext extends ParserRuleContext { public KW_RESET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_RESET, 0); } public reset_rest(): Reset_restContext { return this.getRuleContext(0, Reset_restContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_variableresetstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterVariableresetstmt) { listener.enterVariableresetstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitVariableresetstmt) { listener.exitVariableresetstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitVariableresetstmt) { return visitor.visitVariableresetstmt(this); } else { return visitor.visitChildren(this); } } } export class Reset_restContext extends ParserRuleContext { public generic_reset(): Generic_resetContext | undefined { return this.tryGetRuleContext(0, Generic_resetContext); } public KW_TIME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TIME, 0); } public KW_ZONE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ZONE, 0); } public KW_TRANSACTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRANSACTION, 0); } public KW_ISOLATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ISOLATION, 0); } public KW_LEVEL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEVEL, 0); } public KW_SESSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SESSION, 0); } public KW_AUTHORIZATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AUTHORIZATION, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_reset_rest; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterReset_rest) { listener.enterReset_rest(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitReset_rest) { listener.exitReset_rest(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitReset_rest) { return visitor.visitReset_rest(this); } else { return visitor.visitChildren(this); } } } export class Generic_resetContext extends ParserRuleContext { public var_name(): Var_nameContext | undefined { return this.tryGetRuleContext(0, Var_nameContext); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_generic_reset; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGeneric_reset) { listener.enterGeneric_reset(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGeneric_reset) { listener.exitGeneric_reset(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGeneric_reset) { return visitor.visitGeneric_reset(this); } else { return visitor.visitChildren(this); } } } export class SetresetclauseContext extends ParserRuleContext { public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public set_rest(): Set_restContext | undefined { return this.tryGetRuleContext(0, Set_restContext); } public variableresetstmt(): VariableresetstmtContext | undefined { return this.tryGetRuleContext(0, VariableresetstmtContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_setresetclause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSetresetclause) { listener.enterSetresetclause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSetresetclause) { listener.exitSetresetclause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSetresetclause) { return visitor.visitSetresetclause(this); } else { return visitor.visitChildren(this); } } } export class FunctionsetresetclauseContext extends ParserRuleContext { public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public set_rest_more(): Set_rest_moreContext | undefined { return this.tryGetRuleContext(0, Set_rest_moreContext); } public variableresetstmt(): VariableresetstmtContext | undefined { return this.tryGetRuleContext(0, VariableresetstmtContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_functionsetresetclause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunctionsetresetclause) { listener.enterFunctionsetresetclause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunctionsetresetclause) { listener.exitFunctionsetresetclause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunctionsetresetclause) { return visitor.visitFunctionsetresetclause(this); } else { return visitor.visitChildren(this); } } } export class VariableshowstmtContext extends ParserRuleContext { public KW_SHOW(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SHOW, 0); } public var_name(): Var_nameContext | undefined { return this.tryGetRuleContext(0, Var_nameContext); } public KW_TIME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TIME, 0); } public KW_ZONE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ZONE, 0); } public KW_TRANSACTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRANSACTION, 0); } public KW_ISOLATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ISOLATION, 0); } public KW_LEVEL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEVEL, 0); } public KW_SESSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SESSION, 0); } public KW_AUTHORIZATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AUTHORIZATION, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_variableshowstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterVariableshowstmt) { listener.enterVariableshowstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitVariableshowstmt) { listener.exitVariableshowstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitVariableshowstmt) { return visitor.visitVariableshowstmt(this); } else { return visitor.visitChildren(this); } } } export class ConstraintssetstmtContext extends ParserRuleContext { public KW_SET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SET, 0); } public KW_CONSTRAINTS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CONSTRAINTS, 0); } public constraints_set_list(): Constraints_set_listContext { return this.getRuleContext(0, Constraints_set_listContext); } public constraints_set_mode(): Constraints_set_modeContext { return this.getRuleContext(0, Constraints_set_modeContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_constraintssetstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterConstraintssetstmt) { listener.enterConstraintssetstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitConstraintssetstmt) { listener.exitConstraintssetstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitConstraintssetstmt) { return visitor.visitConstraintssetstmt(this); } else { return visitor.visitChildren(this); } } } export class Constraints_set_listContext extends ParserRuleContext { public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public qualified_name_list(): Qualified_name_listContext | undefined { return this.tryGetRuleContext(0, Qualified_name_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_constraints_set_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterConstraints_set_list) { listener.enterConstraints_set_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitConstraints_set_list) { listener.exitConstraints_set_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitConstraints_set_list) { return visitor.visitConstraints_set_list(this); } else { return visitor.visitChildren(this); } } } export class Constraints_set_modeContext extends ParserRuleContext { public KW_DEFERRED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFERRED, 0); } public KW_IMMEDIATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IMMEDIATE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_constraints_set_mode; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterConstraints_set_mode) { listener.enterConstraints_set_mode(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitConstraints_set_mode) { listener.exitConstraints_set_mode(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitConstraints_set_mode) { return visitor.visitConstraints_set_mode(this); } else { return visitor.visitChildren(this); } } } export class CheckpointstmtContext extends ParserRuleContext { public KW_CHECKPOINT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CHECKPOINT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_checkpointstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCheckpointstmt) { listener.enterCheckpointstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCheckpointstmt) { listener.exitCheckpointstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCheckpointstmt) { return visitor.visitCheckpointstmt(this); } else { return visitor.visitChildren(this); } } } export class DiscardstmtContext extends ParserRuleContext { public KW_DISCARD(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DISCARD, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public KW_TEMP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMP, 0); } public KW_TEMPORARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMPORARY, 0); } public KW_PLANS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PLANS, 0); } public KW_SEQUENCES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEQUENCES, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_discardstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDiscardstmt) { listener.enterDiscardstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDiscardstmt) { listener.exitDiscardstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDiscardstmt) { return visitor.visitDiscardstmt(this); } else { return visitor.visitChildren(this); } } } export class AltertablestmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public relation_expr(): Relation_exprContext | undefined { return this.tryGetRuleContext(0, Relation_exprContext); } public alter_table_cmds(): Alter_table_cmdsContext | undefined { return this.tryGetRuleContext(0, Alter_table_cmdsContext); } public partition_cmd(): Partition_cmdContext | undefined { return this.tryGetRuleContext(0, Partition_cmdContext); } public opt_if_exists(): Opt_if_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_existsContext); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } public KW_TABLESPACE(): TerminalNode[]; public KW_TABLESPACE(i: number): TerminalNode; public KW_TABLESPACE(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_TABLESPACE); } else { return this.getToken(PostgreSQLParser.KW_TABLESPACE, i); } } public tablespace_name(): Tablespace_nameContext | undefined { return this.tryGetRuleContext(0, Tablespace_nameContext); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public tablespace_name_create(): Tablespace_name_createContext | undefined { return this.tryGetRuleContext(0, Tablespace_name_createContext); } public KW_OWNED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OWNED, 0); } public KW_BY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BY, 0); } public role_list(): Role_listContext | undefined { return this.tryGetRuleContext(0, Role_listContext); } public opt_nowait(): Opt_nowaitContext | undefined { return this.tryGetRuleContext(0, Opt_nowaitContext); } public table_name(): Table_nameContext | undefined { return this.tryGetRuleContext(0, Table_nameContext); } public KW_ATTACH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ATTACH, 0); } public KW_PARTITION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARTITION, 0); } public qualified_name(): Qualified_nameContext | undefined { return this.tryGetRuleContext(0, Qualified_nameContext); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public KW_VALUES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALUES, 0); } public partition_bound_spec(): Partition_bound_specContext | undefined { return this.tryGetRuleContext(0, Partition_bound_specContext); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public KW_DETACH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DETACH, 0); } public KW_CONCURRENTLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONCURRENTLY, 0); } public KW_FINALIZE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FINALIZE, 0); } public KW_INDEX(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INDEX, 0); } public index_partition_cmd(): Index_partition_cmdContext | undefined { return this.tryGetRuleContext(0, Index_partition_cmdContext); } public KW_SEQUENCE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEQUENCE, 0); } public KW_VIEW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VIEW, 0); } public view_name(): View_nameContext | undefined { return this.tryGetRuleContext(0, View_nameContext); } public KW_MATERIALIZED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MATERIALIZED, 0); } public KW_FOREIGN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOREIGN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_altertablestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAltertablestmt) { listener.enterAltertablestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAltertablestmt) { listener.exitAltertablestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAltertablestmt) { return visitor.visitAltertablestmt(this); } else { return visitor.visitChildren(this); } } } export class Alter_table_cmdsContext extends ParserRuleContext { public alter_table_cmd(): Alter_table_cmdContext[]; public alter_table_cmd(i: number): Alter_table_cmdContext; public alter_table_cmd(i?: number): Alter_table_cmdContext | Alter_table_cmdContext[] { if (i === undefined) { return this.getRuleContexts(Alter_table_cmdContext); } else { return this.getRuleContext(i, Alter_table_cmdContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_table_cmds; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_table_cmds) { listener.enterAlter_table_cmds(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_table_cmds) { listener.exitAlter_table_cmds(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_table_cmds) { return visitor.visitAlter_table_cmds(this); } else { return visitor.visitChildren(this); } } } export class Partition_bound_specContext extends ParserRuleContext { public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } public opt_type_modifiers(): Opt_type_modifiersContext | undefined { return this.tryGetRuleContext(0, Opt_type_modifiersContext); } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public partition_bound_cluase(): Partition_bound_cluaseContext[]; public partition_bound_cluase(i: number): Partition_bound_cluaseContext; public partition_bound_cluase(i?: number): Partition_bound_cluaseContext | Partition_bound_cluaseContext[] { if (i === undefined) { return this.getRuleContexts(Partition_bound_cluaseContext); } else { return this.getRuleContext(i, Partition_bound_cluaseContext); } } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } public partition_with_cluase(): Partition_with_cluaseContext | undefined { return this.tryGetRuleContext(0, Partition_with_cluaseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_partition_bound_spec; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPartition_bound_spec) { listener.enterPartition_bound_spec(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPartition_bound_spec) { listener.exitPartition_bound_spec(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPartition_bound_spec) { return visitor.visitPartition_bound_spec(this); } else { return visitor.visitChildren(this); } } } export class Partition_bound_cluaseContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public partition_bound_choose(): Partition_bound_chooseContext[]; public partition_bound_choose(i: number): Partition_bound_chooseContext; public partition_bound_choose(i?: number): Partition_bound_chooseContext | Partition_bound_chooseContext[] { if (i === undefined) { return this.getRuleContexts(Partition_bound_chooseContext); } else { return this.getRuleContext(i, Partition_bound_chooseContext); } } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_partition_bound_cluase; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPartition_bound_cluase) { listener.enterPartition_bound_cluase(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPartition_bound_cluase) { listener.exitPartition_bound_cluase(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPartition_bound_cluase) { return visitor.visitPartition_bound_cluase(this); } else { return visitor.visitChildren(this); } } } export class Partition_bound_chooseContext extends ParserRuleContext { public opt_type_modifiers(): Opt_type_modifiersContext | undefined { return this.tryGetRuleContext(0, Opt_type_modifiersContext); } public KW_MINVALUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MINVALUE, 0); } public KW_MAXVALUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MAXVALUE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_partition_bound_choose; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPartition_bound_choose) { listener.enterPartition_bound_choose(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPartition_bound_choose) { listener.exitPartition_bound_choose(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPartition_bound_choose) { return visitor.visitPartition_bound_choose(this); } else { return visitor.visitChildren(this); } } } export class Partition_with_cluaseContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public KW_MODULUS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_MODULUS, 0); } public numericonly(): NumericonlyContext[]; public numericonly(i: number): NumericonlyContext; public numericonly(i?: number): NumericonlyContext | NumericonlyContext[] { if (i === undefined) { return this.getRuleContexts(NumericonlyContext); } else { return this.getRuleContext(i, NumericonlyContext); } } public COMMA(): TerminalNode { return this.getToken(PostgreSQLParser.COMMA, 0); } public KW_REMAINDER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_REMAINDER, 0); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_partition_with_cluase; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPartition_with_cluase) { listener.enterPartition_with_cluase(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPartition_with_cluase) { listener.exitPartition_with_cluase(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPartition_with_cluase) { return visitor.visitPartition_with_cluase(this); } else { return visitor.visitChildren(this); } } } export class Partition_cmdContext extends ParserRuleContext { public KW_ATTACH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ATTACH, 0); } public KW_PARTITION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PARTITION, 0); } public qualified_name(): Qualified_nameContext { return this.getRuleContext(0, Qualified_nameContext); } public partitionboundspec(): PartitionboundspecContext | undefined { return this.tryGetRuleContext(0, PartitionboundspecContext); } public KW_DETACH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DETACH, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_partition_cmd; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPartition_cmd) { listener.enterPartition_cmd(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPartition_cmd) { listener.exitPartition_cmd(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPartition_cmd) { return visitor.visitPartition_cmd(this); } else { return visitor.visitChildren(this); } } } export class Index_partition_cmdContext extends ParserRuleContext { public KW_ATTACH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ATTACH, 0); } public KW_PARTITION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PARTITION, 0); } public qualified_name(): Qualified_nameContext { return this.getRuleContext(0, Qualified_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_index_partition_cmd; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIndex_partition_cmd) { listener.enterIndex_partition_cmd(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIndex_partition_cmd) { listener.exitIndex_partition_cmd(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIndex_partition_cmd) { return visitor.visitIndex_partition_cmd(this); } else { return visitor.visitChildren(this); } } } export class Alter_table_cmdContext extends ParserRuleContext { public KW_ADD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADD, 0); } public columnDefCluase(): ColumnDefCluaseContext | undefined { return this.tryGetRuleContext(0, ColumnDefCluaseContext); } public opt_column(): Opt_columnContext | undefined { return this.tryGetRuleContext(0, Opt_columnContext); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } public KW_ALTER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALTER, 0); } public column_name(): Column_nameContext | undefined { return this.tryGetRuleContext(0, Column_nameContext); } public alter_column_default(): Alter_column_defaultContext | undefined { return this.tryGetRuleContext(0, Alter_column_defaultContext); } public KW_DROP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DROP, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public KW_EXPRESSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXPRESSION, 0); } public opt_if_exists(): Opt_if_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_existsContext); } public KW_STATISTICS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STATISTICS, 0); } public signediconst(): SignediconstContext | undefined { return this.tryGetRuleContext(0, SignediconstContext); } public reloptions(): ReloptionsContext | undefined { return this.tryGetRuleContext(0, ReloptionsContext); } public KW_RESET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESET, 0); } public KW_STORAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STORAGE, 0); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public KW_GENERATED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GENERATED, 0); } public generated_when(): Generated_whenContext | undefined { return this.tryGetRuleContext(0, Generated_whenContext); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public KW_IDENTITY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IDENTITY, 0); } public optparenthesizedseqoptlist(): OptparenthesizedseqoptlistContext | undefined { return this.tryGetRuleContext(0, OptparenthesizedseqoptlistContext); } public alter_identity_column_option_list(): Alter_identity_column_option_listContext | undefined { return this.tryGetRuleContext(0, Alter_identity_column_option_listContext); } public opt_drop_behavior(): Opt_drop_behaviorContext | undefined { return this.tryGetRuleContext(0, Opt_drop_behaviorContext); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } public typename(): TypenameContext | undefined { return this.tryGetRuleContext(0, TypenameContext); } public opt_set_data(): Opt_set_dataContext | undefined { return this.tryGetRuleContext(0, Opt_set_dataContext); } public opt_collate_clause(): Opt_collate_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_collate_clauseContext); } public alter_using(): Alter_usingContext | undefined { return this.tryGetRuleContext(0, Alter_usingContext); } public alter_generic_options(): Alter_generic_optionsContext | undefined { return this.tryGetRuleContext(0, Alter_generic_optionsContext); } public tableconstraint(): TableconstraintContext | undefined { return this.tryGetRuleContext(0, TableconstraintContext); } public KW_CONSTRAINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTRAINT, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } public constraintattributespec(): ConstraintattributespecContext | undefined { return this.tryGetRuleContext(0, ConstraintattributespecContext); } public KW_VALIDATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALIDATE, 0); } public KW_WITHOUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITHOUT, 0); } public KW_OIDS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OIDS, 0); } public KW_CLUSTER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CLUSTER, 0); } public KW_ON(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ON, 0); } public KW_LOGGED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOGGED, 0); } public KW_UNLOGGED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNLOGGED, 0); } public KW_ENABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ENABLE, 0); } public KW_TRIGGER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRIGGER, 0); } public KW_ALWAYS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALWAYS, 0); } public KW_REPLICA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REPLICA, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public KW_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USER, 0); } public KW_DISABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DISABLE, 0); } public KW_RULE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RULE, 0); } public KW_INHERIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INHERIT, 0); } public qualified_name(): Qualified_nameContext | undefined { return this.tryGetRuleContext(0, Qualified_nameContext); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } public KW_OF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OF, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public KW_OWNER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OWNER, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public rolespec(): RolespecContext | undefined { return this.tryGetRuleContext(0, RolespecContext); } public KW_TABLESPACE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLESPACE, 0); } public tablespace_name_create(): Tablespace_name_createContext | undefined { return this.tryGetRuleContext(0, Tablespace_name_createContext); } public replica_identity(): Replica_identityContext | undefined { return this.tryGetRuleContext(0, Replica_identityContext); } public KW_ROW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROW, 0); } public KW_LEVEL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEVEL, 0); } public KW_SECURITY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SECURITY, 0); } public KW_FORCE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FORCE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_table_cmd; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_table_cmd) { listener.enterAlter_table_cmd(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_table_cmd) { listener.exitAlter_table_cmd(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_table_cmd) { return visitor.visitAlter_table_cmd(this); } else { return visitor.visitChildren(this); } } } export class Alter_column_defaultContext extends ParserRuleContext { public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public KW_DEFAULT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DEFAULT, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public KW_DROP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DROP, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_column_default; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_column_default) { listener.enterAlter_column_default(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_column_default) { listener.exitAlter_column_default(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_column_default) { return visitor.visitAlter_column_default(this); } else { return visitor.visitChildren(this); } } } export class Opt_drop_behaviorContext extends ParserRuleContext { public KW_CASCADE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CASCADE, 0); } public KW_RESTRICT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESTRICT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_drop_behavior; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_drop_behavior) { listener.enterOpt_drop_behavior(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_drop_behavior) { listener.exitOpt_drop_behavior(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_drop_behavior) { return visitor.visitOpt_drop_behavior(this); } else { return visitor.visitChildren(this); } } } export class Opt_collate_clauseContext extends ParserRuleContext { public KW_COLLATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_COLLATE, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_collate_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_collate_clause) { listener.enterOpt_collate_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_collate_clause) { listener.exitOpt_collate_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_collate_clause) { return visitor.visitOpt_collate_clause(this); } else { return visitor.visitChildren(this); } } } export class Alter_usingContext extends ParserRuleContext { public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_using; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_using) { listener.enterAlter_using(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_using) { listener.exitAlter_using(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_using) { return visitor.visitAlter_using(this); } else { return visitor.visitChildren(this); } } } export class Replica_identityContext extends ParserRuleContext { public KW_NOTHING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOTHING, 0); } public KW_FULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FULL, 0); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public KW_INDEX(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INDEX, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_replica_identity; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterReplica_identity) { listener.enterReplica_identity(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitReplica_identity) { listener.exitReplica_identity(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitReplica_identity) { return visitor.visitReplica_identity(this); } else { return visitor.visitChildren(this); } } } export class ReloptionsContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public reloption_list(): Reloption_listContext { return this.getRuleContext(0, Reloption_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_reloptions; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterReloptions) { listener.enterReloptions(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitReloptions) { listener.exitReloptions(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitReloptions) { return visitor.visitReloptions(this); } else { return visitor.visitChildren(this); } } } export class Opt_reloptionsContext extends ParserRuleContext { public KW_WITH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WITH, 0); } public reloptions(): ReloptionsContext { return this.getRuleContext(0, ReloptionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_reloptions; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_reloptions) { listener.enterOpt_reloptions(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_reloptions) { listener.exitOpt_reloptions(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_reloptions) { return visitor.visitOpt_reloptions(this); } else { return visitor.visitChildren(this); } } } export class Reloption_listContext extends ParserRuleContext { public reloption_elem(): Reloption_elemContext[]; public reloption_elem(i: number): Reloption_elemContext; public reloption_elem(i?: number): Reloption_elemContext | Reloption_elemContext[] { if (i === undefined) { return this.getRuleContexts(Reloption_elemContext); } else { return this.getRuleContext(i, Reloption_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_reloption_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterReloption_list) { listener.enterReloption_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitReloption_list) { listener.exitReloption_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitReloption_list) { return visitor.visitReloption_list(this); } else { return visitor.visitChildren(this); } } } export class Reloption_elemContext extends ParserRuleContext { public collabel(): CollabelContext[]; public collabel(i: number): CollabelContext; public collabel(i?: number): CollabelContext | CollabelContext[] { if (i === undefined) { return this.getRuleContexts(CollabelContext); } else { return this.getRuleContext(i, CollabelContext); } } public EQUAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EQUAL, 0); } public def_arg(): Def_argContext | undefined { return this.tryGetRuleContext(0, Def_argContext); } public DOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.DOT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_reloption_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterReloption_elem) { listener.enterReloption_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitReloption_elem) { listener.exitReloption_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitReloption_elem) { return visitor.visitReloption_elem(this); } else { return visitor.visitChildren(this); } } } export class Alter_identity_column_option_listContext extends ParserRuleContext { public alter_identity_column_option(): Alter_identity_column_optionContext[]; public alter_identity_column_option(i: number): Alter_identity_column_optionContext; public alter_identity_column_option(i?: number): Alter_identity_column_optionContext | Alter_identity_column_optionContext[] { if (i === undefined) { return this.getRuleContexts(Alter_identity_column_optionContext); } else { return this.getRuleContext(i, Alter_identity_column_optionContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_identity_column_option_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_identity_column_option_list) { listener.enterAlter_identity_column_option_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_identity_column_option_list) { listener.exitAlter_identity_column_option_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_identity_column_option_list) { return visitor.visitAlter_identity_column_option_list(this); } else { return visitor.visitChildren(this); } } } export class Alter_identity_column_optionContext extends ParserRuleContext { public KW_RESTART(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESTART, 0); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } public opt_with(): Opt_withContext | undefined { return this.tryGetRuleContext(0, Opt_withContext); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public seqoptelem(): SeqoptelemContext | undefined { return this.tryGetRuleContext(0, SeqoptelemContext); } public KW_GENERATED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GENERATED, 0); } public generated_when(): Generated_whenContext | undefined { return this.tryGetRuleContext(0, Generated_whenContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_identity_column_option; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_identity_column_option) { listener.enterAlter_identity_column_option(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_identity_column_option) { listener.exitAlter_identity_column_option(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_identity_column_option) { return visitor.visitAlter_identity_column_option(this); } else { return visitor.visitChildren(this); } } } export class PartitionboundspecContext extends ParserRuleContext { public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public KW_VALUES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALUES, 0); } public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } public OPEN_PAREN(): TerminalNode[]; public OPEN_PAREN(i: number): TerminalNode; public OPEN_PAREN(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.OPEN_PAREN); } else { return this.getToken(PostgreSQLParser.OPEN_PAREN, i); } } public hash_partbound(): Hash_partboundContext | undefined { return this.tryGetRuleContext(0, Hash_partboundContext); } public CLOSE_PAREN(): TerminalNode[]; public CLOSE_PAREN(i: number): TerminalNode; public CLOSE_PAREN(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.CLOSE_PAREN); } else { return this.getToken(PostgreSQLParser.CLOSE_PAREN, i); } } public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } public expr_list(): Expr_listContext[]; public expr_list(i: number): Expr_listContext; public expr_list(i?: number): Expr_listContext | Expr_listContext[] { if (i === undefined) { return this.getRuleContexts(Expr_listContext); } else { return this.getRuleContext(i, Expr_listContext); } } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_partitionboundspec; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPartitionboundspec) { listener.enterPartitionboundspec(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPartitionboundspec) { listener.exitPartitionboundspec(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPartitionboundspec) { return visitor.visitPartitionboundspec(this); } else { return visitor.visitChildren(this); } } } export class Hash_partbound_elemContext extends ParserRuleContext { public nonreservedword(): NonreservedwordContext { return this.getRuleContext(0, NonreservedwordContext); } public iconst(): IconstContext { return this.getRuleContext(0, IconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_hash_partbound_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterHash_partbound_elem) { listener.enterHash_partbound_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitHash_partbound_elem) { listener.exitHash_partbound_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitHash_partbound_elem) { return visitor.visitHash_partbound_elem(this); } else { return visitor.visitChildren(this); } } } export class Hash_partboundContext extends ParserRuleContext { public hash_partbound_elem(): Hash_partbound_elemContext[]; public hash_partbound_elem(i: number): Hash_partbound_elemContext; public hash_partbound_elem(i?: number): Hash_partbound_elemContext | Hash_partbound_elemContext[] { if (i === undefined) { return this.getRuleContexts(Hash_partbound_elemContext); } else { return this.getRuleContext(i, Hash_partbound_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_hash_partbound; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterHash_partbound) { listener.enterHash_partbound(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitHash_partbound) { listener.exitHash_partbound(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitHash_partbound) { return visitor.visitHash_partbound(this); } else { return visitor.visitChildren(this); } } } export class AltercompositetypestmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_TYPE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TYPE, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } public alter_type_cmds(): Alter_type_cmdsContext { return this.getRuleContext(0, Alter_type_cmdsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_altercompositetypestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAltercompositetypestmt) { listener.enterAltercompositetypestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAltercompositetypestmt) { listener.exitAltercompositetypestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAltercompositetypestmt) { return visitor.visitAltercompositetypestmt(this); } else { return visitor.visitChildren(this); } } } export class Alter_type_cmdsContext extends ParserRuleContext { public alter_type_cmd(): Alter_type_cmdContext[]; public alter_type_cmd(i: number): Alter_type_cmdContext; public alter_type_cmd(i?: number): Alter_type_cmdContext | Alter_type_cmdContext[] { if (i === undefined) { return this.getRuleContexts(Alter_type_cmdContext); } else { return this.getRuleContext(i, Alter_type_cmdContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_type_cmds; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_type_cmds) { listener.enterAlter_type_cmds(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_type_cmds) { listener.exitAlter_type_cmds(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_type_cmds) { return visitor.visitAlter_type_cmds(this); } else { return visitor.visitChildren(this); } } } export class Alter_type_cmdContext extends ParserRuleContext { public KW_ADD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADD, 0); } public KW_ATTRIBUTE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ATTRIBUTE, 0); } public tablefuncelement(): TablefuncelementContext | undefined { return this.tryGetRuleContext(0, TablefuncelementContext); } public opt_drop_behavior(): Opt_drop_behaviorContext | undefined { return this.tryGetRuleContext(0, Opt_drop_behaviorContext); } public KW_DROP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DROP, 0); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public opt_if_exists(): Opt_if_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_existsContext); } public KW_ALTER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALTER, 0); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } public typename(): TypenameContext | undefined { return this.tryGetRuleContext(0, TypenameContext); } public opt_set_data(): Opt_set_dataContext | undefined { return this.tryGetRuleContext(0, Opt_set_dataContext); } public opt_collate_clause(): Opt_collate_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_collate_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_type_cmd; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_type_cmd) { listener.enterAlter_type_cmd(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_type_cmd) { listener.exitAlter_type_cmd(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_type_cmd) { return visitor.visitAlter_type_cmd(this); } else { return visitor.visitChildren(this); } } } export class CloseportalstmtContext extends ParserRuleContext { public KW_CLOSE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CLOSE, 0); } public cursor_name(): Cursor_nameContext | undefined { return this.tryGetRuleContext(0, Cursor_nameContext); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_closeportalstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCloseportalstmt) { listener.enterCloseportalstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCloseportalstmt) { listener.exitCloseportalstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCloseportalstmt) { return visitor.visitCloseportalstmt(this); } else { return visitor.visitChildren(this); } } } export class CopystmtContext extends ParserRuleContext { public KW_COPY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_COPY, 0); } public table_name(): Table_nameContext | undefined { return this.tryGetRuleContext(0, Table_nameContext); } public copy_from(): Copy_fromContext | undefined { return this.tryGetRuleContext(0, Copy_fromContext); } public copy_file_name(): Copy_file_nameContext { return this.getRuleContext(0, Copy_file_nameContext); } public copy_options(): Copy_optionsContext { return this.getRuleContext(0, Copy_optionsContext); } public opt_binary(): Opt_binaryContext | undefined { return this.tryGetRuleContext(0, Opt_binaryContext); } public opt_column_list(): Opt_column_listContext | undefined { return this.tryGetRuleContext(0, Opt_column_listContext); } public opt_program(): Opt_programContext | undefined { return this.tryGetRuleContext(0, Opt_programContext); } public copy_delimiter(): Copy_delimiterContext | undefined { return this.tryGetRuleContext(0, Copy_delimiterContext); } public opt_with(): Opt_withContext | undefined { return this.tryGetRuleContext(0, Opt_withContext); } public where_clause(): Where_clauseContext | undefined { return this.tryGetRuleContext(0, Where_clauseContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public preparablestmt(): PreparablestmtContext | undefined { return this.tryGetRuleContext(0, PreparablestmtContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_copystmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCopystmt) { listener.enterCopystmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCopystmt) { listener.exitCopystmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCopystmt) { return visitor.visitCopystmt(this); } else { return visitor.visitChildren(this); } } } export class Copy_fromContext extends ParserRuleContext { public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_copy_from; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCopy_from) { listener.enterCopy_from(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCopy_from) { listener.exitCopy_from(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCopy_from) { return visitor.visitCopy_from(this); } else { return visitor.visitChildren(this); } } } export class Opt_programContext extends ParserRuleContext { public KW_PROGRAM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PROGRAM, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_program; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_program) { listener.enterOpt_program(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_program) { listener.exitOpt_program(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_program) { return visitor.visitOpt_program(this); } else { return visitor.visitChildren(this); } } } export class Copy_file_nameContext extends ParserRuleContext { public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public KW_STDIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STDIN, 0); } public KW_STDOUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STDOUT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_copy_file_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCopy_file_name) { listener.enterCopy_file_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCopy_file_name) { listener.exitCopy_file_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCopy_file_name) { return visitor.visitCopy_file_name(this); } else { return visitor.visitChildren(this); } } } export class Copy_optionsContext extends ParserRuleContext { public copy_opt_list(): Copy_opt_listContext | undefined { return this.tryGetRuleContext(0, Copy_opt_listContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public copy_generic_opt_list(): Copy_generic_opt_listContext | undefined { return this.tryGetRuleContext(0, Copy_generic_opt_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_copy_options; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCopy_options) { listener.enterCopy_options(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCopy_options) { listener.exitCopy_options(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCopy_options) { return visitor.visitCopy_options(this); } else { return visitor.visitChildren(this); } } } export class Copy_opt_listContext extends ParserRuleContext { public copy_opt_item(): Copy_opt_itemContext[]; public copy_opt_item(i: number): Copy_opt_itemContext; public copy_opt_item(i?: number): Copy_opt_itemContext | Copy_opt_itemContext[] { if (i === undefined) { return this.getRuleContexts(Copy_opt_itemContext); } else { return this.getRuleContext(i, Copy_opt_itemContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_copy_opt_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCopy_opt_list) { listener.enterCopy_opt_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCopy_opt_list) { listener.exitCopy_opt_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCopy_opt_list) { return visitor.visitCopy_opt_list(this); } else { return visitor.visitChildren(this); } } } export class Copy_opt_itemContext extends ParserRuleContext { public KW_BINARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BINARY, 0); } public KW_FREEZE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FREEZE, 0); } public KW_DELIMITER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DELIMITER, 0); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public opt_as(): Opt_asContext | undefined { return this.tryGetRuleContext(0, Opt_asContext); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } public KW_CSV(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CSV, 0); } public KW_HEADER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_HEADER, 0); } public KW_QUOTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_QUOTE, 0); } public KW_ESCAPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ESCAPE, 0); } public KW_FORCE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FORCE, 0); } public columnlist(): ColumnlistContext | undefined { return this.tryGetRuleContext(0, ColumnlistContext); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public KW_ENCODING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ENCODING, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_copy_opt_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCopy_opt_item) { listener.enterCopy_opt_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCopy_opt_item) { listener.exitCopy_opt_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCopy_opt_item) { return visitor.visitCopy_opt_item(this); } else { return visitor.visitChildren(this); } } } export class Opt_binaryContext extends ParserRuleContext { public KW_BINARY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BINARY, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_binary; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_binary) { listener.enterOpt_binary(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_binary) { listener.exitOpt_binary(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_binary) { return visitor.visitOpt_binary(this); } else { return visitor.visitChildren(this); } } } export class Copy_delimiterContext extends ParserRuleContext { public KW_DELIMITERS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DELIMITERS, 0); } public sconst(): SconstContext { return this.getRuleContext(0, SconstContext); } public opt_using(): Opt_usingContext | undefined { return this.tryGetRuleContext(0, Opt_usingContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_copy_delimiter; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCopy_delimiter) { listener.enterCopy_delimiter(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCopy_delimiter) { listener.exitCopy_delimiter(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCopy_delimiter) { return visitor.visitCopy_delimiter(this); } else { return visitor.visitChildren(this); } } } export class Opt_usingContext extends ParserRuleContext { public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_using; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_using) { listener.enterOpt_using(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_using) { listener.exitOpt_using(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_using) { return visitor.visitOpt_using(this); } else { return visitor.visitChildren(this); } } } export class Copy_generic_opt_listContext extends ParserRuleContext { public copy_generic_opt_elem(): Copy_generic_opt_elemContext[]; public copy_generic_opt_elem(i: number): Copy_generic_opt_elemContext; public copy_generic_opt_elem(i?: number): Copy_generic_opt_elemContext | Copy_generic_opt_elemContext[] { if (i === undefined) { return this.getRuleContexts(Copy_generic_opt_elemContext); } else { return this.getRuleContext(i, Copy_generic_opt_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_copy_generic_opt_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCopy_generic_opt_list) { listener.enterCopy_generic_opt_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCopy_generic_opt_list) { listener.exitCopy_generic_opt_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCopy_generic_opt_list) { return visitor.visitCopy_generic_opt_list(this); } else { return visitor.visitChildren(this); } } } export class Copy_generic_opt_elemContext extends ParserRuleContext { public collabel(): CollabelContext { return this.getRuleContext(0, CollabelContext); } public copy_generic_opt_arg(): Copy_generic_opt_argContext | undefined { return this.tryGetRuleContext(0, Copy_generic_opt_argContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_copy_generic_opt_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCopy_generic_opt_elem) { listener.enterCopy_generic_opt_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCopy_generic_opt_elem) { listener.exitCopy_generic_opt_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCopy_generic_opt_elem) { return visitor.visitCopy_generic_opt_elem(this); } else { return visitor.visitChildren(this); } } } export class Copy_generic_opt_argContext extends ParserRuleContext { public opt_boolean_or_string(): Opt_boolean_or_stringContext | undefined { return this.tryGetRuleContext(0, Opt_boolean_or_stringContext); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public copy_generic_opt_arg_list(): Copy_generic_opt_arg_listContext | undefined { return this.tryGetRuleContext(0, Copy_generic_opt_arg_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_copy_generic_opt_arg; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCopy_generic_opt_arg) { listener.enterCopy_generic_opt_arg(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCopy_generic_opt_arg) { listener.exitCopy_generic_opt_arg(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCopy_generic_opt_arg) { return visitor.visitCopy_generic_opt_arg(this); } else { return visitor.visitChildren(this); } } } export class Copy_generic_opt_arg_listContext extends ParserRuleContext { public copy_generic_opt_arg_list_item(): Copy_generic_opt_arg_list_itemContext[]; public copy_generic_opt_arg_list_item(i: number): Copy_generic_opt_arg_list_itemContext; public copy_generic_opt_arg_list_item(i?: number): Copy_generic_opt_arg_list_itemContext | Copy_generic_opt_arg_list_itemContext[] { if (i === undefined) { return this.getRuleContexts(Copy_generic_opt_arg_list_itemContext); } else { return this.getRuleContext(i, Copy_generic_opt_arg_list_itemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_copy_generic_opt_arg_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCopy_generic_opt_arg_list) { listener.enterCopy_generic_opt_arg_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCopy_generic_opt_arg_list) { listener.exitCopy_generic_opt_arg_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCopy_generic_opt_arg_list) { return visitor.visitCopy_generic_opt_arg_list(this); } else { return visitor.visitChildren(this); } } } export class Copy_generic_opt_arg_list_itemContext extends ParserRuleContext { public opt_boolean_or_string_column(): Opt_boolean_or_string_columnContext { return this.getRuleContext(0, Opt_boolean_or_string_columnContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_copy_generic_opt_arg_list_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCopy_generic_opt_arg_list_item) { listener.enterCopy_generic_opt_arg_list_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCopy_generic_opt_arg_list_item) { listener.exitCopy_generic_opt_arg_list_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCopy_generic_opt_arg_list_item) { return visitor.visitCopy_generic_opt_arg_list_item(this); } else { return visitor.visitChildren(this); } } } export class CreatestmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_TABLE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TABLE, 0); } public table_name_create(): Table_name_createContext { return this.getRuleContext(0, Table_name_createContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_OF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OF, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public KW_PARTITION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARTITION, 0); } public qualified_name(): Qualified_nameContext | undefined { return this.tryGetRuleContext(0, Qualified_nameContext); } public partitionboundspec(): PartitionboundspecContext | undefined { return this.tryGetRuleContext(0, PartitionboundspecContext); } public opttemp(): OpttempContext | undefined { return this.tryGetRuleContext(0, OpttempContext); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } public table_column_list(): Table_column_listContext | undefined { return this.tryGetRuleContext(0, Table_column_listContext); } public optinherit(): OptinheritContext | undefined { return this.tryGetRuleContext(0, OptinheritContext); } public optpartitionspec(): OptpartitionspecContext | undefined { return this.tryGetRuleContext(0, OptpartitionspecContext); } public table_access_method_clause(): Table_access_method_clauseContext | undefined { return this.tryGetRuleContext(0, Table_access_method_clauseContext); } public optwith(): OptwithContext | undefined { return this.tryGetRuleContext(0, OptwithContext); } public oncommitoption(): OncommitoptionContext | undefined { return this.tryGetRuleContext(0, OncommitoptionContext); } public opttablespace(): OpttablespaceContext | undefined { return this.tryGetRuleContext(0, OpttablespaceContext); } public opttypedtableelementlist(): OpttypedtableelementlistContext | undefined { return this.tryGetRuleContext(0, OpttypedtableelementlistContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatestmt) { listener.enterCreatestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatestmt) { listener.exitCreatestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatestmt) { return visitor.visitCreatestmt(this); } else { return visitor.visitChildren(this); } } } export class OpttempContext extends ParserRuleContext { public KW_TEMPORARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMPORARY, 0); } public KW_TEMP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMP, 0); } public KW_LOCAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCAL, 0); } public KW_GLOBAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GLOBAL, 0); } public KW_UNLOGGED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNLOGGED, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opttemp; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpttemp) { listener.enterOpttemp(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpttemp) { listener.exitOpttemp(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpttemp) { return visitor.visitOpttemp(this); } else { return visitor.visitChildren(this); } } } export class Table_column_listContext extends ParserRuleContext { public tableelementlist(): TableelementlistContext { return this.getRuleContext(0, TableelementlistContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_table_column_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTable_column_list) { listener.enterTable_column_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTable_column_list) { listener.exitTable_column_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTable_column_list) { return visitor.visitTable_column_list(this); } else { return visitor.visitChildren(this); } } } export class OpttableelementlistContext extends ParserRuleContext { public tableelementlist(): TableelementlistContext { return this.getRuleContext(0, TableelementlistContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opttableelementlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpttableelementlist) { listener.enterOpttableelementlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpttableelementlist) { listener.exitOpttableelementlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpttableelementlist) { return visitor.visitOpttableelementlist(this); } else { return visitor.visitChildren(this); } } } export class OpttypedtableelementlistContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public typedtableelementlist(): TypedtableelementlistContext { return this.getRuleContext(0, TypedtableelementlistContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opttypedtableelementlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpttypedtableelementlist) { listener.enterOpttypedtableelementlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpttypedtableelementlist) { listener.exitOpttypedtableelementlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpttypedtableelementlist) { return visitor.visitOpttypedtableelementlist(this); } else { return visitor.visitChildren(this); } } } export class TableelementlistContext extends ParserRuleContext { public tableelement(): TableelementContext[]; public tableelement(i: number): TableelementContext; public tableelement(i?: number): TableelementContext | TableelementContext[] { if (i === undefined) { return this.getRuleContexts(TableelementContext); } else { return this.getRuleContext(i, TableelementContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_tableelementlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTableelementlist) { listener.enterTableelementlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTableelementlist) { listener.exitTableelementlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTableelementlist) { return visitor.visitTableelementlist(this); } else { return visitor.visitChildren(this); } } } export class TypedtableelementlistContext extends ParserRuleContext { public typedtableelement(): TypedtableelementContext[]; public typedtableelement(i: number): TypedtableelementContext; public typedtableelement(i?: number): TypedtableelementContext | TypedtableelementContext[] { if (i === undefined) { return this.getRuleContexts(TypedtableelementContext); } else { return this.getRuleContext(i, TypedtableelementContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_typedtableelementlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTypedtableelementlist) { listener.enterTypedtableelementlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTypedtableelementlist) { listener.exitTypedtableelementlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTypedtableelementlist) { return visitor.visitTypedtableelementlist(this); } else { return visitor.visitChildren(this); } } } export class TableelementContext extends ParserRuleContext { public columnDef(): ColumnDefContext | undefined { return this.tryGetRuleContext(0, ColumnDefContext); } public tablelikeclause(): TablelikeclauseContext | undefined { return this.tryGetRuleContext(0, TablelikeclauseContext); } public tableconstraint(): TableconstraintContext | undefined { return this.tryGetRuleContext(0, TableconstraintContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_tableelement; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTableelement) { listener.enterTableelement(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTableelement) { listener.exitTableelement(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTableelement) { return visitor.visitTableelement(this); } else { return visitor.visitChildren(this); } } } export class TypedtableelementContext extends ParserRuleContext { public columnOptions(): ColumnOptionsContext | undefined { return this.tryGetRuleContext(0, ColumnOptionsContext); } public tableconstraint(): TableconstraintContext | undefined { return this.tryGetRuleContext(0, TableconstraintContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_typedtableelement; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTypedtableelement) { listener.enterTypedtableelement(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTypedtableelement) { listener.exitTypedtableelement(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTypedtableelement) { return visitor.visitTypedtableelement(this); } else { return visitor.visitChildren(this); } } } export class ColumnDefCluaseContext extends ParserRuleContext { public column_name(): Column_nameContext { return this.getRuleContext(0, Column_nameContext); } public typename(): TypenameContext { return this.getRuleContext(0, TypenameContext); } public colquallist(): ColquallistContext { return this.getRuleContext(0, ColquallistContext); } public create_generic_options(): Create_generic_optionsContext | undefined { return this.tryGetRuleContext(0, Create_generic_optionsContext); } public storageCluase(): StorageCluaseContext | undefined { return this.tryGetRuleContext(0, StorageCluaseContext); } public compressionCluase(): CompressionCluaseContext | undefined { return this.tryGetRuleContext(0, CompressionCluaseContext); } public KW_COLLATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATE, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } public KW_OPTIONS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPTIONS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_columnDefCluase; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColumnDefCluase) { listener.enterColumnDefCluase(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColumnDefCluase) { listener.exitColumnDefCluase(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColumnDefCluase) { return visitor.visitColumnDefCluase(this); } else { return visitor.visitChildren(this); } } } export class ColumnDefContext extends ParserRuleContext { public column_name(): Column_nameContext { return this.getRuleContext(0, Column_nameContext); } public typename(): TypenameContext { return this.getRuleContext(0, TypenameContext); } public colquallist(): ColquallistContext { return this.getRuleContext(0, ColquallistContext); } public create_generic_options(): Create_generic_optionsContext | undefined { return this.tryGetRuleContext(0, Create_generic_optionsContext); } public storageCluase(): StorageCluaseContext | undefined { return this.tryGetRuleContext(0, StorageCluaseContext); } public compressionCluase(): CompressionCluaseContext | undefined { return this.tryGetRuleContext(0, CompressionCluaseContext); } public KW_COLLATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATE, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } public KW_OPTIONS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPTIONS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_columnDef; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColumnDef) { listener.enterColumnDef(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColumnDef) { listener.exitColumnDef(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColumnDef) { return visitor.visitColumnDef(this); } else { return visitor.visitChildren(this); } } } export class CompressionCluaseContext extends ParserRuleContext { public KW_COMPRESSION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_COMPRESSION, 0); } public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_compressionCluase; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCompressionCluase) { listener.enterCompressionCluase(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCompressionCluase) { listener.exitCompressionCluase(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCompressionCluase) { return visitor.visitCompressionCluase(this); } else { return visitor.visitChildren(this); } } } export class StorageCluaseContext extends ParserRuleContext { public KW_STORAGE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_STORAGE, 0); } public KW_PLAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PLAIN, 0); } public KW_EXTERNAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTERNAL, 0); } public KW_EXTENDED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTENDED, 0); } public KW_MAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MAIN, 0); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_storageCluase; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStorageCluase) { listener.enterStorageCluase(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStorageCluase) { listener.exitStorageCluase(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStorageCluase) { return visitor.visitStorageCluase(this); } else { return visitor.visitChildren(this); } } } export class ColumnOptionsContext extends ParserRuleContext { public column_name(): Column_nameContext { return this.getRuleContext(0, Column_nameContext); } public colquallist(): ColquallistContext { return this.getRuleContext(0, ColquallistContext); } public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } public KW_OPTIONS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPTIONS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_columnOptions; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColumnOptions) { listener.enterColumnOptions(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColumnOptions) { listener.exitColumnOptions(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColumnOptions) { return visitor.visitColumnOptions(this); } else { return visitor.visitChildren(this); } } } export class ColquallistContext extends ParserRuleContext { public colconstraint(): ColconstraintContext[]; public colconstraint(i: number): ColconstraintContext; public colconstraint(i?: number): ColconstraintContext | ColconstraintContext[] { if (i === undefined) { return this.getRuleContexts(ColconstraintContext); } else { return this.getRuleContext(i, ColconstraintContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_colquallist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColquallist) { listener.enterColquallist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColquallist) { listener.exitColquallist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColquallist) { return visitor.visitColquallist(this); } else { return visitor.visitChildren(this); } } } export class ColconstraintContext extends ParserRuleContext { public colconstraintelem(): ColconstraintelemContext { return this.getRuleContext(0, ColconstraintelemContext); } public KW_CONSTRAINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTRAINT, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } public deferrable_trigger(): Deferrable_triggerContext | undefined { return this.tryGetRuleContext(0, Deferrable_triggerContext); } public initially_trigger(): Initially_triggerContext | undefined { return this.tryGetRuleContext(0, Initially_triggerContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_colconstraint; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColconstraint) { listener.enterColconstraint(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColconstraint) { listener.exitColconstraint(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColconstraint) { return visitor.visitColconstraint(this); } else { return visitor.visitChildren(this); } } } export class ColconstraintelemContext extends ParserRuleContext { public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } public KW_UNIQUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNIQUE, 0); } public opt_definition(): Opt_definitionContext | undefined { return this.tryGetRuleContext(0, Opt_definitionContext); } public optconstablespace(): OptconstablespaceContext | undefined { return this.tryGetRuleContext(0, OptconstablespaceContext); } public index_paramenters_create(): Index_paramenters_createContext | undefined { return this.tryGetRuleContext(0, Index_paramenters_createContext); } public nulls_distinct(): Nulls_distinctContext | undefined { return this.tryGetRuleContext(0, Nulls_distinctContext); } public KW_PRIMARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRIMARY, 0); } public KW_KEY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_KEY, 0); } public KW_CHECK(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CHECK, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public opt_no_inherit(): Opt_no_inheritContext | undefined { return this.tryGetRuleContext(0, Opt_no_inheritContext); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public b_expr(): B_exprContext | undefined { return this.tryGetRuleContext(0, B_exprContext); } public KW_GENERATED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GENERATED, 0); } public generated_when(): Generated_whenContext | undefined { return this.tryGetRuleContext(0, Generated_whenContext); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public KW_IDENTITY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IDENTITY, 0); } public KW_STORED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STORED, 0); } public optparenthesizedseqoptlist(): OptparenthesizedseqoptlistContext | undefined { return this.tryGetRuleContext(0, OptparenthesizedseqoptlistContext); } public KW_REFERENCES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REFERENCES, 0); } public qualified_name(): Qualified_nameContext | undefined { return this.tryGetRuleContext(0, Qualified_nameContext); } public opt_column_list(): Opt_column_listContext | undefined { return this.tryGetRuleContext(0, Opt_column_listContext); } public key_match(): Key_matchContext | undefined { return this.tryGetRuleContext(0, Key_matchContext); } public key_actions(): Key_actionsContext | undefined { return this.tryGetRuleContext(0, Key_actionsContext); } public opt_collate(): Opt_collateContext | undefined { return this.tryGetRuleContext(0, Opt_collateContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_colconstraintelem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColconstraintelem) { listener.enterColconstraintelem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColconstraintelem) { listener.exitColconstraintelem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColconstraintelem) { return visitor.visitColconstraintelem(this); } else { return visitor.visitChildren(this); } } } export class Nulls_distinctContext extends ParserRuleContext { public KW_NULLS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_NULLS, 0); } public KW_DISTINCT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DISTINCT, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_nulls_distinct; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterNulls_distinct) { listener.enterNulls_distinct(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitNulls_distinct) { listener.exitNulls_distinct(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitNulls_distinct) { return visitor.visitNulls_distinct(this); } else { return visitor.visitChildren(this); } } } export class Generated_whenContext extends ParserRuleContext { public KW_ALWAYS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALWAYS, 0); } public KW_BY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BY, 0); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_generated_when; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGenerated_when) { listener.enterGenerated_when(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGenerated_when) { listener.exitGenerated_when(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGenerated_when) { return visitor.visitGenerated_when(this); } else { return visitor.visitChildren(this); } } } export class Deferrable_triggerContext extends ParserRuleContext { public KW_DEFERRABLE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DEFERRABLE, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_deferrable_trigger; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDeferrable_trigger) { listener.enterDeferrable_trigger(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDeferrable_trigger) { listener.exitDeferrable_trigger(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDeferrable_trigger) { return visitor.visitDeferrable_trigger(this); } else { return visitor.visitChildren(this); } } } export class Initially_triggerContext extends ParserRuleContext { public KW_INITIALLY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INITIALLY, 0); } public KW_DEFERRED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFERRED, 0); } public KW_IMMEDIATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IMMEDIATE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_initially_trigger; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterInitially_trigger) { listener.enterInitially_trigger(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitInitially_trigger) { listener.exitInitially_trigger(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitInitially_trigger) { return visitor.visitInitially_trigger(this); } else { return visitor.visitChildren(this); } } } export class TablelikeclauseContext extends ParserRuleContext { public KW_LIKE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_LIKE, 0); } public qualified_name(): Qualified_nameContext { return this.getRuleContext(0, Qualified_nameContext); } public tablelikeoptionlist(): TablelikeoptionlistContext { return this.getRuleContext(0, TablelikeoptionlistContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_tablelikeclause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTablelikeclause) { listener.enterTablelikeclause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTablelikeclause) { listener.exitTablelikeclause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTablelikeclause) { return visitor.visitTablelikeclause(this); } else { return visitor.visitChildren(this); } } } export class TablelikeoptionlistContext extends ParserRuleContext { public tablelikeoption(): TablelikeoptionContext[]; public tablelikeoption(i: number): TablelikeoptionContext; public tablelikeoption(i?: number): TablelikeoptionContext | TablelikeoptionContext[] { if (i === undefined) { return this.getRuleContexts(TablelikeoptionContext); } else { return this.getRuleContext(i, TablelikeoptionContext); } } public KW_INCLUDING(): TerminalNode[]; public KW_INCLUDING(i: number): TerminalNode; public KW_INCLUDING(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_INCLUDING); } else { return this.getToken(PostgreSQLParser.KW_INCLUDING, i); } } public KW_EXCLUDING(): TerminalNode[]; public KW_EXCLUDING(i: number): TerminalNode; public KW_EXCLUDING(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_EXCLUDING); } else { return this.getToken(PostgreSQLParser.KW_EXCLUDING, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_tablelikeoptionlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTablelikeoptionlist) { listener.enterTablelikeoptionlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTablelikeoptionlist) { listener.exitTablelikeoptionlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTablelikeoptionlist) { return visitor.visitTablelikeoptionlist(this); } else { return visitor.visitChildren(this); } } } export class TablelikeoptionContext extends ParserRuleContext { public KW_COMMENTS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COMMENTS, 0); } public KW_CONSTRAINTS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTRAINTS, 0); } public KW_DEFAULTS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULTS, 0); } public KW_IDENTITY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IDENTITY, 0); } public KW_GENERATED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GENERATED, 0); } public KW_INDEXES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INDEXES, 0); } public KW_STATISTICS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STATISTICS, 0); } public KW_STORAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STORAGE, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_tablelikeoption; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTablelikeoption) { listener.enterTablelikeoption(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTablelikeoption) { listener.exitTablelikeoption(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTablelikeoption) { return visitor.visitTablelikeoption(this); } else { return visitor.visitChildren(this); } } } export class TableconstraintContext extends ParserRuleContext { public KW_CONSTRAINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTRAINT, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } public constraintelem(): ConstraintelemContext { return this.getRuleContext(0, ConstraintelemContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_tableconstraint; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTableconstraint) { listener.enterTableconstraint(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTableconstraint) { listener.exitTableconstraint(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTableconstraint) { return visitor.visitTableconstraint(this); } else { return visitor.visitChildren(this); } } } export class ConstraintelemContext extends ParserRuleContext { public KW_CHECK(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CHECK, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public constraintattributespec(): ConstraintattributespecContext | undefined { return this.tryGetRuleContext(0, ConstraintattributespecContext); } public KW_UNIQUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNIQUE, 0); } public columnlist(): ColumnlistContext | undefined { return this.tryGetRuleContext(0, ColumnlistContext); } public existingindex(): ExistingindexContext | undefined { return this.tryGetRuleContext(0, ExistingindexContext); } public opt_c_include(): Opt_c_includeContext | undefined { return this.tryGetRuleContext(0, Opt_c_includeContext); } public opt_definition(): Opt_definitionContext | undefined { return this.tryGetRuleContext(0, Opt_definitionContext); } public optconstablespace(): OptconstablespaceContext | undefined { return this.tryGetRuleContext(0, OptconstablespaceContext); } public KW_PRIMARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRIMARY, 0); } public KW_KEY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_KEY, 0); } public KW_EXCLUDE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXCLUDE, 0); } public exclusionconstraintlist(): ExclusionconstraintlistContext | undefined { return this.tryGetRuleContext(0, ExclusionconstraintlistContext); } public access_method_clause(): Access_method_clauseContext | undefined { return this.tryGetRuleContext(0, Access_method_clauseContext); } public exclusionwhereclause(): ExclusionwhereclauseContext | undefined { return this.tryGetRuleContext(0, ExclusionwhereclauseContext); } public KW_FOREIGN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_REFERENCES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REFERENCES, 0); } public qualified_name(): Qualified_nameContext | undefined { return this.tryGetRuleContext(0, Qualified_nameContext); } public opt_column_list(): Opt_column_listContext | undefined { return this.tryGetRuleContext(0, Opt_column_listContext); } public key_match(): Key_matchContext | undefined { return this.tryGetRuleContext(0, Key_matchContext); } public key_actions(): Key_actionsContext | undefined { return this.tryGetRuleContext(0, Key_actionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_constraintelem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterConstraintelem) { listener.enterConstraintelem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitConstraintelem) { listener.exitConstraintelem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitConstraintelem) { return visitor.visitConstraintelem(this); } else { return visitor.visitChildren(this); } } } export class Opt_no_inheritContext extends ParserRuleContext { public KW_NO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_NO, 0); } public KW_INHERIT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INHERIT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_no_inherit; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_no_inherit) { listener.enterOpt_no_inherit(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_no_inherit) { listener.exitOpt_no_inherit(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_no_inherit) { return visitor.visitOpt_no_inherit(this); } else { return visitor.visitChildren(this); } } } export class Opt_column_listContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public columnlist(): ColumnlistContext { return this.getRuleContext(0, ColumnlistContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_column_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_column_list) { listener.enterOpt_column_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_column_list) { listener.exitOpt_column_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_column_list) { return visitor.visitOpt_column_list(this); } else { return visitor.visitChildren(this); } } } export class ColumnlistContext extends ParserRuleContext { public column_name(): Column_nameContext[]; public column_name(i: number): Column_nameContext; public column_name(i?: number): Column_nameContext | Column_nameContext[] { if (i === undefined) { return this.getRuleContexts(Column_nameContext); } else { return this.getRuleContext(i, Column_nameContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_columnlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColumnlist) { listener.enterColumnlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColumnlist) { listener.exitColumnlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColumnlist) { return visitor.visitColumnlist(this); } else { return visitor.visitChildren(this); } } } export class Opt_c_includeContext extends ParserRuleContext { public KW_INCLUDE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INCLUDE, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public columnlist(): ColumnlistContext { return this.getRuleContext(0, ColumnlistContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_c_include; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_c_include) { listener.enterOpt_c_include(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_c_include) { listener.exitOpt_c_include(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_c_include) { return visitor.visitOpt_c_include(this); } else { return visitor.visitChildren(this); } } } export class Key_matchContext extends ParserRuleContext { public KW_MATCH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_MATCH, 0); } public KW_FULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FULL, 0); } public KW_PARTIAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARTIAL, 0); } public KW_SIMPLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SIMPLE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_key_match; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterKey_match) { listener.enterKey_match(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitKey_match) { listener.exitKey_match(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitKey_match) { return visitor.visitKey_match(this); } else { return visitor.visitChildren(this); } } } export class ExclusionconstraintlistContext extends ParserRuleContext { public exclusionconstraintelem(): ExclusionconstraintelemContext[]; public exclusionconstraintelem(i: number): ExclusionconstraintelemContext; public exclusionconstraintelem(i?: number): ExclusionconstraintelemContext | ExclusionconstraintelemContext[] { if (i === undefined) { return this.getRuleContexts(ExclusionconstraintelemContext); } else { return this.getRuleContext(i, ExclusionconstraintelemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_exclusionconstraintlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExclusionconstraintlist) { listener.enterExclusionconstraintlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExclusionconstraintlist) { listener.exitExclusionconstraintlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExclusionconstraintlist) { return visitor.visitExclusionconstraintlist(this); } else { return visitor.visitChildren(this); } } } export class ExclusionconstraintelemContext extends ParserRuleContext { public index_elem(): Index_elemContext { return this.getRuleContext(0, Index_elemContext); } public KW_WITH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WITH, 0); } public any_operator(): Any_operatorContext | undefined { return this.tryGetRuleContext(0, Any_operatorContext); } public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_exclusionconstraintelem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExclusionconstraintelem) { listener.enterExclusionconstraintelem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExclusionconstraintelem) { listener.exitExclusionconstraintelem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExclusionconstraintelem) { return visitor.visitExclusionconstraintelem(this); } else { return visitor.visitChildren(this); } } } export class ExclusionwhereclauseContext extends ParserRuleContext { public KW_WHERE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WHERE, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_exclusionwhereclause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExclusionwhereclause) { listener.enterExclusionwhereclause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExclusionwhereclause) { listener.exitExclusionwhereclause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExclusionwhereclause) { return visitor.visitExclusionwhereclause(this); } else { return visitor.visitChildren(this); } } } export class Key_actionsContext extends ParserRuleContext { public key_update(): Key_updateContext | undefined { return this.tryGetRuleContext(0, Key_updateContext); } public key_delete(): Key_deleteContext | undefined { return this.tryGetRuleContext(0, Key_deleteContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_key_actions; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterKey_actions) { listener.enterKey_actions(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitKey_actions) { listener.exitKey_actions(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitKey_actions) { return visitor.visitKey_actions(this); } else { return visitor.visitChildren(this); } } } export class Key_updateContext extends ParserRuleContext { public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public KW_UPDATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_UPDATE, 0); } public key_action(): Key_actionContext { return this.getRuleContext(0, Key_actionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_key_update; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterKey_update) { listener.enterKey_update(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitKey_update) { listener.exitKey_update(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitKey_update) { return visitor.visitKey_update(this); } else { return visitor.visitChildren(this); } } } export class Key_deleteContext extends ParserRuleContext { public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public KW_DELETE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DELETE, 0); } public key_action(): Key_actionContext { return this.getRuleContext(0, Key_actionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_key_delete; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterKey_delete) { listener.enterKey_delete(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitKey_delete) { listener.exitKey_delete(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitKey_delete) { return visitor.visitKey_delete(this); } else { return visitor.visitChildren(this); } } } export class Key_actionContext extends ParserRuleContext { public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } public KW_ACTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ACTION, 0); } public KW_RESTRICT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESTRICT, 0); } public KW_CASCADE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CASCADE, 0); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public columnlist(): ColumnlistContext | undefined { return this.tryGetRuleContext(0, ColumnlistContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_key_action; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterKey_action) { listener.enterKey_action(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitKey_action) { listener.exitKey_action(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitKey_action) { return visitor.visitKey_action(this); } else { return visitor.visitChildren(this); } } } export class OptinheritContext extends ParserRuleContext { public KW_INHERITS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INHERITS, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public qualified_name_list(): Qualified_name_listContext { return this.getRuleContext(0, Qualified_name_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_optinherit; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOptinherit) { listener.enterOptinherit(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOptinherit) { listener.exitOptinherit(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOptinherit) { return visitor.visitOptinherit(this); } else { return visitor.visitChildren(this); } } } export class OptpartitionspecContext extends ParserRuleContext { public partitionspec(): PartitionspecContext { return this.getRuleContext(0, PartitionspecContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_optpartitionspec; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOptpartitionspec) { listener.enterOptpartitionspec(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOptpartitionspec) { listener.exitOptpartitionspec(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOptpartitionspec) { return visitor.visitOptpartitionspec(this); } else { return visitor.visitChildren(this); } } } export class PartitionspecContext extends ParserRuleContext { public KW_PARTITION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PARTITION, 0); } public KW_BY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BY, 0); } public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public part_params(): Part_paramsContext { return this.getRuleContext(0, Part_paramsContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_partitionspec; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPartitionspec) { listener.enterPartitionspec(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPartitionspec) { listener.exitPartitionspec(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPartitionspec) { return visitor.visitPartitionspec(this); } else { return visitor.visitChildren(this); } } } export class Part_paramsContext extends ParserRuleContext { public part_elem(): Part_elemContext[]; public part_elem(i: number): Part_elemContext; public part_elem(i?: number): Part_elemContext | Part_elemContext[] { if (i === undefined) { return this.getRuleContexts(Part_elemContext); } else { return this.getRuleContext(i, Part_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_part_params; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPart_params) { listener.enterPart_params(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPart_params) { listener.exitPart_params(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPart_params) { return visitor.visitPart_params(this); } else { return visitor.visitChildren(this); } } } export class Part_elemContext extends ParserRuleContext { public column_name(): Column_nameContext | undefined { return this.tryGetRuleContext(0, Column_nameContext); } public opt_collate(): Opt_collateContext | undefined { return this.tryGetRuleContext(0, Opt_collateContext); } public opt_class(): Opt_classContext | undefined { return this.tryGetRuleContext(0, Opt_classContext); } public func_expr_windowless(): Func_expr_windowlessContext | undefined { return this.tryGetRuleContext(0, Func_expr_windowlessContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_part_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPart_elem) { listener.enterPart_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPart_elem) { listener.exitPart_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPart_elem) { return visitor.visitPart_elem(this); } else { return visitor.visitChildren(this); } } } export class Table_access_method_clauseContext extends ParserRuleContext { public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_table_access_method_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTable_access_method_clause) { listener.enterTable_access_method_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTable_access_method_clause) { listener.exitTable_access_method_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTable_access_method_clause) { return visitor.visitTable_access_method_clause(this); } else { return visitor.visitChildren(this); } } } export class OptwithContext extends ParserRuleContext { public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } public reloptions(): ReloptionsContext | undefined { return this.tryGetRuleContext(0, ReloptionsContext); } public KW_WITHOUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITHOUT, 0); } public KW_OIDS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OIDS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_optwith; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOptwith) { listener.enterOptwith(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOptwith) { listener.exitOptwith(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOptwith) { return visitor.visitOptwith(this); } else { return visitor.visitChildren(this); } } } export class OncommitoptionContext extends ParserRuleContext { public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public KW_COMMIT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_COMMIT, 0); } public KW_DROP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DROP, 0); } public KW_DELETE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DELETE, 0); } public KW_ROWS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROWS, 0); } public KW_PRESERVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRESERVE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_oncommitoption; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOncommitoption) { listener.enterOncommitoption(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOncommitoption) { listener.exitOncommitoption(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOncommitoption) { return visitor.visitOncommitoption(this); } else { return visitor.visitChildren(this); } } } export class OpttablespaceContext extends ParserRuleContext { public KW_TABLESPACE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TABLESPACE, 0); } public tablespace_name(): Tablespace_nameContext { return this.getRuleContext(0, Tablespace_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opttablespace; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpttablespace) { listener.enterOpttablespace(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpttablespace) { listener.exitOpttablespace(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpttablespace) { return visitor.visitOpttablespace(this); } else { return visitor.visitChildren(this); } } } export class Index_paramenters_createContext extends ParserRuleContext { public opt_include(): Opt_includeContext | undefined { return this.tryGetRuleContext(0, Opt_includeContext); } public with_clause(): With_clauseContext | undefined { return this.tryGetRuleContext(0, With_clauseContext); } public optconstablespace(): OptconstablespaceContext | undefined { return this.tryGetRuleContext(0, OptconstablespaceContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_index_paramenters_create; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIndex_paramenters_create) { listener.enterIndex_paramenters_create(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIndex_paramenters_create) { listener.exitIndex_paramenters_create(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIndex_paramenters_create) { return visitor.visitIndex_paramenters_create(this); } else { return visitor.visitChildren(this); } } } export class OptconstablespaceContext extends ParserRuleContext { public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } public KW_INDEX(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INDEX, 0); } public KW_TABLESPACE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TABLESPACE, 0); } public tablespace_name(): Tablespace_nameContext { return this.getRuleContext(0, Tablespace_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_optconstablespace; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOptconstablespace) { listener.enterOptconstablespace(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOptconstablespace) { listener.exitOptconstablespace(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOptconstablespace) { return visitor.visitOptconstablespace(this); } else { return visitor.visitChildren(this); } } } export class ExistingindexContext extends ParserRuleContext { public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } public KW_INDEX(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INDEX, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_existingindex; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExistingindex) { listener.enterExistingindex(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExistingindex) { listener.exitExistingindex(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExistingindex) { return visitor.visitExistingindex(this); } else { return visitor.visitChildren(this); } } } export class CreatestatsstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_STATISTICS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_STATISTICS, 0); } public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public KW_FROM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FROM, 0); } public from_list(): From_listContext { return this.getRuleContext(0, From_listContext); } public column_expr_list(): Column_expr_listContext | undefined { return this.tryGetRuleContext(0, Column_expr_listContext); } public expr_list(): Expr_listContext | undefined { return this.tryGetRuleContext(0, Expr_listContext); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public opt_name_list(): Opt_name_listContext | undefined { return this.tryGetRuleContext(0, Opt_name_listContext); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createstatsstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatestatsstmt) { listener.enterCreatestatsstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatestatsstmt) { listener.exitCreatestatsstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatestatsstmt) { return visitor.visitCreatestatsstmt(this); } else { return visitor.visitChildren(this); } } } export class AlterstatsstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_STATISTICS(): TerminalNode[]; public KW_STATISTICS(i: number): TerminalNode; public KW_STATISTICS(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_STATISTICS); } else { return this.getToken(PostgreSQLParser.KW_STATISTICS, i); } } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } public KW_SET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SET, 0); } public signediconst(): SignediconstContext { return this.getRuleContext(0, SignediconstContext); } public opt_if_exists(): Opt_if_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_existsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterstatsstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterstatsstmt) { listener.enterAlterstatsstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterstatsstmt) { listener.exitAlterstatsstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterstatsstmt) { return visitor.visitAlterstatsstmt(this); } else { return visitor.visitChildren(this); } } } export class CreateasstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_TABLE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TABLE, 0); } public create_as_target(): Create_as_targetContext { return this.getRuleContext(0, Create_as_targetContext); } public KW_AS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AS, 0); } public selectstmt(): SelectstmtContext { return this.getRuleContext(0, SelectstmtContext); } public opttemp(): OpttempContext | undefined { return this.tryGetRuleContext(0, OpttempContext); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } public opt_with_data(): Opt_with_dataContext | undefined { return this.tryGetRuleContext(0, Opt_with_dataContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createasstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateasstmt) { listener.enterCreateasstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateasstmt) { listener.exitCreateasstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateasstmt) { return visitor.visitCreateasstmt(this); } else { return visitor.visitChildren(this); } } } export class Create_as_targetContext extends ParserRuleContext { public table_name_create(): Table_name_createContext { return this.getRuleContext(0, Table_name_createContext); } public opt_column_list(): Opt_column_listContext | undefined { return this.tryGetRuleContext(0, Opt_column_listContext); } public table_access_method_clause(): Table_access_method_clauseContext | undefined { return this.tryGetRuleContext(0, Table_access_method_clauseContext); } public optwith(): OptwithContext | undefined { return this.tryGetRuleContext(0, OptwithContext); } public oncommitoption(): OncommitoptionContext | undefined { return this.tryGetRuleContext(0, OncommitoptionContext); } public opttablespace(): OpttablespaceContext | undefined { return this.tryGetRuleContext(0, OpttablespaceContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_create_as_target; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreate_as_target) { listener.enterCreate_as_target(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreate_as_target) { listener.exitCreate_as_target(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreate_as_target) { return visitor.visitCreate_as_target(this); } else { return visitor.visitChildren(this); } } } export class Opt_with_dataContext extends ParserRuleContext { public KW_WITH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WITH, 0); } public KW_DATA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATA, 0); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_with_data; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_with_data) { listener.enterOpt_with_data(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_with_data) { listener.exitOpt_with_data(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_with_data) { return visitor.visitOpt_with_data(this); } else { return visitor.visitChildren(this); } } } export class CreatematviewstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_MATERIALIZED(): TerminalNode { return this.getToken(PostgreSQLParser.KW_MATERIALIZED, 0); } public KW_VIEW(): TerminalNode { return this.getToken(PostgreSQLParser.KW_VIEW, 0); } public create_mv_target(): Create_mv_targetContext { return this.getRuleContext(0, Create_mv_targetContext); } public KW_AS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AS, 0); } public selectstmt(): SelectstmtContext { return this.getRuleContext(0, SelectstmtContext); } public optnolog(): OptnologContext | undefined { return this.tryGetRuleContext(0, OptnologContext); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } public opt_with_data(): Opt_with_dataContext | undefined { return this.tryGetRuleContext(0, Opt_with_dataContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_creatematviewstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatematviewstmt) { listener.enterCreatematviewstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatematviewstmt) { listener.exitCreatematviewstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatematviewstmt) { return visitor.visitCreatematviewstmt(this); } else { return visitor.visitChildren(this); } } } export class Create_mv_targetContext extends ParserRuleContext { public view_name_create(): View_name_createContext { return this.getRuleContext(0, View_name_createContext); } public opt_column_list(): Opt_column_listContext | undefined { return this.tryGetRuleContext(0, Opt_column_listContext); } public table_access_method_clause(): Table_access_method_clauseContext | undefined { return this.tryGetRuleContext(0, Table_access_method_clauseContext); } public opt_reloptions(): Opt_reloptionsContext | undefined { return this.tryGetRuleContext(0, Opt_reloptionsContext); } public opttablespace(): OpttablespaceContext | undefined { return this.tryGetRuleContext(0, OpttablespaceContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_create_mv_target; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreate_mv_target) { listener.enterCreate_mv_target(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreate_mv_target) { listener.exitCreate_mv_target(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreate_mv_target) { return visitor.visitCreate_mv_target(this); } else { return visitor.visitChildren(this); } } } export class OptnologContext extends ParserRuleContext { public KW_UNLOGGED(): TerminalNode { return this.getToken(PostgreSQLParser.KW_UNLOGGED, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_optnolog; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOptnolog) { listener.enterOptnolog(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOptnolog) { listener.exitOptnolog(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOptnolog) { return visitor.visitOptnolog(this); } else { return visitor.visitChildren(this); } } } export class RefreshmatviewstmtContext extends ParserRuleContext { public KW_REFRESH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_REFRESH, 0); } public KW_MATERIALIZED(): TerminalNode { return this.getToken(PostgreSQLParser.KW_MATERIALIZED, 0); } public KW_VIEW(): TerminalNode { return this.getToken(PostgreSQLParser.KW_VIEW, 0); } public view_name(): View_nameContext { return this.getRuleContext(0, View_nameContext); } public opt_concurrently(): Opt_concurrentlyContext | undefined { return this.tryGetRuleContext(0, Opt_concurrentlyContext); } public opt_with_data(): Opt_with_dataContext | undefined { return this.tryGetRuleContext(0, Opt_with_dataContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_refreshmatviewstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRefreshmatviewstmt) { listener.enterRefreshmatviewstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRefreshmatviewstmt) { listener.exitRefreshmatviewstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRefreshmatviewstmt) { return visitor.visitRefreshmatviewstmt(this); } else { return visitor.visitChildren(this); } } } export class CreateseqstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_SEQUENCE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SEQUENCE, 0); } public qualified_name(): Qualified_nameContext { return this.getRuleContext(0, Qualified_nameContext); } public opttemp(): OpttempContext | undefined { return this.tryGetRuleContext(0, OpttempContext); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } public optseqoptlist(): OptseqoptlistContext | undefined { return this.tryGetRuleContext(0, OptseqoptlistContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createseqstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateseqstmt) { listener.enterCreateseqstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateseqstmt) { listener.exitCreateseqstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateseqstmt) { return visitor.visitCreateseqstmt(this); } else { return visitor.visitChildren(this); } } } export class AlterseqstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_SEQUENCE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SEQUENCE, 0); } public qualified_name(): Qualified_nameContext { return this.getRuleContext(0, Qualified_nameContext); } public seqoptlist(): SeqoptlistContext { return this.getRuleContext(0, SeqoptlistContext); } public opt_if_exists(): Opt_if_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_existsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterseqstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterseqstmt) { listener.enterAlterseqstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterseqstmt) { listener.exitAlterseqstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterseqstmt) { return visitor.visitAlterseqstmt(this); } else { return visitor.visitChildren(this); } } } export class OptseqoptlistContext extends ParserRuleContext { public seqoptlist(): SeqoptlistContext { return this.getRuleContext(0, SeqoptlistContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_optseqoptlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOptseqoptlist) { listener.enterOptseqoptlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOptseqoptlist) { listener.exitOptseqoptlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOptseqoptlist) { return visitor.visitOptseqoptlist(this); } else { return visitor.visitChildren(this); } } } export class OptparenthesizedseqoptlistContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public seqoptlist(): SeqoptlistContext { return this.getRuleContext(0, SeqoptlistContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_optparenthesizedseqoptlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOptparenthesizedseqoptlist) { listener.enterOptparenthesizedseqoptlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOptparenthesizedseqoptlist) { listener.exitOptparenthesizedseqoptlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOptparenthesizedseqoptlist) { return visitor.visitOptparenthesizedseqoptlist(this); } else { return visitor.visitChildren(this); } } } export class SeqoptlistContext extends ParserRuleContext { public seqoptelem(): SeqoptelemContext[]; public seqoptelem(i: number): SeqoptelemContext; public seqoptelem(i?: number): SeqoptelemContext | SeqoptelemContext[] { if (i === undefined) { return this.getRuleContexts(SeqoptelemContext); } else { return this.getRuleContext(i, SeqoptelemContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_seqoptlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSeqoptlist) { listener.enterSeqoptlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSeqoptlist) { listener.exitSeqoptlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSeqoptlist) { return visitor.visitSeqoptlist(this); } else { return visitor.visitChildren(this); } } } export class SeqoptelemContext extends ParserRuleContext { public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public simpletypename(): SimpletypenameContext | undefined { return this.tryGetRuleContext(0, SimpletypenameContext); } public KW_CACHE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CACHE, 0); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } public KW_CYCLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CYCLE, 0); } public KW_INCREMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INCREMENT, 0); } public opt_by(): Opt_byContext | undefined { return this.tryGetRuleContext(0, Opt_byContext); } public KW_MAXVALUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MAXVALUE, 0); } public KW_MINVALUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MINVALUE, 0); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } public KW_OWNED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OWNED, 0); } public KW_BY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BY, 0); } public table_column_name(): Table_column_nameContext | undefined { return this.tryGetRuleContext(0, Table_column_nameContext); } public KW_SEQUENCE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEQUENCE, 0); } public KW_NAME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NAME, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public KW_START(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_START, 0); } public opt_with(): Opt_withContext | undefined { return this.tryGetRuleContext(0, Opt_withContext); } public KW_RESTART(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESTART, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_seqoptelem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSeqoptelem) { listener.enterSeqoptelem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSeqoptelem) { listener.exitSeqoptelem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSeqoptelem) { return visitor.visitSeqoptelem(this); } else { return visitor.visitChildren(this); } } } export class Opt_byContext extends ParserRuleContext { public KW_BY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BY, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_by; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_by) { listener.enterOpt_by(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_by) { listener.exitOpt_by(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_by) { return visitor.visitOpt_by(this); } else { return visitor.visitChildren(this); } } } export class NumericonlyContext extends ParserRuleContext { public fconst(): FconstContext | undefined { return this.tryGetRuleContext(0, FconstContext); } public PLUS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PLUS, 0); } public MINUS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.MINUS, 0); } public signediconst(): SignediconstContext | undefined { return this.tryGetRuleContext(0, SignediconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_numericonly; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterNumericonly) { listener.enterNumericonly(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitNumericonly) { listener.exitNumericonly(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitNumericonly) { return visitor.visitNumericonly(this); } else { return visitor.visitChildren(this); } } } export class Numericonly_listContext extends ParserRuleContext { public numericonly(): NumericonlyContext[]; public numericonly(i: number): NumericonlyContext; public numericonly(i?: number): NumericonlyContext | NumericonlyContext[] { if (i === undefined) { return this.getRuleContexts(NumericonlyContext); } else { return this.getRuleContext(i, NumericonlyContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_numericonly_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterNumericonly_list) { listener.enterNumericonly_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitNumericonly_list) { listener.exitNumericonly_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitNumericonly_list) { return visitor.visitNumericonly_list(this); } else { return visitor.visitChildren(this); } } } export class CreateplangstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_LANGUAGE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_LANGUAGE, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public opt_or_replace(): Opt_or_replaceContext | undefined { return this.tryGetRuleContext(0, Opt_or_replaceContext); } public opt_trusted(): Opt_trustedContext | undefined { return this.tryGetRuleContext(0, Opt_trustedContext); } public opt_procedural(): Opt_proceduralContext | undefined { return this.tryGetRuleContext(0, Opt_proceduralContext); } public KW_HANDLER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_HANDLER, 0); } public handler_name(): Handler_nameContext | undefined { return this.tryGetRuleContext(0, Handler_nameContext); } public opt_inline_handler(): Opt_inline_handlerContext | undefined { return this.tryGetRuleContext(0, Opt_inline_handlerContext); } public opt_validator(): Opt_validatorContext | undefined { return this.tryGetRuleContext(0, Opt_validatorContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createplangstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateplangstmt) { listener.enterCreateplangstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateplangstmt) { listener.exitCreateplangstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateplangstmt) { return visitor.visitCreateplangstmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_trustedContext extends ParserRuleContext { public KW_TRUSTED(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TRUSTED, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_trusted; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_trusted) { listener.enterOpt_trusted(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_trusted) { listener.exitOpt_trusted(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_trusted) { return visitor.visitOpt_trusted(this); } else { return visitor.visitChildren(this); } } } export class Handler_nameContext extends ParserRuleContext { public name(): NameContext { return this.getRuleContext(0, NameContext); } public attrs(): AttrsContext | undefined { return this.tryGetRuleContext(0, AttrsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_handler_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterHandler_name) { listener.enterHandler_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitHandler_name) { listener.exitHandler_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitHandler_name) { return visitor.visitHandler_name(this); } else { return visitor.visitChildren(this); } } } export class Opt_inline_handlerContext extends ParserRuleContext { public KW_INLINE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INLINE, 0); } public handler_name(): Handler_nameContext { return this.getRuleContext(0, Handler_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_inline_handler; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_inline_handler) { listener.enterOpt_inline_handler(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_inline_handler) { listener.exitOpt_inline_handler(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_inline_handler) { return visitor.visitOpt_inline_handler(this); } else { return visitor.visitChildren(this); } } } export class Validator_clauseContext extends ParserRuleContext { public KW_VALIDATOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_VALIDATOR, 0); } public handler_name(): Handler_nameContext | undefined { return this.tryGetRuleContext(0, Handler_nameContext); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_validator_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterValidator_clause) { listener.enterValidator_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitValidator_clause) { listener.exitValidator_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitValidator_clause) { return visitor.visitValidator_clause(this); } else { return visitor.visitChildren(this); } } } export class Opt_validatorContext extends ParserRuleContext { public validator_clause(): Validator_clauseContext { return this.getRuleContext(0, Validator_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_validator; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_validator) { listener.enterOpt_validator(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_validator) { listener.exitOpt_validator(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_validator) { return visitor.visitOpt_validator(this); } else { return visitor.visitChildren(this); } } } export class Opt_proceduralContext extends ParserRuleContext { public KW_PROCEDURAL(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PROCEDURAL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_procedural; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_procedural) { listener.enterOpt_procedural(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_procedural) { listener.exitOpt_procedural(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_procedural) { return visitor.visitOpt_procedural(this); } else { return visitor.visitChildren(this); } } } export class CreatetablespacestmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_TABLESPACE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TABLESPACE, 0); } public tablespace_name(): Tablespace_nameContext { return this.getRuleContext(0, Tablespace_nameContext); } public KW_LOCATION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_LOCATION, 0); } public sconst(): SconstContext { return this.getRuleContext(0, SconstContext); } public opttablespaceowner(): OpttablespaceownerContext | undefined { return this.tryGetRuleContext(0, OpttablespaceownerContext); } public opt_reloptions(): Opt_reloptionsContext | undefined { return this.tryGetRuleContext(0, Opt_reloptionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createtablespacestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatetablespacestmt) { listener.enterCreatetablespacestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatetablespacestmt) { listener.exitCreatetablespacestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatetablespacestmt) { return visitor.visitCreatetablespacestmt(this); } else { return visitor.visitChildren(this); } } } export class OpttablespaceownerContext extends ParserRuleContext { public KW_OWNER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OWNER, 0); } public rolespec(): RolespecContext { return this.getRuleContext(0, RolespecContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opttablespaceowner; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpttablespaceowner) { listener.enterOpttablespaceowner(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpttablespaceowner) { listener.exitOpttablespaceowner(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpttablespaceowner) { return visitor.visitOpttablespaceowner(this); } else { return visitor.visitChildren(this); } } } export class CreateextensionstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_EXTENSION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXTENSION, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public create_extension_opt_list(): Create_extension_opt_listContext { return this.getRuleContext(0, Create_extension_opt_listContext); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } public opt_with(): Opt_withContext | undefined { return this.tryGetRuleContext(0, Opt_withContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createextensionstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateextensionstmt) { listener.enterCreateextensionstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateextensionstmt) { listener.exitCreateextensionstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateextensionstmt) { return visitor.visitCreateextensionstmt(this); } else { return visitor.visitChildren(this); } } } export class Create_extension_opt_listContext extends ParserRuleContext { public create_extension_opt_item(): Create_extension_opt_itemContext[]; public create_extension_opt_item(i: number): Create_extension_opt_itemContext; public create_extension_opt_item(i?: number): Create_extension_opt_itemContext | Create_extension_opt_itemContext[] { if (i === undefined) { return this.getRuleContexts(Create_extension_opt_itemContext); } else { return this.getRuleContext(i, Create_extension_opt_itemContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_create_extension_opt_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreate_extension_opt_list) { listener.enterCreate_extension_opt_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreate_extension_opt_list) { listener.exitCreate_extension_opt_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreate_extension_opt_list) { return visitor.visitCreate_extension_opt_list(this); } else { return visitor.visitChildren(this); } } } export class Create_extension_opt_itemContext extends ParserRuleContext { public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name(): Schema_nameContext | undefined { return this.tryGetRuleContext(0, Schema_nameContext); } public KW_VERSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VERSION, 0); } public nonreservedword_or_sconst(): Nonreservedword_or_sconstContext | undefined { return this.tryGetRuleContext(0, Nonreservedword_or_sconstContext); } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public KW_CASCADE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CASCADE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_create_extension_opt_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreate_extension_opt_item) { listener.enterCreate_extension_opt_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreate_extension_opt_item) { listener.exitCreate_extension_opt_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreate_extension_opt_item) { return visitor.visitCreate_extension_opt_item(this); } else { return visitor.visitChildren(this); } } } export class AlterextensionstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_EXTENSION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXTENSION, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public KW_UPDATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_UPDATE, 0); } public alter_extension_opt_list(): Alter_extension_opt_listContext { return this.getRuleContext(0, Alter_extension_opt_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterextensionstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterextensionstmt) { listener.enterAlterextensionstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterextensionstmt) { listener.exitAlterextensionstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterextensionstmt) { return visitor.visitAlterextensionstmt(this); } else { return visitor.visitChildren(this); } } } export class Alter_extension_opt_listContext extends ParserRuleContext { public alter_extension_opt_item(): Alter_extension_opt_itemContext[]; public alter_extension_opt_item(i: number): Alter_extension_opt_itemContext; public alter_extension_opt_item(i?: number): Alter_extension_opt_itemContext | Alter_extension_opt_itemContext[] { if (i === undefined) { return this.getRuleContexts(Alter_extension_opt_itemContext); } else { return this.getRuleContext(i, Alter_extension_opt_itemContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_extension_opt_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_extension_opt_list) { listener.enterAlter_extension_opt_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_extension_opt_list) { listener.exitAlter_extension_opt_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_extension_opt_list) { return visitor.visitAlter_extension_opt_list(this); } else { return visitor.visitChildren(this); } } } export class Alter_extension_opt_itemContext extends ParserRuleContext { public KW_TO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TO, 0); } public nonreservedword_or_sconst(): Nonreservedword_or_sconstContext { return this.getRuleContext(0, Nonreservedword_or_sconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_extension_opt_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_extension_opt_item) { listener.enterAlter_extension_opt_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_extension_opt_item) { listener.exitAlter_extension_opt_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_extension_opt_item) { return visitor.visitAlter_extension_opt_item(this); } else { return visitor.visitChildren(this); } } } export class AlterextensioncontentsstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_EXTENSION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXTENSION, 0); } public name(): NameContext[]; public name(i: number): NameContext; public name(i?: number): NameContext | NameContext[] { if (i === undefined) { return this.getRuleContexts(NameContext); } else { return this.getRuleContext(i, NameContext); } } public add_drop(): Add_dropContext { return this.getRuleContext(0, Add_dropContext); } public object_type_name(): Object_type_nameContext | undefined { return this.tryGetRuleContext(0, Object_type_nameContext); } public object_type_any_name(): Object_type_any_nameContext | undefined { return this.tryGetRuleContext(0, Object_type_any_nameContext); } public KW_AGGREGATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AGGREGATE, 0); } public aggregate_with_argtypes(): Aggregate_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Aggregate_with_argtypesContext); } public KW_CAST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CAST, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public typename(): TypenameContext[]; public typename(i: number): TypenameContext; public typename(i?: number): TypenameContext | TypenameContext[] { if (i === undefined) { return this.getRuleContexts(TypenameContext); } else { return this.getRuleContext(i, TypenameContext); } } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_DOMAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOMAIN, 0); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_with_argtypes(): Function_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Function_with_argtypesContext); } public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public operator_with_argtypes(): Operator_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Operator_with_argtypesContext); } public KW_CLASS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CLASS, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public KW_FAMILY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FAMILY, 0); } public KW_PROCEDURE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURE, 0); } public procedure_with_argtypes(): Procedure_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Procedure_with_argtypesContext); } public KW_ROUTINE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINE, 0); } public routine_with_argtypes(): Routine_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Routine_with_argtypesContext); } public KW_TRANSFORM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRANSFORM, 0); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public KW_LANGUAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LANGUAGE, 0); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterextensioncontentsstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterextensioncontentsstmt) { listener.enterAlterextensioncontentsstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterextensioncontentsstmt) { listener.exitAlterextensioncontentsstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterextensioncontentsstmt) { return visitor.visitAlterextensioncontentsstmt(this); } else { return visitor.visitChildren(this); } } } export class CreatefdwstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_FOREIGN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_DATA(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DATA, 0); } public KW_WRAPPER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WRAPPER, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public opt_fdw_options(): Opt_fdw_optionsContext | undefined { return this.tryGetRuleContext(0, Opt_fdw_optionsContext); } public create_generic_options(): Create_generic_optionsContext | undefined { return this.tryGetRuleContext(0, Create_generic_optionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createfdwstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatefdwstmt) { listener.enterCreatefdwstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatefdwstmt) { listener.exitCreatefdwstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatefdwstmt) { return visitor.visitCreatefdwstmt(this); } else { return visitor.visitChildren(this); } } } export class Fdw_optionContext extends ParserRuleContext { public KW_HANDLER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_HANDLER, 0); } public handler_name(): Handler_nameContext | undefined { return this.tryGetRuleContext(0, Handler_nameContext); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } public KW_VALIDATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALIDATOR, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_fdw_option; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFdw_option) { listener.enterFdw_option(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFdw_option) { listener.exitFdw_option(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFdw_option) { return visitor.visitFdw_option(this); } else { return visitor.visitChildren(this); } } } export class Fdw_optionsContext extends ParserRuleContext { public fdw_option(): Fdw_optionContext[]; public fdw_option(i: number): Fdw_optionContext; public fdw_option(i?: number): Fdw_optionContext | Fdw_optionContext[] { if (i === undefined) { return this.getRuleContexts(Fdw_optionContext); } else { return this.getRuleContext(i, Fdw_optionContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_fdw_options; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFdw_options) { listener.enterFdw_options(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFdw_options) { listener.exitFdw_options(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFdw_options) { return visitor.visitFdw_options(this); } else { return visitor.visitChildren(this); } } } export class Opt_fdw_optionsContext extends ParserRuleContext { public fdw_options(): Fdw_optionsContext { return this.getRuleContext(0, Fdw_optionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_fdw_options; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_fdw_options) { listener.enterOpt_fdw_options(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_fdw_options) { listener.exitOpt_fdw_options(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_fdw_options) { return visitor.visitOpt_fdw_options(this); } else { return visitor.visitChildren(this); } } } export class AlterfdwstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_FOREIGN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_DATA(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DATA, 0); } public KW_WRAPPER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WRAPPER, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public alter_generic_options(): Alter_generic_optionsContext | undefined { return this.tryGetRuleContext(0, Alter_generic_optionsContext); } public opt_fdw_options(): Opt_fdw_optionsContext | undefined { return this.tryGetRuleContext(0, Opt_fdw_optionsContext); } public fdw_options(): Fdw_optionsContext | undefined { return this.tryGetRuleContext(0, Fdw_optionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterfdwstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterfdwstmt) { listener.enterAlterfdwstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterfdwstmt) { listener.exitAlterfdwstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterfdwstmt) { return visitor.visitAlterfdwstmt(this); } else { return visitor.visitChildren(this); } } } export class Create_generic_optionsContext extends ParserRuleContext { public KW_OPTIONS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OPTIONS, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public generic_option_list(): Generic_option_listContext { return this.getRuleContext(0, Generic_option_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_create_generic_options; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreate_generic_options) { listener.enterCreate_generic_options(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreate_generic_options) { listener.exitCreate_generic_options(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreate_generic_options) { return visitor.visitCreate_generic_options(this); } else { return visitor.visitChildren(this); } } } export class Generic_option_listContext extends ParserRuleContext { public generic_option_elem(): Generic_option_elemContext[]; public generic_option_elem(i: number): Generic_option_elemContext; public generic_option_elem(i?: number): Generic_option_elemContext | Generic_option_elemContext[] { if (i === undefined) { return this.getRuleContexts(Generic_option_elemContext); } else { return this.getRuleContext(i, Generic_option_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_generic_option_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGeneric_option_list) { listener.enterGeneric_option_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGeneric_option_list) { listener.exitGeneric_option_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGeneric_option_list) { return visitor.visitGeneric_option_list(this); } else { return visitor.visitChildren(this); } } } export class Alter_generic_optionsContext extends ParserRuleContext { public KW_OPTIONS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OPTIONS, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public alter_generic_option_list(): Alter_generic_option_listContext { return this.getRuleContext(0, Alter_generic_option_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_generic_options; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_generic_options) { listener.enterAlter_generic_options(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_generic_options) { listener.exitAlter_generic_options(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_generic_options) { return visitor.visitAlter_generic_options(this); } else { return visitor.visitChildren(this); } } } export class Alter_generic_option_listContext extends ParserRuleContext { public alter_generic_option_elem(): Alter_generic_option_elemContext[]; public alter_generic_option_elem(i: number): Alter_generic_option_elemContext; public alter_generic_option_elem(i?: number): Alter_generic_option_elemContext | Alter_generic_option_elemContext[] { if (i === undefined) { return this.getRuleContexts(Alter_generic_option_elemContext); } else { return this.getRuleContext(i, Alter_generic_option_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_generic_option_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_generic_option_list) { listener.enterAlter_generic_option_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_generic_option_list) { listener.exitAlter_generic_option_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_generic_option_list) { return visitor.visitAlter_generic_option_list(this); } else { return visitor.visitChildren(this); } } } export class Alter_generic_option_elemContext extends ParserRuleContext { public generic_option_elem(): Generic_option_elemContext { return this.getRuleContext(0, Generic_option_elemContext); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public KW_ADD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADD, 0); } public KW_DROP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DROP, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alter_generic_option_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlter_generic_option_elem) { listener.enterAlter_generic_option_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlter_generic_option_elem) { listener.exitAlter_generic_option_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlter_generic_option_elem) { return visitor.visitAlter_generic_option_elem(this); } else { return visitor.visitChildren(this); } } } export class Generic_option_elemContext extends ParserRuleContext { public generic_option_name(): Generic_option_nameContext { return this.getRuleContext(0, Generic_option_nameContext); } public generic_option_arg(): Generic_option_argContext { return this.getRuleContext(0, Generic_option_argContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_generic_option_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGeneric_option_elem) { listener.enterGeneric_option_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGeneric_option_elem) { listener.exitGeneric_option_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGeneric_option_elem) { return visitor.visitGeneric_option_elem(this); } else { return visitor.visitChildren(this); } } } export class Generic_option_nameContext extends ParserRuleContext { public collabel(): CollabelContext { return this.getRuleContext(0, CollabelContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_generic_option_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGeneric_option_name) { listener.enterGeneric_option_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGeneric_option_name) { listener.exitGeneric_option_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGeneric_option_name) { return visitor.visitGeneric_option_name(this); } else { return visitor.visitChildren(this); } } } export class Generic_option_argContext extends ParserRuleContext { public sconst(): SconstContext { return this.getRuleContext(0, SconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_generic_option_arg; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGeneric_option_arg) { listener.enterGeneric_option_arg(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGeneric_option_arg) { listener.exitGeneric_option_arg(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGeneric_option_arg) { return visitor.visitGeneric_option_arg(this); } else { return visitor.visitChildren(this); } } } export class CreateforeignserverstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_SERVER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SERVER, 0); } public name(): NameContext[]; public name(i: number): NameContext; public name(i?: number): NameContext | NameContext[] { if (i === undefined) { return this.getRuleContexts(NameContext); } else { return this.getRuleContext(i, NameContext); } } public KW_FOREIGN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_DATA(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DATA, 0); } public KW_WRAPPER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WRAPPER, 0); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } public opt_type(): Opt_typeContext | undefined { return this.tryGetRuleContext(0, Opt_typeContext); } public opt_foreign_server_version(): Opt_foreign_server_versionContext | undefined { return this.tryGetRuleContext(0, Opt_foreign_server_versionContext); } public create_generic_options(): Create_generic_optionsContext | undefined { return this.tryGetRuleContext(0, Create_generic_optionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createforeignserverstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateforeignserverstmt) { listener.enterCreateforeignserverstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateforeignserverstmt) { listener.exitCreateforeignserverstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateforeignserverstmt) { return visitor.visitCreateforeignserverstmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_typeContext extends ParserRuleContext { public KW_TYPE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TYPE, 0); } public sconst(): SconstContext { return this.getRuleContext(0, SconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_type; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_type) { listener.enterOpt_type(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_type) { listener.exitOpt_type(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_type) { return visitor.visitOpt_type(this); } else { return visitor.visitChildren(this); } } } export class Foreign_server_versionContext extends ParserRuleContext { public KW_VERSION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_VERSION, 0); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_foreign_server_version; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterForeign_server_version) { listener.enterForeign_server_version(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitForeign_server_version) { listener.exitForeign_server_version(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitForeign_server_version) { return visitor.visitForeign_server_version(this); } else { return visitor.visitChildren(this); } } } export class Opt_foreign_server_versionContext extends ParserRuleContext { public foreign_server_version(): Foreign_server_versionContext { return this.getRuleContext(0, Foreign_server_versionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_foreign_server_version; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_foreign_server_version) { listener.enterOpt_foreign_server_version(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_foreign_server_version) { listener.exitOpt_foreign_server_version(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_foreign_server_version) { return visitor.visitOpt_foreign_server_version(this); } else { return visitor.visitChildren(this); } } } export class AlterforeignserverstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_SERVER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SERVER, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public alter_generic_options(): Alter_generic_optionsContext | undefined { return this.tryGetRuleContext(0, Alter_generic_optionsContext); } public foreign_server_version(): Foreign_server_versionContext | undefined { return this.tryGetRuleContext(0, Foreign_server_versionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterforeignserverstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterforeignserverstmt) { listener.enterAlterforeignserverstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterforeignserverstmt) { listener.exitAlterforeignserverstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterforeignserverstmt) { return visitor.visitAlterforeignserverstmt(this); } else { return visitor.visitChildren(this); } } } export class CreateforeigntablestmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_FOREIGN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_TABLE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TABLE, 0); } public table_name_create(): Table_name_createContext { return this.getRuleContext(0, Table_name_createContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_SERVER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SERVER, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } public opttableelementlist(): OpttableelementlistContext | undefined { return this.tryGetRuleContext(0, OpttableelementlistContext); } public optinherit(): OptinheritContext | undefined { return this.tryGetRuleContext(0, OptinheritContext); } public create_generic_options(): Create_generic_optionsContext | undefined { return this.tryGetRuleContext(0, Create_generic_optionsContext); } public KW_PARTITION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARTITION, 0); } public KW_OF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OF, 0); } public table_name(): Table_nameContext | undefined { return this.tryGetRuleContext(0, Table_nameContext); } public partitionboundspec(): PartitionboundspecContext | undefined { return this.tryGetRuleContext(0, PartitionboundspecContext); } public opttypedtableelementlist(): OpttypedtableelementlistContext | undefined { return this.tryGetRuleContext(0, OpttypedtableelementlistContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createforeigntablestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateforeigntablestmt) { listener.enterCreateforeigntablestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateforeigntablestmt) { listener.exitCreateforeigntablestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateforeigntablestmt) { return visitor.visitCreateforeigntablestmt(this); } else { return visitor.visitChildren(this); } } } export class ImportforeignschemastmtContext extends ParserRuleContext { public KW_IMPORT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_IMPORT, 0); } public KW_FOREIGN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_SCHEMA(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name(): Schema_nameContext { return this.getRuleContext(0, Schema_nameContext); } public KW_FROM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FROM, 0); } public KW_SERVER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SERVER, 0); } public name(): NameContext[]; public name(i: number): NameContext; public name(i?: number): NameContext | NameContext[] { if (i === undefined) { return this.getRuleContexts(NameContext); } else { return this.getRuleContext(i, NameContext); } } public KW_INTO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INTO, 0); } public import_qualification(): Import_qualificationContext | undefined { return this.tryGetRuleContext(0, Import_qualificationContext); } public create_generic_options(): Create_generic_optionsContext | undefined { return this.tryGetRuleContext(0, Create_generic_optionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_importforeignschemastmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterImportforeignschemastmt) { listener.enterImportforeignschemastmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitImportforeignschemastmt) { listener.exitImportforeignschemastmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitImportforeignschemastmt) { return visitor.visitImportforeignschemastmt(this); } else { return visitor.visitChildren(this); } } } export class Import_qualification_typeContext extends ParserRuleContext { public KW_LIMIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LIMIT, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public KW_EXCEPT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXCEPT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_import_qualification_type; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterImport_qualification_type) { listener.enterImport_qualification_type(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitImport_qualification_type) { listener.exitImport_qualification_type(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitImport_qualification_type) { return visitor.visitImport_qualification_type(this); } else { return visitor.visitChildren(this); } } } export class Import_qualificationContext extends ParserRuleContext { public import_qualification_type(): Import_qualification_typeContext { return this.getRuleContext(0, Import_qualification_typeContext); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public relation_expr_list(): Relation_expr_listContext { return this.getRuleContext(0, Relation_expr_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_import_qualification; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterImport_qualification) { listener.enterImport_qualification(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitImport_qualification) { listener.exitImport_qualification(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitImport_qualification) { return visitor.visitImport_qualification(this); } else { return visitor.visitChildren(this); } } } export class CreateusermappingstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_USER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USER, 0); } public KW_MAPPING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_MAPPING, 0); } public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public auth_ident(): Auth_identContext { return this.getRuleContext(0, Auth_identContext); } public KW_SERVER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SERVER, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } public create_generic_options(): Create_generic_optionsContext | undefined { return this.tryGetRuleContext(0, Create_generic_optionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createusermappingstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateusermappingstmt) { listener.enterCreateusermappingstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateusermappingstmt) { listener.exitCreateusermappingstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateusermappingstmt) { return visitor.visitCreateusermappingstmt(this); } else { return visitor.visitChildren(this); } } } export class Auth_identContext extends ParserRuleContext { public rolespec(): RolespecContext | undefined { return this.tryGetRuleContext(0, RolespecContext); } public KW_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USER, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_auth_ident; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAuth_ident) { listener.enterAuth_ident(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAuth_ident) { listener.exitAuth_ident(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAuth_ident) { return visitor.visitAuth_ident(this); } else { return visitor.visitChildren(this); } } } export class AlterusermappingstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_USER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USER, 0); } public KW_MAPPING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_MAPPING, 0); } public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public auth_ident(): Auth_identContext { return this.getRuleContext(0, Auth_identContext); } public KW_SERVER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SERVER, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public alter_generic_options(): Alter_generic_optionsContext { return this.getRuleContext(0, Alter_generic_optionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterusermappingstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterusermappingstmt) { listener.enterAlterusermappingstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterusermappingstmt) { listener.exitAlterusermappingstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterusermappingstmt) { return visitor.visitAlterusermappingstmt(this); } else { return visitor.visitChildren(this); } } } export class CreatepolicystmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_POLICY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_POLICY, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public qualified_name(): Qualified_nameContext { return this.getRuleContext(0, Qualified_nameContext); } public rowsecuritydefaultpermissive(): RowsecuritydefaultpermissiveContext | undefined { return this.tryGetRuleContext(0, RowsecuritydefaultpermissiveContext); } public rowsecuritydefaultforcmd(): RowsecuritydefaultforcmdContext | undefined { return this.tryGetRuleContext(0, RowsecuritydefaultforcmdContext); } public rowsecuritydefaulttorole(): RowsecuritydefaulttoroleContext | undefined { return this.tryGetRuleContext(0, RowsecuritydefaulttoroleContext); } public rowsecurityoptionalexpr(): RowsecurityoptionalexprContext | undefined { return this.tryGetRuleContext(0, RowsecurityoptionalexprContext); } public rowsecurityoptionalwithcheck(): RowsecurityoptionalwithcheckContext | undefined { return this.tryGetRuleContext(0, RowsecurityoptionalwithcheckContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createpolicystmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatepolicystmt) { listener.enterCreatepolicystmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatepolicystmt) { listener.exitCreatepolicystmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatepolicystmt) { return visitor.visitCreatepolicystmt(this); } else { return visitor.visitChildren(this); } } } export class AlterpolicystmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_POLICY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_POLICY, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public qualified_name(): Qualified_nameContext { return this.getRuleContext(0, Qualified_nameContext); } public rowsecurityoptionaltorole(): RowsecurityoptionaltoroleContext | undefined { return this.tryGetRuleContext(0, RowsecurityoptionaltoroleContext); } public rowsecurityoptionalexpr(): RowsecurityoptionalexprContext | undefined { return this.tryGetRuleContext(0, RowsecurityoptionalexprContext); } public rowsecurityoptionalwithcheck(): RowsecurityoptionalwithcheckContext | undefined { return this.tryGetRuleContext(0, RowsecurityoptionalwithcheckContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterpolicystmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterpolicystmt) { listener.enterAlterpolicystmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterpolicystmt) { listener.exitAlterpolicystmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterpolicystmt) { return visitor.visitAlterpolicystmt(this); } else { return visitor.visitChildren(this); } } } export class AlterprocedurestmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_PROCEDURE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PROCEDURE, 0); } public procedure_name(): Procedure_nameContext { return this.getRuleContext(0, Procedure_nameContext); } public procedure_cluase(): Procedure_cluaseContext { return this.getRuleContext(0, Procedure_cluaseContext); } public func_args(): Func_argsContext | undefined { return this.tryGetRuleContext(0, Func_argsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterprocedurestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterprocedurestmt) { listener.enterAlterprocedurestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterprocedurestmt) { listener.exitAlterprocedurestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterprocedurestmt) { return visitor.visitAlterprocedurestmt(this); } else { return visitor.visitChildren(this); } } } export class Procedure_cluaseContext extends ParserRuleContext { public procedure_action(): Procedure_actionContext[]; public procedure_action(i: number): Procedure_actionContext; public procedure_action(i?: number): Procedure_actionContext | Procedure_actionContext[] { if (i === undefined) { return this.getRuleContexts(Procedure_actionContext); } else { return this.getRuleContext(i, Procedure_actionContext); } } public KW_RESTRICT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESTRICT, 0); } public KW_RENAME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RENAME, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public procedure_name_create(): Procedure_name_createContext | undefined { return this.tryGetRuleContext(0, Procedure_name_createContext); } public KW_OWNER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OWNER, 0); } public rolespec(): RolespecContext | undefined { return this.tryGetRuleContext(0, RolespecContext); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name_create(): Schema_name_createContext | undefined { return this.tryGetRuleContext(0, Schema_name_createContext); } public KW_DEPENDS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEPENDS, 0); } public KW_ON(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ON, 0); } public KW_EXTENSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTENSION, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_procedure_cluase; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProcedure_cluase) { listener.enterProcedure_cluase(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProcedure_cluase) { listener.exitProcedure_cluase(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProcedure_cluase) { return visitor.visitProcedure_cluase(this); } else { return visitor.visitChildren(this); } } } export class Procedure_actionContext extends ParserRuleContext { public KW_SECURITY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SECURITY, 0); } public KW_INVOKER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INVOKER, 0); } public KW_DEFINER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFINER, 0); } public KW_EXTERNAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTERNAL, 0); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public name(): NameContext[]; public name(i: number): NameContext; public name(i?: number): NameContext | NameContext[] { if (i === undefined) { return this.getRuleContexts(NameContext); } else { return this.getRuleContext(i, NameContext); } } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public KW_CURRENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT, 0); } public KW_RESET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESET, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_procedure_action; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProcedure_action) { listener.enterProcedure_action(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProcedure_action) { listener.exitProcedure_action(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProcedure_action) { return visitor.visitProcedure_action(this); } else { return visitor.visitChildren(this); } } } export class RowsecurityoptionalexprContext extends ParserRuleContext { public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_rowsecurityoptionalexpr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRowsecurityoptionalexpr) { listener.enterRowsecurityoptionalexpr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRowsecurityoptionalexpr) { listener.exitRowsecurityoptionalexpr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRowsecurityoptionalexpr) { return visitor.visitRowsecurityoptionalexpr(this); } else { return visitor.visitChildren(this); } } } export class RowsecurityoptionalwithcheckContext extends ParserRuleContext { public KW_WITH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WITH, 0); } public KW_CHECK(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CHECK, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_rowsecurityoptionalwithcheck; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRowsecurityoptionalwithcheck) { listener.enterRowsecurityoptionalwithcheck(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRowsecurityoptionalwithcheck) { listener.exitRowsecurityoptionalwithcheck(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRowsecurityoptionalwithcheck) { return visitor.visitRowsecurityoptionalwithcheck(this); } else { return visitor.visitChildren(this); } } } export class RowsecuritydefaulttoroleContext extends ParserRuleContext { public KW_TO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TO, 0); } public role_list(): Role_listContext { return this.getRuleContext(0, Role_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_rowsecuritydefaulttorole; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRowsecuritydefaulttorole) { listener.enterRowsecuritydefaulttorole(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRowsecuritydefaulttorole) { listener.exitRowsecuritydefaulttorole(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRowsecuritydefaulttorole) { return visitor.visitRowsecuritydefaulttorole(this); } else { return visitor.visitChildren(this); } } } export class RowsecurityoptionaltoroleContext extends ParserRuleContext { public KW_TO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TO, 0); } public role_list(): Role_listContext { return this.getRuleContext(0, Role_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_rowsecurityoptionaltorole; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRowsecurityoptionaltorole) { listener.enterRowsecurityoptionaltorole(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRowsecurityoptionaltorole) { listener.exitRowsecurityoptionaltorole(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRowsecurityoptionaltorole) { return visitor.visitRowsecurityoptionaltorole(this); } else { return visitor.visitChildren(this); } } } export class RowsecuritydefaultpermissiveContext extends ParserRuleContext { public KW_AS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AS, 0); } public KW_PERMISSIVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PERMISSIVE, 0); } public KW_RESTRICTIVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESTRICTIVE, 0); } public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_rowsecuritydefaultpermissive; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRowsecuritydefaultpermissive) { listener.enterRowsecuritydefaultpermissive(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRowsecuritydefaultpermissive) { listener.exitRowsecuritydefaultpermissive(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRowsecuritydefaultpermissive) { return visitor.visitRowsecuritydefaultpermissive(this); } else { return visitor.visitChildren(this); } } } export class RowsecuritydefaultforcmdContext extends ParserRuleContext { public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public row_security_cmd(): Row_security_cmdContext { return this.getRuleContext(0, Row_security_cmdContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_rowsecuritydefaultforcmd; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRowsecuritydefaultforcmd) { listener.enterRowsecuritydefaultforcmd(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRowsecuritydefaultforcmd) { listener.exitRowsecuritydefaultforcmd(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRowsecuritydefaultforcmd) { return visitor.visitRowsecuritydefaultforcmd(this); } else { return visitor.visitChildren(this); } } } export class Row_security_cmdContext extends ParserRuleContext { public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public KW_SELECT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SELECT, 0); } public KW_INSERT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INSERT, 0); } public KW_UPDATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UPDATE, 0); } public KW_DELETE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DELETE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_row_security_cmd; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRow_security_cmd) { listener.enterRow_security_cmd(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRow_security_cmd) { listener.exitRow_security_cmd(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRow_security_cmd) { return visitor.visitRow_security_cmd(this); } else { return visitor.visitChildren(this); } } } export class CreateamstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_ACCESS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ACCESS, 0); } public KW_METHOD(): TerminalNode { return this.getToken(PostgreSQLParser.KW_METHOD, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public KW_TYPE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TYPE, 0); } public am_type(): Am_typeContext { return this.getRuleContext(0, Am_typeContext); } public KW_HANDLER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_HANDLER, 0); } public handler_name(): Handler_nameContext { return this.getRuleContext(0, Handler_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createamstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateamstmt) { listener.enterCreateamstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateamstmt) { listener.exitCreateamstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateamstmt) { return visitor.visitCreateamstmt(this); } else { return visitor.visitChildren(this); } } } export class Am_typeContext extends ParserRuleContext { public KW_INDEX(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INDEX, 0); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_am_type; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAm_type) { listener.enterAm_type(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAm_type) { listener.exitAm_type(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAm_type) { return visitor.visitAm_type(this); } else { return visitor.visitChildren(this); } } } export class CreatetrigstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_TRIGGER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TRIGGER, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public triggeractiontime(): TriggeractiontimeContext { return this.getRuleContext(0, TriggeractiontimeContext); } public triggerevents(): TriggereventsContext { return this.getRuleContext(0, TriggereventsContext); } public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public table_name(): Table_nameContext { return this.getRuleContext(0, Table_nameContext); } public KW_EXECUTE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXECUTE, 0); } public function_or_procedure(): Function_or_procedureContext { return this.getRuleContext(0, Function_or_procedureContext); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public triggerfuncargs(): TriggerfuncargsContext { return this.getRuleContext(0, TriggerfuncargsContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public opt_or_replace(): Opt_or_replaceContext | undefined { return this.tryGetRuleContext(0, Opt_or_replaceContext); } public triggerreferencing(): TriggerreferencingContext | undefined { return this.tryGetRuleContext(0, TriggerreferencingContext); } public triggerforspec(): TriggerforspecContext | undefined { return this.tryGetRuleContext(0, TriggerforspecContext); } public triggerwhen(): TriggerwhenContext | undefined { return this.tryGetRuleContext(0, TriggerwhenContext); } public constraintattributespec(): ConstraintattributespecContext | undefined { return this.tryGetRuleContext(0, ConstraintattributespecContext); } public KW_CONSTRAINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTRAINT, 0); } public optconstrfromtable(): OptconstrfromtableContext | undefined { return this.tryGetRuleContext(0, OptconstrfromtableContext); } public foreachrow(): ForeachrowContext | undefined { return this.tryGetRuleContext(0, ForeachrowContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createtrigstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatetrigstmt) { listener.enterCreatetrigstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatetrigstmt) { listener.exitCreatetrigstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatetrigstmt) { return visitor.visitCreatetrigstmt(this); } else { return visitor.visitChildren(this); } } } export class TriggeractiontimeContext extends ParserRuleContext { public KW_BEFORE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BEFORE, 0); } public KW_AFTER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AFTER, 0); } public KW_INSTEAD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INSTEAD, 0); } public KW_OF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OF, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_triggeractiontime; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTriggeractiontime) { listener.enterTriggeractiontime(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTriggeractiontime) { listener.exitTriggeractiontime(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTriggeractiontime) { return visitor.visitTriggeractiontime(this); } else { return visitor.visitChildren(this); } } } export class ForeachrowContext extends ParserRuleContext { public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public roworstatment(): RoworstatmentContext { return this.getRuleContext(0, RoworstatmentContext); } public KW_EACH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EACH, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_foreachrow; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterForeachrow) { listener.enterForeachrow(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitForeachrow) { listener.exitForeachrow(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitForeachrow) { return visitor.visitForeachrow(this); } else { return visitor.visitChildren(this); } } } export class RoworstatmentContext extends ParserRuleContext { public KW_ROW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROW, 0); } public KW_STATEMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STATEMENT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_roworstatment; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRoworstatment) { listener.enterRoworstatment(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRoworstatment) { listener.exitRoworstatment(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRoworstatment) { return visitor.visitRoworstatment(this); } else { return visitor.visitChildren(this); } } } export class TriggereventsContext extends ParserRuleContext { public triggeroneevent(): TriggeroneeventContext[]; public triggeroneevent(i: number): TriggeroneeventContext; public triggeroneevent(i?: number): TriggeroneeventContext | TriggeroneeventContext[] { if (i === undefined) { return this.getRuleContexts(TriggeroneeventContext); } else { return this.getRuleContext(i, TriggeroneeventContext); } } public KW_OR(): TerminalNode[]; public KW_OR(i: number): TerminalNode; public KW_OR(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_OR); } else { return this.getToken(PostgreSQLParser.KW_OR, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_triggerevents; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTriggerevents) { listener.enterTriggerevents(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTriggerevents) { listener.exitTriggerevents(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTriggerevents) { return visitor.visitTriggerevents(this); } else { return visitor.visitChildren(this); } } } export class TriggeroneeventContext extends ParserRuleContext { public KW_INSERT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INSERT, 0); } public KW_DELETE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DELETE, 0); } public KW_UPDATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UPDATE, 0); } public KW_OF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OF, 0); } public columnlist(): ColumnlistContext | undefined { return this.tryGetRuleContext(0, ColumnlistContext); } public KW_TRUNCATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRUNCATE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_triggeroneevent; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTriggeroneevent) { listener.enterTriggeroneevent(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTriggeroneevent) { listener.exitTriggeroneevent(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTriggeroneevent) { return visitor.visitTriggeroneevent(this); } else { return visitor.visitChildren(this); } } } export class TriggerreferencingContext extends ParserRuleContext { public KW_REFERENCING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_REFERENCING, 0); } public triggertransitions(): TriggertransitionsContext { return this.getRuleContext(0, TriggertransitionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_triggerreferencing; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTriggerreferencing) { listener.enterTriggerreferencing(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTriggerreferencing) { listener.exitTriggerreferencing(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTriggerreferencing) { return visitor.visitTriggerreferencing(this); } else { return visitor.visitChildren(this); } } } export class TriggertransitionsContext extends ParserRuleContext { public triggertransition(): TriggertransitionContext[]; public triggertransition(i: number): TriggertransitionContext; public triggertransition(i?: number): TriggertransitionContext | TriggertransitionContext[] { if (i === undefined) { return this.getRuleContexts(TriggertransitionContext); } else { return this.getRuleContext(i, TriggertransitionContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_triggertransitions; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTriggertransitions) { listener.enterTriggertransitions(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTriggertransitions) { listener.exitTriggertransitions(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTriggertransitions) { return visitor.visitTriggertransitions(this); } else { return visitor.visitChildren(this); } } } export class TriggertransitionContext extends ParserRuleContext { public transitionoldornew(): TransitionoldornewContext { return this.getRuleContext(0, TransitionoldornewContext); } public transitionrowortable(): TransitionrowortableContext { return this.getRuleContext(0, TransitionrowortableContext); } public transitionrelname(): TransitionrelnameContext { return this.getRuleContext(0, TransitionrelnameContext); } public opt_as(): Opt_asContext | undefined { return this.tryGetRuleContext(0, Opt_asContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_triggertransition; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTriggertransition) { listener.enterTriggertransition(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTriggertransition) { listener.exitTriggertransition(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTriggertransition) { return visitor.visitTriggertransition(this); } else { return visitor.visitChildren(this); } } } export class TransitionoldornewContext extends ParserRuleContext { public KW_NEW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NEW, 0); } public KW_OLD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OLD, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_transitionoldornew; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTransitionoldornew) { listener.enterTransitionoldornew(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTransitionoldornew) { listener.exitTransitionoldornew(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTransitionoldornew) { return visitor.visitTransitionoldornew(this); } else { return visitor.visitChildren(this); } } } export class TransitionrowortableContext extends ParserRuleContext { public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public KW_ROW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROW, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_transitionrowortable; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTransitionrowortable) { listener.enterTransitionrowortable(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTransitionrowortable) { listener.exitTransitionrowortable(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTransitionrowortable) { return visitor.visitTransitionrowortable(this); } else { return visitor.visitChildren(this); } } } export class TransitionrelnameContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_transitionrelname; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTransitionrelname) { listener.enterTransitionrelname(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTransitionrelname) { listener.exitTransitionrelname(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTransitionrelname) { return visitor.visitTransitionrelname(this); } else { return visitor.visitChildren(this); } } } export class TriggerforspecContext extends ParserRuleContext { public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public triggerfortype(): TriggerfortypeContext { return this.getRuleContext(0, TriggerfortypeContext); } public triggerforopteach(): TriggerforopteachContext | undefined { return this.tryGetRuleContext(0, TriggerforopteachContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_triggerforspec; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTriggerforspec) { listener.enterTriggerforspec(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTriggerforspec) { listener.exitTriggerforspec(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTriggerforspec) { return visitor.visitTriggerforspec(this); } else { return visitor.visitChildren(this); } } } export class TriggerforopteachContext extends ParserRuleContext { public KW_EACH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EACH, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_triggerforopteach; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTriggerforopteach) { listener.enterTriggerforopteach(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTriggerforopteach) { listener.exitTriggerforopteach(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTriggerforopteach) { return visitor.visitTriggerforopteach(this); } else { return visitor.visitChildren(this); } } } export class TriggerfortypeContext extends ParserRuleContext { public KW_ROW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROW, 0); } public KW_STATEMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STATEMENT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_triggerfortype; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTriggerfortype) { listener.enterTriggerfortype(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTriggerfortype) { listener.exitTriggerfortype(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTriggerfortype) { return visitor.visitTriggerfortype(this); } else { return visitor.visitChildren(this); } } } export class TriggerwhenContext extends ParserRuleContext { public KW_WHEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WHEN, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_triggerwhen; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTriggerwhen) { listener.enterTriggerwhen(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTriggerwhen) { listener.exitTriggerwhen(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTriggerwhen) { return visitor.visitTriggerwhen(this); } else { return visitor.visitChildren(this); } } } export class Function_or_procedureContext extends ParserRuleContext { public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_name(): Function_nameContext | undefined { return this.tryGetRuleContext(0, Function_nameContext); } public KW_PROCEDURE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURE, 0); } public procedure_name(): Procedure_nameContext | undefined { return this.tryGetRuleContext(0, Procedure_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_function_or_procedure; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunction_or_procedure) { listener.enterFunction_or_procedure(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunction_or_procedure) { listener.exitFunction_or_procedure(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunction_or_procedure) { return visitor.visitFunction_or_procedure(this); } else { return visitor.visitChildren(this); } } } export class TriggerfuncargsContext extends ParserRuleContext { public triggerfuncarg(): TriggerfuncargContext[]; public triggerfuncarg(i: number): TriggerfuncargContext; public triggerfuncarg(i?: number): TriggerfuncargContext | TriggerfuncargContext[] { if (i === undefined) { return this.getRuleContexts(TriggerfuncargContext); } else { return this.getRuleContext(i, TriggerfuncargContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_triggerfuncargs; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTriggerfuncargs) { listener.enterTriggerfuncargs(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTriggerfuncargs) { listener.exitTriggerfuncargs(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTriggerfuncargs) { return visitor.visitTriggerfuncargs(this); } else { return visitor.visitChildren(this); } } } export class TriggerfuncargContext extends ParserRuleContext { public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } public fconst(): FconstContext | undefined { return this.tryGetRuleContext(0, FconstContext); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public collabel(): CollabelContext | undefined { return this.tryGetRuleContext(0, CollabelContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_triggerfuncarg; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTriggerfuncarg) { listener.enterTriggerfuncarg(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTriggerfuncarg) { listener.exitTriggerfuncarg(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTriggerfuncarg) { return visitor.visitTriggerfuncarg(this); } else { return visitor.visitChildren(this); } } } export class OptconstrfromtableContext extends ParserRuleContext { public KW_FROM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FROM, 0); } public qualified_name(): Qualified_nameContext { return this.getRuleContext(0, Qualified_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_optconstrfromtable; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOptconstrfromtable) { listener.enterOptconstrfromtable(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOptconstrfromtable) { listener.exitOptconstrfromtable(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOptconstrfromtable) { return visitor.visitOptconstrfromtable(this); } else { return visitor.visitChildren(this); } } } export class ConstraintattributespecContext extends ParserRuleContext { public constraintattributeElem(): ConstraintattributeElemContext[]; public constraintattributeElem(i: number): ConstraintattributeElemContext; public constraintattributeElem(i?: number): ConstraintattributeElemContext | ConstraintattributeElemContext[] { if (i === undefined) { return this.getRuleContexts(ConstraintattributeElemContext); } else { return this.getRuleContext(i, ConstraintattributeElemContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_constraintattributespec; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterConstraintattributespec) { listener.enterConstraintattributespec(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitConstraintattributespec) { listener.exitConstraintattributespec(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitConstraintattributespec) { return visitor.visitConstraintattributespec(this); } else { return visitor.visitChildren(this); } } } export class ConstraintattributeElemContext extends ParserRuleContext { public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public KW_DEFERRABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFERRABLE, 0); } public KW_INITIALLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INITIALLY, 0); } public KW_IMMEDIATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IMMEDIATE, 0); } public KW_DEFERRED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFERRED, 0); } public KW_VALID(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALID, 0); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } public KW_INHERIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INHERIT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_constraintattributeElem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterConstraintattributeElem) { listener.enterConstraintattributeElem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitConstraintattributeElem) { listener.exitConstraintattributeElem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitConstraintattributeElem) { return visitor.visitConstraintattributeElem(this); } else { return visitor.visitChildren(this); } } } export class CreateeventtrigstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_EVENT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EVENT, 0); } public KW_TRIGGER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TRIGGER, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public collabel(): CollabelContext { return this.getRuleContext(0, CollabelContext); } public KW_EXECUTE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXECUTE, 0); } public function_or_procedure(): Function_or_procedureContext { return this.getRuleContext(0, Function_or_procedureContext); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_WHEN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WHEN, 0); } public event_trigger_when_list(): Event_trigger_when_listContext | undefined { return this.tryGetRuleContext(0, Event_trigger_when_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createeventtrigstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateeventtrigstmt) { listener.enterCreateeventtrigstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateeventtrigstmt) { listener.exitCreateeventtrigstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateeventtrigstmt) { return visitor.visitCreateeventtrigstmt(this); } else { return visitor.visitChildren(this); } } } export class Event_trigger_when_listContext extends ParserRuleContext { public event_trigger_when_item(): Event_trigger_when_itemContext[]; public event_trigger_when_item(i: number): Event_trigger_when_itemContext; public event_trigger_when_item(i?: number): Event_trigger_when_itemContext | Event_trigger_when_itemContext[] { if (i === undefined) { return this.getRuleContexts(Event_trigger_when_itemContext); } else { return this.getRuleContext(i, Event_trigger_when_itemContext); } } public KW_AND(): TerminalNode[]; public KW_AND(i: number): TerminalNode; public KW_AND(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_AND); } else { return this.getToken(PostgreSQLParser.KW_AND, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_event_trigger_when_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterEvent_trigger_when_list) { listener.enterEvent_trigger_when_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitEvent_trigger_when_list) { listener.exitEvent_trigger_when_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitEvent_trigger_when_list) { return visitor.visitEvent_trigger_when_list(this); } else { return visitor.visitChildren(this); } } } export class Event_trigger_when_itemContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public KW_IN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_IN, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public event_trigger_value_list(): Event_trigger_value_listContext { return this.getRuleContext(0, Event_trigger_value_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_event_trigger_when_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterEvent_trigger_when_item) { listener.enterEvent_trigger_when_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitEvent_trigger_when_item) { listener.exitEvent_trigger_when_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitEvent_trigger_when_item) { return visitor.visitEvent_trigger_when_item(this); } else { return visitor.visitChildren(this); } } } export class Event_trigger_value_listContext extends ParserRuleContext { public sconst(): SconstContext[]; public sconst(i: number): SconstContext; public sconst(i?: number): SconstContext | SconstContext[] { if (i === undefined) { return this.getRuleContexts(SconstContext); } else { return this.getRuleContext(i, SconstContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_event_trigger_value_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterEvent_trigger_value_list) { listener.enterEvent_trigger_value_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitEvent_trigger_value_list) { listener.exitEvent_trigger_value_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitEvent_trigger_value_list) { return visitor.visitEvent_trigger_value_list(this); } else { return visitor.visitChildren(this); } } } export class AltereventtrigstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_EVENT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EVENT, 0); } public KW_TRIGGER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TRIGGER, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public enable_trigger(): Enable_triggerContext { return this.getRuleContext(0, Enable_triggerContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_altereventtrigstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAltereventtrigstmt) { listener.enterAltereventtrigstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAltereventtrigstmt) { listener.exitAltereventtrigstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAltereventtrigstmt) { return visitor.visitAltereventtrigstmt(this); } else { return visitor.visitChildren(this); } } } export class Enable_triggerContext extends ParserRuleContext { public KW_ENABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ENABLE, 0); } public KW_REPLICA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REPLICA, 0); } public KW_ALWAYS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALWAYS, 0); } public KW_DISABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DISABLE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_enable_trigger; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterEnable_trigger) { listener.enterEnable_trigger(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitEnable_trigger) { listener.exitEnable_trigger(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitEnable_trigger) { return visitor.visitEnable_trigger(this); } else { return visitor.visitChildren(this); } } } export class CreateassertionstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_ASSERTION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ASSERTION, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } public KW_CHECK(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CHECK, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public constraintattributespec(): ConstraintattributespecContext { return this.getRuleContext(0, ConstraintattributespecContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createassertionstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateassertionstmt) { listener.enterCreateassertionstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateassertionstmt) { listener.exitCreateassertionstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateassertionstmt) { return visitor.visitCreateassertionstmt(this); } else { return visitor.visitChildren(this); } } } export class DefinestmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_AGGREGATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AGGREGATE, 0); } public function_name(): Function_nameContext | undefined { return this.tryGetRuleContext(0, Function_nameContext); } public aggr_args(): Aggr_argsContext | undefined { return this.tryGetRuleContext(0, Aggr_argsContext); } public definition(): DefinitionContext | undefined { return this.tryGetRuleContext(0, DefinitionContext); } public opt_or_replace(): Opt_or_replaceContext | undefined { return this.tryGetRuleContext(0, Opt_or_replaceContext); } public old_aggr_definition(): Old_aggr_definitionContext | undefined { return this.tryGetRuleContext(0, Old_aggr_definitionContext); } public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public any_operator(): Any_operatorContext | undefined { return this.tryGetRuleContext(0, Any_operatorContext); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } public any_name(): Any_nameContext[]; public any_name(i: number): Any_nameContext; public any_name(i?: number): Any_nameContext | Any_nameContext[] { if (i === undefined) { return this.getRuleContexts(Any_nameContext); } else { return this.getRuleContext(i, Any_nameContext); } } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public opttablefuncelementlist(): OpttablefuncelementlistContext | undefined { return this.tryGetRuleContext(0, OpttablefuncelementlistContext); } public KW_ENUM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ENUM, 0); } public opt_enum_val_list(): Opt_enum_val_listContext | undefined { return this.tryGetRuleContext(0, Opt_enum_val_listContext); } public KW_RANGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RANGE, 0); } public KW_TEXT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEXT, 0); } public KW_SEARCH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEARCH, 0); } public KW_PARSER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARSER, 0); } public KW_DICTIONARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DICTIONARY, 0); } public KW_TEMPLATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMPLATE, 0); } public KW_CONFIGURATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONFIGURATION, 0); } public KW_COLLATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATION, 0); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_definestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDefinestmt) { listener.enterDefinestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDefinestmt) { listener.exitDefinestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDefinestmt) { return visitor.visitDefinestmt(this); } else { return visitor.visitChildren(this); } } } export class DefinitionContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public def_list(): Def_listContext { return this.getRuleContext(0, Def_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_definition; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDefinition) { listener.enterDefinition(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDefinition) { listener.exitDefinition(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDefinition) { return visitor.visitDefinition(this); } else { return visitor.visitChildren(this); } } } export class Def_listContext extends ParserRuleContext { public def_elem(): Def_elemContext[]; public def_elem(i: number): Def_elemContext; public def_elem(i?: number): Def_elemContext | Def_elemContext[] { if (i === undefined) { return this.getRuleContexts(Def_elemContext); } else { return this.getRuleContext(i, Def_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_def_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDef_list) { listener.enterDef_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDef_list) { listener.exitDef_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDef_list) { return visitor.visitDef_list(this); } else { return visitor.visitChildren(this); } } } export class Def_elemContext extends ParserRuleContext { public collabel(): CollabelContext { return this.getRuleContext(0, CollabelContext); } public EQUAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EQUAL, 0); } public def_arg(): Def_argContext | undefined { return this.tryGetRuleContext(0, Def_argContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_def_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDef_elem) { listener.enterDef_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDef_elem) { listener.exitDef_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDef_elem) { return visitor.visitDef_elem(this); } else { return visitor.visitChildren(this); } } } export class Def_argContext extends ParserRuleContext { public func_type(): Func_typeContext | undefined { return this.tryGetRuleContext(0, Func_typeContext); } public reserved_keyword(): Reserved_keywordContext | undefined { return this.tryGetRuleContext(0, Reserved_keywordContext); } public qual_all_op(): Qual_all_opContext | undefined { return this.tryGetRuleContext(0, Qual_all_opContext); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public KW_NONE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NONE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_def_arg; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDef_arg) { listener.enterDef_arg(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDef_arg) { listener.exitDef_arg(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDef_arg) { return visitor.visitDef_arg(this); } else { return visitor.visitChildren(this); } } } export class Old_aggr_definitionContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public old_aggr_list(): Old_aggr_listContext { return this.getRuleContext(0, Old_aggr_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_old_aggr_definition; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOld_aggr_definition) { listener.enterOld_aggr_definition(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOld_aggr_definition) { listener.exitOld_aggr_definition(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOld_aggr_definition) { return visitor.visitOld_aggr_definition(this); } else { return visitor.visitChildren(this); } } } export class Old_aggr_listContext extends ParserRuleContext { public old_aggr_elem(): Old_aggr_elemContext[]; public old_aggr_elem(i: number): Old_aggr_elemContext; public old_aggr_elem(i?: number): Old_aggr_elemContext | Old_aggr_elemContext[] { if (i === undefined) { return this.getRuleContexts(Old_aggr_elemContext); } else { return this.getRuleContext(i, Old_aggr_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_old_aggr_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOld_aggr_list) { listener.enterOld_aggr_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOld_aggr_list) { listener.exitOld_aggr_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOld_aggr_list) { return visitor.visitOld_aggr_list(this); } else { return visitor.visitChildren(this); } } } export class Old_aggr_elemContext extends ParserRuleContext { public identifier(): IdentifierContext { return this.getRuleContext(0, IdentifierContext); } public EQUAL(): TerminalNode { return this.getToken(PostgreSQLParser.EQUAL, 0); } public def_arg(): Def_argContext { return this.getRuleContext(0, Def_argContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_old_aggr_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOld_aggr_elem) { listener.enterOld_aggr_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOld_aggr_elem) { listener.exitOld_aggr_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOld_aggr_elem) { return visitor.visitOld_aggr_elem(this); } else { return visitor.visitChildren(this); } } } export class Opt_enum_val_listContext extends ParserRuleContext { public enum_val_list(): Enum_val_listContext { return this.getRuleContext(0, Enum_val_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_enum_val_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_enum_val_list) { listener.enterOpt_enum_val_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_enum_val_list) { listener.exitOpt_enum_val_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_enum_val_list) { return visitor.visitOpt_enum_val_list(this); } else { return visitor.visitChildren(this); } } } export class Enum_val_listContext extends ParserRuleContext { public sconst(): SconstContext[]; public sconst(i: number): SconstContext; public sconst(i?: number): SconstContext | SconstContext[] { if (i === undefined) { return this.getRuleContexts(SconstContext); } else { return this.getRuleContext(i, SconstContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_enum_val_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterEnum_val_list) { listener.enterEnum_val_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitEnum_val_list) { listener.exitEnum_val_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitEnum_val_list) { return visitor.visitEnum_val_list(this); } else { return visitor.visitChildren(this); } } } export class AlterenumstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_TYPE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TYPE, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } public KW_ADD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADD, 0); } public KW_VALUE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_VALUE, 0); } public sconst(): SconstContext[]; public sconst(i: number): SconstContext; public sconst(i?: number): SconstContext | SconstContext[] { if (i === undefined) { return this.getRuleContexts(SconstContext); } else { return this.getRuleContext(i, SconstContext); } } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } public KW_BEFORE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BEFORE, 0); } public KW_AFTER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AFTER, 0); } public KW_RENAME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RENAME, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterenumstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterenumstmt) { listener.enterAlterenumstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterenumstmt) { listener.exitAlterenumstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterenumstmt) { return visitor.visitAlterenumstmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_if_not_existsContext extends ParserRuleContext { public KW_IF(): TerminalNode { return this.getToken(PostgreSQLParser.KW_IF, 0); } public KW_NOT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_NOT, 0); } public KW_EXISTS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXISTS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_if_not_exists; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_if_not_exists) { listener.enterOpt_if_not_exists(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_if_not_exists) { listener.exitOpt_if_not_exists(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_if_not_exists) { return visitor.visitOpt_if_not_exists(this); } else { return visitor.visitChildren(this); } } } export class CreateopclassstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_OPERATOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OPERATOR, 0); } public KW_CLASS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CLASS, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public KW_TYPE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TYPE, 0); } public typename(): TypenameContext { return this.getRuleContext(0, TypenameContext); } public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public KW_AS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AS, 0); } public opclass_item_list(): Opclass_item_listContext { return this.getRuleContext(0, Opclass_item_listContext); } public opt_default(): Opt_defaultContext | undefined { return this.tryGetRuleContext(0, Opt_defaultContext); } public opt_opfamily(): Opt_opfamilyContext | undefined { return this.tryGetRuleContext(0, Opt_opfamilyContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createopclassstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateopclassstmt) { listener.enterCreateopclassstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateopclassstmt) { listener.exitCreateopclassstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateopclassstmt) { return visitor.visitCreateopclassstmt(this); } else { return visitor.visitChildren(this); } } } export class Opclass_item_listContext extends ParserRuleContext { public opclass_item(): Opclass_itemContext[]; public opclass_item(i: number): Opclass_itemContext; public opclass_item(i?: number): Opclass_itemContext | Opclass_itemContext[] { if (i === undefined) { return this.getRuleContexts(Opclass_itemContext); } else { return this.getRuleContext(i, Opclass_itemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opclass_item_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpclass_item_list) { listener.enterOpclass_item_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpclass_item_list) { listener.exitOpclass_item_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpclass_item_list) { return visitor.visitOpclass_item_list(this); } else { return visitor.visitChildren(this); } } } export class Opclass_itemContext extends ParserRuleContext { public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } public any_operator(): Any_operatorContext | undefined { return this.tryGetRuleContext(0, Any_operatorContext); } public opclass_purpose(): Opclass_purposeContext | undefined { return this.tryGetRuleContext(0, Opclass_purposeContext); } public opt_recheck(): Opt_recheckContext | undefined { return this.tryGetRuleContext(0, Opt_recheckContext); } public operator_with_argtypes(): Operator_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Operator_with_argtypesContext); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_with_argtypes(): Function_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Function_with_argtypesContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public type_list(): Type_listContext | undefined { return this.tryGetRuleContext(0, Type_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_STORAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STORAGE, 0); } public typename(): TypenameContext | undefined { return this.tryGetRuleContext(0, TypenameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opclass_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpclass_item) { listener.enterOpclass_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpclass_item) { listener.exitOpclass_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpclass_item) { return visitor.visitOpclass_item(this); } else { return visitor.visitChildren(this); } } } export class Opt_defaultContext extends ParserRuleContext { public KW_DEFAULT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DEFAULT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_default; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_default) { listener.enterOpt_default(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_default) { listener.exitOpt_default(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_default) { return visitor.visitOpt_default(this); } else { return visitor.visitChildren(this); } } } export class Opt_opfamilyContext extends ParserRuleContext { public KW_FAMILY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FAMILY, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_opfamily; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_opfamily) { listener.enterOpt_opfamily(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_opfamily) { listener.exitOpt_opfamily(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_opfamily) { return visitor.visitOpt_opfamily(this); } else { return visitor.visitChildren(this); } } } export class Opclass_purposeContext extends ParserRuleContext { public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public KW_SEARCH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEARCH, 0); } public KW_ORDER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ORDER, 0); } public KW_BY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BY, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opclass_purpose; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpclass_purpose) { listener.enterOpclass_purpose(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpclass_purpose) { listener.exitOpclass_purpose(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpclass_purpose) { return visitor.visitOpclass_purpose(this); } else { return visitor.visitChildren(this); } } } export class Opt_recheckContext extends ParserRuleContext { public KW_RECHECK(): TerminalNode { return this.getToken(PostgreSQLParser.KW_RECHECK, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_recheck; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_recheck) { listener.enterOpt_recheck(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_recheck) { listener.exitOpt_recheck(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_recheck) { return visitor.visitOpt_recheck(this); } else { return visitor.visitChildren(this); } } } export class CreateopfamilystmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_OPERATOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OPERATOR, 0); } public KW_FAMILY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FAMILY, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createopfamilystmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateopfamilystmt) { listener.enterCreateopfamilystmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateopfamilystmt) { listener.exitCreateopfamilystmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateopfamilystmt) { return visitor.visitCreateopfamilystmt(this); } else { return visitor.visitChildren(this); } } } export class AlteropfamilystmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_OPERATOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OPERATOR, 0); } public KW_FAMILY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FAMILY, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public KW_ADD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADD, 0); } public opclass_item_list(): Opclass_item_listContext | undefined { return this.tryGetRuleContext(0, Opclass_item_listContext); } public KW_DROP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DROP, 0); } public opclass_drop_list(): Opclass_drop_listContext | undefined { return this.tryGetRuleContext(0, Opclass_drop_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alteropfamilystmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlteropfamilystmt) { listener.enterAlteropfamilystmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlteropfamilystmt) { listener.exitAlteropfamilystmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlteropfamilystmt) { return visitor.visitAlteropfamilystmt(this); } else { return visitor.visitChildren(this); } } } export class Opclass_drop_listContext extends ParserRuleContext { public opclass_drop(): Opclass_dropContext[]; public opclass_drop(i: number): Opclass_dropContext; public opclass_drop(i?: number): Opclass_dropContext | Opclass_dropContext[] { if (i === undefined) { return this.getRuleContexts(Opclass_dropContext); } else { return this.getRuleContext(i, Opclass_dropContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opclass_drop_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpclass_drop_list) { listener.enterOpclass_drop_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpclass_drop_list) { listener.exitOpclass_drop_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpclass_drop_list) { return visitor.visitOpclass_drop_list(this); } else { return visitor.visitChildren(this); } } } export class Opclass_dropContext extends ParserRuleContext { public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public iconst(): IconstContext { return this.getRuleContext(0, IconstContext); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public type_list(): Type_listContext { return this.getRuleContext(0, Type_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opclass_drop; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpclass_drop) { listener.enterOpclass_drop(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpclass_drop) { listener.exitOpclass_drop(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpclass_drop) { return visitor.visitOpclass_drop(this); } else { return visitor.visitChildren(this); } } } export class ReassignownedstmtContext extends ParserRuleContext { public KW_REASSIGN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_REASSIGN, 0); } public KW_OWNED(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OWNED, 0); } public KW_BY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BY, 0); } public role_list(): Role_listContext { return this.getRuleContext(0, Role_listContext); } public KW_TO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TO, 0); } public rolespec(): RolespecContext { return this.getRuleContext(0, RolespecContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_reassignownedstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterReassignownedstmt) { listener.enterReassignownedstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitReassignownedstmt) { listener.exitReassignownedstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitReassignownedstmt) { return visitor.visitReassignownedstmt(this); } else { return visitor.visitChildren(this); } } } export class DropstmtContext extends ParserRuleContext { public KW_DROP(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DROP, 0); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public table_name_list(): Table_name_listContext | undefined { return this.tryGetRuleContext(0, Table_name_listContext); } public opt_if_exists(): Opt_if_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_existsContext); } public opt_drop_behavior(): Opt_drop_behaviorContext | undefined { return this.tryGetRuleContext(0, Opt_drop_behaviorContext); } public KW_SEQUENCE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEQUENCE, 0); } public name_list(): Name_listContext | undefined { return this.tryGetRuleContext(0, Name_listContext); } public KW_VIEW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VIEW, 0); } public view_nameList(): View_nameListContext | undefined { return this.tryGetRuleContext(0, View_nameListContext); } public KW_MATERIALIZED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MATERIALIZED, 0); } public KW_INDEX(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INDEX, 0); } public KW_FOREIGN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_COLLATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATION, 0); } public KW_CONVERSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONVERSION, 0); } public KW_STATISTICS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STATISTICS, 0); } public KW_TEXT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEXT, 0); } public KW_SEARCH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEARCH, 0); } public KW_PARSER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARSER, 0); } public KW_DICTIONARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DICTIONARY, 0); } public KW_TEMPLATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMPLATE, 0); } public KW_CONFIGURATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONFIGURATION, 0); } public KW_ACCESS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ACCESS, 0); } public KW_METHOD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_METHOD, 0); } public KW_EVENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EVENT, 0); } public KW_TRIGGER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRIGGER, 0); } public KW_EXTENSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTENSION, 0); } public KW_DATA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATA, 0); } public KW_WRAPPER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WRAPPER, 0); } public KW_LANGUAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LANGUAGE, 0); } public opt_procedural(): Opt_proceduralContext | undefined { return this.tryGetRuleContext(0, Opt_proceduralContext); } public KW_PUBLICATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PUBLICATION, 0); } public KW_SERVER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SERVER, 0); } public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name_list(): Schema_name_listContext | undefined { return this.tryGetRuleContext(0, Schema_name_listContext); } public KW_POLICY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_POLICY, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } public KW_ON(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ON, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public KW_RULE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RULE, 0); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } public type_name_list(): Type_name_listContext | undefined { return this.tryGetRuleContext(0, Type_name_listContext); } public KW_DOMAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOMAIN, 0); } public KW_CONCURRENTLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONCURRENTLY, 0); } public any_name_list(): Any_name_listContext | undefined { return this.tryGetRuleContext(0, Any_name_listContext); } public KW_CAST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CAST, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public typename(): TypenameContext[]; public typename(i: number): TypenameContext; public typename(i?: number): TypenameContext | TypenameContext[] { if (i === undefined) { return this.getRuleContexts(TypenameContext); } else { return this.getRuleContext(i, TypenameContext); } } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public KW_CLASS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CLASS, 0); } public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public KW_FAMILY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FAMILY, 0); } public KW_OWNED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OWNED, 0); } public KW_BY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BY, 0); } public role_list(): Role_listContext | undefined { return this.tryGetRuleContext(0, Role_listContext); } public KW_SUBSCRIPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SUBSCRIPTION, 0); } public KW_TABLESPACE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLESPACE, 0); } public tablespace_name(): Tablespace_nameContext | undefined { return this.tryGetRuleContext(0, Tablespace_nameContext); } public KW_TRANSFORM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRANSFORM, 0); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public KW_ROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLE, 0); } public KW_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USER, 0); } public KW_GROUP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GROUP, 0); } public KW_MAPPING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MAPPING, 0); } public auth_ident(): Auth_identContext | undefined { return this.tryGetRuleContext(0, Auth_identContext); } public KW_DATABASE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATABASE, 0); } public database_name(): Database_nameContext | undefined { return this.tryGetRuleContext(0, Database_nameContext); } public drop_option_list(): Drop_option_listContext | undefined { return this.tryGetRuleContext(0, Drop_option_listContext); } public opt_with(): Opt_withContext | undefined { return this.tryGetRuleContext(0, Opt_withContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_dropstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDropstmt) { listener.enterDropstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDropstmt) { listener.exitDropstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDropstmt) { return visitor.visitDropstmt(this); } else { return visitor.visitChildren(this); } } } export class View_nameListContext extends ParserRuleContext { public view_name(): View_nameContext[]; public view_name(i: number): View_nameContext; public view_name(i?: number): View_nameContext | View_nameContext[] { if (i === undefined) { return this.getRuleContexts(View_nameContext); } else { return this.getRuleContext(i, View_nameContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_view_nameList; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterView_nameList) { listener.enterView_nameList(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitView_nameList) { listener.exitView_nameList(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitView_nameList) { return visitor.visitView_nameList(this); } else { return visitor.visitChildren(this); } } } export class Object_type_any_nameContext extends ParserRuleContext { public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public table_name(): Table_nameContext | undefined { return this.tryGetRuleContext(0, Table_nameContext); } public KW_SEQUENCE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEQUENCE, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public KW_VIEW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VIEW, 0); } public view_name(): View_nameContext | undefined { return this.tryGetRuleContext(0, View_nameContext); } public KW_MATERIALIZED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MATERIALIZED, 0); } public KW_INDEX(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INDEX, 0); } public KW_FOREIGN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_COLLATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATION, 0); } public KW_CONVERSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONVERSION, 0); } public KW_STATISTICS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STATISTICS, 0); } public KW_TEXT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEXT, 0); } public KW_SEARCH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEARCH, 0); } public KW_PARSER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARSER, 0); } public KW_DICTIONARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DICTIONARY, 0); } public KW_TEMPLATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMPLATE, 0); } public KW_CONFIGURATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONFIGURATION, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_object_type_any_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterObject_type_any_name) { listener.enterObject_type_any_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitObject_type_any_name) { listener.exitObject_type_any_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitObject_type_any_name) { return visitor.visitObject_type_any_name(this); } else { return visitor.visitChildren(this); } } } export class Object_type_nameContext extends ParserRuleContext { public KW_ACCESS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ACCESS, 0); } public KW_METHOD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_METHOD, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } public KW_EVENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EVENT, 0); } public KW_TRIGGER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRIGGER, 0); } public KW_EXTENSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTENSION, 0); } public KW_FOREIGN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_DATA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATA, 0); } public KW_WRAPPER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WRAPPER, 0); } public KW_LANGUAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LANGUAGE, 0); } public opt_procedural(): Opt_proceduralContext | undefined { return this.tryGetRuleContext(0, Opt_proceduralContext); } public KW_PUBLICATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PUBLICATION, 0); } public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name(): Schema_nameContext | undefined { return this.tryGetRuleContext(0, Schema_nameContext); } public KW_SERVER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SERVER, 0); } public KW_DATABASE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATABASE, 0); } public database_name(): Database_nameContext | undefined { return this.tryGetRuleContext(0, Database_nameContext); } public KW_ROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLE, 0); } public KW_SUBSCRIPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SUBSCRIPTION, 0); } public KW_TABLESPACE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLESPACE, 0); } public tablespace_name(): Tablespace_nameContext | undefined { return this.tryGetRuleContext(0, Tablespace_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_object_type_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterObject_type_name) { listener.enterObject_type_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitObject_type_name) { listener.exitObject_type_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitObject_type_name) { return visitor.visitObject_type_name(this); } else { return visitor.visitChildren(this); } } } export class Object_type_name_on_any_nameContext extends ParserRuleContext { public KW_POLICY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_POLICY, 0); } public KW_RULE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RULE, 0); } public KW_TRIGGER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRIGGER, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_object_type_name_on_any_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterObject_type_name_on_any_name) { listener.enterObject_type_name_on_any_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitObject_type_name_on_any_name) { listener.exitObject_type_name_on_any_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitObject_type_name_on_any_name) { return visitor.visitObject_type_name_on_any_name(this); } else { return visitor.visitChildren(this); } } } export class Any_name_listContext extends ParserRuleContext { public any_name(): Any_nameContext[]; public any_name(i: number): Any_nameContext; public any_name(i?: number): Any_nameContext | Any_nameContext[] { if (i === undefined) { return this.getRuleContexts(Any_nameContext); } else { return this.getRuleContext(i, Any_nameContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_any_name_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAny_name_list) { listener.enterAny_name_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAny_name_list) { listener.exitAny_name_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAny_name_list) { return visitor.visitAny_name_list(this); } else { return visitor.visitChildren(this); } } } export class Table_column_nameContext extends ParserRuleContext { public table_name(): Table_nameContext { return this.getRuleContext(0, Table_nameContext); } public DOT(): TerminalNode { return this.getToken(PostgreSQLParser.DOT, 0); } public column_name(): Column_nameContext { return this.getRuleContext(0, Column_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_table_column_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTable_column_name) { listener.enterTable_column_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTable_column_name) { listener.exitTable_column_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTable_column_name) { return visitor.visitTable_column_name(this); } else { return visitor.visitChildren(this); } } } export class Relation_column_nameContext extends ParserRuleContext { public relation_name(): Relation_nameContext { return this.getRuleContext(0, Relation_nameContext); } public DOT(): TerminalNode { return this.getToken(PostgreSQLParser.DOT, 0); } public column_name(): Column_nameContext { return this.getRuleContext(0, Column_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_relation_column_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRelation_column_name) { listener.enterRelation_column_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRelation_column_name) { listener.exitRelation_column_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRelation_column_name) { return visitor.visitRelation_column_name(this); } else { return visitor.visitChildren(this); } } } export class Relation_nameContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public attrs(): AttrsContext | undefined { return this.tryGetRuleContext(0, AttrsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_relation_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRelation_name) { listener.enterRelation_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRelation_name) { listener.exitRelation_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRelation_name) { return visitor.visitRelation_name(this); } else { return visitor.visitChildren(this); } } } export class Any_nameContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public attrs(): AttrsContext | undefined { return this.tryGetRuleContext(0, AttrsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_any_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAny_name) { listener.enterAny_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAny_name) { listener.exitAny_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAny_name) { return visitor.visitAny_name(this); } else { return visitor.visitChildren(this); } } } export class AttrsContext extends ParserRuleContext { public DOT(): TerminalNode[]; public DOT(i: number): TerminalNode; public DOT(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.DOT); } else { return this.getToken(PostgreSQLParser.DOT, i); } } public attr_name(): Attr_nameContext[]; public attr_name(i: number): Attr_nameContext; public attr_name(i?: number): Attr_nameContext | Attr_nameContext[] { if (i === undefined) { return this.getRuleContexts(Attr_nameContext); } else { return this.getRuleContext(i, Attr_nameContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_attrs; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAttrs) { listener.enterAttrs(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAttrs) { listener.exitAttrs(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAttrs) { return visitor.visitAttrs(this); } else { return visitor.visitChildren(this); } } } export class Type_name_listContext extends ParserRuleContext { public typename(): TypenameContext[]; public typename(i: number): TypenameContext; public typename(i?: number): TypenameContext | TypenameContext[] { if (i === undefined) { return this.getRuleContexts(TypenameContext); } else { return this.getRuleContext(i, TypenameContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_type_name_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterType_name_list) { listener.enterType_name_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitType_name_list) { listener.exitType_name_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitType_name_list) { return visitor.visitType_name_list(this); } else { return visitor.visitChildren(this); } } } export class TruncatestmtContext extends ParserRuleContext { public KW_TRUNCATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TRUNCATE, 0); } public relation_expr_list(): Relation_expr_listContext { return this.getRuleContext(0, Relation_expr_listContext); } public opt_table(): Opt_tableContext | undefined { return this.tryGetRuleContext(0, Opt_tableContext); } public opt_restart_seqs(): Opt_restart_seqsContext | undefined { return this.tryGetRuleContext(0, Opt_restart_seqsContext); } public opt_drop_behavior(): Opt_drop_behaviorContext | undefined { return this.tryGetRuleContext(0, Opt_drop_behaviorContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_truncatestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTruncatestmt) { listener.enterTruncatestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTruncatestmt) { listener.exitTruncatestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTruncatestmt) { return visitor.visitTruncatestmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_restart_seqsContext extends ParserRuleContext { public KW_CONTINUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONTINUE, 0); } public KW_IDENTITY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_IDENTITY, 0); } public KW_RESTART(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESTART, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_restart_seqs; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_restart_seqs) { listener.enterOpt_restart_seqs(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_restart_seqs) { listener.exitOpt_restart_seqs(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_restart_seqs) { return visitor.visitOpt_restart_seqs(this); } else { return visitor.visitChildren(this); } } } export class CommentstmtContext extends ParserRuleContext { public KW_COMMENT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_COMMENT, 0); } public KW_ON(): TerminalNode[]; public KW_ON(i: number): TerminalNode; public KW_ON(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_ON); } else { return this.getToken(PostgreSQLParser.KW_ON, i); } } public object_type_any_name(): Object_type_any_nameContext | undefined { return this.tryGetRuleContext(0, Object_type_any_nameContext); } public KW_IS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_IS, 0); } public comment_text(): Comment_textContext { return this.getRuleContext(0, Comment_textContext); } public KW_COLUMN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLUMN, 0); } public relation_column_name(): Relation_column_nameContext | undefined { return this.tryGetRuleContext(0, Relation_column_nameContext); } public object_type_name(): Object_type_nameContext | undefined { return this.tryGetRuleContext(0, Object_type_nameContext); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } public typename(): TypenameContext[]; public typename(i: number): TypenameContext; public typename(i?: number): TypenameContext | TypenameContext[] { if (i === undefined) { return this.getRuleContexts(TypenameContext); } else { return this.getRuleContext(i, TypenameContext); } } public KW_DOMAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOMAIN, 0); } public KW_AGGREGATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AGGREGATE, 0); } public aggregate_with_argtypes(): Aggregate_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Aggregate_with_argtypesContext); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_with_argtypes(): Function_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Function_with_argtypesContext); } public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public operator_with_argtypes(): Operator_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Operator_with_argtypesContext); } public KW_CONSTRAINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTRAINT, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } public table_name(): Table_nameContext | undefined { return this.tryGetRuleContext(0, Table_nameContext); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public KW_POLICY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_POLICY, 0); } public KW_RULE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RULE, 0); } public KW_TRIGGER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRIGGER, 0); } public KW_PROCEDURE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURE, 0); } public procedure_with_argtypes(): Procedure_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Procedure_with_argtypesContext); } public KW_ROUTINE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINE, 0); } public routine_with_argtypes(): Routine_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Routine_with_argtypesContext); } public KW_TRANSFORM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRANSFORM, 0); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public KW_LANGUAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LANGUAGE, 0); } public KW_CLASS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CLASS, 0); } public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public KW_FAMILY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FAMILY, 0); } public KW_LARGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LARGE, 0); } public KW_OBJECT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OBJECT, 0); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } public KW_CAST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CAST, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_commentstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCommentstmt) { listener.enterCommentstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCommentstmt) { listener.exitCommentstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCommentstmt) { return visitor.visitCommentstmt(this); } else { return visitor.visitChildren(this); } } } export class Comment_textContext extends ParserRuleContext { public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_comment_text; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterComment_text) { listener.enterComment_text(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitComment_text) { listener.exitComment_text(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitComment_text) { return visitor.visitComment_text(this); } else { return visitor.visitChildren(this); } } } export class SeclabelstmtContext extends ParserRuleContext { public KW_SECURITY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SECURITY, 0); } public KW_LABEL(): TerminalNode { return this.getToken(PostgreSQLParser.KW_LABEL, 0); } public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public object_type_any_name(): Object_type_any_nameContext | undefined { return this.tryGetRuleContext(0, Object_type_any_nameContext); } public KW_IS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_IS, 0); } public security_label(): Security_labelContext { return this.getRuleContext(0, Security_labelContext); } public opt_provider(): Opt_providerContext | undefined { return this.tryGetRuleContext(0, Opt_providerContext); } public KW_COLUMN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLUMN, 0); } public table_column_name(): Table_column_nameContext | undefined { return this.tryGetRuleContext(0, Table_column_nameContext); } public object_type_name(): Object_type_nameContext | undefined { return this.tryGetRuleContext(0, Object_type_nameContext); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } public typename(): TypenameContext | undefined { return this.tryGetRuleContext(0, TypenameContext); } public KW_DOMAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOMAIN, 0); } public KW_AGGREGATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AGGREGATE, 0); } public aggregate_with_argtypes(): Aggregate_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Aggregate_with_argtypesContext); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_with_argtypes(): Function_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Function_with_argtypesContext); } public KW_LARGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LARGE, 0); } public KW_OBJECT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OBJECT, 0); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } public KW_PROCEDURE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURE, 0); } public procedure_with_argtypes(): Procedure_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Procedure_with_argtypesContext); } public KW_ROUTINE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINE, 0); } public routine_with_argtypes(): Routine_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Routine_with_argtypesContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_seclabelstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSeclabelstmt) { listener.enterSeclabelstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSeclabelstmt) { listener.exitSeclabelstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSeclabelstmt) { return visitor.visitSeclabelstmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_providerContext extends ParserRuleContext { public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public nonreservedword_or_sconst(): Nonreservedword_or_sconstContext { return this.getRuleContext(0, Nonreservedword_or_sconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_provider; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_provider) { listener.enterOpt_provider(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_provider) { listener.exitOpt_provider(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_provider) { return visitor.visitOpt_provider(this); } else { return visitor.visitChildren(this); } } } export class Security_labelContext extends ParserRuleContext { public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_security_label; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSecurity_label) { listener.enterSecurity_label(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSecurity_label) { listener.exitSecurity_label(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSecurity_label) { return visitor.visitSecurity_label(this); } else { return visitor.visitChildren(this); } } } export class FetchstmtContext extends ParserRuleContext { public KW_FETCH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FETCH, 0); } public fetch_args(): Fetch_argsContext { return this.getRuleContext(0, Fetch_argsContext); } public KW_MOVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MOVE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_fetchstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFetchstmt) { listener.enterFetchstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFetchstmt) { listener.exitFetchstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFetchstmt) { return visitor.visitFetchstmt(this); } else { return visitor.visitChildren(this); } } } export class Fetch_argsContext extends ParserRuleContext { public cursor_name(): Cursor_nameContext { return this.getRuleContext(0, Cursor_nameContext); } public from_in(): From_inContext | undefined { return this.tryGetRuleContext(0, From_inContext); } public KW_NEXT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NEXT, 0); } public opt_from_in(): Opt_from_inContext | undefined { return this.tryGetRuleContext(0, Opt_from_inContext); } public KW_PRIOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRIOR, 0); } public KW_FIRST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FIRST, 0); } public KW_LAST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LAST, 0); } public KW_ABSOLUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ABSOLUTE, 0); } public signediconst(): SignediconstContext | undefined { return this.tryGetRuleContext(0, SignediconstContext); } public KW_RELATIVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RELATIVE, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public KW_FORWARD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FORWARD, 0); } public KW_BACKWARD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BACKWARD, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_fetch_args; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFetch_args) { listener.enterFetch_args(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFetch_args) { listener.exitFetch_args(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFetch_args) { return visitor.visitFetch_args(this); } else { return visitor.visitChildren(this); } } } export class From_inContext extends ParserRuleContext { public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_from_in; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFrom_in) { listener.enterFrom_in(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFrom_in) { listener.exitFrom_in(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFrom_in) { return visitor.visitFrom_in(this); } else { return visitor.visitChildren(this); } } } export class Opt_from_inContext extends ParserRuleContext { public from_in(): From_inContext { return this.getRuleContext(0, From_inContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_from_in; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_from_in) { listener.enterOpt_from_in(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_from_in) { listener.exitOpt_from_in(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_from_in) { return visitor.visitOpt_from_in(this); } else { return visitor.visitChildren(this); } } } export class GrantstmtContext extends ParserRuleContext { public KW_GRANT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_GRANT, 0); } public privileges(): PrivilegesContext { return this.getRuleContext(0, PrivilegesContext); } public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public privilege_target(): Privilege_targetContext { return this.getRuleContext(0, Privilege_targetContext); } public KW_TO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TO, 0); } public grantee_list(): Grantee_listContext { return this.getRuleContext(0, Grantee_listContext); } public opt_grant_grant_option(): Opt_grant_grant_optionContext | undefined { return this.tryGetRuleContext(0, Opt_grant_grant_optionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_grantstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGrantstmt) { listener.enterGrantstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGrantstmt) { listener.exitGrantstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGrantstmt) { return visitor.visitGrantstmt(this); } else { return visitor.visitChildren(this); } } } export class RevokestmtContext extends ParserRuleContext { public KW_REVOKE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_REVOKE, 0); } public privileges(): PrivilegesContext { return this.getRuleContext(0, PrivilegesContext); } public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public privilege_target(): Privilege_targetContext { return this.getRuleContext(0, Privilege_targetContext); } public KW_FROM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FROM, 0); } public grantee_list(): Grantee_listContext { return this.getRuleContext(0, Grantee_listContext); } public opt_drop_behavior(): Opt_drop_behaviorContext | undefined { return this.tryGetRuleContext(0, Opt_drop_behaviorContext); } public KW_GRANT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GRANT, 0); } public KW_OPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPTION, 0); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_revokestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRevokestmt) { listener.enterRevokestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRevokestmt) { listener.exitRevokestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRevokestmt) { return visitor.visitRevokestmt(this); } else { return visitor.visitChildren(this); } } } export class PrivilegesContext extends ParserRuleContext { public privilege_list(): Privilege_listContext | undefined { return this.tryGetRuleContext(0, Privilege_listContext); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public KW_PRIVILEGES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRIVILEGES, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public columnlist(): ColumnlistContext | undefined { return this.tryGetRuleContext(0, ColumnlistContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public beforeprivilegeselectlist(): BeforeprivilegeselectlistContext | undefined { return this.tryGetRuleContext(0, BeforeprivilegeselectlistContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_privileges; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPrivileges) { listener.enterPrivileges(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPrivileges) { listener.exitPrivileges(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPrivileges) { return visitor.visitPrivileges(this); } else { return visitor.visitChildren(this); } } } export class BeforeprivilegeselectlistContext extends ParserRuleContext { public beforeprivilegeselect(): BeforeprivilegeselectContext[]; public beforeprivilegeselect(i: number): BeforeprivilegeselectContext; public beforeprivilegeselect(i?: number): BeforeprivilegeselectContext | BeforeprivilegeselectContext[] { if (i === undefined) { return this.getRuleContexts(BeforeprivilegeselectContext); } else { return this.getRuleContext(i, BeforeprivilegeselectContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_beforeprivilegeselectlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterBeforeprivilegeselectlist) { listener.enterBeforeprivilegeselectlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitBeforeprivilegeselectlist) { listener.exitBeforeprivilegeselectlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitBeforeprivilegeselectlist) { return visitor.visitBeforeprivilegeselectlist(this); } else { return visitor.visitChildren(this); } } } export class BeforeprivilegeselectContext extends ParserRuleContext { public KW_SELECT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SELECT, 0); } public KW_INSERT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INSERT, 0); } public KW_UPDATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UPDATE, 0); } public KW_DELETE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DELETE, 0); } public KW_TRUNCATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRUNCATE, 0); } public KW_PEFERENCES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PEFERENCES, 0); } public KW_TRIGGER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRIGGER, 0); } public KW_USAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USAGE, 0); } public KW_CREATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CREATE, 0); } public KW_CONNECT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONNECT, 0); } public KW_TEMPORARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMPORARY, 0); } public KW_TEMP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMP, 0); } public KW_EXECUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXECUTE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_beforeprivilegeselect; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterBeforeprivilegeselect) { listener.enterBeforeprivilegeselect(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitBeforeprivilegeselect) { listener.exitBeforeprivilegeselect(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitBeforeprivilegeselect) { return visitor.visitBeforeprivilegeselect(this); } else { return visitor.visitChildren(this); } } } export class Privilege_listContext extends ParserRuleContext { public privilege(): PrivilegeContext[]; public privilege(i: number): PrivilegeContext; public privilege(i?: number): PrivilegeContext | PrivilegeContext[] { if (i === undefined) { return this.getRuleContexts(PrivilegeContext); } else { return this.getRuleContext(i, PrivilegeContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_privilege_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPrivilege_list) { listener.enterPrivilege_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPrivilege_list) { listener.exitPrivilege_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPrivilege_list) { return visitor.visitPrivilege_list(this); } else { return visitor.visitChildren(this); } } } export class PrivilegeContext extends ParserRuleContext { public KW_SELECT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SELECT, 0); } public opt_column_list(): Opt_column_listContext | undefined { return this.tryGetRuleContext(0, Opt_column_listContext); } public KW_REFERENCES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REFERENCES, 0); } public KW_CREATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CREATE, 0); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_privilege; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPrivilege) { listener.enterPrivilege(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPrivilege) { listener.exitPrivilege(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPrivilege) { return visitor.visitPrivilege(this); } else { return visitor.visitChildren(this); } } } export class Privilege_targetContext extends ParserRuleContext { public qualified_name_list(): Qualified_name_listContext | undefined { return this.tryGetRuleContext(0, Qualified_name_listContext); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public table_name_list(): Table_name_listContext | undefined { return this.tryGetRuleContext(0, Table_name_listContext); } public KW_SEQUENCE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEQUENCE, 0); } public KW_FOREIGN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_DATA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATA, 0); } public KW_WRAPPER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WRAPPER, 0); } public name_list(): Name_listContext | undefined { return this.tryGetRuleContext(0, Name_listContext); } public KW_SERVER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SERVER, 0); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_with_argtypes_list(): Function_with_argtypes_listContext | undefined { return this.tryGetRuleContext(0, Function_with_argtypes_listContext); } public KW_PROCEDURE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURE, 0); } public procedure_with_argtypes_list(): Procedure_with_argtypes_listContext | undefined { return this.tryGetRuleContext(0, Procedure_with_argtypes_listContext); } public KW_ROUTINE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINE, 0); } public routine_with_argtypes_list(): Routine_with_argtypes_listContext | undefined { return this.tryGetRuleContext(0, Routine_with_argtypes_listContext); } public KW_DATABASE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATABASE, 0); } public database_nameList(): Database_nameListContext | undefined { return this.tryGetRuleContext(0, Database_nameListContext); } public KW_DOMAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOMAIN, 0); } public any_name_list(): Any_name_listContext | undefined { return this.tryGetRuleContext(0, Any_name_listContext); } public KW_LANGUAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LANGUAGE, 0); } public KW_LARGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LARGE, 0); } public KW_OBJECT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OBJECT, 0); } public numericonly_list(): Numericonly_listContext | undefined { return this.tryGetRuleContext(0, Numericonly_listContext); } public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name_list(): Schema_name_listContext | undefined { return this.tryGetRuleContext(0, Schema_name_listContext); } public KW_TABLESPACE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLESPACE, 0); } public tablespace_name_list(): Tablespace_name_listContext | undefined { return this.tryGetRuleContext(0, Tablespace_name_listContext); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public KW_TABLES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLES, 0); } public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } public KW_SEQUENCES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEQUENCES, 0); } public KW_FUNCTIONS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTIONS, 0); } public KW_PROCEDURES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURES, 0); } public KW_ROUTINES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINES, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_privilege_target; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPrivilege_target) { listener.enterPrivilege_target(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPrivilege_target) { listener.exitPrivilege_target(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPrivilege_target) { return visitor.visitPrivilege_target(this); } else { return visitor.visitChildren(this); } } } export class Grantee_listContext extends ParserRuleContext { public grantee(): GranteeContext[]; public grantee(i: number): GranteeContext; public grantee(i?: number): GranteeContext | GranteeContext[] { if (i === undefined) { return this.getRuleContexts(GranteeContext); } else { return this.getRuleContext(i, GranteeContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_grantee_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGrantee_list) { listener.enterGrantee_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGrantee_list) { listener.exitGrantee_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGrantee_list) { return visitor.visitGrantee_list(this); } else { return visitor.visitChildren(this); } } } export class GranteeContext extends ParserRuleContext { public rolespec(): RolespecContext { return this.getRuleContext(0, RolespecContext); } public KW_GROUP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GROUP, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_grantee; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGrantee) { listener.enterGrantee(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGrantee) { listener.exitGrantee(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGrantee) { return visitor.visitGrantee(this); } else { return visitor.visitChildren(this); } } } export class Opt_grant_grant_optionContext extends ParserRuleContext { public KW_WITH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WITH, 0); } public KW_GRANT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_GRANT, 0); } public KW_OPTION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OPTION, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_grant_grant_option; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_grant_grant_option) { listener.enterOpt_grant_grant_option(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_grant_grant_option) { listener.exitOpt_grant_grant_option(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_grant_grant_option) { return visitor.visitOpt_grant_grant_option(this); } else { return visitor.visitChildren(this); } } } export class GrantrolestmtContext extends ParserRuleContext { public KW_GRANT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_GRANT, 0); } public privilege_list(): Privilege_listContext { return this.getRuleContext(0, Privilege_listContext); } public KW_TO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TO, 0); } public role_list(): Role_listContext { return this.getRuleContext(0, Role_listContext); } public opt_grant_admin_option(): Opt_grant_admin_optionContext | undefined { return this.tryGetRuleContext(0, Opt_grant_admin_optionContext); } public opt_granted_by(): Opt_granted_byContext | undefined { return this.tryGetRuleContext(0, Opt_granted_byContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_grantrolestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGrantrolestmt) { listener.enterGrantrolestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGrantrolestmt) { listener.exitGrantrolestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGrantrolestmt) { return visitor.visitGrantrolestmt(this); } else { return visitor.visitChildren(this); } } } export class RevokerolestmtContext extends ParserRuleContext { public KW_REVOKE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_REVOKE, 0); } public privilege_list(): Privilege_listContext { return this.getRuleContext(0, Privilege_listContext); } public KW_FROM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FROM, 0); } public role_list(): Role_listContext { return this.getRuleContext(0, Role_listContext); } public opt_granted_by(): Opt_granted_byContext | undefined { return this.tryGetRuleContext(0, Opt_granted_byContext); } public opt_drop_behavior(): Opt_drop_behaviorContext | undefined { return this.tryGetRuleContext(0, Opt_drop_behaviorContext); } public KW_ADMIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADMIN, 0); } public KW_OPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPTION, 0); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_revokerolestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRevokerolestmt) { listener.enterRevokerolestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRevokerolestmt) { listener.exitRevokerolestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRevokerolestmt) { return visitor.visitRevokerolestmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_grant_admin_optionContext extends ParserRuleContext { public KW_WITH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WITH, 0); } public KW_ADMIN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ADMIN, 0); } public KW_OPTION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OPTION, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_grant_admin_option; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_grant_admin_option) { listener.enterOpt_grant_admin_option(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_grant_admin_option) { listener.exitOpt_grant_admin_option(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_grant_admin_option) { return visitor.visitOpt_grant_admin_option(this); } else { return visitor.visitChildren(this); } } } export class Opt_granted_byContext extends ParserRuleContext { public KW_GRANTED(): TerminalNode { return this.getToken(PostgreSQLParser.KW_GRANTED, 0); } public KW_BY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BY, 0); } public rolespec(): RolespecContext { return this.getRuleContext(0, RolespecContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_granted_by; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_granted_by) { listener.enterOpt_granted_by(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_granted_by) { listener.exitOpt_granted_by(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_granted_by) { return visitor.visitOpt_granted_by(this); } else { return visitor.visitChildren(this); } } } export class AlterdefaultprivilegesstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_DEFAULT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DEFAULT, 0); } public KW_PRIVILEGES(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PRIVILEGES, 0); } public defacloptionlist(): DefacloptionlistContext { return this.getRuleContext(0, DefacloptionlistContext); } public defaclaction(): DefaclactionContext { return this.getRuleContext(0, DefaclactionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterdefaultprivilegesstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterdefaultprivilegesstmt) { listener.enterAlterdefaultprivilegesstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterdefaultprivilegesstmt) { listener.exitAlterdefaultprivilegesstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterdefaultprivilegesstmt) { return visitor.visitAlterdefaultprivilegesstmt(this); } else { return visitor.visitChildren(this); } } } export class DefacloptionlistContext extends ParserRuleContext { public defacloption(): DefacloptionContext[]; public defacloption(i: number): DefacloptionContext; public defacloption(i?: number): DefacloptionContext | DefacloptionContext[] { if (i === undefined) { return this.getRuleContexts(DefacloptionContext); } else { return this.getRuleContext(i, DefacloptionContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_defacloptionlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDefacloptionlist) { listener.enterDefacloptionlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDefacloptionlist) { listener.exitDefacloptionlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDefacloptionlist) { return visitor.visitDefacloptionlist(this); } else { return visitor.visitChildren(this); } } } export class DefacloptionContext extends ParserRuleContext { public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name_list(): Schema_name_listContext | undefined { return this.tryGetRuleContext(0, Schema_name_listContext); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public KW_ROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLE, 0); } public role_list(): Role_listContext | undefined { return this.tryGetRuleContext(0, Role_listContext); } public KW_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USER, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_defacloption; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDefacloption) { listener.enterDefacloption(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDefacloption) { listener.exitDefacloption(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDefacloption) { return visitor.visitDefacloption(this); } else { return visitor.visitChildren(this); } } } export class DefaclactionContext extends ParserRuleContext { public KW_GRANT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GRANT, 0); } public privileges(): PrivilegesContext { return this.getRuleContext(0, PrivilegesContext); } public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public defacl_privilege_target(): Defacl_privilege_targetContext { return this.getRuleContext(0, Defacl_privilege_targetContext); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public grantee_list(): Grantee_listContext { return this.getRuleContext(0, Grantee_listContext); } public opt_grant_grant_option(): Opt_grant_grant_optionContext | undefined { return this.tryGetRuleContext(0, Opt_grant_grant_optionContext); } public KW_REVOKE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REVOKE, 0); } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public opt_drop_behavior(): Opt_drop_behaviorContext | undefined { return this.tryGetRuleContext(0, Opt_drop_behaviorContext); } public KW_OPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPTION, 0); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_defaclaction; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDefaclaction) { listener.enterDefaclaction(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDefaclaction) { listener.exitDefaclaction(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDefaclaction) { return visitor.visitDefaclaction(this); } else { return visitor.visitChildren(this); } } } export class Defacl_privilege_targetContext extends ParserRuleContext { public KW_TABLES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLES, 0); } public KW_FUNCTIONS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTIONS, 0); } public KW_ROUTINES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINES, 0); } public KW_SEQUENCES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEQUENCES, 0); } public KW_TYPES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPES, 0); } public KW_SCHEMAS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMAS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_defacl_privilege_target; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDefacl_privilege_target) { listener.enterDefacl_privilege_target(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDefacl_privilege_target) { listener.exitDefacl_privilege_target(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDefacl_privilege_target) { return visitor.visitDefacl_privilege_target(this); } else { return visitor.visitChildren(this); } } } export class IndexstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_INDEX(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INDEX, 0); } public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public relation_expr(): Relation_exprContext { return this.getRuleContext(0, Relation_exprContext); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public index_params(): Index_paramsContext { return this.getRuleContext(0, Index_paramsContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public opt_unique(): Opt_uniqueContext | undefined { return this.tryGetRuleContext(0, Opt_uniqueContext); } public opt_concurrently(): Opt_concurrentlyContext | undefined { return this.tryGetRuleContext(0, Opt_concurrentlyContext); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } public opt_index_name(): Opt_index_nameContext | undefined { return this.tryGetRuleContext(0, Opt_index_nameContext); } public access_method_clause(): Access_method_clauseContext | undefined { return this.tryGetRuleContext(0, Access_method_clauseContext); } public opt_include(): Opt_includeContext | undefined { return this.tryGetRuleContext(0, Opt_includeContext); } public nulls_distinct(): Nulls_distinctContext | undefined { return this.tryGetRuleContext(0, Nulls_distinctContext); } public opt_reloptions(): Opt_reloptionsContext | undefined { return this.tryGetRuleContext(0, Opt_reloptionsContext); } public opttablespace(): OpttablespaceContext | undefined { return this.tryGetRuleContext(0, OpttablespaceContext); } public where_clause(): Where_clauseContext | undefined { return this.tryGetRuleContext(0, Where_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_indexstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIndexstmt) { listener.enterIndexstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIndexstmt) { listener.exitIndexstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIndexstmt) { return visitor.visitIndexstmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_uniqueContext extends ParserRuleContext { public KW_UNIQUE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_UNIQUE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_unique; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_unique) { listener.enterOpt_unique(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_unique) { listener.exitOpt_unique(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_unique) { return visitor.visitOpt_unique(this); } else { return visitor.visitChildren(this); } } } export class Opt_concurrentlyContext extends ParserRuleContext { public KW_CONCURRENTLY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CONCURRENTLY, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_concurrently; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_concurrently) { listener.enterOpt_concurrently(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_concurrently) { listener.exitOpt_concurrently(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_concurrently) { return visitor.visitOpt_concurrently(this); } else { return visitor.visitChildren(this); } } } export class Opt_index_nameContext extends ParserRuleContext { public name(): NameContext { return this.getRuleContext(0, NameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_index_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_index_name) { listener.enterOpt_index_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_index_name) { listener.exitOpt_index_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_index_name) { return visitor.visitOpt_index_name(this); } else { return visitor.visitChildren(this); } } } export class Access_method_clauseContext extends ParserRuleContext { public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_access_method_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAccess_method_clause) { listener.enterAccess_method_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAccess_method_clause) { listener.exitAccess_method_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAccess_method_clause) { return visitor.visitAccess_method_clause(this); } else { return visitor.visitChildren(this); } } } export class Index_paramsContext extends ParserRuleContext { public index_elem(): Index_elemContext[]; public index_elem(i: number): Index_elemContext; public index_elem(i?: number): Index_elemContext | Index_elemContext[] { if (i === undefined) { return this.getRuleContexts(Index_elemContext); } else { return this.getRuleContext(i, Index_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_index_params; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIndex_params) { listener.enterIndex_params(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIndex_params) { listener.exitIndex_params(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIndex_params) { return visitor.visitIndex_params(this); } else { return visitor.visitChildren(this); } } } export class Index_elem_optionsContext extends ParserRuleContext { public opt_collate(): Opt_collateContext | undefined { return this.tryGetRuleContext(0, Opt_collateContext); } public opt_class(): Opt_classContext | undefined { return this.tryGetRuleContext(0, Opt_classContext); } public opt_asc_desc(): Opt_asc_descContext | undefined { return this.tryGetRuleContext(0, Opt_asc_descContext); } public opt_nulls_order(): Opt_nulls_orderContext | undefined { return this.tryGetRuleContext(0, Opt_nulls_orderContext); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public reloptions(): ReloptionsContext | undefined { return this.tryGetRuleContext(0, ReloptionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_index_elem_options; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIndex_elem_options) { listener.enterIndex_elem_options(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIndex_elem_options) { listener.exitIndex_elem_options(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIndex_elem_options) { return visitor.visitIndex_elem_options(this); } else { return visitor.visitChildren(this); } } } export class Index_elemContext extends ParserRuleContext { public column_name(): Column_nameContext | undefined { return this.tryGetRuleContext(0, Column_nameContext); } public index_elem_options(): Index_elem_optionsContext { return this.getRuleContext(0, Index_elem_optionsContext); } public func_expr_windowless(): Func_expr_windowlessContext | undefined { return this.tryGetRuleContext(0, Func_expr_windowlessContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_index_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIndex_elem) { listener.enterIndex_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIndex_elem) { listener.exitIndex_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIndex_elem) { return visitor.visitIndex_elem(this); } else { return visitor.visitChildren(this); } } } export class Opt_includeContext extends ParserRuleContext { public KW_INCLUDE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INCLUDE, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public index_including_params(): Index_including_paramsContext { return this.getRuleContext(0, Index_including_paramsContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_include; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_include) { listener.enterOpt_include(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_include) { listener.exitOpt_include(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_include) { return visitor.visitOpt_include(this); } else { return visitor.visitChildren(this); } } } export class Index_including_paramsContext extends ParserRuleContext { public index_elem(): Index_elemContext[]; public index_elem(i: number): Index_elemContext; public index_elem(i?: number): Index_elemContext | Index_elemContext[] { if (i === undefined) { return this.getRuleContexts(Index_elemContext); } else { return this.getRuleContext(i, Index_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_index_including_params; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIndex_including_params) { listener.enterIndex_including_params(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIndex_including_params) { listener.exitIndex_including_params(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIndex_including_params) { return visitor.visitIndex_including_params(this); } else { return visitor.visitChildren(this); } } } export class Opt_collateContext extends ParserRuleContext { public KW_COLLATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_COLLATE, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_collate; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_collate) { listener.enterOpt_collate(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_collate) { listener.exitOpt_collate(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_collate) { return visitor.visitOpt_collate(this); } else { return visitor.visitChildren(this); } } } export class Opt_classContext extends ParserRuleContext { public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_class; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_class) { listener.enterOpt_class(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_class) { listener.exitOpt_class(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_class) { return visitor.visitOpt_class(this); } else { return visitor.visitChildren(this); } } } export class Opt_asc_descContext extends ParserRuleContext { public KW_ASC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ASC, 0); } public KW_DESC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DESC, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_asc_desc; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_asc_desc) { listener.enterOpt_asc_desc(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_asc_desc) { listener.exitOpt_asc_desc(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_asc_desc) { return visitor.visitOpt_asc_desc(this); } else { return visitor.visitChildren(this); } } } export class Opt_nulls_orderContext extends ParserRuleContext { public KW_NULLS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_NULLS, 0); } public KW_FIRST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FIRST, 0); } public KW_LAST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LAST, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_nulls_order; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_nulls_order) { listener.enterOpt_nulls_order(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_nulls_order) { listener.exitOpt_nulls_order(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_nulls_order) { return visitor.visitOpt_nulls_order(this); } else { return visitor.visitChildren(this); } } } export class CreatefunctionstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public func_args_with_defaults(): Func_args_with_defaultsContext { return this.getRuleContext(0, Func_args_with_defaultsContext); } public createfunc_opt_list(): Createfunc_opt_listContext { return this.getRuleContext(0, Createfunc_opt_listContext); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_name_create(): Function_name_createContext | undefined { return this.tryGetRuleContext(0, Function_name_createContext); } public KW_PROCEDURE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURE, 0); } public procedure_name_create(): Procedure_name_createContext | undefined { return this.tryGetRuleContext(0, Procedure_name_createContext); } public opt_or_replace(): Opt_or_replaceContext | undefined { return this.tryGetRuleContext(0, Opt_or_replaceContext); } public KW_RETURNS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RETURNS, 0); } public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } public attrilist(): AttrilistContext | undefined { return this.tryGetRuleContext(0, AttrilistContext); } public func_return(): Func_returnContext | undefined { return this.tryGetRuleContext(0, Func_returnContext); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public table_func_column_list(): Table_func_column_listContext | undefined { return this.tryGetRuleContext(0, Table_func_column_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createfunctionstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatefunctionstmt) { listener.enterCreatefunctionstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatefunctionstmt) { listener.exitCreatefunctionstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatefunctionstmt) { return visitor.visitCreatefunctionstmt(this); } else { return visitor.visitChildren(this); } } } export class AttrilistContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public colid(): ColidContext[]; public colid(i: number): ColidContext; public colid(i?: number): ColidContext | ColidContext[] { if (i === undefined) { return this.getRuleContexts(ColidContext); } else { return this.getRuleContext(i, ColidContext); } } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_attrilist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAttrilist) { listener.enterAttrilist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAttrilist) { listener.exitAttrilist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAttrilist) { return visitor.visitAttrilist(this); } else { return visitor.visitChildren(this); } } } export class Opt_or_replaceContext extends ParserRuleContext { public KW_OR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OR, 0); } public KW_REPLACE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_REPLACE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_or_replace; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_or_replace) { listener.enterOpt_or_replace(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_or_replace) { listener.exitOpt_or_replace(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_or_replace) { return visitor.visitOpt_or_replace(this); } else { return visitor.visitChildren(this); } } } export class Func_argsContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public func_args_list(): Func_args_listContext | undefined { return this.tryGetRuleContext(0, Func_args_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_args; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_args) { listener.enterFunc_args(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_args) { listener.exitFunc_args(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_args) { return visitor.visitFunc_args(this); } else { return visitor.visitChildren(this); } } } export class Func_args_listContext extends ParserRuleContext { public func_arg(): Func_argContext[]; public func_arg(i: number): Func_argContext; public func_arg(i?: number): Func_argContext | Func_argContext[] { if (i === undefined) { return this.getRuleContexts(Func_argContext); } else { return this.getRuleContext(i, Func_argContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_args_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_args_list) { listener.enterFunc_args_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_args_list) { listener.exitFunc_args_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_args_list) { return visitor.visitFunc_args_list(this); } else { return visitor.visitChildren(this); } } } export class Routine_with_argtypes_listContext extends ParserRuleContext { public routine_with_argtypes(): Routine_with_argtypesContext[]; public routine_with_argtypes(i: number): Routine_with_argtypesContext; public routine_with_argtypes(i?: number): Routine_with_argtypesContext | Routine_with_argtypesContext[] { if (i === undefined) { return this.getRuleContexts(Routine_with_argtypesContext); } else { return this.getRuleContext(i, Routine_with_argtypesContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_routine_with_argtypes_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRoutine_with_argtypes_list) { listener.enterRoutine_with_argtypes_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRoutine_with_argtypes_list) { listener.exitRoutine_with_argtypes_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRoutine_with_argtypes_list) { return visitor.visitRoutine_with_argtypes_list(this); } else { return visitor.visitChildren(this); } } } export class Routine_with_argtypesContext extends ParserRuleContext { public routine_name(): Routine_nameContext | undefined { return this.tryGetRuleContext(0, Routine_nameContext); } public func_args(): Func_argsContext | undefined { return this.tryGetRuleContext(0, Func_argsContext); } public type_func_name_keyword(): Type_func_name_keywordContext | undefined { return this.tryGetRuleContext(0, Type_func_name_keywordContext); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_routine_with_argtypes; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRoutine_with_argtypes) { listener.enterRoutine_with_argtypes(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRoutine_with_argtypes) { listener.exitRoutine_with_argtypes(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRoutine_with_argtypes) { return visitor.visitRoutine_with_argtypes(this); } else { return visitor.visitChildren(this); } } } export class Procedure_with_argtypes_listContext extends ParserRuleContext { public procedure_with_argtypes(): Procedure_with_argtypesContext[]; public procedure_with_argtypes(i: number): Procedure_with_argtypesContext; public procedure_with_argtypes(i?: number): Procedure_with_argtypesContext | Procedure_with_argtypesContext[] { if (i === undefined) { return this.getRuleContexts(Procedure_with_argtypesContext); } else { return this.getRuleContext(i, Procedure_with_argtypesContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_procedure_with_argtypes_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProcedure_with_argtypes_list) { listener.enterProcedure_with_argtypes_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProcedure_with_argtypes_list) { listener.exitProcedure_with_argtypes_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProcedure_with_argtypes_list) { return visitor.visitProcedure_with_argtypes_list(this); } else { return visitor.visitChildren(this); } } } export class Procedure_with_argtypesContext extends ParserRuleContext { public procedure_name(): Procedure_nameContext | undefined { return this.tryGetRuleContext(0, Procedure_nameContext); } public func_args(): Func_argsContext | undefined { return this.tryGetRuleContext(0, Func_argsContext); } public type_func_name_keyword(): Type_func_name_keywordContext | undefined { return this.tryGetRuleContext(0, Type_func_name_keywordContext); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_procedure_with_argtypes; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProcedure_with_argtypes) { listener.enterProcedure_with_argtypes(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProcedure_with_argtypes) { listener.exitProcedure_with_argtypes(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProcedure_with_argtypes) { return visitor.visitProcedure_with_argtypes(this); } else { return visitor.visitChildren(this); } } } export class Function_with_argtypes_listContext extends ParserRuleContext { public function_with_argtypes(): Function_with_argtypesContext[]; public function_with_argtypes(i: number): Function_with_argtypesContext; public function_with_argtypes(i?: number): Function_with_argtypesContext | Function_with_argtypesContext[] { if (i === undefined) { return this.getRuleContexts(Function_with_argtypesContext); } else { return this.getRuleContext(i, Function_with_argtypesContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_function_with_argtypes_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunction_with_argtypes_list) { listener.enterFunction_with_argtypes_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunction_with_argtypes_list) { listener.exitFunction_with_argtypes_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunction_with_argtypes_list) { return visitor.visitFunction_with_argtypes_list(this); } else { return visitor.visitChildren(this); } } } export class Function_with_argtypesContext extends ParserRuleContext { public function_name(): Function_nameContext | undefined { return this.tryGetRuleContext(0, Function_nameContext); } public func_args(): Func_argsContext | undefined { return this.tryGetRuleContext(0, Func_argsContext); } public type_func_name_keyword(): Type_func_name_keywordContext | undefined { return this.tryGetRuleContext(0, Type_func_name_keywordContext); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_function_with_argtypes; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunction_with_argtypes) { listener.enterFunction_with_argtypes(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunction_with_argtypes) { listener.exitFunction_with_argtypes(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunction_with_argtypes) { return visitor.visitFunction_with_argtypes(this); } else { return visitor.visitChildren(this); } } } export class Func_args_with_defaultsContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public func_args_with_defaults_list(): Func_args_with_defaults_listContext | undefined { return this.tryGetRuleContext(0, Func_args_with_defaults_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_args_with_defaults; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_args_with_defaults) { listener.enterFunc_args_with_defaults(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_args_with_defaults) { listener.exitFunc_args_with_defaults(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_args_with_defaults) { return visitor.visitFunc_args_with_defaults(this); } else { return visitor.visitChildren(this); } } } export class Func_args_with_defaults_listContext extends ParserRuleContext { public func_arg_with_default(): Func_arg_with_defaultContext[]; public func_arg_with_default(i: number): Func_arg_with_defaultContext; public func_arg_with_default(i?: number): Func_arg_with_defaultContext | Func_arg_with_defaultContext[] { if (i === undefined) { return this.getRuleContexts(Func_arg_with_defaultContext); } else { return this.getRuleContext(i, Func_arg_with_defaultContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_args_with_defaults_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_args_with_defaults_list) { listener.enterFunc_args_with_defaults_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_args_with_defaults_list) { listener.exitFunc_args_with_defaults_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_args_with_defaults_list) { return visitor.visitFunc_args_with_defaults_list(this); } else { return visitor.visitChildren(this); } } } export class Func_argContext extends ParserRuleContext { public arg_class(): Arg_classContext | undefined { return this.tryGetRuleContext(0, Arg_classContext); } public func_type(): Func_typeContext { return this.getRuleContext(0, Func_typeContext); } public param_name(): Param_nameContext | undefined { return this.tryGetRuleContext(0, Param_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_arg; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_arg) { listener.enterFunc_arg(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_arg) { listener.exitFunc_arg(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_arg) { return visitor.visitFunc_arg(this); } else { return visitor.visitChildren(this); } } } export class Arg_classContext extends ParserRuleContext { public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } public KW_OUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OUT, 0); } public KW_INOUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INOUT, 0); } public KW_VARIADIC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VARIADIC, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_arg_class; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterArg_class) { listener.enterArg_class(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitArg_class) { listener.exitArg_class(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitArg_class) { return visitor.visitArg_class(this); } else { return visitor.visitChildren(this); } } } export class Param_nameContext extends ParserRuleContext { public type_function_name(): Type_function_nameContext { return this.getRuleContext(0, Type_function_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_param_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterParam_name) { listener.enterParam_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitParam_name) { listener.exitParam_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitParam_name) { return visitor.visitParam_name(this); } else { return visitor.visitChildren(this); } } } export class Func_returnContext extends ParserRuleContext { public func_type(): Func_typeContext { return this.getRuleContext(0, Func_typeContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_return; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_return) { listener.enterFunc_return(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_return) { listener.exitFunc_return(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_return) { return visitor.visitFunc_return(this); } else { return visitor.visitChildren(this); } } } export class Func_typeContext extends ParserRuleContext { public typename(): TypenameContext | undefined { return this.tryGetRuleContext(0, TypenameContext); } public type_function_name(): Type_function_nameContext | undefined { return this.tryGetRuleContext(0, Type_function_nameContext); } public attrs(): AttrsContext | undefined { return this.tryGetRuleContext(0, AttrsContext); } public PERCENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PERCENT, 0); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } public KW_SETOF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SETOF, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_type; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_type) { listener.enterFunc_type(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_type) { listener.exitFunc_type(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_type) { return visitor.visitFunc_type(this); } else { return visitor.visitChildren(this); } } } export class Func_arg_with_defaultContext extends ParserRuleContext { public func_arg(): Func_argContext { return this.getRuleContext(0, Func_argContext); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public EQUAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EQUAL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_arg_with_default; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_arg_with_default) { listener.enterFunc_arg_with_default(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_arg_with_default) { listener.exitFunc_arg_with_default(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_arg_with_default) { return visitor.visitFunc_arg_with_default(this); } else { return visitor.visitChildren(this); } } } export class Aggr_argContext extends ParserRuleContext { public func_arg(): Func_argContext { return this.getRuleContext(0, Func_argContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_aggr_arg; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAggr_arg) { listener.enterAggr_arg(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAggr_arg) { listener.exitAggr_arg(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAggr_arg) { return visitor.visitAggr_arg(this); } else { return visitor.visitChildren(this); } } } export class Aggr_argsContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } public aggr_args_list(): Aggr_args_listContext[]; public aggr_args_list(i: number): Aggr_args_listContext; public aggr_args_list(i?: number): Aggr_args_listContext | Aggr_args_listContext[] { if (i === undefined) { return this.getRuleContexts(Aggr_args_listContext); } else { return this.getRuleContext(i, Aggr_args_listContext); } } public KW_ORDER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ORDER, 0); } public KW_BY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BY, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_aggr_args; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAggr_args) { listener.enterAggr_args(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAggr_args) { listener.exitAggr_args(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAggr_args) { return visitor.visitAggr_args(this); } else { return visitor.visitChildren(this); } } } export class Aggr_args_listContext extends ParserRuleContext { public aggr_arg(): Aggr_argContext[]; public aggr_arg(i: number): Aggr_argContext; public aggr_arg(i?: number): Aggr_argContext | Aggr_argContext[] { if (i === undefined) { return this.getRuleContexts(Aggr_argContext); } else { return this.getRuleContext(i, Aggr_argContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_aggr_args_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAggr_args_list) { listener.enterAggr_args_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAggr_args_list) { listener.exitAggr_args_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAggr_args_list) { return visitor.visitAggr_args_list(this); } else { return visitor.visitChildren(this); } } } export class Aggregate_with_argtypesContext extends ParserRuleContext { public function_name(): Function_nameContext { return this.getRuleContext(0, Function_nameContext); } public aggr_args(): Aggr_argsContext { return this.getRuleContext(0, Aggr_argsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_aggregate_with_argtypes; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAggregate_with_argtypes) { listener.enterAggregate_with_argtypes(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAggregate_with_argtypes) { listener.exitAggregate_with_argtypes(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAggregate_with_argtypes) { return visitor.visitAggregate_with_argtypes(this); } else { return visitor.visitChildren(this); } } } export class Aggregate_with_argtypes_listContext extends ParserRuleContext { public aggregate_with_argtypes(): Aggregate_with_argtypesContext[]; public aggregate_with_argtypes(i: number): Aggregate_with_argtypesContext; public aggregate_with_argtypes(i?: number): Aggregate_with_argtypesContext | Aggregate_with_argtypesContext[] { if (i === undefined) { return this.getRuleContexts(Aggregate_with_argtypesContext); } else { return this.getRuleContext(i, Aggregate_with_argtypesContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_aggregate_with_argtypes_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAggregate_with_argtypes_list) { listener.enterAggregate_with_argtypes_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAggregate_with_argtypes_list) { listener.exitAggregate_with_argtypes_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAggregate_with_argtypes_list) { return visitor.visitAggregate_with_argtypes_list(this); } else { return visitor.visitChildren(this); } } } export class Createfunc_opt_listContext extends ParserRuleContext { public createfunc_opt_item(): Createfunc_opt_itemContext[]; public createfunc_opt_item(i: number): Createfunc_opt_itemContext; public createfunc_opt_item(i?: number): Createfunc_opt_itemContext | Createfunc_opt_itemContext[] { if (i === undefined) { return this.getRuleContexts(Createfunc_opt_itemContext); } else { return this.getRuleContext(i, Createfunc_opt_itemContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createfunc_opt_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatefunc_opt_list) { listener.enterCreatefunc_opt_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatefunc_opt_list) { listener.exitCreatefunc_opt_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatefunc_opt_list) { return visitor.visitCreatefunc_opt_list(this); } else { return visitor.visitChildren(this); } } } export class Common_func_opt_itemContext extends ParserRuleContext { public KW_CALLED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CALLED, 0); } public KW_ON(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ON, 0); } public KW_NULL(): TerminalNode[]; public KW_NULL(i: number): TerminalNode; public KW_NULL(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_NULL); } else { return this.getToken(PostgreSQLParser.KW_NULL, i); } } public KW_INPUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INPUT, 0); } public KW_RETURNS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RETURNS, 0); } public KW_STRICT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STRICT, 0); } public KW_IMMUTABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IMMUTABLE, 0); } public KW_STABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STABLE, 0); } public KW_VOLATILE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VOLATILE, 0); } public KW_EXTERNAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTERNAL, 0); } public KW_SECURITY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SECURITY, 0); } public KW_DEFINER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFINER, 0); } public KW_INVOKER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INVOKER, 0); } public KW_LEAKPROOF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEAKPROOF, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public KW_COST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COST, 0); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } public KW_ROWS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROWS, 0); } public KW_SUPPORT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SUPPORT, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public functionsetresetclause(): FunctionsetresetclauseContext | undefined { return this.tryGetRuleContext(0, FunctionsetresetclauseContext); } public KW_PARALLEL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARALLEL, 0); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_common_func_opt_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCommon_func_opt_item) { listener.enterCommon_func_opt_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCommon_func_opt_item) { listener.exitCommon_func_opt_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCommon_func_opt_item) { return visitor.visitCommon_func_opt_item(this); } else { return visitor.visitChildren(this); } } } export class Createfunc_opt_itemContext extends ParserRuleContext { public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public sconst(): SconstContext[]; public sconst(i: number): SconstContext; public sconst(i?: number): SconstContext | SconstContext[] { if (i === undefined) { return this.getRuleContexts(SconstContext); } else { return this.getRuleContext(i, SconstContext); } } public COMMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.COMMA, 0); } public KW_LANGUAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LANGUAGE, 0); } public nonreservedword_or_sconst(): Nonreservedword_or_sconstContext | undefined { return this.tryGetRuleContext(0, Nonreservedword_or_sconstContext); } public KW_TRANSFORM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRANSFORM, 0); } public transform_type_list(): Transform_type_listContext | undefined { return this.tryGetRuleContext(0, Transform_type_listContext); } public KW_WINDOW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WINDOW, 0); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public colid(): ColidContext[]; public colid(i: number): ColidContext; public colid(i?: number): ColidContext | ColidContext[] { if (i === undefined) { return this.getRuleContexts(ColidContext); } else { return this.getRuleContext(i, ColidContext); } } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public EQUAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EQUAL, 0); } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public KW_CURRENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT, 0); } public stmt(): StmtContext | undefined { return this.tryGetRuleContext(0, StmtContext); } public common_func_opt_item(): Common_func_opt_itemContext | undefined { return this.tryGetRuleContext(0, Common_func_opt_itemContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createfunc_opt_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatefunc_opt_item) { listener.enterCreatefunc_opt_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatefunc_opt_item) { listener.exitCreatefunc_opt_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatefunc_opt_item) { return visitor.visitCreatefunc_opt_item(this); } else { return visitor.visitChildren(this); } } } export class Transform_type_listContext extends ParserRuleContext { public KW_FOR(): TerminalNode[]; public KW_FOR(i: number): TerminalNode; public KW_FOR(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_FOR); } else { return this.getToken(PostgreSQLParser.KW_FOR, i); } } public KW_TYPE(): TerminalNode[]; public KW_TYPE(i: number): TerminalNode; public KW_TYPE(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_TYPE); } else { return this.getToken(PostgreSQLParser.KW_TYPE, i); } } public typename(): TypenameContext[]; public typename(i: number): TypenameContext; public typename(i?: number): TypenameContext | TypenameContext[] { if (i === undefined) { return this.getRuleContexts(TypenameContext); } else { return this.getRuleContext(i, TypenameContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_transform_type_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTransform_type_list) { listener.enterTransform_type_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTransform_type_list) { listener.exitTransform_type_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTransform_type_list) { return visitor.visitTransform_type_list(this); } else { return visitor.visitChildren(this); } } } export class Opt_definitionContext extends ParserRuleContext { public KW_WITH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WITH, 0); } public definition(): DefinitionContext { return this.getRuleContext(0, DefinitionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_definition; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_definition) { listener.enterOpt_definition(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_definition) { listener.exitOpt_definition(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_definition) { return visitor.visitOpt_definition(this); } else { return visitor.visitChildren(this); } } } export class Table_func_columnContext extends ParserRuleContext { public column_name(): Column_nameContext { return this.getRuleContext(0, Column_nameContext); } public func_type(): Func_typeContext { return this.getRuleContext(0, Func_typeContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_table_func_column; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTable_func_column) { listener.enterTable_func_column(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTable_func_column) { listener.exitTable_func_column(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTable_func_column) { return visitor.visitTable_func_column(this); } else { return visitor.visitChildren(this); } } } export class Table_func_column_listContext extends ParserRuleContext { public table_func_column(): Table_func_columnContext[]; public table_func_column(i: number): Table_func_columnContext; public table_func_column(i?: number): Table_func_columnContext | Table_func_columnContext[] { if (i === undefined) { return this.getRuleContexts(Table_func_columnContext); } else { return this.getRuleContext(i, Table_func_columnContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_table_func_column_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTable_func_column_list) { listener.enterTable_func_column_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTable_func_column_list) { listener.exitTable_func_column_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTable_func_column_list) { return visitor.visitTable_func_column_list(this); } else { return visitor.visitChildren(this); } } } export class AlterfunctionstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public alterFunctionTypeClause(): AlterFunctionTypeClauseContext { return this.getRuleContext(0, AlterFunctionTypeClauseContext); } public alterfunc_opt_list(): Alterfunc_opt_listContext { return this.getRuleContext(0, Alterfunc_opt_listContext); } public opt_restrict(): Opt_restrictContext | undefined { return this.tryGetRuleContext(0, Opt_restrictContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterfunctionstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterfunctionstmt) { listener.enterAlterfunctionstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterfunctionstmt) { listener.exitAlterfunctionstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterfunctionstmt) { return visitor.visitAlterfunctionstmt(this); } else { return visitor.visitChildren(this); } } } export class AlterFunctionTypeClauseContext extends ParserRuleContext { public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_with_argtypes(): Function_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Function_with_argtypesContext); } public KW_PROCEDURE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURE, 0); } public procedure_with_argtypes(): Procedure_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Procedure_with_argtypesContext); } public KW_ROUTINE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINE, 0); } public routine_with_argtypes(): Routine_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Routine_with_argtypesContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterFunctionTypeClause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterFunctionTypeClause) { listener.enterAlterFunctionTypeClause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterFunctionTypeClause) { listener.exitAlterFunctionTypeClause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterFunctionTypeClause) { return visitor.visitAlterFunctionTypeClause(this); } else { return visitor.visitChildren(this); } } } export class Alterfunc_opt_listContext extends ParserRuleContext { public common_func_opt_item(): Common_func_opt_itemContext[]; public common_func_opt_item(i: number): Common_func_opt_itemContext; public common_func_opt_item(i?: number): Common_func_opt_itemContext | Common_func_opt_itemContext[] { if (i === undefined) { return this.getRuleContexts(Common_func_opt_itemContext); } else { return this.getRuleContext(i, Common_func_opt_itemContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterfunc_opt_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterfunc_opt_list) { listener.enterAlterfunc_opt_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterfunc_opt_list) { listener.exitAlterfunc_opt_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterfunc_opt_list) { return visitor.visitAlterfunc_opt_list(this); } else { return visitor.visitChildren(this); } } } export class Opt_restrictContext extends ParserRuleContext { public KW_RESTRICT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_RESTRICT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_restrict; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_restrict) { listener.enterOpt_restrict(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_restrict) { listener.exitOpt_restrict(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_restrict) { return visitor.visitOpt_restrict(this); } else { return visitor.visitChildren(this); } } } export class RemovefuncstmtContext extends ParserRuleContext { public KW_DROP(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DROP, 0); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_with_argtypes_list(): Function_with_argtypes_listContext | undefined { return this.tryGetRuleContext(0, Function_with_argtypes_listContext); } public opt_if_exists(): Opt_if_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_existsContext); } public opt_drop_behavior(): Opt_drop_behaviorContext | undefined { return this.tryGetRuleContext(0, Opt_drop_behaviorContext); } public KW_PROCEDURE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURE, 0); } public procedure_with_argtypes_list(): Procedure_with_argtypes_listContext | undefined { return this.tryGetRuleContext(0, Procedure_with_argtypes_listContext); } public KW_ROUTINE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINE, 0); } public routine_with_argtypes_list(): Routine_with_argtypes_listContext | undefined { return this.tryGetRuleContext(0, Routine_with_argtypes_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_removefuncstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRemovefuncstmt) { listener.enterRemovefuncstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRemovefuncstmt) { listener.exitRemovefuncstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRemovefuncstmt) { return visitor.visitRemovefuncstmt(this); } else { return visitor.visitChildren(this); } } } export class RemoveaggrstmtContext extends ParserRuleContext { public KW_DROP(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DROP, 0); } public KW_AGGREGATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AGGREGATE, 0); } public aggregate_with_argtypes_list(): Aggregate_with_argtypes_listContext { return this.getRuleContext(0, Aggregate_with_argtypes_listContext); } public opt_if_exists(): Opt_if_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_existsContext); } public opt_drop_behavior(): Opt_drop_behaviorContext | undefined { return this.tryGetRuleContext(0, Opt_drop_behaviorContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_removeaggrstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRemoveaggrstmt) { listener.enterRemoveaggrstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRemoveaggrstmt) { listener.exitRemoveaggrstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRemoveaggrstmt) { return visitor.visitRemoveaggrstmt(this); } else { return visitor.visitChildren(this); } } } export class RemoveoperstmtContext extends ParserRuleContext { public KW_DROP(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DROP, 0); } public KW_OPERATOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OPERATOR, 0); } public operator_with_argtypes_list(): Operator_with_argtypes_listContext { return this.getRuleContext(0, Operator_with_argtypes_listContext); } public opt_if_exists(): Opt_if_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_existsContext); } public opt_drop_behavior(): Opt_drop_behaviorContext | undefined { return this.tryGetRuleContext(0, Opt_drop_behaviorContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_removeoperstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRemoveoperstmt) { listener.enterRemoveoperstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRemoveoperstmt) { listener.exitRemoveoperstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRemoveoperstmt) { return visitor.visitRemoveoperstmt(this); } else { return visitor.visitChildren(this); } } } export class Oper_argtypesContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public typename(): TypenameContext[]; public typename(i: number): TypenameContext; public typename(i?: number): TypenameContext | TypenameContext[] { if (i === undefined) { return this.getRuleContexts(TypenameContext); } else { return this.getRuleContext(i, TypenameContext); } } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public COMMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.COMMA, 0); } public KW_NONE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NONE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_oper_argtypes; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOper_argtypes) { listener.enterOper_argtypes(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOper_argtypes) { listener.exitOper_argtypes(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOper_argtypes) { return visitor.visitOper_argtypes(this); } else { return visitor.visitChildren(this); } } } export class Any_operatorContext extends ParserRuleContext { public all_op(): All_opContext { return this.getRuleContext(0, All_opContext); } public colid(): ColidContext[]; public colid(i: number): ColidContext; public colid(i?: number): ColidContext | ColidContext[] { if (i === undefined) { return this.getRuleContexts(ColidContext); } else { return this.getRuleContext(i, ColidContext); } } public DOT(): TerminalNode[]; public DOT(i: number): TerminalNode; public DOT(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.DOT); } else { return this.getToken(PostgreSQLParser.DOT, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_any_operator; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAny_operator) { listener.enterAny_operator(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAny_operator) { listener.exitAny_operator(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAny_operator) { return visitor.visitAny_operator(this); } else { return visitor.visitChildren(this); } } } export class Operator_with_argtypes_listContext extends ParserRuleContext { public operator_with_argtypes(): Operator_with_argtypesContext[]; public operator_with_argtypes(i: number): Operator_with_argtypesContext; public operator_with_argtypes(i?: number): Operator_with_argtypesContext | Operator_with_argtypesContext[] { if (i === undefined) { return this.getRuleContexts(Operator_with_argtypesContext); } else { return this.getRuleContext(i, Operator_with_argtypesContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_operator_with_argtypes_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOperator_with_argtypes_list) { listener.enterOperator_with_argtypes_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOperator_with_argtypes_list) { listener.exitOperator_with_argtypes_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOperator_with_argtypes_list) { return visitor.visitOperator_with_argtypes_list(this); } else { return visitor.visitChildren(this); } } } export class Operator_with_argtypesContext extends ParserRuleContext { public any_operator(): Any_operatorContext { return this.getRuleContext(0, Any_operatorContext); } public oper_argtypes(): Oper_argtypesContext { return this.getRuleContext(0, Oper_argtypesContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_operator_with_argtypes; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOperator_with_argtypes) { listener.enterOperator_with_argtypes(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOperator_with_argtypes) { listener.exitOperator_with_argtypes(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOperator_with_argtypes) { return visitor.visitOperator_with_argtypes(this); } else { return visitor.visitChildren(this); } } } export class DostmtContext extends ParserRuleContext { public KW_DO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DO, 0); } public dostmt_opt_list(): Dostmt_opt_listContext { return this.getRuleContext(0, Dostmt_opt_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_dostmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDostmt) { listener.enterDostmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDostmt) { listener.exitDostmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDostmt) { return visitor.visitDostmt(this); } else { return visitor.visitChildren(this); } } } export class Dostmt_opt_listContext extends ParserRuleContext { public dostmt_opt_item(): Dostmt_opt_itemContext[]; public dostmt_opt_item(i: number): Dostmt_opt_itemContext; public dostmt_opt_item(i?: number): Dostmt_opt_itemContext | Dostmt_opt_itemContext[] { if (i === undefined) { return this.getRuleContexts(Dostmt_opt_itemContext); } else { return this.getRuleContext(i, Dostmt_opt_itemContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_dostmt_opt_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDostmt_opt_list) { listener.enterDostmt_opt_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDostmt_opt_list) { listener.exitDostmt_opt_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDostmt_opt_list) { return visitor.visitDostmt_opt_list(this); } else { return visitor.visitChildren(this); } } } export class Dostmt_opt_itemContext extends ParserRuleContext { public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public KW_LANGUAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LANGUAGE, 0); } public nonreservedword_or_sconst(): Nonreservedword_or_sconstContext | undefined { return this.tryGetRuleContext(0, Nonreservedword_or_sconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_dostmt_opt_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDostmt_opt_item) { listener.enterDostmt_opt_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDostmt_opt_item) { listener.exitDostmt_opt_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDostmt_opt_item) { return visitor.visitDostmt_opt_item(this); } else { return visitor.visitChildren(this); } } } export class CreatecaststmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_CAST(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CAST, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public typename(): TypenameContext[]; public typename(i: number): TypenameContext; public typename(i?: number): TypenameContext | TypenameContext[] { if (i === undefined) { return this.getRuleContexts(TypenameContext); } else { return this.getRuleContext(i, TypenameContext); } } public KW_AS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AS, 0); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_with_argtypes(): Function_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Function_with_argtypesContext); } public cast_context(): Cast_contextContext | undefined { return this.tryGetRuleContext(0, Cast_contextContext); } public KW_WITHOUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITHOUT, 0); } public KW_INOUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INOUT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createcaststmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatecaststmt) { listener.enterCreatecaststmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatecaststmt) { listener.exitCreatecaststmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatecaststmt) { return visitor.visitCreatecaststmt(this); } else { return visitor.visitChildren(this); } } } export class Cast_contextContext extends ParserRuleContext { public KW_AS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AS, 0); } public KW_IMPLICIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IMPLICIT, 0); } public KW_ASSIGNMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ASSIGNMENT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_cast_context; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCast_context) { listener.enterCast_context(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCast_context) { listener.exitCast_context(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCast_context) { return visitor.visitCast_context(this); } else { return visitor.visitChildren(this); } } } export class Opt_if_existsContext extends ParserRuleContext { public KW_IF(): TerminalNode { return this.getToken(PostgreSQLParser.KW_IF, 0); } public KW_EXISTS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXISTS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_if_exists; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_if_exists) { listener.enterOpt_if_exists(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_if_exists) { listener.exitOpt_if_exists(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_if_exists) { return visitor.visitOpt_if_exists(this); } else { return visitor.visitChildren(this); } } } export class CreatetransformstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_TRANSFORM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TRANSFORM, 0); } public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public typename(): TypenameContext { return this.getRuleContext(0, TypenameContext); } public KW_LANGUAGE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_LANGUAGE, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public transform_element_list(): Transform_element_listContext { return this.getRuleContext(0, Transform_element_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public opt_or_replace(): Opt_or_replaceContext | undefined { return this.tryGetRuleContext(0, Opt_or_replaceContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createtransformstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatetransformstmt) { listener.enterCreatetransformstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatetransformstmt) { listener.exitCreatetransformstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatetransformstmt) { return visitor.visitCreatetransformstmt(this); } else { return visitor.visitChildren(this); } } } export class Transform_element_listContext extends ParserRuleContext { public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public KW_SQL(): TerminalNode[]; public KW_SQL(i: number): TerminalNode; public KW_SQL(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_SQL); } else { return this.getToken(PostgreSQLParser.KW_SQL, i); } } public KW_WITH(): TerminalNode[]; public KW_WITH(i: number): TerminalNode; public KW_WITH(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_WITH); } else { return this.getToken(PostgreSQLParser.KW_WITH, i); } } public KW_FUNCTION(): TerminalNode[]; public KW_FUNCTION(i: number): TerminalNode; public KW_FUNCTION(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_FUNCTION); } else { return this.getToken(PostgreSQLParser.KW_FUNCTION, i); } } public function_with_argtypes(): Function_with_argtypesContext[]; public function_with_argtypes(i: number): Function_with_argtypesContext; public function_with_argtypes(i?: number): Function_with_argtypesContext | Function_with_argtypesContext[] { if (i === undefined) { return this.getRuleContexts(Function_with_argtypesContext); } else { return this.getRuleContext(i, Function_with_argtypesContext); } } public COMMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.COMMA, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_transform_element_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTransform_element_list) { listener.enterTransform_element_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTransform_element_list) { listener.exitTransform_element_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTransform_element_list) { return visitor.visitTransform_element_list(this); } else { return visitor.visitChildren(this); } } } export class ReindexstmtContext extends ParserRuleContext { public KW_REINDEX(): TerminalNode { return this.getToken(PostgreSQLParser.KW_REINDEX, 0); } public reindex_target_type(): Reindex_target_typeContext | undefined { return this.tryGetRuleContext(0, Reindex_target_typeContext); } public reindex_target_multitable(): Reindex_target_multitableContext | undefined { return this.tryGetRuleContext(0, Reindex_target_multitableContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public reindex_option_list(): Reindex_option_listContext | undefined { return this.tryGetRuleContext(0, Reindex_option_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_reindexstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterReindexstmt) { listener.enterReindexstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitReindexstmt) { listener.exitReindexstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitReindexstmt) { return visitor.visitReindexstmt(this); } else { return visitor.visitChildren(this); } } } export class Reindex_target_typeContext extends ParserRuleContext { public KW_INDEX(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INDEX, 0); } public qualified_name(): Qualified_nameContext | undefined { return this.tryGetRuleContext(0, Qualified_nameContext); } public opt_concurrently(): Opt_concurrentlyContext | undefined { return this.tryGetRuleContext(0, Opt_concurrentlyContext); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public table_name(): Table_nameContext | undefined { return this.tryGetRuleContext(0, Table_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_reindex_target_type; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterReindex_target_type) { listener.enterReindex_target_type(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitReindex_target_type) { listener.exitReindex_target_type(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitReindex_target_type) { return visitor.visitReindex_target_type(this); } else { return visitor.visitChildren(this); } } } export class Reindex_target_multitableContext extends ParserRuleContext { public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name(): Schema_nameContext | undefined { return this.tryGetRuleContext(0, Schema_nameContext); } public opt_concurrently(): Opt_concurrentlyContext | undefined { return this.tryGetRuleContext(0, Opt_concurrentlyContext); } public KW_SYSTEM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SYSTEM, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } public KW_DATABASE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATABASE, 0); } public database_name(): Database_nameContext | undefined { return this.tryGetRuleContext(0, Database_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_reindex_target_multitable; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterReindex_target_multitable) { listener.enterReindex_target_multitable(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitReindex_target_multitable) { listener.exitReindex_target_multitable(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitReindex_target_multitable) { return visitor.visitReindex_target_multitable(this); } else { return visitor.visitChildren(this); } } } export class Reindex_option_listContext extends ParserRuleContext { public reindex_option_elem(): Reindex_option_elemContext[]; public reindex_option_elem(i: number): Reindex_option_elemContext; public reindex_option_elem(i?: number): Reindex_option_elemContext | Reindex_option_elemContext[] { if (i === undefined) { return this.getRuleContexts(Reindex_option_elemContext); } else { return this.getRuleContext(i, Reindex_option_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_reindex_option_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterReindex_option_list) { listener.enterReindex_option_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitReindex_option_list) { listener.exitReindex_option_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitReindex_option_list) { return visitor.visitReindex_option_list(this); } else { return visitor.visitChildren(this); } } } export class Reindex_option_elemContext extends ParserRuleContext { public KW_VERBOSE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_VERBOSE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_reindex_option_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterReindex_option_elem) { listener.enterReindex_option_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitReindex_option_elem) { listener.exitReindex_option_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitReindex_option_elem) { return visitor.visitReindex_option_elem(this); } else { return visitor.visitChildren(this); } } } export class AltertblspcstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_TABLESPACE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TABLESPACE, 0); } public tablespace_name(): Tablespace_nameContext { return this.getRuleContext(0, Tablespace_nameContext); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public reloptions(): ReloptionsContext { return this.getRuleContext(0, ReloptionsContext); } public KW_RESET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESET, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_altertblspcstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAltertblspcstmt) { listener.enterAltertblspcstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAltertblspcstmt) { listener.exitAltertblspcstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAltertblspcstmt) { return visitor.visitAltertblspcstmt(this); } else { return visitor.visitChildren(this); } } } export class RenamestmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_AGGREGATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AGGREGATE, 0); } public aggregate_with_argtypes(): Aggregate_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Aggregate_with_argtypesContext); } public KW_RENAME(): TerminalNode { return this.getToken(PostgreSQLParser.KW_RENAME, 0); } public KW_TO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TO, 0); } public name(): NameContext[]; public name(i: number): NameContext; public name(i?: number): NameContext | NameContext[] { if (i === undefined) { return this.getRuleContexts(NameContext); } else { return this.getRuleContext(i, NameContext); } } public KW_COLLATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATION, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public KW_CONVERSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONVERSION, 0); } public KW_DATABASE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATABASE, 0); } public database_name(): Database_nameContext | undefined { return this.tryGetRuleContext(0, Database_nameContext); } public database_name_create(): Database_name_createContext | undefined { return this.tryGetRuleContext(0, Database_name_createContext); } public KW_DOMAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOMAIN, 0); } public KW_CONSTRAINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTRAINT, 0); } public KW_FOREIGN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_DATA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATA, 0); } public KW_WRAPPER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WRAPPER, 0); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_with_argtypes(): Function_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Function_with_argtypesContext); } public function_name_create(): Function_name_createContext | undefined { return this.tryGetRuleContext(0, Function_name_createContext); } public KW_GROUP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GROUP, 0); } public roleid(): RoleidContext[]; public roleid(i: number): RoleidContext; public roleid(i?: number): RoleidContext | RoleidContext[] { if (i === undefined) { return this.getRuleContexts(RoleidContext); } else { return this.getRuleContext(i, RoleidContext); } } public KW_LANGUAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LANGUAGE, 0); } public opt_procedural(): Opt_proceduralContext | undefined { return this.tryGetRuleContext(0, Opt_proceduralContext); } public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public KW_CLASS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CLASS, 0); } public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public KW_FAMILY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FAMILY, 0); } public KW_POLICY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_POLICY, 0); } public KW_ON(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ON, 0); } public qualified_name(): Qualified_nameContext | undefined { return this.tryGetRuleContext(0, Qualified_nameContext); } public opt_if_exists(): Opt_if_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_existsContext); } public KW_PROCEDURE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURE, 0); } public procedure_with_argtypes(): Procedure_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Procedure_with_argtypesContext); } public procedure_name_create(): Procedure_name_createContext | undefined { return this.tryGetRuleContext(0, Procedure_name_createContext); } public KW_PUBLICATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PUBLICATION, 0); } public KW_ROUTINE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINE, 0); } public routine_with_argtypes(): Routine_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Routine_with_argtypesContext); } public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name(): Schema_nameContext | undefined { return this.tryGetRuleContext(0, Schema_nameContext); } public schema_name_create(): Schema_name_createContext | undefined { return this.tryGetRuleContext(0, Schema_name_createContext); } public KW_SERVER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SERVER, 0); } public KW_SUBSCRIPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SUBSCRIPTION, 0); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public relation_expr(): Relation_exprContext | undefined { return this.tryGetRuleContext(0, Relation_exprContext); } public table_name_create(): Table_name_createContext | undefined { return this.tryGetRuleContext(0, Table_name_createContext); } public KW_SEQUENCE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEQUENCE, 0); } public KW_VIEW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VIEW, 0); } public view_name(): View_nameContext | undefined { return this.tryGetRuleContext(0, View_nameContext); } public view_name_create(): View_name_createContext | undefined { return this.tryGetRuleContext(0, View_name_createContext); } public KW_MATERIALIZED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MATERIALIZED, 0); } public KW_INDEX(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INDEX, 0); } public column_name(): Column_nameContext | undefined { return this.tryGetRuleContext(0, Column_nameContext); } public column_name_create(): Column_name_createContext | undefined { return this.tryGetRuleContext(0, Column_name_createContext); } public opt_column(): Opt_columnContext | undefined { return this.tryGetRuleContext(0, Opt_columnContext); } public KW_RULE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RULE, 0); } public KW_TRIGGER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRIGGER, 0); } public KW_EVENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EVENT, 0); } public KW_ROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLE, 0); } public KW_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USER, 0); } public KW_TABLESPACE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLESPACE, 0); } public tablespace_name(): Tablespace_nameContext | undefined { return this.tryGetRuleContext(0, Tablespace_nameContext); } public tablespace_name_create(): Tablespace_name_createContext | undefined { return this.tryGetRuleContext(0, Tablespace_name_createContext); } public KW_STATISTICS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STATISTICS, 0); } public KW_TEXT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEXT, 0); } public KW_SEARCH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEARCH, 0); } public KW_PARSER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARSER, 0); } public KW_DICTIONARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DICTIONARY, 0); } public KW_TEMPLATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMPLATE, 0); } public KW_CONFIGURATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONFIGURATION, 0); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } public KW_ATTRIBUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ATTRIBUTE, 0); } public opt_drop_behavior(): Opt_drop_behaviorContext | undefined { return this.tryGetRuleContext(0, Opt_drop_behaviorContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_renamestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRenamestmt) { listener.enterRenamestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRenamestmt) { listener.exitRenamestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRenamestmt) { return visitor.visitRenamestmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_columnContext extends ParserRuleContext { public KW_COLUMN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_COLUMN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_column; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_column) { listener.enterOpt_column(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_column) { listener.exitOpt_column(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_column) { return visitor.visitOpt_column(this); } else { return visitor.visitChildren(this); } } } export class Opt_set_dataContext extends ParserRuleContext { public KW_SET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SET, 0); } public KW_DATA(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DATA, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_set_data; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_set_data) { listener.enterOpt_set_data(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_set_data) { listener.exitOpt_set_data(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_set_data) { return visitor.visitOpt_set_data(this); } else { return visitor.visitChildren(this); } } } export class AlterobjectdependsstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_with_argtypes(): Function_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Function_with_argtypesContext); } public KW_DEPENDS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DEPENDS, 0); } public KW_ON(): TerminalNode[]; public KW_ON(i: number): TerminalNode; public KW_ON(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_ON); } else { return this.getToken(PostgreSQLParser.KW_ON, i); } } public KW_EXTENSION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXTENSION, 0); } public name(): NameContext[]; public name(i: number): NameContext; public name(i?: number): NameContext | NameContext[] { if (i === undefined) { return this.getRuleContexts(NameContext); } else { return this.getRuleContext(i, NameContext); } } public opt_no(): Opt_noContext | undefined { return this.tryGetRuleContext(0, Opt_noContext); } public KW_PROCEDURE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURE, 0); } public procedure_with_argtypes(): Procedure_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Procedure_with_argtypesContext); } public KW_ROUTINE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINE, 0); } public routine_with_argtypes(): Routine_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Routine_with_argtypesContext); } public KW_TRIGGER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRIGGER, 0); } public qualified_name(): Qualified_nameContext | undefined { return this.tryGetRuleContext(0, Qualified_nameContext); } public KW_MATERIALIZED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MATERIALIZED, 0); } public KW_VIEW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VIEW, 0); } public view_name(): View_nameContext | undefined { return this.tryGetRuleContext(0, View_nameContext); } public KW_INDEX(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INDEX, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterobjectdependsstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterobjectdependsstmt) { listener.enterAlterobjectdependsstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterobjectdependsstmt) { listener.exitAlterobjectdependsstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterobjectdependsstmt) { return visitor.visitAlterobjectdependsstmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_noContext extends ParserRuleContext { public KW_NO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_NO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_no; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_no) { listener.enterOpt_no(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_no) { listener.exitOpt_no(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_no) { return visitor.visitOpt_no(this); } else { return visitor.visitChildren(this); } } } export class AlterobjectschemastmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_AGGREGATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AGGREGATE, 0); } public aggregate_with_argtypes(): Aggregate_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Aggregate_with_argtypesContext); } public KW_SET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SET, 0); } public KW_SCHEMA(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name_create(): Schema_name_createContext { return this.getRuleContext(0, Schema_name_createContext); } public KW_COLLATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATION, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public KW_CONVERSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONVERSION, 0); } public KW_DOMAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOMAIN, 0); } public KW_EXTENSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTENSION, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_with_argtypes(): Function_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Function_with_argtypesContext); } public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public operator_with_argtypes(): Operator_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Operator_with_argtypesContext); } public KW_CLASS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CLASS, 0); } public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public KW_FAMILY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FAMILY, 0); } public KW_PROCEDURE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURE, 0); } public procedure_with_argtypes(): Procedure_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Procedure_with_argtypesContext); } public KW_ROUTINE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINE, 0); } public routine_with_argtypes(): Routine_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Routine_with_argtypesContext); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public relation_expr(): Relation_exprContext | undefined { return this.tryGetRuleContext(0, Relation_exprContext); } public opt_if_exists(): Opt_if_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_existsContext); } public KW_STATISTICS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STATISTICS, 0); } public KW_TEXT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEXT, 0); } public KW_SEARCH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEARCH, 0); } public KW_PARSER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARSER, 0); } public KW_DICTIONARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DICTIONARY, 0); } public KW_TEMPLATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMPLATE, 0); } public KW_CONFIGURATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONFIGURATION, 0); } public KW_SEQUENCE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEQUENCE, 0); } public qualified_name(): Qualified_nameContext | undefined { return this.tryGetRuleContext(0, Qualified_nameContext); } public KW_VIEW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VIEW, 0); } public view_name(): View_nameContext | undefined { return this.tryGetRuleContext(0, View_nameContext); } public KW_MATERIALIZED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MATERIALIZED, 0); } public KW_FOREIGN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterobjectschemastmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterobjectschemastmt) { listener.enterAlterobjectschemastmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterobjectschemastmt) { listener.exitAlterobjectschemastmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterobjectschemastmt) { return visitor.visitAlterobjectschemastmt(this); } else { return visitor.visitChildren(this); } } } export class AlteroperatorstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_OPERATOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OPERATOR, 0); } public operator_with_argtypes(): Operator_with_argtypesContext { return this.getRuleContext(0, Operator_with_argtypesContext); } public KW_SET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SET, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public operator_def_list(): Operator_def_listContext { return this.getRuleContext(0, Operator_def_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alteroperatorstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlteroperatorstmt) { listener.enterAlteroperatorstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlteroperatorstmt) { listener.exitAlteroperatorstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlteroperatorstmt) { return visitor.visitAlteroperatorstmt(this); } else { return visitor.visitChildren(this); } } } export class Operator_def_listContext extends ParserRuleContext { public operator_def_elem(): Operator_def_elemContext[]; public operator_def_elem(i: number): Operator_def_elemContext; public operator_def_elem(i?: number): Operator_def_elemContext | Operator_def_elemContext[] { if (i === undefined) { return this.getRuleContexts(Operator_def_elemContext); } else { return this.getRuleContext(i, Operator_def_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_operator_def_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOperator_def_list) { listener.enterOperator_def_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOperator_def_list) { listener.exitOperator_def_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOperator_def_list) { return visitor.visitOperator_def_list(this); } else { return visitor.visitChildren(this); } } } export class Operator_def_elemContext extends ParserRuleContext { public collabel(): CollabelContext { return this.getRuleContext(0, CollabelContext); } public EQUAL(): TerminalNode { return this.getToken(PostgreSQLParser.EQUAL, 0); } public KW_NONE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NONE, 0); } public operator_def_arg(): Operator_def_argContext | undefined { return this.tryGetRuleContext(0, Operator_def_argContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_operator_def_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOperator_def_elem) { listener.enterOperator_def_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOperator_def_elem) { listener.exitOperator_def_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOperator_def_elem) { return visitor.visitOperator_def_elem(this); } else { return visitor.visitChildren(this); } } } export class Operator_def_argContext extends ParserRuleContext { public func_type(): Func_typeContext | undefined { return this.tryGetRuleContext(0, Func_typeContext); } public reserved_keyword(): Reserved_keywordContext | undefined { return this.tryGetRuleContext(0, Reserved_keywordContext); } public qual_all_op(): Qual_all_opContext | undefined { return this.tryGetRuleContext(0, Qual_all_opContext); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_operator_def_arg; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOperator_def_arg) { listener.enterOperator_def_arg(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOperator_def_arg) { listener.exitOperator_def_arg(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOperator_def_arg) { return visitor.visitOperator_def_arg(this); } else { return visitor.visitChildren(this); } } } export class AltertypestmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_TYPE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TYPE, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } public KW_SET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SET, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public operator_def_list(): Operator_def_listContext { return this.getRuleContext(0, Operator_def_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_altertypestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAltertypestmt) { listener.enterAltertypestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAltertypestmt) { listener.exitAltertypestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAltertypestmt) { return visitor.visitAltertypestmt(this); } else { return visitor.visitChildren(this); } } } export class AlterownerstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_AGGREGATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AGGREGATE, 0); } public aggregate_with_argtypes(): Aggregate_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Aggregate_with_argtypesContext); } public KW_OWNER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OWNER, 0); } public KW_TO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TO, 0); } public rolespec(): RolespecContext { return this.getRuleContext(0, RolespecContext); } public KW_COLLATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATION, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public KW_CONVERSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONVERSION, 0); } public KW_DATABASE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATABASE, 0); } public database_name(): Database_nameContext | undefined { return this.tryGetRuleContext(0, Database_nameContext); } public KW_DOMAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOMAIN, 0); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public function_with_argtypes(): Function_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Function_with_argtypesContext); } public KW_LANGUAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LANGUAGE, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } public opt_procedural(): Opt_proceduralContext | undefined { return this.tryGetRuleContext(0, Opt_proceduralContext); } public KW_LARGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LARGE, 0); } public KW_OBJECT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OBJECT, 0); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public operator_with_argtypes(): Operator_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Operator_with_argtypesContext); } public KW_CLASS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CLASS, 0); } public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public KW_FAMILY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FAMILY, 0); } public KW_PROCEDURE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURE, 0); } public procedure_with_argtypes(): Procedure_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Procedure_with_argtypesContext); } public KW_ROUTINE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINE, 0); } public routine_with_argtypes(): Routine_with_argtypesContext | undefined { return this.tryGetRuleContext(0, Routine_with_argtypesContext); } public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name(): Schema_nameContext | undefined { return this.tryGetRuleContext(0, Schema_nameContext); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } public KW_TABLESPACE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLESPACE, 0); } public tablespace_name(): Tablespace_nameContext | undefined { return this.tryGetRuleContext(0, Tablespace_nameContext); } public KW_STATISTICS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STATISTICS, 0); } public KW_TEXT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEXT, 0); } public KW_SEARCH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEARCH, 0); } public KW_DICTIONARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DICTIONARY, 0); } public KW_CONFIGURATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONFIGURATION, 0); } public KW_FOREIGN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_DATA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATA, 0); } public KW_WRAPPER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WRAPPER, 0); } public KW_SERVER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SERVER, 0); } public KW_EVENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EVENT, 0); } public KW_TRIGGER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRIGGER, 0); } public KW_PUBLICATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PUBLICATION, 0); } public KW_SUBSCRIPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SUBSCRIPTION, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterownerstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterownerstmt) { listener.enterAlterownerstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterownerstmt) { listener.exitAlterownerstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterownerstmt) { return visitor.visitAlterownerstmt(this); } else { return visitor.visitChildren(this); } } } export class CreatepublicationstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_PUBLICATION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PUBLICATION, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public opt_publication_for_tables(): Opt_publication_for_tablesContext | undefined { return this.tryGetRuleContext(0, Opt_publication_for_tablesContext); } public opt_definition(): Opt_definitionContext | undefined { return this.tryGetRuleContext(0, Opt_definitionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createpublicationstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatepublicationstmt) { listener.enterCreatepublicationstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatepublicationstmt) { listener.exitCreatepublicationstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatepublicationstmt) { return visitor.visitCreatepublicationstmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_publication_for_tablesContext extends ParserRuleContext { public publication_for_tables(): Publication_for_tablesContext { return this.getRuleContext(0, Publication_for_tablesContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_publication_for_tables; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_publication_for_tables) { listener.enterOpt_publication_for_tables(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_publication_for_tables) { listener.exitOpt_publication_for_tables(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_publication_for_tables) { return visitor.visitOpt_publication_for_tables(this); } else { return visitor.visitChildren(this); } } } export class Publication_for_tablesContext extends ParserRuleContext { public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public relation_expr_list(): Relation_expr_listContext | undefined { return this.tryGetRuleContext(0, Relation_expr_listContext); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public KW_TABLES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLES, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_publication_for_tables; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPublication_for_tables) { listener.enterPublication_for_tables(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPublication_for_tables) { listener.exitPublication_for_tables(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPublication_for_tables) { return visitor.visitPublication_for_tables(this); } else { return visitor.visitChildren(this); } } } export class AlterpublicationstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_PUBLICATION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PUBLICATION, 0); } public name(): NameContext[]; public name(i: number): NameContext; public name(i?: number): NameContext | NameContext[] { if (i === undefined) { return this.getRuleContexts(NameContext); } else { return this.getRuleContext(i, NameContext); } } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public definition(): DefinitionContext | undefined { return this.tryGetRuleContext(0, DefinitionContext); } public KW_ADD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADD, 0); } public publication_relation_expr_list(): Publication_relation_expr_listContext | undefined { return this.tryGetRuleContext(0, Publication_relation_expr_listContext); } public KW_DROP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DROP, 0); } public KW_OWNER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OWNER, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public rolespec(): RolespecContext | undefined { return this.tryGetRuleContext(0, RolespecContext); } public KW_RENAME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RENAME, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterpublicationstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterpublicationstmt) { listener.enterAlterpublicationstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterpublicationstmt) { listener.exitAlterpublicationstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterpublicationstmt) { return visitor.visitAlterpublicationstmt(this); } else { return visitor.visitChildren(this); } } } export class CreatesubscriptionstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_SUBSCRIPTION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SUBSCRIPTION, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public KW_CONNECTION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CONNECTION, 0); } public sconst(): SconstContext { return this.getRuleContext(0, SconstContext); } public KW_PUBLICATION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PUBLICATION, 0); } public publication_name_list(): Publication_name_listContext { return this.getRuleContext(0, Publication_name_listContext); } public opt_definition(): Opt_definitionContext | undefined { return this.tryGetRuleContext(0, Opt_definitionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createsubscriptionstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatesubscriptionstmt) { listener.enterCreatesubscriptionstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatesubscriptionstmt) { listener.exitCreatesubscriptionstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatesubscriptionstmt) { return visitor.visitCreatesubscriptionstmt(this); } else { return visitor.visitChildren(this); } } } export class Publication_name_listContext extends ParserRuleContext { public publication_name_item(): Publication_name_itemContext[]; public publication_name_item(i: number): Publication_name_itemContext; public publication_name_item(i?: number): Publication_name_itemContext | Publication_name_itemContext[] { if (i === undefined) { return this.getRuleContexts(Publication_name_itemContext); } else { return this.getRuleContext(i, Publication_name_itemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_publication_name_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPublication_name_list) { listener.enterPublication_name_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPublication_name_list) { listener.exitPublication_name_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPublication_name_list) { return visitor.visitPublication_name_list(this); } else { return visitor.visitChildren(this); } } } export class Publication_name_itemContext extends ParserRuleContext { public collabel(): CollabelContext { return this.getRuleContext(0, CollabelContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_publication_name_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPublication_name_item) { listener.enterPublication_name_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPublication_name_item) { listener.exitPublication_name_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPublication_name_item) { return visitor.visitPublication_name_item(this); } else { return visitor.visitChildren(this); } } } export class AltersubscriptionstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_SUBSCRIPTION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SUBSCRIPTION, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public definition(): DefinitionContext | undefined { return this.tryGetRuleContext(0, DefinitionContext); } public KW_CONNECTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONNECTION, 0); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public KW_REFRESH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REFRESH, 0); } public KW_PUBLICATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PUBLICATION, 0); } public opt_definition(): Opt_definitionContext | undefined { return this.tryGetRuleContext(0, Opt_definitionContext); } public publication_name_list(): Publication_name_listContext | undefined { return this.tryGetRuleContext(0, Publication_name_listContext); } public KW_ADD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADD, 0); } public KW_DROP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DROP, 0); } public KW_ENABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ENABLE, 0); } public KW_DISABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DISABLE, 0); } public KW_SKIP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SKIP, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public old_aggr_elem(): Old_aggr_elemContext | undefined { return this.tryGetRuleContext(0, Old_aggr_elemContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_OWNER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OWNER, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public rolespec(): RolespecContext | undefined { return this.tryGetRuleContext(0, RolespecContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_altersubscriptionstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAltersubscriptionstmt) { listener.enterAltersubscriptionstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAltersubscriptionstmt) { listener.exitAltersubscriptionstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAltersubscriptionstmt) { return visitor.visitAltersubscriptionstmt(this); } else { return visitor.visitChildren(this); } } } export class RulestmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_RULE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_RULE, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public KW_AS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AS, 0); } public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public event(): EventContext { return this.getRuleContext(0, EventContext); } public KW_TO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TO, 0); } public qualified_name(): Qualified_nameContext { return this.getRuleContext(0, Qualified_nameContext); } public KW_DO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DO, 0); } public ruleactionlist(): RuleactionlistContext { return this.getRuleContext(0, RuleactionlistContext); } public opt_or_replace(): Opt_or_replaceContext | undefined { return this.tryGetRuleContext(0, Opt_or_replaceContext); } public where_clause(): Where_clauseContext | undefined { return this.tryGetRuleContext(0, Where_clauseContext); } public opt_instead(): Opt_insteadContext | undefined { return this.tryGetRuleContext(0, Opt_insteadContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_rulestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRulestmt) { listener.enterRulestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRulestmt) { listener.exitRulestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRulestmt) { return visitor.visitRulestmt(this); } else { return visitor.visitChildren(this); } } } export class RuleactionlistContext extends ParserRuleContext { public KW_NOTHING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOTHING, 0); } public ruleactionstmt(): RuleactionstmtContext | undefined { return this.tryGetRuleContext(0, RuleactionstmtContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public ruleactionmulti(): RuleactionmultiContext | undefined { return this.tryGetRuleContext(0, RuleactionmultiContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_ruleactionlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRuleactionlist) { listener.enterRuleactionlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRuleactionlist) { listener.exitRuleactionlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRuleactionlist) { return visitor.visitRuleactionlist(this); } else { return visitor.visitChildren(this); } } } export class RuleactionmultiContext extends ParserRuleContext { public ruleactionstmtOrEmpty(): RuleactionstmtOrEmptyContext[]; public ruleactionstmtOrEmpty(i: number): RuleactionstmtOrEmptyContext; public ruleactionstmtOrEmpty(i?: number): RuleactionstmtOrEmptyContext | RuleactionstmtOrEmptyContext[] { if (i === undefined) { return this.getRuleContexts(RuleactionstmtOrEmptyContext); } else { return this.getRuleContext(i, RuleactionstmtOrEmptyContext); } } public SEMI(): TerminalNode[]; public SEMI(i: number): TerminalNode; public SEMI(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.SEMI); } else { return this.getToken(PostgreSQLParser.SEMI, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_ruleactionmulti; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRuleactionmulti) { listener.enterRuleactionmulti(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRuleactionmulti) { listener.exitRuleactionmulti(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRuleactionmulti) { return visitor.visitRuleactionmulti(this); } else { return visitor.visitChildren(this); } } } export class RuleactionstmtContext extends ParserRuleContext { public selectstmt(): SelectstmtContext | undefined { return this.tryGetRuleContext(0, SelectstmtContext); } public insertstmt(): InsertstmtContext | undefined { return this.tryGetRuleContext(0, InsertstmtContext); } public updatestmt(): UpdatestmtContext | undefined { return this.tryGetRuleContext(0, UpdatestmtContext); } public deletestmt(): DeletestmtContext | undefined { return this.tryGetRuleContext(0, DeletestmtContext); } public notifystmt(): NotifystmtContext | undefined { return this.tryGetRuleContext(0, NotifystmtContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_ruleactionstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRuleactionstmt) { listener.enterRuleactionstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRuleactionstmt) { listener.exitRuleactionstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRuleactionstmt) { return visitor.visitRuleactionstmt(this); } else { return visitor.visitChildren(this); } } } export class RuleactionstmtOrEmptyContext extends ParserRuleContext { public ruleactionstmt(): RuleactionstmtContext { return this.getRuleContext(0, RuleactionstmtContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_ruleactionstmtOrEmpty; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRuleactionstmtOrEmpty) { listener.enterRuleactionstmtOrEmpty(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRuleactionstmtOrEmpty) { listener.exitRuleactionstmtOrEmpty(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRuleactionstmtOrEmpty) { return visitor.visitRuleactionstmtOrEmpty(this); } else { return visitor.visitChildren(this); } } } export class EventContext extends ParserRuleContext { public KW_SELECT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SELECT, 0); } public KW_UPDATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UPDATE, 0); } public KW_DELETE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DELETE, 0); } public KW_INSERT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INSERT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_event; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterEvent) { listener.enterEvent(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitEvent) { listener.exitEvent(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitEvent) { return visitor.visitEvent(this); } else { return visitor.visitChildren(this); } } } export class Opt_insteadContext extends ParserRuleContext { public KW_INSTEAD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INSTEAD, 0); } public KW_ALSO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALSO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_instead; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_instead) { listener.enterOpt_instead(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_instead) { listener.exitOpt_instead(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_instead) { return visitor.visitOpt_instead(this); } else { return visitor.visitChildren(this); } } } export class NotifystmtContext extends ParserRuleContext { public KW_NOTIFY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_NOTIFY, 0); } public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public notify_payload(): Notify_payloadContext | undefined { return this.tryGetRuleContext(0, Notify_payloadContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_notifystmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterNotifystmt) { listener.enterNotifystmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitNotifystmt) { listener.exitNotifystmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitNotifystmt) { return visitor.visitNotifystmt(this); } else { return visitor.visitChildren(this); } } } export class Notify_payloadContext extends ParserRuleContext { public COMMA(): TerminalNode { return this.getToken(PostgreSQLParser.COMMA, 0); } public sconst(): SconstContext { return this.getRuleContext(0, SconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_notify_payload; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterNotify_payload) { listener.enterNotify_payload(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitNotify_payload) { listener.exitNotify_payload(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitNotify_payload) { return visitor.visitNotify_payload(this); } else { return visitor.visitChildren(this); } } } export class ListenstmtContext extends ParserRuleContext { public KW_LISTEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_LISTEN, 0); } public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_listenstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterListenstmt) { listener.enterListenstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitListenstmt) { listener.exitListenstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitListenstmt) { return visitor.visitListenstmt(this); } else { return visitor.visitChildren(this); } } } export class UnlistenstmtContext extends ParserRuleContext { public KW_UNLISTEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_UNLISTEN, 0); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_unlistenstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterUnlistenstmt) { listener.enterUnlistenstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitUnlistenstmt) { listener.exitUnlistenstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitUnlistenstmt) { return visitor.visitUnlistenstmt(this); } else { return visitor.visitChildren(this); } } } export class TransactionstmtContext extends ParserRuleContext { public KW_ABORT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ABORT, 0); } public opt_transaction(): Opt_transactionContext | undefined { return this.tryGetRuleContext(0, Opt_transactionContext); } public opt_transaction_chain(): Opt_transaction_chainContext | undefined { return this.tryGetRuleContext(0, Opt_transaction_chainContext); } public KW_BEGIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BEGIN, 0); } public transaction_mode_list_or_empty(): Transaction_mode_list_or_emptyContext | undefined { return this.tryGetRuleContext(0, Transaction_mode_list_or_emptyContext); } public KW_START(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_START, 0); } public KW_TRANSACTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRANSACTION, 0); } public KW_COMMIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COMMIT, 0); } public KW_END(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_END, 0); } public KW_ROLLBACK(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLLBACK, 0); } public KW_SAVEPOINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SAVEPOINT, 0); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public KW_RELEASE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RELEASE, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public KW_PREPARE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PREPARE, 0); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public KW_PREPARED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PREPARED, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_transactionstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTransactionstmt) { listener.enterTransactionstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTransactionstmt) { listener.exitTransactionstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTransactionstmt) { return visitor.visitTransactionstmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_transactionContext extends ParserRuleContext { public KW_WORK(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WORK, 0); } public KW_TRANSACTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRANSACTION, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_transaction; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_transaction) { listener.enterOpt_transaction(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_transaction) { listener.exitOpt_transaction(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_transaction) { return visitor.visitOpt_transaction(this); } else { return visitor.visitChildren(this); } } } export class Transaction_mode_itemContext extends ParserRuleContext { public KW_ISOLATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ISOLATION, 0); } public KW_LEVEL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEVEL, 0); } public iso_level(): Iso_levelContext | undefined { return this.tryGetRuleContext(0, Iso_levelContext); } public KW_READ(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_READ, 0); } public KW_ONLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ONLY, 0); } public KW_WRITE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WRITE, 0); } public KW_DEFERRABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFERRABLE, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_transaction_mode_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTransaction_mode_item) { listener.enterTransaction_mode_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTransaction_mode_item) { listener.exitTransaction_mode_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTransaction_mode_item) { return visitor.visitTransaction_mode_item(this); } else { return visitor.visitChildren(this); } } } export class Transaction_mode_listContext extends ParserRuleContext { public transaction_mode_item(): Transaction_mode_itemContext[]; public transaction_mode_item(i: number): Transaction_mode_itemContext; public transaction_mode_item(i?: number): Transaction_mode_itemContext | Transaction_mode_itemContext[] { if (i === undefined) { return this.getRuleContexts(Transaction_mode_itemContext); } else { return this.getRuleContext(i, Transaction_mode_itemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_transaction_mode_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTransaction_mode_list) { listener.enterTransaction_mode_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTransaction_mode_list) { listener.exitTransaction_mode_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTransaction_mode_list) { return visitor.visitTransaction_mode_list(this); } else { return visitor.visitChildren(this); } } } export class Transaction_mode_list_or_emptyContext extends ParserRuleContext { public transaction_mode_list(): Transaction_mode_listContext { return this.getRuleContext(0, Transaction_mode_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_transaction_mode_list_or_empty; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTransaction_mode_list_or_empty) { listener.enterTransaction_mode_list_or_empty(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTransaction_mode_list_or_empty) { listener.exitTransaction_mode_list_or_empty(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTransaction_mode_list_or_empty) { return visitor.visitTransaction_mode_list_or_empty(this); } else { return visitor.visitChildren(this); } } } export class Opt_transaction_chainContext extends ParserRuleContext { public KW_AND(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AND, 0); } public KW_CHAIN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CHAIN, 0); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_transaction_chain; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_transaction_chain) { listener.enterOpt_transaction_chain(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_transaction_chain) { listener.exitOpt_transaction_chain(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_transaction_chain) { return visitor.visitOpt_transaction_chain(this); } else { return visitor.visitChildren(this); } } } export class ViewstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_AS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AS, 0); } public selectstmt(): SelectstmtContext { return this.getRuleContext(0, SelectstmtContext); } public KW_VIEW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VIEW, 0); } public view_name_create(): View_name_createContext | undefined { return this.tryGetRuleContext(0, View_name_createContext); } public KW_RECURSIVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RECURSIVE, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public columnlist(): ColumnlistContext | undefined { return this.tryGetRuleContext(0, ColumnlistContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_OR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OR, 0); } public KW_REPLACE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REPLACE, 0); } public opttemp(): OpttempContext | undefined { return this.tryGetRuleContext(0, OpttempContext); } public opt_check_option(): Opt_check_optionContext | undefined { return this.tryGetRuleContext(0, Opt_check_optionContext); } public opt_column_list(): Opt_column_listContext | undefined { return this.tryGetRuleContext(0, Opt_column_listContext); } public opt_reloptions(): Opt_reloptionsContext | undefined { return this.tryGetRuleContext(0, Opt_reloptionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_viewstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterViewstmt) { listener.enterViewstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitViewstmt) { listener.exitViewstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitViewstmt) { return visitor.visitViewstmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_check_optionContext extends ParserRuleContext { public KW_WITH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WITH, 0); } public KW_CHECK(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CHECK, 0); } public KW_OPTION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OPTION, 0); } public KW_CASCADED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CASCADED, 0); } public KW_LOCAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCAL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_check_option; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_check_option) { listener.enterOpt_check_option(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_check_option) { listener.exitOpt_check_option(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_check_option) { return visitor.visitOpt_check_option(this); } else { return visitor.visitChildren(this); } } } export class LoadstmtContext extends ParserRuleContext { public KW_LOAD(): TerminalNode { return this.getToken(PostgreSQLParser.KW_LOAD, 0); } public file_name(): File_nameContext { return this.getRuleContext(0, File_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_loadstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterLoadstmt) { listener.enterLoadstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitLoadstmt) { listener.exitLoadstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitLoadstmt) { return visitor.visitLoadstmt(this); } else { return visitor.visitChildren(this); } } } export class CreatedbstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_DATABASE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DATABASE, 0); } public database_name_create(): Database_name_createContext { return this.getRuleContext(0, Database_name_createContext); } public opt_with(): Opt_withContext | undefined { return this.tryGetRuleContext(0, Opt_withContext); } public createdb_opt_list(): Createdb_opt_listContext | undefined { return this.tryGetRuleContext(0, Createdb_opt_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createdbstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatedbstmt) { listener.enterCreatedbstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatedbstmt) { listener.exitCreatedbstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatedbstmt) { return visitor.visitCreatedbstmt(this); } else { return visitor.visitChildren(this); } } } export class Createdb_opt_listContext extends ParserRuleContext { public createdb_opt_items(): Createdb_opt_itemsContext { return this.getRuleContext(0, Createdb_opt_itemsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createdb_opt_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatedb_opt_list) { listener.enterCreatedb_opt_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatedb_opt_list) { listener.exitCreatedb_opt_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatedb_opt_list) { return visitor.visitCreatedb_opt_list(this); } else { return visitor.visitChildren(this); } } } export class Createdb_opt_itemsContext extends ParserRuleContext { public createdb_opt_item(): Createdb_opt_itemContext[]; public createdb_opt_item(i: number): Createdb_opt_itemContext; public createdb_opt_item(i?: number): Createdb_opt_itemContext | Createdb_opt_itemContext[] { if (i === undefined) { return this.getRuleContexts(Createdb_opt_itemContext); } else { return this.getRuleContext(i, Createdb_opt_itemContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createdb_opt_items; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatedb_opt_items) { listener.enterCreatedb_opt_items(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatedb_opt_items) { listener.exitCreatedb_opt_items(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatedb_opt_items) { return visitor.visitCreatedb_opt_items(this); } else { return visitor.visitChildren(this); } } } export class Createdb_opt_itemContext extends ParserRuleContext { public createdb_opt_name(): Createdb_opt_nameContext { return this.getRuleContext(0, Createdb_opt_nameContext); } public signediconst(): SignediconstContext | undefined { return this.tryGetRuleContext(0, SignediconstContext); } public opt_boolean_or_string(): Opt_boolean_or_stringContext | undefined { return this.tryGetRuleContext(0, Opt_boolean_or_stringContext); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public opt_equal(): Opt_equalContext | undefined { return this.tryGetRuleContext(0, Opt_equalContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createdb_opt_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatedb_opt_item) { listener.enterCreatedb_opt_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatedb_opt_item) { listener.exitCreatedb_opt_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatedb_opt_item) { return visitor.visitCreatedb_opt_item(this); } else { return visitor.visitChildren(this); } } } export class Createdb_opt_nameContext extends ParserRuleContext { public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } public KW_CONNECTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONNECTION, 0); } public KW_LIMIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LIMIT, 0); } public KW_ENCODING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ENCODING, 0); } public KW_LOCATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCATION, 0); } public KW_OWNER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OWNER, 0); } public KW_TABLESPACE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLESPACE, 0); } public KW_TEMPLATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMPLATE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createdb_opt_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatedb_opt_name) { listener.enterCreatedb_opt_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatedb_opt_name) { listener.exitCreatedb_opt_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatedb_opt_name) { return visitor.visitCreatedb_opt_name(this); } else { return visitor.visitChildren(this); } } } export class Opt_equalContext extends ParserRuleContext { public EQUAL(): TerminalNode { return this.getToken(PostgreSQLParser.EQUAL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_equal; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_equal) { listener.enterOpt_equal(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_equal) { listener.exitOpt_equal(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_equal) { return visitor.visitOpt_equal(this); } else { return visitor.visitChildren(this); } } } export class AlterdatabasestmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_DATABASE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DATABASE, 0); } public database_name(): Database_nameContext { return this.getRuleContext(0, Database_nameContext); } public createdb_opt_list(): Createdb_opt_listContext | undefined { return this.tryGetRuleContext(0, Createdb_opt_listContext); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public KW_TABLESPACE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLESPACE, 0); } public tablespace_name_create(): Tablespace_name_createContext | undefined { return this.tryGetRuleContext(0, Tablespace_name_createContext); } public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterdatabasestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterdatabasestmt) { listener.enterAlterdatabasestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterdatabasestmt) { listener.exitAlterdatabasestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterdatabasestmt) { return visitor.visitAlterdatabasestmt(this); } else { return visitor.visitChildren(this); } } } export class AlterdatabasesetstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_DATABASE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DATABASE, 0); } public database_name(): Database_nameContext { return this.getRuleContext(0, Database_nameContext); } public setresetclause(): SetresetclauseContext | undefined { return this.tryGetRuleContext(0, SetresetclauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterdatabasesetstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterdatabasesetstmt) { listener.enterAlterdatabasesetstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterdatabasesetstmt) { listener.exitAlterdatabasesetstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterdatabasesetstmt) { return visitor.visitAlterdatabasesetstmt(this); } else { return visitor.visitChildren(this); } } } export class Drop_option_listContext extends ParserRuleContext { public drop_option(): Drop_optionContext[]; public drop_option(i: number): Drop_optionContext; public drop_option(i?: number): Drop_optionContext | Drop_optionContext[] { if (i === undefined) { return this.getRuleContexts(Drop_optionContext); } else { return this.getRuleContext(i, Drop_optionContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_drop_option_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDrop_option_list) { listener.enterDrop_option_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDrop_option_list) { listener.exitDrop_option_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDrop_option_list) { return visitor.visitDrop_option_list(this); } else { return visitor.visitChildren(this); } } } export class Drop_optionContext extends ParserRuleContext { public KW_FORCE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FORCE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_drop_option; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDrop_option) { listener.enterDrop_option(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDrop_option) { listener.exitDrop_option(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDrop_option) { return visitor.visitDrop_option(this); } else { return visitor.visitChildren(this); } } } export class AltercollationstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_COLLATION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_COLLATION, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } public KW_REFRESH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_REFRESH, 0); } public KW_VERSION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_VERSION, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_altercollationstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAltercollationstmt) { listener.enterAltercollationstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAltercollationstmt) { listener.exitAltercollationstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAltercollationstmt) { return visitor.visitAltercollationstmt(this); } else { return visitor.visitChildren(this); } } } export class AltersystemstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_SYSTEM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SYSTEM, 0); } public generic_set(): Generic_setContext { return this.getRuleContext(0, Generic_setContext); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public KW_RESET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESET, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_altersystemstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAltersystemstmt) { listener.enterAltersystemstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAltersystemstmt) { listener.exitAltersystemstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAltersystemstmt) { return visitor.visitAltersystemstmt(this); } else { return visitor.visitChildren(this); } } } export class CreatedomainstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_DOMAIN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DOMAIN, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } public typename(): TypenameContext { return this.getRuleContext(0, TypenameContext); } public colquallist(): ColquallistContext { return this.getRuleContext(0, ColquallistContext); } public opt_as(): Opt_asContext | undefined { return this.tryGetRuleContext(0, Opt_asContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createdomainstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreatedomainstmt) { listener.enterCreatedomainstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreatedomainstmt) { listener.exitCreatedomainstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreatedomainstmt) { return visitor.visitCreatedomainstmt(this); } else { return visitor.visitChildren(this); } } } export class AlterdomainstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_DOMAIN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DOMAIN, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } public alter_column_default(): Alter_column_defaultContext | undefined { return this.tryGetRuleContext(0, Alter_column_defaultContext); } public KW_DROP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DROP, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public KW_ADD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADD, 0); } public tableconstraint(): TableconstraintContext | undefined { return this.tryGetRuleContext(0, TableconstraintContext); } public KW_CONSTRAINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTRAINT, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } public KW_VALIDATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALIDATE, 0); } public opt_if_exists(): Opt_if_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_existsContext); } public opt_drop_behavior(): Opt_drop_behaviorContext | undefined { return this.tryGetRuleContext(0, Opt_drop_behaviorContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alterdomainstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlterdomainstmt) { listener.enterAlterdomainstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlterdomainstmt) { listener.exitAlterdomainstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlterdomainstmt) { return visitor.visitAlterdomainstmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_asContext extends ParserRuleContext { public KW_AS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_as; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_as) { listener.enterOpt_as(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_as) { listener.exitOpt_as(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_as) { return visitor.visitOpt_as(this); } else { return visitor.visitChildren(this); } } } export class AltertsdictionarystmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALTER, 0); } public KW_TEXT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TEXT, 0); } public KW_SEARCH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SEARCH, 0); } public KW_DICTIONARY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DICTIONARY, 0); } public any_name(): Any_nameContext { return this.getRuleContext(0, Any_nameContext); } public definition(): DefinitionContext { return this.getRuleContext(0, DefinitionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_altertsdictionarystmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAltertsdictionarystmt) { listener.enterAltertsdictionarystmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAltertsdictionarystmt) { listener.exitAltertsdictionarystmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAltertsdictionarystmt) { return visitor.visitAltertsdictionarystmt(this); } else { return visitor.visitChildren(this); } } } export class AltertsconfigurationstmtContext extends ParserRuleContext { public KW_ALTER(): TerminalNode[]; public KW_ALTER(i: number): TerminalNode; public KW_ALTER(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_ALTER); } else { return this.getToken(PostgreSQLParser.KW_ALTER, i); } } public KW_TEXT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TEXT, 0); } public KW_SEARCH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SEARCH, 0); } public KW_CONFIGURATION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CONFIGURATION, 0); } public any_name(): Any_nameContext[]; public any_name(i: number): Any_nameContext; public any_name(i?: number): Any_nameContext | Any_nameContext[] { if (i === undefined) { return this.getRuleContexts(Any_nameContext); } else { return this.getRuleContext(i, Any_nameContext); } } public KW_ADD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADD, 0); } public KW_MAPPING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_MAPPING, 0); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public name_list(): Name_listContext | undefined { return this.tryGetRuleContext(0, Name_listContext); } public any_with(): Any_withContext | undefined { return this.tryGetRuleContext(0, Any_withContext); } public any_name_list(): Any_name_listContext | undefined { return this.tryGetRuleContext(0, Any_name_listContext); } public KW_REPLACE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REPLACE, 0); } public KW_DROP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DROP, 0); } public opt_if_exists(): Opt_if_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_existsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_altertsconfigurationstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAltertsconfigurationstmt) { listener.enterAltertsconfigurationstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAltertsconfigurationstmt) { listener.exitAltertsconfigurationstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAltertsconfigurationstmt) { return visitor.visitAltertsconfigurationstmt(this); } else { return visitor.visitChildren(this); } } } export class Any_withContext extends ParserRuleContext { public KW_WITH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WITH, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_any_with; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAny_with) { listener.enterAny_with(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAny_with) { listener.exitAny_with(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAny_with) { return visitor.visitAny_with(this); } else { return visitor.visitChildren(this); } } } export class CreateconversionstmtContext extends ParserRuleContext { public KW_CREATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CREATE, 0); } public KW_CONVERSION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CONVERSION, 0); } public any_name(): Any_nameContext[]; public any_name(i: number): Any_nameContext; public any_name(i?: number): Any_nameContext | Any_nameContext[] { if (i === undefined) { return this.getRuleContexts(Any_nameContext); } else { return this.getRuleContext(i, Any_nameContext); } } public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public sconst(): SconstContext[]; public sconst(i: number): SconstContext; public sconst(i?: number): SconstContext | SconstContext[] { if (i === undefined) { return this.getRuleContexts(SconstContext); } else { return this.getRuleContext(i, SconstContext); } } public KW_TO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TO, 0); } public KW_FROM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FROM, 0); } public opt_default(): Opt_defaultContext | undefined { return this.tryGetRuleContext(0, Opt_defaultContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_createconversionstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCreateconversionstmt) { listener.enterCreateconversionstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCreateconversionstmt) { listener.exitCreateconversionstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCreateconversionstmt) { return visitor.visitCreateconversionstmt(this); } else { return visitor.visitChildren(this); } } } export class ClusterstmtContext extends ParserRuleContext { public KW_CLUSTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CLUSTER, 0); } public table_name(): Table_nameContext | undefined { return this.tryGetRuleContext(0, Table_nameContext); } public opt_verbose(): Opt_verboseContext | undefined { return this.tryGetRuleContext(0, Opt_verboseContext); } public cluster_index_specification(): Cluster_index_specificationContext | undefined { return this.tryGetRuleContext(0, Cluster_index_specificationContext); } public opt_verbose_list(): Opt_verbose_listContext | undefined { return this.tryGetRuleContext(0, Opt_verbose_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_clusterstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterClusterstmt) { listener.enterClusterstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitClusterstmt) { listener.exitClusterstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitClusterstmt) { return visitor.visitClusterstmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_verbose_listContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public opt_verbose(): Opt_verboseContext[]; public opt_verbose(i: number): Opt_verboseContext; public opt_verbose(i?: number): Opt_verboseContext | Opt_verboseContext[] { if (i === undefined) { return this.getRuleContexts(Opt_verboseContext); } else { return this.getRuleContext(i, Opt_verboseContext); } } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_verbose_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_verbose_list) { listener.enterOpt_verbose_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_verbose_list) { listener.exitOpt_verbose_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_verbose_list) { return visitor.visitOpt_verbose_list(this); } else { return visitor.visitChildren(this); } } } export class Cluster_index_specificationContext extends ParserRuleContext { public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_cluster_index_specification; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCluster_index_specification) { listener.enterCluster_index_specification(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCluster_index_specification) { listener.exitCluster_index_specification(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCluster_index_specification) { return visitor.visitCluster_index_specification(this); } else { return visitor.visitChildren(this); } } } export class VacuumstmtContext extends ParserRuleContext { public KW_VACUUM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_VACUUM, 0); } public opt_full(): Opt_fullContext | undefined { return this.tryGetRuleContext(0, Opt_fullContext); } public opt_freeze(): Opt_freezeContext | undefined { return this.tryGetRuleContext(0, Opt_freezeContext); } public opt_verbose(): Opt_verboseContext | undefined { return this.tryGetRuleContext(0, Opt_verboseContext); } public opt_analyze(): Opt_analyzeContext | undefined { return this.tryGetRuleContext(0, Opt_analyzeContext); } public opt_vacuum_relation_list(): Opt_vacuum_relation_listContext | undefined { return this.tryGetRuleContext(0, Opt_vacuum_relation_listContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public vac_analyze_option_list(): Vac_analyze_option_listContext | undefined { return this.tryGetRuleContext(0, Vac_analyze_option_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_vacuumstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterVacuumstmt) { listener.enterVacuumstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitVacuumstmt) { listener.exitVacuumstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitVacuumstmt) { return visitor.visitVacuumstmt(this); } else { return visitor.visitChildren(this); } } } export class AnalyzestmtContext extends ParserRuleContext { public analyze_keyword(): Analyze_keywordContext { return this.getRuleContext(0, Analyze_keywordContext); } public opt_verbose(): Opt_verboseContext | undefined { return this.tryGetRuleContext(0, Opt_verboseContext); } public opt_vacuum_relation_list(): Opt_vacuum_relation_listContext | undefined { return this.tryGetRuleContext(0, Opt_vacuum_relation_listContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public analyze_options_list(): Analyze_options_listContext | undefined { return this.tryGetRuleContext(0, Analyze_options_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_analyzestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAnalyzestmt) { listener.enterAnalyzestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAnalyzestmt) { listener.exitAnalyzestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAnalyzestmt) { return visitor.visitAnalyzestmt(this); } else { return visitor.visitChildren(this); } } } export class Vac_analyze_option_listContext extends ParserRuleContext { public vac_analyze_option_elem(): Vac_analyze_option_elemContext[]; public vac_analyze_option_elem(i: number): Vac_analyze_option_elemContext; public vac_analyze_option_elem(i?: number): Vac_analyze_option_elemContext | Vac_analyze_option_elemContext[] { if (i === undefined) { return this.getRuleContexts(Vac_analyze_option_elemContext); } else { return this.getRuleContext(i, Vac_analyze_option_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_vac_analyze_option_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterVac_analyze_option_list) { listener.enterVac_analyze_option_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitVac_analyze_option_list) { listener.exitVac_analyze_option_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitVac_analyze_option_list) { return visitor.visitVac_analyze_option_list(this); } else { return visitor.visitChildren(this); } } } export class Analyze_keywordContext extends ParserRuleContext { public KW_ANALYZE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ANALYZE, 0); } public KW_ANALYSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ANALYSE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_analyze_keyword; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAnalyze_keyword) { listener.enterAnalyze_keyword(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAnalyze_keyword) { listener.exitAnalyze_keyword(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAnalyze_keyword) { return visitor.visitAnalyze_keyword(this); } else { return visitor.visitChildren(this); } } } export class Vac_analyze_option_elemContext extends ParserRuleContext { public vac_analyze_option_name(): Vac_analyze_option_nameContext { return this.getRuleContext(0, Vac_analyze_option_nameContext); } public vac_analyze_option_arg(): Vac_analyze_option_argContext | undefined { return this.tryGetRuleContext(0, Vac_analyze_option_argContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_vac_analyze_option_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterVac_analyze_option_elem) { listener.enterVac_analyze_option_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitVac_analyze_option_elem) { listener.exitVac_analyze_option_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitVac_analyze_option_elem) { return visitor.visitVac_analyze_option_elem(this); } else { return visitor.visitChildren(this); } } } export class Vac_analyze_option_nameContext extends ParserRuleContext { public nonreservedword(): NonreservedwordContext | undefined { return this.tryGetRuleContext(0, NonreservedwordContext); } public analyze_keyword(): Analyze_keywordContext | undefined { return this.tryGetRuleContext(0, Analyze_keywordContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_vac_analyze_option_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterVac_analyze_option_name) { listener.enterVac_analyze_option_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitVac_analyze_option_name) { listener.exitVac_analyze_option_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitVac_analyze_option_name) { return visitor.visitVac_analyze_option_name(this); } else { return visitor.visitChildren(this); } } } export class Vac_analyze_option_argContext extends ParserRuleContext { public opt_boolean_or_string(): Opt_boolean_or_stringContext | undefined { return this.tryGetRuleContext(0, Opt_boolean_or_stringContext); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_vac_analyze_option_arg; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterVac_analyze_option_arg) { listener.enterVac_analyze_option_arg(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitVac_analyze_option_arg) { listener.exitVac_analyze_option_arg(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitVac_analyze_option_arg) { return visitor.visitVac_analyze_option_arg(this); } else { return visitor.visitChildren(this); } } } export class Opt_analyzeContext extends ParserRuleContext { public analyze_keyword(): Analyze_keywordContext { return this.getRuleContext(0, Analyze_keywordContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_analyze; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_analyze) { listener.enterOpt_analyze(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_analyze) { listener.exitOpt_analyze(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_analyze) { return visitor.visitOpt_analyze(this); } else { return visitor.visitChildren(this); } } } export class Analyze_options_listContext extends ParserRuleContext { public analyze_option_elem(): Analyze_option_elemContext[]; public analyze_option_elem(i: number): Analyze_option_elemContext; public analyze_option_elem(i?: number): Analyze_option_elemContext | Analyze_option_elemContext[] { if (i === undefined) { return this.getRuleContexts(Analyze_option_elemContext); } else { return this.getRuleContext(i, Analyze_option_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_analyze_options_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAnalyze_options_list) { listener.enterAnalyze_options_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAnalyze_options_list) { listener.exitAnalyze_options_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAnalyze_options_list) { return visitor.visitAnalyze_options_list(this); } else { return visitor.visitChildren(this); } } } export class Analyze_option_elemContext extends ParserRuleContext { public opt_verbose(): Opt_verboseContext | undefined { return this.tryGetRuleContext(0, Opt_verboseContext); } public opt_skiplock(): Opt_skiplockContext | undefined { return this.tryGetRuleContext(0, Opt_skiplockContext); } public opt_buffer_usage_limit(): Opt_buffer_usage_limitContext | undefined { return this.tryGetRuleContext(0, Opt_buffer_usage_limitContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_analyze_option_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAnalyze_option_elem) { listener.enterAnalyze_option_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAnalyze_option_elem) { listener.exitAnalyze_option_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAnalyze_option_elem) { return visitor.visitAnalyze_option_elem(this); } else { return visitor.visitChildren(this); } } } export class Opt_verboseContext extends ParserRuleContext { public KW_VERBOSE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_VERBOSE, 0); } public KW_FALSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FALSE, 0); } public KW_TRUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRUE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_verbose; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_verbose) { listener.enterOpt_verbose(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_verbose) { listener.exitOpt_verbose(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_verbose) { return visitor.visitOpt_verbose(this); } else { return visitor.visitChildren(this); } } } export class Opt_skiplockContext extends ParserRuleContext { public KW_SKIP_LOCKED(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SKIP_LOCKED, 0); } public KW_FALSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FALSE, 0); } public KW_TRUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRUE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_skiplock; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_skiplock) { listener.enterOpt_skiplock(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_skiplock) { listener.exitOpt_skiplock(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_skiplock) { return visitor.visitOpt_skiplock(this); } else { return visitor.visitChildren(this); } } } export class Opt_buffer_usage_limitContext extends ParserRuleContext { public KW_BUFFER_USAGE_LIMIT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BUFFER_USAGE_LIMIT, 0); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_buffer_usage_limit; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_buffer_usage_limit) { listener.enterOpt_buffer_usage_limit(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_buffer_usage_limit) { listener.exitOpt_buffer_usage_limit(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_buffer_usage_limit) { return visitor.visitOpt_buffer_usage_limit(this); } else { return visitor.visitChildren(this); } } } export class Opt_fullContext extends ParserRuleContext { public KW_FULL(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FULL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_full; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_full) { listener.enterOpt_full(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_full) { listener.exitOpt_full(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_full) { return visitor.visitOpt_full(this); } else { return visitor.visitChildren(this); } } } export class Opt_freezeContext extends ParserRuleContext { public KW_FREEZE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FREEZE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_freeze; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_freeze) { listener.enterOpt_freeze(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_freeze) { listener.exitOpt_freeze(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_freeze) { return visitor.visitOpt_freeze(this); } else { return visitor.visitChildren(this); } } } export class Opt_name_listContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public columnlist(): ColumnlistContext { return this.getRuleContext(0, ColumnlistContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_name_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_name_list) { listener.enterOpt_name_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_name_list) { listener.exitOpt_name_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_name_list) { return visitor.visitOpt_name_list(this); } else { return visitor.visitChildren(this); } } } export class Vacuum_relationContext extends ParserRuleContext { public table_name(): Table_nameContext { return this.getRuleContext(0, Table_nameContext); } public opt_name_list(): Opt_name_listContext | undefined { return this.tryGetRuleContext(0, Opt_name_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_vacuum_relation; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterVacuum_relation) { listener.enterVacuum_relation(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitVacuum_relation) { listener.exitVacuum_relation(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitVacuum_relation) { return visitor.visitVacuum_relation(this); } else { return visitor.visitChildren(this); } } } export class Vacuum_relation_listContext extends ParserRuleContext { public vacuum_relation(): Vacuum_relationContext[]; public vacuum_relation(i: number): Vacuum_relationContext; public vacuum_relation(i?: number): Vacuum_relationContext | Vacuum_relationContext[] { if (i === undefined) { return this.getRuleContexts(Vacuum_relationContext); } else { return this.getRuleContext(i, Vacuum_relationContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_vacuum_relation_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterVacuum_relation_list) { listener.enterVacuum_relation_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitVacuum_relation_list) { listener.exitVacuum_relation_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitVacuum_relation_list) { return visitor.visitVacuum_relation_list(this); } else { return visitor.visitChildren(this); } } } export class Opt_vacuum_relation_listContext extends ParserRuleContext { public vacuum_relation_list(): Vacuum_relation_listContext { return this.getRuleContext(0, Vacuum_relation_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_vacuum_relation_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_vacuum_relation_list) { listener.enterOpt_vacuum_relation_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_vacuum_relation_list) { listener.exitOpt_vacuum_relation_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_vacuum_relation_list) { return visitor.visitOpt_vacuum_relation_list(this); } else { return visitor.visitChildren(this); } } } export class ExplainstmtContext extends ParserRuleContext { public KW_EXPLAIN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXPLAIN, 0); } public explainablestmt(): ExplainablestmtContext { return this.getRuleContext(0, ExplainablestmtContext); } public analyze_keyword(): Analyze_keywordContext | undefined { return this.tryGetRuleContext(0, Analyze_keywordContext); } public opt_verbose(): Opt_verboseContext | undefined { return this.tryGetRuleContext(0, Opt_verboseContext); } public KW_VERBOSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VERBOSE, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public explain_option_list(): Explain_option_listContext | undefined { return this.tryGetRuleContext(0, Explain_option_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_explainstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExplainstmt) { listener.enterExplainstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExplainstmt) { listener.exitExplainstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExplainstmt) { return visitor.visitExplainstmt(this); } else { return visitor.visitChildren(this); } } } export class ExplainablestmtContext extends ParserRuleContext { public selectstmt(): SelectstmtContext | undefined { return this.tryGetRuleContext(0, SelectstmtContext); } public insertstmt(): InsertstmtContext | undefined { return this.tryGetRuleContext(0, InsertstmtContext); } public updatestmt(): UpdatestmtContext | undefined { return this.tryGetRuleContext(0, UpdatestmtContext); } public deletestmt(): DeletestmtContext | undefined { return this.tryGetRuleContext(0, DeletestmtContext); } public declarecursorstmt(): DeclarecursorstmtContext | undefined { return this.tryGetRuleContext(0, DeclarecursorstmtContext); } public createasstmt(): CreateasstmtContext | undefined { return this.tryGetRuleContext(0, CreateasstmtContext); } public creatematviewstmt(): CreatematviewstmtContext | undefined { return this.tryGetRuleContext(0, CreatematviewstmtContext); } public refreshmatviewstmt(): RefreshmatviewstmtContext | undefined { return this.tryGetRuleContext(0, RefreshmatviewstmtContext); } public executestmt(): ExecutestmtContext | undefined { return this.tryGetRuleContext(0, ExecutestmtContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_explainablestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExplainablestmt) { listener.enterExplainablestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExplainablestmt) { listener.exitExplainablestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExplainablestmt) { return visitor.visitExplainablestmt(this); } else { return visitor.visitChildren(this); } } } export class Explain_option_listContext extends ParserRuleContext { public explain_option_elem(): Explain_option_elemContext[]; public explain_option_elem(i: number): Explain_option_elemContext; public explain_option_elem(i?: number): Explain_option_elemContext | Explain_option_elemContext[] { if (i === undefined) { return this.getRuleContexts(Explain_option_elemContext); } else { return this.getRuleContext(i, Explain_option_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_explain_option_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExplain_option_list) { listener.enterExplain_option_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExplain_option_list) { listener.exitExplain_option_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExplain_option_list) { return visitor.visitExplain_option_list(this); } else { return visitor.visitChildren(this); } } } export class Explain_option_elemContext extends ParserRuleContext { public explain_option_name(): Explain_option_nameContext { return this.getRuleContext(0, Explain_option_nameContext); } public explain_option_arg(): Explain_option_argContext | undefined { return this.tryGetRuleContext(0, Explain_option_argContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_explain_option_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExplain_option_elem) { listener.enterExplain_option_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExplain_option_elem) { listener.exitExplain_option_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExplain_option_elem) { return visitor.visitExplain_option_elem(this); } else { return visitor.visitChildren(this); } } } export class Explain_option_nameContext extends ParserRuleContext { public nonreservedword(): NonreservedwordContext | undefined { return this.tryGetRuleContext(0, NonreservedwordContext); } public analyze_keyword(): Analyze_keywordContext | undefined { return this.tryGetRuleContext(0, Analyze_keywordContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_explain_option_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExplain_option_name) { listener.enterExplain_option_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExplain_option_name) { listener.exitExplain_option_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExplain_option_name) { return visitor.visitExplain_option_name(this); } else { return visitor.visitChildren(this); } } } export class Explain_option_argContext extends ParserRuleContext { public opt_boolean_or_string(): Opt_boolean_or_stringContext | undefined { return this.tryGetRuleContext(0, Opt_boolean_or_stringContext); } public numericonly(): NumericonlyContext | undefined { return this.tryGetRuleContext(0, NumericonlyContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_explain_option_arg; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExplain_option_arg) { listener.enterExplain_option_arg(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExplain_option_arg) { listener.exitExplain_option_arg(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExplain_option_arg) { return visitor.visitExplain_option_arg(this); } else { return visitor.visitChildren(this); } } } export class PreparestmtContext extends ParserRuleContext { public KW_PREPARE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PREPARE, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public KW_AS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AS, 0); } public preparablestmt(): PreparablestmtContext { return this.getRuleContext(0, PreparablestmtContext); } public prep_type_clause(): Prep_type_clauseContext | undefined { return this.tryGetRuleContext(0, Prep_type_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_preparestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPreparestmt) { listener.enterPreparestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPreparestmt) { listener.exitPreparestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPreparestmt) { return visitor.visitPreparestmt(this); } else { return visitor.visitChildren(this); } } } export class Prep_type_clauseContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public type_list(): Type_listContext { return this.getRuleContext(0, Type_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_prep_type_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPrep_type_clause) { listener.enterPrep_type_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPrep_type_clause) { listener.exitPrep_type_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPrep_type_clause) { return visitor.visitPrep_type_clause(this); } else { return visitor.visitChildren(this); } } } export class PreparablestmtContext extends ParserRuleContext { public selectstmt(): SelectstmtContext | undefined { return this.tryGetRuleContext(0, SelectstmtContext); } public insertstmt(): InsertstmtContext | undefined { return this.tryGetRuleContext(0, InsertstmtContext); } public updatestmt(): UpdatestmtContext | undefined { return this.tryGetRuleContext(0, UpdatestmtContext); } public deletestmt(): DeletestmtContext | undefined { return this.tryGetRuleContext(0, DeletestmtContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_preparablestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPreparablestmt) { listener.enterPreparablestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPreparablestmt) { listener.exitPreparablestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPreparablestmt) { return visitor.visitPreparablestmt(this); } else { return visitor.visitChildren(this); } } } export class ExecutestmtContext extends ParserRuleContext { public KW_EXECUTE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXECUTE, 0); } public name(): NameContext { return this.getRuleContext(0, NameContext); } public execute_param_clause(): Execute_param_clauseContext | undefined { return this.tryGetRuleContext(0, Execute_param_clauseContext); } public KW_CREATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CREATE, 0); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public create_as_target(): Create_as_targetContext | undefined { return this.tryGetRuleContext(0, Create_as_targetContext); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public opttemp(): OpttempContext | undefined { return this.tryGetRuleContext(0, OpttempContext); } public opt_if_not_exists(): Opt_if_not_existsContext | undefined { return this.tryGetRuleContext(0, Opt_if_not_existsContext); } public opt_with_data(): Opt_with_dataContext | undefined { return this.tryGetRuleContext(0, Opt_with_dataContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_executestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExecutestmt) { listener.enterExecutestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExecutestmt) { listener.exitExecutestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExecutestmt) { return visitor.visitExecutestmt(this); } else { return visitor.visitChildren(this); } } } export class Execute_param_clauseContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public expr_list(): Expr_listContext { return this.getRuleContext(0, Expr_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_execute_param_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExecute_param_clause) { listener.enterExecute_param_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExecute_param_clause) { listener.exitExecute_param_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExecute_param_clause) { return visitor.visitExecute_param_clause(this); } else { return visitor.visitChildren(this); } } } export class DeallocatestmtContext extends ParserRuleContext { public KW_DEALLOCATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DEALLOCATE, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } public KW_PREPARE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PREPARE, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_deallocatestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDeallocatestmt) { listener.enterDeallocatestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDeallocatestmt) { listener.exitDeallocatestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDeallocatestmt) { return visitor.visitDeallocatestmt(this); } else { return visitor.visitChildren(this); } } } export class InsertstmtContext extends ParserRuleContext { public KW_INSERT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INSERT, 0); } public KW_INTO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INTO, 0); } public insert_target(): Insert_targetContext { return this.getRuleContext(0, Insert_targetContext); } public insert_rest(): Insert_restContext { return this.getRuleContext(0, Insert_restContext); } public opt_with_clause(): Opt_with_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_with_clauseContext); } public opt_on_conflict(): Opt_on_conflictContext | undefined { return this.tryGetRuleContext(0, Opt_on_conflictContext); } public returning_clause(): Returning_clauseContext | undefined { return this.tryGetRuleContext(0, Returning_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_insertstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterInsertstmt) { listener.enterInsertstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitInsertstmt) { listener.exitInsertstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitInsertstmt) { return visitor.visitInsertstmt(this); } else { return visitor.visitChildren(this); } } } export class Insert_targetContext extends ParserRuleContext { public table_name(): Table_nameContext { return this.getRuleContext(0, Table_nameContext); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_insert_target; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterInsert_target) { listener.enterInsert_target(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitInsert_target) { listener.exitInsert_target(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitInsert_target) { return visitor.visitInsert_target(this); } else { return visitor.visitChildren(this); } } } export class Insert_restContext extends ParserRuleContext { public default_values_or_values(): Default_values_or_valuesContext | undefined { return this.tryGetRuleContext(0, Default_values_or_valuesContext); } public selectstmt(): SelectstmtContext | undefined { return this.tryGetRuleContext(0, SelectstmtContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public insert_column_list(): Insert_column_listContext | undefined { return this.tryGetRuleContext(0, Insert_column_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_OVERRIDING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OVERRIDING, 0); } public override_kind(): Override_kindContext | undefined { return this.tryGetRuleContext(0, Override_kindContext); } public KW_VALUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALUE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_insert_rest; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterInsert_rest) { listener.enterInsert_rest(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitInsert_rest) { listener.exitInsert_rest(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitInsert_rest) { return visitor.visitInsert_rest(this); } else { return visitor.visitChildren(this); } } } export class Override_kindContext extends ParserRuleContext { public KW_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USER, 0); } public KW_SYSTEM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SYSTEM, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_override_kind; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOverride_kind) { listener.enterOverride_kind(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOverride_kind) { listener.exitOverride_kind(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOverride_kind) { return visitor.visitOverride_kind(this); } else { return visitor.visitChildren(this); } } } export class Insert_column_listContext extends ParserRuleContext { public insert_column_item(): Insert_column_itemContext[]; public insert_column_item(i: number): Insert_column_itemContext; public insert_column_item(i?: number): Insert_column_itemContext | Insert_column_itemContext[] { if (i === undefined) { return this.getRuleContexts(Insert_column_itemContext); } else { return this.getRuleContext(i, Insert_column_itemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_insert_column_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterInsert_column_list) { listener.enterInsert_column_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitInsert_column_list) { listener.exitInsert_column_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitInsert_column_list) { return visitor.visitInsert_column_list(this); } else { return visitor.visitChildren(this); } } } export class Insert_column_itemContext extends ParserRuleContext { public column_name(): Column_nameContext { return this.getRuleContext(0, Column_nameContext); } public opt_indirection(): Opt_indirectionContext { return this.getRuleContext(0, Opt_indirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_insert_column_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterInsert_column_item) { listener.enterInsert_column_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitInsert_column_item) { listener.exitInsert_column_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitInsert_column_item) { return visitor.visitInsert_column_item(this); } else { return visitor.visitChildren(this); } } } export class Opt_on_conflictContext extends ParserRuleContext { public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public KW_CONFLICT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CONFLICT, 0); } public KW_DO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DO, 0); } public KW_UPDATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UPDATE, 0); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public set_clause_list(): Set_clause_listContext | undefined { return this.tryGetRuleContext(0, Set_clause_listContext); } public KW_NOTHING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOTHING, 0); } public opt_conf_expr(): Opt_conf_exprContext | undefined { return this.tryGetRuleContext(0, Opt_conf_exprContext); } public where_clause(): Where_clauseContext | undefined { return this.tryGetRuleContext(0, Where_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_on_conflict; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_on_conflict) { listener.enterOpt_on_conflict(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_on_conflict) { listener.exitOpt_on_conflict(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_on_conflict) { return visitor.visitOpt_on_conflict(this); } else { return visitor.visitChildren(this); } } } export class Opt_conf_exprContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public index_params(): Index_paramsContext | undefined { return this.tryGetRuleContext(0, Index_paramsContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public where_clause(): Where_clauseContext | undefined { return this.tryGetRuleContext(0, Where_clauseContext); } public KW_ON(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ON, 0); } public KW_CONSTRAINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTRAINT, 0); } public name(): NameContext | undefined { return this.tryGetRuleContext(0, NameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_conf_expr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_conf_expr) { listener.enterOpt_conf_expr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_conf_expr) { listener.exitOpt_conf_expr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_conf_expr) { return visitor.visitOpt_conf_expr(this); } else { return visitor.visitChildren(this); } } } export class Returning_clauseContext extends ParserRuleContext { public KW_RETURNING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_RETURNING, 0); } public target_list(): Target_listContext { return this.getRuleContext(0, Target_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_returning_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterReturning_clause) { listener.enterReturning_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitReturning_clause) { listener.exitReturning_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitReturning_clause) { return visitor.visitReturning_clause(this); } else { return visitor.visitChildren(this); } } } export class DeletestmtContext extends ParserRuleContext { public KW_DELETE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DELETE, 0); } public KW_FROM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FROM, 0); } public relation_expr_opt_alias(): Relation_expr_opt_aliasContext { return this.getRuleContext(0, Relation_expr_opt_aliasContext); } public opt_with_clause(): Opt_with_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_with_clauseContext); } public using_clause(): Using_clauseContext | undefined { return this.tryGetRuleContext(0, Using_clauseContext); } public where_or_current_clause(): Where_or_current_clauseContext | undefined { return this.tryGetRuleContext(0, Where_or_current_clauseContext); } public returning_clause(): Returning_clauseContext | undefined { return this.tryGetRuleContext(0, Returning_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_deletestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDeletestmt) { listener.enterDeletestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDeletestmt) { listener.exitDeletestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDeletestmt) { return visitor.visitDeletestmt(this); } else { return visitor.visitChildren(this); } } } export class Using_clauseContext extends ParserRuleContext { public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } public from_list(): From_listContext { return this.getRuleContext(0, From_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_using_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterUsing_clause) { listener.enterUsing_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitUsing_clause) { listener.exitUsing_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitUsing_clause) { return visitor.visitUsing_clause(this); } else { return visitor.visitChildren(this); } } } export class LockstmtContext extends ParserRuleContext { public KW_LOCK(): TerminalNode { return this.getToken(PostgreSQLParser.KW_LOCK, 0); } public relation_expr_list(): Relation_expr_listContext { return this.getRuleContext(0, Relation_expr_listContext); } public opt_table(): Opt_tableContext | undefined { return this.tryGetRuleContext(0, Opt_tableContext); } public opt_lock(): Opt_lockContext | undefined { return this.tryGetRuleContext(0, Opt_lockContext); } public opt_nowait(): Opt_nowaitContext | undefined { return this.tryGetRuleContext(0, Opt_nowaitContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_lockstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterLockstmt) { listener.enterLockstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitLockstmt) { listener.exitLockstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitLockstmt) { return visitor.visitLockstmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_lockContext extends ParserRuleContext { public KW_IN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_IN, 0); } public lock_type(): Lock_typeContext { return this.getRuleContext(0, Lock_typeContext); } public KW_MODE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_MODE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_lock; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_lock) { listener.enterOpt_lock(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_lock) { listener.exitOpt_lock(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_lock) { return visitor.visitOpt_lock(this); } else { return visitor.visitChildren(this); } } } export class Lock_typeContext extends ParserRuleContext { public KW_ACCESS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ACCESS, 0); } public KW_SHARE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SHARE, 0); } public KW_EXCLUSIVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXCLUSIVE, 0); } public KW_ROW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROW, 0); } public KW_UPDATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UPDATE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_lock_type; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterLock_type) { listener.enterLock_type(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitLock_type) { listener.exitLock_type(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitLock_type) { return visitor.visitLock_type(this); } else { return visitor.visitChildren(this); } } } export class Opt_nowaitContext extends ParserRuleContext { public KW_NOWAIT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_NOWAIT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_nowait; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_nowait) { listener.enterOpt_nowait(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_nowait) { listener.exitOpt_nowait(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_nowait) { return visitor.visitOpt_nowait(this); } else { return visitor.visitChildren(this); } } } export class Opt_nowait_or_skipContext extends ParserRuleContext { public KW_NOWAIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOWAIT, 0); } public KW_SKIP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SKIP, 0); } public KW_LOCKED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCKED, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_nowait_or_skip; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_nowait_or_skip) { listener.enterOpt_nowait_or_skip(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_nowait_or_skip) { listener.exitOpt_nowait_or_skip(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_nowait_or_skip) { return visitor.visitOpt_nowait_or_skip(this); } else { return visitor.visitChildren(this); } } } export class UpdatestmtContext extends ParserRuleContext { public KW_UPDATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_UPDATE, 0); } public relation_expr_opt_alias(): Relation_expr_opt_aliasContext { return this.getRuleContext(0, Relation_expr_opt_aliasContext); } public KW_SET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SET, 0); } public set_clause_list(): Set_clause_listContext { return this.getRuleContext(0, Set_clause_listContext); } public opt_with_clause(): Opt_with_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_with_clauseContext); } public from_clause(): From_clauseContext | undefined { return this.tryGetRuleContext(0, From_clauseContext); } public where_or_current_clause(): Where_or_current_clauseContext | undefined { return this.tryGetRuleContext(0, Where_or_current_clauseContext); } public returning_clause(): Returning_clauseContext | undefined { return this.tryGetRuleContext(0, Returning_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_updatestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterUpdatestmt) { listener.enterUpdatestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitUpdatestmt) { listener.exitUpdatestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitUpdatestmt) { return visitor.visitUpdatestmt(this); } else { return visitor.visitChildren(this); } } } export class Set_clause_listContext extends ParserRuleContext { public set_clause(): Set_clauseContext[]; public set_clause(i: number): Set_clauseContext; public set_clause(i?: number): Set_clauseContext | Set_clauseContext[] { if (i === undefined) { return this.getRuleContexts(Set_clauseContext); } else { return this.getRuleContext(i, Set_clauseContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_set_clause_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSet_clause_list) { listener.enterSet_clause_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSet_clause_list) { listener.exitSet_clause_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSet_clause_list) { return visitor.visitSet_clause_list(this); } else { return visitor.visitChildren(this); } } } export class Set_clauseContext extends ParserRuleContext { public set_target(): Set_targetContext | undefined { return this.tryGetRuleContext(0, Set_targetContext); } public EQUAL(): TerminalNode { return this.getToken(PostgreSQLParser.EQUAL, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public OPEN_PAREN(): TerminalNode[]; public OPEN_PAREN(i: number): TerminalNode; public OPEN_PAREN(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.OPEN_PAREN); } else { return this.getToken(PostgreSQLParser.OPEN_PAREN, i); } } public set_target_list(): Set_target_listContext | undefined { return this.tryGetRuleContext(0, Set_target_listContext); } public CLOSE_PAREN(): TerminalNode[]; public CLOSE_PAREN(i: number): TerminalNode; public CLOSE_PAREN(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.CLOSE_PAREN); } else { return this.getToken(PostgreSQLParser.CLOSE_PAREN, i); } } public select_clause(): Select_clauseContext | undefined { return this.tryGetRuleContext(0, Select_clauseContext); } public KW_ROW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROW, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_set_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSet_clause) { listener.enterSet_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSet_clause) { listener.exitSet_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSet_clause) { return visitor.visitSet_clause(this); } else { return visitor.visitChildren(this); } } } export class Set_targetContext extends ParserRuleContext { public column_name(): Column_nameContext { return this.getRuleContext(0, Column_nameContext); } public opt_indirection(): Opt_indirectionContext { return this.getRuleContext(0, Opt_indirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_set_target; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSet_target) { listener.enterSet_target(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSet_target) { listener.exitSet_target(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSet_target) { return visitor.visitSet_target(this); } else { return visitor.visitChildren(this); } } } export class Set_target_listContext extends ParserRuleContext { public set_target(): Set_targetContext[]; public set_target(i: number): Set_targetContext; public set_target(i?: number): Set_targetContext | Set_targetContext[] { if (i === undefined) { return this.getRuleContexts(Set_targetContext); } else { return this.getRuleContext(i, Set_targetContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_set_target_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSet_target_list) { listener.enterSet_target_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSet_target_list) { listener.exitSet_target_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSet_target_list) { return visitor.visitSet_target_list(this); } else { return visitor.visitChildren(this); } } } export class DeclarecursorstmtContext extends ParserRuleContext { public KW_DECLARE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DECLARE, 0); } public cursor_name(): Cursor_nameContext { return this.getRuleContext(0, Cursor_nameContext); } public cursor_options(): Cursor_optionsContext { return this.getRuleContext(0, Cursor_optionsContext); } public KW_CURSOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CURSOR, 0); } public opt_hold(): Opt_holdContext { return this.getRuleContext(0, Opt_holdContext); } public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public selectstmt(): SelectstmtContext { return this.getRuleContext(0, SelectstmtContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_declarecursorstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDeclarecursorstmt) { listener.enterDeclarecursorstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDeclarecursorstmt) { listener.exitDeclarecursorstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDeclarecursorstmt) { return visitor.visitDeclarecursorstmt(this); } else { return visitor.visitChildren(this); } } } export class Cursor_nameContext extends ParserRuleContext { public name(): NameContext { return this.getRuleContext(0, NameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_cursor_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCursor_name) { listener.enterCursor_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCursor_name) { listener.exitCursor_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCursor_name) { return visitor.visitCursor_name(this); } else { return visitor.visitChildren(this); } } } export class Cursor_optionsContext extends ParserRuleContext { public KW_NO(): TerminalNode[]; public KW_NO(i: number): TerminalNode; public KW_NO(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_NO); } else { return this.getToken(PostgreSQLParser.KW_NO, i); } } public KW_SCROLL(): TerminalNode[]; public KW_SCROLL(i: number): TerminalNode; public KW_SCROLL(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_SCROLL); } else { return this.getToken(PostgreSQLParser.KW_SCROLL, i); } } public KW_BINARY(): TerminalNode[]; public KW_BINARY(i: number): TerminalNode; public KW_BINARY(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_BINARY); } else { return this.getToken(PostgreSQLParser.KW_BINARY, i); } } public KW_INSENSITIVE(): TerminalNode[]; public KW_INSENSITIVE(i: number): TerminalNode; public KW_INSENSITIVE(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_INSENSITIVE); } else { return this.getToken(PostgreSQLParser.KW_INSENSITIVE, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_cursor_options; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCursor_options) { listener.enterCursor_options(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCursor_options) { listener.exitCursor_options(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCursor_options) { return visitor.visitCursor_options(this); } else { return visitor.visitChildren(this); } } } export class Opt_holdContext extends ParserRuleContext { public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } public KW_HOLD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_HOLD, 0); } public KW_WITHOUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITHOUT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_hold; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_hold) { listener.enterOpt_hold(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_hold) { listener.exitOpt_hold(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_hold) { return visitor.visitOpt_hold(this); } else { return visitor.visitChildren(this); } } } export class SelectstmtContext extends ParserRuleContext { public select_no_parens(): Select_no_parensContext | undefined { return this.tryGetRuleContext(0, Select_no_parensContext); } public select_with_parens(): Select_with_parensContext | undefined { return this.tryGetRuleContext(0, Select_with_parensContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_selectstmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSelectstmt) { listener.enterSelectstmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSelectstmt) { listener.exitSelectstmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSelectstmt) { return visitor.visitSelectstmt(this); } else { return visitor.visitChildren(this); } } } export class Select_with_parensContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public select_no_parens(): Select_no_parensContext | undefined { return this.tryGetRuleContext(0, Select_no_parensContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public select_with_parens(): Select_with_parensContext | undefined { return this.tryGetRuleContext(0, Select_with_parensContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_select_with_parens; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSelect_with_parens) { listener.enterSelect_with_parens(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSelect_with_parens) { listener.exitSelect_with_parens(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSelect_with_parens) { return visitor.visitSelect_with_parens(this); } else { return visitor.visitChildren(this); } } } export class Select_no_parensContext extends ParserRuleContext { public select_clause(): Select_clauseContext { return this.getRuleContext(0, Select_clauseContext); } public opt_sort_clause(): Opt_sort_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_sort_clauseContext); } public for_locking_clause(): For_locking_clauseContext | undefined { return this.tryGetRuleContext(0, For_locking_clauseContext); } public select_limit(): Select_limitContext | undefined { return this.tryGetRuleContext(0, Select_limitContext); } public opt_select_limit(): Opt_select_limitContext | undefined { return this.tryGetRuleContext(0, Opt_select_limitContext); } public opt_for_locking_clause(): Opt_for_locking_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_for_locking_clauseContext); } public with_clause(): With_clauseContext | undefined { return this.tryGetRuleContext(0, With_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_select_no_parens; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSelect_no_parens) { listener.enterSelect_no_parens(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSelect_no_parens) { listener.exitSelect_no_parens(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSelect_no_parens) { return visitor.visitSelect_no_parens(this); } else { return visitor.visitChildren(this); } } } export class Select_clauseContext extends ParserRuleContext { public simple_select(): Simple_selectContext | undefined { return this.tryGetRuleContext(0, Simple_selectContext); } public select_with_parens(): Select_with_parensContext | undefined { return this.tryGetRuleContext(0, Select_with_parensContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_select_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSelect_clause) { listener.enterSelect_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSelect_clause) { listener.exitSelect_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSelect_clause) { return visitor.visitSelect_clause(this); } else { return visitor.visitChildren(this); } } } export class Simple_selectContext extends ParserRuleContext { public KW_SELECT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SELECT, 0); } public values_clause(): Values_clauseContext | undefined { return this.tryGetRuleContext(0, Values_clauseContext); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public relation_expr(): Relation_exprContext | undefined { return this.tryGetRuleContext(0, Relation_exprContext); } public select_with_parens(): Select_with_parensContext[]; public select_with_parens(i: number): Select_with_parensContext; public select_with_parens(i?: number): Select_with_parensContext | Select_with_parensContext[] { if (i === undefined) { return this.getRuleContexts(Select_with_parensContext); } else { return this.getRuleContext(i, Select_with_parensContext); } } public set_operator_with_all_or_distinct(): Set_operator_with_all_or_distinctContext[]; public set_operator_with_all_or_distinct(i: number): Set_operator_with_all_or_distinctContext; public set_operator_with_all_or_distinct(i?: number): Set_operator_with_all_or_distinctContext | Set_operator_with_all_or_distinctContext[] { if (i === undefined) { return this.getRuleContexts(Set_operator_with_all_or_distinctContext); } else { return this.getRuleContext(i, Set_operator_with_all_or_distinctContext); } } public simple_select(): Simple_selectContext[]; public simple_select(i: number): Simple_selectContext; public simple_select(i?: number): Simple_selectContext | Simple_selectContext[] { if (i === undefined) { return this.getRuleContexts(Simple_selectContext); } else { return this.getRuleContext(i, Simple_selectContext); } } public into_clause(): Into_clauseContext[]; public into_clause(i: number): Into_clauseContext; public into_clause(i?: number): Into_clauseContext | Into_clauseContext[] { if (i === undefined) { return this.getRuleContexts(Into_clauseContext); } else { return this.getRuleContext(i, Into_clauseContext); } } public from_clause(): From_clauseContext | undefined { return this.tryGetRuleContext(0, From_clauseContext); } public where_clause(): Where_clauseContext | undefined { return this.tryGetRuleContext(0, Where_clauseContext); } public group_clause(): Group_clauseContext | undefined { return this.tryGetRuleContext(0, Group_clauseContext); } public having_clause(): Having_clauseContext | undefined { return this.tryGetRuleContext(0, Having_clauseContext); } public window_clause(): Window_clauseContext | undefined { return this.tryGetRuleContext(0, Window_clauseContext); } public opt_all_clause(): Opt_all_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_all_clauseContext); } public opt_target_list(): Opt_target_listContext | undefined { return this.tryGetRuleContext(0, Opt_target_listContext); } public distinct_clause(): Distinct_clauseContext | undefined { return this.tryGetRuleContext(0, Distinct_clauseContext); } public target_list(): Target_listContext | undefined { return this.tryGetRuleContext(0, Target_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_simple_select; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSimple_select) { listener.enterSimple_select(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSimple_select) { listener.exitSimple_select(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSimple_select) { return visitor.visitSimple_select(this); } else { return visitor.visitChildren(this); } } } export class Set_operatorContext extends ParserRuleContext { constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_set_operator; } public copyFrom(ctx: Set_operatorContext): void { super.copyFrom(ctx); } } export class UnionContext extends Set_operatorContext { public KW_UNION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_UNION, 0); } constructor(ctx: Set_operatorContext) { super(ctx.parent, ctx.invokingState); this.copyFrom(ctx); } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterUnion) { listener.enterUnion(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitUnion) { listener.exitUnion(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitUnion) { return visitor.visitUnion(this); } else { return visitor.visitChildren(this); } } } export class IntersectContext extends Set_operatorContext { public KW_INTERSECT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INTERSECT, 0); } constructor(ctx: Set_operatorContext) { super(ctx.parent, ctx.invokingState); this.copyFrom(ctx); } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIntersect) { listener.enterIntersect(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIntersect) { listener.exitIntersect(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIntersect) { return visitor.visitIntersect(this); } else { return visitor.visitChildren(this); } } } export class ExceptContext extends Set_operatorContext { public KW_EXCEPT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXCEPT, 0); } constructor(ctx: Set_operatorContext) { super(ctx.parent, ctx.invokingState); this.copyFrom(ctx); } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExcept) { listener.enterExcept(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExcept) { listener.exitExcept(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExcept) { return visitor.visitExcept(this); } else { return visitor.visitChildren(this); } } } export class Set_operator_with_all_or_distinctContext extends ParserRuleContext { public set_operator(): Set_operatorContext { return this.getRuleContext(0, Set_operatorContext); } public all_or_distinct(): All_or_distinctContext | undefined { return this.tryGetRuleContext(0, All_or_distinctContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_set_operator_with_all_or_distinct; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSet_operator_with_all_or_distinct) { listener.enterSet_operator_with_all_or_distinct(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSet_operator_with_all_or_distinct) { listener.exitSet_operator_with_all_or_distinct(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSet_operator_with_all_or_distinct) { return visitor.visitSet_operator_with_all_or_distinct(this); } else { return visitor.visitChildren(this); } } } export class With_clauseContext extends ParserRuleContext { public KW_WITH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WITH, 0); } public cte_list(): Cte_listContext { return this.getRuleContext(0, Cte_listContext); } public KW_RECURSIVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RECURSIVE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_with_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterWith_clause) { listener.enterWith_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitWith_clause) { listener.exitWith_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitWith_clause) { return visitor.visitWith_clause(this); } else { return visitor.visitChildren(this); } } } export class Cte_listContext extends ParserRuleContext { public common_table_expr(): Common_table_exprContext[]; public common_table_expr(i: number): Common_table_exprContext; public common_table_expr(i?: number): Common_table_exprContext | Common_table_exprContext[] { if (i === undefined) { return this.getRuleContexts(Common_table_exprContext); } else { return this.getRuleContext(i, Common_table_exprContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_cte_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCte_list) { listener.enterCte_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCte_list) { listener.exitCte_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCte_list) { return visitor.visitCte_list(this); } else { return visitor.visitChildren(this); } } } export class Common_table_exprContext extends ParserRuleContext { public name(): NameContext { return this.getRuleContext(0, NameContext); } public KW_AS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AS, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public preparablestmt(): PreparablestmtContext { return this.getRuleContext(0, PreparablestmtContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public opt_name_list(): Opt_name_listContext | undefined { return this.tryGetRuleContext(0, Opt_name_listContext); } public opt_materialized(): Opt_materializedContext | undefined { return this.tryGetRuleContext(0, Opt_materializedContext); } public search_cluase(): Search_cluaseContext | undefined { return this.tryGetRuleContext(0, Search_cluaseContext); } public cycle_cluase(): Cycle_cluaseContext | undefined { return this.tryGetRuleContext(0, Cycle_cluaseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_common_table_expr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCommon_table_expr) { listener.enterCommon_table_expr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCommon_table_expr) { listener.exitCommon_table_expr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCommon_table_expr) { return visitor.visitCommon_table_expr(this); } else { return visitor.visitChildren(this); } } } export class Search_cluaseContext extends ParserRuleContext { public KW_SEARCH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SEARCH, 0); } public KW_FIRST(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FIRST, 0); } public KW_BY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BY, 0); } public columnlist(): ColumnlistContext { return this.getRuleContext(0, ColumnlistContext); } public KW_SET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SET, 0); } public column_name(): Column_nameContext { return this.getRuleContext(0, Column_nameContext); } public KW_BREADTH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BREADTH, 0); } public KW_DEPTH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEPTH, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_search_cluase; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSearch_cluase) { listener.enterSearch_cluase(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSearch_cluase) { listener.exitSearch_cluase(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSearch_cluase) { return visitor.visitSearch_cluase(this); } else { return visitor.visitChildren(this); } } } export class Cycle_cluaseContext extends ParserRuleContext { public KW_CYCLE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CYCLE, 0); } public columnlist(): ColumnlistContext { return this.getRuleContext(0, ColumnlistContext); } public KW_SET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SET, 0); } public column_name(): Column_nameContext[]; public column_name(i: number): Column_nameContext; public column_name(i?: number): Column_nameContext | Column_nameContext[] { if (i === undefined) { return this.getRuleContexts(Column_nameContext); } else { return this.getRuleContext(i, Column_nameContext); } } public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public name(): NameContext[]; public name(i: number): NameContext; public name(i?: number): NameContext | NameContext[] { if (i === undefined) { return this.getRuleContexts(NameContext); } else { return this.getRuleContext(i, NameContext); } } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_cycle_cluase; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCycle_cluase) { listener.enterCycle_cluase(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCycle_cluase) { listener.exitCycle_cluase(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCycle_cluase) { return visitor.visitCycle_cluase(this); } else { return visitor.visitChildren(this); } } } export class Opt_materializedContext extends ParserRuleContext { public KW_MATERIALIZED(): TerminalNode { return this.getToken(PostgreSQLParser.KW_MATERIALIZED, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_materialized; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_materialized) { listener.enterOpt_materialized(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_materialized) { listener.exitOpt_materialized(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_materialized) { return visitor.visitOpt_materialized(this); } else { return visitor.visitChildren(this); } } } export class Opt_with_clauseContext extends ParserRuleContext { public with_clause(): With_clauseContext { return this.getRuleContext(0, With_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_with_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_with_clause) { listener.enterOpt_with_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_with_clause) { listener.exitOpt_with_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_with_clause) { return visitor.visitOpt_with_clause(this); } else { return visitor.visitChildren(this); } } } export class Into_clauseContext extends ParserRuleContext { public KW_INTO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INTO, 0); } public opt_strict(): Opt_strictContext | undefined { return this.tryGetRuleContext(0, Opt_strictContext); } public opttempTableName(): OpttempTableNameContext | undefined { return this.tryGetRuleContext(0, OpttempTableNameContext); } public into_target(): Into_targetContext | undefined { return this.tryGetRuleContext(0, Into_targetContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_into_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterInto_clause) { listener.enterInto_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitInto_clause) { listener.exitInto_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitInto_clause) { return visitor.visitInto_clause(this); } else { return visitor.visitChildren(this); } } } export class Opt_strictContext extends ParserRuleContext { public KW_STRICT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STRICT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_strict; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_strict) { listener.enterOpt_strict(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_strict) { listener.exitOpt_strict(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_strict) { return visitor.visitOpt_strict(this); } else { return visitor.visitChildren(this); } } } export class OpttempTableNameContext extends ParserRuleContext { public table_name_create(): Table_name_createContext { return this.getRuleContext(0, Table_name_createContext); } public KW_TEMPORARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMPORARY, 0); } public KW_TEMP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMP, 0); } public opt_table(): Opt_tableContext | undefined { return this.tryGetRuleContext(0, Opt_tableContext); } public KW_LOCAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCAL, 0); } public KW_GLOBAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GLOBAL, 0); } public KW_UNLOGGED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNLOGGED, 0); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opttempTableName; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpttempTableName) { listener.enterOpttempTableName(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpttempTableName) { listener.exitOpttempTableName(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpttempTableName) { return visitor.visitOpttempTableName(this); } else { return visitor.visitChildren(this); } } } export class Opt_tableContext extends ParserRuleContext { public KW_TABLE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TABLE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_table; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_table) { listener.enterOpt_table(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_table) { listener.exitOpt_table(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_table) { return visitor.visitOpt_table(this); } else { return visitor.visitChildren(this); } } } export class All_or_distinctContext extends ParserRuleContext { public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public KW_DISTINCT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DISTINCT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_all_or_distinct; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAll_or_distinct) { listener.enterAll_or_distinct(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAll_or_distinct) { listener.exitAll_or_distinct(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAll_or_distinct) { return visitor.visitAll_or_distinct(this); } else { return visitor.visitChildren(this); } } } export class Distinct_clauseContext extends ParserRuleContext { public KW_DISTINCT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DISTINCT, 0); } public KW_ON(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ON, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public expr_list(): Expr_listContext | undefined { return this.tryGetRuleContext(0, Expr_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_distinct_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDistinct_clause) { listener.enterDistinct_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDistinct_clause) { listener.exitDistinct_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDistinct_clause) { return visitor.visitDistinct_clause(this); } else { return visitor.visitChildren(this); } } } export class Opt_all_clauseContext extends ParserRuleContext { public KW_ALL(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ALL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_all_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_all_clause) { listener.enterOpt_all_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_all_clause) { listener.exitOpt_all_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_all_clause) { return visitor.visitOpt_all_clause(this); } else { return visitor.visitChildren(this); } } } export class Opt_sort_clauseContext extends ParserRuleContext { public sort_clause(): Sort_clauseContext { return this.getRuleContext(0, Sort_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_sort_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_sort_clause) { listener.enterOpt_sort_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_sort_clause) { listener.exitOpt_sort_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_sort_clause) { return visitor.visitOpt_sort_clause(this); } else { return visitor.visitChildren(this); } } } export class Sort_clauseContext extends ParserRuleContext { public KW_ORDER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ORDER, 0); } public KW_BY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BY, 0); } public sortby_list(): Sortby_listContext { return this.getRuleContext(0, Sortby_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_sort_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSort_clause) { listener.enterSort_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSort_clause) { listener.exitSort_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSort_clause) { return visitor.visitSort_clause(this); } else { return visitor.visitChildren(this); } } } export class Sortby_listContext extends ParserRuleContext { public sortby(): SortbyContext[]; public sortby(i: number): SortbyContext; public sortby(i?: number): SortbyContext | SortbyContext[] { if (i === undefined) { return this.getRuleContexts(SortbyContext); } else { return this.getRuleContext(i, SortbyContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_sortby_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSortby_list) { listener.enterSortby_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSortby_list) { listener.exitSortby_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSortby_list) { return visitor.visitSortby_list(this); } else { return visitor.visitChildren(this); } } } export class SortbyContext extends ParserRuleContext { public column_expr_noparen(): Column_expr_noparenContext { return this.getRuleContext(0, Column_expr_noparenContext); } public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public qual_all_op(): Qual_all_opContext | undefined { return this.tryGetRuleContext(0, Qual_all_opContext); } public opt_asc_desc(): Opt_asc_descContext | undefined { return this.tryGetRuleContext(0, Opt_asc_descContext); } public opt_nulls_order(): Opt_nulls_orderContext | undefined { return this.tryGetRuleContext(0, Opt_nulls_orderContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_sortby; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSortby) { listener.enterSortby(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSortby) { listener.exitSortby(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSortby) { return visitor.visitSortby(this); } else { return visitor.visitChildren(this); } } } export class Select_limitContext extends ParserRuleContext { public limit_clause(): Limit_clauseContext | undefined { return this.tryGetRuleContext(0, Limit_clauseContext); } public offset_clause(): Offset_clauseContext | undefined { return this.tryGetRuleContext(0, Offset_clauseContext); } public fetch_clause(): Fetch_clauseContext | undefined { return this.tryGetRuleContext(0, Fetch_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_select_limit; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSelect_limit) { listener.enterSelect_limit(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSelect_limit) { listener.exitSelect_limit(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSelect_limit) { return visitor.visitSelect_limit(this); } else { return visitor.visitChildren(this); } } } export class Opt_select_limitContext extends ParserRuleContext { public select_limit(): Select_limitContext { return this.getRuleContext(0, Select_limitContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_select_limit; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_select_limit) { listener.enterOpt_select_limit(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_select_limit) { listener.exitOpt_select_limit(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_select_limit) { return visitor.visitOpt_select_limit(this); } else { return visitor.visitChildren(this); } } } export class Limit_clauseContext extends ParserRuleContext { public KW_LIMIT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_LIMIT, 0); } public select_limit_value(): Select_limit_valueContext { return this.getRuleContext(0, Select_limit_valueContext); } public COMMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.COMMA, 0); } public select_offset_value(): Select_offset_valueContext | undefined { return this.tryGetRuleContext(0, Select_offset_valueContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_limit_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterLimit_clause) { listener.enterLimit_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitLimit_clause) { listener.exitLimit_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitLimit_clause) { return visitor.visitLimit_clause(this); } else { return visitor.visitChildren(this); } } } export class Fetch_clauseContext extends ParserRuleContext { public KW_FETCH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FETCH, 0); } public first_or_next(): First_or_nextContext { return this.getRuleContext(0, First_or_nextContext); } public select_fetch_first_value(): Select_fetch_first_valueContext | undefined { return this.tryGetRuleContext(0, Select_fetch_first_valueContext); } public row_or_rows(): Row_or_rowsContext | undefined { return this.tryGetRuleContext(0, Row_or_rowsContext); } public KW_ONLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ONLY, 0); } public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } public KW_TIES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TIES, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_fetch_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFetch_clause) { listener.enterFetch_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFetch_clause) { listener.exitFetch_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFetch_clause) { return visitor.visitFetch_clause(this); } else { return visitor.visitChildren(this); } } } export class Offset_clauseContext extends ParserRuleContext { public KW_OFFSET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OFFSET, 0); } public select_offset_value(): Select_offset_valueContext | undefined { return this.tryGetRuleContext(0, Select_offset_valueContext); } public select_fetch_first_value(): Select_fetch_first_valueContext | undefined { return this.tryGetRuleContext(0, Select_fetch_first_valueContext); } public row_or_rows(): Row_or_rowsContext | undefined { return this.tryGetRuleContext(0, Row_or_rowsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_offset_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOffset_clause) { listener.enterOffset_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOffset_clause) { listener.exitOffset_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOffset_clause) { return visitor.visitOffset_clause(this); } else { return visitor.visitChildren(this); } } } export class Select_limit_valueContext extends ParserRuleContext { public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_select_limit_value; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSelect_limit_value) { listener.enterSelect_limit_value(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSelect_limit_value) { listener.exitSelect_limit_value(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSelect_limit_value) { return visitor.visitSelect_limit_value(this); } else { return visitor.visitChildren(this); } } } export class Select_offset_valueContext extends ParserRuleContext { public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_select_offset_value; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSelect_offset_value) { listener.enterSelect_offset_value(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSelect_offset_value) { listener.exitSelect_offset_value(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSelect_offset_value) { return visitor.visitSelect_offset_value(this); } else { return visitor.visitChildren(this); } } } export class Select_fetch_first_valueContext extends ParserRuleContext { public c_expr(): C_exprContext | undefined { return this.tryGetRuleContext(0, C_exprContext); } public PLUS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PLUS, 0); } public i_or_f_const(): I_or_f_constContext | undefined { return this.tryGetRuleContext(0, I_or_f_constContext); } public MINUS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.MINUS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_select_fetch_first_value; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSelect_fetch_first_value) { listener.enterSelect_fetch_first_value(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSelect_fetch_first_value) { listener.exitSelect_fetch_first_value(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSelect_fetch_first_value) { return visitor.visitSelect_fetch_first_value(this); } else { return visitor.visitChildren(this); } } } export class I_or_f_constContext extends ParserRuleContext { public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } public fconst(): FconstContext | undefined { return this.tryGetRuleContext(0, FconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_i_or_f_const; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterI_or_f_const) { listener.enterI_or_f_const(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitI_or_f_const) { listener.exitI_or_f_const(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitI_or_f_const) { return visitor.visitI_or_f_const(this); } else { return visitor.visitChildren(this); } } } export class Row_or_rowsContext extends ParserRuleContext { public KW_ROW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROW, 0); } public KW_ROWS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROWS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_row_or_rows; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRow_or_rows) { listener.enterRow_or_rows(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRow_or_rows) { listener.exitRow_or_rows(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRow_or_rows) { return visitor.visitRow_or_rows(this); } else { return visitor.visitChildren(this); } } } export class First_or_nextContext extends ParserRuleContext { public KW_FIRST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FIRST, 0); } public KW_NEXT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NEXT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_first_or_next; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFirst_or_next) { listener.enterFirst_or_next(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFirst_or_next) { listener.exitFirst_or_next(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFirst_or_next) { return visitor.visitFirst_or_next(this); } else { return visitor.visitChildren(this); } } } export class Group_clauseContext extends ParserRuleContext { public KW_GROUP(): TerminalNode { return this.getToken(PostgreSQLParser.KW_GROUP, 0); } public KW_BY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BY, 0); } public group_by_list(): Group_by_listContext { return this.getRuleContext(0, Group_by_listContext); } public all_or_distinct(): All_or_distinctContext | undefined { return this.tryGetRuleContext(0, All_or_distinctContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_group_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGroup_clause) { listener.enterGroup_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGroup_clause) { listener.exitGroup_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGroup_clause) { return visitor.visitGroup_clause(this); } else { return visitor.visitChildren(this); } } } export class Group_by_listContext extends ParserRuleContext { public group_by_item(): Group_by_itemContext[]; public group_by_item(i: number): Group_by_itemContext; public group_by_item(i?: number): Group_by_itemContext | Group_by_itemContext[] { if (i === undefined) { return this.getRuleContexts(Group_by_itemContext); } else { return this.getRuleContext(i, Group_by_itemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_group_by_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGroup_by_list) { listener.enterGroup_by_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGroup_by_list) { listener.exitGroup_by_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGroup_by_list) { return visitor.visitGroup_by_list(this); } else { return visitor.visitChildren(this); } } } export class Group_by_itemContext extends ParserRuleContext { public column_expr_noparen(): Column_expr_noparenContext | undefined { return this.tryGetRuleContext(0, Column_expr_noparenContext); } public empty_grouping_set(): Empty_grouping_setContext | undefined { return this.tryGetRuleContext(0, Empty_grouping_setContext); } public cube_clause(): Cube_clauseContext | undefined { return this.tryGetRuleContext(0, Cube_clauseContext); } public rollup_clause(): Rollup_clauseContext | undefined { return this.tryGetRuleContext(0, Rollup_clauseContext); } public grouping_sets_clause(): Grouping_sets_clauseContext | undefined { return this.tryGetRuleContext(0, Grouping_sets_clauseContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public column_expr_list_noparen(): Column_expr_list_noparenContext | undefined { return this.tryGetRuleContext(0, Column_expr_list_noparenContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_group_by_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGroup_by_item) { listener.enterGroup_by_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGroup_by_item) { listener.exitGroup_by_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGroup_by_item) { return visitor.visitGroup_by_item(this); } else { return visitor.visitChildren(this); } } } export class Empty_grouping_setContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_empty_grouping_set; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterEmpty_grouping_set) { listener.enterEmpty_grouping_set(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitEmpty_grouping_set) { listener.exitEmpty_grouping_set(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitEmpty_grouping_set) { return visitor.visitEmpty_grouping_set(this); } else { return visitor.visitChildren(this); } } } export class Rollup_clauseContext extends ParserRuleContext { public KW_ROLLUP(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ROLLUP, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public column_expr_list_noparen(): Column_expr_list_noparenContext { return this.getRuleContext(0, Column_expr_list_noparenContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_rollup_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRollup_clause) { listener.enterRollup_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRollup_clause) { listener.exitRollup_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRollup_clause) { return visitor.visitRollup_clause(this); } else { return visitor.visitChildren(this); } } } export class Cube_clauseContext extends ParserRuleContext { public KW_CUBE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CUBE, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public column_expr_list_noparen(): Column_expr_list_noparenContext { return this.getRuleContext(0, Column_expr_list_noparenContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_cube_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCube_clause) { listener.enterCube_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCube_clause) { listener.exitCube_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCube_clause) { return visitor.visitCube_clause(this); } else { return visitor.visitChildren(this); } } } export class Grouping_sets_clauseContext extends ParserRuleContext { public KW_GROUPING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_GROUPING, 0); } public KW_SETS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SETS, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public group_by_list(): Group_by_listContext { return this.getRuleContext(0, Group_by_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_grouping_sets_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGrouping_sets_clause) { listener.enterGrouping_sets_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGrouping_sets_clause) { listener.exitGrouping_sets_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGrouping_sets_clause) { return visitor.visitGrouping_sets_clause(this); } else { return visitor.visitChildren(this); } } } export class Having_clauseContext extends ParserRuleContext { public KW_HAVING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_HAVING, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_having_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterHaving_clause) { listener.enterHaving_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitHaving_clause) { listener.exitHaving_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitHaving_clause) { return visitor.visitHaving_clause(this); } else { return visitor.visitChildren(this); } } } export class For_locking_clauseContext extends ParserRuleContext { public for_locking_items(): For_locking_itemsContext | undefined { return this.tryGetRuleContext(0, For_locking_itemsContext); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public KW_READ(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_READ, 0); } public KW_ONLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ONLY, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_for_locking_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFor_locking_clause) { listener.enterFor_locking_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFor_locking_clause) { listener.exitFor_locking_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFor_locking_clause) { return visitor.visitFor_locking_clause(this); } else { return visitor.visitChildren(this); } } } export class Opt_for_locking_clauseContext extends ParserRuleContext { public for_locking_clause(): For_locking_clauseContext { return this.getRuleContext(0, For_locking_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_for_locking_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_for_locking_clause) { listener.enterOpt_for_locking_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_for_locking_clause) { listener.exitOpt_for_locking_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_for_locking_clause) { return visitor.visitOpt_for_locking_clause(this); } else { return visitor.visitChildren(this); } } } export class For_locking_itemsContext extends ParserRuleContext { public for_locking_item(): For_locking_itemContext[]; public for_locking_item(i: number): For_locking_itemContext; public for_locking_item(i?: number): For_locking_itemContext | For_locking_itemContext[] { if (i === undefined) { return this.getRuleContexts(For_locking_itemContext); } else { return this.getRuleContext(i, For_locking_itemContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_for_locking_items; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFor_locking_items) { listener.enterFor_locking_items(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFor_locking_items) { listener.exitFor_locking_items(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFor_locking_items) { return visitor.visitFor_locking_items(this); } else { return visitor.visitChildren(this); } } } export class For_locking_itemContext extends ParserRuleContext { public for_locking_strength(): For_locking_strengthContext { return this.getRuleContext(0, For_locking_strengthContext); } public locked_rels_list(): Locked_rels_listContext | undefined { return this.tryGetRuleContext(0, Locked_rels_listContext); } public opt_nowait_or_skip(): Opt_nowait_or_skipContext | undefined { return this.tryGetRuleContext(0, Opt_nowait_or_skipContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_for_locking_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFor_locking_item) { listener.enterFor_locking_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFor_locking_item) { listener.exitFor_locking_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFor_locking_item) { return visitor.visitFor_locking_item(this); } else { return visitor.visitChildren(this); } } } export class For_locking_strengthContext extends ParserRuleContext { public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public KW_UPDATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UPDATE, 0); } public KW_SHARE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SHARE, 0); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } public KW_KEY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_KEY, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_for_locking_strength; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFor_locking_strength) { listener.enterFor_locking_strength(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFor_locking_strength) { listener.exitFor_locking_strength(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFor_locking_strength) { return visitor.visitFor_locking_strength(this); } else { return visitor.visitChildren(this); } } } export class Locked_rels_listContext extends ParserRuleContext { public KW_OF(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OF, 0); } public qualified_name_list(): Qualified_name_listContext { return this.getRuleContext(0, Qualified_name_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_locked_rels_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterLocked_rels_list) { listener.enterLocked_rels_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitLocked_rels_list) { listener.exitLocked_rels_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitLocked_rels_list) { return visitor.visitLocked_rels_list(this); } else { return visitor.visitChildren(this); } } } export class Values_clauseContext extends ParserRuleContext { public KW_VALUES(): TerminalNode { return this.getToken(PostgreSQLParser.KW_VALUES, 0); } public OPEN_PAREN(): TerminalNode[]; public OPEN_PAREN(i: number): TerminalNode; public OPEN_PAREN(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.OPEN_PAREN); } else { return this.getToken(PostgreSQLParser.OPEN_PAREN, i); } } public expr_list(): Expr_listContext[]; public expr_list(i: number): Expr_listContext; public expr_list(i?: number): Expr_listContext | Expr_listContext[] { if (i === undefined) { return this.getRuleContexts(Expr_listContext); } else { return this.getRuleContext(i, Expr_listContext); } } public CLOSE_PAREN(): TerminalNode[]; public CLOSE_PAREN(i: number): TerminalNode; public CLOSE_PAREN(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.CLOSE_PAREN); } else { return this.getToken(PostgreSQLParser.CLOSE_PAREN, i); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_values_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterValues_clause) { listener.enterValues_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitValues_clause) { listener.exitValues_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitValues_clause) { return visitor.visitValues_clause(this); } else { return visitor.visitChildren(this); } } } export class From_clauseContext extends ParserRuleContext { public KW_FROM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FROM, 0); } public from_list(): From_listContext { return this.getRuleContext(0, From_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_from_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFrom_clause) { listener.enterFrom_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFrom_clause) { listener.exitFrom_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFrom_clause) { return visitor.visitFrom_clause(this); } else { return visitor.visitChildren(this); } } } export class From_listContext extends ParserRuleContext { public table_ref(): Table_refContext[]; public table_ref(i: number): Table_refContext; public table_ref(i?: number): Table_refContext | Table_refContext[] { if (i === undefined) { return this.getRuleContexts(Table_refContext); } else { return this.getRuleContext(i, Table_refContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_from_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFrom_list) { listener.enterFrom_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFrom_list) { listener.exitFrom_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFrom_list) { return visitor.visitFrom_list(this); } else { return visitor.visitChildren(this); } } } export class Table_refContext extends ParserRuleContext { public func_table(): Func_tableContext | undefined { return this.tryGetRuleContext(0, Func_tableContext); } public xmltable(): XmltableContext | undefined { return this.tryGetRuleContext(0, XmltableContext); } public select_with_parens(): Select_with_parensContext | undefined { return this.tryGetRuleContext(0, Select_with_parensContext); } public KW_LATERAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LATERAL, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public table_ref(): Table_refContext[]; public table_ref(i: number): Table_refContext; public table_ref(i?: number): Table_refContext | Table_refContext[] { if (i === undefined) { return this.getRuleContexts(Table_refContext); } else { return this.getRuleContext(i, Table_refContext); } } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_CROSS(): TerminalNode[]; public KW_CROSS(i: number): TerminalNode; public KW_CROSS(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_CROSS); } else { return this.getToken(PostgreSQLParser.KW_CROSS, i); } } public KW_JOIN(): TerminalNode[]; public KW_JOIN(i: number): TerminalNode; public KW_JOIN(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_JOIN); } else { return this.getToken(PostgreSQLParser.KW_JOIN, i); } } public KW_NATURAL(): TerminalNode[]; public KW_NATURAL(i: number): TerminalNode; public KW_NATURAL(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_NATURAL); } else { return this.getToken(PostgreSQLParser.KW_NATURAL, i); } } public join_qual(): Join_qualContext[]; public join_qual(i: number): Join_qualContext; public join_qual(i?: number): Join_qualContext | Join_qualContext[] { if (i === undefined) { return this.getRuleContexts(Join_qualContext); } else { return this.getRuleContext(i, Join_qualContext); } } public relation_expr(): Relation_exprContext | undefined { return this.tryGetRuleContext(0, Relation_exprContext); } public view_relation_expr(): View_relation_exprContext | undefined { return this.tryGetRuleContext(0, View_relation_exprContext); } public opt_alias_clause(): Opt_alias_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_alias_clauseContext); } public tablesample_clause(): Tablesample_clauseContext | undefined { return this.tryGetRuleContext(0, Tablesample_clauseContext); } public func_alias_clause(): Func_alias_clauseContext | undefined { return this.tryGetRuleContext(0, Func_alias_clauseContext); } public join_type(): Join_typeContext[]; public join_type(i: number): Join_typeContext; public join_type(i?: number): Join_typeContext | Join_typeContext[] { if (i === undefined) { return this.getRuleContexts(Join_typeContext); } else { return this.getRuleContext(i, Join_typeContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_table_ref; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTable_ref) { listener.enterTable_ref(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTable_ref) { listener.exitTable_ref(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTable_ref) { return visitor.visitTable_ref(this); } else { return visitor.visitChildren(this); } } } export class Alias_clauseContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public name_list(): Name_listContext | undefined { return this.tryGetRuleContext(0, Name_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_alias_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAlias_clause) { listener.enterAlias_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAlias_clause) { listener.exitAlias_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAlias_clause) { return visitor.visitAlias_clause(this); } else { return visitor.visitChildren(this); } } } export class Opt_alias_clauseContext extends ParserRuleContext { public alias_clause(): Alias_clauseContext { return this.getRuleContext(0, Alias_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_alias_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_alias_clause) { listener.enterOpt_alias_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_alias_clause) { listener.exitOpt_alias_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_alias_clause) { return visitor.visitOpt_alias_clause(this); } else { return visitor.visitChildren(this); } } } export class Func_alias_clauseContext extends ParserRuleContext { public alias_clause(): Alias_clauseContext | undefined { return this.tryGetRuleContext(0, Alias_clauseContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public tablefuncelementlist(): TablefuncelementlistContext | undefined { return this.tryGetRuleContext(0, TablefuncelementlistContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_alias_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_alias_clause) { listener.enterFunc_alias_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_alias_clause) { listener.exitFunc_alias_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_alias_clause) { return visitor.visitFunc_alias_clause(this); } else { return visitor.visitChildren(this); } } } export class Join_typeContext extends ParserRuleContext { public KW_FULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FULL, 0); } public KW_LEFT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEFT, 0); } public KW_RIGHT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RIGHT, 0); } public KW_INNER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INNER, 0); } public KW_OUTER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OUTER, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_join_type; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterJoin_type) { listener.enterJoin_type(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitJoin_type) { listener.exitJoin_type(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitJoin_type) { return visitor.visitJoin_type(this); } else { return visitor.visitChildren(this); } } } export class Join_qualContext extends ParserRuleContext { public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public columnlist(): ColumnlistContext | undefined { return this.tryGetRuleContext(0, ColumnlistContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_ON(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ON, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_join_qual; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterJoin_qual) { listener.enterJoin_qual(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitJoin_qual) { listener.exitJoin_qual(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitJoin_qual) { return visitor.visitJoin_qual(this); } else { return visitor.visitChildren(this); } } } export class Relation_exprContext extends ParserRuleContext { public table_name(): Table_nameContext | undefined { return this.tryGetRuleContext(0, Table_nameContext); } public KW_ONLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ONLY, 0); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } public columnlist(): ColumnlistContext | undefined { return this.tryGetRuleContext(0, ColumnlistContext); } public where_clause(): Where_clauseContext | undefined { return this.tryGetRuleContext(0, Where_clauseContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name(): Schema_nameContext | undefined { return this.tryGetRuleContext(0, Schema_nameContext); } public KW_CURRENT_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_SCHEMA, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_relation_expr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRelation_expr) { listener.enterRelation_expr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRelation_expr) { listener.exitRelation_expr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRelation_expr) { return visitor.visitRelation_expr(this); } else { return visitor.visitChildren(this); } } } export class View_relation_exprContext extends ParserRuleContext { public view_name(): View_nameContext { return this.getRuleContext(0, View_nameContext); } public KW_ONLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ONLY, 0); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } public columnlist(): ColumnlistContext | undefined { return this.tryGetRuleContext(0, ColumnlistContext); } public where_clause(): Where_clauseContext | undefined { return this.tryGetRuleContext(0, Where_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_view_relation_expr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterView_relation_expr) { listener.enterView_relation_expr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitView_relation_expr) { listener.exitView_relation_expr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitView_relation_expr) { return visitor.visitView_relation_expr(this); } else { return visitor.visitChildren(this); } } } export class Publication_relation_exprContext extends ParserRuleContext { public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public table_name(): Table_nameContext | undefined { return this.tryGetRuleContext(0, Table_nameContext); } public KW_ONLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ONLY, 0); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public columnlist(): ColumnlistContext | undefined { return this.tryGetRuleContext(0, ColumnlistContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public where_clause(): Where_clauseContext | undefined { return this.tryGetRuleContext(0, Where_clauseContext); } public KW_TABLES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLES, 0); } public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public schema_name(): Schema_nameContext | undefined { return this.tryGetRuleContext(0, Schema_nameContext); } public KW_CURRENT_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_SCHEMA, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_publication_relation_expr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPublication_relation_expr) { listener.enterPublication_relation_expr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPublication_relation_expr) { listener.exitPublication_relation_expr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPublication_relation_expr) { return visitor.visitPublication_relation_expr(this); } else { return visitor.visitChildren(this); } } } export class Relation_expr_listContext extends ParserRuleContext { public relation_expr(): Relation_exprContext[]; public relation_expr(i: number): Relation_exprContext; public relation_expr(i?: number): Relation_exprContext | Relation_exprContext[] { if (i === undefined) { return this.getRuleContexts(Relation_exprContext); } else { return this.getRuleContext(i, Relation_exprContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_relation_expr_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRelation_expr_list) { listener.enterRelation_expr_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRelation_expr_list) { listener.exitRelation_expr_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRelation_expr_list) { return visitor.visitRelation_expr_list(this); } else { return visitor.visitChildren(this); } } } export class Publication_relation_expr_listContext extends ParserRuleContext { public publication_relation_expr(): Publication_relation_exprContext[]; public publication_relation_expr(i: number): Publication_relation_exprContext; public publication_relation_expr(i?: number): Publication_relation_exprContext | Publication_relation_exprContext[] { if (i === undefined) { return this.getRuleContexts(Publication_relation_exprContext); } else { return this.getRuleContext(i, Publication_relation_exprContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_publication_relation_expr_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPublication_relation_expr_list) { listener.enterPublication_relation_expr_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPublication_relation_expr_list) { listener.exitPublication_relation_expr_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPublication_relation_expr_list) { return visitor.visitPublication_relation_expr_list(this); } else { return visitor.visitChildren(this); } } } export class Relation_expr_opt_aliasContext extends ParserRuleContext { public relation_expr(): Relation_exprContext { return this.getRuleContext(0, Relation_exprContext); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_relation_expr_opt_alias; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRelation_expr_opt_alias) { listener.enterRelation_expr_opt_alias(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRelation_expr_opt_alias) { listener.exitRelation_expr_opt_alias(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRelation_expr_opt_alias) { return visitor.visitRelation_expr_opt_alias(this); } else { return visitor.visitChildren(this); } } } export class Tablesample_clauseContext extends ParserRuleContext { public KW_TABLESAMPLE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TABLESAMPLE, 0); } public function_name(): Function_nameContext { return this.getRuleContext(0, Function_nameContext); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public expr_list(): Expr_listContext { return this.getRuleContext(0, Expr_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public opt_repeatable_clause(): Opt_repeatable_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_repeatable_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_tablesample_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTablesample_clause) { listener.enterTablesample_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTablesample_clause) { listener.exitTablesample_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTablesample_clause) { return visitor.visitTablesample_clause(this); } else { return visitor.visitChildren(this); } } } export class Opt_repeatable_clauseContext extends ParserRuleContext { public KW_REPEATABLE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_REPEATABLE, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_repeatable_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_repeatable_clause) { listener.enterOpt_repeatable_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_repeatable_clause) { listener.exitOpt_repeatable_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_repeatable_clause) { return visitor.visitOpt_repeatable_clause(this); } else { return visitor.visitChildren(this); } } } export class Func_tableContext extends ParserRuleContext { public func_expr_windowless(): Func_expr_windowlessContext | undefined { return this.tryGetRuleContext(0, Func_expr_windowlessContext); } public opt_ordinality(): Opt_ordinalityContext | undefined { return this.tryGetRuleContext(0, Opt_ordinalityContext); } public KW_ROWS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROWS, 0); } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public rowsfrom_list(): Rowsfrom_listContext | undefined { return this.tryGetRuleContext(0, Rowsfrom_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_table; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_table) { listener.enterFunc_table(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_table) { listener.exitFunc_table(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_table) { return visitor.visitFunc_table(this); } else { return visitor.visitChildren(this); } } } export class Rowsfrom_itemContext extends ParserRuleContext { public func_expr_windowless(): Func_expr_windowlessContext { return this.getRuleContext(0, Func_expr_windowlessContext); } public opt_col_def_list(): Opt_col_def_listContext | undefined { return this.tryGetRuleContext(0, Opt_col_def_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_rowsfrom_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRowsfrom_item) { listener.enterRowsfrom_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRowsfrom_item) { listener.exitRowsfrom_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRowsfrom_item) { return visitor.visitRowsfrom_item(this); } else { return visitor.visitChildren(this); } } } export class Rowsfrom_listContext extends ParserRuleContext { public rowsfrom_item(): Rowsfrom_itemContext[]; public rowsfrom_item(i: number): Rowsfrom_itemContext; public rowsfrom_item(i?: number): Rowsfrom_itemContext | Rowsfrom_itemContext[] { if (i === undefined) { return this.getRuleContexts(Rowsfrom_itemContext); } else { return this.getRuleContext(i, Rowsfrom_itemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_rowsfrom_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRowsfrom_list) { listener.enterRowsfrom_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRowsfrom_list) { listener.exitRowsfrom_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRowsfrom_list) { return visitor.visitRowsfrom_list(this); } else { return visitor.visitChildren(this); } } } export class Opt_col_def_listContext extends ParserRuleContext { public KW_AS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AS, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public tablefuncelementlist(): TablefuncelementlistContext { return this.getRuleContext(0, TablefuncelementlistContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_col_def_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_col_def_list) { listener.enterOpt_col_def_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_col_def_list) { listener.exitOpt_col_def_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_col_def_list) { return visitor.visitOpt_col_def_list(this); } else { return visitor.visitChildren(this); } } } export class Opt_ordinalityContext extends ParserRuleContext { public KW_WITH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WITH, 0); } public KW_ORDINALITY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ORDINALITY, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_ordinality; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_ordinality) { listener.enterOpt_ordinality(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_ordinality) { listener.exitOpt_ordinality(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_ordinality) { return visitor.visitOpt_ordinality(this); } else { return visitor.visitChildren(this); } } } export class Where_clauseContext extends ParserRuleContext { public KW_WHERE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WHERE, 0); } public column_expr_noparen(): Column_expr_noparenContext { return this.getRuleContext(0, Column_expr_noparenContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_where_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterWhere_clause) { listener.enterWhere_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitWhere_clause) { listener.exitWhere_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitWhere_clause) { return visitor.visitWhere_clause(this); } else { return visitor.visitChildren(this); } } } export class Where_or_current_clauseContext extends ParserRuleContext { public KW_WHERE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WHERE, 0); } public KW_CURRENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT, 0); } public KW_OF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OF, 0); } public cursor_name(): Cursor_nameContext | undefined { return this.tryGetRuleContext(0, Cursor_nameContext); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_where_or_current_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterWhere_or_current_clause) { listener.enterWhere_or_current_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitWhere_or_current_clause) { listener.exitWhere_or_current_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitWhere_or_current_clause) { return visitor.visitWhere_or_current_clause(this); } else { return visitor.visitChildren(this); } } } export class OpttablefuncelementlistContext extends ParserRuleContext { public tablefuncelementlist(): TablefuncelementlistContext { return this.getRuleContext(0, TablefuncelementlistContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opttablefuncelementlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpttablefuncelementlist) { listener.enterOpttablefuncelementlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpttablefuncelementlist) { listener.exitOpttablefuncelementlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpttablefuncelementlist) { return visitor.visitOpttablefuncelementlist(this); } else { return visitor.visitChildren(this); } } } export class TablefuncelementlistContext extends ParserRuleContext { public tablefuncelement(): TablefuncelementContext[]; public tablefuncelement(i: number): TablefuncelementContext; public tablefuncelement(i?: number): TablefuncelementContext | TablefuncelementContext[] { if (i === undefined) { return this.getRuleContexts(TablefuncelementContext); } else { return this.getRuleContext(i, TablefuncelementContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_tablefuncelementlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTablefuncelementlist) { listener.enterTablefuncelementlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTablefuncelementlist) { listener.exitTablefuncelementlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTablefuncelementlist) { return visitor.visitTablefuncelementlist(this); } else { return visitor.visitChildren(this); } } } export class TablefuncelementContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public typename(): TypenameContext { return this.getRuleContext(0, TypenameContext); } public opt_collate_clause(): Opt_collate_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_collate_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_tablefuncelement; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTablefuncelement) { listener.enterTablefuncelement(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTablefuncelement) { listener.exitTablefuncelement(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTablefuncelement) { return visitor.visitTablefuncelement(this); } else { return visitor.visitChildren(this); } } } export class XmltableContext extends ParserRuleContext { public KW_XMLTABLE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_XMLTABLE, 0); } public OPEN_PAREN(): TerminalNode[]; public OPEN_PAREN(i: number): TerminalNode; public OPEN_PAREN(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.OPEN_PAREN); } else { return this.getToken(PostgreSQLParser.OPEN_PAREN, i); } } public CLOSE_PAREN(): TerminalNode[]; public CLOSE_PAREN(i: number): TerminalNode; public CLOSE_PAREN(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.CLOSE_PAREN); } else { return this.getToken(PostgreSQLParser.CLOSE_PAREN, i); } } public c_expr(): C_exprContext | undefined { return this.tryGetRuleContext(0, C_exprContext); } public xmlexists_argument(): Xmlexists_argumentContext | undefined { return this.tryGetRuleContext(0, Xmlexists_argumentContext); } public KW_COLUMNS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLUMNS, 0); } public xmltable_column_list(): Xmltable_column_listContext | undefined { return this.tryGetRuleContext(0, Xmltable_column_listContext); } public KW_XMLNAMESPACES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLNAMESPACES, 0); } public xml_namespace_list(): Xml_namespace_listContext | undefined { return this.tryGetRuleContext(0, Xml_namespace_listContext); } public COMMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.COMMA, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xmltable; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXmltable) { listener.enterXmltable(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXmltable) { listener.exitXmltable(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXmltable) { return visitor.visitXmltable(this); } else { return visitor.visitChildren(this); } } } export class Xmltable_column_listContext extends ParserRuleContext { public xmltable_column_el(): Xmltable_column_elContext[]; public xmltable_column_el(i: number): Xmltable_column_elContext; public xmltable_column_el(i?: number): Xmltable_column_elContext | Xmltable_column_elContext[] { if (i === undefined) { return this.getRuleContexts(Xmltable_column_elContext); } else { return this.getRuleContext(i, Xmltable_column_elContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xmltable_column_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXmltable_column_list) { listener.enterXmltable_column_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXmltable_column_list) { listener.exitXmltable_column_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXmltable_column_list) { return visitor.visitXmltable_column_list(this); } else { return visitor.visitChildren(this); } } } export class Xmltable_column_elContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public typename(): TypenameContext | undefined { return this.tryGetRuleContext(0, TypenameContext); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public KW_ORDINALITY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ORDINALITY, 0); } public xmltable_column_option_list(): Xmltable_column_option_listContext | undefined { return this.tryGetRuleContext(0, Xmltable_column_option_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xmltable_column_el; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXmltable_column_el) { listener.enterXmltable_column_el(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXmltable_column_el) { listener.exitXmltable_column_el(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXmltable_column_el) { return visitor.visitXmltable_column_el(this); } else { return visitor.visitChildren(this); } } } export class Xmltable_column_option_listContext extends ParserRuleContext { public xmltable_column_option_el(): Xmltable_column_option_elContext[]; public xmltable_column_option_el(i: number): Xmltable_column_option_elContext; public xmltable_column_option_el(i?: number): Xmltable_column_option_elContext | Xmltable_column_option_elContext[] { if (i === undefined) { return this.getRuleContexts(Xmltable_column_option_elContext); } else { return this.getRuleContext(i, Xmltable_column_option_elContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xmltable_column_option_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXmltable_column_option_list) { listener.enterXmltable_column_option_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXmltable_column_option_list) { listener.exitXmltable_column_option_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXmltable_column_option_list) { return visitor.visitXmltable_column_option_list(this); } else { return visitor.visitChildren(this); } } } export class Xmltable_column_option_elContext extends ParserRuleContext { public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xmltable_column_option_el; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXmltable_column_option_el) { listener.enterXmltable_column_option_el(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXmltable_column_option_el) { listener.exitXmltable_column_option_el(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXmltable_column_option_el) { return visitor.visitXmltable_column_option_el(this); } else { return visitor.visitChildren(this); } } } export class Xml_namespace_listContext extends ParserRuleContext { public xml_namespace_el(): Xml_namespace_elContext[]; public xml_namespace_el(i: number): Xml_namespace_elContext; public xml_namespace_el(i?: number): Xml_namespace_elContext | Xml_namespace_elContext[] { if (i === undefined) { return this.getRuleContexts(Xml_namespace_elContext); } else { return this.getRuleContext(i, Xml_namespace_elContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xml_namespace_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXml_namespace_list) { listener.enterXml_namespace_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXml_namespace_list) { listener.exitXml_namespace_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXml_namespace_list) { return visitor.visitXml_namespace_list(this); } else { return visitor.visitChildren(this); } } } export class Xml_namespace_elContext extends ParserRuleContext { public b_expr(): B_exprContext { return this.getRuleContext(0, B_exprContext); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public collabel(): CollabelContext | undefined { return this.tryGetRuleContext(0, CollabelContext); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xml_namespace_el; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXml_namespace_el) { listener.enterXml_namespace_el(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXml_namespace_el) { listener.exitXml_namespace_el(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXml_namespace_el) { return visitor.visitXml_namespace_el(this); } else { return visitor.visitChildren(this); } } } export class TypenameContext extends ParserRuleContext { public simpletypename(): SimpletypenameContext | undefined { return this.tryGetRuleContext(0, SimpletypenameContext); } public opt_array_bounds(): Opt_array_boundsContext | undefined { return this.tryGetRuleContext(0, Opt_array_boundsContext); } public KW_ARRAY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ARRAY, 0); } public KW_SETOF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SETOF, 0); } public OPEN_BRACKET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_BRACKET, 0); } public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } public CLOSE_BRACKET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_BRACKET, 0); } public qualified_name(): Qualified_nameContext | undefined { return this.tryGetRuleContext(0, Qualified_nameContext); } public PERCENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PERCENT, 0); } public KW_ROWTYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROWTYPE, 0); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_typename; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTypename) { listener.enterTypename(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTypename) { listener.exitTypename(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTypename) { return visitor.visitTypename(this); } else { return visitor.visitChildren(this); } } } export class Opt_array_boundsContext extends ParserRuleContext { public OPEN_BRACKET(): TerminalNode[]; public OPEN_BRACKET(i: number): TerminalNode; public OPEN_BRACKET(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.OPEN_BRACKET); } else { return this.getToken(PostgreSQLParser.OPEN_BRACKET, i); } } public CLOSE_BRACKET(): TerminalNode[]; public CLOSE_BRACKET(i: number): TerminalNode; public CLOSE_BRACKET(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.CLOSE_BRACKET); } else { return this.getToken(PostgreSQLParser.CLOSE_BRACKET, i); } } public iconst(): IconstContext[]; public iconst(i: number): IconstContext; public iconst(i?: number): IconstContext | IconstContext[] { if (i === undefined) { return this.getRuleContexts(IconstContext); } else { return this.getRuleContext(i, IconstContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_array_bounds; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_array_bounds) { listener.enterOpt_array_bounds(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_array_bounds) { listener.exitOpt_array_bounds(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_array_bounds) { return visitor.visitOpt_array_bounds(this); } else { return visitor.visitChildren(this); } } } export class SimpletypenameContext extends ParserRuleContext { public generictype(): GenerictypeContext | undefined { return this.tryGetRuleContext(0, GenerictypeContext); } public numeric(): NumericContext | undefined { return this.tryGetRuleContext(0, NumericContext); } public bit(): BitContext | undefined { return this.tryGetRuleContext(0, BitContext); } public character(): CharacterContext | undefined { return this.tryGetRuleContext(0, CharacterContext); } public constdatetime(): ConstdatetimeContext | undefined { return this.tryGetRuleContext(0, ConstdatetimeContext); } public constinterval(): ConstintervalContext | undefined { return this.tryGetRuleContext(0, ConstintervalContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public opt_interval(): Opt_intervalContext | undefined { return this.tryGetRuleContext(0, Opt_intervalContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_simpletypename; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSimpletypename) { listener.enterSimpletypename(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSimpletypename) { listener.exitSimpletypename(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSimpletypename) { return visitor.visitSimpletypename(this); } else { return visitor.visitChildren(this); } } } export class ConsttypenameContext extends ParserRuleContext { public numeric(): NumericContext | undefined { return this.tryGetRuleContext(0, NumericContext); } public constbit(): ConstbitContext | undefined { return this.tryGetRuleContext(0, ConstbitContext); } public constcharacter(): ConstcharacterContext | undefined { return this.tryGetRuleContext(0, ConstcharacterContext); } public constdatetime(): ConstdatetimeContext | undefined { return this.tryGetRuleContext(0, ConstdatetimeContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_consttypename; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterConsttypename) { listener.enterConsttypename(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitConsttypename) { listener.exitConsttypename(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitConsttypename) { return visitor.visitConsttypename(this); } else { return visitor.visitChildren(this); } } } export class GenerictypeContext extends ParserRuleContext { public type_function_name(): Type_function_nameContext { return this.getRuleContext(0, Type_function_nameContext); } public attrs(): AttrsContext | undefined { return this.tryGetRuleContext(0, AttrsContext); } public opt_type_modifiers(): Opt_type_modifiersContext | undefined { return this.tryGetRuleContext(0, Opt_type_modifiersContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_generictype; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGenerictype) { listener.enterGenerictype(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGenerictype) { listener.exitGenerictype(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGenerictype) { return visitor.visitGenerictype(this); } else { return visitor.visitChildren(this); } } } export class Opt_type_modifiersContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public expr_list(): Expr_listContext { return this.getRuleContext(0, Expr_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_type_modifiers; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_type_modifiers) { listener.enterOpt_type_modifiers(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_type_modifiers) { listener.exitOpt_type_modifiers(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_type_modifiers) { return visitor.visitOpt_type_modifiers(this); } else { return visitor.visitChildren(this); } } } export class NumericContext extends ParserRuleContext { public KW_INT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INT, 0); } public KW_INTEGER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INTEGER, 0); } public KW_SMALLINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SMALLINT, 0); } public KW_BIGINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BIGINT, 0); } public KW_REAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REAL, 0); } public KW_FLOAT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FLOAT, 0); } public opt_float(): Opt_floatContext | undefined { return this.tryGetRuleContext(0, Opt_floatContext); } public KW_DOUBLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOUBLE, 0); } public KW_PRECISION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRECISION, 0); } public KW_DECIMAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DECIMAL, 0); } public opt_type_modifiers(): Opt_type_modifiersContext | undefined { return this.tryGetRuleContext(0, Opt_type_modifiersContext); } public KW_DEC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEC, 0); } public KW_NUMERIC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NUMERIC, 0); } public KW_BOOLEAN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BOOLEAN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_numeric; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterNumeric) { listener.enterNumeric(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitNumeric) { listener.exitNumeric(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitNumeric) { return visitor.visitNumeric(this); } else { return visitor.visitChildren(this); } } } export class Opt_floatContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public iconst(): IconstContext { return this.getRuleContext(0, IconstContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_float; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_float) { listener.enterOpt_float(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_float) { listener.exitOpt_float(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_float) { return visitor.visitOpt_float(this); } else { return visitor.visitChildren(this); } } } export class BitContext extends ParserRuleContext { public bitwithlength(): BitwithlengthContext | undefined { return this.tryGetRuleContext(0, BitwithlengthContext); } public bitwithoutlength(): BitwithoutlengthContext | undefined { return this.tryGetRuleContext(0, BitwithoutlengthContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_bit; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterBit) { listener.enterBit(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitBit) { listener.exitBit(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitBit) { return visitor.visitBit(this); } else { return visitor.visitChildren(this); } } } export class ConstbitContext extends ParserRuleContext { public bitwithlength(): BitwithlengthContext | undefined { return this.tryGetRuleContext(0, BitwithlengthContext); } public bitwithoutlength(): BitwithoutlengthContext | undefined { return this.tryGetRuleContext(0, BitwithoutlengthContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_constbit; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterConstbit) { listener.enterConstbit(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitConstbit) { listener.exitConstbit(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitConstbit) { return visitor.visitConstbit(this); } else { return visitor.visitChildren(this); } } } export class BitwithlengthContext extends ParserRuleContext { public KW_BIT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BIT, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public expr_list(): Expr_listContext { return this.getRuleContext(0, Expr_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public opt_varying(): Opt_varyingContext | undefined { return this.tryGetRuleContext(0, Opt_varyingContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_bitwithlength; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterBitwithlength) { listener.enterBitwithlength(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitBitwithlength) { listener.exitBitwithlength(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitBitwithlength) { return visitor.visitBitwithlength(this); } else { return visitor.visitChildren(this); } } } export class BitwithoutlengthContext extends ParserRuleContext { public KW_BIT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BIT, 0); } public opt_varying(): Opt_varyingContext | undefined { return this.tryGetRuleContext(0, Opt_varyingContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_bitwithoutlength; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterBitwithoutlength) { listener.enterBitwithoutlength(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitBitwithoutlength) { listener.exitBitwithoutlength(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitBitwithoutlength) { return visitor.visitBitwithoutlength(this); } else { return visitor.visitChildren(this); } } } export class CharacterContext extends ParserRuleContext { public character_c(): Character_cContext { return this.getRuleContext(0, Character_cContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_character; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCharacter) { listener.enterCharacter(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCharacter) { listener.exitCharacter(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCharacter) { return visitor.visitCharacter(this); } else { return visitor.visitChildren(this); } } } export class ConstcharacterContext extends ParserRuleContext { public character_c(): Character_cContext { return this.getRuleContext(0, Character_cContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_constcharacter; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterConstcharacter) { listener.enterConstcharacter(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitConstcharacter) { listener.exitConstcharacter(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitConstcharacter) { return visitor.visitConstcharacter(this); } else { return visitor.visitChildren(this); } } } export class Character_cContext extends ParserRuleContext { public KW_CHARACTER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CHARACTER, 0); } public KW_CHAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CHAR, 0); } public KW_NCHAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NCHAR, 0); } public opt_varying(): Opt_varyingContext | undefined { return this.tryGetRuleContext(0, Opt_varyingContext); } public KW_VARCHAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VARCHAR, 0); } public KW_NATIONAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NATIONAL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_character_c; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCharacter_c) { listener.enterCharacter_c(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCharacter_c) { listener.exitCharacter_c(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCharacter_c) { return visitor.visitCharacter_c(this); } else { return visitor.visitChildren(this); } } } export class Opt_varyingContext extends ParserRuleContext { public KW_VARYING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_VARYING, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_varying; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_varying) { listener.enterOpt_varying(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_varying) { listener.exitOpt_varying(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_varying) { return visitor.visitOpt_varying(this); } else { return visitor.visitChildren(this); } } } export class ConstdatetimeContext extends ParserRuleContext { public KW_TIMESTAMP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TIMESTAMP, 0); } public KW_TIME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TIME, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public opt_timezone(): Opt_timezoneContext | undefined { return this.tryGetRuleContext(0, Opt_timezoneContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_constdatetime; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterConstdatetime) { listener.enterConstdatetime(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitConstdatetime) { listener.exitConstdatetime(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitConstdatetime) { return visitor.visitConstdatetime(this); } else { return visitor.visitChildren(this); } } } export class ConstintervalContext extends ParserRuleContext { public KW_INTERVAL(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INTERVAL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_constinterval; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterConstinterval) { listener.enterConstinterval(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitConstinterval) { listener.exitConstinterval(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitConstinterval) { return visitor.visitConstinterval(this); } else { return visitor.visitChildren(this); } } } export class Opt_timezoneContext extends ParserRuleContext { public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } public KW_TIME(): TerminalNode { return this.getToken(PostgreSQLParser.KW_TIME, 0); } public KW_ZONE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ZONE, 0); } public KW_WITHOUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITHOUT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_timezone; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_timezone) { listener.enterOpt_timezone(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_timezone) { listener.exitOpt_timezone(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_timezone) { return visitor.visitOpt_timezone(this); } else { return visitor.visitChildren(this); } } } export class Opt_intervalContext extends ParserRuleContext { public KW_YEAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_YEAR, 0); } public KW_MONTH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MONTH, 0); } public KW_DAY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DAY, 0); } public KW_HOUR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_HOUR, 0); } public KW_MINUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MINUTE, 0); } public interval_second(): Interval_secondContext | undefined { return this.tryGetRuleContext(0, Interval_secondContext); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_interval; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_interval) { listener.enterOpt_interval(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_interval) { listener.exitOpt_interval(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_interval) { return visitor.visitOpt_interval(this); } else { return visitor.visitChildren(this); } } } export class Interval_secondContext extends ParserRuleContext { public KW_SECOND(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SECOND, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_interval_second; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterInterval_second) { listener.enterInterval_second(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitInterval_second) { listener.exitInterval_second(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitInterval_second) { return visitor.visitInterval_second(this); } else { return visitor.visitChildren(this); } } } export class Opt_escapeContext extends ParserRuleContext { public KW_ESCAPE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ESCAPE, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_escape; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_escape) { listener.enterOpt_escape(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_escape) { listener.exitOpt_escape(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_escape) { return visitor.visitOpt_escape(this); } else { return visitor.visitChildren(this); } } } export class A_exprContext extends ParserRuleContext { public a_expr_qual(): A_expr_qualContext { return this.getRuleContext(0, A_expr_qualContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr) { listener.enterA_expr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr) { listener.exitA_expr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr) { return visitor.visitA_expr(this); } else { return visitor.visitChildren(this); } } } export class A_expr_qualContext extends ParserRuleContext { public a_expr_lessless(): A_expr_lesslessContext { return this.getRuleContext(0, A_expr_lesslessContext); } public qual_op(): Qual_opContext | undefined { return this.tryGetRuleContext(0, Qual_opContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_qual; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_qual) { listener.enterA_expr_qual(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_qual) { listener.exitA_expr_qual(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_qual) { return visitor.visitA_expr_qual(this); } else { return visitor.visitChildren(this); } } } export class A_expr_lesslessContext extends ParserRuleContext { public a_expr_or(): A_expr_orContext[]; public a_expr_or(i: number): A_expr_orContext; public a_expr_or(i?: number): A_expr_orContext | A_expr_orContext[] { if (i === undefined) { return this.getRuleContexts(A_expr_orContext); } else { return this.getRuleContext(i, A_expr_orContext); } } public LESS_LESS(): TerminalNode[]; public LESS_LESS(i: number): TerminalNode; public LESS_LESS(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.LESS_LESS); } else { return this.getToken(PostgreSQLParser.LESS_LESS, i); } } public GREATER_GREATER(): TerminalNode[]; public GREATER_GREATER(i: number): TerminalNode; public GREATER_GREATER(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.GREATER_GREATER); } else { return this.getToken(PostgreSQLParser.GREATER_GREATER, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_lessless; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_lessless) { listener.enterA_expr_lessless(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_lessless) { listener.exitA_expr_lessless(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_lessless) { return visitor.visitA_expr_lessless(this); } else { return visitor.visitChildren(this); } } } export class A_expr_orContext extends ParserRuleContext { public a_expr_and(): A_expr_andContext[]; public a_expr_and(i: number): A_expr_andContext; public a_expr_and(i?: number): A_expr_andContext | A_expr_andContext[] { if (i === undefined) { return this.getRuleContexts(A_expr_andContext); } else { return this.getRuleContext(i, A_expr_andContext); } } public KW_OR(): TerminalNode[]; public KW_OR(i: number): TerminalNode; public KW_OR(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_OR); } else { return this.getToken(PostgreSQLParser.KW_OR, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_or; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_or) { listener.enterA_expr_or(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_or) { listener.exitA_expr_or(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_or) { return visitor.visitA_expr_or(this); } else { return visitor.visitChildren(this); } } } export class A_expr_andContext extends ParserRuleContext { public a_expr_in(): A_expr_inContext[]; public a_expr_in(i: number): A_expr_inContext; public a_expr_in(i?: number): A_expr_inContext | A_expr_inContext[] { if (i === undefined) { return this.getRuleContexts(A_expr_inContext); } else { return this.getRuleContext(i, A_expr_inContext); } } public KW_AND(): TerminalNode[]; public KW_AND(i: number): TerminalNode; public KW_AND(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_AND); } else { return this.getToken(PostgreSQLParser.KW_AND, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_and; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_and) { listener.enterA_expr_and(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_and) { listener.exitA_expr_and(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_and) { return visitor.visitA_expr_and(this); } else { return visitor.visitChildren(this); } } } export class A_expr_inContext extends ParserRuleContext { public a_expr_unary_not(): A_expr_unary_notContext { return this.getRuleContext(0, A_expr_unary_notContext); } public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } public in_expr(): In_exprContext | undefined { return this.tryGetRuleContext(0, In_exprContext); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_in; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_in) { listener.enterA_expr_in(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_in) { listener.exitA_expr_in(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_in) { return visitor.visitA_expr_in(this); } else { return visitor.visitChildren(this); } } } export class A_expr_unary_notContext extends ParserRuleContext { public a_expr_isnull(): A_expr_isnullContext { return this.getRuleContext(0, A_expr_isnullContext); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_unary_not; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_unary_not) { listener.enterA_expr_unary_not(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_unary_not) { listener.exitA_expr_unary_not(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_unary_not) { return visitor.visitA_expr_unary_not(this); } else { return visitor.visitChildren(this); } } } export class A_expr_isnullContext extends ParserRuleContext { public a_expr_is_not(): A_expr_is_notContext { return this.getRuleContext(0, A_expr_is_notContext); } public KW_ISNULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ISNULL, 0); } public KW_NOTNULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOTNULL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_isnull; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_isnull) { listener.enterA_expr_isnull(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_isnull) { listener.exitA_expr_isnull(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_isnull) { return visitor.visitA_expr_isnull(this); } else { return visitor.visitChildren(this); } } } export class A_expr_is_notContext extends ParserRuleContext { public a_expr_compare(): A_expr_compareContext { return this.getRuleContext(0, A_expr_compareContext); } public KW_IS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IS, 0); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } public KW_TRUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRUE, 0); } public KW_FALSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FALSE, 0); } public KW_UNKNOWN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNKNOWN, 0); } public KW_DISTINCT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DISTINCT, 0); } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public KW_OF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OF, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public type_list(): Type_listContext | undefined { return this.tryGetRuleContext(0, Type_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_DOCUMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOCUMENT, 0); } public KW_NORMALIZED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NORMALIZED, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public unicode_normal_form(): Unicode_normal_formContext | undefined { return this.tryGetRuleContext(0, Unicode_normal_formContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_is_not; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_is_not) { listener.enterA_expr_is_not(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_is_not) { listener.exitA_expr_is_not(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_is_not) { return visitor.visitA_expr_is_not(this); } else { return visitor.visitChildren(this); } } } export class A_expr_compareContext extends ParserRuleContext { public a_expr_like(): A_expr_likeContext[]; public a_expr_like(i: number): A_expr_likeContext; public a_expr_like(i?: number): A_expr_likeContext | A_expr_likeContext[] { if (i === undefined) { return this.getRuleContexts(A_expr_likeContext); } else { return this.getRuleContext(i, A_expr_likeContext); } } public subquery_Op(): Subquery_OpContext | undefined { return this.tryGetRuleContext(0, Subquery_OpContext); } public sub_type(): Sub_typeContext | undefined { return this.tryGetRuleContext(0, Sub_typeContext); } public LT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.LT, 0); } public GT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.GT, 0); } public EQUAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EQUAL, 0); } public LESS_EQUALS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.LESS_EQUALS, 0); } public GREATER_EQUALS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.GREATER_EQUALS, 0); } public NOT_EQUALS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.NOT_EQUALS, 0); } public select_with_parens(): Select_with_parensContext | undefined { return this.tryGetRuleContext(0, Select_with_parensContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_compare; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_compare) { listener.enterA_expr_compare(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_compare) { listener.exitA_expr_compare(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_compare) { return visitor.visitA_expr_compare(this); } else { return visitor.visitChildren(this); } } } export class A_expr_likeContext extends ParserRuleContext { public a_expr_qual_op(): A_expr_qual_opContext[]; public a_expr_qual_op(i: number): A_expr_qual_opContext; public a_expr_qual_op(i?: number): A_expr_qual_opContext | A_expr_qual_opContext[] { if (i === undefined) { return this.getRuleContexts(A_expr_qual_opContext); } else { return this.getRuleContext(i, A_expr_qual_opContext); } } public KW_LIKE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LIKE, 0); } public KW_ILIKE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ILIKE, 0); } public KW_SIMILAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SIMILAR, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public KW_BETWEEN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BETWEEN, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public opt_escape(): Opt_escapeContext | undefined { return this.tryGetRuleContext(0, Opt_escapeContext); } public KW_SYMMETRIC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SYMMETRIC, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_like; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_like) { listener.enterA_expr_like(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_like) { listener.exitA_expr_like(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_like) { return visitor.visitA_expr_like(this); } else { return visitor.visitChildren(this); } } } export class A_expr_qual_opContext extends ParserRuleContext { public a_expr_unary_qualop(): A_expr_unary_qualopContext[]; public a_expr_unary_qualop(i: number): A_expr_unary_qualopContext; public a_expr_unary_qualop(i?: number): A_expr_unary_qualopContext | A_expr_unary_qualopContext[] { if (i === undefined) { return this.getRuleContexts(A_expr_unary_qualopContext); } else { return this.getRuleContext(i, A_expr_unary_qualopContext); } } public qual_op(): Qual_opContext[]; public qual_op(i: number): Qual_opContext; public qual_op(i?: number): Qual_opContext | Qual_opContext[] { if (i === undefined) { return this.getRuleContexts(Qual_opContext); } else { return this.getRuleContext(i, Qual_opContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_qual_op; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_qual_op) { listener.enterA_expr_qual_op(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_qual_op) { listener.exitA_expr_qual_op(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_qual_op) { return visitor.visitA_expr_qual_op(this); } else { return visitor.visitChildren(this); } } } export class A_expr_unary_qualopContext extends ParserRuleContext { public a_expr_add(): A_expr_addContext { return this.getRuleContext(0, A_expr_addContext); } public qual_op(): Qual_opContext | undefined { return this.tryGetRuleContext(0, Qual_opContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_unary_qualop; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_unary_qualop) { listener.enterA_expr_unary_qualop(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_unary_qualop) { listener.exitA_expr_unary_qualop(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_unary_qualop) { return visitor.visitA_expr_unary_qualop(this); } else { return visitor.visitChildren(this); } } } export class A_expr_addContext extends ParserRuleContext { public a_expr_mul(): A_expr_mulContext[]; public a_expr_mul(i: number): A_expr_mulContext; public a_expr_mul(i?: number): A_expr_mulContext | A_expr_mulContext[] { if (i === undefined) { return this.getRuleContexts(A_expr_mulContext); } else { return this.getRuleContext(i, A_expr_mulContext); } } public MINUS(): TerminalNode[]; public MINUS(i: number): TerminalNode; public MINUS(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.MINUS); } else { return this.getToken(PostgreSQLParser.MINUS, i); } } public PLUS(): TerminalNode[]; public PLUS(i: number): TerminalNode; public PLUS(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.PLUS); } else { return this.getToken(PostgreSQLParser.PLUS, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_add; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_add) { listener.enterA_expr_add(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_add) { listener.exitA_expr_add(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_add) { return visitor.visitA_expr_add(this); } else { return visitor.visitChildren(this); } } } export class A_expr_mulContext extends ParserRuleContext { public a_expr_caret(): A_expr_caretContext[]; public a_expr_caret(i: number): A_expr_caretContext; public a_expr_caret(i?: number): A_expr_caretContext | A_expr_caretContext[] { if (i === undefined) { return this.getRuleContexts(A_expr_caretContext); } else { return this.getRuleContext(i, A_expr_caretContext); } } public STAR(): TerminalNode[]; public STAR(i: number): TerminalNode; public STAR(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.STAR); } else { return this.getToken(PostgreSQLParser.STAR, i); } } public SLASH(): TerminalNode[]; public SLASH(i: number): TerminalNode; public SLASH(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.SLASH); } else { return this.getToken(PostgreSQLParser.SLASH, i); } } public PERCENT(): TerminalNode[]; public PERCENT(i: number): TerminalNode; public PERCENT(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.PERCENT); } else { return this.getToken(PostgreSQLParser.PERCENT, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_mul; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_mul) { listener.enterA_expr_mul(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_mul) { listener.exitA_expr_mul(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_mul) { return visitor.visitA_expr_mul(this); } else { return visitor.visitChildren(this); } } } export class A_expr_caretContext extends ParserRuleContext { public a_expr_unary_sign(): A_expr_unary_signContext { return this.getRuleContext(0, A_expr_unary_signContext); } public CARET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CARET, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_caret; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_caret) { listener.enterA_expr_caret(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_caret) { listener.exitA_expr_caret(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_caret) { return visitor.visitA_expr_caret(this); } else { return visitor.visitChildren(this); } } } export class A_expr_unary_signContext extends ParserRuleContext { public a_expr_at_time_zone(): A_expr_at_time_zoneContext { return this.getRuleContext(0, A_expr_at_time_zoneContext); } public MINUS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.MINUS, 0); } public PLUS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PLUS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_unary_sign; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_unary_sign) { listener.enterA_expr_unary_sign(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_unary_sign) { listener.exitA_expr_unary_sign(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_unary_sign) { return visitor.visitA_expr_unary_sign(this); } else { return visitor.visitChildren(this); } } } export class A_expr_at_time_zoneContext extends ParserRuleContext { public a_expr_collate(): A_expr_collateContext { return this.getRuleContext(0, A_expr_collateContext); } public KW_AT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AT, 0); } public KW_TIME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TIME, 0); } public KW_ZONE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ZONE, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_at_time_zone; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_at_time_zone) { listener.enterA_expr_at_time_zone(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_at_time_zone) { listener.exitA_expr_at_time_zone(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_at_time_zone) { return visitor.visitA_expr_at_time_zone(this); } else { return visitor.visitChildren(this); } } } export class A_expr_collateContext extends ParserRuleContext { public a_expr_typecast(): A_expr_typecastContext { return this.getRuleContext(0, A_expr_typecastContext); } public KW_COLLATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATE, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_collate; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_collate) { listener.enterA_expr_collate(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_collate) { listener.exitA_expr_collate(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_collate) { return visitor.visitA_expr_collate(this); } else { return visitor.visitChildren(this); } } } export class A_expr_typecastContext extends ParserRuleContext { public c_expr(): C_exprContext { return this.getRuleContext(0, C_exprContext); } public TYPECAST(): TerminalNode[]; public TYPECAST(i: number): TerminalNode; public TYPECAST(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.TYPECAST); } else { return this.getToken(PostgreSQLParser.TYPECAST, i); } } public typename(): TypenameContext[]; public typename(i: number): TypenameContext; public typename(i?: number): TypenameContext | TypenameContext[] { if (i === undefined) { return this.getRuleContexts(TypenameContext); } else { return this.getRuleContext(i, TypenameContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_a_expr_typecast; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterA_expr_typecast) { listener.enterA_expr_typecast(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitA_expr_typecast) { listener.exitA_expr_typecast(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitA_expr_typecast) { return visitor.visitA_expr_typecast(this); } else { return visitor.visitChildren(this); } } } export class B_exprContext extends ParserRuleContext { public c_expr(): C_exprContext | undefined { return this.tryGetRuleContext(0, C_exprContext); } public b_expr(): B_exprContext[]; public b_expr(i: number): B_exprContext; public b_expr(i?: number): B_exprContext | B_exprContext[] { if (i === undefined) { return this.getRuleContexts(B_exprContext); } else { return this.getRuleContext(i, B_exprContext); } } public TYPECAST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.TYPECAST, 0); } public typename(): TypenameContext | undefined { return this.tryGetRuleContext(0, TypenameContext); } public PLUS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PLUS, 0); } public MINUS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.MINUS, 0); } public CARET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CARET, 0); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } public SLASH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.SLASH, 0); } public PERCENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PERCENT, 0); } public qual_op(): Qual_opContext | undefined { return this.tryGetRuleContext(0, Qual_opContext); } public LT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.LT, 0); } public GT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.GT, 0); } public EQUAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EQUAL, 0); } public LESS_EQUALS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.LESS_EQUALS, 0); } public GREATER_EQUALS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.GREATER_EQUALS, 0); } public NOT_EQUALS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.NOT_EQUALS, 0); } public KW_IS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IS, 0); } public KW_DISTINCT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DISTINCT, 0); } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public KW_OF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OF, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public type_list(): Type_listContext | undefined { return this.tryGetRuleContext(0, Type_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_DOCUMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOCUMENT, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_b_expr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterB_expr) { listener.enterB_expr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitB_expr) { listener.exitB_expr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitB_expr) { return visitor.visitB_expr(this); } else { return visitor.visitChildren(this); } } } export class C_exprContext extends ParserRuleContext { constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_c_expr; } public copyFrom(ctx: C_exprContext): void { super.copyFrom(ctx); } } export class C_expr_existsContext extends C_exprContext { public KW_EXISTS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXISTS, 0); } public select_with_parens(): Select_with_parensContext { return this.getRuleContext(0, Select_with_parensContext); } constructor(ctx: C_exprContext) { super(ctx.parent, ctx.invokingState); this.copyFrom(ctx); } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterC_expr_exists) { listener.enterC_expr_exists(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitC_expr_exists) { listener.exitC_expr_exists(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitC_expr_exists) { return visitor.visitC_expr_exists(this); } else { return visitor.visitChildren(this); } } } export class C_expr_exprContext extends C_exprContext { public _a_expr_in_parens!: A_exprContext; public KW_ARRAY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ARRAY, 0); } public select_with_parens(): Select_with_parensContext | undefined { return this.tryGetRuleContext(0, Select_with_parensContext); } public array_expr(): Array_exprContext | undefined { return this.tryGetRuleContext(0, Array_exprContext); } public PARAM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PARAM, 0); } public opt_indirection(): Opt_indirectionContext | undefined { return this.tryGetRuleContext(0, Opt_indirectionContext); } public KW_GROUPING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GROUPING, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public expr_list(): Expr_listContext | undefined { return this.tryGetRuleContext(0, Expr_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_UNIQUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNIQUE, 0); } public columnref(): ColumnrefContext | undefined { return this.tryGetRuleContext(0, ColumnrefContext); } public aexprconst(): AexprconstContext | undefined { return this.tryGetRuleContext(0, AexprconstContext); } public plsqlvariablename(): PlsqlvariablenameContext | undefined { return this.tryGetRuleContext(0, PlsqlvariablenameContext); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public func_expr(): Func_exprContext | undefined { return this.tryGetRuleContext(0, Func_exprContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } public explicit_row(): Explicit_rowContext | undefined { return this.tryGetRuleContext(0, Explicit_rowContext); } public implicit_row(): Implicit_rowContext | undefined { return this.tryGetRuleContext(0, Implicit_rowContext); } public row(): RowContext[]; public row(i: number): RowContext; public row(i?: number): RowContext | RowContext[] { if (i === undefined) { return this.getRuleContexts(RowContext); } else { return this.getRuleContext(i, RowContext); } } public KW_OVERLAPS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OVERLAPS, 0); } constructor(ctx: C_exprContext) { super(ctx.parent, ctx.invokingState); this.copyFrom(ctx); } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterC_expr_expr) { listener.enterC_expr_expr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitC_expr_expr) { listener.exitC_expr_expr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitC_expr_expr) { return visitor.visitC_expr_expr(this); } else { return visitor.visitChildren(this); } } } export class C_expr_caseContext extends C_exprContext { public case_expr(): Case_exprContext { return this.getRuleContext(0, Case_exprContext); } constructor(ctx: C_exprContext) { super(ctx.parent, ctx.invokingState); this.copyFrom(ctx); } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterC_expr_case) { listener.enterC_expr_case(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitC_expr_case) { listener.exitC_expr_case(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitC_expr_case) { return visitor.visitC_expr_case(this); } else { return visitor.visitChildren(this); } } } export class PlsqlvariablenameContext extends ParserRuleContext { public PLSQLVARIABLENAME(): TerminalNode { return this.getToken(PostgreSQLParser.PLSQLVARIABLENAME, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_plsqlvariablename; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPlsqlvariablename) { listener.enterPlsqlvariablename(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPlsqlvariablename) { listener.exitPlsqlvariablename(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPlsqlvariablename) { return visitor.visitPlsqlvariablename(this); } else { return visitor.visitChildren(this); } } } export class Func_applicationContext extends ParserRuleContext { public function_name(): Function_nameContext { return this.getRuleContext(0, Function_nameContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public func_arg_list(): Func_arg_listContext | undefined { return this.tryGetRuleContext(0, Func_arg_listContext); } public KW_VARIADIC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VARIADIC, 0); } public func_arg_expr(): Func_arg_exprContext | undefined { return this.tryGetRuleContext(0, Func_arg_exprContext); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public KW_DISTINCT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DISTINCT, 0); } public COMMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.COMMA, 0); } public opt_sort_clause(): Opt_sort_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_sort_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_application; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_application) { listener.enterFunc_application(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_application) { listener.exitFunc_application(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_application) { return visitor.visitFunc_application(this); } else { return visitor.visitChildren(this); } } } export class Func_exprContext extends ParserRuleContext { public func_application(): Func_applicationContext | undefined { return this.tryGetRuleContext(0, Func_applicationContext); } public within_group_clause(): Within_group_clauseContext | undefined { return this.tryGetRuleContext(0, Within_group_clauseContext); } public filter_clause(): Filter_clauseContext | undefined { return this.tryGetRuleContext(0, Filter_clauseContext); } public over_clause(): Over_clauseContext | undefined { return this.tryGetRuleContext(0, Over_clauseContext); } public func_expr_common_subexpr(): Func_expr_common_subexprContext | undefined { return this.tryGetRuleContext(0, Func_expr_common_subexprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_expr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_expr) { listener.enterFunc_expr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_expr) { listener.exitFunc_expr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_expr) { return visitor.visitFunc_expr(this); } else { return visitor.visitChildren(this); } } } export class Func_expr_windowlessContext extends ParserRuleContext { public func_application(): Func_applicationContext | undefined { return this.tryGetRuleContext(0, Func_applicationContext); } public func_expr_common_subexpr(): Func_expr_common_subexprContext | undefined { return this.tryGetRuleContext(0, Func_expr_common_subexprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_expr_windowless; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_expr_windowless) { listener.enterFunc_expr_windowless(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_expr_windowless) { listener.exitFunc_expr_windowless(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_expr_windowless) { return visitor.visitFunc_expr_windowless(this); } else { return visitor.visitChildren(this); } } } export class Func_expr_common_subexprContext extends ParserRuleContext { public KW_COLLATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATION, 0); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext[]; public a_expr(i: number): A_exprContext; public a_expr(i?: number): A_exprContext | A_exprContext[] { if (i === undefined) { return this.getRuleContexts(A_exprContext); } else { return this.getRuleContext(i, A_exprContext); } } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_CURRENT_DATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_DATE, 0); } public KW_CURRENT_TIME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_TIME, 0); } public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } public KW_CURRENT_TIMESTAMP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_TIMESTAMP, 0); } public KW_LOCALTIME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCALTIME, 0); } public KW_LOCALTIMESTAMP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCALTIMESTAMP, 0); } public KW_CURRENT_ROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_ROLE, 0); } public KW_CURRENT_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_USER, 0); } public KW_SESSION_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SESSION_USER, 0); } public KW_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USER, 0); } public KW_CURRENT_CATALOG(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_CATALOG, 0); } public KW_CURRENT_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_SCHEMA, 0); } public KW_CAST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CAST, 0); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public typename(): TypenameContext | undefined { return this.tryGetRuleContext(0, TypenameContext); } public KW_EXTRACT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTRACT, 0); } public extract_list(): Extract_listContext | undefined { return this.tryGetRuleContext(0, Extract_listContext); } public KW_NORMALIZE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NORMALIZE, 0); } public COMMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.COMMA, 0); } public unicode_normal_form(): Unicode_normal_formContext | undefined { return this.tryGetRuleContext(0, Unicode_normal_formContext); } public KW_OVERLAY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OVERLAY, 0); } public overlay_list(): Overlay_listContext | undefined { return this.tryGetRuleContext(0, Overlay_listContext); } public KW_POSITION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_POSITION, 0); } public position_list(): Position_listContext | undefined { return this.tryGetRuleContext(0, Position_listContext); } public KW_SUBSTRING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SUBSTRING, 0); } public substr_list(): Substr_listContext | undefined { return this.tryGetRuleContext(0, Substr_listContext); } public KW_TREAT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TREAT, 0); } public KW_TRIM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRIM, 0); } public trim_list(): Trim_listContext | undefined { return this.tryGetRuleContext(0, Trim_listContext); } public KW_BOTH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BOTH, 0); } public KW_LEADING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEADING, 0); } public KW_TRAILING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRAILING, 0); } public KW_NULLIF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULLIF, 0); } public KW_COALESCE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COALESCE, 0); } public expr_list(): Expr_listContext | undefined { return this.tryGetRuleContext(0, Expr_listContext); } public KW_GREATEST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GREATEST, 0); } public KW_LEAST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEAST, 0); } public KW_XMLCONCAT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLCONCAT, 0); } public KW_XMLELEMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLELEMENT, 0); } public KW_NAME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NAME, 0); } public collabel(): CollabelContext | undefined { return this.tryGetRuleContext(0, CollabelContext); } public xml_attributes(): Xml_attributesContext | undefined { return this.tryGetRuleContext(0, Xml_attributesContext); } public KW_XMLEXISTS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLEXISTS, 0); } public c_expr(): C_exprContext | undefined { return this.tryGetRuleContext(0, C_exprContext); } public xmlexists_argument(): Xmlexists_argumentContext | undefined { return this.tryGetRuleContext(0, Xmlexists_argumentContext); } public KW_XMLFOREST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLFOREST, 0); } public xml_attribute_list(): Xml_attribute_listContext | undefined { return this.tryGetRuleContext(0, Xml_attribute_listContext); } public KW_XMLPARSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLPARSE, 0); } public document_or_content(): Document_or_contentContext | undefined { return this.tryGetRuleContext(0, Document_or_contentContext); } public xml_whitespace_option(): Xml_whitespace_optionContext | undefined { return this.tryGetRuleContext(0, Xml_whitespace_optionContext); } public KW_XMLPI(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLPI, 0); } public KW_XMLROOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLROOT, 0); } public KW_XML(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XML, 0); } public xml_root_version(): Xml_root_versionContext | undefined { return this.tryGetRuleContext(0, Xml_root_versionContext); } public opt_xml_root_standalone(): Opt_xml_root_standaloneContext | undefined { return this.tryGetRuleContext(0, Opt_xml_root_standaloneContext); } public KW_XMLSERIALIZE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLSERIALIZE, 0); } public simpletypename(): SimpletypenameContext | undefined { return this.tryGetRuleContext(0, SimpletypenameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_expr_common_subexpr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_expr_common_subexpr) { listener.enterFunc_expr_common_subexpr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_expr_common_subexpr) { listener.exitFunc_expr_common_subexpr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_expr_common_subexpr) { return visitor.visitFunc_expr_common_subexpr(this); } else { return visitor.visitChildren(this); } } } export class Xml_root_versionContext extends ParserRuleContext { public KW_VERSION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_VERSION, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } public KW_VALUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALUE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xml_root_version; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXml_root_version) { listener.enterXml_root_version(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXml_root_version) { listener.exitXml_root_version(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXml_root_version) { return visitor.visitXml_root_version(this); } else { return visitor.visitChildren(this); } } } export class Opt_xml_root_standaloneContext extends ParserRuleContext { public COMMA(): TerminalNode { return this.getToken(PostgreSQLParser.COMMA, 0); } public KW_STANDALONE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_STANDALONE, 0); } public KW_YES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_YES, 0); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } public KW_VALUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALUE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_xml_root_standalone; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_xml_root_standalone) { listener.enterOpt_xml_root_standalone(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_xml_root_standalone) { listener.exitOpt_xml_root_standalone(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_xml_root_standalone) { return visitor.visitOpt_xml_root_standalone(this); } else { return visitor.visitChildren(this); } } } export class Xml_attributesContext extends ParserRuleContext { public KW_XMLATTRIBUTES(): TerminalNode { return this.getToken(PostgreSQLParser.KW_XMLATTRIBUTES, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public xml_attribute_list(): Xml_attribute_listContext { return this.getRuleContext(0, Xml_attribute_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xml_attributes; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXml_attributes) { listener.enterXml_attributes(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXml_attributes) { listener.exitXml_attributes(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXml_attributes) { return visitor.visitXml_attributes(this); } else { return visitor.visitChildren(this); } } } export class Xml_attribute_listContext extends ParserRuleContext { public xml_attribute_el(): Xml_attribute_elContext[]; public xml_attribute_el(i: number): Xml_attribute_elContext; public xml_attribute_el(i?: number): Xml_attribute_elContext | Xml_attribute_elContext[] { if (i === undefined) { return this.getRuleContexts(Xml_attribute_elContext); } else { return this.getRuleContext(i, Xml_attribute_elContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xml_attribute_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXml_attribute_list) { listener.enterXml_attribute_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXml_attribute_list) { listener.exitXml_attribute_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXml_attribute_list) { return visitor.visitXml_attribute_list(this); } else { return visitor.visitChildren(this); } } } export class Xml_attribute_elContext extends ParserRuleContext { public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public collabel(): CollabelContext | undefined { return this.tryGetRuleContext(0, CollabelContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xml_attribute_el; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXml_attribute_el) { listener.enterXml_attribute_el(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXml_attribute_el) { listener.exitXml_attribute_el(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXml_attribute_el) { return visitor.visitXml_attribute_el(this); } else { return visitor.visitChildren(this); } } } export class Document_or_contentContext extends ParserRuleContext { public KW_DOCUMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOCUMENT, 0); } public KW_CONTENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONTENT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_document_or_content; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDocument_or_content) { listener.enterDocument_or_content(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDocument_or_content) { listener.exitDocument_or_content(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDocument_or_content) { return visitor.visitDocument_or_content(this); } else { return visitor.visitChildren(this); } } } export class Xml_whitespace_optionContext extends ParserRuleContext { public KW_PRESERVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRESERVE, 0); } public KW_WHITESPACE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WHITESPACE, 0); } public KW_STRIP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STRIP, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xml_whitespace_option; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXml_whitespace_option) { listener.enterXml_whitespace_option(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXml_whitespace_option) { listener.exitXml_whitespace_option(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXml_whitespace_option) { return visitor.visitXml_whitespace_option(this); } else { return visitor.visitChildren(this); } } } export class Xmlexists_argumentContext extends ParserRuleContext { public KW_PASSING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PASSING, 0); } public c_expr(): C_exprContext { return this.getRuleContext(0, C_exprContext); } public xml_passing_mech(): Xml_passing_mechContext[]; public xml_passing_mech(i: number): Xml_passing_mechContext; public xml_passing_mech(i?: number): Xml_passing_mechContext | Xml_passing_mechContext[] { if (i === undefined) { return this.getRuleContexts(Xml_passing_mechContext); } else { return this.getRuleContext(i, Xml_passing_mechContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xmlexists_argument; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXmlexists_argument) { listener.enterXmlexists_argument(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXmlexists_argument) { listener.exitXmlexists_argument(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXmlexists_argument) { return visitor.visitXmlexists_argument(this); } else { return visitor.visitChildren(this); } } } export class Xml_passing_mechContext extends ParserRuleContext { public KW_BY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BY, 0); } public KW_REF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REF, 0); } public KW_VALUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALUE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xml_passing_mech; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXml_passing_mech) { listener.enterXml_passing_mech(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXml_passing_mech) { listener.exitXml_passing_mech(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXml_passing_mech) { return visitor.visitXml_passing_mech(this); } else { return visitor.visitChildren(this); } } } export class Within_group_clauseContext extends ParserRuleContext { public KW_WITHIN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WITHIN, 0); } public KW_GROUP(): TerminalNode { return this.getToken(PostgreSQLParser.KW_GROUP, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public sort_clause(): Sort_clauseContext { return this.getRuleContext(0, Sort_clauseContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_within_group_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterWithin_group_clause) { listener.enterWithin_group_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitWithin_group_clause) { listener.exitWithin_group_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitWithin_group_clause) { return visitor.visitWithin_group_clause(this); } else { return visitor.visitChildren(this); } } } export class Filter_clauseContext extends ParserRuleContext { public KW_FILTER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FILTER, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public KW_WHERE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WHERE, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_filter_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFilter_clause) { listener.enterFilter_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFilter_clause) { listener.exitFilter_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFilter_clause) { return visitor.visitFilter_clause(this); } else { return visitor.visitChildren(this); } } } export class Window_clauseContext extends ParserRuleContext { public KW_WINDOW(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WINDOW, 0); } public window_definition_list(): Window_definition_listContext { return this.getRuleContext(0, Window_definition_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_window_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterWindow_clause) { listener.enterWindow_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitWindow_clause) { listener.exitWindow_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitWindow_clause) { return visitor.visitWindow_clause(this); } else { return visitor.visitChildren(this); } } } export class Window_definition_listContext extends ParserRuleContext { public window_definition(): Window_definitionContext[]; public window_definition(i: number): Window_definitionContext; public window_definition(i?: number): Window_definitionContext | Window_definitionContext[] { if (i === undefined) { return this.getRuleContexts(Window_definitionContext); } else { return this.getRuleContext(i, Window_definitionContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_window_definition_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterWindow_definition_list) { listener.enterWindow_definition_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitWindow_definition_list) { listener.exitWindow_definition_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitWindow_definition_list) { return visitor.visitWindow_definition_list(this); } else { return visitor.visitChildren(this); } } } export class Window_definitionContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public KW_AS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AS, 0); } public window_specification(): Window_specificationContext { return this.getRuleContext(0, Window_specificationContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_window_definition; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterWindow_definition) { listener.enterWindow_definition(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitWindow_definition) { listener.exitWindow_definition(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitWindow_definition) { return visitor.visitWindow_definition(this); } else { return visitor.visitChildren(this); } } } export class Over_clauseContext extends ParserRuleContext { public KW_OVER(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OVER, 0); } public window_specification(): Window_specificationContext | undefined { return this.tryGetRuleContext(0, Window_specificationContext); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_over_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOver_clause) { listener.enterOver_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOver_clause) { listener.exitOver_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOver_clause) { return visitor.visitOver_clause(this); } else { return visitor.visitChildren(this); } } } export class Window_specificationContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public opt_existing_window_name(): Opt_existing_window_nameContext | undefined { return this.tryGetRuleContext(0, Opt_existing_window_nameContext); } public opt_partition_clause(): Opt_partition_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_partition_clauseContext); } public opt_sort_clause(): Opt_sort_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_sort_clauseContext); } public opt_frame_clause(): Opt_frame_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_frame_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_window_specification; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterWindow_specification) { listener.enterWindow_specification(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitWindow_specification) { listener.exitWindow_specification(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitWindow_specification) { return visitor.visitWindow_specification(this); } else { return visitor.visitChildren(this); } } } export class Opt_existing_window_nameContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_existing_window_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_existing_window_name) { listener.enterOpt_existing_window_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_existing_window_name) { listener.exitOpt_existing_window_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_existing_window_name) { return visitor.visitOpt_existing_window_name(this); } else { return visitor.visitChildren(this); } } } export class Opt_partition_clauseContext extends ParserRuleContext { public KW_PARTITION(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PARTITION, 0); } public KW_BY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BY, 0); } public expr_list(): Expr_listContext { return this.getRuleContext(0, Expr_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_partition_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_partition_clause) { listener.enterOpt_partition_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_partition_clause) { listener.exitOpt_partition_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_partition_clause) { return visitor.visitOpt_partition_clause(this); } else { return visitor.visitChildren(this); } } } export class Opt_frame_clauseContext extends ParserRuleContext { public KW_RANGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RANGE, 0); } public frame_extent(): Frame_extentContext { return this.getRuleContext(0, Frame_extentContext); } public opt_window_exclusion_clause(): Opt_window_exclusion_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_window_exclusion_clauseContext); } public KW_ROWS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROWS, 0); } public KW_GROUPS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GROUPS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_frame_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_frame_clause) { listener.enterOpt_frame_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_frame_clause) { listener.exitOpt_frame_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_frame_clause) { return visitor.visitOpt_frame_clause(this); } else { return visitor.visitChildren(this); } } } export class Frame_extentContext extends ParserRuleContext { public frame_bound(): Frame_boundContext[]; public frame_bound(i: number): Frame_boundContext; public frame_bound(i?: number): Frame_boundContext | Frame_boundContext[] { if (i === undefined) { return this.getRuleContexts(Frame_boundContext); } else { return this.getRuleContext(i, Frame_boundContext); } } public KW_BETWEEN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BETWEEN, 0); } public KW_AND(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AND, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_frame_extent; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFrame_extent) { listener.enterFrame_extent(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFrame_extent) { listener.exitFrame_extent(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFrame_extent) { return visitor.visitFrame_extent(this); } else { return visitor.visitChildren(this); } } } export class Frame_boundContext extends ParserRuleContext { public KW_UNBOUNDED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNBOUNDED, 0); } public KW_PRECEDING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRECEDING, 0); } public KW_FOLLOWING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOLLOWING, 0); } public KW_CURRENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT, 0); } public KW_ROW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROW, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_frame_bound; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFrame_bound) { listener.enterFrame_bound(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFrame_bound) { listener.exitFrame_bound(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFrame_bound) { return visitor.visitFrame_bound(this); } else { return visitor.visitChildren(this); } } } export class Opt_window_exclusion_clauseContext extends ParserRuleContext { public KW_EXCLUDE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXCLUDE, 0); } public KW_CURRENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT, 0); } public KW_ROW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROW, 0); } public KW_GROUP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GROUP, 0); } public KW_TIES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TIES, 0); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } public KW_OTHERS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OTHERS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_window_exclusion_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_window_exclusion_clause) { listener.enterOpt_window_exclusion_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_window_exclusion_clause) { listener.exitOpt_window_exclusion_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_window_exclusion_clause) { return visitor.visitOpt_window_exclusion_clause(this); } else { return visitor.visitChildren(this); } } } export class RowContext extends ParserRuleContext { public KW_ROW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROW, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public expr_list(): Expr_listContext | undefined { return this.tryGetRuleContext(0, Expr_listContext); } public COMMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.COMMA, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_row; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRow) { listener.enterRow(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRow) { listener.exitRow(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRow) { return visitor.visitRow(this); } else { return visitor.visitChildren(this); } } } export class Explicit_rowContext extends ParserRuleContext { public KW_ROW(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ROW, 0); } public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public expr_list(): Expr_listContext | undefined { return this.tryGetRuleContext(0, Expr_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_explicit_row; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExplicit_row) { listener.enterExplicit_row(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExplicit_row) { listener.exitExplicit_row(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExplicit_row) { return visitor.visitExplicit_row(this); } else { return visitor.visitChildren(this); } } } export class Implicit_rowContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public expr_list(): Expr_listContext { return this.getRuleContext(0, Expr_listContext); } public COMMA(): TerminalNode { return this.getToken(PostgreSQLParser.COMMA, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_implicit_row; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterImplicit_row) { listener.enterImplicit_row(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitImplicit_row) { listener.exitImplicit_row(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitImplicit_row) { return visitor.visitImplicit_row(this); } else { return visitor.visitChildren(this); } } } export class Sub_typeContext extends ParserRuleContext { public KW_ANY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ANY, 0); } public KW_SOME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SOME, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_sub_type; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSub_type) { listener.enterSub_type(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSub_type) { listener.exitSub_type(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSub_type) { return visitor.visitSub_type(this); } else { return visitor.visitChildren(this); } } } export class All_opContext extends ParserRuleContext { public Operator(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.Operator, 0); } public mathop(): MathopContext | undefined { return this.tryGetRuleContext(0, MathopContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_all_op; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAll_op) { listener.enterAll_op(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAll_op) { listener.exitAll_op(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAll_op) { return visitor.visitAll_op(this); } else { return visitor.visitChildren(this); } } } export class MathopContext extends ParserRuleContext { public PLUS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PLUS, 0); } public MINUS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.MINUS, 0); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } public SLASH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.SLASH, 0); } public PERCENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PERCENT, 0); } public CARET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CARET, 0); } public LT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.LT, 0); } public GT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.GT, 0); } public EQUAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EQUAL, 0); } public LESS_EQUALS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.LESS_EQUALS, 0); } public GREATER_EQUALS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.GREATER_EQUALS, 0); } public NOT_EQUALS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.NOT_EQUALS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_mathop; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterMathop) { listener.enterMathop(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitMathop) { listener.exitMathop(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitMathop) { return visitor.visitMathop(this); } else { return visitor.visitChildren(this); } } } export class Qual_opContext extends ParserRuleContext { public Operator(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.Operator, 0); } public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public any_operator(): Any_operatorContext | undefined { return this.tryGetRuleContext(0, Any_operatorContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_qual_op; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterQual_op) { listener.enterQual_op(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitQual_op) { listener.exitQual_op(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitQual_op) { return visitor.visitQual_op(this); } else { return visitor.visitChildren(this); } } } export class Qual_all_opContext extends ParserRuleContext { public all_op(): All_opContext | undefined { return this.tryGetRuleContext(0, All_opContext); } public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public any_operator(): Any_operatorContext | undefined { return this.tryGetRuleContext(0, Any_operatorContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_qual_all_op; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterQual_all_op) { listener.enterQual_all_op(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitQual_all_op) { listener.exitQual_all_op(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitQual_all_op) { return visitor.visitQual_all_op(this); } else { return visitor.visitChildren(this); } } } export class Subquery_OpContext extends ParserRuleContext { public all_op(): All_opContext | undefined { return this.tryGetRuleContext(0, All_opContext); } public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public any_operator(): Any_operatorContext | undefined { return this.tryGetRuleContext(0, Any_operatorContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_LIKE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LIKE, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public KW_ILIKE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ILIKE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_subquery_Op; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSubquery_Op) { listener.enterSubquery_Op(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSubquery_Op) { listener.exitSubquery_Op(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSubquery_Op) { return visitor.visitSubquery_Op(this); } else { return visitor.visitChildren(this); } } } export class Expr_listContext extends ParserRuleContext { public a_expr(): A_exprContext[]; public a_expr(i: number): A_exprContext; public a_expr(i?: number): A_exprContext | A_exprContext[] { if (i === undefined) { return this.getRuleContexts(A_exprContext); } else { return this.getRuleContext(i, A_exprContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_expr_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExpr_list) { listener.enterExpr_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExpr_list) { listener.exitExpr_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExpr_list) { return visitor.visitExpr_list(this); } else { return visitor.visitChildren(this); } } } export class Column_expr_list_noparenContext extends ParserRuleContext { public column_expr_noparen(): Column_expr_noparenContext[]; public column_expr_noparen(i: number): Column_expr_noparenContext; public column_expr_noparen(i?: number): Column_expr_noparenContext | Column_expr_noparenContext[] { if (i === undefined) { return this.getRuleContexts(Column_expr_noparenContext); } else { return this.getRuleContext(i, Column_expr_noparenContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_column_expr_list_noparen; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColumn_expr_list_noparen) { listener.enterColumn_expr_list_noparen(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColumn_expr_list_noparen) { listener.exitColumn_expr_list_noparen(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColumn_expr_list_noparen) { return visitor.visitColumn_expr_list_noparen(this); } else { return visitor.visitChildren(this); } } } export class Column_expr_listContext extends ParserRuleContext { public column_expr(): Column_exprContext[]; public column_expr(i: number): Column_exprContext; public column_expr(i?: number): Column_exprContext | Column_exprContext[] { if (i === undefined) { return this.getRuleContexts(Column_exprContext); } else { return this.getRuleContext(i, Column_exprContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_column_expr_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColumn_expr_list) { listener.enterColumn_expr_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColumn_expr_list) { listener.exitColumn_expr_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColumn_expr_list) { return visitor.visitColumn_expr_list(this); } else { return visitor.visitChildren(this); } } } export class Column_exprContext extends ParserRuleContext { public column_name(): Column_nameContext | undefined { return this.tryGetRuleContext(0, Column_nameContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_column_expr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColumn_expr) { listener.enterColumn_expr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColumn_expr) { listener.exitColumn_expr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColumn_expr) { return visitor.visitColumn_expr(this); } else { return visitor.visitChildren(this); } } } export class Column_expr_noparenContext extends ParserRuleContext { public column_name(): Column_nameContext | undefined { return this.tryGetRuleContext(0, Column_nameContext); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_column_expr_noparen; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColumn_expr_noparen) { listener.enterColumn_expr_noparen(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColumn_expr_noparen) { listener.exitColumn_expr_noparen(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColumn_expr_noparen) { return visitor.visitColumn_expr_noparen(this); } else { return visitor.visitChildren(this); } } } export class Func_arg_listContext extends ParserRuleContext { public func_arg_expr(): Func_arg_exprContext[]; public func_arg_expr(i: number): Func_arg_exprContext; public func_arg_expr(i?: number): Func_arg_exprContext | Func_arg_exprContext[] { if (i === undefined) { return this.getRuleContexts(Func_arg_exprContext); } else { return this.getRuleContext(i, Func_arg_exprContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_arg_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_arg_list) { listener.enterFunc_arg_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_arg_list) { listener.exitFunc_arg_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_arg_list) { return visitor.visitFunc_arg_list(this); } else { return visitor.visitChildren(this); } } } export class Func_arg_exprContext extends ParserRuleContext { public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } public param_name(): Param_nameContext | undefined { return this.tryGetRuleContext(0, Param_nameContext); } public COLON_EQUALS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.COLON_EQUALS, 0); } public EQUALS_GREATER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EQUALS_GREATER, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_func_arg_expr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunc_arg_expr) { listener.enterFunc_arg_expr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunc_arg_expr) { listener.exitFunc_arg_expr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunc_arg_expr) { return visitor.visitFunc_arg_expr(this); } else { return visitor.visitChildren(this); } } } export class Type_listContext extends ParserRuleContext { public typename(): TypenameContext[]; public typename(i: number): TypenameContext; public typename(i?: number): TypenameContext | TypenameContext[] { if (i === undefined) { return this.getRuleContexts(TypenameContext); } else { return this.getRuleContext(i, TypenameContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_type_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterType_list) { listener.enterType_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitType_list) { listener.exitType_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitType_list) { return visitor.visitType_list(this); } else { return visitor.visitChildren(this); } } } export class Array_exprContext extends ParserRuleContext { public OPEN_BRACKET(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_BRACKET, 0); } public CLOSE_BRACKET(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_BRACKET, 0); } public expr_list(): Expr_listContext | undefined { return this.tryGetRuleContext(0, Expr_listContext); } public array_expr_list(): Array_expr_listContext | undefined { return this.tryGetRuleContext(0, Array_expr_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_array_expr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterArray_expr) { listener.enterArray_expr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitArray_expr) { listener.exitArray_expr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitArray_expr) { return visitor.visitArray_expr(this); } else { return visitor.visitChildren(this); } } } export class Array_expr_listContext extends ParserRuleContext { public array_expr(): Array_exprContext[]; public array_expr(i: number): Array_exprContext; public array_expr(i?: number): Array_exprContext | Array_exprContext[] { if (i === undefined) { return this.getRuleContexts(Array_exprContext); } else { return this.getRuleContext(i, Array_exprContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_array_expr_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterArray_expr_list) { listener.enterArray_expr_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitArray_expr_list) { listener.exitArray_expr_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitArray_expr_list) { return visitor.visitArray_expr_list(this); } else { return visitor.visitChildren(this); } } } export class Extract_listContext extends ParserRuleContext { public extract_arg(): Extract_argContext { return this.getRuleContext(0, Extract_argContext); } public KW_FROM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FROM, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_extract_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExtract_list) { listener.enterExtract_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExtract_list) { listener.exitExtract_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExtract_list) { return visitor.visitExtract_list(this); } else { return visitor.visitChildren(this); } } } export class Extract_argContext extends ParserRuleContext { public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } public KW_YEAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_YEAR, 0); } public KW_MONTH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MONTH, 0); } public KW_DAY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DAY, 0); } public KW_HOUR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_HOUR, 0); } public KW_MINUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MINUTE, 0); } public KW_SECOND(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SECOND, 0); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_extract_arg; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExtract_arg) { listener.enterExtract_arg(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExtract_arg) { listener.exitExtract_arg(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExtract_arg) { return visitor.visitExtract_arg(this); } else { return visitor.visitChildren(this); } } } export class Unicode_normal_formContext extends ParserRuleContext { public KW_NFC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NFC, 0); } public KW_NFD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NFD, 0); } public KW_NFKC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NFKC, 0); } public KW_NFKD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NFKD, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_unicode_normal_form; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterUnicode_normal_form) { listener.enterUnicode_normal_form(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitUnicode_normal_form) { listener.exitUnicode_normal_form(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitUnicode_normal_form) { return visitor.visitUnicode_normal_form(this); } else { return visitor.visitChildren(this); } } } export class Overlay_listContext extends ParserRuleContext { public a_expr(): A_exprContext[]; public a_expr(i: number): A_exprContext; public a_expr(i?: number): A_exprContext | A_exprContext[] { if (i === undefined) { return this.getRuleContexts(A_exprContext); } else { return this.getRuleContext(i, A_exprContext); } } public KW_PLACING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PLACING, 0); } public KW_FROM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FROM, 0); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_overlay_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOverlay_list) { listener.enterOverlay_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOverlay_list) { listener.exitOverlay_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOverlay_list) { return visitor.visitOverlay_list(this); } else { return visitor.visitChildren(this); } } } export class Position_listContext extends ParserRuleContext { public b_expr(): B_exprContext[]; public b_expr(i: number): B_exprContext; public b_expr(i?: number): B_exprContext | B_exprContext[] { if (i === undefined) { return this.getRuleContexts(B_exprContext); } else { return this.getRuleContext(i, B_exprContext); } } public KW_IN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_IN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_position_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPosition_list) { listener.enterPosition_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPosition_list) { listener.exitPosition_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPosition_list) { return visitor.visitPosition_list(this); } else { return visitor.visitChildren(this); } } } export class Substr_listContext extends ParserRuleContext { public a_expr(): A_exprContext[]; public a_expr(i: number): A_exprContext; public a_expr(i?: number): A_exprContext | A_exprContext[] { if (i === undefined) { return this.getRuleContexts(A_exprContext); } else { return this.getRuleContext(i, A_exprContext); } } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public KW_SIMILAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SIMILAR, 0); } public KW_ESCAPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ESCAPE, 0); } public expr_list(): Expr_listContext | undefined { return this.tryGetRuleContext(0, Expr_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_substr_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSubstr_list) { listener.enterSubstr_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSubstr_list) { listener.exitSubstr_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSubstr_list) { return visitor.visitSubstr_list(this); } else { return visitor.visitChildren(this); } } } export class Trim_listContext extends ParserRuleContext { public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public expr_list(): Expr_listContext { return this.getRuleContext(0, Expr_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_trim_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTrim_list) { listener.enterTrim_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTrim_list) { listener.exitTrim_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTrim_list) { return visitor.visitTrim_list(this); } else { return visitor.visitChildren(this); } } } export class In_exprContext extends ParserRuleContext { constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_in_expr; } public copyFrom(ctx: In_exprContext): void { super.copyFrom(ctx); } } export class In_expr_selectContext extends In_exprContext { public select_with_parens(): Select_with_parensContext { return this.getRuleContext(0, Select_with_parensContext); } constructor(ctx: In_exprContext) { super(ctx.parent, ctx.invokingState); this.copyFrom(ctx); } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIn_expr_select) { listener.enterIn_expr_select(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIn_expr_select) { listener.exitIn_expr_select(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIn_expr_select) { return visitor.visitIn_expr_select(this); } else { return visitor.visitChildren(this); } } } export class In_expr_listContext extends In_exprContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public expr_list(): Expr_listContext { return this.getRuleContext(0, Expr_listContext); } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(ctx: In_exprContext) { super(ctx.parent, ctx.invokingState); this.copyFrom(ctx); } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIn_expr_list) { listener.enterIn_expr_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIn_expr_list) { listener.exitIn_expr_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIn_expr_list) { return visitor.visitIn_expr_list(this); } else { return visitor.visitChildren(this); } } } export class Case_exprContext extends ParserRuleContext { public KW_CASE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CASE, 0); } public when_clause_list(): When_clause_listContext { return this.getRuleContext(0, When_clause_listContext); } public KW_END(): TerminalNode { return this.getToken(PostgreSQLParser.KW_END, 0); } public case_arg(): Case_argContext | undefined { return this.tryGetRuleContext(0, Case_argContext); } public case_default(): Case_defaultContext | undefined { return this.tryGetRuleContext(0, Case_defaultContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_case_expr; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCase_expr) { listener.enterCase_expr(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCase_expr) { listener.exitCase_expr(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCase_expr) { return visitor.visitCase_expr(this); } else { return visitor.visitChildren(this); } } } export class When_clause_listContext extends ParserRuleContext { public when_clause(): When_clauseContext[]; public when_clause(i: number): When_clauseContext; public when_clause(i?: number): When_clauseContext | When_clauseContext[] { if (i === undefined) { return this.getRuleContexts(When_clauseContext); } else { return this.getRuleContext(i, When_clauseContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_when_clause_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterWhen_clause_list) { listener.enterWhen_clause_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitWhen_clause_list) { listener.exitWhen_clause_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitWhen_clause_list) { return visitor.visitWhen_clause_list(this); } else { return visitor.visitChildren(this); } } } export class When_clauseContext extends ParserRuleContext { public KW_WHEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WHEN, 0); } public a_expr(): A_exprContext[]; public a_expr(i: number): A_exprContext; public a_expr(i?: number): A_exprContext | A_exprContext[] { if (i === undefined) { return this.getRuleContexts(A_exprContext); } else { return this.getRuleContext(i, A_exprContext); } } public KW_THEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_THEN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_when_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterWhen_clause) { listener.enterWhen_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitWhen_clause) { listener.exitWhen_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitWhen_clause) { return visitor.visitWhen_clause(this); } else { return visitor.visitChildren(this); } } } export class Case_defaultContext extends ParserRuleContext { public KW_ELSE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ELSE, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_case_default; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCase_default) { listener.enterCase_default(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCase_default) { listener.exitCase_default(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCase_default) { return visitor.visitCase_default(this); } else { return visitor.visitChildren(this); } } } export class Case_argContext extends ParserRuleContext { public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_case_arg; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCase_arg) { listener.enterCase_arg(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCase_arg) { listener.exitCase_arg(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCase_arg) { return visitor.visitCase_arg(this); } else { return visitor.visitChildren(this); } } } export class ColumnrefContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_columnref; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColumnref) { listener.enterColumnref(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColumnref) { listener.exitColumnref(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColumnref) { return visitor.visitColumnref(this); } else { return visitor.visitChildren(this); } } } export class Indirection_elContext extends ParserRuleContext { public DOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.DOT, 0); } public attr_name(): Attr_nameContext | undefined { return this.tryGetRuleContext(0, Attr_nameContext); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } public OPEN_BRACKET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_BRACKET, 0); } public CLOSE_BRACKET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_BRACKET, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public COLON(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.COLON, 0); } public opt_slice_bound(): Opt_slice_boundContext[]; public opt_slice_bound(i: number): Opt_slice_boundContext; public opt_slice_bound(i?: number): Opt_slice_boundContext | Opt_slice_boundContext[] { if (i === undefined) { return this.getRuleContexts(Opt_slice_boundContext); } else { return this.getRuleContext(i, Opt_slice_boundContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_indirection_el; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIndirection_el) { listener.enterIndirection_el(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIndirection_el) { listener.exitIndirection_el(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIndirection_el) { return visitor.visitIndirection_el(this); } else { return visitor.visitChildren(this); } } } export class Opt_slice_boundContext extends ParserRuleContext { public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_slice_bound; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_slice_bound) { listener.enterOpt_slice_bound(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_slice_bound) { listener.exitOpt_slice_bound(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_slice_bound) { return visitor.visitOpt_slice_bound(this); } else { return visitor.visitChildren(this); } } } export class IndirectionContext extends ParserRuleContext { public indirection_el(): Indirection_elContext[]; public indirection_el(i: number): Indirection_elContext; public indirection_el(i?: number): Indirection_elContext | Indirection_elContext[] { if (i === undefined) { return this.getRuleContexts(Indirection_elContext); } else { return this.getRuleContext(i, Indirection_elContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_indirection; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIndirection) { listener.enterIndirection(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIndirection) { listener.exitIndirection(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIndirection) { return visitor.visitIndirection(this); } else { return visitor.visitChildren(this); } } } export class Opt_indirectionContext extends ParserRuleContext { public indirection_el(): Indirection_elContext[]; public indirection_el(i: number): Indirection_elContext; public indirection_el(i?: number): Indirection_elContext | Indirection_elContext[] { if (i === undefined) { return this.getRuleContexts(Indirection_elContext); } else { return this.getRuleContext(i, Indirection_elContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_indirection; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_indirection) { listener.enterOpt_indirection(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_indirection) { listener.exitOpt_indirection(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_indirection) { return visitor.visitOpt_indirection(this); } else { return visitor.visitChildren(this); } } } export class Opt_target_listContext extends ParserRuleContext { public target_list(): Target_listContext { return this.getRuleContext(0, Target_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_target_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_target_list) { listener.enterOpt_target_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_target_list) { listener.exitOpt_target_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_target_list) { return visitor.visitOpt_target_list(this); } else { return visitor.visitChildren(this); } } } export class Target_listContext extends ParserRuleContext { public target_el(): Target_elContext[]; public target_el(i: number): Target_elContext; public target_el(i?: number): Target_elContext | Target_elContext[] { if (i === undefined) { return this.getRuleContexts(Target_elContext); } else { return this.getRuleContext(i, Target_elContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_target_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTarget_list) { listener.enterTarget_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTarget_list) { listener.exitTarget_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTarget_list) { return visitor.visitTarget_list(this); } else { return visitor.visitChildren(this); } } } export class Target_elContext extends ParserRuleContext { constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_target_el; } public copyFrom(ctx: Target_elContext): void { super.copyFrom(ctx); } } export class Target_labelContext extends Target_elContext { public column_expr_noparen(): Column_expr_noparenContext { return this.getRuleContext(0, Column_expr_noparenContext); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public collabel(): CollabelContext | undefined { return this.tryGetRuleContext(0, CollabelContext); } public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } constructor(ctx: Target_elContext) { super(ctx.parent, ctx.invokingState); this.copyFrom(ctx); } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTarget_label) { listener.enterTarget_label(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTarget_label) { listener.exitTarget_label(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTarget_label) { return visitor.visitTarget_label(this); } else { return visitor.visitChildren(this); } } } export class Target_starContext extends Target_elContext { public STAR(): TerminalNode { return this.getToken(PostgreSQLParser.STAR, 0); } constructor(ctx: Target_elContext) { super(ctx.parent, ctx.invokingState); this.copyFrom(ctx); } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTarget_star) { listener.enterTarget_star(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTarget_star) { listener.exitTarget_star(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTarget_star) { return visitor.visitTarget_star(this); } else { return visitor.visitChildren(this); } } } export class Qualified_name_listContext extends ParserRuleContext { public qualified_name(): Qualified_nameContext[]; public qualified_name(i: number): Qualified_nameContext; public qualified_name(i?: number): Qualified_nameContext | Qualified_nameContext[] { if (i === undefined) { return this.getRuleContexts(Qualified_nameContext); } else { return this.getRuleContext(i, Qualified_nameContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_qualified_name_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterQualified_name_list) { listener.enterQualified_name_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitQualified_name_list) { listener.exitQualified_name_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitQualified_name_list) { return visitor.visitQualified_name_list(this); } else { return visitor.visitChildren(this); } } } export class Table_name_listContext extends ParserRuleContext { public table_name(): Table_nameContext[]; public table_name(i: number): Table_nameContext; public table_name(i?: number): Table_nameContext | Table_nameContext[] { if (i === undefined) { return this.getRuleContexts(Table_nameContext); } else { return this.getRuleContext(i, Table_nameContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_table_name_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTable_name_list) { listener.enterTable_name_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTable_name_list) { listener.exitTable_name_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTable_name_list) { return visitor.visitTable_name_list(this); } else { return visitor.visitChildren(this); } } } export class Schema_name_listContext extends ParserRuleContext { public schema_name(): Schema_nameContext[]; public schema_name(i: number): Schema_nameContext; public schema_name(i?: number): Schema_nameContext | Schema_nameContext[] { if (i === undefined) { return this.getRuleContexts(Schema_nameContext); } else { return this.getRuleContext(i, Schema_nameContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_schema_name_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSchema_name_list) { listener.enterSchema_name_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSchema_name_list) { listener.exitSchema_name_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSchema_name_list) { return visitor.visitSchema_name_list(this); } else { return visitor.visitChildren(this); } } } export class Database_nameListContext extends ParserRuleContext { public database_name(): Database_nameContext[]; public database_name(i: number): Database_nameContext; public database_name(i?: number): Database_nameContext | Database_nameContext[] { if (i === undefined) { return this.getRuleContexts(Database_nameContext); } else { return this.getRuleContext(i, Database_nameContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_database_nameList; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDatabase_nameList) { listener.enterDatabase_nameList(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDatabase_nameList) { listener.exitDatabase_nameList(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDatabase_nameList) { return visitor.visitDatabase_nameList(this); } else { return visitor.visitChildren(this); } } } export class Procedure_name_listContext extends ParserRuleContext { public procedure_name(): Procedure_nameContext[]; public procedure_name(i: number): Procedure_nameContext; public procedure_name(i?: number): Procedure_nameContext | Procedure_nameContext[] { if (i === undefined) { return this.getRuleContexts(Procedure_nameContext); } else { return this.getRuleContext(i, Procedure_nameContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_procedure_name_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProcedure_name_list) { listener.enterProcedure_name_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProcedure_name_list) { listener.exitProcedure_name_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProcedure_name_list) { return visitor.visitProcedure_name_list(this); } else { return visitor.visitChildren(this); } } } export class Tablespace_name_createContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_tablespace_name_create; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTablespace_name_create) { listener.enterTablespace_name_create(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTablespace_name_create) { listener.exitTablespace_name_create(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTablespace_name_create) { return visitor.visitTablespace_name_create(this); } else { return visitor.visitChildren(this); } } } export class Tablespace_nameContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_tablespace_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTablespace_name) { listener.enterTablespace_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTablespace_name) { listener.exitTablespace_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTablespace_name) { return visitor.visitTablespace_name(this); } else { return visitor.visitChildren(this); } } } export class Table_name_createContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_table_name_create; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTable_name_create) { listener.enterTable_name_create(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTable_name_create) { listener.exitTable_name_create(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTable_name_create) { return visitor.visitTable_name_create(this); } else { return visitor.visitChildren(this); } } } export class Table_nameContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_table_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTable_name) { listener.enterTable_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTable_name) { listener.exitTable_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTable_name) { return visitor.visitTable_name(this); } else { return visitor.visitChildren(this); } } } export class View_name_createContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_view_name_create; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterView_name_create) { listener.enterView_name_create(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitView_name_create) { listener.exitView_name_create(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitView_name_create) { return visitor.visitView_name_create(this); } else { return visitor.visitChildren(this); } } } export class View_nameContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public attrs(): AttrsContext | undefined { return this.tryGetRuleContext(0, AttrsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_view_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterView_name) { listener.enterView_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitView_name) { listener.exitView_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitView_name) { return visitor.visitView_name(this); } else { return visitor.visitChildren(this); } } } export class Qualified_nameContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_qualified_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterQualified_name) { listener.enterQualified_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitQualified_name) { listener.exitQualified_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitQualified_name) { return visitor.visitQualified_name(this); } else { return visitor.visitChildren(this); } } } export class Tablespace_name_listContext extends ParserRuleContext { public tablespace_name(): Tablespace_nameContext[]; public tablespace_name(i: number): Tablespace_nameContext; public tablespace_name(i?: number): Tablespace_nameContext | Tablespace_nameContext[] { if (i === undefined) { return this.getRuleContexts(Tablespace_nameContext); } else { return this.getRuleContext(i, Tablespace_nameContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_tablespace_name_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterTablespace_name_list) { listener.enterTablespace_name_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitTablespace_name_list) { listener.exitTablespace_name_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitTablespace_name_list) { return visitor.visitTablespace_name_list(this); } else { return visitor.visitChildren(this); } } } export class Name_listContext extends ParserRuleContext { public name(): NameContext[]; public name(i: number): NameContext; public name(i?: number): NameContext | NameContext[] { if (i === undefined) { return this.getRuleContexts(NameContext); } else { return this.getRuleContext(i, NameContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_name_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterName_list) { listener.enterName_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitName_list) { listener.exitName_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitName_list) { return visitor.visitName_list(this); } else { return visitor.visitChildren(this); } } } export class Database_name_createContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public attrs(): AttrsContext | undefined { return this.tryGetRuleContext(0, AttrsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_database_name_create; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDatabase_name_create) { listener.enterDatabase_name_create(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDatabase_name_create) { listener.exitDatabase_name_create(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDatabase_name_create) { return visitor.visitDatabase_name_create(this); } else { return visitor.visitChildren(this); } } } export class Database_nameContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public attrs(): AttrsContext | undefined { return this.tryGetRuleContext(0, AttrsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_database_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDatabase_name) { listener.enterDatabase_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDatabase_name) { listener.exitDatabase_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDatabase_name) { return visitor.visitDatabase_name(this); } else { return visitor.visitChildren(this); } } } export class Schema_nameContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } public attrs(): AttrsContext | undefined { return this.tryGetRuleContext(0, AttrsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_schema_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSchema_name) { listener.enterSchema_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSchema_name) { listener.exitSchema_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSchema_name) { return visitor.visitSchema_name(this); } else { return visitor.visitChildren(this); } } } export class Routine_name_createContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_routine_name_create; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRoutine_name_create) { listener.enterRoutine_name_create(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRoutine_name_create) { listener.exitRoutine_name_create(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRoutine_name_create) { return visitor.visitRoutine_name_create(this); } else { return visitor.visitChildren(this); } } } export class Routine_nameContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_routine_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRoutine_name) { listener.enterRoutine_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRoutine_name) { listener.exitRoutine_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRoutine_name) { return visitor.visitRoutine_name(this); } else { return visitor.visitChildren(this); } } } export class Procedure_nameContext extends ParserRuleContext { public type_function_name(): Type_function_nameContext | undefined { return this.tryGetRuleContext(0, Type_function_nameContext); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_procedure_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProcedure_name) { listener.enterProcedure_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProcedure_name) { listener.exitProcedure_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProcedure_name) { return visitor.visitProcedure_name(this); } else { return visitor.visitChildren(this); } } } export class Procedure_name_createContext extends ParserRuleContext { public type_function_name(): Type_function_nameContext | undefined { return this.tryGetRuleContext(0, Type_function_nameContext); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_procedure_name_create; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProcedure_name_create) { listener.enterProcedure_name_create(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProcedure_name_create) { listener.exitProcedure_name_create(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProcedure_name_create) { return visitor.visitProcedure_name_create(this); } else { return visitor.visitChildren(this); } } } export class Column_nameContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_column_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColumn_name) { listener.enterColumn_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColumn_name) { listener.exitColumn_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColumn_name) { return visitor.visitColumn_name(this); } else { return visitor.visitChildren(this); } } } export class Column_name_createContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_column_name_create; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColumn_name_create) { listener.enterColumn_name_create(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColumn_name_create) { listener.exitColumn_name_create(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColumn_name_create) { return visitor.visitColumn_name_create(this); } else { return visitor.visitChildren(this); } } } export class NameContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterName) { listener.enterName(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitName) { listener.exitName(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitName) { return visitor.visitName(this); } else { return visitor.visitChildren(this); } } } export class Attr_nameContext extends ParserRuleContext { public collabel(): CollabelContext { return this.getRuleContext(0, CollabelContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_attr_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAttr_name) { listener.enterAttr_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAttr_name) { listener.exitAttr_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAttr_name) { return visitor.visitAttr_name(this); } else { return visitor.visitChildren(this); } } } export class File_nameContext extends ParserRuleContext { public sconst(): SconstContext { return this.getRuleContext(0, SconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_file_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFile_name) { listener.enterFile_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFile_name) { listener.exitFile_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFile_name) { return visitor.visitFile_name(this); } else { return visitor.visitChildren(this); } } } export class Function_name_createContext extends ParserRuleContext { public type_function_name(): Type_function_nameContext | undefined { return this.tryGetRuleContext(0, Type_function_nameContext); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_function_name_create; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunction_name_create) { listener.enterFunction_name_create(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunction_name_create) { listener.exitFunction_name_create(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunction_name_create) { return visitor.visitFunction_name_create(this); } else { return visitor.visitChildren(this); } } } export class Function_nameContext extends ParserRuleContext { public type_function_name(): Type_function_nameContext | undefined { return this.tryGetRuleContext(0, Type_function_nameContext); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_function_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFunction_name) { listener.enterFunction_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFunction_name) { listener.exitFunction_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFunction_name) { return visitor.visitFunction_name(this); } else { return visitor.visitChildren(this); } } } export class Usual_nameContext extends ParserRuleContext { public type_usual_name(): Type_usual_nameContext | undefined { return this.tryGetRuleContext(0, Type_usual_nameContext); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public indirection(): IndirectionContext | undefined { return this.tryGetRuleContext(0, IndirectionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_usual_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterUsual_name) { listener.enterUsual_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitUsual_name) { listener.exitUsual_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitUsual_name) { return visitor.visitUsual_name(this); } else { return visitor.visitChildren(this); } } } export class AexprconstContext extends ParserRuleContext { public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } public fconst(): FconstContext | undefined { return this.tryGetRuleContext(0, FconstContext); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public bconst(): BconstContext | undefined { return this.tryGetRuleContext(0, BconstContext); } public xconst(): XconstContext | undefined { return this.tryGetRuleContext(0, XconstContext); } public function_name(): Function_nameContext | undefined { return this.tryGetRuleContext(0, Function_nameContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public func_arg_list(): Func_arg_listContext | undefined { return this.tryGetRuleContext(0, Func_arg_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public opt_sort_clause(): Opt_sort_clauseContext | undefined { return this.tryGetRuleContext(0, Opt_sort_clauseContext); } public consttypename(): ConsttypenameContext | undefined { return this.tryGetRuleContext(0, ConsttypenameContext); } public constinterval(): ConstintervalContext | undefined { return this.tryGetRuleContext(0, ConstintervalContext); } public opt_interval(): Opt_intervalContext | undefined { return this.tryGetRuleContext(0, Opt_intervalContext); } public KW_TRUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRUE, 0); } public KW_FALSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FALSE, 0); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_aexprconst; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAexprconst) { listener.enterAexprconst(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAexprconst) { listener.exitAexprconst(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAexprconst) { return visitor.visitAexprconst(this); } else { return visitor.visitChildren(this); } } } export class XconstContext extends ParserRuleContext { public HexadecimalStringConstant(): TerminalNode { return this.getToken(PostgreSQLParser.HexadecimalStringConstant, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_xconst; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterXconst) { listener.enterXconst(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitXconst) { listener.exitXconst(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitXconst) { return visitor.visitXconst(this); } else { return visitor.visitChildren(this); } } } export class BconstContext extends ParserRuleContext { public BinaryStringConstant(): TerminalNode { return this.getToken(PostgreSQLParser.BinaryStringConstant, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_bconst; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterBconst) { listener.enterBconst(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitBconst) { listener.exitBconst(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitBconst) { return visitor.visitBconst(this); } else { return visitor.visitChildren(this); } } } export class FconstContext extends ParserRuleContext { public Numeric(): TerminalNode { return this.getToken(PostgreSQLParser.Numeric, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_fconst; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFconst) { listener.enterFconst(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFconst) { listener.exitFconst(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFconst) { return visitor.visitFconst(this); } else { return visitor.visitChildren(this); } } } export class IconstContext extends ParserRuleContext { public Integral(): TerminalNode { return this.getToken(PostgreSQLParser.Integral, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_iconst; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIconst) { listener.enterIconst(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIconst) { listener.exitIconst(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIconst) { return visitor.visitIconst(this); } else { return visitor.visitChildren(this); } } } export class SconstContext extends ParserRuleContext { public anysconst(): AnysconstContext { return this.getRuleContext(0, AnysconstContext); } public opt_uescape(): Opt_uescapeContext | undefined { return this.tryGetRuleContext(0, Opt_uescapeContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_sconst; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSconst) { listener.enterSconst(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSconst) { listener.exitSconst(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSconst) { return visitor.visitSconst(this); } else { return visitor.visitChildren(this); } } } export class AnysconstContext extends ParserRuleContext { public StringConstant(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.StringConstant, 0); } public UnicodeEscapeStringConstant(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.UnicodeEscapeStringConstant, 0); } public BeginDollarStringConstant(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.BeginDollarStringConstant, 0); } public EndDollarStringConstant(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EndDollarStringConstant, 0); } public DollarText(): TerminalNode[]; public DollarText(i: number): TerminalNode; public DollarText(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.DollarText); } else { return this.getToken(PostgreSQLParser.DollarText, i); } } public EscapeStringConstant(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EscapeStringConstant, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_anysconst; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAnysconst) { listener.enterAnysconst(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAnysconst) { listener.exitAnysconst(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAnysconst) { return visitor.visitAnysconst(this); } else { return visitor.visitChildren(this); } } } export class Opt_uescapeContext extends ParserRuleContext { public KW_UESCAPE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_UESCAPE, 0); } public anysconst(): AnysconstContext { return this.getRuleContext(0, AnysconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_uescape; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_uescape) { listener.enterOpt_uescape(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_uescape) { listener.exitOpt_uescape(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_uescape) { return visitor.visitOpt_uescape(this); } else { return visitor.visitChildren(this); } } } export class SignediconstContext extends ParserRuleContext { public iconst(): IconstContext { return this.getRuleContext(0, IconstContext); } public PLUS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PLUS, 0); } public MINUS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.MINUS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_signediconst; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSignediconst) { listener.enterSignediconst(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSignediconst) { listener.exitSignediconst(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSignediconst) { return visitor.visitSignediconst(this); } else { return visitor.visitChildren(this); } } } export class GroupnameContext extends ParserRuleContext { public rolespec(): RolespecContext { return this.getRuleContext(0, RolespecContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_groupname; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGroupname) { listener.enterGroupname(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGroupname) { listener.exitGroupname(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGroupname) { return visitor.visitGroupname(this); } else { return visitor.visitChildren(this); } } } export class RoleidContext extends ParserRuleContext { public rolespec(): RolespecContext { return this.getRuleContext(0, RolespecContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_roleid; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRoleid) { listener.enterRoleid(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRoleid) { listener.exitRoleid(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRoleid) { return visitor.visitRoleid(this); } else { return visitor.visitChildren(this); } } } export class RolespecContext extends ParserRuleContext { public nonreservedword(): NonreservedwordContext | undefined { return this.tryGetRuleContext(0, NonreservedwordContext); } public KW_CURRENT_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_USER, 0); } public KW_CURRENT_ROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_ROLE, 0); } public KW_SESSION_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SESSION_USER, 0); } public KW_PUBLIC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PUBLIC, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_rolespec; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRolespec) { listener.enterRolespec(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRolespec) { listener.exitRolespec(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRolespec) { return visitor.visitRolespec(this); } else { return visitor.visitChildren(this); } } } export class Role_listContext extends ParserRuleContext { public rolespec(): RolespecContext[]; public rolespec(i: number): RolespecContext; public rolespec(i?: number): RolespecContext | RolespecContext[] { if (i === undefined) { return this.getRuleContexts(RolespecContext); } else { return this.getRuleContext(i, RolespecContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_role_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterRole_list) { listener.enterRole_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitRole_list) { listener.exitRole_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitRole_list) { return visitor.visitRole_list(this); } else { return visitor.visitChildren(this); } } } export class ColidContext extends ParserRuleContext { public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } public unreserved_keyword(): Unreserved_keywordContext | undefined { return this.tryGetRuleContext(0, Unreserved_keywordContext); } public col_name_keyword(): Col_name_keywordContext | undefined { return this.tryGetRuleContext(0, Col_name_keywordContext); } public plsql_unreserved_keyword(): Plsql_unreserved_keywordContext | undefined { return this.tryGetRuleContext(0, Plsql_unreserved_keywordContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_colid; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterColid) { listener.enterColid(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitColid) { listener.exitColid(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitColid) { return visitor.visitColid(this); } else { return visitor.visitChildren(this); } } } export class Index_method_choicesContext extends ParserRuleContext { public identifier(): IdentifierContext { return this.getRuleContext(0, IdentifierContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_index_method_choices; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIndex_method_choices) { listener.enterIndex_method_choices(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIndex_method_choices) { listener.exitIndex_method_choices(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIndex_method_choices) { return visitor.visitIndex_method_choices(this); } else { return visitor.visitChildren(this); } } } export class Exclude_elementContext extends ParserRuleContext { public opt_definition(): Opt_definitionContext | undefined { return this.tryGetRuleContext(0, Opt_definitionContext); } public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public opt_asc_desc(): Opt_asc_descContext | undefined { return this.tryGetRuleContext(0, Opt_asc_descContext); } public opt_nulls_order(): Opt_nulls_orderContext | undefined { return this.tryGetRuleContext(0, Opt_nulls_orderContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_exclude_element; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExclude_element) { listener.enterExclude_element(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExclude_element) { listener.exitExclude_element(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExclude_element) { return visitor.visitExclude_element(this); } else { return visitor.visitChildren(this); } } } export class Index_paramentersContext extends ParserRuleContext { public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } public reloptions(): ReloptionsContext | undefined { return this.tryGetRuleContext(0, ReloptionsContext); } public optconstablespace(): OptconstablespaceContext | undefined { return this.tryGetRuleContext(0, OptconstablespaceContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_index_paramenters; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIndex_paramenters) { listener.enterIndex_paramenters(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIndex_paramenters) { listener.exitIndex_paramenters(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIndex_paramenters) { return visitor.visitIndex_paramenters(this); } else { return visitor.visitChildren(this); } } } export class Type_function_nameContext extends ParserRuleContext { public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } public unreserved_keyword(): Unreserved_keywordContext | undefined { return this.tryGetRuleContext(0, Unreserved_keywordContext); } public plsql_unreserved_keyword(): Plsql_unreserved_keywordContext | undefined { return this.tryGetRuleContext(0, Plsql_unreserved_keywordContext); } public type_func_name_keyword(): Type_func_name_keywordContext | undefined { return this.tryGetRuleContext(0, Type_func_name_keywordContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_type_function_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterType_function_name) { listener.enterType_function_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitType_function_name) { listener.exitType_function_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitType_function_name) { return visitor.visitType_function_name(this); } else { return visitor.visitChildren(this); } } } export class Type_usual_nameContext extends ParserRuleContext { public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } public unreserved_keyword(): Unreserved_keywordContext | undefined { return this.tryGetRuleContext(0, Unreserved_keywordContext); } public plsql_unreserved_keyword(): Plsql_unreserved_keywordContext | undefined { return this.tryGetRuleContext(0, Plsql_unreserved_keywordContext); } public type_func_name_keyword(): Type_func_name_keywordContext | undefined { return this.tryGetRuleContext(0, Type_func_name_keywordContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_type_usual_name; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterType_usual_name) { listener.enterType_usual_name(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitType_usual_name) { listener.exitType_usual_name(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitType_usual_name) { return visitor.visitType_usual_name(this); } else { return visitor.visitChildren(this); } } } export class Nonreservedword_columnContext extends ParserRuleContext { public column_name(): Column_nameContext | undefined { return this.tryGetRuleContext(0, Column_nameContext); } public type_func_name_keyword(): Type_func_name_keywordContext | undefined { return this.tryGetRuleContext(0, Type_func_name_keywordContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_nonreservedword_column; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterNonreservedword_column) { listener.enterNonreservedword_column(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitNonreservedword_column) { listener.exitNonreservedword_column(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitNonreservedword_column) { return visitor.visitNonreservedword_column(this); } else { return visitor.visitChildren(this); } } } export class NonreservedwordContext extends ParserRuleContext { public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } public unreserved_keyword(): Unreserved_keywordContext | undefined { return this.tryGetRuleContext(0, Unreserved_keywordContext); } public col_name_keyword(): Col_name_keywordContext | undefined { return this.tryGetRuleContext(0, Col_name_keywordContext); } public type_func_name_keyword(): Type_func_name_keywordContext | undefined { return this.tryGetRuleContext(0, Type_func_name_keywordContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_nonreservedword; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterNonreservedword) { listener.enterNonreservedword(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitNonreservedword) { listener.exitNonreservedword(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitNonreservedword) { return visitor.visitNonreservedword(this); } else { return visitor.visitChildren(this); } } } export class CollabelContext extends ParserRuleContext { public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } public plsql_unreserved_keyword(): Plsql_unreserved_keywordContext | undefined { return this.tryGetRuleContext(0, Plsql_unreserved_keywordContext); } public unreserved_keyword(): Unreserved_keywordContext | undefined { return this.tryGetRuleContext(0, Unreserved_keywordContext); } public col_name_keyword(): Col_name_keywordContext | undefined { return this.tryGetRuleContext(0, Col_name_keywordContext); } public type_func_name_keyword(): Type_func_name_keywordContext | undefined { return this.tryGetRuleContext(0, Type_func_name_keywordContext); } public reserved_keyword(): Reserved_keywordContext | undefined { return this.tryGetRuleContext(0, Reserved_keywordContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_collabel; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCollabel) { listener.enterCollabel(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCollabel) { listener.exitCollabel(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCollabel) { return visitor.visitCollabel(this); } else { return visitor.visitChildren(this); } } } export class IdentifierContext extends ParserRuleContext { public Identifier(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.Identifier, 0); } public opt_uescape(): Opt_uescapeContext | undefined { return this.tryGetRuleContext(0, Opt_uescapeContext); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public QuotedIdentifier(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.QuotedIdentifier, 0); } public UnicodeQuotedIdentifier(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.UnicodeQuotedIdentifier, 0); } public plsqlvariablename(): PlsqlvariablenameContext | undefined { return this.tryGetRuleContext(0, PlsqlvariablenameContext); } public plsqlidentifier(): PlsqlidentifierContext | undefined { return this.tryGetRuleContext(0, PlsqlidentifierContext); } public plsql_unreserved_keyword(): Plsql_unreserved_keywordContext | undefined { return this.tryGetRuleContext(0, Plsql_unreserved_keywordContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_identifier; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterIdentifier) { listener.enterIdentifier(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitIdentifier) { listener.exitIdentifier(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitIdentifier) { return visitor.visitIdentifier(this); } else { return visitor.visitChildren(this); } } } export class PlsqlidentifierContext extends ParserRuleContext { public PLSQLIDENTIFIER(): TerminalNode { return this.getToken(PostgreSQLParser.PLSQLIDENTIFIER, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_plsqlidentifier; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPlsqlidentifier) { listener.enterPlsqlidentifier(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPlsqlidentifier) { listener.exitPlsqlidentifier(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPlsqlidentifier) { return visitor.visitPlsqlidentifier(this); } else { return visitor.visitChildren(this); } } } export class Unreserved_keywordContext extends ParserRuleContext { public KW_ABORT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ABORT, 0); } public KW_ABSOLUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ABSOLUTE, 0); } public KW_ACCESS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ACCESS, 0); } public KW_ACTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ACTION, 0); } public KW_ADD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADD, 0); } public KW_ADMIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ADMIN, 0); } public KW_AFTER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AFTER, 0); } public KW_AGGREGATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AGGREGATE, 0); } public KW_ALSO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALSO, 0); } public KW_ALTER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALTER, 0); } public KW_ALWAYS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALWAYS, 0); } public KW_ASSERTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ASSERTION, 0); } public KW_ASSIGNMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ASSIGNMENT, 0); } public KW_AT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AT, 0); } public KW_ATTACH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ATTACH, 0); } public KW_ATTRIBUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ATTRIBUTE, 0); } public KW_BACKWARD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BACKWARD, 0); } public KW_BEFORE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BEFORE, 0); } public KW_BEGIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BEGIN, 0); } public KW_BUFFER_USAGE_LIMIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BUFFER_USAGE_LIMIT, 0); } public KW_BY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BY, 0); } public KW_CACHE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CACHE, 0); } public KW_CALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CALL, 0); } public KW_CALLED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CALLED, 0); } public KW_CASCADE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CASCADE, 0); } public KW_CASCADED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CASCADED, 0); } public KW_CATALOG(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CATALOG, 0); } public KW_CHAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CHAIN, 0); } public KW_CHARACTERISTICS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CHARACTERISTICS, 0); } public KW_CHECKPOINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CHECKPOINT, 0); } public KW_CLASS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CLASS, 0); } public KW_CLOSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CLOSE, 0); } public KW_CLUSTER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CLUSTER, 0); } public KW_COLUMNS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLUMNS, 0); } public KW_COMMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COMMENT, 0); } public KW_COMMENTS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COMMENTS, 0); } public KW_COMMIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COMMIT, 0); } public KW_COMMITTED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COMMITTED, 0); } public KW_CONFIGURATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONFIGURATION, 0); } public KW_CONFLICT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONFLICT, 0); } public KW_CONNECTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONNECTION, 0); } public KW_CONSTRAINTS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTRAINTS, 0); } public KW_CONTENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONTENT, 0); } public KW_CONTINUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONTINUE, 0); } public KW_CONVERSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONVERSION, 0); } public KW_COPY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COPY, 0); } public KW_COST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COST, 0); } public KW_CSV(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CSV, 0); } public KW_CUBE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CUBE, 0); } public KW_CURRENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT, 0); } public KW_CURSOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURSOR, 0); } public KW_CYCLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CYCLE, 0); } public KW_DATA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATA, 0); } public KW_DATABASE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DATABASE, 0); } public KW_DAY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DAY, 0); } public KW_DEALLOCATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEALLOCATE, 0); } public KW_DECLARE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DECLARE, 0); } public KW_DEFAULTS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULTS, 0); } public KW_DEFERRED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFERRED, 0); } public KW_DEFINER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFINER, 0); } public KW_DELETE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DELETE, 0); } public KW_DELIMITER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DELIMITER, 0); } public KW_DELIMITERS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DELIMITERS, 0); } public KW_DEPENDS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEPENDS, 0); } public KW_DETACH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DETACH, 0); } public KW_DICTIONARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DICTIONARY, 0); } public KW_DISABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DISABLE, 0); } public KW_DISCARD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DISCARD, 0); } public KW_DOCUMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOCUMENT, 0); } public KW_DOMAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOMAIN, 0); } public KW_DOUBLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DOUBLE, 0); } public KW_DROP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DROP, 0); } public KW_EACH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EACH, 0); } public KW_ENABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ENABLE, 0); } public KW_ENCODING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ENCODING, 0); } public KW_ENCRYPTED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ENCRYPTED, 0); } public KW_ENUM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ENUM, 0); } public KW_ESCAPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ESCAPE, 0); } public KW_EVENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EVENT, 0); } public KW_EXCLUDE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXCLUDE, 0); } public KW_EXCLUDING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXCLUDING, 0); } public KW_EXCLUSIVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXCLUSIVE, 0); } public KW_EXECUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXECUTE, 0); } public KW_EXPLAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXPLAIN, 0); } public KW_EXPRESSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXPRESSION, 0); } public KW_EXTENSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTENSION, 0); } public KW_EXTERNAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTERNAL, 0); } public KW_FAMILY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FAMILY, 0); } public KW_FILTER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FILTER, 0); } public KW_FIRST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FIRST, 0); } public KW_FOLLOWING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOLLOWING, 0); } public KW_FORCE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FORCE, 0); } public KW_FORWARD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FORWARD, 0); } public KW_FUNCTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTION, 0); } public KW_FUNCTIONS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FUNCTIONS, 0); } public KW_GENERATED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GENERATED, 0); } public KW_GLOBAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GLOBAL, 0); } public KW_GRANTED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GRANTED, 0); } public KW_GROUPS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GROUPS, 0); } public KW_HANDLER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_HANDLER, 0); } public KW_HEADER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_HEADER, 0); } public KW_HOLD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_HOLD, 0); } public KW_HOUR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_HOUR, 0); } public KW_IDENTITY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IDENTITY, 0); } public KW_IF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IF, 0); } public KW_IMMEDIATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IMMEDIATE, 0); } public KW_IMMUTABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IMMUTABLE, 0); } public KW_IMPLICIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IMPLICIT, 0); } public KW_IMPORT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IMPORT, 0); } public KW_INCLUDE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INCLUDE, 0); } public KW_INCLUDING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INCLUDING, 0); } public KW_INCREMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INCREMENT, 0); } public KW_INDEX(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INDEX, 0); } public KW_INDEXES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INDEXES, 0); } public KW_INHERIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INHERIT, 0); } public KW_INHERITS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INHERITS, 0); } public KW_INLINE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INLINE, 0); } public KW_INPUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INPUT, 0); } public KW_INSENSITIVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INSENSITIVE, 0); } public KW_INSERT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INSERT, 0); } public KW_INSTEAD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INSTEAD, 0); } public KW_INVOKER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INVOKER, 0); } public KW_ISOLATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ISOLATION, 0); } public KW_KEY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_KEY, 0); } public KW_LABEL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LABEL, 0); } public KW_LANGUAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LANGUAGE, 0); } public KW_LARGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LARGE, 0); } public KW_LAST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LAST, 0); } public KW_LEAKPROOF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEAKPROOF, 0); } public KW_LEVEL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEVEL, 0); } public KW_LISTEN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LISTEN, 0); } public KW_LOAD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOAD, 0); } public KW_LOCAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCAL, 0); } public KW_LOCATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCATION, 0); } public KW_LOCK(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCK, 0); } public KW_LOCKED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCKED, 0); } public KW_LOGGED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOGGED, 0); } public KW_MAPPING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MAPPING, 0); } public KW_MATCH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MATCH, 0); } public KW_MATERIALIZED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MATERIALIZED, 0); } public KW_MAXVALUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MAXVALUE, 0); } public KW_METHOD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_METHOD, 0); } public KW_MINUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MINUTE, 0); } public KW_MINVALUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MINVALUE, 0); } public KW_MODE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MODE, 0); } public KW_MONTH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MONTH, 0); } public KW_MOVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MOVE, 0); } public KW_NAME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NAME, 0); } public KW_NAMES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NAMES, 0); } public KW_NEW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NEW, 0); } public KW_NEXT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NEXT, 0); } public KW_NFC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NFC, 0); } public KW_NFD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NFD, 0); } public KW_NFKC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NFKC, 0); } public KW_NFKD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NFKD, 0); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } public KW_NORMALIZED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NORMALIZED, 0); } public KW_NOTHING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOTHING, 0); } public KW_NOTIFY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOTIFY, 0); } public KW_NOWAIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOWAIT, 0); } public KW_NULLS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULLS, 0); } public KW_OBJECT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OBJECT, 0); } public KW_OF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OF, 0); } public KW_OFF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OFF, 0); } public KW_OIDS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OIDS, 0); } public KW_OLD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OLD, 0); } public KW_OPERATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPERATOR, 0); } public KW_OPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPTION, 0); } public KW_OPTIONS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPTIONS, 0); } public KW_ORDINALITY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ORDINALITY, 0); } public KW_OTHERS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OTHERS, 0); } public KW_OVER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OVER, 0); } public KW_OVERRIDING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OVERRIDING, 0); } public KW_OWNED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OWNED, 0); } public KW_OWNER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OWNER, 0); } public KW_PARALLEL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARALLEL, 0); } public KW_PARSER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARSER, 0); } public KW_PARTIAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARTIAL, 0); } public KW_PARTITION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PARTITION, 0); } public KW_PASSING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PASSING, 0); } public KW_PASSWORD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PASSWORD, 0); } public KW_PLANS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PLANS, 0); } public KW_POLICY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_POLICY, 0); } public KW_PRECEDING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRECEDING, 0); } public KW_PREPARE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PREPARE, 0); } public KW_PREPARED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PREPARED, 0); } public KW_PRESERVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRESERVE, 0); } public KW_PRIOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRIOR, 0); } public KW_PRIVILEGES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRIVILEGES, 0); } public KW_PROCEDURAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURAL, 0); } public KW_PROCEDURE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURE, 0); } public KW_PROCEDURES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROCEDURES, 0); } public KW_PROGRAM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PROGRAM, 0); } public KW_PUBLICATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PUBLICATION, 0); } public KW_QUOTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_QUOTE, 0); } public KW_RANGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RANGE, 0); } public KW_READ(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_READ, 0); } public KW_REASSIGN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REASSIGN, 0); } public KW_RECHECK(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RECHECK, 0); } public KW_RECURSIVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RECURSIVE, 0); } public KW_REF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REF, 0); } public KW_REFERENCING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REFERENCING, 0); } public KW_REFRESH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REFRESH, 0); } public KW_REINDEX(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REINDEX, 0); } public KW_RELATIVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RELATIVE, 0); } public KW_RELEASE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RELEASE, 0); } public KW_RENAME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RENAME, 0); } public KW_REPEATABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REPEATABLE, 0); } public KW_REPLACE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REPLACE, 0); } public KW_REPLICA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REPLICA, 0); } public KW_RESET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESET, 0); } public KW_RESTART(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESTART, 0); } public KW_RESTRICT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESTRICT, 0); } public KW_RETURNS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RETURNS, 0); } public KW_REVOKE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REVOKE, 0); } public KW_ROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLE, 0); } public KW_ROLLBACK(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLLBACK, 0); } public KW_ROLLUP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLLUP, 0); } public KW_ROUTINE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINE, 0); } public KW_ROUTINES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROUTINES, 0); } public KW_ROWS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROWS, 0); } public KW_RULE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RULE, 0); } public KW_SAVEPOINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SAVEPOINT, 0); } public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public KW_SCHEMAS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMAS, 0); } public KW_SCROLL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCROLL, 0); } public KW_SEARCH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEARCH, 0); } public KW_SECOND(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SECOND, 0); } public KW_SECURITY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SECURITY, 0); } public KW_SEQUENCE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEQUENCE, 0); } public KW_SEQUENCES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SEQUENCES, 0); } public KW_SERIALIZABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SERIALIZABLE, 0); } public KW_SERVER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SERVER, 0); } public KW_SESSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SESSION, 0); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public KW_SETS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SETS, 0); } public KW_SHARE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SHARE, 0); } public KW_SHOW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SHOW, 0); } public KW_SIMPLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SIMPLE, 0); } public KW_SKIP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SKIP, 0); } public KW_SKIP_LOCKED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SKIP_LOCKED, 0); } public KW_SNAPSHOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SNAPSHOT, 0); } public KW_SQL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SQL, 0); } public KW_STABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STABLE, 0); } public KW_STANDALONE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STANDALONE, 0); } public KW_START(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_START, 0); } public KW_STATEMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STATEMENT, 0); } public KW_STATISTICS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STATISTICS, 0); } public KW_STDIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STDIN, 0); } public KW_STDOUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STDOUT, 0); } public KW_STORAGE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STORAGE, 0); } public KW_STORED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STORED, 0); } public KW_STRICT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STRICT, 0); } public KW_STRIP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STRIP, 0); } public KW_SUBSCRIPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SUBSCRIPTION, 0); } public KW_SUPPORT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SUPPORT, 0); } public KW_SYSID(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SYSID, 0); } public KW_SYSTEM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SYSTEM, 0); } public KW_TABLES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLES, 0); } public KW_TABLESPACE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLESPACE, 0); } public KW_TEMP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMP, 0); } public KW_TEMPLATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMPLATE, 0); } public KW_TEMPORARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEMPORARY, 0); } public KW_TEXT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TEXT, 0); } public KW_TIES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TIES, 0); } public KW_TRANSACTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRANSACTION, 0); } public KW_TRANSFORM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRANSFORM, 0); } public KW_TRIGGER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRIGGER, 0); } public KW_TRUNCATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRUNCATE, 0); } public KW_TRUSTED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRUSTED, 0); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } public KW_TYPES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPES, 0); } public KW_UESCAPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UESCAPE, 0); } public KW_UNBOUNDED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNBOUNDED, 0); } public KW_UNCOMMITTED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNCOMMITTED, 0); } public KW_UNENCRYPTED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNENCRYPTED, 0); } public KW_UNKNOWN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNKNOWN, 0); } public KW_UNLISTEN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNLISTEN, 0); } public KW_UNLOGGED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNLOGGED, 0); } public KW_UNTIL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNTIL, 0); } public KW_UPDATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UPDATE, 0); } public KW_VACUUM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VACUUM, 0); } public KW_VALID(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALID, 0); } public KW_VALIDATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALIDATE, 0); } public KW_VALIDATOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALIDATOR, 0); } public KW_VALUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALUE, 0); } public KW_VARYING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VARYING, 0); } public KW_VERSION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VERSION, 0); } public KW_VIEW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VIEW, 0); } public KW_VIEWS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VIEWS, 0); } public KW_VOLATILE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VOLATILE, 0); } public KW_WHITESPACE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WHITESPACE, 0); } public KW_WITHIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITHIN, 0); } public KW_WITHOUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITHOUT, 0); } public KW_WORK(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WORK, 0); } public KW_WRAPPER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WRAPPER, 0); } public KW_WRITE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WRITE, 0); } public KW_XML(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XML, 0); } public KW_YEAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_YEAR, 0); } public KW_YES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_YES, 0); } public KW_ZONE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ZONE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_unreserved_keyword; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterUnreserved_keyword) { listener.enterUnreserved_keyword(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitUnreserved_keyword) { listener.exitUnreserved_keyword(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitUnreserved_keyword) { return visitor.visitUnreserved_keyword(this); } else { return visitor.visitChildren(this); } } } export class Col_name_keywordContext extends ParserRuleContext { public KW_BETWEEN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BETWEEN, 0); } public KW_BIGINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BIGINT, 0); } public bit(): BitContext | undefined { return this.tryGetRuleContext(0, BitContext); } public KW_BOOLEAN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BOOLEAN, 0); } public KW_CHAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CHAR, 0); } public character(): CharacterContext | undefined { return this.tryGetRuleContext(0, CharacterContext); } public KW_COALESCE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COALESCE, 0); } public KW_DEC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEC, 0); } public KW_DECIMAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DECIMAL, 0); } public KW_EXISTS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXISTS, 0); } public KW_EXTRACT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXTRACT, 0); } public KW_FLOAT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FLOAT, 0); } public KW_GREATEST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GREATEST, 0); } public KW_GROUPING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GROUPING, 0); } public KW_INOUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INOUT, 0); } public KW_INT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INT, 0); } public KW_INTEGER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INTEGER, 0); } public KW_INTERVAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INTERVAL, 0); } public KW_LEAST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEAST, 0); } public KW_NATIONAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NATIONAL, 0); } public KW_NCHAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NCHAR, 0); } public KW_NONE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NONE, 0); } public KW_NORMALIZE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NORMALIZE, 0); } public KW_NULLIF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULLIF, 0); } public numeric(): NumericContext | undefined { return this.tryGetRuleContext(0, NumericContext); } public KW_OUT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OUT, 0); } public KW_OVERLAY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OVERLAY, 0); } public KW_POSITION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_POSITION, 0); } public KW_PRECISION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRECISION, 0); } public KW_REAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REAL, 0); } public KW_ROW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROW, 0); } public KW_SETOF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SETOF, 0); } public KW_SMALLINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SMALLINT, 0); } public KW_SUBSTRING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SUBSTRING, 0); } public KW_TIME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TIME, 0); } public KW_TIMESTAMP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TIMESTAMP, 0); } public KW_TREAT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TREAT, 0); } public KW_TRIM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRIM, 0); } public KW_VALUES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALUES, 0); } public KW_VARCHAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VARCHAR, 0); } public KW_XMLATTRIBUTES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLATTRIBUTES, 0); } public KW_XMLCONCAT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLCONCAT, 0); } public KW_XMLELEMENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLELEMENT, 0); } public KW_XMLEXISTS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLEXISTS, 0); } public KW_XMLFOREST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLFOREST, 0); } public KW_XMLNAMESPACES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLNAMESPACES, 0); } public KW_XMLPARSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLPARSE, 0); } public KW_XMLPI(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLPI, 0); } public KW_XMLROOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLROOT, 0); } public KW_XMLSERIALIZE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLSERIALIZE, 0); } public KW_XMLTABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_XMLTABLE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_col_name_keyword; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCol_name_keyword) { listener.enterCol_name_keyword(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCol_name_keyword) { listener.exitCol_name_keyword(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCol_name_keyword) { return visitor.visitCol_name_keyword(this); } else { return visitor.visitChildren(this); } } } export class Type_func_name_keywordContext extends ParserRuleContext { public KW_AUTHORIZATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AUTHORIZATION, 0); } public KW_BINARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BINARY, 0); } public KW_COLLATION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATION, 0); } public KW_CONCURRENTLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONCURRENTLY, 0); } public KW_CROSS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CROSS, 0); } public KW_CURRENT_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_SCHEMA, 0); } public KW_FREEZE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FREEZE, 0); } public KW_FULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FULL, 0); } public KW_ILIKE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ILIKE, 0); } public KW_INNER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INNER, 0); } public KW_IS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IS, 0); } public KW_ISNULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ISNULL, 0); } public KW_JOIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_JOIN, 0); } public KW_LEFT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEFT, 0); } public KW_LIKE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LIKE, 0); } public KW_NATURAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NATURAL, 0); } public KW_NOTNULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOTNULL, 0); } public KW_OUTER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OUTER, 0); } public KW_OVERLAPS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OVERLAPS, 0); } public KW_RIGHT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RIGHT, 0); } public KW_SIMILAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SIMILAR, 0); } public KW_TABLESAMPLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLESAMPLE, 0); } public KW_VERBOSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VERBOSE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_type_func_name_keyword; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterType_func_name_keyword) { listener.enterType_func_name_keyword(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitType_func_name_keyword) { listener.exitType_func_name_keyword(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitType_func_name_keyword) { return visitor.visitType_func_name_keyword(this); } else { return visitor.visitChildren(this); } } } export class Reserved_keywordContext extends ParserRuleContext { public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public KW_ANALYSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ANALYSE, 0); } public KW_ANALYZE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ANALYZE, 0); } public KW_AND(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AND, 0); } public KW_ANY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ANY, 0); } public KW_ARRAY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ARRAY, 0); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } public KW_ASC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ASC, 0); } public KW_ASYMMETRIC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ASYMMETRIC, 0); } public KW_BOTH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BOTH, 0); } public KW_CASE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CASE, 0); } public KW_CAST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CAST, 0); } public KW_CHECK(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CHECK, 0); } public KW_COLLATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATE, 0); } public KW_COLUMN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLUMN, 0); } public KW_CONSTRAINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTRAINT, 0); } public KW_CREATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CREATE, 0); } public KW_CURRENT_CATALOG(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_CATALOG, 0); } public KW_CURRENT_DATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_DATE, 0); } public KW_CURRENT_ROLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_ROLE, 0); } public KW_CURRENT_TIME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_TIME, 0); } public KW_CURRENT_TIMESTAMP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_TIMESTAMP, 0); } public KW_CURRENT_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT_USER, 0); } public KW_DEFERRABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFERRABLE, 0); } public KW_DESC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DESC, 0); } public KW_DISTINCT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DISTINCT, 0); } public KW_DO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DO, 0); } public KW_ELSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ELSE, 0); } public KW_END(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_END, 0); } public KW_EXCEPT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXCEPT, 0); } public KW_FALSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FALSE, 0); } public KW_FETCH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FETCH, 0); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public KW_FOREIGN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOREIGN, 0); } public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public KW_GRANT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GRANT, 0); } public KW_GROUP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GROUP, 0); } public KW_HAVING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_HAVING, 0); } public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } public KW_INITIALLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INITIALLY, 0); } public KW_INTERSECT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INTERSECT, 0); } public KW_LATERAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LATERAL, 0); } public KW_LEADING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LEADING, 0); } public KW_LIMIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LIMIT, 0); } public KW_LOCALTIME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCALTIME, 0); } public KW_LOCALTIMESTAMP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOCALTIMESTAMP, 0); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } public KW_OFFSET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OFFSET, 0); } public KW_ON(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ON, 0); } public KW_ONLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ONLY, 0); } public KW_OR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OR, 0); } public KW_ORDER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ORDER, 0); } public KW_PLACING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PLACING, 0); } public KW_PRIMARY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRIMARY, 0); } public KW_REFERENCES(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REFERENCES, 0); } public KW_RETURNING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RETURNING, 0); } public KW_SELECT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SELECT, 0); } public KW_SESSION_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SESSION_USER, 0); } public KW_SOME(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SOME, 0); } public KW_SYMMETRIC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SYMMETRIC, 0); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public KW_THEN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_THEN, 0); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public KW_TRAILING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRAILING, 0); } public KW_TRUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TRUE, 0); } public KW_UNION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNION, 0); } public KW_UNIQUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_UNIQUE, 0); } public KW_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USER, 0); } public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public KW_VARIADIC(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VARIADIC, 0); } public KW_WHEN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WHEN, 0); } public KW_WHERE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WHERE, 0); } public KW_WINDOW(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WINDOW, 0); } public KW_WITH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WITH, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_reserved_keyword; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterReserved_keyword) { listener.enterReserved_keyword(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitReserved_keyword) { listener.exitReserved_keyword(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitReserved_keyword) { return visitor.visitReserved_keyword(this); } else { return visitor.visitChildren(this); } } } export class Pl_functionContext extends ParserRuleContext { public comp_options(): Comp_optionsContext { return this.getRuleContext(0, Comp_optionsContext); } public pl_block(): Pl_blockContext { return this.getRuleContext(0, Pl_blockContext); } public opt_semi(): Opt_semiContext { return this.getRuleContext(0, Opt_semiContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_pl_function; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPl_function) { listener.enterPl_function(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPl_function) { listener.exitPl_function(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPl_function) { return visitor.visitPl_function(this); } else { return visitor.visitChildren(this); } } } export class Comp_optionsContext extends ParserRuleContext { public comp_option(): Comp_optionContext[]; public comp_option(i: number): Comp_optionContext; public comp_option(i?: number): Comp_optionContext | Comp_optionContext[] { if (i === undefined) { return this.getRuleContexts(Comp_optionContext); } else { return this.getRuleContext(i, Comp_optionContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_comp_options; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterComp_options) { listener.enterComp_options(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitComp_options) { listener.exitComp_options(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitComp_options) { return visitor.visitComp_options(this); } else { return visitor.visitChildren(this); } } } export class Comp_optionContext extends ParserRuleContext { public sharp(): SharpContext { return this.getRuleContext(0, SharpContext); } public KW_OPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPTION, 0); } public KW_DUMP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DUMP, 0); } public KW_PRINT_STRICT_PARAMS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRINT_STRICT_PARAMS, 0); } public option_value(): Option_valueContext | undefined { return this.tryGetRuleContext(0, Option_valueContext); } public KW_VARIABLE_CONFLICT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VARIABLE_CONFLICT, 0); } public KW_ERROR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ERROR, 0); } public KW_USE_VARIABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USE_VARIABLE, 0); } public KW_USE_COLUMN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USE_COLUMN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_comp_option; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterComp_option) { listener.enterComp_option(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitComp_option) { listener.exitComp_option(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitComp_option) { return visitor.visitComp_option(this); } else { return visitor.visitChildren(this); } } } export class SharpContext extends ParserRuleContext { public Operator(): TerminalNode { return this.getToken(PostgreSQLParser.Operator, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_sharp; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSharp) { listener.enterSharp(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSharp) { listener.exitSharp(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSharp) { return visitor.visitSharp(this); } else { return visitor.visitChildren(this); } } } export class Option_valueContext extends ParserRuleContext { public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public reserved_keyword(): Reserved_keywordContext | undefined { return this.tryGetRuleContext(0, Reserved_keywordContext); } public plsql_unreserved_keyword(): Plsql_unreserved_keywordContext | undefined { return this.tryGetRuleContext(0, Plsql_unreserved_keywordContext); } public unreserved_keyword(): Unreserved_keywordContext | undefined { return this.tryGetRuleContext(0, Unreserved_keywordContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_option_value; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOption_value) { listener.enterOption_value(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOption_value) { listener.exitOption_value(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOption_value) { return visitor.visitOption_value(this); } else { return visitor.visitChildren(this); } } } export class Opt_semiContext extends ParserRuleContext { public SEMI(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.SEMI, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_semi; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_semi) { listener.enterOpt_semi(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_semi) { listener.exitOpt_semi(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_semi) { return visitor.visitOpt_semi(this); } else { return visitor.visitChildren(this); } } } export class Pl_blockContext extends ParserRuleContext { public decl_sect(): Decl_sectContext { return this.getRuleContext(0, Decl_sectContext); } public KW_BEGIN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_BEGIN, 0); } public proc_sect(): Proc_sectContext { return this.getRuleContext(0, Proc_sectContext); } public exception_sect(): Exception_sectContext { return this.getRuleContext(0, Exception_sectContext); } public KW_END(): TerminalNode { return this.getToken(PostgreSQLParser.KW_END, 0); } public opt_label(): Opt_labelContext { return this.getRuleContext(0, Opt_labelContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_pl_block; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPl_block) { listener.enterPl_block(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPl_block) { listener.exitPl_block(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPl_block) { return visitor.visitPl_block(this); } else { return visitor.visitChildren(this); } } } export class Decl_sectContext extends ParserRuleContext { public opt_block_label(): Opt_block_labelContext { return this.getRuleContext(0, Opt_block_labelContext); } public decl_start(): Decl_startContext | undefined { return this.tryGetRuleContext(0, Decl_startContext); } public decl_stmts(): Decl_stmtsContext | undefined { return this.tryGetRuleContext(0, Decl_stmtsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_sect; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_sect) { listener.enterDecl_sect(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_sect) { listener.exitDecl_sect(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_sect) { return visitor.visitDecl_sect(this); } else { return visitor.visitChildren(this); } } } export class Decl_startContext extends ParserRuleContext { public KW_DECLARE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DECLARE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_start; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_start) { listener.enterDecl_start(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_start) { listener.exitDecl_start(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_start) { return visitor.visitDecl_start(this); } else { return visitor.visitChildren(this); } } } export class Decl_stmtsContext extends ParserRuleContext { public decl_stmt(): Decl_stmtContext[]; public decl_stmt(i: number): Decl_stmtContext; public decl_stmt(i?: number): Decl_stmtContext | Decl_stmtContext[] { if (i === undefined) { return this.getRuleContexts(Decl_stmtContext); } else { return this.getRuleContext(i, Decl_stmtContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_stmts; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_stmts) { listener.enterDecl_stmts(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_stmts) { listener.exitDecl_stmts(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_stmts) { return visitor.visitDecl_stmts(this); } else { return visitor.visitChildren(this); } } } export class Label_declContext extends ParserRuleContext { public LESS_LESS(): TerminalNode { return this.getToken(PostgreSQLParser.LESS_LESS, 0); } public any_identifier(): Any_identifierContext { return this.getRuleContext(0, Any_identifierContext); } public GREATER_GREATER(): TerminalNode { return this.getToken(PostgreSQLParser.GREATER_GREATER, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_label_decl; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterLabel_decl) { listener.enterLabel_decl(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitLabel_decl) { listener.exitLabel_decl(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitLabel_decl) { return visitor.visitLabel_decl(this); } else { return visitor.visitChildren(this); } } } export class Decl_stmtContext extends ParserRuleContext { public decl_statement(): Decl_statementContext | undefined { return this.tryGetRuleContext(0, Decl_statementContext); } public KW_DECLARE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DECLARE, 0); } public label_decl(): Label_declContext | undefined { return this.tryGetRuleContext(0, Label_declContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_stmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_stmt) { listener.enterDecl_stmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_stmt) { listener.exitDecl_stmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_stmt) { return visitor.visitDecl_stmt(this); } else { return visitor.visitChildren(this); } } } export class Decl_statementContext extends ParserRuleContext { public decl_varname(): Decl_varnameContext { return this.getRuleContext(0, Decl_varnameContext); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } public KW_ALIAS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALIAS, 0); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public decl_aliasitem(): Decl_aliasitemContext | undefined { return this.tryGetRuleContext(0, Decl_aliasitemContext); } public decl_const(): Decl_constContext | undefined { return this.tryGetRuleContext(0, Decl_constContext); } public decl_datatype(): Decl_datatypeContext | undefined { return this.tryGetRuleContext(0, Decl_datatypeContext); } public decl_collate(): Decl_collateContext | undefined { return this.tryGetRuleContext(0, Decl_collateContext); } public decl_notnull(): Decl_notnullContext | undefined { return this.tryGetRuleContext(0, Decl_notnullContext); } public decl_defval(): Decl_defvalContext | undefined { return this.tryGetRuleContext(0, Decl_defvalContext); } public opt_scrollable(): Opt_scrollableContext | undefined { return this.tryGetRuleContext(0, Opt_scrollableContext); } public KW_CURSOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURSOR, 0); } public decl_cursor_args(): Decl_cursor_argsContext | undefined { return this.tryGetRuleContext(0, Decl_cursor_argsContext); } public decl_is_for(): Decl_is_forContext | undefined { return this.tryGetRuleContext(0, Decl_is_forContext); } public decl_cursor_query(): Decl_cursor_queryContext | undefined { return this.tryGetRuleContext(0, Decl_cursor_queryContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_statement; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_statement) { listener.enterDecl_statement(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_statement) { listener.exitDecl_statement(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_statement) { return visitor.visitDecl_statement(this); } else { return visitor.visitChildren(this); } } } export class Opt_scrollableContext extends ParserRuleContext { public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } public KW_SCROLL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCROLL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_scrollable; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_scrollable) { listener.enterOpt_scrollable(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_scrollable) { listener.exitOpt_scrollable(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_scrollable) { return visitor.visitOpt_scrollable(this); } else { return visitor.visitChildren(this); } } } export class Decl_cursor_queryContext extends ParserRuleContext { public selectstmt(): SelectstmtContext { return this.getRuleContext(0, SelectstmtContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_cursor_query; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_cursor_query) { listener.enterDecl_cursor_query(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_cursor_query) { listener.exitDecl_cursor_query(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_cursor_query) { return visitor.visitDecl_cursor_query(this); } else { return visitor.visitChildren(this); } } } export class Decl_cursor_argsContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public decl_cursor_arglist(): Decl_cursor_arglistContext | undefined { return this.tryGetRuleContext(0, Decl_cursor_arglistContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_cursor_args; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_cursor_args) { listener.enterDecl_cursor_args(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_cursor_args) { listener.exitDecl_cursor_args(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_cursor_args) { return visitor.visitDecl_cursor_args(this); } else { return visitor.visitChildren(this); } } } export class Decl_cursor_arglistContext extends ParserRuleContext { public decl_cursor_arg(): Decl_cursor_argContext[]; public decl_cursor_arg(i: number): Decl_cursor_argContext; public decl_cursor_arg(i?: number): Decl_cursor_argContext | Decl_cursor_argContext[] { if (i === undefined) { return this.getRuleContexts(Decl_cursor_argContext); } else { return this.getRuleContext(i, Decl_cursor_argContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_cursor_arglist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_cursor_arglist) { listener.enterDecl_cursor_arglist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_cursor_arglist) { listener.exitDecl_cursor_arglist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_cursor_arglist) { return visitor.visitDecl_cursor_arglist(this); } else { return visitor.visitChildren(this); } } } export class Decl_cursor_argContext extends ParserRuleContext { public decl_varname(): Decl_varnameContext { return this.getRuleContext(0, Decl_varnameContext); } public decl_datatype(): Decl_datatypeContext { return this.getRuleContext(0, Decl_datatypeContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_cursor_arg; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_cursor_arg) { listener.enterDecl_cursor_arg(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_cursor_arg) { listener.exitDecl_cursor_arg(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_cursor_arg) { return visitor.visitDecl_cursor_arg(this); } else { return visitor.visitChildren(this); } } } export class Decl_is_forContext extends ParserRuleContext { public KW_IS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IS, 0); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_is_for; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_is_for) { listener.enterDecl_is_for(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_is_for) { listener.exitDecl_is_for(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_is_for) { return visitor.visitDecl_is_for(this); } else { return visitor.visitChildren(this); } } } export class Decl_aliasitemContext extends ParserRuleContext { public PARAM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PARAM, 0); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_aliasitem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_aliasitem) { listener.enterDecl_aliasitem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_aliasitem) { listener.exitDecl_aliasitem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_aliasitem) { return visitor.visitDecl_aliasitem(this); } else { return visitor.visitChildren(this); } } } export class Decl_varnameContext extends ParserRuleContext { public any_identifier(): Any_identifierContext { return this.getRuleContext(0, Any_identifierContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_varname; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_varname) { listener.enterDecl_varname(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_varname) { listener.exitDecl_varname(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_varname) { return visitor.visitDecl_varname(this); } else { return visitor.visitChildren(this); } } } export class Decl_constContext extends ParserRuleContext { public KW_CONSTANT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTANT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_const; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_const) { listener.enterDecl_const(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_const) { listener.exitDecl_const(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_const) { return visitor.visitDecl_const(this); } else { return visitor.visitChildren(this); } } } export class Decl_datatypeContext extends ParserRuleContext { public typename(): TypenameContext { return this.getRuleContext(0, TypenameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_datatype; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_datatype) { listener.enterDecl_datatype(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_datatype) { listener.exitDecl_datatype(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_datatype) { return visitor.visitDecl_datatype(this); } else { return visitor.visitChildren(this); } } } export class Decl_collateContext extends ParserRuleContext { public KW_COLLATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATE, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_collate; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_collate) { listener.enterDecl_collate(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_collate) { listener.exitDecl_collate(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_collate) { return visitor.visitDecl_collate(this); } else { return visitor.visitChildren(this); } } } export class Decl_notnullContext extends ParserRuleContext { public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public KW_NULL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NULL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_notnull; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_notnull) { listener.enterDecl_notnull(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_notnull) { listener.exitDecl_notnull(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_notnull) { return visitor.visitDecl_notnull(this); } else { return visitor.visitChildren(this); } } } export class Decl_defvalContext extends ParserRuleContext { public decl_defkey(): Decl_defkeyContext | undefined { return this.tryGetRuleContext(0, Decl_defkeyContext); } public sql_expression(): Sql_expressionContext | undefined { return this.tryGetRuleContext(0, Sql_expressionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_defval; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_defval) { listener.enterDecl_defval(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_defval) { listener.exitDecl_defval(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_defval) { return visitor.visitDecl_defval(this); } else { return visitor.visitChildren(this); } } } export class Decl_defkeyContext extends ParserRuleContext { public assign_operator(): Assign_operatorContext | undefined { return this.tryGetRuleContext(0, Assign_operatorContext); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_decl_defkey; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDecl_defkey) { listener.enterDecl_defkey(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDecl_defkey) { listener.exitDecl_defkey(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDecl_defkey) { return visitor.visitDecl_defkey(this); } else { return visitor.visitChildren(this); } } } export class Assign_operatorContext extends ParserRuleContext { public EQUAL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.EQUAL, 0); } public COLON_EQUALS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.COLON_EQUALS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_assign_operator; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAssign_operator) { listener.enterAssign_operator(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAssign_operator) { listener.exitAssign_operator(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAssign_operator) { return visitor.visitAssign_operator(this); } else { return visitor.visitChildren(this); } } } export class Proc_sectContext extends ParserRuleContext { public proc_stmt(): Proc_stmtContext[]; public proc_stmt(i: number): Proc_stmtContext; public proc_stmt(i?: number): Proc_stmtContext | Proc_stmtContext[] { if (i === undefined) { return this.getRuleContexts(Proc_stmtContext); } else { return this.getRuleContext(i, Proc_stmtContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_proc_sect; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProc_sect) { listener.enterProc_sect(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProc_sect) { listener.exitProc_sect(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProc_sect) { return visitor.visitProc_sect(this); } else { return visitor.visitChildren(this); } } } export class Proc_stmtContext extends ParserRuleContext { public pl_block(): Pl_blockContext | undefined { return this.tryGetRuleContext(0, Pl_blockContext); } public SEMI(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.SEMI, 0); } public stmt_return(): Stmt_returnContext | undefined { return this.tryGetRuleContext(0, Stmt_returnContext); } public stmt_raise(): Stmt_raiseContext | undefined { return this.tryGetRuleContext(0, Stmt_raiseContext); } public stmt_assign(): Stmt_assignContext | undefined { return this.tryGetRuleContext(0, Stmt_assignContext); } public stmt_if(): Stmt_ifContext | undefined { return this.tryGetRuleContext(0, Stmt_ifContext); } public stmt_case(): Stmt_caseContext | undefined { return this.tryGetRuleContext(0, Stmt_caseContext); } public stmt_loop(): Stmt_loopContext | undefined { return this.tryGetRuleContext(0, Stmt_loopContext); } public stmt_while(): Stmt_whileContext | undefined { return this.tryGetRuleContext(0, Stmt_whileContext); } public stmt_for(): Stmt_forContext | undefined { return this.tryGetRuleContext(0, Stmt_forContext); } public stmt_foreach_a(): Stmt_foreach_aContext | undefined { return this.tryGetRuleContext(0, Stmt_foreach_aContext); } public stmt_exit(): Stmt_exitContext | undefined { return this.tryGetRuleContext(0, Stmt_exitContext); } public stmt_assert(): Stmt_assertContext | undefined { return this.tryGetRuleContext(0, Stmt_assertContext); } public stmt_execsql(): Stmt_execsqlContext | undefined { return this.tryGetRuleContext(0, Stmt_execsqlContext); } public stmt_dynexecute(): Stmt_dynexecuteContext | undefined { return this.tryGetRuleContext(0, Stmt_dynexecuteContext); } public stmt_perform(): Stmt_performContext | undefined { return this.tryGetRuleContext(0, Stmt_performContext); } public stmt_call(): Stmt_callContext | undefined { return this.tryGetRuleContext(0, Stmt_callContext); } public stmt_getdiag(): Stmt_getdiagContext | undefined { return this.tryGetRuleContext(0, Stmt_getdiagContext); } public stmt_open(): Stmt_openContext | undefined { return this.tryGetRuleContext(0, Stmt_openContext); } public stmt_fetch(): Stmt_fetchContext | undefined { return this.tryGetRuleContext(0, Stmt_fetchContext); } public stmt_move(): Stmt_moveContext | undefined { return this.tryGetRuleContext(0, Stmt_moveContext); } public stmt_close(): Stmt_closeContext | undefined { return this.tryGetRuleContext(0, Stmt_closeContext); } public stmt_null(): Stmt_nullContext | undefined { return this.tryGetRuleContext(0, Stmt_nullContext); } public stmt_commit(): Stmt_commitContext | undefined { return this.tryGetRuleContext(0, Stmt_commitContext); } public stmt_rollback(): Stmt_rollbackContext | undefined { return this.tryGetRuleContext(0, Stmt_rollbackContext); } public stmt_set(): Stmt_setContext | undefined { return this.tryGetRuleContext(0, Stmt_setContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_proc_stmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProc_stmt) { listener.enterProc_stmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProc_stmt) { listener.exitProc_stmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProc_stmt) { return visitor.visitProc_stmt(this); } else { return visitor.visitChildren(this); } } } export class Stmt_performContext extends ParserRuleContext { public KW_PERFORM(): TerminalNode { return this.getToken(PostgreSQLParser.KW_PERFORM, 0); } public expr_until_semi(): Expr_until_semiContext { return this.getRuleContext(0, Expr_until_semiContext); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_perform; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_perform) { listener.enterStmt_perform(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_perform) { listener.exitStmt_perform(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_perform) { return visitor.visitStmt_perform(this); } else { return visitor.visitChildren(this); } } } export class Stmt_callContext extends ParserRuleContext { public KW_CALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CALL, 0); } public any_identifier(): Any_identifierContext { return this.getRuleContext(0, Any_identifierContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public opt_expr_list(): Opt_expr_listContext | undefined { return this.tryGetRuleContext(0, Opt_expr_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public SEMI(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.SEMI, 0); } public KW_DO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_call; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_call) { listener.enterStmt_call(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_call) { listener.exitStmt_call(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_call) { return visitor.visitStmt_call(this); } else { return visitor.visitChildren(this); } } } export class Opt_expr_listContext extends ParserRuleContext { public expr_list(): Expr_listContext | undefined { return this.tryGetRuleContext(0, Expr_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_expr_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_expr_list) { listener.enterOpt_expr_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_expr_list) { listener.exitOpt_expr_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_expr_list) { return visitor.visitOpt_expr_list(this); } else { return visitor.visitChildren(this); } } } export class Stmt_assignContext extends ParserRuleContext { public assign_var(): Assign_varContext { return this.getRuleContext(0, Assign_varContext); } public assign_operator(): Assign_operatorContext { return this.getRuleContext(0, Assign_operatorContext); } public sql_expression(): Sql_expressionContext { return this.getRuleContext(0, Sql_expressionContext); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_assign; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_assign) { listener.enterStmt_assign(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_assign) { listener.exitStmt_assign(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_assign) { return visitor.visitStmt_assign(this); } else { return visitor.visitChildren(this); } } } export class Stmt_getdiagContext extends ParserRuleContext { public KW_GET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_GET, 0); } public getdiag_area_opt(): Getdiag_area_optContext { return this.getRuleContext(0, Getdiag_area_optContext); } public KW_DIAGNOSTICS(): TerminalNode { return this.getToken(PostgreSQLParser.KW_DIAGNOSTICS, 0); } public getdiag_list(): Getdiag_listContext { return this.getRuleContext(0, Getdiag_listContext); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_getdiag; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_getdiag) { listener.enterStmt_getdiag(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_getdiag) { listener.exitStmt_getdiag(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_getdiag) { return visitor.visitStmt_getdiag(this); } else { return visitor.visitChildren(this); } } } export class Getdiag_area_optContext extends ParserRuleContext { public KW_CURRENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT, 0); } public KW_STACKED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STACKED, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_getdiag_area_opt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGetdiag_area_opt) { listener.enterGetdiag_area_opt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGetdiag_area_opt) { listener.exitGetdiag_area_opt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGetdiag_area_opt) { return visitor.visitGetdiag_area_opt(this); } else { return visitor.visitChildren(this); } } } export class Getdiag_listContext extends ParserRuleContext { public getdiag_list_item(): Getdiag_list_itemContext[]; public getdiag_list_item(i: number): Getdiag_list_itemContext; public getdiag_list_item(i?: number): Getdiag_list_itemContext | Getdiag_list_itemContext[] { if (i === undefined) { return this.getRuleContexts(Getdiag_list_itemContext); } else { return this.getRuleContext(i, Getdiag_list_itemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_getdiag_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGetdiag_list) { listener.enterGetdiag_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGetdiag_list) { listener.exitGetdiag_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGetdiag_list) { return visitor.visitGetdiag_list(this); } else { return visitor.visitChildren(this); } } } export class Getdiag_list_itemContext extends ParserRuleContext { public getdiag_target(): Getdiag_targetContext { return this.getRuleContext(0, Getdiag_targetContext); } public assign_operator(): Assign_operatorContext { return this.getRuleContext(0, Assign_operatorContext); } public getdiag_item(): Getdiag_itemContext { return this.getRuleContext(0, Getdiag_itemContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_getdiag_list_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGetdiag_list_item) { listener.enterGetdiag_list_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGetdiag_list_item) { listener.exitGetdiag_list_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGetdiag_list_item) { return visitor.visitGetdiag_list_item(this); } else { return visitor.visitChildren(this); } } } export class Getdiag_itemContext extends ParserRuleContext { public colid(): ColidContext { return this.getRuleContext(0, ColidContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_getdiag_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGetdiag_item) { listener.enterGetdiag_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGetdiag_item) { listener.exitGetdiag_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGetdiag_item) { return visitor.visitGetdiag_item(this); } else { return visitor.visitChildren(this); } } } export class Getdiag_targetContext extends ParserRuleContext { public assign_var(): Assign_varContext { return this.getRuleContext(0, Assign_varContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_getdiag_target; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterGetdiag_target) { listener.enterGetdiag_target(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitGetdiag_target) { listener.exitGetdiag_target(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitGetdiag_target) { return visitor.visitGetdiag_target(this); } else { return visitor.visitChildren(this); } } } export class Assign_varContext extends ParserRuleContext { public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public PARAM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PARAM, 0); } public OPEN_BRACKET(): TerminalNode[]; public OPEN_BRACKET(i: number): TerminalNode; public OPEN_BRACKET(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.OPEN_BRACKET); } else { return this.getToken(PostgreSQLParser.OPEN_BRACKET, i); } } public expr_until_rightbracket(): Expr_until_rightbracketContext[]; public expr_until_rightbracket(i: number): Expr_until_rightbracketContext; public expr_until_rightbracket(i?: number): Expr_until_rightbracketContext | Expr_until_rightbracketContext[] { if (i === undefined) { return this.getRuleContexts(Expr_until_rightbracketContext); } else { return this.getRuleContext(i, Expr_until_rightbracketContext); } } public CLOSE_BRACKET(): TerminalNode[]; public CLOSE_BRACKET(i: number): TerminalNode; public CLOSE_BRACKET(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.CLOSE_BRACKET); } else { return this.getToken(PostgreSQLParser.CLOSE_BRACKET, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_assign_var; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAssign_var) { listener.enterAssign_var(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAssign_var) { listener.exitAssign_var(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAssign_var) { return visitor.visitAssign_var(this); } else { return visitor.visitChildren(this); } } } export class Stmt_ifContext extends ParserRuleContext { public KW_IF(): TerminalNode[]; public KW_IF(i: number): TerminalNode; public KW_IF(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_IF); } else { return this.getToken(PostgreSQLParser.KW_IF, i); } } public expr_until_then(): Expr_until_thenContext { return this.getRuleContext(0, Expr_until_thenContext); } public KW_THEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_THEN, 0); } public proc_sect(): Proc_sectContext { return this.getRuleContext(0, Proc_sectContext); } public stmt_elsifs(): Stmt_elsifsContext { return this.getRuleContext(0, Stmt_elsifsContext); } public stmt_else(): Stmt_elseContext { return this.getRuleContext(0, Stmt_elseContext); } public KW_END(): TerminalNode { return this.getToken(PostgreSQLParser.KW_END, 0); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_if; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_if) { listener.enterStmt_if(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_if) { listener.exitStmt_if(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_if) { return visitor.visitStmt_if(this); } else { return visitor.visitChildren(this); } } } export class Stmt_elsifsContext extends ParserRuleContext { public KW_ELSIF(): TerminalNode[]; public KW_ELSIF(i: number): TerminalNode; public KW_ELSIF(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_ELSIF); } else { return this.getToken(PostgreSQLParser.KW_ELSIF, i); } } public a_expr(): A_exprContext[]; public a_expr(i: number): A_exprContext; public a_expr(i?: number): A_exprContext | A_exprContext[] { if (i === undefined) { return this.getRuleContexts(A_exprContext); } else { return this.getRuleContext(i, A_exprContext); } } public KW_THEN(): TerminalNode[]; public KW_THEN(i: number): TerminalNode; public KW_THEN(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_THEN); } else { return this.getToken(PostgreSQLParser.KW_THEN, i); } } public proc_sect(): Proc_sectContext[]; public proc_sect(i: number): Proc_sectContext; public proc_sect(i?: number): Proc_sectContext | Proc_sectContext[] { if (i === undefined) { return this.getRuleContexts(Proc_sectContext); } else { return this.getRuleContext(i, Proc_sectContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_elsifs; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_elsifs) { listener.enterStmt_elsifs(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_elsifs) { listener.exitStmt_elsifs(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_elsifs) { return visitor.visitStmt_elsifs(this); } else { return visitor.visitChildren(this); } } } export class Stmt_elseContext extends ParserRuleContext { public KW_ELSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ELSE, 0); } public proc_sect(): Proc_sectContext | undefined { return this.tryGetRuleContext(0, Proc_sectContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_else; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_else) { listener.enterStmt_else(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_else) { listener.exitStmt_else(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_else) { return visitor.visitStmt_else(this); } else { return visitor.visitChildren(this); } } } export class Stmt_caseContext extends ParserRuleContext { public KW_CASE(): TerminalNode[]; public KW_CASE(i: number): TerminalNode; public KW_CASE(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_CASE); } else { return this.getToken(PostgreSQLParser.KW_CASE, i); } } public opt_expr_until_when(): Opt_expr_until_whenContext { return this.getRuleContext(0, Opt_expr_until_whenContext); } public case_when_list(): Case_when_listContext { return this.getRuleContext(0, Case_when_listContext); } public opt_case_else(): Opt_case_elseContext { return this.getRuleContext(0, Opt_case_elseContext); } public KW_END(): TerminalNode { return this.getToken(PostgreSQLParser.KW_END, 0); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_case; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_case) { listener.enterStmt_case(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_case) { listener.exitStmt_case(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_case) { return visitor.visitStmt_case(this); } else { return visitor.visitChildren(this); } } } export class Opt_expr_until_whenContext extends ParserRuleContext { public sql_expression(): Sql_expressionContext | undefined { return this.tryGetRuleContext(0, Sql_expressionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_expr_until_when; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_expr_until_when) { listener.enterOpt_expr_until_when(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_expr_until_when) { listener.exitOpt_expr_until_when(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_expr_until_when) { return visitor.visitOpt_expr_until_when(this); } else { return visitor.visitChildren(this); } } } export class Case_when_listContext extends ParserRuleContext { public case_when(): Case_whenContext[]; public case_when(i: number): Case_whenContext; public case_when(i?: number): Case_whenContext | Case_whenContext[] { if (i === undefined) { return this.getRuleContexts(Case_whenContext); } else { return this.getRuleContext(i, Case_whenContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_case_when_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCase_when_list) { listener.enterCase_when_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCase_when_list) { listener.exitCase_when_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCase_when_list) { return visitor.visitCase_when_list(this); } else { return visitor.visitChildren(this); } } } export class Case_whenContext extends ParserRuleContext { public KW_WHEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WHEN, 0); } public expr_list(): Expr_listContext { return this.getRuleContext(0, Expr_listContext); } public KW_THEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_THEN, 0); } public proc_sect(): Proc_sectContext { return this.getRuleContext(0, Proc_sectContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_case_when; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCase_when) { listener.enterCase_when(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCase_when) { listener.exitCase_when(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCase_when) { return visitor.visitCase_when(this); } else { return visitor.visitChildren(this); } } } export class Opt_case_elseContext extends ParserRuleContext { public KW_ELSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ELSE, 0); } public proc_sect(): Proc_sectContext | undefined { return this.tryGetRuleContext(0, Proc_sectContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_case_else; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_case_else) { listener.enterOpt_case_else(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_case_else) { listener.exitOpt_case_else(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_case_else) { return visitor.visitOpt_case_else(this); } else { return visitor.visitChildren(this); } } } export class Stmt_loopContext extends ParserRuleContext { public opt_loop_label(): Opt_loop_labelContext { return this.getRuleContext(0, Opt_loop_labelContext); } public loop_body(): Loop_bodyContext { return this.getRuleContext(0, Loop_bodyContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_loop; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_loop) { listener.enterStmt_loop(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_loop) { listener.exitStmt_loop(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_loop) { return visitor.visitStmt_loop(this); } else { return visitor.visitChildren(this); } } } export class Stmt_whileContext extends ParserRuleContext { public opt_loop_label(): Opt_loop_labelContext { return this.getRuleContext(0, Opt_loop_labelContext); } public KW_WHILE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WHILE, 0); } public expr_until_loop(): Expr_until_loopContext { return this.getRuleContext(0, Expr_until_loopContext); } public loop_body(): Loop_bodyContext { return this.getRuleContext(0, Loop_bodyContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_while; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_while) { listener.enterStmt_while(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_while) { listener.exitStmt_while(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_while) { return visitor.visitStmt_while(this); } else { return visitor.visitChildren(this); } } } export class Stmt_forContext extends ParserRuleContext { public opt_loop_label(): Opt_loop_labelContext { return this.getRuleContext(0, Opt_loop_labelContext); } public KW_FOR(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOR, 0); } public for_control(): For_controlContext { return this.getRuleContext(0, For_controlContext); } public loop_body(): Loop_bodyContext { return this.getRuleContext(0, Loop_bodyContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_for; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_for) { listener.enterStmt_for(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_for) { listener.exitStmt_for(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_for) { return visitor.visitStmt_for(this); } else { return visitor.visitChildren(this); } } } export class For_controlContext extends ParserRuleContext { public for_variable(): For_variableContext { return this.getRuleContext(0, For_variableContext); } public KW_IN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_IN, 0); } public cursor_name(): Cursor_nameContext | undefined { return this.tryGetRuleContext(0, Cursor_nameContext); } public opt_cursor_parameters(): Opt_cursor_parametersContext | undefined { return this.tryGetRuleContext(0, Opt_cursor_parametersContext); } public selectstmt(): SelectstmtContext | undefined { return this.tryGetRuleContext(0, SelectstmtContext); } public explainstmt(): ExplainstmtContext | undefined { return this.tryGetRuleContext(0, ExplainstmtContext); } public KW_EXECUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXECUTE, 0); } public a_expr(): A_exprContext[]; public a_expr(i: number): A_exprContext; public a_expr(i?: number): A_exprContext | A_exprContext[] { if (i === undefined) { return this.getRuleContexts(A_exprContext); } else { return this.getRuleContext(i, A_exprContext); } } public opt_for_using_expression(): Opt_for_using_expressionContext | undefined { return this.tryGetRuleContext(0, Opt_for_using_expressionContext); } public opt_reverse(): Opt_reverseContext | undefined { return this.tryGetRuleContext(0, Opt_reverseContext); } public DOT_DOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.DOT_DOT, 0); } public opt_by_expression(): Opt_by_expressionContext | undefined { return this.tryGetRuleContext(0, Opt_by_expressionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_for_control; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFor_control) { listener.enterFor_control(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFor_control) { listener.exitFor_control(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFor_control) { return visitor.visitFor_control(this); } else { return visitor.visitChildren(this); } } } export class Opt_for_using_expressionContext extends ParserRuleContext { public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public expr_list(): Expr_listContext | undefined { return this.tryGetRuleContext(0, Expr_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_for_using_expression; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_for_using_expression) { listener.enterOpt_for_using_expression(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_for_using_expression) { listener.exitOpt_for_using_expression(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_for_using_expression) { return visitor.visitOpt_for_using_expression(this); } else { return visitor.visitChildren(this); } } } export class Opt_cursor_parametersContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public a_expr(): A_exprContext[]; public a_expr(i: number): A_exprContext; public a_expr(i?: number): A_exprContext | A_exprContext[] { if (i === undefined) { return this.getRuleContexts(A_exprContext); } else { return this.getRuleContext(i, A_exprContext); } } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_cursor_parameters; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_cursor_parameters) { listener.enterOpt_cursor_parameters(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_cursor_parameters) { listener.exitOpt_cursor_parameters(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_cursor_parameters) { return visitor.visitOpt_cursor_parameters(this); } else { return visitor.visitChildren(this); } } } export class Opt_reverseContext extends ParserRuleContext { public KW_REVERSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REVERSE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_reverse; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_reverse) { listener.enterOpt_reverse(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_reverse) { listener.exitOpt_reverse(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_reverse) { return visitor.visitOpt_reverse(this); } else { return visitor.visitChildren(this); } } } export class Opt_by_expressionContext extends ParserRuleContext { public KW_BY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BY, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_by_expression; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_by_expression) { listener.enterOpt_by_expression(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_by_expression) { listener.exitOpt_by_expression(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_by_expression) { return visitor.visitOpt_by_expression(this); } else { return visitor.visitChildren(this); } } } export class For_variableContext extends ParserRuleContext { public any_name_list(): Any_name_listContext { return this.getRuleContext(0, Any_name_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_for_variable; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterFor_variable) { listener.enterFor_variable(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitFor_variable) { listener.exitFor_variable(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitFor_variable) { return visitor.visitFor_variable(this); } else { return visitor.visitChildren(this); } } } export class Stmt_foreach_aContext extends ParserRuleContext { public opt_loop_label(): Opt_loop_labelContext { return this.getRuleContext(0, Opt_loop_labelContext); } public KW_FOREACH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FOREACH, 0); } public for_variable(): For_variableContext { return this.getRuleContext(0, For_variableContext); } public foreach_slice(): Foreach_sliceContext { return this.getRuleContext(0, Foreach_sliceContext); } public KW_IN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_IN, 0); } public KW_ARRAY(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ARRAY, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } public loop_body(): Loop_bodyContext { return this.getRuleContext(0, Loop_bodyContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_foreach_a; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_foreach_a) { listener.enterStmt_foreach_a(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_foreach_a) { listener.exitStmt_foreach_a(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_foreach_a) { return visitor.visitStmt_foreach_a(this); } else { return visitor.visitChildren(this); } } } export class Foreach_sliceContext extends ParserRuleContext { public KW_SLICE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SLICE, 0); } public iconst(): IconstContext | undefined { return this.tryGetRuleContext(0, IconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_foreach_slice; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterForeach_slice) { listener.enterForeach_slice(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitForeach_slice) { listener.exitForeach_slice(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitForeach_slice) { return visitor.visitForeach_slice(this); } else { return visitor.visitChildren(this); } } } export class Stmt_exitContext extends ParserRuleContext { public exit_type(): Exit_typeContext { return this.getRuleContext(0, Exit_typeContext); } public opt_label(): Opt_labelContext { return this.getRuleContext(0, Opt_labelContext); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } public opt_exitcond(): Opt_exitcondContext | undefined { return this.tryGetRuleContext(0, Opt_exitcondContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_exit; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_exit) { listener.enterStmt_exit(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_exit) { listener.exitStmt_exit(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_exit) { return visitor.visitStmt_exit(this); } else { return visitor.visitChildren(this); } } } export class Exit_typeContext extends ParserRuleContext { public KW_EXIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXIT, 0); } public KW_CONTINUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONTINUE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_exit_type; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExit_type) { listener.enterExit_type(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExit_type) { listener.exitExit_type(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExit_type) { return visitor.visitExit_type(this); } else { return visitor.visitChildren(this); } } } export class Stmt_returnContext extends ParserRuleContext { public KW_RETURN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_RETURN, 0); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } public KW_NEXT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NEXT, 0); } public sql_expression(): Sql_expressionContext | undefined { return this.tryGetRuleContext(0, Sql_expressionContext); } public KW_QUERY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_QUERY, 0); } public opt_return_result(): Opt_return_resultContext | undefined { return this.tryGetRuleContext(0, Opt_return_resultContext); } public KW_EXECUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXECUTE, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public opt_for_using_expression(): Opt_for_using_expressionContext | undefined { return this.tryGetRuleContext(0, Opt_for_using_expressionContext); } public selectstmt(): SelectstmtContext | undefined { return this.tryGetRuleContext(0, SelectstmtContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_return; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_return) { listener.enterStmt_return(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_return) { listener.exitStmt_return(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_return) { return visitor.visitStmt_return(this); } else { return visitor.visitChildren(this); } } } export class Opt_return_resultContext extends ParserRuleContext { public sql_expression(): Sql_expressionContext | undefined { return this.tryGetRuleContext(0, Sql_expressionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_return_result; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_return_result) { listener.enterOpt_return_result(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_return_result) { listener.exitOpt_return_result(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_return_result) { return visitor.visitOpt_return_result(this); } else { return visitor.visitChildren(this); } } } export class Stmt_raiseContext extends ParserRuleContext { public KW_RAISE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_RAISE, 0); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } public opt_raise_list(): Opt_raise_listContext | undefined { return this.tryGetRuleContext(0, Opt_raise_listContext); } public opt_raise_using(): Opt_raise_usingContext | undefined { return this.tryGetRuleContext(0, Opt_raise_usingContext); } public SEMI(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.SEMI, 0); } public opt_stmt_raise_level(): Opt_stmt_raise_levelContext | undefined { return this.tryGetRuleContext(0, Opt_stmt_raise_levelContext); } public identifier(): IdentifierContext | undefined { return this.tryGetRuleContext(0, IdentifierContext); } public KW_SQLSTATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SQLSTATE, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_raise; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_raise) { listener.enterStmt_raise(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_raise) { listener.exitStmt_raise(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_raise) { return visitor.visitStmt_raise(this); } else { return visitor.visitChildren(this); } } } export class Opt_stmt_raise_levelContext extends ParserRuleContext { public KW_DEBUG(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEBUG, 0); } public KW_LOG(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOG, 0); } public KW_INFO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INFO, 0); } public KW_NOTICE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOTICE, 0); } public KW_WARNING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WARNING, 0); } public KW_EXCEPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXCEPTION, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_stmt_raise_level; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_stmt_raise_level) { listener.enterOpt_stmt_raise_level(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_stmt_raise_level) { listener.exitOpt_stmt_raise_level(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_stmt_raise_level) { return visitor.visitOpt_stmt_raise_level(this); } else { return visitor.visitChildren(this); } } } export class Opt_raise_listContext extends ParserRuleContext { public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } public a_expr(): A_exprContext[]; public a_expr(i: number): A_exprContext; public a_expr(i?: number): A_exprContext | A_exprContext[] { if (i === undefined) { return this.getRuleContexts(A_exprContext); } else { return this.getRuleContext(i, A_exprContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_raise_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_raise_list) { listener.enterOpt_raise_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_raise_list) { listener.exitOpt_raise_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_raise_list) { return visitor.visitOpt_raise_list(this); } else { return visitor.visitChildren(this); } } } export class Opt_raise_usingContext extends ParserRuleContext { public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public opt_raise_using_elem_list(): Opt_raise_using_elem_listContext | undefined { return this.tryGetRuleContext(0, Opt_raise_using_elem_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_raise_using; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_raise_using) { listener.enterOpt_raise_using(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_raise_using) { listener.exitOpt_raise_using(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_raise_using) { return visitor.visitOpt_raise_using(this); } else { return visitor.visitChildren(this); } } } export class Opt_raise_using_elemContext extends ParserRuleContext { public identifier(): IdentifierContext { return this.getRuleContext(0, IdentifierContext); } public EQUAL(): TerminalNode { return this.getToken(PostgreSQLParser.EQUAL, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_raise_using_elem; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_raise_using_elem) { listener.enterOpt_raise_using_elem(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_raise_using_elem) { listener.exitOpt_raise_using_elem(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_raise_using_elem) { return visitor.visitOpt_raise_using_elem(this); } else { return visitor.visitChildren(this); } } } export class Opt_raise_using_elem_listContext extends ParserRuleContext { public opt_raise_using_elem(): Opt_raise_using_elemContext[]; public opt_raise_using_elem(i: number): Opt_raise_using_elemContext; public opt_raise_using_elem(i?: number): Opt_raise_using_elemContext | Opt_raise_using_elemContext[] { if (i === undefined) { return this.getRuleContexts(Opt_raise_using_elemContext); } else { return this.getRuleContext(i, Opt_raise_using_elemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_raise_using_elem_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_raise_using_elem_list) { listener.enterOpt_raise_using_elem_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_raise_using_elem_list) { listener.exitOpt_raise_using_elem_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_raise_using_elem_list) { return visitor.visitOpt_raise_using_elem_list(this); } else { return visitor.visitChildren(this); } } } export class Stmt_assertContext extends ParserRuleContext { public KW_ASSERT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ASSERT, 0); } public sql_expression(): Sql_expressionContext { return this.getRuleContext(0, Sql_expressionContext); } public opt_stmt_assert_message(): Opt_stmt_assert_messageContext { return this.getRuleContext(0, Opt_stmt_assert_messageContext); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_assert; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_assert) { listener.enterStmt_assert(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_assert) { listener.exitStmt_assert(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_assert) { return visitor.visitStmt_assert(this); } else { return visitor.visitChildren(this); } } } export class Opt_stmt_assert_messageContext extends ParserRuleContext { public COMMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.COMMA, 0); } public sql_expression(): Sql_expressionContext | undefined { return this.tryGetRuleContext(0, Sql_expressionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_stmt_assert_message; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_stmt_assert_message) { listener.enterOpt_stmt_assert_message(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_stmt_assert_message) { listener.exitOpt_stmt_assert_message(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_stmt_assert_message) { return visitor.visitOpt_stmt_assert_message(this); } else { return visitor.visitChildren(this); } } } export class Loop_bodyContext extends ParserRuleContext { public KW_LOOP(): TerminalNode[]; public KW_LOOP(i: number): TerminalNode; public KW_LOOP(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_LOOP); } else { return this.getToken(PostgreSQLParser.KW_LOOP, i); } } public proc_sect(): Proc_sectContext { return this.getRuleContext(0, Proc_sectContext); } public KW_END(): TerminalNode { return this.getToken(PostgreSQLParser.KW_END, 0); } public opt_label(): Opt_labelContext { return this.getRuleContext(0, Opt_labelContext); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_loop_body; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterLoop_body) { listener.enterLoop_body(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitLoop_body) { listener.exitLoop_body(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitLoop_body) { return visitor.visitLoop_body(this); } else { return visitor.visitChildren(this); } } } export class Stmt_execsqlContext extends ParserRuleContext { public make_execsql_stmt(): Make_execsql_stmtContext { return this.getRuleContext(0, Make_execsql_stmtContext); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_execsql; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_execsql) { listener.enterStmt_execsql(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_execsql) { listener.exitStmt_execsql(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_execsql) { return visitor.visitStmt_execsql(this); } else { return visitor.visitChildren(this); } } } export class Stmt_dynexecuteContext extends ParserRuleContext { public KW_EXECUTE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_EXECUTE, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } public opt_execute_into(): Opt_execute_intoContext | undefined { return this.tryGetRuleContext(0, Opt_execute_intoContext); } public opt_execute_using(): Opt_execute_usingContext | undefined { return this.tryGetRuleContext(0, Opt_execute_usingContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_dynexecute; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_dynexecute) { listener.enterStmt_dynexecute(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_dynexecute) { listener.exitStmt_dynexecute(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_dynexecute) { return visitor.visitStmt_dynexecute(this); } else { return visitor.visitChildren(this); } } } export class Opt_execute_usingContext extends ParserRuleContext { public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public opt_execute_using_list(): Opt_execute_using_listContext | undefined { return this.tryGetRuleContext(0, Opt_execute_using_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_execute_using; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_execute_using) { listener.enterOpt_execute_using(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_execute_using) { listener.exitOpt_execute_using(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_execute_using) { return visitor.visitOpt_execute_using(this); } else { return visitor.visitChildren(this); } } } export class Opt_execute_using_listContext extends ParserRuleContext { public a_expr(): A_exprContext[]; public a_expr(i: number): A_exprContext; public a_expr(i?: number): A_exprContext | A_exprContext[] { if (i === undefined) { return this.getRuleContexts(A_exprContext); } else { return this.getRuleContext(i, A_exprContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_execute_using_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_execute_using_list) { listener.enterOpt_execute_using_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_execute_using_list) { listener.exitOpt_execute_using_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_execute_using_list) { return visitor.visitOpt_execute_using_list(this); } else { return visitor.visitChildren(this); } } } export class Opt_execute_intoContext extends ParserRuleContext { public KW_INTO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INTO, 0); } public into_target(): Into_targetContext | undefined { return this.tryGetRuleContext(0, Into_targetContext); } public KW_STRICT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STRICT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_execute_into; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_execute_into) { listener.enterOpt_execute_into(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_execute_into) { listener.exitOpt_execute_into(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_execute_into) { return visitor.visitOpt_execute_into(this); } else { return visitor.visitChildren(this); } } } export class Stmt_openContext extends ParserRuleContext { public KW_OPEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_OPEN, 0); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } public cursor_variable(): Cursor_variableContext | undefined { return this.tryGetRuleContext(0, Cursor_variableContext); } public opt_scroll_option(): Opt_scroll_optionContext | undefined { return this.tryGetRuleContext(0, Opt_scroll_optionContext); } public KW_FOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FOR, 0); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public selectstmt(): SelectstmtContext | undefined { return this.tryGetRuleContext(0, SelectstmtContext); } public KW_EXECUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXECUTE, 0); } public sql_expression(): Sql_expressionContext | undefined { return this.tryGetRuleContext(0, Sql_expressionContext); } public opt_open_using(): Opt_open_usingContext | undefined { return this.tryGetRuleContext(0, Opt_open_usingContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public opt_open_bound_list(): Opt_open_bound_listContext | undefined { return this.tryGetRuleContext(0, Opt_open_bound_listContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_open; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_open) { listener.enterStmt_open(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_open) { listener.exitStmt_open(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_open) { return visitor.visitStmt_open(this); } else { return visitor.visitChildren(this); } } } export class Opt_open_bound_list_itemContext extends ParserRuleContext { public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public COLON_EQUALS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.COLON_EQUALS, 0); } public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_open_bound_list_item; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_open_bound_list_item) { listener.enterOpt_open_bound_list_item(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_open_bound_list_item) { listener.exitOpt_open_bound_list_item(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_open_bound_list_item) { return visitor.visitOpt_open_bound_list_item(this); } else { return visitor.visitChildren(this); } } } export class Opt_open_bound_listContext extends ParserRuleContext { public opt_open_bound_list_item(): Opt_open_bound_list_itemContext[]; public opt_open_bound_list_item(i: number): Opt_open_bound_list_itemContext; public opt_open_bound_list_item(i?: number): Opt_open_bound_list_itemContext | Opt_open_bound_list_itemContext[] { if (i === undefined) { return this.getRuleContexts(Opt_open_bound_list_itemContext); } else { return this.getRuleContext(i, Opt_open_bound_list_itemContext); } } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_open_bound_list; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_open_bound_list) { listener.enterOpt_open_bound_list(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_open_bound_list) { listener.exitOpt_open_bound_list(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_open_bound_list) { return visitor.visitOpt_open_bound_list(this); } else { return visitor.visitChildren(this); } } } export class Opt_open_usingContext extends ParserRuleContext { public KW_USING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USING, 0); } public expr_list(): Expr_listContext | undefined { return this.tryGetRuleContext(0, Expr_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_open_using; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_open_using) { listener.enterOpt_open_using(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_open_using) { listener.exitOpt_open_using(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_open_using) { return visitor.visitOpt_open_using(this); } else { return visitor.visitChildren(this); } } } export class Opt_scroll_optionContext extends ParserRuleContext { public opt_scroll_option_no(): Opt_scroll_option_noContext | undefined { return this.tryGetRuleContext(0, Opt_scroll_option_noContext); } public KW_SCROLL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCROLL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_scroll_option; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_scroll_option) { listener.enterOpt_scroll_option(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_scroll_option) { listener.exitOpt_scroll_option(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_scroll_option) { return visitor.visitOpt_scroll_option(this); } else { return visitor.visitChildren(this); } } } export class Opt_scroll_option_noContext extends ParserRuleContext { public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_scroll_option_no; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_scroll_option_no) { listener.enterOpt_scroll_option_no(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_scroll_option_no) { listener.exitOpt_scroll_option_no(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_scroll_option_no) { return visitor.visitOpt_scroll_option_no(this); } else { return visitor.visitChildren(this); } } } export class Stmt_fetchContext extends ParserRuleContext { public _direction!: Opt_fetch_directionContext; public KW_FETCH(): TerminalNode { return this.getToken(PostgreSQLParser.KW_FETCH, 0); } public opt_cursor_from(): Opt_cursor_fromContext { return this.getRuleContext(0, Opt_cursor_fromContext); } public cursor_variable(): Cursor_variableContext { return this.getRuleContext(0, Cursor_variableContext); } public KW_INTO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INTO, 0); } public into_target(): Into_targetContext { return this.getRuleContext(0, Into_targetContext); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } public opt_fetch_direction(): Opt_fetch_directionContext | undefined { return this.tryGetRuleContext(0, Opt_fetch_directionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_fetch; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_fetch) { listener.enterStmt_fetch(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_fetch) { listener.exitStmt_fetch(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_fetch) { return visitor.visitStmt_fetch(this); } else { return visitor.visitChildren(this); } } } export class Into_targetContext extends ParserRuleContext { public expr_list(): Expr_listContext { return this.getRuleContext(0, Expr_listContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_into_target; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterInto_target) { listener.enterInto_target(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitInto_target) { listener.exitInto_target(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitInto_target) { return visitor.visitInto_target(this); } else { return visitor.visitChildren(this); } } } export class Opt_cursor_fromContext extends ParserRuleContext { public KW_FROM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FROM, 0); } public KW_IN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IN, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_cursor_from; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_cursor_from) { listener.enterOpt_cursor_from(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_cursor_from) { listener.exitOpt_cursor_from(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_cursor_from) { return visitor.visitOpt_cursor_from(this); } else { return visitor.visitChildren(this); } } } export class Opt_fetch_directionContext extends ParserRuleContext { public KW_NEXT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NEXT, 0); } public KW_PRIOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRIOR, 0); } public KW_FIRST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FIRST, 0); } public KW_LAST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LAST, 0); } public KW_ABSOLUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ABSOLUTE, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public KW_RELATIVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RELATIVE, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } public KW_FORWARD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FORWARD, 0); } public KW_BACKWARD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BACKWARD, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_fetch_direction; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_fetch_direction) { listener.enterOpt_fetch_direction(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_fetch_direction) { listener.exitOpt_fetch_direction(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_fetch_direction) { return visitor.visitOpt_fetch_direction(this); } else { return visitor.visitChildren(this); } } } export class Stmt_moveContext extends ParserRuleContext { public KW_MOVE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_MOVE, 0); } public cursor_variable(): Cursor_variableContext { return this.getRuleContext(0, Cursor_variableContext); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } public opt_fetch_direction(): Opt_fetch_directionContext | undefined { return this.tryGetRuleContext(0, Opt_fetch_directionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_move; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_move) { listener.enterStmt_move(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_move) { listener.exitStmt_move(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_move) { return visitor.visitStmt_move(this); } else { return visitor.visitChildren(this); } } } export class MergestmtContext extends ParserRuleContext { public KW_MERGE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_MERGE, 0); } public KW_INTO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INTO, 0); } public table_name(): Table_nameContext { return this.getRuleContext(0, Table_nameContext); } public KW_USING(): TerminalNode { return this.getToken(PostgreSQLParser.KW_USING, 0); } public data_source(): Data_sourceContext { return this.getRuleContext(0, Data_sourceContext); } public KW_ON(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ON, 0); } public join_condition(): Join_conditionContext { return this.getRuleContext(0, Join_conditionContext); } public with_clause(): With_clauseContext | undefined { return this.tryGetRuleContext(0, With_clauseContext); } public KW_ONLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ONLY, 0); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public merge_when_clause(): Merge_when_clauseContext[]; public merge_when_clause(i: number): Merge_when_clauseContext; public merge_when_clause(i?: number): Merge_when_clauseContext | Merge_when_clauseContext[] { if (i === undefined) { return this.getRuleContexts(Merge_when_clauseContext); } else { return this.getRuleContext(i, Merge_when_clauseContext); } } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_mergestmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterMergestmt) { listener.enterMergestmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitMergestmt) { listener.exitMergestmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitMergestmt) { return visitor.visitMergestmt(this); } else { return visitor.visitChildren(this); } } } export class Data_sourceContext extends ParserRuleContext { public table_name(): Table_nameContext | undefined { return this.tryGetRuleContext(0, Table_nameContext); } public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public select_no_parens(): Select_no_parensContext | undefined { return this.tryGetRuleContext(0, Select_no_parensContext); } public values_clause(): Values_clauseContext | undefined { return this.tryGetRuleContext(0, Values_clauseContext); } public KW_ONLY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ONLY, 0); } public STAR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.STAR, 0); } public KW_AS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AS, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_data_source; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterData_source) { listener.enterData_source(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitData_source) { listener.exitData_source(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitData_source) { return visitor.visitData_source(this); } else { return visitor.visitChildren(this); } } } export class Join_conditionContext extends ParserRuleContext { public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_join_condition; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterJoin_condition) { listener.enterJoin_condition(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitJoin_condition) { listener.exitJoin_condition(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitJoin_condition) { return visitor.visitJoin_condition(this); } else { return visitor.visitChildren(this); } } } export class Merge_when_clauseContext extends ParserRuleContext { public KW_WHEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WHEN, 0); } public KW_MATCHED(): TerminalNode { return this.getToken(PostgreSQLParser.KW_MATCHED, 0); } public KW_THEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_THEN, 0); } public merge_update(): Merge_updateContext | undefined { return this.tryGetRuleContext(0, Merge_updateContext); } public KW_DELETE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DELETE, 0); } public KW_DO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DO, 0); } public KW_NOTHING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOTHING, 0); } public KW_AND(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AND, 0); } public a_expr(): A_exprContext | undefined { return this.tryGetRuleContext(0, A_exprContext); } public KW_NOT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOT, 0); } public merge_insert(): Merge_insertContext | undefined { return this.tryGetRuleContext(0, Merge_insertContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_merge_when_clause; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterMerge_when_clause) { listener.enterMerge_when_clause(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitMerge_when_clause) { listener.exitMerge_when_clause(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitMerge_when_clause) { return visitor.visitMerge_when_clause(this); } else { return visitor.visitChildren(this); } } } export class Merge_insertContext extends ParserRuleContext { public KW_INSERT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INSERT, 0); } public default_values_or_values(): Default_values_or_valuesContext { return this.getRuleContext(0, Default_values_or_valuesContext); } public OPEN_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.OPEN_PAREN, 0); } public columnlist(): ColumnlistContext | undefined { return this.tryGetRuleContext(0, ColumnlistContext); } public CLOSE_PAREN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.CLOSE_PAREN, 0); } public KW_OVERRIDING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OVERRIDING, 0); } public KW_VALUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VALUE, 0); } public KW_SYSTEM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SYSTEM, 0); } public KW_USER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USER, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_merge_insert; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterMerge_insert) { listener.enterMerge_insert(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitMerge_insert) { listener.exitMerge_insert(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitMerge_insert) { return visitor.visitMerge_insert(this); } else { return visitor.visitChildren(this); } } } export class Merge_updateContext extends ParserRuleContext { public KW_UPDATE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_UPDATE, 0); } public KW_SET(): TerminalNode { return this.getToken(PostgreSQLParser.KW_SET, 0); } public column_name(): Column_nameContext[]; public column_name(i: number): Column_nameContext; public column_name(i?: number): Column_nameContext | Column_nameContext[] { if (i === undefined) { return this.getRuleContexts(Column_nameContext); } else { return this.getRuleContext(i, Column_nameContext); } } public EQUAL(): TerminalNode[]; public EQUAL(i: number): TerminalNode; public EQUAL(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.EQUAL); } else { return this.getToken(PostgreSQLParser.EQUAL, i); } } public exprofdefault(): ExprofdefaultContext[]; public exprofdefault(i: number): ExprofdefaultContext; public exprofdefault(i?: number): ExprofdefaultContext | ExprofdefaultContext[] { if (i === undefined) { return this.getRuleContexts(ExprofdefaultContext); } else { return this.getRuleContext(i, ExprofdefaultContext); } } public OPEN_PAREN(): TerminalNode[]; public OPEN_PAREN(i: number): TerminalNode; public OPEN_PAREN(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.OPEN_PAREN); } else { return this.getToken(PostgreSQLParser.OPEN_PAREN, i); } } public columnlist(): ColumnlistContext[]; public columnlist(i: number): ColumnlistContext; public columnlist(i?: number): ColumnlistContext | ColumnlistContext[] { if (i === undefined) { return this.getRuleContexts(ColumnlistContext); } else { return this.getRuleContext(i, ColumnlistContext); } } public CLOSE_PAREN(): TerminalNode[]; public CLOSE_PAREN(i: number): TerminalNode; public CLOSE_PAREN(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.CLOSE_PAREN); } else { return this.getToken(PostgreSQLParser.CLOSE_PAREN, i); } } public exprofdefaultlist(): ExprofdefaultlistContext[]; public exprofdefaultlist(i: number): ExprofdefaultlistContext; public exprofdefaultlist(i?: number): ExprofdefaultlistContext | ExprofdefaultlistContext[] { if (i === undefined) { return this.getRuleContexts(ExprofdefaultlistContext); } else { return this.getRuleContext(i, ExprofdefaultlistContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_merge_update; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterMerge_update) { listener.enterMerge_update(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitMerge_update) { listener.exitMerge_update(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitMerge_update) { return visitor.visitMerge_update(this); } else { return visitor.visitChildren(this); } } } export class Default_values_or_valuesContext extends ParserRuleContext { public KW_VALUES(): TerminalNode { return this.getToken(PostgreSQLParser.KW_VALUES, 0); } public exprofdefaultlist(): ExprofdefaultlistContext | undefined { return this.tryGetRuleContext(0, ExprofdefaultlistContext); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_default_values_or_values; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterDefault_values_or_values) { listener.enterDefault_values_or_values(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitDefault_values_or_values) { listener.exitDefault_values_or_values(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitDefault_values_or_values) { return visitor.visitDefault_values_or_values(this); } else { return visitor.visitChildren(this); } } } export class ExprofdefaultlistContext extends ParserRuleContext { public OPEN_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.OPEN_PAREN, 0); } public exprofdefault(): ExprofdefaultContext[]; public exprofdefault(i: number): ExprofdefaultContext; public exprofdefault(i?: number): ExprofdefaultContext | ExprofdefaultContext[] { if (i === undefined) { return this.getRuleContexts(ExprofdefaultContext); } else { return this.getRuleContext(i, ExprofdefaultContext); } } public CLOSE_PAREN(): TerminalNode { return this.getToken(PostgreSQLParser.CLOSE_PAREN, 0); } public COMMA(): TerminalNode[]; public COMMA(i: number): TerminalNode; public COMMA(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.COMMA); } else { return this.getToken(PostgreSQLParser.COMMA, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_exprofdefaultlist; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExprofdefaultlist) { listener.enterExprofdefaultlist(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExprofdefaultlist) { listener.exitExprofdefaultlist(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExprofdefaultlist) { return visitor.visitExprofdefaultlist(this); } else { return visitor.visitChildren(this); } } } export class ExprofdefaultContext extends ParserRuleContext { public sortby(): SortbyContext | undefined { return this.tryGetRuleContext(0, SortbyContext); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_exprofdefault; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExprofdefault) { listener.enterExprofdefault(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExprofdefault) { listener.exitExprofdefault(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExprofdefault) { return visitor.visitExprofdefault(this); } else { return visitor.visitChildren(this); } } } export class Stmt_closeContext extends ParserRuleContext { public KW_CLOSE(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CLOSE, 0); } public cursor_variable(): Cursor_variableContext { return this.getRuleContext(0, Cursor_variableContext); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_close; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_close) { listener.enterStmt_close(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_close) { listener.exitStmt_close(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_close) { return visitor.visitStmt_close(this); } else { return visitor.visitChildren(this); } } } export class Stmt_nullContext extends ParserRuleContext { public KW_NULL(): TerminalNode { return this.getToken(PostgreSQLParser.KW_NULL, 0); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_null; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_null) { listener.enterStmt_null(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_null) { listener.exitStmt_null(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_null) { return visitor.visitStmt_null(this); } else { return visitor.visitChildren(this); } } } export class Stmt_commitContext extends ParserRuleContext { public KW_COMMIT(): TerminalNode { return this.getToken(PostgreSQLParser.KW_COMMIT, 0); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } public plsql_opt_transaction_chain(): Plsql_opt_transaction_chainContext | undefined { return this.tryGetRuleContext(0, Plsql_opt_transaction_chainContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_commit; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_commit) { listener.enterStmt_commit(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_commit) { listener.exitStmt_commit(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_commit) { return visitor.visitStmt_commit(this); } else { return visitor.visitChildren(this); } } } export class Stmt_rollbackContext extends ParserRuleContext { public KW_ROLLBACK(): TerminalNode { return this.getToken(PostgreSQLParser.KW_ROLLBACK, 0); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } public plsql_opt_transaction_chain(): Plsql_opt_transaction_chainContext | undefined { return this.tryGetRuleContext(0, Plsql_opt_transaction_chainContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_rollback; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_rollback) { listener.enterStmt_rollback(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_rollback) { listener.exitStmt_rollback(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_rollback) { return visitor.visitStmt_rollback(this); } else { return visitor.visitChildren(this); } } } export class Plsql_opt_transaction_chainContext extends ParserRuleContext { public KW_AND(): TerminalNode { return this.getToken(PostgreSQLParser.KW_AND, 0); } public KW_CHAIN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_CHAIN, 0); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_plsql_opt_transaction_chain; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPlsql_opt_transaction_chain) { listener.enterPlsql_opt_transaction_chain(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPlsql_opt_transaction_chain) { listener.exitPlsql_opt_transaction_chain(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPlsql_opt_transaction_chain) { return visitor.visitPlsql_opt_transaction_chain(this); } else { return visitor.visitChildren(this); } } } export class Stmt_setContext extends ParserRuleContext { public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public any_name(): Any_nameContext | undefined { return this.tryGetRuleContext(0, Any_nameContext); } public KW_TO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TO, 0); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public SEMI(): TerminalNode { return this.getToken(PostgreSQLParser.SEMI, 0); } public KW_RESET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESET, 0); } public KW_ALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALL, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_stmt_set; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterStmt_set) { listener.enterStmt_set(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitStmt_set) { listener.exitStmt_set(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitStmt_set) { return visitor.visitStmt_set(this); } else { return visitor.visitChildren(this); } } } export class Cursor_variableContext extends ParserRuleContext { public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public PARAM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.PARAM, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_cursor_variable; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterCursor_variable) { listener.enterCursor_variable(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitCursor_variable) { listener.exitCursor_variable(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitCursor_variable) { return visitor.visitCursor_variable(this); } else { return visitor.visitChildren(this); } } } export class Exception_sectContext extends ParserRuleContext { public KW_EXCEPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXCEPTION, 0); } public proc_exceptions(): Proc_exceptionsContext | undefined { return this.tryGetRuleContext(0, Proc_exceptionsContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_exception_sect; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterException_sect) { listener.enterException_sect(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitException_sect) { listener.exitException_sect(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitException_sect) { return visitor.visitException_sect(this); } else { return visitor.visitChildren(this); } } } export class Proc_exceptionsContext extends ParserRuleContext { public proc_exception(): Proc_exceptionContext[]; public proc_exception(i: number): Proc_exceptionContext; public proc_exception(i?: number): Proc_exceptionContext | Proc_exceptionContext[] { if (i === undefined) { return this.getRuleContexts(Proc_exceptionContext); } else { return this.getRuleContext(i, Proc_exceptionContext); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_proc_exceptions; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProc_exceptions) { listener.enterProc_exceptions(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProc_exceptions) { listener.exitProc_exceptions(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProc_exceptions) { return visitor.visitProc_exceptions(this); } else { return visitor.visitChildren(this); } } } export class Proc_exceptionContext extends ParserRuleContext { public KW_WHEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WHEN, 0); } public proc_conditions(): Proc_conditionsContext { return this.getRuleContext(0, Proc_conditionsContext); } public KW_THEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_THEN, 0); } public proc_sect(): Proc_sectContext { return this.getRuleContext(0, Proc_sectContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_proc_exception; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProc_exception) { listener.enterProc_exception(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProc_exception) { listener.exitProc_exception(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProc_exception) { return visitor.visitProc_exception(this); } else { return visitor.visitChildren(this); } } } export class Proc_conditionsContext extends ParserRuleContext { public proc_condition(): Proc_conditionContext[]; public proc_condition(i: number): Proc_conditionContext; public proc_condition(i?: number): Proc_conditionContext | Proc_conditionContext[] { if (i === undefined) { return this.getRuleContexts(Proc_conditionContext); } else { return this.getRuleContext(i, Proc_conditionContext); } } public KW_OR(): TerminalNode[]; public KW_OR(i: number): TerminalNode; public KW_OR(i?: number): TerminalNode | TerminalNode[] { if (i === undefined) { return this.getTokens(PostgreSQLParser.KW_OR); } else { return this.getToken(PostgreSQLParser.KW_OR, i); } } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_proc_conditions; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProc_conditions) { listener.enterProc_conditions(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProc_conditions) { listener.exitProc_conditions(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProc_conditions) { return visitor.visitProc_conditions(this); } else { return visitor.visitChildren(this); } } } export class Proc_conditionContext extends ParserRuleContext { public any_identifier(): Any_identifierContext | undefined { return this.tryGetRuleContext(0, Any_identifierContext); } public KW_SQLSTATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SQLSTATE, 0); } public sconst(): SconstContext | undefined { return this.tryGetRuleContext(0, SconstContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_proc_condition; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterProc_condition) { listener.enterProc_condition(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitProc_condition) { listener.exitProc_condition(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitProc_condition) { return visitor.visitProc_condition(this); } else { return visitor.visitChildren(this); } } } export class Opt_block_labelContext extends ParserRuleContext { public label_decl(): Label_declContext | undefined { return this.tryGetRuleContext(0, Label_declContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_block_label; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_block_label) { listener.enterOpt_block_label(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_block_label) { listener.exitOpt_block_label(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_block_label) { return visitor.visitOpt_block_label(this); } else { return visitor.visitChildren(this); } } } export class Opt_loop_labelContext extends ParserRuleContext { public label_decl(): Label_declContext | undefined { return this.tryGetRuleContext(0, Label_declContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_loop_label; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_loop_label) { listener.enterOpt_loop_label(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_loop_label) { listener.exitOpt_loop_label(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_loop_label) { return visitor.visitOpt_loop_label(this); } else { return visitor.visitChildren(this); } } } export class Opt_labelContext extends ParserRuleContext { public any_identifier(): Any_identifierContext | undefined { return this.tryGetRuleContext(0, Any_identifierContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_label; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_label) { listener.enterOpt_label(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_label) { listener.exitOpt_label(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_label) { return visitor.visitOpt_label(this); } else { return visitor.visitChildren(this); } } } export class Opt_exitcondContext extends ParserRuleContext { public KW_WHEN(): TerminalNode { return this.getToken(PostgreSQLParser.KW_WHEN, 0); } public expr_until_semi(): Expr_until_semiContext { return this.getRuleContext(0, Expr_until_semiContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_exitcond; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_exitcond) { listener.enterOpt_exitcond(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_exitcond) { listener.exitOpt_exitcond(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_exitcond) { return visitor.visitOpt_exitcond(this); } else { return visitor.visitChildren(this); } } } export class Any_identifierContext extends ParserRuleContext { public colid(): ColidContext | undefined { return this.tryGetRuleContext(0, ColidContext); } public plsql_unreserved_keyword(): Plsql_unreserved_keywordContext | undefined { return this.tryGetRuleContext(0, Plsql_unreserved_keywordContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_any_identifier; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterAny_identifier) { listener.enterAny_identifier(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitAny_identifier) { listener.exitAny_identifier(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitAny_identifier) { return visitor.visitAny_identifier(this); } else { return visitor.visitChildren(this); } } } export class Plsql_unreserved_keywordContext extends ParserRuleContext { public KW_ABSOLUTE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ABSOLUTE, 0); } public KW_ALIAS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ALIAS, 0); } public KW_AND(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_AND, 0); } public KW_ARRAY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ARRAY, 0); } public KW_ASSERT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ASSERT, 0); } public KW_BACKWARD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_BACKWARD, 0); } public KW_CALL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CALL, 0); } public KW_CHAIN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CHAIN, 0); } public KW_CLOSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CLOSE, 0); } public KW_COLLATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLLATE, 0); } public KW_COLUMN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COLUMN, 0); } public KW_COMMIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_COMMIT, 0); } public KW_CONSTANT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTANT, 0); } public KW_CONSTRAINT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONSTRAINT, 0); } public KW_CONTINUE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CONTINUE, 0); } public KW_CURRENT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURRENT, 0); } public KW_CURSOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_CURSOR, 0); } public KW_DEBUG(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEBUG, 0); } public KW_DEFAULT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DEFAULT, 0); } public KW_DIAGNOSTICS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DIAGNOSTICS, 0); } public KW_DO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DO, 0); } public KW_DUMP(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_DUMP, 0); } public KW_ELSIF(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ELSIF, 0); } public KW_ERROR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ERROR, 0); } public KW_EXCEPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXCEPTION, 0); } public KW_EXIT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_EXIT, 0); } public KW_FETCH(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FETCH, 0); } public KW_FIRST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FIRST, 0); } public KW_FORWARD(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_FORWARD, 0); } public KW_GET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_GET, 0); } public KW_INFO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INFO, 0); } public KW_INSERT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_INSERT, 0); } public KW_IS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_IS, 0); } public KW_LAST(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LAST, 0); } public KW_LOG(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_LOG, 0); } public KW_MOVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_MOVE, 0); } public KW_NEXT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NEXT, 0); } public KW_NO(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NO, 0); } public KW_NOTICE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_NOTICE, 0); } public KW_OPEN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPEN, 0); } public KW_OPTION(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OPTION, 0); } public KW_PERFORM(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PERFORM, 0); } public KW_PRINT_STRICT_PARAMS(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRINT_STRICT_PARAMS, 0); } public KW_PRIOR(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_PRIOR, 0); } public KW_QUERY(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_QUERY, 0); } public KW_RAISE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RAISE, 0); } public KW_RELATIVE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RELATIVE, 0); } public KW_RESET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RESET, 0); } public KW_RETURN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_RETURN, 0); } public KW_REVERSE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_REVERSE, 0); } public KW_ROLLBACK(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROLLBACK, 0); } public KW_ROWTYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_ROWTYPE, 0); } public KW_SCHEMA(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCHEMA, 0); } public KW_SCROLL(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SCROLL, 0); } public KW_SET(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SET, 0); } public KW_SLICE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SLICE, 0); } public KW_SQLSTATE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_SQLSTATE, 0); } public KW_STACKED(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_STACKED, 0); } public KW_TABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TABLE, 0); } public KW_TYPE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_TYPE, 0); } public KW_USE_COLUMN(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USE_COLUMN, 0); } public KW_USE_VARIABLE(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_USE_VARIABLE, 0); } public KW_VARIABLE_CONFLICT(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_VARIABLE_CONFLICT, 0); } public KW_WARNING(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_WARNING, 0); } public KW_OUTER(): TerminalNode | undefined { return this.tryGetToken(PostgreSQLParser.KW_OUTER, 0); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_plsql_unreserved_keyword; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterPlsql_unreserved_keyword) { listener.enterPlsql_unreserved_keyword(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitPlsql_unreserved_keyword) { listener.exitPlsql_unreserved_keyword(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitPlsql_unreserved_keyword) { return visitor.visitPlsql_unreserved_keyword(this); } else { return visitor.visitChildren(this); } } } export class Sql_expressionContext extends ParserRuleContext { public opt_target_list(): Opt_target_listContext | undefined { return this.tryGetRuleContext(0, Opt_target_listContext); } public into_clause(): Into_clauseContext | undefined { return this.tryGetRuleContext(0, Into_clauseContext); } public from_clause(): From_clauseContext | undefined { return this.tryGetRuleContext(0, From_clauseContext); } public where_clause(): Where_clauseContext | undefined { return this.tryGetRuleContext(0, Where_clauseContext); } public group_clause(): Group_clauseContext | undefined { return this.tryGetRuleContext(0, Group_clauseContext); } public having_clause(): Having_clauseContext | undefined { return this.tryGetRuleContext(0, Having_clauseContext); } public window_clause(): Window_clauseContext | undefined { return this.tryGetRuleContext(0, Window_clauseContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_sql_expression; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterSql_expression) { listener.enterSql_expression(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitSql_expression) { listener.exitSql_expression(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitSql_expression) { return visitor.visitSql_expression(this); } else { return visitor.visitChildren(this); } } } export class Expr_until_thenContext extends ParserRuleContext { public sql_expression(): Sql_expressionContext { return this.getRuleContext(0, Sql_expressionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_expr_until_then; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExpr_until_then) { listener.enterExpr_until_then(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExpr_until_then) { listener.exitExpr_until_then(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExpr_until_then) { return visitor.visitExpr_until_then(this); } else { return visitor.visitChildren(this); } } } export class Expr_until_semiContext extends ParserRuleContext { public sql_expression(): Sql_expressionContext { return this.getRuleContext(0, Sql_expressionContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_expr_until_semi; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExpr_until_semi) { listener.enterExpr_until_semi(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExpr_until_semi) { listener.exitExpr_until_semi(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExpr_until_semi) { return visitor.visitExpr_until_semi(this); } else { return visitor.visitChildren(this); } } } export class Expr_until_rightbracketContext extends ParserRuleContext { public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_expr_until_rightbracket; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExpr_until_rightbracket) { listener.enterExpr_until_rightbracket(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExpr_until_rightbracket) { listener.exitExpr_until_rightbracket(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExpr_until_rightbracket) { return visitor.visitExpr_until_rightbracket(this); } else { return visitor.visitChildren(this); } } } export class Expr_until_loopContext extends ParserRuleContext { public a_expr(): A_exprContext { return this.getRuleContext(0, A_exprContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_expr_until_loop; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterExpr_until_loop) { listener.enterExpr_until_loop(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitExpr_until_loop) { listener.exitExpr_until_loop(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitExpr_until_loop) { return visitor.visitExpr_until_loop(this); } else { return visitor.visitChildren(this); } } } export class Make_execsql_stmtContext extends ParserRuleContext { public stmt(): StmtContext { return this.getRuleContext(0, StmtContext); } public opt_returning_clause_into(): Opt_returning_clause_intoContext | undefined { return this.tryGetRuleContext(0, Opt_returning_clause_intoContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_make_execsql_stmt; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterMake_execsql_stmt) { listener.enterMake_execsql_stmt(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitMake_execsql_stmt) { listener.exitMake_execsql_stmt(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitMake_execsql_stmt) { return visitor.visitMake_execsql_stmt(this); } else { return visitor.visitChildren(this); } } } export class Opt_returning_clause_intoContext extends ParserRuleContext { public KW_INTO(): TerminalNode { return this.getToken(PostgreSQLParser.KW_INTO, 0); } public opt_strict(): Opt_strictContext { return this.getRuleContext(0, Opt_strictContext); } public into_target(): Into_targetContext { return this.getRuleContext(0, Into_targetContext); } constructor(parent: ParserRuleContext | undefined, invokingState: number) { super(parent, invokingState); } // @Override public get ruleIndex(): number { return PostgreSQLParser.RULE_opt_returning_clause_into; } // @Override public enterRule(listener: PostgreSQLParserListener): void { if (listener.enterOpt_returning_clause_into) { listener.enterOpt_returning_clause_into(this); } } // @Override public exitRule(listener: PostgreSQLParserListener): void { if (listener.exitOpt_returning_clause_into) { listener.exitOpt_returning_clause_into(this); } } // @Override public accept(visitor: PostgreSQLParserVisitor): Result { if (visitor.visitOpt_returning_clause_into) { return visitor.visitOpt_returning_clause_into(this); } else { return visitor.visitChildren(this); } } }