aboutsummaryrefslogtreecommitdiff
path: root/samples/select-from.ebnf
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2013-12-05 18:52:42 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2013-12-05 18:52:42 +0100
commit2bc82e51349d809a4aba5bde2c91f867ceddbeeb (patch)
tree536e315f7b476bc3ca64772e81d129717f170e9c /samples/select-from.ebnf
parentb96a4189d89146cdc6bba5e2c477a42b46f787cd (diff)
downloadgroff-tools-2bc82e51349d809a4aba5bde2c91f867ceddbeeb.tar.gz
added sample EBNF preprocessor input
Diffstat (limited to 'samples/select-from.ebnf')
-rw-r--r--samples/select-from.ebnf29
1 files changed, 29 insertions, 0 deletions
diff --git a/samples/select-from.ebnf b/samples/select-from.ebnf
new file mode 100644
index 0000000..5ace952
--- /dev/null
+++ b/samples/select-from.ebnf
@@ -0,0 +1,29 @@
+.EBNF
+###
+### SQL SELECT FROM statement
+###
+
+%linewid = linewid/2;
+%boxwid = boxwid*1.3;
+%boxht = boxht*0.8;
+%circlerad = boxht/2;
+
+`\f[BI]SELECT\fP`~Statement = `\fBSELECT\fP`, ("*" | {Derived~Column}~","),
+ Table;
+Derived~Column = Scalar~Expression, [`\fBAS\fP`, Column~Name];
+
+Table = `\fBFROM\fP`, {Table~Name}~",",
+ [`\f[BI]WHERE\fP`~Clause],
+ [`\f[BI]GROUP BY\fP`~Clause],
+ [`\f[BI]ORDER BY\fP`~Clause];
+
+`\f[BI]WHERE\fP`~Clause = `\fBWHERE\fP`, Condition;
+
+`\f[BI]GROUP BY\fP`~Clause = `\fBGROUP\fP`, `\fBBY\fP`,
+ {Column~Name}~",";
+
+`\f[BI]ORDER BY\fP`~Clause = `\fBORDER\fP`, `\fBBY\fP`, {
+ Column~Name,
+ [`\fBASCENDING\fP` | `\fBDESCENDING\fP`]
+ }~",";
+.EBNF