From 8cb12a01870067c2821ac5393556285466d820e8 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Thu, 24 May 2018 11:21:31 +0200 Subject: ... --- src/hastabel/Elements.java | 3 +++ src/hastabel/LangParser.g4 | 10 ++++++---- src/hastabel/LogicWorld.java | 4 ++-- src/hastabel/Template.java | 2 +- src/hastabel/World.java | 15 +++++++++++++++ 5 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/hastabel/Elements.java b/src/hastabel/Elements.java index 0d493f9..c7c86dd 100644 --- a/src/hastabel/Elements.java +++ b/src/hastabel/Elements.java @@ -1,5 +1,8 @@ package hastabel; +import hastabel.lang.Element; +import hastabel.lang.Type; + import java.util.Collection; import java.util.Map; import java.util.HashMap; diff --git a/src/hastabel/LangParser.g4 b/src/hastabel/LangParser.g4 index 0333bc1..af6563c 100644 --- a/src/hastabel/LangParser.g4 +++ b/src/hastabel/LangParser.g4 @@ -11,6 +11,7 @@ options import hastabel.lang.Predicate; import hastabel.lang.Element; + import hastabel.lang.Type; } @members @@ -19,11 +20,12 @@ options /* of the class */ } -lang_file [World init_world]: +lang_file [World init_world] + @init { WORLD = init_world; - } + }: (lang_instr)* { @@ -169,7 +171,7 @@ new_template Template template; }: - ID { template = WORLD.get_templates_manager().declare(($ID.text)); } + ID { template = WORLD.get_templates_manager().declare(WORLD, ($ID.text)); } (WS)* L_BRAKT (WS)* (template_instr[template])* (WS)* R_BRAKT { } @@ -245,7 +247,7 @@ template_instr [Template template]: { final TemplateInstance ti; - ti = template.get_template_instances_manager.declare + ti = template.get_template_instances_manager().declare ( subtemplate, elem_names.next() diff --git a/src/hastabel/LogicWorld.java b/src/hastabel/LogicWorld.java index c14331a..17985f5 100644 --- a/src/hastabel/LogicWorld.java +++ b/src/hastabel/LogicWorld.java @@ -12,13 +12,13 @@ class LogicWorld public LogicWorld () { - elements_mgr = new Elements(); + elements_mgr = new Elements(true); predicates_mgr = new Predicates(null); } public LogicWorld (final LogicWorld parent) { - elements_mgr = new Elements(); + elements_mgr = new Elements(false); predicates_mgr = new Predicates(parent.get_predicates_manager()); } diff --git a/src/hastabel/Template.java b/src/hastabel/Template.java index d1077d3..1726f11 100644 --- a/src/hastabel/Template.java +++ b/src/hastabel/Template.java @@ -35,7 +35,7 @@ public class Template extends LogicWorld public void add_contents_to (final String prefix, final Template t) { - add_contents_to(prefix, t.elements, t.predicates); + add_contents_to(prefix, t.elements_mgr, t.predicates_mgr); } public void add_contents_to diff --git a/src/hastabel/World.java b/src/hastabel/World.java index 7dfce94..08aff4b 100644 --- a/src/hastabel/World.java +++ b/src/hastabel/World.java @@ -51,4 +51,19 @@ public class World extends LogicWorld { return !is_erroneous; } + + public Templates get_templates_manager () + { + return templates_mgr; + } + + public TemplateInstances get_template_instances_manager () + { + return template_inst_mgr; + } + + public Types get_types_manager () + { + return types_mgr; + } } -- cgit v1.2.3-70-g09d2