summaryrefslogtreecommitdiff
path: root/doc/gf-compiler.dot
blob: 2b2f3137af5c758fd063a43e4d8a7f1ef4e60716 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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"];

}