@@ -56,165 +56,170 @@ static thread_local std::stringstream strbuf;
5656 ***************************/
5757%%
5858
59- -- BEGIN(COMMENT);
60- <COMMENT >[^ \n ]* /* skipping comment content until a end of line is read */ ;
61- <COMMENT >\n BEGIN(INITIAL);
59+ -- BEGIN(COMMENT);
60+ <COMMENT >[^ \n ]* /* skipping comment content until a end of line is read */ ;
61+ <COMMENT >\n BEGIN(INITIAL);
6262
63- [ \t\n ]+ /* skip whitespace */ ;
63+ [ \t\n ]+ /* skip whitespace */ ;
6464
65- DEALLOCATE TOKEN(DEALLOCATE)
66- PARAMETERS TOKEN(PARAMETERS)
67- INTERSECT TOKEN(INTERSECT)
68- TEMPORARY TOKEN(TEMPORARY)
69- TIMESTAMP TOKEN(TIMESTAMP)
70- DESCRIBE TOKEN(DESCRIBE)
71- DISTINCT TOKEN(DISTINCT)
72- NVARCHAR TOKEN(NVARCHAR)
73- RESTRICT TOKEN(RESTRICT)
74- TRUNCATE TOKEN(TRUNCATE)
75- ANALYZE TOKEN(ANALYZE)
76- BETWEEN TOKEN(BETWEEN)
77- CASCADE TOKEN(CASCADE)
78- COLUMNS TOKEN(COLUMNS)
79- CONTROL TOKEN(CONTROL)
80- DEFAULT TOKEN(DEFAULT)
81- EXECUTE TOKEN(EXECUTE)
82- EXPLAIN TOKEN(EXPLAIN)
83- INTEGER TOKEN(INTEGER)
84- NATURAL TOKEN(NATURAL)
85- PREPARE TOKEN(PREPARE)
86- PRIMARY TOKEN(PRIMARY)
87- SCHEMAS TOKEN(SCHEMAS)
88- SPATIAL TOKEN(SPATIAL)
89- VARCHAR TOKEN(VARCHAR)
90- VIRTUAL TOKEN(VIRTUAL)
91- BEFORE TOKEN(BEFORE)
92- COLUMN TOKEN(COLUMN)
93- CREATE TOKEN(CREATE)
94- DELETE TOKEN(DELETE)
95- DIRECT TOKEN(DIRECT)
96- DOUBLE TOKEN(DOUBLE)
97- ESCAPE TOKEN(ESCAPE)
98- EXCEPT TOKEN(EXCEPT)
99- EXISTS TOKEN(EXISTS)
100- EXTRACT TOKEN(EXTRACT)
101- CAST TOKEN(CAST)
102- FORMAT TOKEN(FORMAT)
103- GLOBAL TOKEN(GLOBAL)
104- HAVING TOKEN(HAVING)
105- IMPORT TOKEN(IMPORT)
106- INSERT TOKEN(INSERT)
107- ISNULL TOKEN(ISNULL)
108- OFFSET TOKEN(OFFSET)
109- RENAME TOKEN(RENAME)
110- SCHEMA TOKEN(SCHEMA)
111- SELECT TOKEN(SELECT)
112- SORTED TOKEN(SORTED)
113- TABLES TOKEN(TABLES)
114- UNIQUE TOKEN(UNIQUE)
115- UNLOAD TOKEN(UNLOAD)
116- UPDATE TOKEN(UPDATE)
117- VALUES TOKEN(VALUES)
118- AFTER TOKEN(AFTER)
119- ALTER TOKEN(ALTER)
120- ARRAY TOKEN(ARRAY)
121- CROSS TOKEN(CROSS)
122- DELTA TOKEN(DELTA)
123- FLOAT TOKEN(FLOAT)
124- GROUP TOKEN(GROUP)
125- INDEX TOKEN(INDEX)
126- INNER TOKEN(INNER)
127- LIMIT TOKEN(LIMIT)
128- LOCAL TOKEN(LOCAL)
129- MERGE TOKEN(MERGE)
130- MINUS TOKEN(MINUS)
131- ORDER TOKEN(ORDER)
132- OUTER TOKEN(OUTER)
133- RIGHT TOKEN(RIGHT)
134- TABLE TOKEN(TABLE)
135- UNION TOKEN(UNION)
136- USING TOKEN(USING)
137- WHERE TOKEN(WHERE)
138- CALL TOKEN(CALL)
139- CASE TOKEN(CASE)
140- CHAR TOKEN(CHAR)
141- COPY TOKEN(COPY)
142- DATE TOKEN(DATE)
143- DATETIME TOKEN(DATETIME)
144- DESC TOKEN(DESC)
145- DROP TOKEN(DROP)
146- ELSE TOKEN(ELSE)
147- FILE TOKEN(FILE)
148- FROM TOKEN(FROM)
149- FULL TOKEN(FULL)
150- HASH TOKEN(HASH)
151- HINT TOKEN(HINT)
152- INTO TOKEN(INTO)
153- JOIN TOKEN(JOIN)
154- LEFT TOKEN(LEFT)
155- LIKE TOKEN(LIKE)
156- ILIKE TOKEN(ILIKE)
157- LOAD TOKEN(LOAD)
158- LONG TOKEN(LONG)
159- NULL TOKEN(NULL )
160- PLAN TOKEN(PLAN)
161- SHOW TOKEN(SHOW)
162- TEXT TOKEN(TEXT)
163- THEN TOKEN(THEN)
164- TIME TOKEN(TIME)
165- VIEW TOKEN(VIEW)
166- WHEN TOKEN(WHEN)
167- WITH TOKEN(WITH)
168- ADD TOKEN(ADD)
169- ALL TOKEN(ALL)
170- AND TOKEN(AND)
171- ASC TOKEN(ASC)
172- END TOKEN(END)
173- FOR TOKEN(FOR)
174- INT TOKEN(INT)
175- KEY TOKEN(KEY)
176- NOT TOKEN(NOT)
177- OFF TOKEN(OFF)
178- SET TOKEN(SET)
179- TOP TOKEN(TOP)
180- AS TOKEN(AS)
181- BY TOKEN(BY)
182- IF TOKEN(IF)
183- IN TOKEN(IN)
184- IS TOKEN(IS)
185- OF TOKEN(OF)
186- ON TOKEN(ON)
187- OR TOKEN(OR)
188- TO TOKEN(TO)
189- SECOND TOKEN(SECOND)
190- MINUTE TOKEN(MINUTE)
191- HOUR TOKEN(HOUR)
192- DAY TOKEN(DAY)
193- MONTH TOKEN(MONTH)
194- YEAR TOKEN(YEAR)
195- SECONDS TOKEN(SECONDS)
196- MINUTES TOKEN(MINUTES)
197- HOURS TOKEN(HOURS)
198- DAYS TOKEN(DAYS)
199- MONTHS TOKEN(MONTHS)
200- YEARS TOKEN(YEARS)
201- TRUE TOKEN(TRUE )
202- FALSE TOKEN(FALSE )
65+ DEALLOCATE TOKEN(DEALLOCATE)
66+ PARAMETERS TOKEN(PARAMETERS)
67+ INTERSECT TOKEN(INTERSECT)
68+ TEMPORARY TOKEN(TEMPORARY)
69+ TIMESTAMP TOKEN(TIMESTAMP)
70+ DESCRIBE TOKEN(DESCRIBE)
71+ DISTINCT TOKEN(DISTINCT)
72+ NVARCHAR TOKEN(NVARCHAR)
73+ RESTRICT TOKEN(RESTRICT)
74+ TRUNCATE TOKEN(TRUNCATE)
75+ ANALYZE TOKEN(ANALYZE)
76+ BETWEEN TOKEN(BETWEEN)
77+ CASCADE TOKEN(CASCADE)
78+ COLUMNS TOKEN(COLUMNS)
79+ CONTROL TOKEN(CONTROL)
80+ DEFAULT TOKEN(DEFAULT)
81+ EXECUTE TOKEN(EXECUTE)
82+ EXPLAIN TOKEN(EXPLAIN)
83+ INTEGER TOKEN(INTEGER)
84+ NATURAL TOKEN(NATURAL)
85+ PREPARE TOKEN(PREPARE)
86+ PRIMARY TOKEN(PRIMARY)
87+ SCHEMAS TOKEN(SCHEMAS)
88+ SPATIAL TOKEN(SPATIAL)
89+ VARCHAR TOKEN(VARCHAR)
90+ CHARACTER TOKEN(CHARACTER)
91+ VARYING TOKEN(VARYING)
92+ TIME TOKEN(TIME)
93+ DECIMAL TOKEN(DECIMAL)
94+ REAL TOKEN(REAL)
95+ VIRTUAL TOKEN(VIRTUAL)
96+ BEFORE TOKEN(BEFORE)
97+ COLUMN TOKEN(COLUMN)
98+ CREATE TOKEN(CREATE)
99+ DELETE TOKEN(DELETE)
100+ DIRECT TOKEN(DIRECT)
101+ DOUBLE TOKEN(DOUBLE)
102+ ESCAPE TOKEN(ESCAPE)
103+ EXCEPT TOKEN(EXCEPT)
104+ EXISTS TOKEN(EXISTS)
105+ EXTRACT TOKEN(EXTRACT)
106+ CAST TOKEN(CAST)
107+ FORMAT TOKEN(FORMAT)
108+ GLOBAL TOKEN(GLOBAL)
109+ HAVING TOKEN(HAVING)
110+ IMPORT TOKEN(IMPORT)
111+ INSERT TOKEN(INSERT)
112+ ISNULL TOKEN(ISNULL)
113+ OFFSET TOKEN(OFFSET)
114+ RENAME TOKEN(RENAME)
115+ SCHEMA TOKEN(SCHEMA)
116+ SELECT TOKEN(SELECT)
117+ SORTED TOKEN(SORTED)
118+ TABLES TOKEN(TABLES)
119+ UNIQUE TOKEN(UNIQUE)
120+ UNLOAD TOKEN(UNLOAD)
121+ UPDATE TOKEN(UPDATE)
122+ VALUES TOKEN(VALUES)
123+ AFTER TOKEN(AFTER)
124+ ALTER TOKEN(ALTER)
125+ ARRAY TOKEN(ARRAY)
126+ CROSS TOKEN(CROSS)
127+ DELTA TOKEN(DELTA)
128+ FLOAT TOKEN(FLOAT)
129+ GROUP TOKEN(GROUP)
130+ INDEX TOKEN(INDEX)
131+ INNER TOKEN(INNER)
132+ LIMIT TOKEN(LIMIT)
133+ LOCAL TOKEN(LOCAL)
134+ MERGE TOKEN(MERGE)
135+ MINUS TOKEN(MINUS)
136+ ORDER TOKEN(ORDER)
137+ OUTER TOKEN(OUTER)
138+ RIGHT TOKEN(RIGHT)
139+ TABLE TOKEN(TABLE)
140+ UNION TOKEN(UNION)
141+ USING TOKEN(USING)
142+ WHERE TOKEN(WHERE)
143+ CALL TOKEN(CALL)
144+ CASE TOKEN(CASE)
145+ CHAR TOKEN(CHAR)
146+ COPY TOKEN(COPY)
147+ DATE TOKEN(DATE)
148+ DATETIME TOKEN(DATETIME)
149+ DESC TOKEN(DESC)
150+ DROP TOKEN(DROP)
151+ ELSE TOKEN(ELSE)
152+ FILE TOKEN(FILE)
153+ FROM TOKEN(FROM)
154+ FULL TOKEN(FULL)
155+ HASH TOKEN(HASH)
156+ HINT TOKEN(HINT)
157+ INTO TOKEN(INTO)
158+ JOIN TOKEN(JOIN)
159+ LEFT TOKEN(LEFT)
160+ LIKE TOKEN(LIKE)
161+ ILIKE TOKEN(ILIKE)
162+ LOAD TOKEN(LOAD)
163+ LONG TOKEN(LONG)
164+ NULL TOKEN(NULL )
165+ PLAN TOKEN(PLAN)
166+ SHOW TOKEN(SHOW)
167+ TEXT TOKEN(TEXT)
168+ THEN TOKEN(THEN)
169+ TIME TOKEN(TIME)
170+ VIEW TOKEN(VIEW)
171+ WHEN TOKEN(WHEN)
172+ WITH TOKEN(WITH)
173+ ADD TOKEN(ADD)
174+ ALL TOKEN(ALL)
175+ AND TOKEN(AND)
176+ ASC TOKEN(ASC)
177+ END TOKEN(END)
178+ FOR TOKEN(FOR)
179+ INT TOKEN(INT)
180+ KEY TOKEN(KEY)
181+ NOT TOKEN(NOT)
182+ OFF TOKEN(OFF)
183+ SET TOKEN(SET)
184+ TOP TOKEN(TOP)
185+ AS TOKEN(AS)
186+ BY TOKEN(BY)
187+ IF TOKEN(IF)
188+ IN TOKEN(IN)
189+ IS TOKEN(IS)
190+ OF TOKEN(OF)
191+ ON TOKEN(ON)
192+ OR TOKEN(OR)
193+ TO TOKEN(TO)
194+ SECOND TOKEN(SECOND)
195+ MINUTE TOKEN(MINUTE)
196+ HOUR TOKEN(HOUR)
197+ DAY TOKEN(DAY)
198+ MONTH TOKEN(MONTH)
199+ YEAR TOKEN(YEAR)
200+ SECONDS TOKEN(SECONDS)
201+ MINUTES TOKEN(MINUTES)
202+ HOURS TOKEN(HOURS)
203+ DAYS TOKEN(DAYS)
204+ MONTHS TOKEN(MONTHS)
205+ YEARS TOKEN(YEARS)
206+ TRUE TOKEN(TRUE )
207+ FALSE TOKEN(FALSE )
203208TRANSACTION TOKEN(TRANSACTION)
204- BEGIN TOKEN(BEGIN)
205- ROLLBACK TOKEN(ROLLBACK)
206- COMMIT TOKEN(COMMIT)
207- INTERVAL TOKEN(INTERVAL)
209+ BEGIN TOKEN(BEGIN)
210+ ROLLBACK TOKEN(ROLLBACK)
211+ COMMIT TOKEN(COMMIT)
212+ INTERVAL TOKEN(INTERVAL)
208213
209- /* Allow =/== see https://sqlite.org/lang_expr.html#collateop */
210- " ==" TOKEN(EQUALS)
211- " !=" TOKEN(NOTEQUALS)
212- " <>" TOKEN(NOTEQUALS)
213- " <=" TOKEN(LESSEQ)
214- " >=" TOKEN(GREATEREQ)
215- " ||" TOKEN(CONCAT)
214+ /* Allow =/== see https://sqlite.org/lang_expr.html#collateop */
215+ " ==" TOKEN(EQUALS)
216+ " !=" TOKEN(NOTEQUALS)
217+ " <>" TOKEN(NOTEQUALS)
218+ " <=" TOKEN(LESSEQ)
219+ " >=" TOKEN(GREATEREQ)
220+ " ||" TOKEN(CONCAT)
216221
217- [-+*/(){},.;<>=^%:?[ \] | ] { return yytext[0 ]; }
222+ [-+*/(){},.;<>=^%:?[ \] | ] { return yytext[0 ]; }
218223
219224[0 -9 ]+ " ." [0 -9 ]* |
220225" ." [0 -9 ]* {
0 commit comments