-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathsql-92.yacc
6369 lines (5354 loc) · 94.8 KB
/
sql-92.yacc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/*
** Derived from file sql-92.bnf version 2.3 dated 2004/03/31 19:34:09
*/
/* Using Appendix G of "Understanding the New SQL: A Complete Guide" by J */
/* Melton and A R Simon (Morgan Kaufmann, 1993, ISBN 0-55860-245-3) as the */
/* source of the syntax, here is (most of) the BNF syntax for SQL-92. The */
/* missing parts are the Cobol, Fortran, MUMPS, Pascal and PL/I variable */
/* definition rules. */
/* The plain text version of this grammar is */
/* --## <a href='sql-92.bnf'> sql-92.bnf </a>. */
/* Key SQL Statements and Fragments */
/* ALLOCATE CURSOR <allocate cursor statement> */
/* ALTER DOMAIN <alter domain statement> */
/* ALTER TABLE <alter table statement> */
/* CLOSE cursor <close statement> <dynamic close statement> */
/* Column definition <column definition> */
/* COMMIT WORK <commit statement> */
/* CONNECT <connect statement> */
/* CREATE ASSERTION <assertion definition> */
/* CREATE CHARACTER SET <character set definition> */
/* CREATE COLLATION <collation definition> */
/* CREATE DOMAIN <domain definition> */
/* CREATE SCHEMA <schema definition> */
/* CREATE TABLE <table definition> */
/* CREATE TRANSLATION <translation definition> */
/* CREATE VIEW <view definition> */
/* Data type <data type> */
/* DEALLOCATE PREPARE <deallocate prepared statement> */
/* DECLARE cursor <declare cursor> <dynamic declare cursor> */
/* DECLARE LOCAL TEMPORARY TABLE <temporary table declaration> */
/* DELETE <delete statement: positioned> <delete statement: searched> <dynamic delete statement: positioned> */
/* DESCRIBE <describe statement> */
/* DESCRIPTOR statements <system descriptor statement> */
/* DISCONNECT <disconnect statement> */
/* EXECUTE <execute statement> */
/* EXECUTE IMMEDIATE <execute immediate statement> */
/* FETCH cursor <fetch statement> <dynamic fetch statement> */
/* GET DIAGNOSTICS <get diagnostics statement> */
/* GRANT <grant statement> */
/* INSERT <insert statement> */
/* Literal <literal> */
/* MODULE <module> */
/* OPEN cursor <open statement> <dynamic open statement> */
/* PREPARE <prepare statement> */
/* Preparable statement <preparable statement> */
/* REVOKE <revoke statement> */
/* ROLLBACK WORK <rollback statement> */
/* Search condition <search condition> */
/* SELECT <query specification> */
/* SET CATALOG <set catalog statement> */
/* SET CONNECTION <set connection statement> */
/* SET CONSTRAINTS <set constraints mode statement> */
/* SET NAMES <set names statement> */
/* SET SCHEMA <set schema statement> */
/* SET SESSION AUTHORIZATION <set session authorization identifier statement> */
/* SET TIME ZONE <set local time zone statement> */
/* SET TRANSACTION <set transaction statement> */
/* UPDATE <update statement: positioned> <update statement: searched> <dynamic update statement: positioned> */
/* Value expression <value expression> */
/* Basic Definitions of Characters Used, Tokens, Symbols, Etc. */
/* Literal Numbers, Strings, Dates and Times */
/* UNK: <> */
/* UNK: >= */
/* UNK: <= */
/* UNK: .. */
/* SQL Module */
/* Data Types */
/* UNK: <precision <right paren> ] | REAL | DOUBLE PRECISION */
/* Literals */
/* Constraints */
/* Search Condition */
/* Queries */
/* Note that <correlation specification> does not appear in the ISO/IEC grammar. */
/* The notation is written out longhand several times, instead. */
/* Query expression components */
/* More about constraints */
/* Module contents */
/* SQL Procedures */
/* SQL Schema Definition Statements */
/* UNK: > }... ] */
/* <grantee> := PUBLIC | <authorization identifier> */
/* SQL Data Manipulation Statements */
/* Connection Management */
/* Session Attributes */
/* Dynamic SQL */
/* UNK: : <Ada type specification> [ <Ada initial value> ] */
/* Identifying the version of SQL in use */
/* END OF SQL-92 GRAMMAR */
%{
/*
** BNF Grammar for ISO/IEC 9075:1992 - Database Language SQL (SQL-92)
*/
%}
%token 0
%token 1
%token 2
%token 3
%token 4
%token 5
%token 6
%token 7
%token 8
%token 9
%token 9075
%token A
%token ABSOLUTE
%token ACTION
%token ADA
%token ADD
%token ALL
%token ALLOCATE
%token ALTER
%token AND
%token ANY
%token ARE
%token AS
%token ASC
%token ASSERTION
%token AT
%token AUTHORIZATION
%token AVG
%token B
%token BEGIN
%token BETWEEN
%token BIT
%token BIT_LENGTH
%token BOTH
%token BY
%token C
%token CASCADE
%token CASCADED
%token CASE
%token CAST
%token CATALOG
%token CATALOG_NAME
%token CHAR
%token CHARACTER
%token CHARACTER_LENGTH
%token CHARACTER_SET_CATALOG
%token CHARACTER_SET_NAME
%token CHARACTER_SET_SCHEMA
%token CHAR_LENGTH
%token CHECK
%token CLASS_ORIGIN
%token CLOSE
%token COALESCE
%token COBOL
%token COLLATE
%token COLLATION
%token COLLATION_CATALOG
%token COLLATION_NAME
%token COLLATION_SCHEMA
%token COLUMN
%token COLUMN_NAME
%token COMMAND_FUNCTION
%token COMMIT
%token COMMITTED
%token CONDITION_NUMBER
%token CONNECT
%token CONNECTION
%token CONNECTION_NAME
%token CONSTRAINT
%token CONSTRAINTS
%token CONSTRAINT_CATALOG
%token CONSTRAINT_NAME
%token CONSTRAINT_SCHEMA
%token CONSTRATIN_CATALOG
%token CONTINUE
%token CONVERT
%token CORRESPONDING
%token COUNT
%token CREATE
%token CROSS
%token CURRENT
%token CURRENT_DATE
%token CURRENT_TIME
%token CURRENT_TIMESTAMP
%token CURRENT_USER
%token CURSOR
%token CURSOR_NAME
%token D
%token DATA
%token DATE
%token DATETIME_INTERVAL_CODE
%token DATETIME_INTERVAL_PRECISION
%token DAY
%token DEALLOCATE
%token DEC
%token DECIMAL
%token DECLARE
%token DEFAULT
%token DEFERRABLE
%token DEFERRED
%token DELETE
%token DESC
%token DESCRIBE
%token DESCRIPTOR
%token DIAGNOSTICS
%token DISCONNECT
%token DISTINCT
%token DOMAIN
%token DOUBLE
%token DOUBLE_PRECISION
%token DROP
%token DYNAMIC_FUNCTION
%token E
%token ELSE
%token END
%token END-EXEC
%token ESCAPE
%token EXCEPT
%token EXCEPTION
%token EXEC
%token EXECUTE
%token EXISTS
%token EXTERNAL
%token EXTRACT
%token F
%token FALSE
%token FETCH
%token FIRST
%token FLOAT
%token FOR
%token FOREIGN
%token FORTRAN
%token FOUND
%token FROM
%token FULL
%token G
%token GET
%token GLOBAL
%token GO
%token GOTO
%token GRANT
%token GROUP
%token H
%token HAVING
%token HOUR
%token High
%token I
%token IDENTITY
%token IMMEDIATE
%token IN
%token INDICATOR
%token INDICATOR_TYPE
%token INITIALLY
%token INNER
%token INPUT
%token INSENSITIVE
%token INSERT
%token INT
%token INTEGER
%token INTERSECT
%token INTERVAL
%token INTO
%token IS
%token ISOLATION
%token IntegrityNo
%token IntegrityYes
%token Intermediate
%token J
%token JOIN
%token K
%token KEY
%token L
%token LANGUAGE
%token LAST
%token LEADING
%token LEFT
%token LENGTH
%token LEVEL
%token LIKE
%token LOCAL
%token LOWER
%token Low
%token M
%token MATCH
%token MAX
%token MESSAGE_LENGTH
%token MESSAGE_OCTET_LENGTH
%token MESSAGE_TEXT
%token MIN
%token MINUTE
%token MODULE
%token MONTH
%token MORE
%token MUMPS
%token N
%token NAME
%token NAMES
%token NATIONAL
%token NATURAL
%token NCHAR
%token NEXT
%token NO
%token NOT
%token NULL
%token NULLABLE
%token NULLIF
%token NUMBER
%token NUMERIC
%token O
%token OCTET_LENGTH
%token OF
%token ON
%token ONLY
%token OPEN
%token OPTION
%token OR
%token ORDER
%token OUTER
%token OUTPUT
%token OVERLAPS
%token P
%token PAD
%token PARTIAL
%token PASCAL
%token PLI
%token POSITION
%token PRECISION
%token PREPARE
%token PRESERVE
%token PRIMARY
%token PRIOR
%token PRIVILEGES
%token PROCEDURE
%token PUBLIC
%token Q
%token R
%token READ
%token REAL
%token REFERENCES
%token RELATIVE
%token REPEATABLE
%token RESTRICT
%token RETURNED_LENGTH
%token RETURNED_OCTET_LENGTH
%token RETURNED_SQLSTATE
%token REVOKE
%token RIGHT
%token ROLLBACK
%token ROWS
%token ROW_COUNT
%token S
%token SCALE
%token SCHEMA
%token SCHEMA_NAME
%token SCROLL
%token SECOND
%token SECTION
%token SELECT
%token SERIALIZABLE
%token SERVER_NAME
%token SESSION
%token SESSION_USER
%token SET
%token SIZE
%token SMALLINT
%token SOME
%token SPACE
%token SQL
%token SQLCODE
%token SQLCODE_TYPE
%token SQLERROR
%token SQLSTATE
%token SQLSTATE_TYPE
%token SQL_STANDARD.BIT
%token SQL_STANDARD.CHAR
%token SQL_STANDARD.DOUBLE_PRECISION
%token SQL_STANDARD.INDICATOR_TYPE
%token SQL_STANDARD.INT
%token SQL_STANDARD.REAL
%token SQL_STANDARD.SMALLINT
%token SQL_STANDARD.SQLCODE_TYPE
%token SQL_STANDARD.SQLSTATE_TYPE
%token SUBCLASS_ORIGIN
%token SUBSTRING
%token SUM
%token SYSTEM_USER
%token T
%token TABLE
%token TABLE_NAME
%token TEMPORARY
%token THEN
%token TIME
%token TIMESTAMP
%token TIMEZONE_HOUR
%token TIMEZONE_MINUTE
%token TO
%token TRAILING
%token TRANSACTION
%token TRANSLATE
%token TRANSLATION
%token TRIM
%token TRUE
%token TYPE
%token U
%token UNCOMMITTED
%token UNION
%token UNIQUE
%token UNKNOWN
%token UNNAMED
%token UPDATE
%token UPPER
%token USAGE
%token USER
%token USING
%token V
%token VALUE
%token VALUES
%token VARCHAR
%token VARYING
%token VIEW
%token W
%token WHEN
%token WHENEVER
%token WHERE
%token WITH
%token WORK
%token WRITE
%token X
%token Y
%token YEAR
%token Z
%token ZONE
%token _
%token a
%token action
%token auto
%token b
%token c
%token char
%token const
%token d
%token double
%token e
%token edition1987
%token edition1989
%token edition1992
%token extern
%token f
%token float
%token g
%token h
%token i
%token iso
%token j
%token k
%token l
%token long
%token m
%token n
%token o
%token omitted...
%token p
%token q
%token r
%token s
%token short
%token standard
%token static
%token t
%token u
%token v
%token volatile
%token w
%token x
%token y
%token z
/* The following non-terminals were not defined */
%token case_expression
%token desribe_statement
%token embedded_exception_declaration
%token grantee
%token row_value_constuctor
%token sql_edition
%token sql_session_stateament
%token type_name
/* End of undefined non-terminals */
/*
%rule action
%rule action_list
%rule actual_identifier
%rule ada_assignment_operator
%rule ada_host_identifier
%rule ada_initial_value
%rule ada_qualified_type_specification
%rule ada_type_specification
%rule ada_unqualified_type_specification
%rule ada_variable_definition
%rule add_column_definition
%rule add_domain_constraint_definition
%rule add_table_constraint_definition
%rule all
%rule allocate_cursor_statement
%rule allocate_descriptor_statement
%rule alter_column_action
%rule alter_column_definition
%rule alter_domain_action
%rule alter_domain_statement
%rule alter_table_action
%rule alter_table_statement
%rule ampersand
%rule approximate_numeric_literal
%rule approximate_numeric_type
%rule arc1
%rule arc2
%rule arc3
%rule argument
%rule as_clause
%rule assertion_check
%rule assertion_definition
%rule asterisk
%rule authorization_identifier
%rule between_predicate
%rule bit
%rule bit_concatenation
%rule bit_factor
%rule bit_length_expression
%rule bit_primary
%rule bit_string_literal
%rule bit_string_type
%rule bit_substring_function
%rule bit_value_expression
%rule bit_value_function
%rule boolean_factor
%rule boolean_primary
%rule boolean_term
%rule boolean_test
%rule c_array_specification
%rule c_bit_variable
%rule c_character_variable
%rule c_class_modifier
%rule c_derived_variable
%rule c_host_identifier
%rule c_initial_value
%rule c_numeric_variable
%rule c_storage_class
%rule c_varchar_variable
%rule c_variable_definition
%rule c_variable_specification
%rule case_abbreviation
%rule case_expression
%rule case_expresssion
%rule case_operand
%rule case_specification
%rule cast_operand
%rule cast_specification
%rule cast_target
%rule catalog_name
%rule char_length_expression
%rule character_factor
%rule character_primary
%rule character_representation
%rule character_set_definition
%rule character_set_name
%rule character_set_source
%rule character_set_specification
%rule character_string_literal
%rule character_string_type
%rule character_substring_function
%rule character_translation
%rule character_value_expression
%rule character_value_function
%rule check_constraint_definition
%rule close_statement
%rule cobol_host_identifier
%rule cobol_variable_definition
%rule collate_clause
%rule collating_sequence_definition
%rule collation_definition
%rule collation_name
%rule collation_source
%rule colon
%rule column_constraint
%rule column_constraint_definition
%rule column_definition
%rule column_name
%rule column_name_list
%rule column_reference
%rule comma
%rule comment
%rule comment_character
%rule comment_introducer
%rule commit_statement
%rule comp_op
%rule comparison_predicate
%rule concatenation
%rule concatenation_operator
%rule condition
%rule condition_action
%rule condition_information
%rule condition_information_item
%rule condition_information_item_name
%rule condition_number
%rule connect_statement
%rule connection_name
%rule connection_object
%rule connection_target
%rule constraint_attributes
%rule constraint_check_time
%rule constraint_name
%rule constraint_name_definition
%rule constraint_name_list
%rule correlation_name
%rule correlation_specification
%rule corresponding_column_list
%rule corresponding_spec
%rule cross_join
%rule current_date_value_function
%rule current_time_value_function
%rule current_timestamp_value_function
%rule cursor_name
%rule cursor_specification
%rule data_type
%rule date_literal
%rule date_string
%rule date_value
%rule datetime_factor
%rule datetime_field
%rule datetime_literal
%rule datetime_primary
%rule datetime_term
%rule datetime_type
%rule datetime_value
%rule datetime_value_expression
%rule datetime_value_function
%rule day_time_interval
%rule day_time_literal
%rule days_value
%rule deallocate_descriptor_statement
%rule deallocate_prepared_statement
%rule declare_cursor
%rule default_clause
%rule default_option
%rule default_specification
%rule delete_rule
%rule delete_statement_positioned
%rule delete_statement_searched
%rule delimited_identifier
%rule delimited_identifier_body
%rule delimited_identifier_part
%rule delimiter_token
%rule derived_column
%rule derived_column_list
%rule derived_table
%rule describe_input_statement
%rule describe_output_statement
%rule describe_statement
%rule descriptor_item_name
%rule descriptor_name
%rule desribe_statement
%rule diagnostics_size
%rule digit
%rule direct_implementation_defined_statement
%rule direct_select_statement_multiple_rows
%rule direct_sql_data_statement
%rule direct_sql_statement
%rule disconnect_object
%rule disconnect_statement
%rule domain_constraint
%rule domain_definition
%rule domain_name
%rule double_period
%rule double_quote
%rule doublequote_symbol
%rule drop_assertion_statement
%rule drop_behaviour
%rule drop_character_set_statement
%rule drop_collation_statement
%rule drop_column_default_clause
%rule drop_column_definition
%rule drop_domain_constraint_definition
%rule drop_domain_default_clause
%rule drop_domain_statement
%rule drop_schema_statement
%rule drop_table_constraint_definition
%rule drop_table_statement
%rule drop_translation_statement
%rule drop_view_statement
%rule dynamic_close_statement
%rule dynamic_cursor_name
%rule dynamic_declare_cursor
%rule dynamic_delete_statement_positioned
%rule dynamic_fetch_statement
%rule dynamic_open_statement
%rule dynamic_parameter_specification
%rule dynamic_select_statement
%rule dynamic_single_row_select_statement
%rule dynamic_update_statement_positioned
%rule else_clause
%rule embedded_character_set_declaration
%rule embedded_exception_condition
%rule embedded_exception_declaration
%rule embedded_sql_ada_program
%rule embedded_sql_begin_declare
%rule embedded_sql_c_program
%rule embedded_sql_cobol_program
%rule embedded_sql_declare_section
%rule embedded_sql_end_declare
%rule embedded_sql_fortran_program
%rule embedded_sql_host_program
%rule embedded_sql_mumps_declare
%rule embedded_sql_mumps_program
%rule embedded_sql_pascal_program
%rule embedded_sql_pl_i_program
%rule embedded_sql_statement
%rule embedded_variable_name
%rule end_field
%rule equals_operator
%rule escape_character
%rule exact_numeric_literal
%rule exact_numeric_type
%rule execute_immediate_statement
%rule execute_statement
%rule existing_character_set_name
%rule exists_predicate
%rule explicit_table
%rule exponent
%rule extended_cursor_name
%rule extended_statement_name
%rule external_collation
%rule external_collation_name
%rule external_translation
%rule external_translation_name
%rule extract_expression
%rule extract_field
%rule extract_source
%rule factor
%rule fetch_orientation
%rule fetch_statement
%rule fetch_target_list
%rule fold
%rule form_of_use_conversion
%rule form_of_use_conversion_name
%rule fortran_host_identifier
%rule fortran_variable_definition
%rule from_clause
%rule general_literal
%rule general_set_function
%rule general_value_specification
%rule get_count
%rule get_descriptor_information
%rule get_descriptor_statement
%rule get_diagnostics_statement
%rule get_item_information
%rule go_to
%rule goto_target
%rule grant_statement
%rule grantee
%rule greater_than_operator
%rule greater_than_or_equals_operator
%rule group_by_clause
%rule grouping_column_reference
%rule grouping_column_reference_list
%rule having_clause
%rule hex_string_literal
%rule hexit
%rule high
%rule host_identifier
%rule host_label_identifier
%rule host_pl_i_label_variable
%rule host_variable_definition
%rule hours_value
%rule identifier
%rule identifier_body
%rule identifier_part
%rule identifier_start
%rule implementation_defined_character_repertoire_name
%rule implementation_defined_collation_name
%rule implementation_defined_translation_name
%rule implementation_defined_universal_character_form_of_use_name
%rule in_predicate
%rule in_predicate_value
%rule in_value_list
%rule indicator_parameter
%rule indicator_variable
%rule insert_column_list
%rule insert_columns_and_source
%rule insert_statement
%rule integrity_no
%rule integrity_yes
%rule intermediate
%rule interval_factor
%rule interval_fractional_seconds_precision
%rule interval_leading_field_precision
%rule interval_literal
%rule interval_primary
%rule interval_qualifier
%rule interval_string
%rule interval_term
%rule interval_term_1
%rule interval_term_2
%rule interval_type
%rule interval_value_expression
%rule interval_value_expression_1
%rule introducer
%rule isolation_level
%rule item_number
%rule j_1987
%rule j_1989
%rule j_1989_base
%rule j_1989_package
%rule j_1992
%rule join_column_list
%rule join_condition
%rule join_specification
%rule join_type
%rule joined_table
%rule key_word
%rule language_clause
%rule language_name
%rule left_bracket
%rule left_paren
%rule length
%rule length_expression
%rule less_than_operator
%rule less_than_or_equals_operator
%rule level_of_isolation
%rule levels_clause
%rule like_predicate
%rule limited_collation_definition
%rule literal
%rule local_table_name
%rule low
%rule mantissa
%rule match_predicate
%rule match_type
%rule match_value
%rule minus_sign
%rule minutes_value
%rule module
%rule module_authorization_clause
%rule module_authorization_identifier
%rule module_character_set_specification
%rule module_contents
%rule module_name
%rule module_name_clause
%rule months_value
%rule mumps_host_identifier
%rule mumps_variable_definition
%rule named_columns_join
%rule national_character_string_literal
%rule national_character_string_type
%rule newline
%rule non_join_query_expression
%rule non_join_query_primary
%rule non_join_query_term
%rule non_reserved_word
%rule non_second_datetime_field
%rule nondelimiter_token
%rule nondoublequote_character
%rule nonquote_character
%rule not_equals_operator
%rule null_predicate
%rule null_specification
%rule number_of_conditions
%rule numeric_primary
%rule numeric_type
%rule numeric_value_expression
%rule numeric_value_function
%rule object_column
%rule object_name
%rule occurrences
%rule octet_length_expression
%rule open_statement
%rule order_by_clause
%rule ordering_specification
%rule outer_join_type
%rule overlaps_predicate
%rule pad_attribute
%rule parameter_declaration
%rule parameter_declaration_list
%rule parameter_name
%rule parameter_specification
%rule parameter_using_clause
%rule pascal_host_identifier
%rule pascal_variable_definition
%rule pattern
%rule percent
%rule period
%rule pl_i_host_identifier
%rule pl_i_variable_definition
%rule plus_sign
%rule position_expression
%rule precision
%rule predicate
%rule preparable_dynamic_delete_statement_positioned
%rule preparable_dynamic_update_statement_positioned
%rule preparable_sql_data_statement
%rule preparable_sql_implementation_defined_statement
%rule preparable_sql_schema_statement
%rule preparable_sql_session_statement
%rule preparable_sql_transaction_statement
%rule preparable_statement
%rule prepare_statement
%rule privilege_column_list
%rule privileges
%rule procedure
%rule procedure_name
%rule qualified_identifier
%rule qualified_join
%rule qualified_local_table_name
%rule qualified_name
%rule qualifier
%rule quantified_comparison_predicate
%rule quantifier
%rule query_expression
%rule query_primary
%rule query_specification
%rule query_term
%rule question_mark
%rule quote
%rule quote_symbol
%rule reference_column_list
%rule referenced_table_and_columns
%rule references_specification
%rule referencing_columns
%rule referential_action
%rule referential_constraint_definition
%rule referential_triggered_action
%rule regular_identifier
%rule reserved_word
%rule result
%rule result_expression
%rule result_using_clause
%rule revoke_statement
%rule right_bracket
%rule right_paren
%rule rollback_statement
%rule row_subquery
%rule row_value_constructor
%rule row_value_constructor_1
%rule row_value_constructor_2
%rule row_value_constructor_element
%rule row_value_constructor_list
%rule row_value_constuctor
%rule scalar_subquery
%rule scale
%rule schema_authorization_identifier
%rule schema_character_set_name
%rule schema_character_set_specification
%rule schema_collation_name
%rule schema_definition
%rule schema_element
%rule schema_name
%rule schema_name_clause
%rule schema_translation_name
%rule scope_option
%rule search_condition
%rule searched_case
%rule searched_when_clause
%rule seconds_fraction
%rule seconds_integer_value
%rule seconds_value
%rule select_list
%rule select_statement_single_row
%rule select_sublist
%rule select_target_list
%rule semicolon
%rule separator
%rule set_catalog_statement
%rule set_clause
%rule set_clause_list
%rule set_column_default_clause
%rule set_connection_statement
%rule set_constraints_mode_statement
%rule set_count
%rule set_descriptor_information
%rule set_descriptor_statement
%rule set_domain_default_clause
%rule set_function_specification
%rule set_function_type
%rule set_item_information
%rule set_local_time_zone_statement
%rule set_names_statement
%rule set_quantifier
%rule set_schema_statement
%rule set_session_authorization_identifier_statement
%rule set_time_zone_value
%rule set_transaction_statement
%rule sign
%rule signed_integer
%rule signed_numeric_literal
%rule simple_case
%rule simple_latin_letter
%rule simple_latin_lower_case_letter
%rule simple_latin_upper_case_letter
%rule simple_table
%rule simple_target_specification
%rule simple_target_specification_1
%rule simple_target_specification_2
%rule simple_value_specification
%rule simple_value_specification_1
%rule simple_value_specification_2
%rule simple_when_clause
%rule single_datetime_field