home
/
code
/
tiger.ml.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix Symbol.new_of_string - it should not save
[tiger.ml.git]
/
compiler
/
src
/
lib
/
tiger
/
tiger_symbol.ml
diff --git
a/compiler/src/lib/tiger/tiger_symbol.ml
b/compiler/src/lib/tiger/tiger_symbol.ml
index
b5d895b
..
747cb03
100644
(file)
--- a/
compiler/src/lib/tiger/tiger_symbol.ml
+++ b/
compiler/src/lib/tiger/tiger_symbol.ml
@@
-9,20
+9,19
@@
let counter = ref 0
let symbols = H.create 16
let symbols = H.create 16
-let
next
name =
+let
unique_of_string
name =
incr counter;
let symbol = !counter in
{name; symbol}
incr counter;
let symbol = !counter in
{name; symbol}
-let new_of_string name =
- let t = next name in
- H.replace symbols ~key:t.name ~data:t.symbol;
- t
-
let of_string name =
match H.find_opt symbols name with
let of_string name =
match H.find_opt symbols name with
- | Some s -> {name; symbol=s}
- | None -> new_of_string name
+ | Some symbol ->
+ {name; symbol}
+ | None ->
+ let t = unique_of_string name in
+ H.replace symbols ~key:t.name ~data:t.symbol;
+ t
let to_string {name; _} =
name
let to_string {name; _} =
name
This page took
0.023496 seconds
and
4
git commands to generate.