home
/
code
/
tiger.ml.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
Begin translation module
[tiger.ml.git]
/
tiger
/
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.09955 seconds
and
4
git commands to generate.