home
/
code
/
tiger.ml.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
439b0c00cb9f3b41ea49e34c0e6902d7096b2ecd
[tiger.ml.git]
/
tiger_temp.ml
1
open Printf
2
3
module Sym = Tiger_symbol
4
5
module Counter : sig
6
type t
7
8
val create : unit -> t
9
10
val next : t -> int
11
end = struct
12
type t = int ref
13
14
let create () =
15
ref 0
16
17
let next t =
18
incr t;
19
!t
20
end
21
22
module Temp = struct
23
type t = int
24
25
let t = Counter.create ()
26
27
let gen () =
28
Counter.next t
29
30
let to_string t =
31
sprintf "t%d" t
32
end
33
34
module Label = struct
35
type t = Sym.t
36
37
let counter = Counter.create ()
38
39
let of_string =
40
Sym.of_string
41
42
let gen () =
43
of_string (sprintf "L%d" (Counter.next counter))
44
45
let to_string =
46
Sym.to_string
47
end
This page took
0.062558 seconds
and
3
git commands to generate.