From 945721f48f74d5cfffef7c7cf3a3d6bc2521f5dd Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 15 Jul 2003 13:16:32 +0000 Subject: import of rt 3.0.4 --- rt/docs/design_docs/rql_parser_machine.graphviz | 32 +++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 rt/docs/design_docs/rql_parser_machine.graphviz (limited to 'rt/docs/design_docs/rql_parser_machine.graphviz') 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]; +} -- cgit v1.2.1