summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-05-24 11:21:31 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-05-24 11:21:31 +0200
commit8cb12a01870067c2821ac5393556285466d820e8 (patch)
tree52422e3065b19c49ce6d28655f9c17b4a9a5b74f /src
parente403ff4206137e6f08874d3acae3d3fb7cf13253 (diff)
...
Diffstat (limited to 'src')
-rw-r--r--src/hastabel/Elements.java3
-rw-r--r--src/hastabel/LangParser.g410
-rw-r--r--src/hastabel/LogicWorld.java4
-rw-r--r--src/hastabel/Template.java2
-rw-r--r--src/hastabel/World.java15
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;
+ }
}