Mercurial > urweb
comparison src/compiler.sig @ 270:b9b02613c0c2
Parsing jobs
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 02 Sep 2008 10:31:16 -0400 |
parents | bacd0ba869e1 |
children | e4baf03a3a64 |
comparison
equal
deleted
inserted
replaced
269:fac9fae654e2 | 270:b9b02613c0c2 |
---|---|
27 | 27 |
28 (* Ur/Web main compiler interface *) | 28 (* Ur/Web main compiler interface *) |
29 | 29 |
30 signature COMPILER = sig | 30 signature COMPILER = sig |
31 | 31 |
32 type job = string list | 32 type job = { |
33 val compile : job -> unit | 33 database : string option, |
34 sources : string list | |
35 } | |
36 val compile : string -> unit | |
34 val compileC : {cname : string, oname : string, ename : string} -> unit | 37 val compileC : {cname : string, oname : string, ename : string} -> unit |
35 | 38 |
36 type ('src, 'dst) phase | 39 type ('src, 'dst) phase |
37 type ('src, 'dst) transform | 40 type ('src, 'dst) transform |
38 | 41 |
39 val transform : ('src, 'dst) phase -> string -> ('src, 'dst) transform | 42 val transform : ('src, 'dst) phase -> string -> ('src, 'dst) transform |
40 val o : ('a, 'b) transform * ('b, 'c) transform -> ('a, 'c) transform | 43 val o : ('b, 'c) transform * ('a, 'b) transform -> ('a, 'c) transform |
41 | 44 |
42 val run : ('src, 'dst) transform -> 'src -> 'dst option | 45 val run : ('src, 'dst) transform -> 'src -> 'dst option |
43 val runPrint : ('src, 'dst) transform -> 'src -> unit | 46 val runPrint : ('src, 'dst) transform -> 'src -> unit |
44 val time : ('src, 'dst) transform -> 'src -> unit | 47 val time : ('src, 'dst) transform -> 'src -> unit |
45 val timePrint : ('src, 'dst) transform -> 'src -> unit | 48 val timePrint : ('src, 'dst) transform -> 'src -> unit |
46 | 49 |
47 val parseUr : (string, Source.file) phase | 50 val parseUr : (string, Source.file) phase |
48 val parseUrs : (string, Source.sgn_item list) phase | 51 val parseUrs : (string, Source.sgn_item list) phase |
52 val parseUrp : (string, job) phase | |
49 | 53 |
50 val parse : (job, Source.file) phase | 54 val parse : (job, Source.file) phase |
51 val elaborate : (Source.file, Elab.file) phase | 55 val elaborate : (Source.file, Elab.file) phase |
52 val explify : (Elab.file, Expl.file) phase | 56 val explify : (Elab.file, Expl.file) phase |
53 val corify : (Expl.file, Core.file) phase | 57 val corify : (Expl.file, Core.file) phase |
60 val untangle : (Mono.file, Mono.file) phase | 64 val untangle : (Mono.file, Mono.file) phase |
61 val mono_reduce : (Mono.file, Mono.file) phase | 65 val mono_reduce : (Mono.file, Mono.file) phase |
62 val mono_shake : (Mono.file, Mono.file) phase | 66 val mono_shake : (Mono.file, Mono.file) phase |
63 val cjrize : (Mono.file, Cjr.file) phase | 67 val cjrize : (Mono.file, Cjr.file) phase |
64 | 68 |
65 val toParse : (job, Source.file) transform | 69 val toParseJob : (string, job) transform |
66 val toElaborate : (job, Elab.file) transform | 70 val toParse : (string, Source.file) transform |
67 val toExplify : (job, Expl.file) transform | 71 val toElaborate : (string, Elab.file) transform |
68 val toCorify : (job, Core.file) transform | 72 val toExplify : (string, Expl.file) transform |
69 val toShake1 : (job, Core.file) transform | 73 val toCorify : (string, Core.file) transform |
70 val toTag : (job, Core.file) transform | 74 val toShake1 : (string, Core.file) transform |
71 val toReduce : (job, Core.file) transform | 75 val toTag : (string, Core.file) transform |
72 val toSpecialize : (job, Core.file) transform | 76 val toReduce : (string, Core.file) transform |
73 val toShake2 : (job, Core.file) transform | 77 val toSpecialize : (string, Core.file) transform |
74 val toMonoize : (job, Mono.file) transform | 78 val toShake2 : (string, Core.file) transform |
75 val toMono_opt1 : (job, Mono.file) transform | 79 val toMonoize : (string, Mono.file) transform |
76 val toUntangle : (job, Mono.file) transform | 80 val toMono_opt1 : (string, Mono.file) transform |
77 val toMono_reduce : (job, Mono.file) transform | 81 val toUntangle : (string, Mono.file) transform |
78 val toMono_shake : (job, Mono.file) transform | 82 val toMono_reduce : (string, Mono.file) transform |
79 val toMono_opt2 : (job, Mono.file) transform | 83 val toMono_shake : (string, Mono.file) transform |
80 val toCjrize : (job, Cjr.file) transform | 84 val toMono_opt2 : (string, Mono.file) transform |
85 val toCjrize : (string, Cjr.file) transform | |
81 | 86 |
82 end | 87 end |