?? sql2.v
字號:
#############################################################################
# A C A D E M I C C O P Y
#
# This file was produced by an ACADEMIC COPY of Parser Generator. It is for
# use in non-commercial software only. An ACADEMIC COPY of Parser Generator
# can only be used by a student, or a member of an academic community. If
# however you want to use Parser Generator for commercial purposes then you
# will need to purchase a license. For more information see the online help or
# go to the Bumble-Bee Software homepage at:
#
# http://www.bumblebeesoftware.com
#
# This notice must remain present in the file. It cannot be removed.
#############################################################################
#############################################################################
# sql2.v
# YACC verbose file generated from sql2.y.
#
# Date: 06/06/06
# Time: 22:50:47
#
# AYACC Version: 2.07
#############################################################################
##############################################################################
# Rules
##############################################################################
0 $accept : sql_list $end
1 sql_list : sql ';'
2 | sql_list sql ';'
3 sql : schema
4 schema : CREATE SCHEMA AUTHORIZATION user opt_schema_element_list
5 opt_schema_element_list :
6 | schema_element_list
7 schema_element_list : schema_element
8 | schema_element_list schema_element
9 schema_element : base_table_def
10 | view_def
11 | privilege_def
12 base_table_def : CREATE TABLE table '(' base_table_element_commalist ')'
13 base_table_element_commalist : base_table_element
14 | base_table_element_commalist ',' base_table_element
15 base_table_element : column_def
16 | table_constraint_def
17 column_def : column data_type column_def_opt_list
18 column_def_opt_list :
19 | column_def_opt_list column_def_opt
20 column_def_opt : NOT NULLX
21 | NOT NULLX UNIQUE
22 | NOT NULLX PRIMARY KEY
23 | DEFAULT literal
24 | DEFAULT NULLX
25 | DEFAULT USER
26 | CHECK '(' search_condition ')'
27 | REFERENCES table
28 | REFERENCES table '(' column_commalist ')'
29 table_constraint_def : UNIQUE '(' column_commalist ')'
30 | PRIMARY KEY '(' column_commalist ')'
31 | FOREIGN KEY '(' column_commalist ')' REFERENCES table
32 | FOREIGN KEY '(' column_commalist ')' REFERENCES table '(' column_commalist ')'
33 | CHECK '(' search_condition ')'
34 column_commalist : column
35 | column_commalist ',' column
36 view_def : CREATE VIEW table opt_column_commalist AS query_spec opt_with_check_option
37 opt_with_check_option :
38 | WITH CHECK OPTION
39 opt_column_commalist :
40 | '(' column_commalist ')'
41 privilege_def : GRANT privileges ON table TO grantee_commalist opt_with_grant_option
42 opt_with_grant_option :
43 | WITH GRANT OPTION
44 privileges : ALL PRIVILEGES
45 | ALL
46 | operation_commalist
47 operation_commalist : operation
48 | operation_commalist ',' operation
49 operation : SELECT
50 | INSERT
51 | DELETE
52 | UPDATE opt_column_commalist
53 | REFERENCES opt_column_commalist
54 grantee_commalist : grantee
55 | grantee_commalist ',' grantee
56 grantee : PUBLIC
57 | user
58 sql : cursor_def
59 cursor_def : DECLARE cursor CURSOR FOR query_exp opt_order_by_clause
60 opt_order_by_clause :
61 | ORDER BY ordering_spec_commalist
62 ordering_spec_commalist : ordering_spec
63 | ordering_spec_commalist ',' ordering_spec
64 ordering_spec : INTNUM opt_asc_desc
65 | column_ref opt_asc_desc
66 opt_asc_desc :
67 | ASC
68 | DESC
69 sql : manipulative_statement
70 manipulative_statement : close_statement
71 | commit_statement
72 | delete_statement_positioned
73 | delete_statement_searched
74 | fetch_statement
75 | insert_statement
76 | open_statement
77 | rollback_statement
78 | select_statement
79 | update_statement_positioned
80 | update_statement_searched
81 close_statement : CLOSE cursor
82 commit_statement : COMMIT WORK
83 delete_statement_positioned : DELETE FROM table WHERE CURRENT OF cursor
84 delete_statement_searched : DELETE FROM table opt_where_clause
85 fetch_statement : FETCH cursor INTO target_commalist
86 insert_statement : INSERT INTO table opt_column_commalist values_or_query_spec
87 values_or_query_spec : VALUES '(' insert_atom_commalist ')'
88 | query_spec
89 insert_atom_commalist : insert_atom
90 | insert_atom_commalist ',' insert_atom
91 insert_atom : atom
92 | NULLX
93 open_statement : OPEN cursor
94 rollback_statement : ROLLBACK WORK
95 select_statement : SELECT opt_all_distinct selection INTO target_commalist table_exp
96 opt_all_distinct :
97 | ALL
98 | DISTINCT
99 update_statement_positioned : UPDATE table SET assignment_commalist WHERE CURRENT OF cursor
100 assignment_commalist :
101 | assignment
102 | assignment_commalist ',' assignment
103 assignment : column '=' scalar_exp
104 | column '=' NULLX
105 update_statement_searched : UPDATE table SET assignment_commalist opt_where_clause
106 target_commalist : target
107 | target_commalist ',' target
108 target : parameter_ref
109 opt_where_clause :
110 | where_clause
111 query_exp : query_term
112 | query_exp UNION query_term
113 | query_exp UNION ALL query_term
114 query_term : query_spec
115 | '(' query_exp ')'
116 query_spec : SELECT opt_all_distinct selection table_exp
117 selection : scalar_exp_commalist
118 | '*'
119 table_exp : from_clause opt_where_clause opt_group_by_clause opt_having_clause
120 from_clause : FROM table_ref_commalist
121 table_ref_commalist : table_ref
122 | table_ref_commalist ',' table_ref
123 table_ref : table
124 | table range_variable
125 where_clause : WHERE search_condition
126 opt_group_by_clause :
127 | GROUP BY column_ref_commalist
128 column_ref_commalist : column_ref
129 | column_ref_commalist ',' column_ref
130 opt_having_clause :
131 | HAVING search_condition
132 search_condition :
133 | search_condition OR search_condition
134 | search_condition AND search_condition
135 | NOT search_condition
136 | '(' search_condition ')'
137 | predicate
138 predicate : comparison_predicate
139 | between_predicate
140 | like_predicate
141 | test_for_null
142 | in_predicate
143 | all_or_any_predicate
144 | existence_test
145 comparison_predicate : scalar_exp COMPARISON scalar_exp
146 | scalar_exp COMPARISON subquery
147 between_predicate : scalar_exp NOT BETWEEN scalar_exp AND scalar_exp
148 | scalar_exp BETWEEN scalar_exp AND scalar_exp
149 like_predicate : scalar_exp NOT LIKE atom opt_escape
150 | scalar_exp LIKE atom opt_escape
151 opt_escape :
152 | ESCAPE atom
153 test_for_null : column_ref IS NOT NULLX
154 | column_ref IS NULLX
155 in_predicate : scalar_exp NOT IN '(' subquery ')'
156 | scalar_exp IN '(' subquery ')'
157 | scalar_exp NOT IN '(' atom_commalist ')'
158 | scalar_exp IN '(' atom_commalist ')'
159 atom_commalist : atom
160 | atom_commalist ',' atom
161 all_or_any_predicate : scalar_exp COMPARISON any_all_some subquery
162 any_all_some : ANY
163 | ALL
164 | SOME
165 existence_test : EXISTS subquery
166 subquery : '(' SELECT opt_all_distinct selection table_exp ')'
167 scalar_exp : scalar_exp '+' scalar_exp
168 | scalar_exp '-' scalar_exp
169 | scalar_exp '*' scalar_exp
170 | scalar_exp '/' scalar_exp
171 | '+' scalar_exp
172 | '-' scalar_exp
173 | atom
174 | column_ref
175 | function_ref
176 | '(' scalar_exp ')'
177 scalar_exp_commalist : scalar_exp
178 | scalar_exp_commalist ',' scalar_exp
179 atom : parameter_ref
180 | literal
181 | USER
182 parameter_ref : parameter
183 | parameter parameter
184 | parameter INDICATOR parameter
185 function_ref : AMMSC '(' '*' ')'
186 | AMMSC '(' DISTINCT column_ref ')'
187 | AMMSC '(' ALL scalar_exp ')'
188 | AMMSC '(' scalar_exp ')'
189 literal : STRING
190 | INTNUM
191 | APPROXNUM
192 table : NAME
193 | NAME '.' NAME
194 column_ref : NAME
195 | NAME '.' NAME
196 | NAME '.' NAME '.' NAME
197 data_type : CHARACTER
198 | CHARACTER '(' INTNUM ')'
199 | NUMERIC
200 | NUMERIC '(' INTNUM ')'
201 | NUMERIC '(' INTNUM ',' INTNUM ')'
202 | DECIMAL
203 | DECIMAL '(' INTNUM ')'
204 | DECIMAL '(' INTNUM ',' INTNUM ')'
205 | INTEGER
206 | SMALLINT
207 | FLOAT
208 | FLOAT '(' INTNUM ')'
209 | REAL
210 | DOUBLE PRECISION
211 column : NAME
212 cursor : NAME
213 parameter : PARAMETER
214 range_variable : NAME
215 user : NAME
216 sql : WHENEVER NOT FOUND when_action
217 | WHENEVER SQLERROR when_action
218 when_action : GOTO NAME
219 | CONTINUE
##############################################################################
# States
##############################################################################
state 0
$accept : . sql_list $end
CLOSE shift 1
COMMIT shift 2
CREATE shift 3
DECLARE shift 4
DELETE shift 5
FETCH shift 6
INSERT shift 7
OPEN shift 8
ROLLBACK shift 9
SELECT shift 10
UPDATE shift 11
WHENEVER shift 12
sql_list goto 13
sql goto 14
schema goto 15
cursor_def goto 16
manipulative_statement goto 17
close_statement goto 18
commit_statement goto 19
delete_statement_positioned goto 20
delete_statement_searched goto 21
fetch_statement goto 22
insert_statement goto 23
open_statement goto 24
rollback_statement goto 25
select_statement goto 26
update_statement_positioned goto 27
update_statement_searched goto 28
state 1
close_statement : CLOSE . cursor
NAME shift 29
cursor goto 30
state 2
commit_statement : COMMIT . WORK
WORK shift 31
state 3
schema : CREATE . SCHEMA AUTHORIZATION user opt_schema_element_list
SCHEMA shift 32
state 4
cursor_def : DECLARE . cursor CURSOR FOR query_exp opt_order_by_clause
NAME shift 29
cursor goto 33
state 5
delete_statement_positioned : DELETE . FROM table WHERE CURRENT OF cursor
delete_statement_searched : DELETE . FROM table opt_where_clause
FROM shift 34
state 6
fetch_statement : FETCH . cursor INTO target_commalist
NAME shift 29
cursor goto 35
state 7
insert_statement : INSERT . INTO table opt_column_commalist values_or_query_spec
INTO shift 36
state 8
open_statement : OPEN . cursor
NAME shift 29
cursor goto 37
state 9
rollback_statement : ROLLBACK . WORK
WORK shift 38
state 10
select_statement : SELECT . opt_all_distinct selection INTO target_commalist table_exp
opt_all_distinct : . (96)
ALL shift 39
DISTINCT shift 40
. reduce 96
opt_all_distinct goto 41
state 11
update_statement_positioned : UPDATE . table SET assignment_commalist WHERE CURRENT OF cursor
update_statement_searched : UPDATE . table SET assignment_commalist opt_where_clause
NAME shift 42
table goto 43
state 12
sql : WHENEVER . NOT FOUND when_action
sql : WHENEVER . SQLERROR when_action
NOT shift 44
SQLERROR shift 45
state 13
$accept : sql_list . $end (0)
sql_list : sql_list . sql ';'
$end accept
CLOSE shift 1
COMMIT shift 2
CREATE shift 3
DECLARE shift 4
DELETE shift 5
FETCH shift 6
INSERT shift 7
OPEN shift 8
ROLLBACK shift 9
SELECT shift 10
UPDATE shift 11
WHENEVER shift 12
sql goto 46
schema goto 15
cursor_def goto 16
manipulative_statement goto 17
close_statement goto 18
commit_statement goto 19
delete_statement_positioned goto 20
delete_statement_searched goto 21
fetch_statement goto 22
insert_statement goto 23
open_statement goto 24
rollback_statement goto 25
select_statement goto 26
update_statement_positioned goto 27
update_statement_searched goto 28
state 14
sql_list : sql . ';'
';' shift 47
state 15
sql : schema . (3)
. reduce 3
state 16
sql : cursor_def . (58)
. reduce 58
state 17
sql : manipulative_statement . (69)
. reduce 69
state 18
manipulative_statement : close_statement . (70)
. reduce 70
state 19
manipulative_statement : commit_statement . (71)
. reduce 71
state 20
manipulative_statement : delete_statement_positioned . (72)
. reduce 72
state 21
manipulative_statement : delete_statement_searched . (73)
. reduce 73
state 22
manipulative_statement : fetch_statement . (74)
. reduce 74
state 23
manipulative_statement : insert_statement . (75)
. reduce 75
state 24
manipulative_statement : open_statement . (76)
. reduce 76
state 25
manipulative_statement : rollback_statement . (77)
. reduce 77
state 26
manipulative_statement : select_statement . (78)
. reduce 78
state 27
manipulative_statement : update_statement_positioned . (79)
. reduce 79
state 28
manipulative_statement : update_statement_searched . (80)
. reduce 80
state 29
cursor : NAME . (212)
. reduce 212
state 30
close_statement : CLOSE cursor . (81)
. reduce 81
state 31
commit_statement : COMMIT WORK . (82)
. reduce 82
state 32
schema : CREATE SCHEMA . AUTHORIZATION user opt_schema_element_list
AUTHORIZATION shift 48
state 33
cursor_def : DECLARE cursor . CURSOR FOR query_exp opt_order_by_clause
CURSOR shift 49
state 34
delete_statement_positioned : DELETE FROM . table WHERE CURRENT OF cursor
delete_statement_searched : DELETE FROM . table opt_where_clause
NAME shift 42
table goto 50
state 35
fetch_statement : FETCH cursor . INTO target_commalist
INTO shift 51
state 36
insert_statement : INSERT INTO . table opt_column_commalist values_or_query_spec
NAME shift 42
table goto 52
state 37
open_statement : OPEN cursor . (93)
. reduce 93
state 38
rollback_statement : ROLLBACK WORK . (94)
. reduce 94
state 39
opt_all_distinct : ALL . (97)
. reduce 97
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -