diff options
author | ivan <ivan> | 2003-07-15 13:16:32 +0000 |
---|---|---|
committer | ivan <ivan> | 2003-07-15 13:16:32 +0000 |
commit | 945721f48f74d5cfffef7c7cf3a3d6bc2521f5dd (patch) | |
tree | c874aeac27d37fce2e41d64c3347c99527f6e66d /rt/docs/design_docs/rql_parser_machine.graphviz | |
parent | 160be29a0dc62e79a4fb95d2ab8c0c7e5996760e (diff) |
import of rt 3.0.4
Diffstat (limited to 'rt/docs/design_docs/rql_parser_machine.graphviz')
-rw-r--r-- | rt/docs/design_docs/rql_parser_machine.graphviz | 32 |
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]; +} |