-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgrammar.json
More file actions
99 lines (87 loc) · 3.09 KB
/
grammar.json
File metadata and controls
99 lines (87 loc) · 3.09 KB
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
{
"non-terminals": [
"SQLSTATEMENT",
"CREATETABLESTMT",
"COLUMNDEFINITIONLIST",
"COLUMNDEFINITION",
"INSERTSTMT",
"COLUMNLIST",
"VALUELIST",
"SELECTSTMT",
"CONDITION",
"COMPARISON",
"OPERATOR",
"WHERECLAUSE",
"DATATYPE"
],
"terminals": [
"create",
"table",
"insert",
"into",
"values",
"select",
"from",
"where",
"(",
")",
",",
";",
"*",
"identifier",
"string",
"number",
"=",
">",
"<",
"between",
"like",
"in",
"and",
"or"
],
"start-symbol": "SQLSTATEMENT",
"productions": [
{ "lhs": "SQLSTATEMENT", "rhs": ["CREATETABLESTMT"] },
{ "lhs": "SQLSTATEMENT", "rhs": ["INSERTSTMT"] },
{ "lhs": "SQLSTATEMENT", "rhs": ["SELECTSTMT"] },
{ "lhs": "CREATETABLESTMT", "rhs": ["create", "table", "identifier", "(", "COLUMNDEFINITIONLIST", ")", ";"] },
{ "lhs": "COLUMNDEFINITIONLIST", "rhs": ["COLUMNDEFINITION"] },
{ "lhs": "COLUMNDEFINITIONLIST", "rhs": ["COLUMNDEFINITION", ",", "COLUMNDEFINITIONLIST"] },
{ "lhs": "COLUMNDEFINITION", "rhs": ["identifier", "DATATYPE"] },
{ "lhs": "INSERTSTMT", "rhs": ["insert", "into", "identifier", "values", "(", "VALUELIST", ")", ";"] },
{ "lhs": "INSERTSTMT", "rhs": ["insert", "into", "identifier", "(", "COLUMNLIST", ")", "values", "(", "VALUELIST", ")", ";"] },
{ "lhs": "COLUMNLIST", "rhs": ["identifier"] },
{ "lhs": "COLUMNLIST", "rhs": ["identifier", ",", "COLUMNLIST"] },
{ "lhs": "VALUELIST", "rhs": ["string"] },
{ "lhs": "VALUELIST", "rhs": ["number"] },
{ "lhs": "VALUELIST", "rhs": ["string", ",", "VALUELIST"] },
{ "lhs": "VALUELIST", "rhs": ["number", ",", "VALUELIST"] },
{ "lhs": "SELECTSTMT", "rhs": ["select", "COLUMNLIST", "from", "identifier", "WHERECLAUSE", ";"] },
{ "lhs": "SELECTSTMT", "rhs": ["select", "*", "from", "identifier", "WHERECLAUSE", ";"] },
{ "lhs": "WHERECLAUSE", "rhs": ["where", "CONDITION"] },
{ "lhs": "WHERECLAUSE", "rhs": ["#"] },
{ "lhs": "CONDITION", "rhs": ["COMPARISON"] },
{ "lhs": "CONDITION", "rhs": ["COMPARISON", "and", "CONDITION"] },
{ "lhs": "CONDITION", "rhs": ["COMPARISON", "or", "CONDITION"] },
{ "lhs": "CONDITION", "rhs": ["(", "CONDITION", ")"] },
{ "lhs": "COMPARISON", "rhs": ["identifier", "OPERATOR", "string"] },
{ "lhs": "COMPARISON", "rhs": ["identifier", "OPERATOR", "number"] },
{ "lhs": "OPERATOR", "rhs": ["="] },
{ "lhs": "OPERATOR", "rhs": [">"] },
{ "lhs": "OPERATOR", "rhs": ["<"] },
{ "lhs": "OPERATOR", "rhs": ["between"] },
{ "lhs": "OPERATOR", "rhs": ["like"] },
{ "lhs": "OPERATOR", "rhs": ["in"] },
{ "lhs": "DATATYPE", "rhs": ["char"] },
{ "lhs": "DATATYPE", "rhs": ["varchar"] },
{ "lhs": "DATATYPE", "rhs": ["int"] },
{ "lhs": "DATATYPE", "rhs": ["integer"] },
{ "lhs": "DATATYPE", "rhs": ["float"] },
{ "lhs": "DATATYPE", "rhs": ["double"] },
{ "lhs": "DATATYPE", "rhs": ["number"] },
{ "lhs": "DATATYPE", "rhs": ["date"] },
{ "lhs": "DATATYPE", "rhs": ["text"] },
{ "lhs": "DATATYPE", "rhs": ["boolean"] }
]
}