| summaryrefslogtreecommitdiff | 
path: root/instance-calculator
diff options
Diffstat (limited to 'instance-calculator')
| -rw-r--r-- | instance-calculator/Makefile | 7 | ||||
| -rw-r--r-- | instance-calculator/src/Instances.java | 44 | ||||
| -rw-r--r-- | instance-calculator/src/Main.java | 1 | ||||
| -rw-r--r-- | instance-calculator/src/VHDLProcess.java | 31 | ||||
| -rw-r--r-- | instance-calculator/src/VHDLWaveform.java | 30 | 
5 files changed, 47 insertions, 66 deletions
| diff --git a/instance-calculator/Makefile b/instance-calculator/Makefile index 5f25d1a..9dddc88 100644 --- a/instance-calculator/Makefile +++ b/instance-calculator/Makefile @@ -44,7 +44,7 @@ CLASSPATH = "./src/"  SOURCES = $(wildcard src/*.java)  CLASSES = $(SOURCES:.java=.class)  MODEL_FILE = $(MODEL_DIR)/structural.mod -OUTPUT_FILE = $(MODEL_INSTANCES_DIR)/instances.mod +OUTPUT_FILE = $(MODEL_INSTANCES_DIR)/witness  ## Makefile Rules ##############################################################  compile: $(CLASSES) @@ -55,10 +55,10 @@ solutions:  clean:  	rm -f $(CLASSES) -	rm -f $(PATH_MODEL_DIR)/*.mod +	rm -f $(MODEL_INSTANCES_DIR)/*  clean_model: -	rm -f $(PATH_MODEL_DIR)/*.mod +	rm -f $(MODEL_INSTANCES_DIR)/*  clean_solutions: @@ -68,6 +68,7 @@ clean_solutions:  $(OUTPUT_FILE): $(MODEL_FILE) $(CLASSES)  	$(JAVA) -cp $(CLASSPATH) Main $(MODEL_FILE) "inst_" $(MODEL_INSTANCES_DIR) +	touch $(OUTPUT_FILE)  $(MODEL_INSTANCES_DIR):  	mkdir -p $(MODEL_INSTANCES_DIR) diff --git a/instance-calculator/src/Instances.java b/instance-calculator/src/Instances.java deleted file mode 100644 index d4954d9..0000000 --- a/instance-calculator/src/Instances.java +++ /dev/null @@ -1,44 +0,0 @@ -import java.util.*; - -public class Instances -{ -   private static final Map<Integer, String> INSTANCES; -   private static final OutputFile OUTPUT_FILE; - -   static -   { -      INSTANCES = new HashMap<Integer, String>(); -      OUTPUT_FILE = OutputFile.new_output_file("instances.mod"); -   } - -   public static String get_id_for (final int i) -   { -      final Integer j; -      String result; - -      j = new Integer(i); - -      result = INSTANCES.get(j); - -      if (result == null) -      { -         result = (Main.get_parameters().get_id_prefix() + i); - -         INSTANCES.put(j, result); -      } - -      return result; -   } - -   public static void write_predicates () -   { -      for (final String id: INSTANCES.values()) -      { -         OUTPUT_FILE.write("(add_element instance "); -         OUTPUT_FILE.write(id); -         OUTPUT_FILE.write(")"); - -         OUTPUT_FILE.insert_newline(); -      } -   } -} diff --git a/instance-calculator/src/Main.java b/instance-calculator/src/Main.java index a23da06..6fc950f 100644 --- a/instance-calculator/src/Main.java +++ b/instance-calculator/src/Main.java @@ -37,7 +37,6 @@ public class Main        }        create_instances(); -      Instances.write_predicates();        OutputFile.close_all();     } diff --git a/instance-calculator/src/VHDLProcess.java b/instance-calculator/src/VHDLProcess.java index eba5e46..07bac2e 100644 --- a/instance-calculator/src/VHDLProcess.java +++ b/instance-calculator/src/VHDLProcess.java @@ -102,7 +102,6 @@ public class VHDLProcess        result =           new VHDLProcess.Instance           ( -            Instances.get_id_for(instances_count),              this,              visibility,              iwfm_map @@ -115,6 +114,13 @@ public class VHDLProcess     public static class Instance     { +      private static int instances_count; + +      static +      { +         instances_count = 0; +      } +        private final String id;        private final VHDLProcess parent;        private final Map<VHDLWaveform.Instance, VHDLWaveform> iwfm_map; @@ -122,13 +128,18 @@ public class VHDLProcess        private Instance        ( -         final String id,           final VHDLProcess parent,           final VHDLEntity visibility,           final Map<VHDLWaveform.Instance, VHDLWaveform> iwfm_map        )        { -         this.id = id; +         this.id = +            ( +               Main.get_parameters().get_id_prefix() +               + "ps_" +               + instances_count +            ); +           this.parent = parent;           this.visibility = visibility;           this.iwfm_map = iwfm_map; @@ -168,7 +179,6 @@ public class VHDLProcess           result =              new VHDLProcess.Instance              ( -               Instances.get_id_for(parent.instances_count),                 parent,                 visibility,                 new_iwfm_map @@ -187,7 +197,12 @@ public class VHDLProcess           try           { -            of.write("(is_process_instance "); +            of.write("(add_element ps_instance "); +            of.write(id); +            of.write(")"); +            of.insert_newline(); + +            of.write("(is_ps_instance_of ");              of.write(id);              of.write(" ");              of.write(parent.get_id()); @@ -197,8 +212,6 @@ public class VHDLProcess              of.write("(is_visible_in ");              of.write(id);              of.write(" "); -            of.write(parent.get_id()); -            of.write(" ");              of.write(visibility.get_id());              of.write(")");              of.insert_newline(); @@ -212,12 +225,8 @@ public class VHDLProcess                 of.write("(process_instance_maps ");                 of.write(id);                 of.write(" "); -               of.write(parent.get_id()); -               of.write(" ");                 of.write(iwfm.getKey().get_id());                 of.write(" "); -               of.write(iwfm.getKey().get_parent().get_id()); -               of.write(" ");                 of.write(iwfm.getValue().get_id());                 of.write(")");                 of.insert_newline(); diff --git a/instance-calculator/src/VHDLWaveform.java b/instance-calculator/src/VHDLWaveform.java index 74edc88..89cf945 100644 --- a/instance-calculator/src/VHDLWaveform.java +++ b/instance-calculator/src/VHDLWaveform.java @@ -74,7 +74,6 @@ public class VHDLWaveform        result =           new VHDLWaveform.Instance           ( -            Instances.get_id_for(instances_count),              this,              visibility           ); @@ -104,18 +103,32 @@ public class VHDLWaveform     public static class Instance     { +      private static int instances_count; + +      static +      { +         instances_count = 0; +      } +        private final String id;        private final VHDLWaveform parent;        private final VHDLEntity visibility;        private Instance        ( -         final String id,           final VHDLWaveform parent,           final VHDLEntity visibility        )        { -         this.id = id; +         this.id = +            ( +               Main.get_parameters().get_id_prefix() +               + "wfm_" +               + instances_count +            ); + +         instances_count += 1; +           this.parent = parent;           this.visibility = visibility;        } @@ -134,7 +147,12 @@ public class VHDLWaveform        {           try           { -            of.write("(is_waveform_instance "); +            of.write("(add_element wfm_instance "); +            of.write(id); +            of.write(")"); +            of.insert_newline(); + +            of.write("(is_wfm_instance_of ");              of.write(id);              of.write(" ");              of.write(parent.get_id()); @@ -144,8 +162,6 @@ public class VHDLWaveform              of.write("(is_visible_in ");              of.write(id);              of.write(" "); -            of.write(parent.get_id()); -            of.write(" ");              of.write(visibility.get_id());              of.write(")");              of.insert_newline(); @@ -166,7 +182,7 @@ public class VHDLWaveform        @Override        public String toString ()        { -         return "<" + parent.get_id() + ", " + id + ">"; +         return id;        }     }  } | 


