From 64c8b8413db37494f118c7a2f50c186830fb64dc Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Tue, 18 Jul 2017 17:47:49 +0200 Subject: Starting to link parser with the program. But apparently I messed up some kodkod logic. --- instr-to-kodkod/src/VariableManager.java | 57 ++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 instr-to-kodkod/src/VariableManager.java (limited to 'instr-to-kodkod/src/VariableManager.java') diff --git a/instr-to-kodkod/src/VariableManager.java b/instr-to-kodkod/src/VariableManager.java new file mode 100644 index 0000000..381a774 --- /dev/null +++ b/instr-to-kodkod/src/VariableManager.java @@ -0,0 +1,57 @@ +/* FIXME: finer imports. */ +import java.util.*; + +import kodkod.ast.*; + +public class VariableManager +{ + private final Map from_string; + private final Map tags; + private final String var_prefix; + private int next_id; + + public VariableManager (final String var_prefix) + { + from_string = new HashMap(); + tags = new HashMap(); + + this.var_prefix = var_prefix; + } + + private String generate_new_id () + { + final String result; + + result = var_prefix + next_id; + + next_id += 1; + + return result; + } + + public Variable get_variable (final String name) + { + Variable result; + + result = from_string.get(name); + + if (result == null) + { + result = Variable.unary(name); + + from_string.put(name, result); + } + + return result; + } + + public Variable generate_new_variable () + { + return get_variable(generate_new_id()); + } + + public void tag_variable (final String name, final String tag) + { + tags.put(name, tag); + } +} -- cgit v1.2.3-70-g09d2