Skip to content

Commit b581854

Browse files
committed
More nil removal
1 parent 92d9682 commit b581854

File tree

1 file changed

+37
-19
lines changed

1 file changed

+37
-19
lines changed

sql.pegjs

Lines changed: 37 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
// originally generated pegjs, from tmp/rules.rb and bubble-to-pegjs_ex.rb
2-
1+
// originally generated by pegjs, from tmp/rules.rb and bubble-to-pegjs_ex.rb
2+
// and manually edited for pegjs suitability.
3+
//
34
start = sql_stmt_list
45

56
sql_stmt_list =
@@ -9,15 +10,19 @@ sql_stmt =
910
( ( EXPLAIN ( QUERY PLAN )? )? (
1011
// alter_table_stmt
1112
// / analyze_stmt
12-
// / attach_stmt / begin_stmt / commit_stmt
13-
// / create_index_stmt / create_table_stmt / create_trigger_stmt
14-
// / create_view_stmt / create_virtual_table_stmt
15-
// / delete_stmt / delete_stmt_limited
13+
// / attach_stmt
14+
// / begin_stmt / commit_stmt
15+
// / create_index_stmt
16+
create_table_stmt
17+
// / create_trigger_stmt
18+
// / create_view_stmt
19+
// / create_virtual_table_stmt
20+
/ delete_stmt / delete_stmt_limited
1621
// / detach_stmt / drop_index_stmt / drop_table_stmt / drop_trigger_stmt / drop_view_stmt
17-
// / insert_stmt
22+
/ insert_stmt
1823
// / pragma_stmt / reindex_stmt / release_stmt / rollback_stmt / savepoint_stmt
19-
select_stmt
20-
// / update_stmt / update_stmt_limited
24+
/ select_stmt
25+
/ update_stmt / update_stmt_limited
2126
// / vacuum_stmt
2227
) )
2328

@@ -53,7 +58,9 @@ indexed_column =
5358

5459
create_table_stmt =
5560
( ( CREATE ( TEMP / TEMPORARY )? TABLE ( IF NOT EXISTS )? )
56-
( ( database_name dot )? table_name ( lparen ( column_def comma )+ ( nil ( comma table_constraint ) )+ rparen ) ( AS select_stmt ) ) )
61+
( ( database_name dot )? table_name
62+
( lparen ( column_def comma )+ ( comma table_constraint )+ rparen )
63+
( AS select_stmt ) ) )
5764

5865
column_def =
5966
( column_name ( type_name )? ( column_constraint )+ )
@@ -78,7 +85,15 @@ table_constraint =
7885
( ( CONSTRAINT name )? ( ( ( ( PRIMARY KEY ) / UNIQUE ) lparen ( indexed_column comma )+ rparen conflict_clause ) / ( CHECK lparen expr rparen ) / ( FOREIGN KEY lparen ( column_name comma )+ rparen foreign_key_clause ) ) )
7986

8087
foreign_key_clause =
81-
( ( REFERENCES foreign_table ( lparen ( column_name comma )+ rparen )? ) ( ( ( ( ON ( DELETE / UPDATE ) ( ( SET NULL ) / ( SET DEFAULT ) / CASCADE / RESTRICT / ( NO ACTION ) ) ) / ( MATCH name ) ) nil )+ )? ( ( ( NOT )? DEFERRABLE ( ( INITIALLY DEFERRED ) / ( INITIALLY IMMEDIATE ) / nil ) ) nil )? )
88+
( ( REFERENCES foreign_table ( lparen ( column_name comma )+ rparen )? )
89+
( ( ( ON ( DELETE / UPDATE )
90+
( ( SET NULL )
91+
/ ( SET DEFAULT )
92+
/ CASCADE
93+
/ RESTRICT
94+
/ ( NO ACTION ) ) )
95+
/ ( MATCH name ) )+ )?
96+
( ( NOT )? DEFERRABLE ( ( INITIALLY DEFERRED ) / ( INITIALLY IMMEDIATE ) )? )? )
8297

8398
conflict_clause =
8499
( ( ON CONFLICT ( ROLLBACK / ABORT / FAIL / IGNORE / REPLACE ) ) )?
@@ -88,7 +103,7 @@ create_trigger_stmt =
88103
( ( database_name dot )? trigger_name ( BEFORE / AFTER / ( INSTEAD OF ) )? )
89104
( ( DELETE / INSERT / ( UPDATE ( OF ( column_name comma )+ )? ) ) ON table_name )
90105
( ( FOR EACH ROW )? ( WHEN expr )? )
91-
( BEGIN ( ( ( update_stmt / insert_stmt / delete_stmt / select_stmt ) semicolon ) nil )+ END ) )
106+
( BEGIN ( ( update_stmt / insert_stmt / delete_stmt / select_stmt ) semicolon )+ END ) )
92107

93108
create_view_stmt =
94109
( ( CREATE ( TEMP / TEMPORARY )? VIEW ( IF NOT EXISTS )? )
@@ -145,19 +160,20 @@ literal_value =
145160
( numeric_literal / string_literal / blob_literal / NULL / CURRENT_TIME / CURRENT_DATE / CURRENT_TIMESTAMP )
146161

147162
numeric_literal =
148-
( ( ( ( digit nil )+ ( decimal_point ( nil digit )+ )? ) / ( decimal_point ( digit nil )+ ) ) ( E ( nil / plus / minus ) ( digit nil )+ )? )
163+
( ( ( ( digit )+ ( decimal_point ( digit )+ )? )
164+
/ ( decimal_point ( digit )+ ) ) ( E ( plus / minus )? ( digit )+ )? )
149165

150166
insert_stmt =
151167
( ( ( ( INSERT ( OR ( ROLLBACK / ABORT / REPLACE / FAIL / IGNORE ) )? ) / REPLACE ) INTO ( database_name dot )? table_name ) ( ( lparen ( column_name comma )+ rparen )? ( VALUES lparen ( expr comma )+ rparen ) select_stmt ) ( DEFAULT VALUES ) )
152168

153169
pragma_stmt =
154-
( PRAGMA ( database_name dot )? pragma_name ( nil / ( equal pragma_value ) / ( lparen pragma_value rparen ) ) )
170+
( PRAGMA ( database_name dot )? pragma_name ( ( equal pragma_value ) / ( lparen pragma_value rparen ) )? )
155171

156172
pragma_value =
157173
( signed_number / name / string_literal )
158174

159175
reindex_stmt =
160-
( REINDEX nil collation_name ( ( database_name dot )? table_name index_name ) )
176+
( REINDEX collation_name ( ( database_name dot )? table_name index_name ) )
161177

162178
select_stmt =
163179
( select_core compound_operator )+
@@ -199,7 +215,7 @@ join_constraint =
199215
/ ( USING lparen ( column_name comma )+ rparen ) )?
200216

201217
ordering_term =
202-
( expr ( COLLATE collation_name )? ( nil / ASC / DESC ) )
218+
( expr ( COLLATE collation_name )? ( ASC / DESC )? )
203219

204220
compound_operator =
205221
( ( UNION ( ALL )? ) / INTERSECT / EXCEPT )
@@ -211,13 +227,14 @@ update_stmt_limited =
211227
( ( UPDATE ( OR ( ROLLBACK / ABORT / REPLACE / FAIL / IGNORE ) )? qualified_table_name ) ( SET ( ( column_name equal expr ) comma )+ ( WHERE expr )? ) ( ( ( ORDER BY ( ordering_term comma )+ )? ( LIMIT expr ( ( OFFSET / comma ) expr )? ) ) )? )
212228

213229
qualified_table_name =
214-
( ( database_name dot )? table_name ( nil / ( INDEXED BY index_name ) / ( NOT INDEXED ) ) )
230+
( ( database_name dot )? table_name ( ( INDEXED BY index_name ) / ( NOT INDEXED ) )? )
215231

216232
vacuum_stmt =
217233
VACUUM
218234

219235
comment_syntax =
220-
( ( minusminus ( nil anything_except_newline )+ ( newline / end_of_input ) ) / ( comment_beg ( nil anything_except_comment_end )+ ( comment_end / end_of_input ) ) )
236+
( ( minusminus ( anything_except_newline )+ ( newline / end_of_input ) )
237+
/ ( comment_beg ( anything_except_comment_end )+ ( comment_end / end_of_input ) ) )
221238

222239
dot = '.'
223240
comma = ','
@@ -322,7 +339,8 @@ DESC = whitespace1 "DESC"
322339
DETACH = whitespace1 "DETACH"
323340
DISTINCT = whitespace1 "DISTINCT"
324341
DROP = whitespace1 "DROP"
325-
E = whitespace1 "E"
342+
E =
343+
"E"
326344
EACH = whitespace1 "EACH"
327345
ELSE = whitespace1 "ELSE"
328346
END = whitespace1 "END"

0 commit comments

Comments
 (0)