summaryrefslogtreecommitdiff
path: root/rt/docs/design_docs/rql_parser_machine.graphviz
diff options
context:
space:
mode:
authorivan <ivan>2003-07-15 13:16:32 +0000
committerivan <ivan>2003-07-15 13:16:32 +0000
commit0ebeec96313dd7edfca340f01f8fbbbac1f4aa1d (patch)
tree64e852c61cbf09007d52cd6978bfddea721d00d2 /rt/docs/design_docs/rql_parser_machine.graphviz
parentc0567c688084e89fcd11bf82348b6c418f1254ac (diff)
parent945721f48f74d5cfffef7c7cf3a3d6bc2521f5dd (diff)
This commit was generated by cvs2svn to compensate for changes in r2526,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'rt/docs/design_docs/rql_parser_machine.graphviz')
-rw-r--r--rt/docs/design_docs/rql_parser_machine.graphviz32
1 files changed, 32 insertions, 0 deletions
diff --git a/rt/docs/design_docs/rql_parser_machine.graphviz b/rt/docs/design_docs/rql_parser_machine.graphviz
new file mode 100644
index 000000000..36463ecc9
--- /dev/null
+++ b/rt/docs/design_docs/rql_parser_machine.graphviz
@@ -0,0 +1,32 @@
+
+/* GraphViz graph representing the state diagram of the RQL parser.
+*/
+
+digraph G {
+
+ PAREN -> PAREN;
+ PAREN -> KEYWORD;
+ PAREN -> AGGREG;
+
+ AGGREG -> KEYWORD;
+ AGGREG -> PAREN;
+
+ KEYWORD -> OP;
+
+ OP -> VALUE;
+
+ VALUE -> PAREN;
+ VALUE -> AGGREG;
+
+/*
+ Blue lines represent added complexity of q[IN (x,y,z)] support.
+ The only place that the "blue tree" can be entered is at IN, and
+ exited at PAREN.
+*/
+ KEYWORD -> IN [color=blue];
+ IN -> PAREN [color=blue];
+ PAREN -> VALUE [color=blue];
+ VALUE -> COMMA [color=blue];
+ COMMA -> VALUE [color=blue];
+ VALUE -> PAREN [color=blue];
+}