‪TYPO3CMS  10.4
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  const ‪T_NONE = 1;
29  const ‪T_STRING = 2;
33  const ‪T_COMMA = 6;
34  const ‪T_DIVIDE = 7;
35  const ‪T_DOT = 8;
36  const ‪T_EQUALS = 9;
37  const ‪T_GREATER_THAN = 10;
38  const ‪T_LOWER_THAN = 11;
39  const ‪T_MINUS = 12;
40  const ‪T_MULTIPLY = 13;
41  const ‪T_NEGATE = 14;
42  const ‪T_PLUS = 15;
45  const ‪T_SEMICOLON = 18;
46 
47  // All tokens that are identifiers or keywords that could be considered as identifiers should be >= 100
48  const ‪T_IDENTIFIER = 100;
49 
50  // All tokens that could be considered as a data type should be >= 200
51  const ‪T_BIT = 201;
52  const ‪T_TINYINT = 202;
53  const ‪T_SMALLINT = 203;
54  const ‪T_MEDIUMINT = 204;
55  const ‪T_INT = 205;
56  const ‪T_INTEGER = 206;
57  const ‪T_BIGINT = 207;
58  const ‪T_REAL = 208;
59  const ‪T_DOUBLE = 209;
60  const ‪T_FLOAT = 210;
61  const ‪T_DECIMAL = 211;
62  const ‪T_NUMERIC = 212;
63  const ‪T_DATE = 213;
64  const ‪T_TIME = 214;
65  const ‪T_TIMESTAMP = 215;
66  const ‪T_DATETIME = 216;
67  const ‪T_YEAR = 217;
68  const ‪T_CHAR = 218;
69  const ‪T_VARCHAR = 219;
70  const ‪T_BINARY = 220;
71  const ‪T_VARBINARY = 221;
72  const ‪T_TINYBLOB = 222;
73  const ‪T_BLOB = 223;
74  const ‪T_MEDIUMBLOB = 224;
75  const ‪T_LONGBLOB = 225;
76  const ‪T_TINYTEXT = 226;
77  const ‪T_TEXT = 227;
78  const ‪T_MEDIUMTEXT = 228;
79  const ‪T_LONGTEXT = 229;
80  const ‪T_ENUM = 230;
81  const ‪T_SET = 231;
82  const ‪T_JSON = 232;
83 
84  // All keyword tokens should be >= 300
85  const ‪T_CREATE = 300;
86  const ‪T_TEMPORARY = 301;
87  const ‪T_TABLE = 302;
88  const ‪T_IF = 303;
89  const ‪T_NOT = 304;
90  const ‪T_EXISTS = 305;
91  const ‪T_CONSTRAINT = 306;
92  const ‪T_INDEX = 307;
93  const ‪T_KEY = 308;
94  const ‪T_FULLTEXT = 309;
95  const ‪T_SPATIAL = 310;
96  const ‪T_PRIMARY = 311;
97  const ‪T_UNIQUE = 312;
98  const ‪T_CHECK = 313;
99  const ‪T_DEFAULT = 314;
100  const ‪T_AUTO_INCREMENT = 315;
101  const ‪T_COMMENT = 316;
102  const ‪T_COLUMN_FORMAT = 317;
103  const ‪T_STORAGE = 318;
104  const ‪T_REFERENCES = 319;
105  const ‪T_NULL = 320;
106  const ‪T_FIXED = 321;
107  const ‪T_DYNAMIC = 322;
108  const ‪T_MEMORY = 323;
109  const ‪T_DISK = 324;
110  const ‪T_UNSIGNED = 325;
111  const ‪T_ZEROFILL = 326;
113  const ‪T_CHARACTER = 328;
114  const ‪T_COLLATE = 329;
115  const ‪T_ASC = 330;
116  const ‪T_DESC = 331;
117  const ‪T_MATCH = 332;
118  const ‪T_FULL = 333;
119  const ‪T_PARTIAL = 334;
120  const ‪T_SIMPLE = 335;
121  const ‪T_ON = 336;
122  const ‪T_UPDATE = 337;
123  const ‪T_DELETE = 338;
124  const ‪T_RESTRICT = 339;
125  const ‪T_CASCADE = 340;
126  const ‪T_NO = 341;
127  const ‪T_ACTION = 342;
128  const ‪T_USING = 343;
129  const ‪T_BTREE = 344;
130  const ‪T_HASH = 345;
131  const ‪T_KEY_BLOCK_SIZE = 346;
132  const ‪T_WITH = 347;
133  const ‪T_PARSER = 348;
134  const ‪T_FOREIGN = 349;
135  const ‪T_ENGINE = 350;
136  const ‪T_AVG_ROW_LENGTH = 351;
137  const ‪T_CHECKSUM = 352;
138  const ‪T_COMPRESSION = 353;
139  const ‪T_CONNECTION = 354;
140  const ‪T_DATA = 355;
141  const ‪T_DIRECTORY = 356;
142  const ‪T_DELAY_KEY_WRITE = 357;
143  const ‪T_ENCRYPTION = 358;
144  const ‪T_INSERT_METHOD = 359;
145  const ‪T_MAX_ROWS = 360;
146  const ‪T_MIN_ROWS = 361;
147  const ‪T_PACK_KEYS = 362;
148  const ‪T_PASSWORD = 363;
149  const ‪T_ROW_FORMAT = 364;
153  const ‪T_TABLESPACE = 368;
154  const ‪T_UNION = 369;
155  const ‪T_PRECISION = 370;
156 
162  public function ‪__construct($input)
163  {
164  $this->setInput($input);
165  }
166 
172  protected function ‪getCatchablePatterns(): array
173  {
174  return [
175  '(?:-?[0-9]+(?:[\.][0-9]+)*)(?:e[+-]?[0-9]+)?', // numbers
176  '`(?:[^`]|``)*`', // quoted identifiers
177  "'(?:[^']|'')*'", // quoted strings
178  '\‍)', // closing parenthesis
179  '[a-z0-9$_][\w$]*', // unquoted identifiers
180  ];
181  }
182 
188  protected function ‪getNonCatchablePatterns(): array
189  {
190  return ['\s+'];
191  }
192 
199  protected function ‪getType(&$value): int
200  {
201  $type = ‪self::T_NONE;
202 
203  // Recognize numeric values
204  if (is_numeric($value)) {
205  if (strpos($value, '.') !== false || stripos($value, 'e') !== false) {
206  return ‪self::T_FLOAT;
207  }
208 
209  return ‪self::T_INTEGER;
210  }
211 
212  // Recognize quoted strings
213  if ($value[0] === "'") {
214  $value = str_replace("''", "'", substr($value, 1, -1));
215 
216  return ‪self::T_STRING;
217  }
218 
219  // Recognize quoted strings
220  if ($value[0] === '`') {
221  $value = str_replace('``', '`', substr($value, 1, -1));
222 
223  return ‪self::T_IDENTIFIER;
224  }
225 
226  // Recognize identifiers, aliased or qualified names
227  if (ctype_alpha($value[0])) {
228  $name = 'TYPO3\\CMS\\Core\\Database\\Schema\\Parser\\Lexer::T_' . strtoupper($value);
229 
230  if (defined($name)) {
231  $type = constant($name);
232 
233  if ($type > 100) {
234  return $type;
235  }
236  }
237 
238  return ‪self::T_STRING;
239  }
240 
241  switch ($value) {
242  // Recognize symbols
243  case '.':
244  return ‪self::T_DOT;
245  case ';':
246  return ‪self::T_SEMICOLON;
247  case ',':
248  return ‪self::T_COMMA;
249  case '(':
251  case ')':
253  case '=':
254  return ‪self::T_EQUALS;
255  case '>':
257  case '<':
258  return ‪self::T_LOWER_THAN;
259  case '+':
260  return ‪self::T_PLUS;
261  case '-':
262  return ‪self::T_MINUS;
263  case '*':
264  return ‪self::T_MULTIPLY;
265  case '/':
266  return ‪self::T_DIVIDE;
267  case '!':
268  return ‪self::T_NEGATE;
269  case '{':
271  case '}':
273  // Default
274  default:
275  // Do nothing
276  }
277 
278  return $type;
279  }
280 }
‪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\getCatchablePatterns
‪array getCatchablePatterns()
Definition: Lexer.php:172
‪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\getNonCatchablePatterns
‪array getNonCatchablePatterns()
Definition: Lexer.php:188
‪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\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\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\getType
‪int getType(&$value)
Definition: Lexer.php:199
‪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\__construct
‪__construct($input)
Definition: Lexer.php:162
‪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