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