| summaryrefslogtreecommitdiff |
diff options
| author | nsensfel <SpamShield0@noot-noot.org> | 2018-05-28 13:01:50 +0200 |
|---|---|---|
| committer | nsensfel <SpamShield0@noot-noot.org> | 2018-05-28 13:01:50 +0200 |
| commit | bba41321ac671463cd1c778cb88d87647e4ca906 (patch) | |
| tree | d81106a9bd3036186e86ccdef8b84d946c6dc324 | |
| parent | 8a6e84b6f1ef95f1ef0a68e692c5d3c6f59fb645 (diff) | |
Adds the seeked predicate to the Theory file.
| -rw-r--r-- | src/hastabel2idp/Main.java | 2 | ||||
| -rw-r--r-- | src/hastabel2idp/idp/Project.java | 14 | ||||
| -rw-r--r-- | src/hastabel2idp/idp/Theory.java | 40 |
3 files changed, 50 insertions, 6 deletions
diff --git a/src/hastabel2idp/Main.java b/src/hastabel2idp/Main.java index 0974623..e64e132 100644 --- a/src/hastabel2idp/Main.java +++ b/src/hastabel2idp/Main.java @@ -146,6 +146,6 @@ public class Main project = new Project(params); - project.generate(world, property); + project.generate("my_property", world, property); } } diff --git a/src/hastabel2idp/idp/Project.java b/src/hastabel2idp/idp/Project.java index c97af84..9d398c6 100644 --- a/src/hastabel2idp/idp/Project.java +++ b/src/hastabel2idp/idp/Project.java @@ -25,7 +25,12 @@ public class Project theory = new Theory(params.get_theory_filename()); } - public void generate (final World world, final Formula property) + public void generate + ( + final String property_name, + final World world, + final Formula property + ) { final Collection<Type> types; final Collection<Predicate> predicates; @@ -73,7 +78,12 @@ public class Project } } - theory.add_formula(property); + theory.add_predicate + ( + property_name, + world.get_variables_manager().get_all_seeked(), + property + ); vocabulary.write_footer(); structure.write_footer(); diff --git a/src/hastabel2idp/idp/Theory.java b/src/hastabel2idp/idp/Theory.java index 9a060ed..52f4ee4 100644 --- a/src/hastabel2idp/idp/Theory.java +++ b/src/hastabel2idp/idp/Theory.java @@ -2,12 +2,12 @@ package hastabel2idp.idp; import hastabel2idp.OutputFile; -//import hastabel.lang.Predicate; +import hastabel.lang.Variable; //import hastabel.lang.Type; //import hastabel.lang.Element; //import java.util.Collection; -//import java.util.List; +import java.util.List; public class Theory { @@ -24,8 +24,42 @@ public class Theory out.insert_newline(); } - public void add_formula (final hastabel.lang.Formula formula) + public void add_predicate + ( + final String name, + final List<Variable> arguments, + final hastabel.lang.Formula formula + ) { + boolean is_first; + + for (final Variable argument: arguments) + { + out.write("!"); + out.write(argument.get_name()); + out.write(" ["); + out.write(argument.get_type().get_name()); + out.write("]: "); + } + + out.write(name); + out.write("("); + is_first = true; + + for (final Variable argument: arguments) + { + if (is_first) + { + is_first = false; + } + else + { + out.write(", "); + } + out.write(argument.get_name()); + } + + out.write(") <=> "); out.write(hastabel2idp.idp.lang.Formula.convert(formula).toString()); out.write("."); out.insert_newline(); |


