‪TYPO3CMS  ‪main
Lexer.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use Doctrine\Common\Lexer\AbstractLexer;
21 
25 class ‪Lexer extends AbstractLexer
26 {
27  // All tokens that are not valid identifiers must be < 100
28  public const ‪T_NONE = 1;
29  public const ‪T_STRING = 2;
30  public const ‪T_INPUT_PARAMETER = 3;
31  public const ‪T_CLOSE_PARENTHESIS = 4;
32  public const ‪T_OPEN_PARENTHESIS = 5;
33  public const ‪T_COMMA = 6;
34  public const ‪T_DIVIDE = 7;
35  public const ‪T_DOT = 8;
36  public const ‪T_EQUALS = 9;
37  public const ‪T_GREATER_THAN = 10;
38  public const ‪T_LOWER_THAN = 11;
39  public const ‪T_MINUS = 12;
40  public const ‪T_MULTIPLY = 13;
41  public const ‪T_NEGATE = 14;
42  public const ‪T_PLUS = 15;
43  public const ‪T_OPEN_CURLY_BRACE = 16;
44  public const ‪T_CLOSE_CURLY_BRACE = 17;
45  public const ‪T_SEMICOLON = 18;
46 
47  // All tokens that are identifiers or keywords that could be considered as identifiers should be >= 100
48  public const ‪T_IDENTIFIER = 100;
49 
50  // All tokens that could be considered as a data type should be >= 200
51  public const ‪T_BIT = 201;
52  public const ‪T_TINYINT = 202;
53  public const ‪T_SMALLINT = 203;
54  public const ‪T_MEDIUMINT = 204;
55  public const ‪T_INT = 205;
56  public const ‪T_INTEGER = 206;
57  public const ‪T_BIGINT = 207;
58  public const ‪T_REAL = 208;
59  public const ‪T_DOUBLE = 209;
60  public const ‪T_FLOAT = 210;
61  public const ‪T_DECIMAL = 211;
62  public const ‪T_NUMERIC = 212;
63  public const ‪T_DATE = 213;
64  public const ‪T_TIME = 214;
65  public const ‪T_TIMESTAMP = 215;
66  public const ‪T_DATETIME = 216;
67  public const ‪T_YEAR = 217;
68  public const ‪T_CHAR = 218;
69  public const ‪T_VARCHAR = 219;
70  public const ‪T_BINARY = 220;
71  public const ‪T_VARBINARY = 221;
72  public const ‪T_TINYBLOB = 222;
73  public const ‪T_BLOB = 223;
74  public const ‪T_MEDIUMBLOB = 224;
75  public const ‪T_LONGBLOB = 225;
76  public const ‪T_TINYTEXT = 226;
77  public const ‪T_TEXT = 227;
78  public const ‪T_MEDIUMTEXT = 228;
79  public const ‪T_LONGTEXT = 229;
80  public const ‪T_ENUM = 230;
81  public const ‪T_SET = 231;
82  public const ‪T_JSON = 232;
83 
84  // All keyword tokens should be >= 300
85  public const ‪T_CREATE = 300;
86  public const ‪T_TEMPORARY = 301;
87  public const ‪T_TABLE = 302;
88  public const ‪T_IF = 303;
89  public const ‪T_NOT = 304;
90  public const ‪T_EXISTS = 305;
91  public const ‪T_CONSTRAINT = 306;
92  public const ‪T_INDEX = 307;
93  public const ‪T_KEY = 308;
94  public const ‪T_FULLTEXT = 309;
95  public const ‪T_SPATIAL = 310;
96  public const ‪T_PRIMARY = 311;
97  public const ‪T_UNIQUE = 312;
98  public const ‪T_CHECK = 313;
99  public const ‪T_DEFAULT = 314;
100  public const ‪T_AUTO_INCREMENT = 315;
101  public const ‪T_COMMENT = 316;
102  public const ‪T_COLUMN_FORMAT = 317;
103  public const ‪T_STORAGE = 318;
104  public const ‪T_REFERENCES = 319;
105  public const ‪T_NULL = 320;
106  public const ‪T_FIXED = 321;
107  public const ‪T_DYNAMIC = 322;
108  public const ‪T_MEMORY = 323;
109  public const ‪T_DISK = 324;
110  public const ‪T_UNSIGNED = 325;
111  public const ‪T_ZEROFILL = 326;
112  public const ‪T_CURRENT_TIMESTAMP = 327;
113  public const ‪T_CHARACTER = 328;
114  public const ‪T_COLLATE = 329;
115  public const ‪T_ASC = 330;
116  public const ‪T_DESC = 331;
117  public const ‪T_MATCH = 332;
118  public const ‪T_FULL = 333;
119  public const ‪T_PARTIAL = 334;
120  public const ‪T_SIMPLE = 335;
121  public const ‪T_ON = 336;
122  public const ‪T_UPDATE = 337;
123  public const ‪T_DELETE = 338;
124  public const ‪T_RESTRICT = 339;
125  public const ‪T_CASCADE = 340;
126  public const ‪T_NO = 341;
127  public const ‪T_ACTION = 342;
128  public const ‪T_USING = 343;
129  public const ‪T_BTREE = 344;
130  public const ‪T_HASH = 345;
131  public const ‪T_KEY_BLOCK_SIZE = 346;
132  public const ‪T_WITH = 347;
133  public const ‪T_PARSER = 348;
134  public const ‪T_FOREIGN = 349;
135  public const ‪T_ENGINE = 350;
136  public const ‪T_AVG_ROW_LENGTH = 351;
137  public const ‪T_CHECKSUM = 352;
138  public const ‪T_COMPRESSION = 353;
139  public const ‪T_CONNECTION = 354;
140  public const ‪T_DATA = 355;
141  public const ‪T_DIRECTORY = 356;
142  public const ‪T_DELAY_KEY_WRITE = 357;
143  public const ‪T_ENCRYPTION = 358;
144  public const ‪T_INSERT_METHOD = 359;
145  public const ‪T_MAX_ROWS = 360;
146  public const ‪T_MIN_ROWS = 361;
147  public const ‪T_PACK_KEYS = 362;
148  public const ‪T_PASSWORD = 363;
149  public const ‪T_ROW_FORMAT = 364;
150  public const ‪T_STATS_AUTO_RECALC = 365;
151  public const ‪T_STATS_PERSISTENT = 366;
152  public const ‪T_STATS_SAMPLE_PAGES = 367;
153  public const ‪T_TABLESPACE = 368;
154  public const ‪T_UNION = 369;
155  public const ‪T_PRECISION = 370;
156 
160  protected function ‪getCatchablePatterns(): array
161  {
162  return [
163  '(?:-?[0-9]+(?:[\.][0-9]+)*)(?:e[+-]?[0-9]+)?', // numbers
164  '`(?:[^`]|``)*`', // quoted identifiers
165  "'(?:[^']|'')*'", // quoted strings
166  '\‍)', // closing parenthesis
167  '[a-z0-9$_][\w$]*', // unquoted identifiers
168  ];
169  }
170 
174  protected function ‪getNonCatchablePatterns(): array
175  {
176  return ['\s+'];
177  }
178 
184  protected function ‪getType(&$value): int
185  {
186  $type = ‪self::T_NONE;
187 
188  // Recognize numeric values
189  if (is_numeric($value)) {
190  if (str_contains($value, '.') || stripos($value, 'e') !== false) {
191  return ‪self::T_FLOAT;
192  }
193 
194  return ‪self::T_INTEGER;
195  }
196 
197  // Recognize quoted strings
198  if ($value[0] === "'") {
199  $value = str_replace("''", "'", substr($value, 1, -1));
200 
201  return ‪self::T_STRING;
202  }
203 
204  // Recognize quoted strings
205  if ($value[0] === '`') {
206  $value = str_replace('``', '`', substr($value, 1, -1));
207 
208  return ‪self::T_IDENTIFIER;
209  }
210 
211  // Recognize identifiers, aliased or qualified names
212  if (ctype_alpha($value[0])) {
213  $name = 'TYPO3\\CMS\\Core\\Database\\Schema\\Parser\\Lexer::T_' . strtoupper($value);
214 
215  if (defined($name)) {
216  $type = constant($name);
217 
218  if ($type > 100) {
219  return $type;
220  }
221  }
222 
223  return ‪self::T_STRING;
224  }
225 
226  switch ($value) {
227  // Recognize symbols
228  case '.':
229  return ‪self::T_DOT;
230  case ';':
231  return ‪self::T_SEMICOLON;
232  case ',':
233  return ‪self::T_COMMA;
234  case '(':
236  case ')':
238  case '=':
239  return ‪self::T_EQUALS;
240  case '>':
242  case '<':
243  return ‪self::T_LOWER_THAN;
244  case '+':
245  return ‪self::T_PLUS;
246  case '-':
247  return ‪self::T_MINUS;
248  case '*':
249  return ‪self::T_MULTIPLY;
250  case '/':
251  return ‪self::T_DIVIDE;
252  case '!':
253  return ‪self::T_NEGATE;
254  case '{':
256  case '}':
258  // Default
259  default:
260  // Do nothing
261  }
262 
263  return $type;
264  }
265 }
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_NEGATE
‪const T_NEGATE
Definition: Lexer.php:41
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_NO
‪const T_NO
Definition: Lexer.php:126
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_LOWER_THAN
‪const T_LOWER_THAN
Definition: Lexer.php:38
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_CREATE
‪const T_CREATE
Definition: Lexer.php:85
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_KEY
‪const T_KEY
Definition: Lexer.php:93
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_SPATIAL
‪const T_SPATIAL
Definition: Lexer.php:95
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_PASSWORD
‪const T_PASSWORD
Definition: Lexer.php:148
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_FOREIGN
‪const T_FOREIGN
Definition: Lexer.php:134
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_BTREE
‪const T_BTREE
Definition: Lexer.php:129
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_USING
‪const T_USING
Definition: Lexer.php:128
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_MINUS
‪const T_MINUS
Definition: Lexer.php:39
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_ENUM
‪const T_ENUM
Definition: Lexer.php:80
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_HASH
‪const T_HASH
Definition: Lexer.php:130
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DYNAMIC
‪const T_DYNAMIC
Definition: Lexer.php:107
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_SIMPLE
‪const T_SIMPLE
Definition: Lexer.php:120
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_NULL
‪const T_NULL
Definition: Lexer.php:105
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_CONNECTION
‪const T_CONNECTION
Definition: Lexer.php:139
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_INT
‪const T_INT
Definition: Lexer.php:55
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_TEMPORARY
‪const T_TEMPORARY
Definition: Lexer.php:86
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_STRING
‪const T_STRING
Definition: Lexer.php:29
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_ON
‪const T_ON
Definition: Lexer.php:121
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_INTEGER
‪const T_INTEGER
Definition: Lexer.php:56
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_TIME
‪const T_TIME
Definition: Lexer.php:64
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_TIMESTAMP
‪const T_TIMESTAMP
Definition: Lexer.php:65
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_PLUS
‪const T_PLUS
Definition: Lexer.php:42
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_TABLE
‪const T_TABLE
Definition: Lexer.php:87
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_REAL
‪const T_REAL
Definition: Lexer.php:58
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DOT
‪const T_DOT
Definition: Lexer.php:35
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_BINARY
‪const T_BINARY
Definition: Lexer.php:70
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_MEMORY
‪const T_MEMORY
Definition: Lexer.php:108
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_MULTIPLY
‪const T_MULTIPLY
Definition: Lexer.php:40
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_MIN_ROWS
‪const T_MIN_ROWS
Definition: Lexer.php:146
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_CHARACTER
‪const T_CHARACTER
Definition: Lexer.php:113
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_VARCHAR
‪const T_VARCHAR
Definition: Lexer.php:69
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_REFERENCES
‪const T_REFERENCES
Definition: Lexer.php:104
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_PRECISION
‪const T_PRECISION
Definition: Lexer.php:155
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_TINYTEXT
‪const T_TINYTEXT
Definition: Lexer.php:76
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_STATS_SAMPLE_PAGES
‪const T_STATS_SAMPLE_PAGES
Definition: Lexer.php:152
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_FLOAT
‪const T_FLOAT
Definition: Lexer.php:60
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_SMALLINT
‪const T_SMALLINT
Definition: Lexer.php:53
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_ENGINE
‪const T_ENGINE
Definition: Lexer.php:135
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_SEMICOLON
‪const T_SEMICOLON
Definition: Lexer.php:45
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_UNIQUE
‪const T_UNIQUE
Definition: Lexer.php:97
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_UNION
‪const T_UNION
Definition: Lexer.php:154
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_CHAR
‪const T_CHAR
Definition: Lexer.php:68
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_FIXED
‪const T_FIXED
Definition: Lexer.php:106
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_PACK_KEYS
‪const T_PACK_KEYS
Definition: Lexer.php:147
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_COMMENT
‪const T_COMMENT
Definition: Lexer.php:101
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_JSON
‪const T_JSON
Definition: Lexer.php:82
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_COMMA
‪const T_COMMA
Definition: Lexer.php:33
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_TINYINT
‪const T_TINYINT
Definition: Lexer.php:52
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_CHECKSUM
‪const T_CHECKSUM
Definition: Lexer.php:137
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_BIT
‪const T_BIT
Definition: Lexer.php:51
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_FULL
‪const T_FULL
Definition: Lexer.php:118
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_ZEROFILL
‪const T_ZEROFILL
Definition: Lexer.php:111
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_RESTRICT
‪const T_RESTRICT
Definition: Lexer.php:124
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_TINYBLOB
‪const T_TINYBLOB
Definition: Lexer.php:72
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_KEY_BLOCK_SIZE
‪const T_KEY_BLOCK_SIZE
Definition: Lexer.php:131
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DOUBLE
‪const T_DOUBLE
Definition: Lexer.php:59
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_TEXT
‪const T_TEXT
Definition: Lexer.php:77
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_OPEN_PARENTHESIS
‪const T_OPEN_PARENTHESIS
Definition: Lexer.php:32
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_CLOSE_PARENTHESIS
‪const T_CLOSE_PARENTHESIS
Definition: Lexer.php:31
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DATA
‪const T_DATA
Definition: Lexer.php:140
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_IF
‪const T_IF
Definition: Lexer.php:88
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_CLOSE_CURLY_BRACE
‪const T_CLOSE_CURLY_BRACE
Definition: Lexer.php:44
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_WITH
‪const T_WITH
Definition: Lexer.php:132
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DIRECTORY
‪const T_DIRECTORY
Definition: Lexer.php:141
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DECIMAL
‪const T_DECIMAL
Definition: Lexer.php:61
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_COLUMN_FORMAT
‪const T_COLUMN_FORMAT
Definition: Lexer.php:102
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_INDEX
‪const T_INDEX
Definition: Lexer.php:92
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_COMPRESSION
‪const T_COMPRESSION
Definition: Lexer.php:138
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DESC
‪const T_DESC
Definition: Lexer.php:116
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DATE
‪const T_DATE
Definition: Lexer.php:63
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_NONE
‪const T_NONE
Definition: Lexer.php:28
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DELETE
‪const T_DELETE
Definition: Lexer.php:123
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\getType
‪getType(&$value)
Definition: Lexer.php:184
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_PRIMARY
‪const T_PRIMARY
Definition: Lexer.php:96
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_MATCH
‪const T_MATCH
Definition: Lexer.php:117
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_BLOB
‪const T_BLOB
Definition: Lexer.php:73
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\getNonCatchablePatterns
‪getNonCatchablePatterns()
Definition: Lexer.php:174
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_LONGTEXT
‪const T_LONGTEXT
Definition: Lexer.php:79
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_MEDIUMBLOB
‪const T_MEDIUMBLOB
Definition: Lexer.php:74
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_PARTIAL
‪const T_PARTIAL
Definition: Lexer.php:119
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_INPUT_PARAMETER
‪const T_INPUT_PARAMETER
Definition: Lexer.php:30
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_ASC
‪const T_ASC
Definition: Lexer.php:115
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_NOT
‪const T_NOT
Definition: Lexer.php:89
‪TYPO3\CMS\Core\Database\Schema\Parser
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DATETIME
‪const T_DATETIME
Definition: Lexer.php:66
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_SET
‪const T_SET
Definition: Lexer.php:81
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_IDENTIFIER
‪const T_IDENTIFIER
Definition: Lexer.php:48
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_ROW_FORMAT
‪const T_ROW_FORMAT
Definition: Lexer.php:149
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_COLLATE
‪const T_COLLATE
Definition: Lexer.php:114
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_CHECK
‪const T_CHECK
Definition: Lexer.php:98
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DIVIDE
‪const T_DIVIDE
Definition: Lexer.php:34
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_GREATER_THAN
‪const T_GREATER_THAN
Definition: Lexer.php:37
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DEFAULT
‪const T_DEFAULT
Definition: Lexer.php:99
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_YEAR
‪const T_YEAR
Definition: Lexer.php:67
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DISK
‪const T_DISK
Definition: Lexer.php:109
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_MEDIUMTEXT
‪const T_MEDIUMTEXT
Definition: Lexer.php:78
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_STATS_PERSISTENT
‪const T_STATS_PERSISTENT
Definition: Lexer.php:151
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_MEDIUMINT
‪const T_MEDIUMINT
Definition: Lexer.php:54
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_UPDATE
‪const T_UPDATE
Definition: Lexer.php:122
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_STATS_AUTO_RECALC
‪const T_STATS_AUTO_RECALC
Definition: Lexer.php:150
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_STORAGE
‪const T_STORAGE
Definition: Lexer.php:103
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_ENCRYPTION
‪const T_ENCRYPTION
Definition: Lexer.php:143
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_VARBINARY
‪const T_VARBINARY
Definition: Lexer.php:71
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\getCatchablePatterns
‪getCatchablePatterns()
Definition: Lexer.php:160
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_CASCADE
‪const T_CASCADE
Definition: Lexer.php:125
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_OPEN_CURLY_BRACE
‪const T_OPEN_CURLY_BRACE
Definition: Lexer.php:43
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_DELAY_KEY_WRITE
‪const T_DELAY_KEY_WRITE
Definition: Lexer.php:142
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_TABLESPACE
‪const T_TABLESPACE
Definition: Lexer.php:153
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_NUMERIC
‪const T_NUMERIC
Definition: Lexer.php:62
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_AVG_ROW_LENGTH
‪const T_AVG_ROW_LENGTH
Definition: Lexer.php:136
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_ACTION
‪const T_ACTION
Definition: Lexer.php:127
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_UNSIGNED
‪const T_UNSIGNED
Definition: Lexer.php:110
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_EQUALS
‪const T_EQUALS
Definition: Lexer.php:36
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_INSERT_METHOD
‪const T_INSERT_METHOD
Definition: Lexer.php:144
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_FULLTEXT
‪const T_FULLTEXT
Definition: Lexer.php:94
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_AUTO_INCREMENT
‪const T_AUTO_INCREMENT
Definition: Lexer.php:100
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_BIGINT
‪const T_BIGINT
Definition: Lexer.php:57
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_MAX_ROWS
‪const T_MAX_ROWS
Definition: Lexer.php:145
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_EXISTS
‪const T_EXISTS
Definition: Lexer.php:90
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_CURRENT_TIMESTAMP
‪const T_CURRENT_TIMESTAMP
Definition: Lexer.php:112
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer
Definition: Lexer.php:26
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_PARSER
‪const T_PARSER
Definition: Lexer.php:133
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_LONGBLOB
‪const T_LONGBLOB
Definition: Lexer.php:75
‪TYPO3\CMS\Core\Database\Schema\Parser\Lexer\T_CONSTRAINT
‪const T_CONSTRAINT
Definition: Lexer.php:91