summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/gf-compiler.dot67
-rw-r--r--doc/gf-compiler.pngbin0 -> 20889 bytes
2 files changed, 67 insertions, 0 deletions
diff --git a/doc/gf-compiler.dot b/doc/gf-compiler.dot
new file mode 100644
index 000000000..2b2f3137a
--- /dev/null
+++ b/doc/gf-compiler.dot
@@ -0,0 +1,67 @@
+digraph {
+
+ gfe [label = "file.gfe", style = "solid", shape = "plaintext"];
+ gfe -> gf1 [label = " MkConcrete", style = "dotted"];
+
+gf1 [label = "file.gf", style = "solid", shape = "plaintext"];
+gf1 -> gf2 [label = " LexGF", style = "solid"];
+
+gf2 [label = "token list", style = "solid", shape = "plaintext"];
+gf2 -> gf3 [label = " ParGF", style = "solid"];
+
+gf3 [label = "source tree", style = "solid", shape = "plaintext"];
+gf3 -> gf4 [label = " SourceToGrammar", style = "solid"];
+
+ cf [label = "file.cf", style = "solid", shape = "plaintext"];
+ cf -> gf4 [label = " CF.PPrCF", style = "dotted"];
+
+ ebnf [label = "file.ebnf", style = "solid", shape = "plaintext"];
+ ebnf -> gf4 [label = " CF.EBNF", style = "dotted"];
+
+
+gf4 [label = "GF tree", style = "solid", shape = "plaintext"];
+gf4 -> gf5 [label = " Extend", style = "solid"];
+
+gf5 [label = "inheritance-linked GF tree", style = "solid", shape = "plaintext"];
+gf5 -> gf6 [label = " Rename", style = "solid"];
+
+gf6 [label = "name-resolved GF tree", style = "solid", shape = "plaintext"];
+gf6 -> gf7 [label = " CheckGrammar", style = "solid"];
+
+gf7 [label = "type-annotated GF tree", style = "solid", shape = "plaintext"];
+gf7 -> gf8 [label = " Optimize", style = "solid"];
+
+gf8 [label = "optimized GF tree", style = "solid", shape = "plaintext"];
+gf8 -> gf9 [label = " GrammarToCanon", style = "solid"];
+
+gf9 [label = "GFC tree", style = "solid", shape = "plaintext"];
+gf9 -> gfc [label = " BackOpt", style = "solid"];
+
+gfc [label = "optimized GFC tree", style = "solid", shape = "plaintext"];
+gfc -> gf11 [label = " PrintGFC", style = "solid"];
+
+gf11 [label = "file.gfc", style = "solid", shape = "plaintext"];
+
+
+ mcfg [label = "file.mcfg", style = "solid", shape = "plaintext"];
+ gfc -> mcfg [label = " PrintGFC", style = "dotted"];
+
+ bnf [label = "file.cf", style = "solid", shape = "plaintext"];
+ gfc -> bnf [label = " CF.PrLBNF", style = "dotted"];
+
+ happy [label = "file.y", style = "solid", shape = "plaintext"];
+ gfc -> happy [label = " BNFC", style = "dotted"];
+
+ bison [label = "file.y", style = "solid", shape = "plaintext"];
+ gfc -> bison [label = " BNFC", style = "dotted"];
+
+ cfg [label = "file.cfg", style = "solid", shape = "plaintext"];
+ gfc -> cfg [label = " Conversions.GFC", style = "dotted"];
+
+ srg [label = "file.gsl", style = "solid", shape = "plaintext"];
+ cfg -> srg [label = " Speech.SRG", style = "dotted"];
+
+ slf [label = "file.slf", style = "solid", shape = "plaintext"];
+ cfg -> slf [label = " Speech.CFGToFiniteState", style = "dotted"];
+
+}
diff --git a/doc/gf-compiler.png b/doc/gf-compiler.png
new file mode 100644
index 000000000..2679f71c6
--- /dev/null
+++ b/doc/gf-compiler.png
Binary files differ