Mercurial > urweb
comparison src/compiler.sig @ 201:f2cac0dba9bf
Consolidating compiler phase interface and adding timing
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 12 Aug 2008 14:40:07 -0400 |
parents | 8a70e2919e86 |
children | af5bd54cbbd7 |
comparison
equal
deleted
inserted
replaced
200:5dbba661deab | 201:f2cac0dba9bf |
---|---|
28 (* Laconic/Web main compiler interface *) | 28 (* Laconic/Web main compiler interface *) |
29 | 29 |
30 signature COMPILER = sig | 30 signature COMPILER = sig |
31 | 31 |
32 type job = string list | 32 type job = string list |
33 val compile : job -> unit | 33 (*val compile : job -> unit*) |
34 val compileC : {cname : string, oname : string, ename : string} -> unit | 34 val compileC : {cname : string, oname : string, ename : string} -> unit |
35 | 35 |
36 val parseLig : string -> Source.sgn_item list option | 36 type ('src, 'dst) phase |
37 val testLig : string -> unit | 37 type ('src, 'dst) transform |
38 | 38 |
39 val parseLac : string -> Source.file option | 39 val transform : ('src, 'dst) phase -> string -> ('src, 'dst) transform |
40 val testLac : string -> unit | 40 val o : ('a, 'b) transform * ('b, 'c) transform -> ('a, 'c) transform |
41 | 41 |
42 val parse : job -> Source.file option | 42 val run : ('src, 'dst) transform -> 'src -> 'dst option |
43 val elaborate : job -> Elab.file option | 43 val runPrint : ('src, 'dst) transform -> 'src -> unit |
44 val explify : job -> Expl.file option | 44 val time : ('src, 'dst) transform -> 'src -> unit |
45 val corify : job -> Core.file option | 45 val timePrint : ('src, 'dst) transform -> 'src -> unit |
46 val shake' : job -> Core.file option | |
47 val tag : job -> Core.file option | |
48 val reduce : job -> Core.file option | |
49 val specialize : job -> Core.file option | |
50 val shake : job -> Core.file option | |
51 val monoize : job -> Mono.file option | |
52 val mono_opt' : job -> Mono.file option | |
53 val untangle : job -> Mono.file option | |
54 val mono_reduce : job -> Mono.file option | |
55 val mono_shake : job -> Mono.file option | |
56 val mono_opt : job -> Mono.file option | |
57 val cjrize : job -> Cjr.file option | |
58 | 46 |
59 val testParse : job -> unit | 47 val parseLac : (string, Source.file) phase |
60 val testElaborate : job -> unit | 48 val parseLig : (string, Source.sgn_item list) phase |
61 val testExplify : job -> unit | 49 |
62 val testCorify : job -> unit | 50 val parse : (job, Source.file) phase |
63 val testShake' : job -> unit | 51 val elaborate : (Source.file, Elab.file) phase |
64 val testTag : job -> unit | 52 val explify : (Elab.file, Expl.file) phase |
65 val testReduce : job -> unit | 53 val corify : (Expl.file, Core.file) phase |
66 val testSpecialize : job -> unit | 54 |
67 val testShake : job -> unit | 55 val toParse : (job, Source.file) transform |
68 val testMonoize : job -> unit | 56 val toElaborate : (job, Elab.file) transform |
69 val testMono_opt' : job -> unit | 57 val toExplify : (job, Expl.file) transform |
70 val testUntangle : job -> unit | 58 val toCorify : (job, Core.file) transform |
71 val testMono_reduce : job -> unit | |
72 val testMono_shake : job -> unit | |
73 val testMono_opt : job -> unit | |
74 val testCjrize : job -> unit | |
75 | 59 |
76 end | 60 end |