1*37748cd8SNickeau<?php 2*37748cd8SNickeau 3*37748cd8SNickeau/* 4*37748cd8SNickeau * Generated from D:/dokuwiki/lib/plugins/combo/grammar\PageSql.g4 by ANTLR 4.9.1 5*37748cd8SNickeau */ 6*37748cd8SNickeau 7*37748cd8SNickeaunamespace ComboStrap\PageSqlParser { 8*37748cd8SNickeau use Antlr\Antlr4\Runtime\Atn\ATN; 9*37748cd8SNickeau use Antlr\Antlr4\Runtime\Atn\ATNDeserializer; 10*37748cd8SNickeau use Antlr\Antlr4\Runtime\Atn\ParserATNSimulator; 11*37748cd8SNickeau use Antlr\Antlr4\Runtime\Dfa\DFA; 12*37748cd8SNickeau use Antlr\Antlr4\Runtime\Error\Exceptions\FailedPredicateException; 13*37748cd8SNickeau use Antlr\Antlr4\Runtime\Error\Exceptions\NoViableAltException; 14*37748cd8SNickeau use Antlr\Antlr4\Runtime\PredictionContexts\PredictionContextCache; 15*37748cd8SNickeau use Antlr\Antlr4\Runtime\Error\Exceptions\RecognitionException; 16*37748cd8SNickeau use Antlr\Antlr4\Runtime\RuleContext; 17*37748cd8SNickeau use Antlr\Antlr4\Runtime\Token; 18*37748cd8SNickeau use Antlr\Antlr4\Runtime\TokenStream; 19*37748cd8SNickeau use Antlr\Antlr4\Runtime\Vocabulary; 20*37748cd8SNickeau use Antlr\Antlr4\Runtime\VocabularyImpl; 21*37748cd8SNickeau use Antlr\Antlr4\Runtime\RuntimeMetaData; 22*37748cd8SNickeau use Antlr\Antlr4\Runtime\Parser; 23*37748cd8SNickeau 24*37748cd8SNickeau final class PageSqlParser extends Parser 25*37748cd8SNickeau { 26*37748cd8SNickeau public const SCOL = 1, DOT = 2, LPAREN = 3, RPAREN = 4, LSQUARE = 5, RSQUARE = 6, 27*37748cd8SNickeau LCURLY = 7, RCURLY = 8, COMMA = 9, BITWISEXOR = 10, DOLLAR = 11, 28*37748cd8SNickeau EQUAL = 12, STAR = 13, PLUS = 14, MINUS = 15, TILDE = 16, 29*37748cd8SNickeau PIPE2 = 17, DIV = 18, MOD = 19, LT2 = 20, GT2 = 21, AMP = 22, 30*37748cd8SNickeau PIPE = 23, QUESTION = 24, LESS_THAN = 25, LESS_THAN_OR_EQUAL = 26, 31*37748cd8SNickeau GREATER_THAN = 27, GREATER_THAN_OR_EQUAL = 28, EQ = 29, NOT_EQUAL = 30, 32*37748cd8SNickeau NOT_EQ2 = 31, AND = 32, AS = 33, ASC = 34, BETWEEN = 35, 33*37748cd8SNickeau BY = 36, DESC = 37, ESCAPE = 38, FALSE = 39, FROM = 40, GLOB = 41, 34*37748cd8SNickeau IN = 42, IS = 43, ISNULL = 44, LIKE = 45, LIMIT = 46, NOT = 47, 35*37748cd8SNickeau NOTNULL = 48, NOW = 49, NULL = 50, OR = 51, ORDER = 52, SELECT = 53, 36*37748cd8SNickeau TRUE = 54, WHERE = 55, RANDOM = 56, DATE = 57, DATETIME = 58, 37*37748cd8SNickeau PAGES = 59, BACKLINKS = 60, StringLiteral = 61, CharSetLiteral = 62, 38*37748cd8SNickeau IntegralLiteral = 63, Number = 64, NumberLiteral = 65, ByteLengthLiteral = 66, 39*37748cd8SNickeau SqlName = 67, SPACES = 68; 40*37748cd8SNickeau 41*37748cd8SNickeau public const RULE_functionNames = 0, RULE_tableNames = 1, RULE_sqlNames = 2, 42*37748cd8SNickeau RULE_column = 3, RULE_pattern = 4, RULE_expression = 5, RULE_predicate = 6, 43*37748cd8SNickeau RULE_columns = 7, RULE_predicates = 8, RULE_tables = 9, RULE_limit = 10, 44*37748cd8SNickeau RULE_orderBys = 11, RULE_orderByDef = 12, RULE_pageSql = 13; 45*37748cd8SNickeau 46*37748cd8SNickeau /** 47*37748cd8SNickeau * @var array<string> 48*37748cd8SNickeau */ 49*37748cd8SNickeau public const RULE_NAMES = [ 50*37748cd8SNickeau 'functionNames', 'tableNames', 'sqlNames', 'column', 'pattern', 'expression', 51*37748cd8SNickeau 'predicate', 'columns', 'predicates', 'tables', 'limit', 'orderBys', 52*37748cd8SNickeau 'orderByDef', 'pageSql' 53*37748cd8SNickeau ]; 54*37748cd8SNickeau 55*37748cd8SNickeau /** 56*37748cd8SNickeau * @var array<string|null> 57*37748cd8SNickeau */ 58*37748cd8SNickeau private const LITERAL_NAMES = [ 59*37748cd8SNickeau null, "';'", "'.'", "'('", "')'", "'['", "']'", "'{'", "'}'", "','", 60*37748cd8SNickeau "'^'", "'\$'", "'='", "'*'", "'+'", "'-'", "'~'", "'||'", "'/'", "'%'", 61*37748cd8SNickeau "'<<'", "'>>'", "'&'", "'|'", "'?'", "'<'", "'<='", "'>'", "'>='", 62*37748cd8SNickeau "'=='", "'!='", "'<>'" 63*37748cd8SNickeau ]; 64*37748cd8SNickeau 65*37748cd8SNickeau /** 66*37748cd8SNickeau * @var array<string> 67*37748cd8SNickeau */ 68*37748cd8SNickeau private const SYMBOLIC_NAMES = [ 69*37748cd8SNickeau null, "SCOL", "DOT", "LPAREN", "RPAREN", "LSQUARE", "RSQUARE", "LCURLY", 70*37748cd8SNickeau "RCURLY", "COMMA", "BITWISEXOR", "DOLLAR", "EQUAL", "STAR", "PLUS", 71*37748cd8SNickeau "MINUS", "TILDE", "PIPE2", "DIV", "MOD", "LT2", "GT2", "AMP", "PIPE", 72*37748cd8SNickeau "QUESTION", "LESS_THAN", "LESS_THAN_OR_EQUAL", "GREATER_THAN", "GREATER_THAN_OR_EQUAL", 73*37748cd8SNickeau "EQ", "NOT_EQUAL", "NOT_EQ2", "AND", "AS", "ASC", "BETWEEN", "BY", 74*37748cd8SNickeau "DESC", "ESCAPE", "FALSE", "FROM", "GLOB", "IN", "IS", "ISNULL", "LIKE", 75*37748cd8SNickeau "LIMIT", "NOT", "NOTNULL", "NOW", "NULL", "OR", "ORDER", "SELECT", 76*37748cd8SNickeau "TRUE", "WHERE", "RANDOM", "DATE", "DATETIME", "PAGES", "BACKLINKS", 77*37748cd8SNickeau "StringLiteral", "CharSetLiteral", "IntegralLiteral", "Number", "NumberLiteral", 78*37748cd8SNickeau "ByteLengthLiteral", "SqlName", "SPACES" 79*37748cd8SNickeau ]; 80*37748cd8SNickeau 81*37748cd8SNickeau /** 82*37748cd8SNickeau * @var string 83*37748cd8SNickeau */ 84*37748cd8SNickeau private const SERIALIZED_ATN = 85*37748cd8SNickeau "\u{3}\u{608B}\u{A72A}\u{8133}\u{B9ED}\u{417C}\u{3BE7}\u{7786}\u{5964}" . 86*37748cd8SNickeau "\u{3}\u{46}\u{A4}\u{4}\u{2}\u{9}\u{2}\u{4}\u{3}\u{9}\u{3}\u{4}\u{4}" . 87*37748cd8SNickeau "\u{9}\u{4}\u{4}\u{5}\u{9}\u{5}\u{4}\u{6}\u{9}\u{6}\u{4}\u{7}\u{9}" . 88*37748cd8SNickeau "\u{7}\u{4}\u{8}\u{9}\u{8}\u{4}\u{9}\u{9}\u{9}\u{4}\u{A}\u{9}\u{A}" . 89*37748cd8SNickeau "\u{4}\u{B}\u{9}\u{B}\u{4}\u{C}\u{9}\u{C}\u{4}\u{D}\u{9}\u{D}\u{4}" . 90*37748cd8SNickeau "\u{E}\u{9}\u{E}\u{4}\u{F}\u{9}\u{F}\u{3}\u{2}\u{3}\u{2}\u{3}\u{3}" . 91*37748cd8SNickeau "\u{3}\u{3}\u{3}\u{4}\u{3}\u{4}\u{3}\u{5}\u{3}\u{5}\u{3}\u{5}\u{5}" . 92*37748cd8SNickeau "\u{5}\u{28}\u{A}\u{5}\u{3}\u{5}\u{3}\u{5}\u{3}\u{5}\u{5}\u{5}\u{2D}" . 93*37748cd8SNickeau "\u{A}\u{5}\u{5}\u{5}\u{2F}\u{A}\u{5}\u{3}\u{6}\u{3}\u{6}\u{3}\u{7}" . 94*37748cd8SNickeau "\u{3}\u{7}\u{3}\u{7}\u{3}\u{7}\u{5}\u{7}\u{37}\u{A}\u{7}\u{3}\u{7}" . 95*37748cd8SNickeau "\u{3}\u{7}\u{7}\u{7}\u{3B}\u{A}\u{7}\u{C}\u{7}\u{E}\u{7}\u{3E}\u{B}" . 96*37748cd8SNickeau "\u{7}\u{3}\u{7}\u{3}\u{7}\u{5}\u{7}\u{42}\u{A}\u{7}\u{3}\u{8}\u{3}" . 97*37748cd8SNickeau "\u{8}\u{3}\u{8}\u{3}\u{8}\u{5}\u{8}\u{48}\u{A}\u{8}\u{3}\u{8}\u{3}" . 98*37748cd8SNickeau "\u{8}\u{3}\u{8}\u{3}\u{8}\u{5}\u{8}\u{4E}\u{A}\u{8}\u{3}\u{8}\u{3}" . 99*37748cd8SNickeau "\u{8}\u{5}\u{8}\u{52}\u{A}\u{8}\u{3}\u{8}\u{5}\u{8}\u{55}\u{A}\u{8}" . 100*37748cd8SNickeau "\u{3}\u{8}\u{3}\u{8}\u{3}\u{8}\u{3}\u{8}\u{3}\u{8}\u{3}\u{8}\u{5}" . 101*37748cd8SNickeau "\u{8}\u{5D}\u{A}\u{8}\u{3}\u{8}\u{3}\u{8}\u{3}\u{8}\u{3}\u{8}\u{3}" . 102*37748cd8SNickeau "\u{8}\u{7}\u{8}\u{64}\u{A}\u{8}\u{C}\u{8}\u{E}\u{8}\u{67}\u{B}\u{8}" . 103*37748cd8SNickeau "\u{5}\u{8}\u{69}\u{A}\u{8}\u{3}\u{8}\u{5}\u{8}\u{6C}\u{A}\u{8}\u{3}" . 104*37748cd8SNickeau "\u{9}\u{3}\u{9}\u{3}\u{9}\u{7}\u{9}\u{71}\u{A}\u{9}\u{C}\u{9}\u{E}" . 105*37748cd8SNickeau "\u{9}\u{74}\u{B}\u{9}\u{3}\u{A}\u{3}\u{A}\u{3}\u{A}\u{3}\u{A}\u{7}" . 106*37748cd8SNickeau "\u{A}\u{7A}\u{A}\u{A}\u{C}\u{A}\u{E}\u{A}\u{7D}\u{B}\u{A}\u{3}\u{B}" . 107*37748cd8SNickeau "\u{3}\u{B}\u{3}\u{B}\u{3}\u{C}\u{3}\u{C}\u{3}\u{C}\u{3}\u{D}\u{3}" . 108*37748cd8SNickeau "\u{D}\u{3}\u{D}\u{3}\u{D}\u{3}\u{D}\u{7}\u{D}\u{8A}\u{A}\u{D}\u{C}" . 109*37748cd8SNickeau "\u{D}\u{E}\u{D}\u{8D}\u{B}\u{D}\u{3}\u{E}\u{3}\u{E}\u{5}\u{E}\u{91}" . 110*37748cd8SNickeau "\u{A}\u{E}\u{3}\u{F}\u{3}\u{F}\u{5}\u{F}\u{95}\u{A}\u{F}\u{3}\u{F}" . 111*37748cd8SNickeau "\u{3}\u{F}\u{5}\u{F}\u{99}\u{A}\u{F}\u{3}\u{F}\u{5}\u{F}\u{9C}\u{A}" . 112*37748cd8SNickeau "\u{F}\u{3}\u{F}\u{5}\u{F}\u{9F}\u{A}\u{F}\u{3}\u{F}\u{5}\u{F}\u{A2}" . 113*37748cd8SNickeau "\u{A}\u{F}\u{3}\u{F}\u{2}\u{2}\u{10}\u{2}\u{4}\u{6}\u{8}\u{A}\u{C}" . 114*37748cd8SNickeau "\u{E}\u{10}\u{12}\u{14}\u{16}\u{18}\u{1A}\u{1C}\u{2}\u{9}\u{3}\u{2}" . 115*37748cd8SNickeau "\u{3B}\u{3C}\u{4}\u{2}\u{42}\u{42}\u{45}\u{45}\u{4}\u{2}\u{3F}\u{3F}" . 116*37748cd8SNickeau "\u{43}\u{43}\u{5}\u{2}\u{3F}\u{3F}\u{42}\u{43}\u{45}\u{45}\u{5}\u{2}" . 117*37748cd8SNickeau "\u{E}\u{E}\u{1B}\u{1E}\u{20}\u{20}\u{4}\u{2}\u{22}\u{22}\u{35}\u{35}" . 118*37748cd8SNickeau "\u{4}\u{2}\u{24}\u{24}\u{27}\u{27}\u{2}\u{AE}\u{2}\u{1E}\u{3}\u{2}" . 119*37748cd8SNickeau "\u{2}\u{2}\u{4}\u{20}\u{3}\u{2}\u{2}\u{2}\u{6}\u{22}\u{3}\u{2}\u{2}" . 120*37748cd8SNickeau "\u{2}\u{8}\u{24}\u{3}\u{2}\u{2}\u{2}\u{A}\u{30}\u{3}\u{2}\u{2}\u{2}" . 121*37748cd8SNickeau "\u{C}\u{41}\u{3}\u{2}\u{2}\u{2}\u{E}\u{43}\u{3}\u{2}\u{2}\u{2}\u{10}" . 122*37748cd8SNickeau "\u{6D}\u{3}\u{2}\u{2}\u{2}\u{12}\u{75}\u{3}\u{2}\u{2}\u{2}\u{14}\u{7E}" . 123*37748cd8SNickeau "\u{3}\u{2}\u{2}\u{2}\u{16}\u{81}\u{3}\u{2}\u{2}\u{2}\u{18}\u{84}\u{3}" . 124*37748cd8SNickeau "\u{2}\u{2}\u{2}\u{1A}\u{8E}\u{3}\u{2}\u{2}\u{2}\u{1C}\u{92}\u{3}\u{2}" . 125*37748cd8SNickeau "\u{2}\u{2}\u{1E}\u{1F}\u{9}\u{2}\u{2}\u{2}\u{1F}\u{3}\u{3}\u{2}\u{2}" . 126*37748cd8SNickeau "\u{2}\u{20}\u{21}\u{9}\u{2}\u{2}\u{2}\u{21}\u{5}\u{3}\u{2}\u{2}\u{2}" . 127*37748cd8SNickeau "\u{22}\u{23}\u{9}\u{3}\u{2}\u{2}\u{23}\u{7}\u{3}\u{2}\u{2}\u{2}\u{24}" . 128*37748cd8SNickeau "\u{27}\u{5}\u{6}\u{4}\u{2}\u{25}\u{26}\u{7}\u{4}\u{2}\u{2}\u{26}\u{28}" . 129*37748cd8SNickeau "\u{5}\u{6}\u{4}\u{2}\u{27}\u{25}\u{3}\u{2}\u{2}\u{2}\u{27}\u{28}\u{3}" . 130*37748cd8SNickeau "\u{2}\u{2}\u{2}\u{28}\u{2E}\u{3}\u{2}\u{2}\u{2}\u{29}\u{2C}\u{7}\u{23}" . 131*37748cd8SNickeau "\u{2}\u{2}\u{2A}\u{2D}\u{5}\u{6}\u{4}\u{2}\u{2B}\u{2D}\u{7}\u{3F}" . 132*37748cd8SNickeau "\u{2}\u{2}\u{2C}\u{2A}\u{3}\u{2}\u{2}\u{2}\u{2C}\u{2B}\u{3}\u{2}\u{2}" . 133*37748cd8SNickeau "\u{2}\u{2D}\u{2F}\u{3}\u{2}\u{2}\u{2}\u{2E}\u{29}\u{3}\u{2}\u{2}\u{2}" . 134*37748cd8SNickeau "\u{2E}\u{2F}\u{3}\u{2}\u{2}\u{2}\u{2F}\u{9}\u{3}\u{2}\u{2}\u{2}\u{30}" . 135*37748cd8SNickeau "\u{31}\u{9}\u{4}\u{2}\u{2}\u{31}\u{B}\u{3}\u{2}\u{2}\u{2}\u{32}\u{42}" . 136*37748cd8SNickeau "\u{9}\u{5}\u{2}\u{2}\u{33}\u{34}\u{5}\u{2}\u{2}\u{2}\u{34}\u{36}\u{7}" . 137*37748cd8SNickeau "\u{5}\u{2}\u{2}\u{35}\u{37}\u{5}\u{C}\u{7}\u{2}\u{36}\u{35}\u{3}\u{2}" . 138*37748cd8SNickeau "\u{2}\u{2}\u{36}\u{37}\u{3}\u{2}\u{2}\u{2}\u{37}\u{3C}\u{3}\u{2}\u{2}" . 139*37748cd8SNickeau "\u{2}\u{38}\u{39}\u{7}\u{B}\u{2}\u{2}\u{39}\u{3B}\u{5}\u{C}\u{7}\u{2}" . 140*37748cd8SNickeau "\u{3A}\u{38}\u{3}\u{2}\u{2}\u{2}\u{3B}\u{3E}\u{3}\u{2}\u{2}\u{2}\u{3C}" . 141*37748cd8SNickeau "\u{3A}\u{3}\u{2}\u{2}\u{2}\u{3C}\u{3D}\u{3}\u{2}\u{2}\u{2}\u{3D}\u{3F}" . 142*37748cd8SNickeau "\u{3}\u{2}\u{2}\u{2}\u{3E}\u{3C}\u{3}\u{2}\u{2}\u{2}\u{3F}\u{40}\u{7}" . 143*37748cd8SNickeau "\u{6}\u{2}\u{2}\u{40}\u{42}\u{3}\u{2}\u{2}\u{2}\u{41}\u{32}\u{3}\u{2}" . 144*37748cd8SNickeau "\u{2}\u{2}\u{41}\u{33}\u{3}\u{2}\u{2}\u{2}\u{42}\u{D}\u{3}\u{2}\u{2}" . 145*37748cd8SNickeau "\u{2}\u{43}\u{6B}\u{5}\u{6}\u{4}\u{2}\u{44}\u{45}\u{9}\u{6}\u{2}\u{2}" . 146*37748cd8SNickeau "\u{45}\u{6C}\u{5}\u{C}\u{7}\u{2}\u{46}\u{48}\u{7}\u{31}\u{2}\u{2}" . 147*37748cd8SNickeau "\u{47}\u{46}\u{3}\u{2}\u{2}\u{2}\u{47}\u{48}\u{3}\u{2}\u{2}\u{2}\u{48}" . 148*37748cd8SNickeau "\u{49}\u{3}\u{2}\u{2}\u{2}\u{49}\u{4A}\u{7}\u{2F}\u{2}\u{2}\u{4A}" . 149*37748cd8SNickeau "\u{4D}\u{5}\u{A}\u{6}\u{2}\u{4B}\u{4C}\u{7}\u{28}\u{2}\u{2}\u{4C}" . 150*37748cd8SNickeau "\u{4E}\u{7}\u{3F}\u{2}\u{2}\u{4D}\u{4B}\u{3}\u{2}\u{2}\u{2}\u{4D}" . 151*37748cd8SNickeau "\u{4E}\u{3}\u{2}\u{2}\u{2}\u{4E}\u{52}\u{3}\u{2}\u{2}\u{2}\u{4F}\u{50}" . 152*37748cd8SNickeau "\u{7}\u{2B}\u{2}\u{2}\u{50}\u{52}\u{5}\u{A}\u{6}\u{2}\u{51}\u{47}" . 153*37748cd8SNickeau "\u{3}\u{2}\u{2}\u{2}\u{51}\u{4F}\u{3}\u{2}\u{2}\u{2}\u{52}\u{6C}\u{3}" . 154*37748cd8SNickeau "\u{2}\u{2}\u{2}\u{53}\u{55}\u{7}\u{31}\u{2}\u{2}\u{54}\u{53}\u{3}" . 155*37748cd8SNickeau "\u{2}\u{2}\u{2}\u{54}\u{55}\u{3}\u{2}\u{2}\u{2}\u{55}\u{56}\u{3}\u{2}" . 156*37748cd8SNickeau "\u{2}\u{2}\u{56}\u{57}\u{7}\u{25}\u{2}\u{2}\u{57}\u{58}\u{5}\u{C}" . 157*37748cd8SNickeau "\u{7}\u{2}\u{58}\u{59}\u{7}\u{22}\u{2}\u{2}\u{59}\u{5A}\u{5}\u{C}" . 158*37748cd8SNickeau "\u{7}\u{2}\u{5A}\u{6C}\u{3}\u{2}\u{2}\u{2}\u{5B}\u{5D}\u{7}\u{31}" . 159*37748cd8SNickeau "\u{2}\u{2}\u{5C}\u{5B}\u{3}\u{2}\u{2}\u{2}\u{5C}\u{5D}\u{3}\u{2}\u{2}" . 160*37748cd8SNickeau "\u{2}\u{5D}\u{5E}\u{3}\u{2}\u{2}\u{2}\u{5E}\u{5F}\u{7}\u{2C}\u{2}" . 161*37748cd8SNickeau "\u{2}\u{5F}\u{68}\u{7}\u{5}\u{2}\u{2}\u{60}\u{65}\u{5}\u{C}\u{7}\u{2}" . 162*37748cd8SNickeau "\u{61}\u{62}\u{7}\u{B}\u{2}\u{2}\u{62}\u{64}\u{5}\u{C}\u{7}\u{2}\u{63}" . 163*37748cd8SNickeau "\u{61}\u{3}\u{2}\u{2}\u{2}\u{64}\u{67}\u{3}\u{2}\u{2}\u{2}\u{65}\u{63}" . 164*37748cd8SNickeau "\u{3}\u{2}\u{2}\u{2}\u{65}\u{66}\u{3}\u{2}\u{2}\u{2}\u{66}\u{69}\u{3}" . 165*37748cd8SNickeau "\u{2}\u{2}\u{2}\u{67}\u{65}\u{3}\u{2}\u{2}\u{2}\u{68}\u{60}\u{3}\u{2}" . 166*37748cd8SNickeau "\u{2}\u{2}\u{68}\u{69}\u{3}\u{2}\u{2}\u{2}\u{69}\u{6A}\u{3}\u{2}\u{2}" . 167*37748cd8SNickeau "\u{2}\u{6A}\u{6C}\u{7}\u{6}\u{2}\u{2}\u{6B}\u{44}\u{3}\u{2}\u{2}\u{2}" . 168*37748cd8SNickeau "\u{6B}\u{51}\u{3}\u{2}\u{2}\u{2}\u{6B}\u{54}\u{3}\u{2}\u{2}\u{2}\u{6B}" . 169*37748cd8SNickeau "\u{5C}\u{3}\u{2}\u{2}\u{2}\u{6C}\u{F}\u{3}\u{2}\u{2}\u{2}\u{6D}\u{72}" . 170*37748cd8SNickeau "\u{5}\u{8}\u{5}\u{2}\u{6E}\u{6F}\u{7}\u{B}\u{2}\u{2}\u{6F}\u{71}\u{5}" . 171*37748cd8SNickeau "\u{8}\u{5}\u{2}\u{70}\u{6E}\u{3}\u{2}\u{2}\u{2}\u{71}\u{74}\u{3}\u{2}" . 172*37748cd8SNickeau "\u{2}\u{2}\u{72}\u{70}\u{3}\u{2}\u{2}\u{2}\u{72}\u{73}\u{3}\u{2}\u{2}" . 173*37748cd8SNickeau "\u{2}\u{73}\u{11}\u{3}\u{2}\u{2}\u{2}\u{74}\u{72}\u{3}\u{2}\u{2}\u{2}" . 174*37748cd8SNickeau "\u{75}\u{76}\u{7}\u{39}\u{2}\u{2}\u{76}\u{7B}\u{5}\u{E}\u{8}\u{2}" . 175*37748cd8SNickeau "\u{77}\u{78}\u{9}\u{7}\u{2}\u{2}\u{78}\u{7A}\u{5}\u{E}\u{8}\u{2}\u{79}" . 176*37748cd8SNickeau "\u{77}\u{3}\u{2}\u{2}\u{2}\u{7A}\u{7D}\u{3}\u{2}\u{2}\u{2}\u{7B}\u{79}" . 177*37748cd8SNickeau "\u{3}\u{2}\u{2}\u{2}\u{7B}\u{7C}\u{3}\u{2}\u{2}\u{2}\u{7C}\u{13}\u{3}" . 178*37748cd8SNickeau "\u{2}\u{2}\u{2}\u{7D}\u{7B}\u{3}\u{2}\u{2}\u{2}\u{7E}\u{7F}\u{7}\u{2A}" . 179*37748cd8SNickeau "\u{2}\u{2}\u{7F}\u{80}\u{5}\u{4}\u{3}\u{2}\u{80}\u{15}\u{3}\u{2}\u{2}" . 180*37748cd8SNickeau "\u{2}\u{81}\u{82}\u{7}\u{30}\u{2}\u{2}\u{82}\u{83}\u{7}\u{42}\u{2}" . 181*37748cd8SNickeau "\u{2}\u{83}\u{17}\u{3}\u{2}\u{2}\u{2}\u{84}\u{85}\u{7}\u{36}\u{2}" . 182*37748cd8SNickeau "\u{2}\u{85}\u{86}\u{7}\u{26}\u{2}\u{2}\u{86}\u{8B}\u{5}\u{1A}\u{E}" . 183*37748cd8SNickeau "\u{2}\u{87}\u{88}\u{7}\u{B}\u{2}\u{2}\u{88}\u{8A}\u{5}\u{1A}\u{E}" . 184*37748cd8SNickeau "\u{2}\u{89}\u{87}\u{3}\u{2}\u{2}\u{2}\u{8A}\u{8D}\u{3}\u{2}\u{2}\u{2}" . 185*37748cd8SNickeau "\u{8B}\u{89}\u{3}\u{2}\u{2}\u{2}\u{8B}\u{8C}\u{3}\u{2}\u{2}\u{2}\u{8C}" . 186*37748cd8SNickeau "\u{19}\u{3}\u{2}\u{2}\u{2}\u{8D}\u{8B}\u{3}\u{2}\u{2}\u{2}\u{8E}\u{90}" . 187*37748cd8SNickeau "\u{7}\u{45}\u{2}\u{2}\u{8F}\u{91}\u{9}\u{8}\u{2}\u{2}\u{90}\u{8F}" . 188*37748cd8SNickeau "\u{3}\u{2}\u{2}\u{2}\u{90}\u{91}\u{3}\u{2}\u{2}\u{2}\u{91}\u{1B}\u{3}" . 189*37748cd8SNickeau "\u{2}\u{2}\u{2}\u{92}\u{94}\u{7}\u{37}\u{2}\u{2}\u{93}\u{95}\u{7}" . 190*37748cd8SNickeau "\u{3A}\u{2}\u{2}\u{94}\u{93}\u{3}\u{2}\u{2}\u{2}\u{94}\u{95}\u{3}" . 191*37748cd8SNickeau "\u{2}\u{2}\u{2}\u{95}\u{96}\u{3}\u{2}\u{2}\u{2}\u{96}\u{98}\u{5}\u{10}" . 192*37748cd8SNickeau "\u{9}\u{2}\u{97}\u{99}\u{5}\u{14}\u{B}\u{2}\u{98}\u{97}\u{3}\u{2}" . 193*37748cd8SNickeau "\u{2}\u{2}\u{98}\u{99}\u{3}\u{2}\u{2}\u{2}\u{99}\u{9B}\u{3}\u{2}\u{2}" . 194*37748cd8SNickeau "\u{2}\u{9A}\u{9C}\u{5}\u{12}\u{A}\u{2}\u{9B}\u{9A}\u{3}\u{2}\u{2}" . 195*37748cd8SNickeau "\u{2}\u{9B}\u{9C}\u{3}\u{2}\u{2}\u{2}\u{9C}\u{9E}\u{3}\u{2}\u{2}\u{2}" . 196*37748cd8SNickeau "\u{9D}\u{9F}\u{5}\u{18}\u{D}\u{2}\u{9E}\u{9D}\u{3}\u{2}\u{2}\u{2}" . 197*37748cd8SNickeau "\u{9E}\u{9F}\u{3}\u{2}\u{2}\u{2}\u{9F}\u{A1}\u{3}\u{2}\u{2}\u{2}\u{A0}" . 198*37748cd8SNickeau "\u{A2}\u{5}\u{16}\u{C}\u{2}\u{A1}\u{A0}\u{3}\u{2}\u{2}\u{2}\u{A1}" . 199*37748cd8SNickeau "\u{A2}\u{3}\u{2}\u{2}\u{2}\u{A2}\u{1D}\u{3}\u{2}\u{2}\u{2}\u{19}\u{27}" . 200*37748cd8SNickeau "\u{2C}\u{2E}\u{36}\u{3C}\u{41}\u{47}\u{4D}\u{51}\u{54}\u{5C}\u{65}" . 201*37748cd8SNickeau "\u{68}\u{6B}\u{72}\u{7B}\u{8B}\u{90}\u{94}\u{98}\u{9B}\u{9E}\u{A1}"; 202*37748cd8SNickeau 203*37748cd8SNickeau protected static $atn; 204*37748cd8SNickeau protected static $decisionToDFA; 205*37748cd8SNickeau protected static $sharedContextCache; 206*37748cd8SNickeau 207*37748cd8SNickeau public function __construct(TokenStream $input) 208*37748cd8SNickeau { 209*37748cd8SNickeau parent::__construct($input); 210*37748cd8SNickeau 211*37748cd8SNickeau self::initialize(); 212*37748cd8SNickeau 213*37748cd8SNickeau $this->interp = new ParserATNSimulator($this, self::$atn, self::$decisionToDFA, self::$sharedContextCache); 214*37748cd8SNickeau } 215*37748cd8SNickeau 216*37748cd8SNickeau private static function initialize() : void 217*37748cd8SNickeau { 218*37748cd8SNickeau if (self::$atn !== null) { 219*37748cd8SNickeau return; 220*37748cd8SNickeau } 221*37748cd8SNickeau 222*37748cd8SNickeau RuntimeMetaData::checkVersion('4.9.1', RuntimeMetaData::VERSION); 223*37748cd8SNickeau 224*37748cd8SNickeau $atn = (new ATNDeserializer())->deserialize(self::SERIALIZED_ATN); 225*37748cd8SNickeau 226*37748cd8SNickeau $decisionToDFA = []; 227*37748cd8SNickeau for ($i = 0, $count = $atn->getNumberOfDecisions(); $i < $count; $i++) { 228*37748cd8SNickeau $decisionToDFA[] = new DFA($atn->getDecisionState($i), $i); 229*37748cd8SNickeau } 230*37748cd8SNickeau 231*37748cd8SNickeau self::$atn = $atn; 232*37748cd8SNickeau self::$decisionToDFA = $decisionToDFA; 233*37748cd8SNickeau self::$sharedContextCache = new PredictionContextCache(); 234*37748cd8SNickeau } 235*37748cd8SNickeau 236*37748cd8SNickeau public function getGrammarFileName() : string 237*37748cd8SNickeau { 238*37748cd8SNickeau return "PageSql.g4"; 239*37748cd8SNickeau } 240*37748cd8SNickeau 241*37748cd8SNickeau public function getRuleNames() : array 242*37748cd8SNickeau { 243*37748cd8SNickeau return self::RULE_NAMES; 244*37748cd8SNickeau } 245*37748cd8SNickeau 246*37748cd8SNickeau public function getSerializedATN() : string 247*37748cd8SNickeau { 248*37748cd8SNickeau return self::SERIALIZED_ATN; 249*37748cd8SNickeau } 250*37748cd8SNickeau 251*37748cd8SNickeau public function getATN() : ATN 252*37748cd8SNickeau { 253*37748cd8SNickeau return self::$atn; 254*37748cd8SNickeau } 255*37748cd8SNickeau 256*37748cd8SNickeau public function getVocabulary() : Vocabulary 257*37748cd8SNickeau { 258*37748cd8SNickeau static $vocabulary; 259*37748cd8SNickeau 260*37748cd8SNickeau return $vocabulary = $vocabulary ?? new VocabularyImpl(self::LITERAL_NAMES, self::SYMBOLIC_NAMES); 261*37748cd8SNickeau } 262*37748cd8SNickeau 263*37748cd8SNickeau /** 264*37748cd8SNickeau * @throws RecognitionException 265*37748cd8SNickeau */ 266*37748cd8SNickeau public function functionNames() : Context\FunctionNamesContext 267*37748cd8SNickeau { 268*37748cd8SNickeau $localContext = new Context\FunctionNamesContext($this->ctx, $this->getState()); 269*37748cd8SNickeau 270*37748cd8SNickeau $this->enterRule($localContext, 0, self::RULE_functionNames); 271*37748cd8SNickeau 272*37748cd8SNickeau try { 273*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 274*37748cd8SNickeau $this->setState(28); 275*37748cd8SNickeau 276*37748cd8SNickeau $_la = $this->input->LA(1); 277*37748cd8SNickeau 278*37748cd8SNickeau if (!($_la === self::DATE || $_la === self::DATETIME)) { 279*37748cd8SNickeau $this->errorHandler->recoverInline($this); 280*37748cd8SNickeau } else { 281*37748cd8SNickeau if ($this->input->LA(1) === Token::EOF) { 282*37748cd8SNickeau $this->matchedEOF = true; 283*37748cd8SNickeau } 284*37748cd8SNickeau 285*37748cd8SNickeau $this->errorHandler->reportMatch($this); 286*37748cd8SNickeau $this->consume(); 287*37748cd8SNickeau } 288*37748cd8SNickeau } catch (RecognitionException $exception) { 289*37748cd8SNickeau $localContext->exception = $exception; 290*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 291*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 292*37748cd8SNickeau } finally { 293*37748cd8SNickeau $this->exitRule(); 294*37748cd8SNickeau } 295*37748cd8SNickeau 296*37748cd8SNickeau return $localContext; 297*37748cd8SNickeau } 298*37748cd8SNickeau 299*37748cd8SNickeau /** 300*37748cd8SNickeau * @throws RecognitionException 301*37748cd8SNickeau */ 302*37748cd8SNickeau public function tableNames() : Context\TableNamesContext 303*37748cd8SNickeau { 304*37748cd8SNickeau $localContext = new Context\TableNamesContext($this->ctx, $this->getState()); 305*37748cd8SNickeau 306*37748cd8SNickeau $this->enterRule($localContext, 2, self::RULE_tableNames); 307*37748cd8SNickeau 308*37748cd8SNickeau try { 309*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 310*37748cd8SNickeau $this->setState(30); 311*37748cd8SNickeau 312*37748cd8SNickeau $_la = $this->input->LA(1); 313*37748cd8SNickeau 314*37748cd8SNickeau if (!($_la === self::DATE || $_la === self::DATETIME)) { 315*37748cd8SNickeau $this->errorHandler->recoverInline($this); 316*37748cd8SNickeau } else { 317*37748cd8SNickeau if ($this->input->LA(1) === Token::EOF) { 318*37748cd8SNickeau $this->matchedEOF = true; 319*37748cd8SNickeau } 320*37748cd8SNickeau 321*37748cd8SNickeau $this->errorHandler->reportMatch($this); 322*37748cd8SNickeau $this->consume(); 323*37748cd8SNickeau } 324*37748cd8SNickeau } catch (RecognitionException $exception) { 325*37748cd8SNickeau $localContext->exception = $exception; 326*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 327*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 328*37748cd8SNickeau } finally { 329*37748cd8SNickeau $this->exitRule(); 330*37748cd8SNickeau } 331*37748cd8SNickeau 332*37748cd8SNickeau return $localContext; 333*37748cd8SNickeau } 334*37748cd8SNickeau 335*37748cd8SNickeau /** 336*37748cd8SNickeau * @throws RecognitionException 337*37748cd8SNickeau */ 338*37748cd8SNickeau public function sqlNames() : Context\SqlNamesContext 339*37748cd8SNickeau { 340*37748cd8SNickeau $localContext = new Context\SqlNamesContext($this->ctx, $this->getState()); 341*37748cd8SNickeau 342*37748cd8SNickeau $this->enterRule($localContext, 4, self::RULE_sqlNames); 343*37748cd8SNickeau 344*37748cd8SNickeau try { 345*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 346*37748cd8SNickeau $this->setState(32); 347*37748cd8SNickeau 348*37748cd8SNickeau $_la = $this->input->LA(1); 349*37748cd8SNickeau 350*37748cd8SNickeau if (!($_la === self::Number || $_la === self::SqlName)) { 351*37748cd8SNickeau $this->errorHandler->recoverInline($this); 352*37748cd8SNickeau } else { 353*37748cd8SNickeau if ($this->input->LA(1) === Token::EOF) { 354*37748cd8SNickeau $this->matchedEOF = true; 355*37748cd8SNickeau } 356*37748cd8SNickeau 357*37748cd8SNickeau $this->errorHandler->reportMatch($this); 358*37748cd8SNickeau $this->consume(); 359*37748cd8SNickeau } 360*37748cd8SNickeau } catch (RecognitionException $exception) { 361*37748cd8SNickeau $localContext->exception = $exception; 362*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 363*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 364*37748cd8SNickeau } finally { 365*37748cd8SNickeau $this->exitRule(); 366*37748cd8SNickeau } 367*37748cd8SNickeau 368*37748cd8SNickeau return $localContext; 369*37748cd8SNickeau } 370*37748cd8SNickeau 371*37748cd8SNickeau /** 372*37748cd8SNickeau * @throws RecognitionException 373*37748cd8SNickeau */ 374*37748cd8SNickeau public function column() : Context\ColumnContext 375*37748cd8SNickeau { 376*37748cd8SNickeau $localContext = new Context\ColumnContext($this->ctx, $this->getState()); 377*37748cd8SNickeau 378*37748cd8SNickeau $this->enterRule($localContext, 6, self::RULE_column); 379*37748cd8SNickeau 380*37748cd8SNickeau try { 381*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 382*37748cd8SNickeau $this->setState(34); 383*37748cd8SNickeau $this->sqlNames(); 384*37748cd8SNickeau $this->setState(37); 385*37748cd8SNickeau $this->errorHandler->sync($this); 386*37748cd8SNickeau $_la = $this->input->LA(1); 387*37748cd8SNickeau 388*37748cd8SNickeau if ($_la === self::DOT) { 389*37748cd8SNickeau $this->setState(35); 390*37748cd8SNickeau $this->match(self::DOT); 391*37748cd8SNickeau $this->setState(36); 392*37748cd8SNickeau $this->sqlNames(); 393*37748cd8SNickeau } 394*37748cd8SNickeau $this->setState(44); 395*37748cd8SNickeau $this->errorHandler->sync($this); 396*37748cd8SNickeau $_la = $this->input->LA(1); 397*37748cd8SNickeau 398*37748cd8SNickeau if ($_la === self::AS) { 399*37748cd8SNickeau $this->setState(39); 400*37748cd8SNickeau $this->match(self::AS); 401*37748cd8SNickeau $this->setState(42); 402*37748cd8SNickeau $this->errorHandler->sync($this); 403*37748cd8SNickeau 404*37748cd8SNickeau switch ($this->input->LA(1)) { 405*37748cd8SNickeau case self::Number: 406*37748cd8SNickeau case self::SqlName: 407*37748cd8SNickeau $this->setState(40); 408*37748cd8SNickeau $this->sqlNames(); 409*37748cd8SNickeau break; 410*37748cd8SNickeau 411*37748cd8SNickeau case self::StringLiteral: 412*37748cd8SNickeau $this->setState(41); 413*37748cd8SNickeau $this->match(self::StringLiteral); 414*37748cd8SNickeau break; 415*37748cd8SNickeau 416*37748cd8SNickeau default: 417*37748cd8SNickeau throw new NoViableAltException($this); 418*37748cd8SNickeau } 419*37748cd8SNickeau } 420*37748cd8SNickeau } catch (RecognitionException $exception) { 421*37748cd8SNickeau $localContext->exception = $exception; 422*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 423*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 424*37748cd8SNickeau } finally { 425*37748cd8SNickeau $this->exitRule(); 426*37748cd8SNickeau } 427*37748cd8SNickeau 428*37748cd8SNickeau return $localContext; 429*37748cd8SNickeau } 430*37748cd8SNickeau 431*37748cd8SNickeau /** 432*37748cd8SNickeau * @throws RecognitionException 433*37748cd8SNickeau */ 434*37748cd8SNickeau public function pattern() : Context\PatternContext 435*37748cd8SNickeau { 436*37748cd8SNickeau $localContext = new Context\PatternContext($this->ctx, $this->getState()); 437*37748cd8SNickeau 438*37748cd8SNickeau $this->enterRule($localContext, 8, self::RULE_pattern); 439*37748cd8SNickeau 440*37748cd8SNickeau try { 441*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 442*37748cd8SNickeau $this->setState(46); 443*37748cd8SNickeau 444*37748cd8SNickeau $_la = $this->input->LA(1); 445*37748cd8SNickeau 446*37748cd8SNickeau if (!($_la === self::StringLiteral || $_la === self::NumberLiteral)) { 447*37748cd8SNickeau $this->errorHandler->recoverInline($this); 448*37748cd8SNickeau } else { 449*37748cd8SNickeau if ($this->input->LA(1) === Token::EOF) { 450*37748cd8SNickeau $this->matchedEOF = true; 451*37748cd8SNickeau } 452*37748cd8SNickeau 453*37748cd8SNickeau $this->errorHandler->reportMatch($this); 454*37748cd8SNickeau $this->consume(); 455*37748cd8SNickeau } 456*37748cd8SNickeau } catch (RecognitionException $exception) { 457*37748cd8SNickeau $localContext->exception = $exception; 458*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 459*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 460*37748cd8SNickeau } finally { 461*37748cd8SNickeau $this->exitRule(); 462*37748cd8SNickeau } 463*37748cd8SNickeau 464*37748cd8SNickeau return $localContext; 465*37748cd8SNickeau } 466*37748cd8SNickeau 467*37748cd8SNickeau /** 468*37748cd8SNickeau * @throws RecognitionException 469*37748cd8SNickeau */ 470*37748cd8SNickeau public function expression() : Context\ExpressionContext 471*37748cd8SNickeau { 472*37748cd8SNickeau $localContext = new Context\ExpressionContext($this->ctx, $this->getState()); 473*37748cd8SNickeau 474*37748cd8SNickeau $this->enterRule($localContext, 10, self::RULE_expression); 475*37748cd8SNickeau 476*37748cd8SNickeau try { 477*37748cd8SNickeau $this->setState(63); 478*37748cd8SNickeau $this->errorHandler->sync($this); 479*37748cd8SNickeau 480*37748cd8SNickeau switch ($this->input->LA(1)) { 481*37748cd8SNickeau case self::StringLiteral: 482*37748cd8SNickeau case self::Number: 483*37748cd8SNickeau case self::NumberLiteral: 484*37748cd8SNickeau case self::SqlName: 485*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 486*37748cd8SNickeau $this->setState(48); 487*37748cd8SNickeau 488*37748cd8SNickeau $_la = $this->input->LA(1); 489*37748cd8SNickeau 490*37748cd8SNickeau if (!((((($_la - 61)) & ~0x3f) === 0 && ((1 << ($_la - 61)) & ((1 << (self::StringLiteral - 61)) | (1 << (self::Number - 61)) | (1 << (self::NumberLiteral - 61)) | (1 << (self::SqlName - 61)))) !== 0))) { 491*37748cd8SNickeau $this->errorHandler->recoverInline($this); 492*37748cd8SNickeau } else { 493*37748cd8SNickeau if ($this->input->LA(1) === Token::EOF) { 494*37748cd8SNickeau $this->matchedEOF = true; 495*37748cd8SNickeau } 496*37748cd8SNickeau 497*37748cd8SNickeau $this->errorHandler->reportMatch($this); 498*37748cd8SNickeau $this->consume(); 499*37748cd8SNickeau } 500*37748cd8SNickeau break; 501*37748cd8SNickeau 502*37748cd8SNickeau case self::DATE: 503*37748cd8SNickeau case self::DATETIME: 504*37748cd8SNickeau $this->enterOuterAlt($localContext, 2); 505*37748cd8SNickeau $this->setState(49); 506*37748cd8SNickeau $this->functionNames(); 507*37748cd8SNickeau $this->setState(50); 508*37748cd8SNickeau $this->match(self::LPAREN); 509*37748cd8SNickeau $this->setState(52); 510*37748cd8SNickeau $this->errorHandler->sync($this); 511*37748cd8SNickeau $_la = $this->input->LA(1); 512*37748cd8SNickeau 513*37748cd8SNickeau if ((((($_la - 57)) & ~0x3f) === 0 && ((1 << ($_la - 57)) & ((1 << (self::DATE - 57)) | (1 << (self::DATETIME - 57)) | (1 << (self::StringLiteral - 57)) | (1 << (self::Number - 57)) | (1 << (self::NumberLiteral - 57)) | (1 << (self::SqlName - 57)))) !== 0)) { 514*37748cd8SNickeau $this->setState(51); 515*37748cd8SNickeau $this->expression(); 516*37748cd8SNickeau } 517*37748cd8SNickeau $this->setState(58); 518*37748cd8SNickeau $this->errorHandler->sync($this); 519*37748cd8SNickeau 520*37748cd8SNickeau $_la = $this->input->LA(1); 521*37748cd8SNickeau while ($_la === self::COMMA) { 522*37748cd8SNickeau $this->setState(54); 523*37748cd8SNickeau $this->match(self::COMMA); 524*37748cd8SNickeau $this->setState(55); 525*37748cd8SNickeau $this->expression(); 526*37748cd8SNickeau $this->setState(60); 527*37748cd8SNickeau $this->errorHandler->sync($this); 528*37748cd8SNickeau $_la = $this->input->LA(1); 529*37748cd8SNickeau } 530*37748cd8SNickeau $this->setState(61); 531*37748cd8SNickeau $this->match(self::RPAREN); 532*37748cd8SNickeau break; 533*37748cd8SNickeau 534*37748cd8SNickeau default: 535*37748cd8SNickeau throw new NoViableAltException($this); 536*37748cd8SNickeau } 537*37748cd8SNickeau } catch (RecognitionException $exception) { 538*37748cd8SNickeau $localContext->exception = $exception; 539*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 540*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 541*37748cd8SNickeau } finally { 542*37748cd8SNickeau $this->exitRule(); 543*37748cd8SNickeau } 544*37748cd8SNickeau 545*37748cd8SNickeau return $localContext; 546*37748cd8SNickeau } 547*37748cd8SNickeau 548*37748cd8SNickeau /** 549*37748cd8SNickeau * @throws RecognitionException 550*37748cd8SNickeau */ 551*37748cd8SNickeau public function predicate() : Context\PredicateContext 552*37748cd8SNickeau { 553*37748cd8SNickeau $localContext = new Context\PredicateContext($this->ctx, $this->getState()); 554*37748cd8SNickeau 555*37748cd8SNickeau $this->enterRule($localContext, 12, self::RULE_predicate); 556*37748cd8SNickeau 557*37748cd8SNickeau try { 558*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 559*37748cd8SNickeau $this->setState(65); 560*37748cd8SNickeau $this->sqlNames(); 561*37748cd8SNickeau $this->setState(105); 562*37748cd8SNickeau $this->errorHandler->sync($this); 563*37748cd8SNickeau 564*37748cd8SNickeau switch ($this->getInterpreter()->adaptivePredict($this->input, 13, $this->ctx)) { 565*37748cd8SNickeau case 1: 566*37748cd8SNickeau $this->setState(66); 567*37748cd8SNickeau 568*37748cd8SNickeau $_la = $this->input->LA(1); 569*37748cd8SNickeau 570*37748cd8SNickeau if (!(((($_la) & ~0x3f) === 0 && ((1 << $_la) & ((1 << self::EQUAL) | (1 << self::LESS_THAN) | (1 << self::LESS_THAN_OR_EQUAL) | (1 << self::GREATER_THAN) | (1 << self::GREATER_THAN_OR_EQUAL) | (1 << self::NOT_EQUAL))) !== 0))) { 571*37748cd8SNickeau $this->errorHandler->recoverInline($this); 572*37748cd8SNickeau } else { 573*37748cd8SNickeau if ($this->input->LA(1) === Token::EOF) { 574*37748cd8SNickeau $this->matchedEOF = true; 575*37748cd8SNickeau } 576*37748cd8SNickeau 577*37748cd8SNickeau $this->errorHandler->reportMatch($this); 578*37748cd8SNickeau $this->consume(); 579*37748cd8SNickeau } 580*37748cd8SNickeau $this->setState(67); 581*37748cd8SNickeau $this->expression(); 582*37748cd8SNickeau break; 583*37748cd8SNickeau 584*37748cd8SNickeau case 2: 585*37748cd8SNickeau $this->setState(79); 586*37748cd8SNickeau $this->errorHandler->sync($this); 587*37748cd8SNickeau 588*37748cd8SNickeau switch ($this->input->LA(1)) { 589*37748cd8SNickeau case self::LIKE: 590*37748cd8SNickeau case self::NOT: 591*37748cd8SNickeau $this->setState(69); 592*37748cd8SNickeau $this->errorHandler->sync($this); 593*37748cd8SNickeau $_la = $this->input->LA(1); 594*37748cd8SNickeau 595*37748cd8SNickeau if ($_la === self::NOT) { 596*37748cd8SNickeau $this->setState(68); 597*37748cd8SNickeau $this->match(self::NOT); 598*37748cd8SNickeau } 599*37748cd8SNickeau 600*37748cd8SNickeau $this->setState(71); 601*37748cd8SNickeau $this->match(self::LIKE); 602*37748cd8SNickeau $this->setState(72); 603*37748cd8SNickeau $this->pattern(); 604*37748cd8SNickeau $this->setState(75); 605*37748cd8SNickeau $this->errorHandler->sync($this); 606*37748cd8SNickeau $_la = $this->input->LA(1); 607*37748cd8SNickeau 608*37748cd8SNickeau if ($_la === self::ESCAPE) { 609*37748cd8SNickeau $this->setState(73); 610*37748cd8SNickeau $this->match(self::ESCAPE); 611*37748cd8SNickeau $this->setState(74); 612*37748cd8SNickeau $this->match(self::StringLiteral); 613*37748cd8SNickeau } 614*37748cd8SNickeau break; 615*37748cd8SNickeau 616*37748cd8SNickeau case self::GLOB: 617*37748cd8SNickeau $this->setState(77); 618*37748cd8SNickeau $this->match(self::GLOB); 619*37748cd8SNickeau $this->setState(78); 620*37748cd8SNickeau $this->pattern(); 621*37748cd8SNickeau break; 622*37748cd8SNickeau 623*37748cd8SNickeau default: 624*37748cd8SNickeau throw new NoViableAltException($this); 625*37748cd8SNickeau } 626*37748cd8SNickeau break; 627*37748cd8SNickeau 628*37748cd8SNickeau case 3: 629*37748cd8SNickeau $this->setState(82); 630*37748cd8SNickeau $this->errorHandler->sync($this); 631*37748cd8SNickeau $_la = $this->input->LA(1); 632*37748cd8SNickeau 633*37748cd8SNickeau if ($_la === self::NOT) { 634*37748cd8SNickeau $this->setState(81); 635*37748cd8SNickeau $this->match(self::NOT); 636*37748cd8SNickeau } 637*37748cd8SNickeau $this->setState(84); 638*37748cd8SNickeau $this->match(self::BETWEEN); 639*37748cd8SNickeau $this->setState(85); 640*37748cd8SNickeau $this->expression(); 641*37748cd8SNickeau $this->setState(86); 642*37748cd8SNickeau $this->match(self::AND); 643*37748cd8SNickeau $this->setState(87); 644*37748cd8SNickeau $this->expression(); 645*37748cd8SNickeau break; 646*37748cd8SNickeau 647*37748cd8SNickeau case 4: 648*37748cd8SNickeau $this->setState(90); 649*37748cd8SNickeau $this->errorHandler->sync($this); 650*37748cd8SNickeau $_la = $this->input->LA(1); 651*37748cd8SNickeau 652*37748cd8SNickeau if ($_la === self::NOT) { 653*37748cd8SNickeau $this->setState(89); 654*37748cd8SNickeau $this->match(self::NOT); 655*37748cd8SNickeau } 656*37748cd8SNickeau $this->setState(92); 657*37748cd8SNickeau $this->match(self::IN); 658*37748cd8SNickeau $this->setState(93); 659*37748cd8SNickeau $this->match(self::LPAREN); 660*37748cd8SNickeau $this->setState(102); 661*37748cd8SNickeau $this->errorHandler->sync($this); 662*37748cd8SNickeau $_la = $this->input->LA(1); 663*37748cd8SNickeau 664*37748cd8SNickeau if ((((($_la - 57)) & ~0x3f) === 0 && ((1 << ($_la - 57)) & ((1 << (self::DATE - 57)) | (1 << (self::DATETIME - 57)) | (1 << (self::StringLiteral - 57)) | (1 << (self::Number - 57)) | (1 << (self::NumberLiteral - 57)) | (1 << (self::SqlName - 57)))) !== 0)) { 665*37748cd8SNickeau $this->setState(94); 666*37748cd8SNickeau $this->expression(); 667*37748cd8SNickeau $this->setState(99); 668*37748cd8SNickeau $this->errorHandler->sync($this); 669*37748cd8SNickeau 670*37748cd8SNickeau $_la = $this->input->LA(1); 671*37748cd8SNickeau while ($_la === self::COMMA) { 672*37748cd8SNickeau $this->setState(95); 673*37748cd8SNickeau $this->match(self::COMMA); 674*37748cd8SNickeau $this->setState(96); 675*37748cd8SNickeau $this->expression(); 676*37748cd8SNickeau $this->setState(101); 677*37748cd8SNickeau $this->errorHandler->sync($this); 678*37748cd8SNickeau $_la = $this->input->LA(1); 679*37748cd8SNickeau } 680*37748cd8SNickeau } 681*37748cd8SNickeau $this->setState(104); 682*37748cd8SNickeau $this->match(self::RPAREN); 683*37748cd8SNickeau break; 684*37748cd8SNickeau } 685*37748cd8SNickeau } catch (RecognitionException $exception) { 686*37748cd8SNickeau $localContext->exception = $exception; 687*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 688*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 689*37748cd8SNickeau } finally { 690*37748cd8SNickeau $this->exitRule(); 691*37748cd8SNickeau } 692*37748cd8SNickeau 693*37748cd8SNickeau return $localContext; 694*37748cd8SNickeau } 695*37748cd8SNickeau 696*37748cd8SNickeau /** 697*37748cd8SNickeau * @throws RecognitionException 698*37748cd8SNickeau */ 699*37748cd8SNickeau public function columns() : Context\ColumnsContext 700*37748cd8SNickeau { 701*37748cd8SNickeau $localContext = new Context\ColumnsContext($this->ctx, $this->getState()); 702*37748cd8SNickeau 703*37748cd8SNickeau $this->enterRule($localContext, 14, self::RULE_columns); 704*37748cd8SNickeau 705*37748cd8SNickeau try { 706*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 707*37748cd8SNickeau $this->setState(107); 708*37748cd8SNickeau $this->column(); 709*37748cd8SNickeau $this->setState(112); 710*37748cd8SNickeau $this->errorHandler->sync($this); 711*37748cd8SNickeau 712*37748cd8SNickeau $_la = $this->input->LA(1); 713*37748cd8SNickeau while ($_la === self::COMMA) { 714*37748cd8SNickeau $this->setState(108); 715*37748cd8SNickeau $this->match(self::COMMA); 716*37748cd8SNickeau $this->setState(109); 717*37748cd8SNickeau $this->column(); 718*37748cd8SNickeau $this->setState(114); 719*37748cd8SNickeau $this->errorHandler->sync($this); 720*37748cd8SNickeau $_la = $this->input->LA(1); 721*37748cd8SNickeau } 722*37748cd8SNickeau } catch (RecognitionException $exception) { 723*37748cd8SNickeau $localContext->exception = $exception; 724*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 725*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 726*37748cd8SNickeau } finally { 727*37748cd8SNickeau $this->exitRule(); 728*37748cd8SNickeau } 729*37748cd8SNickeau 730*37748cd8SNickeau return $localContext; 731*37748cd8SNickeau } 732*37748cd8SNickeau 733*37748cd8SNickeau /** 734*37748cd8SNickeau * @throws RecognitionException 735*37748cd8SNickeau */ 736*37748cd8SNickeau public function predicates() : Context\PredicatesContext 737*37748cd8SNickeau { 738*37748cd8SNickeau $localContext = new Context\PredicatesContext($this->ctx, $this->getState()); 739*37748cd8SNickeau 740*37748cd8SNickeau $this->enterRule($localContext, 16, self::RULE_predicates); 741*37748cd8SNickeau 742*37748cd8SNickeau try { 743*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 744*37748cd8SNickeau $this->setState(115); 745*37748cd8SNickeau $this->match(self::WHERE); 746*37748cd8SNickeau $this->setState(116); 747*37748cd8SNickeau $this->predicate(); 748*37748cd8SNickeau $this->setState(121); 749*37748cd8SNickeau $this->errorHandler->sync($this); 750*37748cd8SNickeau 751*37748cd8SNickeau $_la = $this->input->LA(1); 752*37748cd8SNickeau while ($_la === self::AND || $_la === self::OR) { 753*37748cd8SNickeau $this->setState(117); 754*37748cd8SNickeau 755*37748cd8SNickeau $_la = $this->input->LA(1); 756*37748cd8SNickeau 757*37748cd8SNickeau if (!($_la === self::AND || $_la === self::OR)) { 758*37748cd8SNickeau $this->errorHandler->recoverInline($this); 759*37748cd8SNickeau } else { 760*37748cd8SNickeau if ($this->input->LA(1) === Token::EOF) { 761*37748cd8SNickeau $this->matchedEOF = true; 762*37748cd8SNickeau } 763*37748cd8SNickeau 764*37748cd8SNickeau $this->errorHandler->reportMatch($this); 765*37748cd8SNickeau $this->consume(); 766*37748cd8SNickeau } 767*37748cd8SNickeau $this->setState(118); 768*37748cd8SNickeau $this->predicate(); 769*37748cd8SNickeau $this->setState(123); 770*37748cd8SNickeau $this->errorHandler->sync($this); 771*37748cd8SNickeau $_la = $this->input->LA(1); 772*37748cd8SNickeau } 773*37748cd8SNickeau } catch (RecognitionException $exception) { 774*37748cd8SNickeau $localContext->exception = $exception; 775*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 776*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 777*37748cd8SNickeau } finally { 778*37748cd8SNickeau $this->exitRule(); 779*37748cd8SNickeau } 780*37748cd8SNickeau 781*37748cd8SNickeau return $localContext; 782*37748cd8SNickeau } 783*37748cd8SNickeau 784*37748cd8SNickeau /** 785*37748cd8SNickeau * @throws RecognitionException 786*37748cd8SNickeau */ 787*37748cd8SNickeau public function tables() : Context\TablesContext 788*37748cd8SNickeau { 789*37748cd8SNickeau $localContext = new Context\TablesContext($this->ctx, $this->getState()); 790*37748cd8SNickeau 791*37748cd8SNickeau $this->enterRule($localContext, 18, self::RULE_tables); 792*37748cd8SNickeau 793*37748cd8SNickeau try { 794*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 795*37748cd8SNickeau $this->setState(124); 796*37748cd8SNickeau $this->match(self::FROM); 797*37748cd8SNickeau $this->setState(125); 798*37748cd8SNickeau $this->tableNames(); 799*37748cd8SNickeau } catch (RecognitionException $exception) { 800*37748cd8SNickeau $localContext->exception = $exception; 801*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 802*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 803*37748cd8SNickeau } finally { 804*37748cd8SNickeau $this->exitRule(); 805*37748cd8SNickeau } 806*37748cd8SNickeau 807*37748cd8SNickeau return $localContext; 808*37748cd8SNickeau } 809*37748cd8SNickeau 810*37748cd8SNickeau /** 811*37748cd8SNickeau * @throws RecognitionException 812*37748cd8SNickeau */ 813*37748cd8SNickeau public function limit() : Context\LimitContext 814*37748cd8SNickeau { 815*37748cd8SNickeau $localContext = new Context\LimitContext($this->ctx, $this->getState()); 816*37748cd8SNickeau 817*37748cd8SNickeau $this->enterRule($localContext, 20, self::RULE_limit); 818*37748cd8SNickeau 819*37748cd8SNickeau try { 820*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 821*37748cd8SNickeau $this->setState(127); 822*37748cd8SNickeau $this->match(self::LIMIT); 823*37748cd8SNickeau $this->setState(128); 824*37748cd8SNickeau $this->match(self::Number); 825*37748cd8SNickeau } catch (RecognitionException $exception) { 826*37748cd8SNickeau $localContext->exception = $exception; 827*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 828*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 829*37748cd8SNickeau } finally { 830*37748cd8SNickeau $this->exitRule(); 831*37748cd8SNickeau } 832*37748cd8SNickeau 833*37748cd8SNickeau return $localContext; 834*37748cd8SNickeau } 835*37748cd8SNickeau 836*37748cd8SNickeau /** 837*37748cd8SNickeau * @throws RecognitionException 838*37748cd8SNickeau */ 839*37748cd8SNickeau public function orderBys() : Context\OrderBysContext 840*37748cd8SNickeau { 841*37748cd8SNickeau $localContext = new Context\OrderBysContext($this->ctx, $this->getState()); 842*37748cd8SNickeau 843*37748cd8SNickeau $this->enterRule($localContext, 22, self::RULE_orderBys); 844*37748cd8SNickeau 845*37748cd8SNickeau try { 846*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 847*37748cd8SNickeau $this->setState(130); 848*37748cd8SNickeau $this->match(self::ORDER); 849*37748cd8SNickeau $this->setState(131); 850*37748cd8SNickeau $this->match(self::BY); 851*37748cd8SNickeau $this->setState(132); 852*37748cd8SNickeau $this->orderByDef(); 853*37748cd8SNickeau $this->setState(137); 854*37748cd8SNickeau $this->errorHandler->sync($this); 855*37748cd8SNickeau 856*37748cd8SNickeau $_la = $this->input->LA(1); 857*37748cd8SNickeau while ($_la === self::COMMA) { 858*37748cd8SNickeau $this->setState(133); 859*37748cd8SNickeau $this->match(self::COMMA); 860*37748cd8SNickeau $this->setState(134); 861*37748cd8SNickeau $this->orderByDef(); 862*37748cd8SNickeau $this->setState(139); 863*37748cd8SNickeau $this->errorHandler->sync($this); 864*37748cd8SNickeau $_la = $this->input->LA(1); 865*37748cd8SNickeau } 866*37748cd8SNickeau } catch (RecognitionException $exception) { 867*37748cd8SNickeau $localContext->exception = $exception; 868*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 869*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 870*37748cd8SNickeau } finally { 871*37748cd8SNickeau $this->exitRule(); 872*37748cd8SNickeau } 873*37748cd8SNickeau 874*37748cd8SNickeau return $localContext; 875*37748cd8SNickeau } 876*37748cd8SNickeau 877*37748cd8SNickeau /** 878*37748cd8SNickeau * @throws RecognitionException 879*37748cd8SNickeau */ 880*37748cd8SNickeau public function orderByDef() : Context\OrderByDefContext 881*37748cd8SNickeau { 882*37748cd8SNickeau $localContext = new Context\OrderByDefContext($this->ctx, $this->getState()); 883*37748cd8SNickeau 884*37748cd8SNickeau $this->enterRule($localContext, 24, self::RULE_orderByDef); 885*37748cd8SNickeau 886*37748cd8SNickeau try { 887*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 888*37748cd8SNickeau $this->setState(140); 889*37748cd8SNickeau $this->match(self::SqlName); 890*37748cd8SNickeau $this->setState(142); 891*37748cd8SNickeau $this->errorHandler->sync($this); 892*37748cd8SNickeau $_la = $this->input->LA(1); 893*37748cd8SNickeau 894*37748cd8SNickeau if ($_la === self::ASC || $_la === self::DESC) { 895*37748cd8SNickeau $this->setState(141); 896*37748cd8SNickeau 897*37748cd8SNickeau $_la = $this->input->LA(1); 898*37748cd8SNickeau 899*37748cd8SNickeau if (!($_la === self::ASC || $_la === self::DESC)) { 900*37748cd8SNickeau $this->errorHandler->recoverInline($this); 901*37748cd8SNickeau } else { 902*37748cd8SNickeau if ($this->input->LA(1) === Token::EOF) { 903*37748cd8SNickeau $this->matchedEOF = true; 904*37748cd8SNickeau } 905*37748cd8SNickeau 906*37748cd8SNickeau $this->errorHandler->reportMatch($this); 907*37748cd8SNickeau $this->consume(); 908*37748cd8SNickeau } 909*37748cd8SNickeau } 910*37748cd8SNickeau } catch (RecognitionException $exception) { 911*37748cd8SNickeau $localContext->exception = $exception; 912*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 913*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 914*37748cd8SNickeau } finally { 915*37748cd8SNickeau $this->exitRule(); 916*37748cd8SNickeau } 917*37748cd8SNickeau 918*37748cd8SNickeau return $localContext; 919*37748cd8SNickeau } 920*37748cd8SNickeau 921*37748cd8SNickeau /** 922*37748cd8SNickeau * @throws RecognitionException 923*37748cd8SNickeau */ 924*37748cd8SNickeau public function pageSql() : Context\PageSqlContext 925*37748cd8SNickeau { 926*37748cd8SNickeau $localContext = new Context\PageSqlContext($this->ctx, $this->getState()); 927*37748cd8SNickeau 928*37748cd8SNickeau $this->enterRule($localContext, 26, self::RULE_pageSql); 929*37748cd8SNickeau 930*37748cd8SNickeau try { 931*37748cd8SNickeau $this->enterOuterAlt($localContext, 1); 932*37748cd8SNickeau $this->setState(144); 933*37748cd8SNickeau $this->match(self::SELECT); 934*37748cd8SNickeau $this->setState(146); 935*37748cd8SNickeau $this->errorHandler->sync($this); 936*37748cd8SNickeau $_la = $this->input->LA(1); 937*37748cd8SNickeau 938*37748cd8SNickeau if ($_la === self::RANDOM) { 939*37748cd8SNickeau $this->setState(145); 940*37748cd8SNickeau $this->match(self::RANDOM); 941*37748cd8SNickeau } 942*37748cd8SNickeau $this->setState(148); 943*37748cd8SNickeau $this->columns(); 944*37748cd8SNickeau $this->setState(150); 945*37748cd8SNickeau $this->errorHandler->sync($this); 946*37748cd8SNickeau $_la = $this->input->LA(1); 947*37748cd8SNickeau 948*37748cd8SNickeau if ($_la === self::FROM) { 949*37748cd8SNickeau $this->setState(149); 950*37748cd8SNickeau $this->tables(); 951*37748cd8SNickeau } 952*37748cd8SNickeau $this->setState(153); 953*37748cd8SNickeau $this->errorHandler->sync($this); 954*37748cd8SNickeau $_la = $this->input->LA(1); 955*37748cd8SNickeau 956*37748cd8SNickeau if ($_la === self::WHERE) { 957*37748cd8SNickeau $this->setState(152); 958*37748cd8SNickeau $this->predicates(); 959*37748cd8SNickeau } 960*37748cd8SNickeau $this->setState(156); 961*37748cd8SNickeau $this->errorHandler->sync($this); 962*37748cd8SNickeau $_la = $this->input->LA(1); 963*37748cd8SNickeau 964*37748cd8SNickeau if ($_la === self::ORDER) { 965*37748cd8SNickeau $this->setState(155); 966*37748cd8SNickeau $this->orderBys(); 967*37748cd8SNickeau } 968*37748cd8SNickeau $this->setState(159); 969*37748cd8SNickeau $this->errorHandler->sync($this); 970*37748cd8SNickeau $_la = $this->input->LA(1); 971*37748cd8SNickeau 972*37748cd8SNickeau if ($_la === self::LIMIT) { 973*37748cd8SNickeau $this->setState(158); 974*37748cd8SNickeau $this->limit(); 975*37748cd8SNickeau } 976*37748cd8SNickeau } catch (RecognitionException $exception) { 977*37748cd8SNickeau $localContext->exception = $exception; 978*37748cd8SNickeau $this->errorHandler->reportError($this, $exception); 979*37748cd8SNickeau $this->errorHandler->recover($this, $exception); 980*37748cd8SNickeau } finally { 981*37748cd8SNickeau $this->exitRule(); 982*37748cd8SNickeau } 983*37748cd8SNickeau 984*37748cd8SNickeau return $localContext; 985*37748cd8SNickeau } 986*37748cd8SNickeau } 987*37748cd8SNickeau} 988*37748cd8SNickeau 989*37748cd8SNickeaunamespace ComboStrap\PageSqlParser\Context { 990*37748cd8SNickeau use Antlr\Antlr4\Runtime\ParserRuleContext; 991*37748cd8SNickeau use Antlr\Antlr4\Runtime\Token; 992*37748cd8SNickeau use Antlr\Antlr4\Runtime\Tree\ParseTreeVisitor; 993*37748cd8SNickeau use Antlr\Antlr4\Runtime\Tree\TerminalNode; 994*37748cd8SNickeau use Antlr\Antlr4\Runtime\Tree\ParseTreeListener; 995*37748cd8SNickeau use ComboStrap\PageSqlParser\PageSqlParser; 996*37748cd8SNickeau use ComboStrap\PageSqlParser\PageSqlVisitor; 997*37748cd8SNickeau use ComboStrap\PageSqlParser\PageSqlListener; 998*37748cd8SNickeau 999*37748cd8SNickeau class FunctionNamesContext extends ParserRuleContext 1000*37748cd8SNickeau { 1001*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1002*37748cd8SNickeau { 1003*37748cd8SNickeau parent::__construct($parent, $invokingState); 1004*37748cd8SNickeau } 1005*37748cd8SNickeau 1006*37748cd8SNickeau public function getRuleIndex() : int 1007*37748cd8SNickeau { 1008*37748cd8SNickeau return PageSqlParser::RULE_functionNames; 1009*37748cd8SNickeau } 1010*37748cd8SNickeau 1011*37748cd8SNickeau public function DATE() : ?TerminalNode 1012*37748cd8SNickeau { 1013*37748cd8SNickeau return $this->getToken(PageSqlParser::DATE, 0); 1014*37748cd8SNickeau } 1015*37748cd8SNickeau 1016*37748cd8SNickeau public function DATETIME() : ?TerminalNode 1017*37748cd8SNickeau { 1018*37748cd8SNickeau return $this->getToken(PageSqlParser::DATETIME, 0); 1019*37748cd8SNickeau } 1020*37748cd8SNickeau 1021*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1022*37748cd8SNickeau { 1023*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1024*37748cd8SNickeau $listener->enterFunctionNames($this); 1025*37748cd8SNickeau } 1026*37748cd8SNickeau } 1027*37748cd8SNickeau 1028*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1029*37748cd8SNickeau { 1030*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1031*37748cd8SNickeau $listener->exitFunctionNames($this); 1032*37748cd8SNickeau } 1033*37748cd8SNickeau } 1034*37748cd8SNickeau 1035*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1036*37748cd8SNickeau { 1037*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1038*37748cd8SNickeau return $visitor->visitFunctionNames($this); 1039*37748cd8SNickeau } 1040*37748cd8SNickeau 1041*37748cd8SNickeau return $visitor->visitChildren($this); 1042*37748cd8SNickeau } 1043*37748cd8SNickeau } 1044*37748cd8SNickeau 1045*37748cd8SNickeau class TableNamesContext extends ParserRuleContext 1046*37748cd8SNickeau { 1047*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1048*37748cd8SNickeau { 1049*37748cd8SNickeau parent::__construct($parent, $invokingState); 1050*37748cd8SNickeau } 1051*37748cd8SNickeau 1052*37748cd8SNickeau public function getRuleIndex() : int 1053*37748cd8SNickeau { 1054*37748cd8SNickeau return PageSqlParser::RULE_tableNames; 1055*37748cd8SNickeau } 1056*37748cd8SNickeau 1057*37748cd8SNickeau public function DATE() : ?TerminalNode 1058*37748cd8SNickeau { 1059*37748cd8SNickeau return $this->getToken(PageSqlParser::DATE, 0); 1060*37748cd8SNickeau } 1061*37748cd8SNickeau 1062*37748cd8SNickeau public function DATETIME() : ?TerminalNode 1063*37748cd8SNickeau { 1064*37748cd8SNickeau return $this->getToken(PageSqlParser::DATETIME, 0); 1065*37748cd8SNickeau } 1066*37748cd8SNickeau 1067*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1068*37748cd8SNickeau { 1069*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1070*37748cd8SNickeau $listener->enterTableNames($this); 1071*37748cd8SNickeau } 1072*37748cd8SNickeau } 1073*37748cd8SNickeau 1074*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1075*37748cd8SNickeau { 1076*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1077*37748cd8SNickeau $listener->exitTableNames($this); 1078*37748cd8SNickeau } 1079*37748cd8SNickeau } 1080*37748cd8SNickeau 1081*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1082*37748cd8SNickeau { 1083*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1084*37748cd8SNickeau return $visitor->visitTableNames($this); 1085*37748cd8SNickeau } 1086*37748cd8SNickeau 1087*37748cd8SNickeau return $visitor->visitChildren($this); 1088*37748cd8SNickeau } 1089*37748cd8SNickeau } 1090*37748cd8SNickeau 1091*37748cd8SNickeau class SqlNamesContext extends ParserRuleContext 1092*37748cd8SNickeau { 1093*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1094*37748cd8SNickeau { 1095*37748cd8SNickeau parent::__construct($parent, $invokingState); 1096*37748cd8SNickeau } 1097*37748cd8SNickeau 1098*37748cd8SNickeau public function getRuleIndex() : int 1099*37748cd8SNickeau { 1100*37748cd8SNickeau return PageSqlParser::RULE_sqlNames; 1101*37748cd8SNickeau } 1102*37748cd8SNickeau 1103*37748cd8SNickeau public function SqlName() : ?TerminalNode 1104*37748cd8SNickeau { 1105*37748cd8SNickeau return $this->getToken(PageSqlParser::SqlName, 0); 1106*37748cd8SNickeau } 1107*37748cd8SNickeau 1108*37748cd8SNickeau public function Number() : ?TerminalNode 1109*37748cd8SNickeau { 1110*37748cd8SNickeau return $this->getToken(PageSqlParser::Number, 0); 1111*37748cd8SNickeau } 1112*37748cd8SNickeau 1113*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1114*37748cd8SNickeau { 1115*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1116*37748cd8SNickeau $listener->enterSqlNames($this); 1117*37748cd8SNickeau } 1118*37748cd8SNickeau } 1119*37748cd8SNickeau 1120*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1121*37748cd8SNickeau { 1122*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1123*37748cd8SNickeau $listener->exitSqlNames($this); 1124*37748cd8SNickeau } 1125*37748cd8SNickeau } 1126*37748cd8SNickeau 1127*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1128*37748cd8SNickeau { 1129*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1130*37748cd8SNickeau return $visitor->visitSqlNames($this); 1131*37748cd8SNickeau } 1132*37748cd8SNickeau 1133*37748cd8SNickeau return $visitor->visitChildren($this); 1134*37748cd8SNickeau } 1135*37748cd8SNickeau } 1136*37748cd8SNickeau 1137*37748cd8SNickeau class ColumnContext extends ParserRuleContext 1138*37748cd8SNickeau { 1139*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1140*37748cd8SNickeau { 1141*37748cd8SNickeau parent::__construct($parent, $invokingState); 1142*37748cd8SNickeau } 1143*37748cd8SNickeau 1144*37748cd8SNickeau public function getRuleIndex() : int 1145*37748cd8SNickeau { 1146*37748cd8SNickeau return PageSqlParser::RULE_column; 1147*37748cd8SNickeau } 1148*37748cd8SNickeau 1149*37748cd8SNickeau /** 1150*37748cd8SNickeau * @return array<SqlNamesContext>|SqlNamesContext|null 1151*37748cd8SNickeau */ 1152*37748cd8SNickeau public function sqlNames(?int $index = null) 1153*37748cd8SNickeau { 1154*37748cd8SNickeau if ($index === null) { 1155*37748cd8SNickeau return $this->getTypedRuleContexts(SqlNamesContext::class); 1156*37748cd8SNickeau } 1157*37748cd8SNickeau 1158*37748cd8SNickeau return $this->getTypedRuleContext(SqlNamesContext::class, $index); 1159*37748cd8SNickeau } 1160*37748cd8SNickeau 1161*37748cd8SNickeau public function DOT() : ?TerminalNode 1162*37748cd8SNickeau { 1163*37748cd8SNickeau return $this->getToken(PageSqlParser::DOT, 0); 1164*37748cd8SNickeau } 1165*37748cd8SNickeau 1166*37748cd8SNickeau public function AS() : ?TerminalNode 1167*37748cd8SNickeau { 1168*37748cd8SNickeau return $this->getToken(PageSqlParser::AS, 0); 1169*37748cd8SNickeau } 1170*37748cd8SNickeau 1171*37748cd8SNickeau public function StringLiteral() : ?TerminalNode 1172*37748cd8SNickeau { 1173*37748cd8SNickeau return $this->getToken(PageSqlParser::StringLiteral, 0); 1174*37748cd8SNickeau } 1175*37748cd8SNickeau 1176*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1177*37748cd8SNickeau { 1178*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1179*37748cd8SNickeau $listener->enterColumn($this); 1180*37748cd8SNickeau } 1181*37748cd8SNickeau } 1182*37748cd8SNickeau 1183*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1184*37748cd8SNickeau { 1185*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1186*37748cd8SNickeau $listener->exitColumn($this); 1187*37748cd8SNickeau } 1188*37748cd8SNickeau } 1189*37748cd8SNickeau 1190*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1191*37748cd8SNickeau { 1192*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1193*37748cd8SNickeau return $visitor->visitColumn($this); 1194*37748cd8SNickeau } 1195*37748cd8SNickeau 1196*37748cd8SNickeau return $visitor->visitChildren($this); 1197*37748cd8SNickeau } 1198*37748cd8SNickeau } 1199*37748cd8SNickeau 1200*37748cd8SNickeau class PatternContext extends ParserRuleContext 1201*37748cd8SNickeau { 1202*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1203*37748cd8SNickeau { 1204*37748cd8SNickeau parent::__construct($parent, $invokingState); 1205*37748cd8SNickeau } 1206*37748cd8SNickeau 1207*37748cd8SNickeau public function getRuleIndex() : int 1208*37748cd8SNickeau { 1209*37748cd8SNickeau return PageSqlParser::RULE_pattern; 1210*37748cd8SNickeau } 1211*37748cd8SNickeau 1212*37748cd8SNickeau public function StringLiteral() : ?TerminalNode 1213*37748cd8SNickeau { 1214*37748cd8SNickeau return $this->getToken(PageSqlParser::StringLiteral, 0); 1215*37748cd8SNickeau } 1216*37748cd8SNickeau 1217*37748cd8SNickeau public function NumberLiteral() : ?TerminalNode 1218*37748cd8SNickeau { 1219*37748cd8SNickeau return $this->getToken(PageSqlParser::NumberLiteral, 0); 1220*37748cd8SNickeau } 1221*37748cd8SNickeau 1222*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1223*37748cd8SNickeau { 1224*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1225*37748cd8SNickeau $listener->enterPattern($this); 1226*37748cd8SNickeau } 1227*37748cd8SNickeau } 1228*37748cd8SNickeau 1229*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1230*37748cd8SNickeau { 1231*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1232*37748cd8SNickeau $listener->exitPattern($this); 1233*37748cd8SNickeau } 1234*37748cd8SNickeau } 1235*37748cd8SNickeau 1236*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1237*37748cd8SNickeau { 1238*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1239*37748cd8SNickeau return $visitor->visitPattern($this); 1240*37748cd8SNickeau } 1241*37748cd8SNickeau 1242*37748cd8SNickeau return $visitor->visitChildren($this); 1243*37748cd8SNickeau } 1244*37748cd8SNickeau } 1245*37748cd8SNickeau 1246*37748cd8SNickeau class ExpressionContext extends ParserRuleContext 1247*37748cd8SNickeau { 1248*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1249*37748cd8SNickeau { 1250*37748cd8SNickeau parent::__construct($parent, $invokingState); 1251*37748cd8SNickeau } 1252*37748cd8SNickeau 1253*37748cd8SNickeau public function getRuleIndex() : int 1254*37748cd8SNickeau { 1255*37748cd8SNickeau return PageSqlParser::RULE_expression; 1256*37748cd8SNickeau } 1257*37748cd8SNickeau 1258*37748cd8SNickeau public function SqlName() : ?TerminalNode 1259*37748cd8SNickeau { 1260*37748cd8SNickeau return $this->getToken(PageSqlParser::SqlName, 0); 1261*37748cd8SNickeau } 1262*37748cd8SNickeau 1263*37748cd8SNickeau public function StringLiteral() : ?TerminalNode 1264*37748cd8SNickeau { 1265*37748cd8SNickeau return $this->getToken(PageSqlParser::StringLiteral, 0); 1266*37748cd8SNickeau } 1267*37748cd8SNickeau 1268*37748cd8SNickeau public function NumberLiteral() : ?TerminalNode 1269*37748cd8SNickeau { 1270*37748cd8SNickeau return $this->getToken(PageSqlParser::NumberLiteral, 0); 1271*37748cd8SNickeau } 1272*37748cd8SNickeau 1273*37748cd8SNickeau public function Number() : ?TerminalNode 1274*37748cd8SNickeau { 1275*37748cd8SNickeau return $this->getToken(PageSqlParser::Number, 0); 1276*37748cd8SNickeau } 1277*37748cd8SNickeau 1278*37748cd8SNickeau public function functionNames() : ?FunctionNamesContext 1279*37748cd8SNickeau { 1280*37748cd8SNickeau return $this->getTypedRuleContext(FunctionNamesContext::class, 0); 1281*37748cd8SNickeau } 1282*37748cd8SNickeau 1283*37748cd8SNickeau public function LPAREN() : ?TerminalNode 1284*37748cd8SNickeau { 1285*37748cd8SNickeau return $this->getToken(PageSqlParser::LPAREN, 0); 1286*37748cd8SNickeau } 1287*37748cd8SNickeau 1288*37748cd8SNickeau public function RPAREN() : ?TerminalNode 1289*37748cd8SNickeau { 1290*37748cd8SNickeau return $this->getToken(PageSqlParser::RPAREN, 0); 1291*37748cd8SNickeau } 1292*37748cd8SNickeau 1293*37748cd8SNickeau /** 1294*37748cd8SNickeau * @return array<ExpressionContext>|ExpressionContext|null 1295*37748cd8SNickeau */ 1296*37748cd8SNickeau public function expression(?int $index = null) 1297*37748cd8SNickeau { 1298*37748cd8SNickeau if ($index === null) { 1299*37748cd8SNickeau return $this->getTypedRuleContexts(ExpressionContext::class); 1300*37748cd8SNickeau } 1301*37748cd8SNickeau 1302*37748cd8SNickeau return $this->getTypedRuleContext(ExpressionContext::class, $index); 1303*37748cd8SNickeau } 1304*37748cd8SNickeau 1305*37748cd8SNickeau /** 1306*37748cd8SNickeau * @return array<TerminalNode>|TerminalNode|null 1307*37748cd8SNickeau */ 1308*37748cd8SNickeau public function COMMA(?int $index = null) 1309*37748cd8SNickeau { 1310*37748cd8SNickeau if ($index === null) { 1311*37748cd8SNickeau return $this->getTokens(PageSqlParser::COMMA); 1312*37748cd8SNickeau } 1313*37748cd8SNickeau 1314*37748cd8SNickeau return $this->getToken(PageSqlParser::COMMA, $index); 1315*37748cd8SNickeau } 1316*37748cd8SNickeau 1317*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1318*37748cd8SNickeau { 1319*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1320*37748cd8SNickeau $listener->enterExpression($this); 1321*37748cd8SNickeau } 1322*37748cd8SNickeau } 1323*37748cd8SNickeau 1324*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1325*37748cd8SNickeau { 1326*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1327*37748cd8SNickeau $listener->exitExpression($this); 1328*37748cd8SNickeau } 1329*37748cd8SNickeau } 1330*37748cd8SNickeau 1331*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1332*37748cd8SNickeau { 1333*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1334*37748cd8SNickeau return $visitor->visitExpression($this); 1335*37748cd8SNickeau } 1336*37748cd8SNickeau 1337*37748cd8SNickeau return $visitor->visitChildren($this); 1338*37748cd8SNickeau } 1339*37748cd8SNickeau } 1340*37748cd8SNickeau 1341*37748cd8SNickeau class PredicateContext extends ParserRuleContext 1342*37748cd8SNickeau { 1343*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1344*37748cd8SNickeau { 1345*37748cd8SNickeau parent::__construct($parent, $invokingState); 1346*37748cd8SNickeau } 1347*37748cd8SNickeau 1348*37748cd8SNickeau public function getRuleIndex() : int 1349*37748cd8SNickeau { 1350*37748cd8SNickeau return PageSqlParser::RULE_predicate; 1351*37748cd8SNickeau } 1352*37748cd8SNickeau 1353*37748cd8SNickeau public function sqlNames() : ?SqlNamesContext 1354*37748cd8SNickeau { 1355*37748cd8SNickeau return $this->getTypedRuleContext(SqlNamesContext::class, 0); 1356*37748cd8SNickeau } 1357*37748cd8SNickeau 1358*37748cd8SNickeau /** 1359*37748cd8SNickeau * @return array<ExpressionContext>|ExpressionContext|null 1360*37748cd8SNickeau */ 1361*37748cd8SNickeau public function expression(?int $index = null) 1362*37748cd8SNickeau { 1363*37748cd8SNickeau if ($index === null) { 1364*37748cd8SNickeau return $this->getTypedRuleContexts(ExpressionContext::class); 1365*37748cd8SNickeau } 1366*37748cd8SNickeau 1367*37748cd8SNickeau return $this->getTypedRuleContext(ExpressionContext::class, $index); 1368*37748cd8SNickeau } 1369*37748cd8SNickeau 1370*37748cd8SNickeau public function BETWEEN() : ?TerminalNode 1371*37748cd8SNickeau { 1372*37748cd8SNickeau return $this->getToken(PageSqlParser::BETWEEN, 0); 1373*37748cd8SNickeau } 1374*37748cd8SNickeau 1375*37748cd8SNickeau public function AND() : ?TerminalNode 1376*37748cd8SNickeau { 1377*37748cd8SNickeau return $this->getToken(PageSqlParser::AND, 0); 1378*37748cd8SNickeau } 1379*37748cd8SNickeau 1380*37748cd8SNickeau public function IN() : ?TerminalNode 1381*37748cd8SNickeau { 1382*37748cd8SNickeau return $this->getToken(PageSqlParser::IN, 0); 1383*37748cd8SNickeau } 1384*37748cd8SNickeau 1385*37748cd8SNickeau public function LPAREN() : ?TerminalNode 1386*37748cd8SNickeau { 1387*37748cd8SNickeau return $this->getToken(PageSqlParser::LPAREN, 0); 1388*37748cd8SNickeau } 1389*37748cd8SNickeau 1390*37748cd8SNickeau public function RPAREN() : ?TerminalNode 1391*37748cd8SNickeau { 1392*37748cd8SNickeau return $this->getToken(PageSqlParser::RPAREN, 0); 1393*37748cd8SNickeau } 1394*37748cd8SNickeau 1395*37748cd8SNickeau public function LESS_THAN() : ?TerminalNode 1396*37748cd8SNickeau { 1397*37748cd8SNickeau return $this->getToken(PageSqlParser::LESS_THAN, 0); 1398*37748cd8SNickeau } 1399*37748cd8SNickeau 1400*37748cd8SNickeau public function LESS_THAN_OR_EQUAL() : ?TerminalNode 1401*37748cd8SNickeau { 1402*37748cd8SNickeau return $this->getToken(PageSqlParser::LESS_THAN_OR_EQUAL, 0); 1403*37748cd8SNickeau } 1404*37748cd8SNickeau 1405*37748cd8SNickeau public function GREATER_THAN() : ?TerminalNode 1406*37748cd8SNickeau { 1407*37748cd8SNickeau return $this->getToken(PageSqlParser::GREATER_THAN, 0); 1408*37748cd8SNickeau } 1409*37748cd8SNickeau 1410*37748cd8SNickeau public function GREATER_THAN_OR_EQUAL() : ?TerminalNode 1411*37748cd8SNickeau { 1412*37748cd8SNickeau return $this->getToken(PageSqlParser::GREATER_THAN_OR_EQUAL, 0); 1413*37748cd8SNickeau } 1414*37748cd8SNickeau 1415*37748cd8SNickeau public function NOT_EQUAL() : ?TerminalNode 1416*37748cd8SNickeau { 1417*37748cd8SNickeau return $this->getToken(PageSqlParser::NOT_EQUAL, 0); 1418*37748cd8SNickeau } 1419*37748cd8SNickeau 1420*37748cd8SNickeau public function EQUAL() : ?TerminalNode 1421*37748cd8SNickeau { 1422*37748cd8SNickeau return $this->getToken(PageSqlParser::EQUAL, 0); 1423*37748cd8SNickeau } 1424*37748cd8SNickeau 1425*37748cd8SNickeau public function LIKE() : ?TerminalNode 1426*37748cd8SNickeau { 1427*37748cd8SNickeau return $this->getToken(PageSqlParser::LIKE, 0); 1428*37748cd8SNickeau } 1429*37748cd8SNickeau 1430*37748cd8SNickeau public function pattern() : ?PatternContext 1431*37748cd8SNickeau { 1432*37748cd8SNickeau return $this->getTypedRuleContext(PatternContext::class, 0); 1433*37748cd8SNickeau } 1434*37748cd8SNickeau 1435*37748cd8SNickeau public function GLOB() : ?TerminalNode 1436*37748cd8SNickeau { 1437*37748cd8SNickeau return $this->getToken(PageSqlParser::GLOB, 0); 1438*37748cd8SNickeau } 1439*37748cd8SNickeau 1440*37748cd8SNickeau public function NOT() : ?TerminalNode 1441*37748cd8SNickeau { 1442*37748cd8SNickeau return $this->getToken(PageSqlParser::NOT, 0); 1443*37748cd8SNickeau } 1444*37748cd8SNickeau 1445*37748cd8SNickeau public function ESCAPE() : ?TerminalNode 1446*37748cd8SNickeau { 1447*37748cd8SNickeau return $this->getToken(PageSqlParser::ESCAPE, 0); 1448*37748cd8SNickeau } 1449*37748cd8SNickeau 1450*37748cd8SNickeau public function StringLiteral() : ?TerminalNode 1451*37748cd8SNickeau { 1452*37748cd8SNickeau return $this->getToken(PageSqlParser::StringLiteral, 0); 1453*37748cd8SNickeau } 1454*37748cd8SNickeau 1455*37748cd8SNickeau /** 1456*37748cd8SNickeau * @return array<TerminalNode>|TerminalNode|null 1457*37748cd8SNickeau */ 1458*37748cd8SNickeau public function COMMA(?int $index = null) 1459*37748cd8SNickeau { 1460*37748cd8SNickeau if ($index === null) { 1461*37748cd8SNickeau return $this->getTokens(PageSqlParser::COMMA); 1462*37748cd8SNickeau } 1463*37748cd8SNickeau 1464*37748cd8SNickeau return $this->getToken(PageSqlParser::COMMA, $index); 1465*37748cd8SNickeau } 1466*37748cd8SNickeau 1467*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1468*37748cd8SNickeau { 1469*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1470*37748cd8SNickeau $listener->enterPredicate($this); 1471*37748cd8SNickeau } 1472*37748cd8SNickeau } 1473*37748cd8SNickeau 1474*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1475*37748cd8SNickeau { 1476*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1477*37748cd8SNickeau $listener->exitPredicate($this); 1478*37748cd8SNickeau } 1479*37748cd8SNickeau } 1480*37748cd8SNickeau 1481*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1482*37748cd8SNickeau { 1483*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1484*37748cd8SNickeau return $visitor->visitPredicate($this); 1485*37748cd8SNickeau } 1486*37748cd8SNickeau 1487*37748cd8SNickeau return $visitor->visitChildren($this); 1488*37748cd8SNickeau } 1489*37748cd8SNickeau } 1490*37748cd8SNickeau 1491*37748cd8SNickeau class ColumnsContext extends ParserRuleContext 1492*37748cd8SNickeau { 1493*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1494*37748cd8SNickeau { 1495*37748cd8SNickeau parent::__construct($parent, $invokingState); 1496*37748cd8SNickeau } 1497*37748cd8SNickeau 1498*37748cd8SNickeau public function getRuleIndex() : int 1499*37748cd8SNickeau { 1500*37748cd8SNickeau return PageSqlParser::RULE_columns; 1501*37748cd8SNickeau } 1502*37748cd8SNickeau 1503*37748cd8SNickeau /** 1504*37748cd8SNickeau * @return array<ColumnContext>|ColumnContext|null 1505*37748cd8SNickeau */ 1506*37748cd8SNickeau public function column(?int $index = null) 1507*37748cd8SNickeau { 1508*37748cd8SNickeau if ($index === null) { 1509*37748cd8SNickeau return $this->getTypedRuleContexts(ColumnContext::class); 1510*37748cd8SNickeau } 1511*37748cd8SNickeau 1512*37748cd8SNickeau return $this->getTypedRuleContext(ColumnContext::class, $index); 1513*37748cd8SNickeau } 1514*37748cd8SNickeau 1515*37748cd8SNickeau /** 1516*37748cd8SNickeau * @return array<TerminalNode>|TerminalNode|null 1517*37748cd8SNickeau */ 1518*37748cd8SNickeau public function COMMA(?int $index = null) 1519*37748cd8SNickeau { 1520*37748cd8SNickeau if ($index === null) { 1521*37748cd8SNickeau return $this->getTokens(PageSqlParser::COMMA); 1522*37748cd8SNickeau } 1523*37748cd8SNickeau 1524*37748cd8SNickeau return $this->getToken(PageSqlParser::COMMA, $index); 1525*37748cd8SNickeau } 1526*37748cd8SNickeau 1527*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1528*37748cd8SNickeau { 1529*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1530*37748cd8SNickeau $listener->enterColumns($this); 1531*37748cd8SNickeau } 1532*37748cd8SNickeau } 1533*37748cd8SNickeau 1534*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1535*37748cd8SNickeau { 1536*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1537*37748cd8SNickeau $listener->exitColumns($this); 1538*37748cd8SNickeau } 1539*37748cd8SNickeau } 1540*37748cd8SNickeau 1541*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1542*37748cd8SNickeau { 1543*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1544*37748cd8SNickeau return $visitor->visitColumns($this); 1545*37748cd8SNickeau } 1546*37748cd8SNickeau 1547*37748cd8SNickeau return $visitor->visitChildren($this); 1548*37748cd8SNickeau } 1549*37748cd8SNickeau } 1550*37748cd8SNickeau 1551*37748cd8SNickeau class PredicatesContext extends ParserRuleContext 1552*37748cd8SNickeau { 1553*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1554*37748cd8SNickeau { 1555*37748cd8SNickeau parent::__construct($parent, $invokingState); 1556*37748cd8SNickeau } 1557*37748cd8SNickeau 1558*37748cd8SNickeau public function getRuleIndex() : int 1559*37748cd8SNickeau { 1560*37748cd8SNickeau return PageSqlParser::RULE_predicates; 1561*37748cd8SNickeau } 1562*37748cd8SNickeau 1563*37748cd8SNickeau public function WHERE() : ?TerminalNode 1564*37748cd8SNickeau { 1565*37748cd8SNickeau return $this->getToken(PageSqlParser::WHERE, 0); 1566*37748cd8SNickeau } 1567*37748cd8SNickeau 1568*37748cd8SNickeau /** 1569*37748cd8SNickeau * @return array<PredicateContext>|PredicateContext|null 1570*37748cd8SNickeau */ 1571*37748cd8SNickeau public function predicate(?int $index = null) 1572*37748cd8SNickeau { 1573*37748cd8SNickeau if ($index === null) { 1574*37748cd8SNickeau return $this->getTypedRuleContexts(PredicateContext::class); 1575*37748cd8SNickeau } 1576*37748cd8SNickeau 1577*37748cd8SNickeau return $this->getTypedRuleContext(PredicateContext::class, $index); 1578*37748cd8SNickeau } 1579*37748cd8SNickeau 1580*37748cd8SNickeau /** 1581*37748cd8SNickeau * @return array<TerminalNode>|TerminalNode|null 1582*37748cd8SNickeau */ 1583*37748cd8SNickeau public function AND(?int $index = null) 1584*37748cd8SNickeau { 1585*37748cd8SNickeau if ($index === null) { 1586*37748cd8SNickeau return $this->getTokens(PageSqlParser::AND); 1587*37748cd8SNickeau } 1588*37748cd8SNickeau 1589*37748cd8SNickeau return $this->getToken(PageSqlParser::AND, $index); 1590*37748cd8SNickeau } 1591*37748cd8SNickeau 1592*37748cd8SNickeau /** 1593*37748cd8SNickeau * @return array<TerminalNode>|TerminalNode|null 1594*37748cd8SNickeau */ 1595*37748cd8SNickeau public function OR(?int $index = null) 1596*37748cd8SNickeau { 1597*37748cd8SNickeau if ($index === null) { 1598*37748cd8SNickeau return $this->getTokens(PageSqlParser::OR); 1599*37748cd8SNickeau } 1600*37748cd8SNickeau 1601*37748cd8SNickeau return $this->getToken(PageSqlParser::OR, $index); 1602*37748cd8SNickeau } 1603*37748cd8SNickeau 1604*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1605*37748cd8SNickeau { 1606*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1607*37748cd8SNickeau $listener->enterPredicates($this); 1608*37748cd8SNickeau } 1609*37748cd8SNickeau } 1610*37748cd8SNickeau 1611*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1612*37748cd8SNickeau { 1613*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1614*37748cd8SNickeau $listener->exitPredicates($this); 1615*37748cd8SNickeau } 1616*37748cd8SNickeau } 1617*37748cd8SNickeau 1618*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1619*37748cd8SNickeau { 1620*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1621*37748cd8SNickeau return $visitor->visitPredicates($this); 1622*37748cd8SNickeau } 1623*37748cd8SNickeau 1624*37748cd8SNickeau return $visitor->visitChildren($this); 1625*37748cd8SNickeau } 1626*37748cd8SNickeau } 1627*37748cd8SNickeau 1628*37748cd8SNickeau class TablesContext extends ParserRuleContext 1629*37748cd8SNickeau { 1630*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1631*37748cd8SNickeau { 1632*37748cd8SNickeau parent::__construct($parent, $invokingState); 1633*37748cd8SNickeau } 1634*37748cd8SNickeau 1635*37748cd8SNickeau public function getRuleIndex() : int 1636*37748cd8SNickeau { 1637*37748cd8SNickeau return PageSqlParser::RULE_tables; 1638*37748cd8SNickeau } 1639*37748cd8SNickeau 1640*37748cd8SNickeau public function FROM() : ?TerminalNode 1641*37748cd8SNickeau { 1642*37748cd8SNickeau return $this->getToken(PageSqlParser::FROM, 0); 1643*37748cd8SNickeau } 1644*37748cd8SNickeau 1645*37748cd8SNickeau public function tableNames() : ?TableNamesContext 1646*37748cd8SNickeau { 1647*37748cd8SNickeau return $this->getTypedRuleContext(TableNamesContext::class, 0); 1648*37748cd8SNickeau } 1649*37748cd8SNickeau 1650*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1651*37748cd8SNickeau { 1652*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1653*37748cd8SNickeau $listener->enterTables($this); 1654*37748cd8SNickeau } 1655*37748cd8SNickeau } 1656*37748cd8SNickeau 1657*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1658*37748cd8SNickeau { 1659*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1660*37748cd8SNickeau $listener->exitTables($this); 1661*37748cd8SNickeau } 1662*37748cd8SNickeau } 1663*37748cd8SNickeau 1664*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1665*37748cd8SNickeau { 1666*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1667*37748cd8SNickeau return $visitor->visitTables($this); 1668*37748cd8SNickeau } 1669*37748cd8SNickeau 1670*37748cd8SNickeau return $visitor->visitChildren($this); 1671*37748cd8SNickeau } 1672*37748cd8SNickeau } 1673*37748cd8SNickeau 1674*37748cd8SNickeau class LimitContext extends ParserRuleContext 1675*37748cd8SNickeau { 1676*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1677*37748cd8SNickeau { 1678*37748cd8SNickeau parent::__construct($parent, $invokingState); 1679*37748cd8SNickeau } 1680*37748cd8SNickeau 1681*37748cd8SNickeau public function getRuleIndex() : int 1682*37748cd8SNickeau { 1683*37748cd8SNickeau return PageSqlParser::RULE_limit; 1684*37748cd8SNickeau } 1685*37748cd8SNickeau 1686*37748cd8SNickeau public function LIMIT() : ?TerminalNode 1687*37748cd8SNickeau { 1688*37748cd8SNickeau return $this->getToken(PageSqlParser::LIMIT, 0); 1689*37748cd8SNickeau } 1690*37748cd8SNickeau 1691*37748cd8SNickeau public function Number() : ?TerminalNode 1692*37748cd8SNickeau { 1693*37748cd8SNickeau return $this->getToken(PageSqlParser::Number, 0); 1694*37748cd8SNickeau } 1695*37748cd8SNickeau 1696*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1697*37748cd8SNickeau { 1698*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1699*37748cd8SNickeau $listener->enterLimit($this); 1700*37748cd8SNickeau } 1701*37748cd8SNickeau } 1702*37748cd8SNickeau 1703*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1704*37748cd8SNickeau { 1705*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1706*37748cd8SNickeau $listener->exitLimit($this); 1707*37748cd8SNickeau } 1708*37748cd8SNickeau } 1709*37748cd8SNickeau 1710*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1711*37748cd8SNickeau { 1712*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1713*37748cd8SNickeau return $visitor->visitLimit($this); 1714*37748cd8SNickeau } 1715*37748cd8SNickeau 1716*37748cd8SNickeau return $visitor->visitChildren($this); 1717*37748cd8SNickeau } 1718*37748cd8SNickeau } 1719*37748cd8SNickeau 1720*37748cd8SNickeau class OrderBysContext extends ParserRuleContext 1721*37748cd8SNickeau { 1722*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1723*37748cd8SNickeau { 1724*37748cd8SNickeau parent::__construct($parent, $invokingState); 1725*37748cd8SNickeau } 1726*37748cd8SNickeau 1727*37748cd8SNickeau public function getRuleIndex() : int 1728*37748cd8SNickeau { 1729*37748cd8SNickeau return PageSqlParser::RULE_orderBys; 1730*37748cd8SNickeau } 1731*37748cd8SNickeau 1732*37748cd8SNickeau public function ORDER() : ?TerminalNode 1733*37748cd8SNickeau { 1734*37748cd8SNickeau return $this->getToken(PageSqlParser::ORDER, 0); 1735*37748cd8SNickeau } 1736*37748cd8SNickeau 1737*37748cd8SNickeau public function BY() : ?TerminalNode 1738*37748cd8SNickeau { 1739*37748cd8SNickeau return $this->getToken(PageSqlParser::BY, 0); 1740*37748cd8SNickeau } 1741*37748cd8SNickeau 1742*37748cd8SNickeau /** 1743*37748cd8SNickeau * @return array<OrderByDefContext>|OrderByDefContext|null 1744*37748cd8SNickeau */ 1745*37748cd8SNickeau public function orderByDef(?int $index = null) 1746*37748cd8SNickeau { 1747*37748cd8SNickeau if ($index === null) { 1748*37748cd8SNickeau return $this->getTypedRuleContexts(OrderByDefContext::class); 1749*37748cd8SNickeau } 1750*37748cd8SNickeau 1751*37748cd8SNickeau return $this->getTypedRuleContext(OrderByDefContext::class, $index); 1752*37748cd8SNickeau } 1753*37748cd8SNickeau 1754*37748cd8SNickeau /** 1755*37748cd8SNickeau * @return array<TerminalNode>|TerminalNode|null 1756*37748cd8SNickeau */ 1757*37748cd8SNickeau public function COMMA(?int $index = null) 1758*37748cd8SNickeau { 1759*37748cd8SNickeau if ($index === null) { 1760*37748cd8SNickeau return $this->getTokens(PageSqlParser::COMMA); 1761*37748cd8SNickeau } 1762*37748cd8SNickeau 1763*37748cd8SNickeau return $this->getToken(PageSqlParser::COMMA, $index); 1764*37748cd8SNickeau } 1765*37748cd8SNickeau 1766*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1767*37748cd8SNickeau { 1768*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1769*37748cd8SNickeau $listener->enterOrderBys($this); 1770*37748cd8SNickeau } 1771*37748cd8SNickeau } 1772*37748cd8SNickeau 1773*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1774*37748cd8SNickeau { 1775*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1776*37748cd8SNickeau $listener->exitOrderBys($this); 1777*37748cd8SNickeau } 1778*37748cd8SNickeau } 1779*37748cd8SNickeau 1780*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1781*37748cd8SNickeau { 1782*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1783*37748cd8SNickeau return $visitor->visitOrderBys($this); 1784*37748cd8SNickeau } 1785*37748cd8SNickeau 1786*37748cd8SNickeau return $visitor->visitChildren($this); 1787*37748cd8SNickeau } 1788*37748cd8SNickeau } 1789*37748cd8SNickeau 1790*37748cd8SNickeau class OrderByDefContext extends ParserRuleContext 1791*37748cd8SNickeau { 1792*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1793*37748cd8SNickeau { 1794*37748cd8SNickeau parent::__construct($parent, $invokingState); 1795*37748cd8SNickeau } 1796*37748cd8SNickeau 1797*37748cd8SNickeau public function getRuleIndex() : int 1798*37748cd8SNickeau { 1799*37748cd8SNickeau return PageSqlParser::RULE_orderByDef; 1800*37748cd8SNickeau } 1801*37748cd8SNickeau 1802*37748cd8SNickeau public function SqlName() : ?TerminalNode 1803*37748cd8SNickeau { 1804*37748cd8SNickeau return $this->getToken(PageSqlParser::SqlName, 0); 1805*37748cd8SNickeau } 1806*37748cd8SNickeau 1807*37748cd8SNickeau public function ASC() : ?TerminalNode 1808*37748cd8SNickeau { 1809*37748cd8SNickeau return $this->getToken(PageSqlParser::ASC, 0); 1810*37748cd8SNickeau } 1811*37748cd8SNickeau 1812*37748cd8SNickeau public function DESC() : ?TerminalNode 1813*37748cd8SNickeau { 1814*37748cd8SNickeau return $this->getToken(PageSqlParser::DESC, 0); 1815*37748cd8SNickeau } 1816*37748cd8SNickeau 1817*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1818*37748cd8SNickeau { 1819*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1820*37748cd8SNickeau $listener->enterOrderByDef($this); 1821*37748cd8SNickeau } 1822*37748cd8SNickeau } 1823*37748cd8SNickeau 1824*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1825*37748cd8SNickeau { 1826*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1827*37748cd8SNickeau $listener->exitOrderByDef($this); 1828*37748cd8SNickeau } 1829*37748cd8SNickeau } 1830*37748cd8SNickeau 1831*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1832*37748cd8SNickeau { 1833*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1834*37748cd8SNickeau return $visitor->visitOrderByDef($this); 1835*37748cd8SNickeau } 1836*37748cd8SNickeau 1837*37748cd8SNickeau return $visitor->visitChildren($this); 1838*37748cd8SNickeau } 1839*37748cd8SNickeau } 1840*37748cd8SNickeau 1841*37748cd8SNickeau class PageSqlContext extends ParserRuleContext 1842*37748cd8SNickeau { 1843*37748cd8SNickeau public function __construct(?ParserRuleContext $parent, ?int $invokingState = null) 1844*37748cd8SNickeau { 1845*37748cd8SNickeau parent::__construct($parent, $invokingState); 1846*37748cd8SNickeau } 1847*37748cd8SNickeau 1848*37748cd8SNickeau public function getRuleIndex() : int 1849*37748cd8SNickeau { 1850*37748cd8SNickeau return PageSqlParser::RULE_pageSql; 1851*37748cd8SNickeau } 1852*37748cd8SNickeau 1853*37748cd8SNickeau public function SELECT() : ?TerminalNode 1854*37748cd8SNickeau { 1855*37748cd8SNickeau return $this->getToken(PageSqlParser::SELECT, 0); 1856*37748cd8SNickeau } 1857*37748cd8SNickeau 1858*37748cd8SNickeau public function columns() : ?ColumnsContext 1859*37748cd8SNickeau { 1860*37748cd8SNickeau return $this->getTypedRuleContext(ColumnsContext::class, 0); 1861*37748cd8SNickeau } 1862*37748cd8SNickeau 1863*37748cd8SNickeau public function RANDOM() : ?TerminalNode 1864*37748cd8SNickeau { 1865*37748cd8SNickeau return $this->getToken(PageSqlParser::RANDOM, 0); 1866*37748cd8SNickeau } 1867*37748cd8SNickeau 1868*37748cd8SNickeau public function tables() : ?TablesContext 1869*37748cd8SNickeau { 1870*37748cd8SNickeau return $this->getTypedRuleContext(TablesContext::class, 0); 1871*37748cd8SNickeau } 1872*37748cd8SNickeau 1873*37748cd8SNickeau public function predicates() : ?PredicatesContext 1874*37748cd8SNickeau { 1875*37748cd8SNickeau return $this->getTypedRuleContext(PredicatesContext::class, 0); 1876*37748cd8SNickeau } 1877*37748cd8SNickeau 1878*37748cd8SNickeau public function orderBys() : ?OrderBysContext 1879*37748cd8SNickeau { 1880*37748cd8SNickeau return $this->getTypedRuleContext(OrderBysContext::class, 0); 1881*37748cd8SNickeau } 1882*37748cd8SNickeau 1883*37748cd8SNickeau public function limit() : ?LimitContext 1884*37748cd8SNickeau { 1885*37748cd8SNickeau return $this->getTypedRuleContext(LimitContext::class, 0); 1886*37748cd8SNickeau } 1887*37748cd8SNickeau 1888*37748cd8SNickeau public function enterRule(ParseTreeListener $listener) : void 1889*37748cd8SNickeau { 1890*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1891*37748cd8SNickeau $listener->enterPageSql($this); 1892*37748cd8SNickeau } 1893*37748cd8SNickeau } 1894*37748cd8SNickeau 1895*37748cd8SNickeau public function exitRule(ParseTreeListener $listener) : void 1896*37748cd8SNickeau { 1897*37748cd8SNickeau if ($listener instanceof PageSqlListener) { 1898*37748cd8SNickeau $listener->exitPageSql($this); 1899*37748cd8SNickeau } 1900*37748cd8SNickeau } 1901*37748cd8SNickeau 1902*37748cd8SNickeau public function accept(ParseTreeVisitor $visitor) 1903*37748cd8SNickeau { 1904*37748cd8SNickeau if ($visitor instanceof PageSqlVisitor) { 1905*37748cd8SNickeau return $visitor->visitPageSql($this); 1906*37748cd8SNickeau } 1907*37748cd8SNickeau 1908*37748cd8SNickeau return $visitor->visitChildren($this); 1909*37748cd8SNickeau } 1910*37748cd8SNickeau } 1911*37748cd8SNickeau}