Add missing @Override annotations
Change-Id: I0ad0c0952a556de4b38a0f31f38cfdc84f843508
diff --git a/src/builtin/PRED_$atom_type0_2.java b/src/builtin/PRED_$atom_type0_2.java
index b3e81c3..99bf5b6 100644
--- a/src/builtin/PRED_$atom_type0_2.java
+++ b/src/builtin/PRED_$atom_type0_2.java
@@ -13,6 +13,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_$begin_exception_1.java b/src/builtin/PRED_$begin_exception_1.java
index c4583fe..54fefc7 100644
--- a/src/builtin/PRED_$begin_exception_1.java
+++ b/src/builtin/PRED_$begin_exception_1.java
@@ -16,6 +16,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_$call_2.java b/src/builtin/PRED_$call_2.java
index 7034583..3362933 100644
--- a/src/builtin/PRED_$call_2.java
+++ b/src/builtin/PRED_$call_2.java
@@ -20,6 +20,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_$call_closure_1.java b/src/builtin/PRED_$call_closure_1.java
index 6371364..b4c7b4e 100644
--- a/src/builtin/PRED_$call_closure_1.java
+++ b/src/builtin/PRED_$call_closure_1.java
@@ -12,6 +12,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_$compare0_3.java b/src/builtin/PRED_$compare0_3.java
index 99339f2..24fd061 100644
--- a/src/builtin/PRED_$compare0_3.java
+++ b/src/builtin/PRED_$compare0_3.java
@@ -13,6 +13,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a2 = arg2.dereference();
diff --git a/src/builtin/PRED_$compiled_predicate_3.java b/src/builtin/PRED_$compiled_predicate_3.java
index 4ac03ff..4d3a547 100644
--- a/src/builtin/PRED_$compiled_predicate_3.java
+++ b/src/builtin/PRED_$compiled_predicate_3.java
@@ -14,6 +14,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1 = arg1.dereference();
diff --git a/src/builtin/PRED_$compiled_predicate_or_builtin_3.java b/src/builtin/PRED_$compiled_predicate_or_builtin_3.java
index d220849..8b37fdb 100644
--- a/src/builtin/PRED_$compiled_predicate_or_builtin_3.java
+++ b/src/builtin/PRED_$compiled_predicate_or_builtin_3.java
@@ -14,6 +14,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1 = arg1.dereference();
diff --git a/src/builtin/PRED_$cut_1.java b/src/builtin/PRED_$cut_1.java
index fe44bf8..2814ac8 100644
--- a/src/builtin/PRED_$cut_1.java
+++ b/src/builtin/PRED_$cut_1.java
@@ -13,6 +13,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
// engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_$end_exception_1.java b/src/builtin/PRED_$end_exception_1.java
index 6e7385a..a42d2ff 100644
--- a/src/builtin/PRED_$end_exception_1.java
+++ b/src/builtin/PRED_$end_exception_1.java
@@ -14,6 +14,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_$erase_1.java b/src/builtin/PRED_$erase_1.java
index 427ea41..62548a9 100644
--- a/src/builtin/PRED_$erase_1.java
+++ b/src/builtin/PRED_$erase_1.java
@@ -13,6 +13,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1 = arg1;
diff --git a/src/builtin/PRED_$fast_write_2.java b/src/builtin/PRED_$fast_write_2.java
index d70ff3f..e826999 100644
--- a/src/builtin/PRED_$fast_write_2.java
+++ b/src/builtin/PRED_$fast_write_2.java
@@ -18,6 +18,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_$fast_writeq_2.java b/src/builtin/PRED_$fast_writeq_2.java
index be7deab..97fa0f4 100644
--- a/src/builtin/PRED_$fast_writeq_2.java
+++ b/src/builtin/PRED_$fast_writeq_2.java
@@ -18,6 +18,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_$get_current_B_1.java b/src/builtin/PRED_$get_current_B_1.java
index 7ee3bb6..b3cbc84 100644
--- a/src/builtin/PRED_$get_current_B_1.java
+++ b/src/builtin/PRED_$get_current_B_1.java
@@ -12,6 +12,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_$get_exception_1.java b/src/builtin/PRED_$get_exception_1.java
index 139ae12..5b8cc96 100644
--- a/src/builtin/PRED_$get_exception_1.java
+++ b/src/builtin/PRED_$get_exception_1.java
@@ -12,6 +12,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_$get_hash_manager_1.java b/src/builtin/PRED_$get_hash_manager_1.java
index 032859c..fca810d 100644
--- a/src/builtin/PRED_$get_hash_manager_1.java
+++ b/src/builtin/PRED_$get_hash_manager_1.java
@@ -13,6 +13,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_$get_instances_2.java b/src/builtin/PRED_$get_instances_2.java
index 6459148..707e8cd 100644
--- a/src/builtin/PRED_$get_instances_2.java
+++ b/src/builtin/PRED_$get_instances_2.java
@@ -18,6 +18,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_$get_level_1.java b/src/builtin/PRED_$get_level_1.java
index 55ad235..c42370f 100644
--- a/src/builtin/PRED_$get_level_1.java
+++ b/src/builtin/PRED_$get_level_1.java
@@ -12,6 +12,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
// engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_$get_prolog_impl_flag_2.java b/src/builtin/PRED_$get_prolog_impl_flag_2.java
index d53e7d9..2688b62 100644
--- a/src/builtin/PRED_$get_prolog_impl_flag_2.java
+++ b/src/builtin/PRED_$get_prolog_impl_flag_2.java
@@ -16,6 +16,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_$hash_adda_3.java b/src/builtin/PRED_$hash_adda_3.java
index 8fa9068..313fe70 100644
--- a/src/builtin/PRED_$hash_adda_3.java
+++ b/src/builtin/PRED_$hash_adda_3.java
@@ -21,6 +21,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2, a3;
diff --git a/src/builtin/PRED_$hash_addz_3.java b/src/builtin/PRED_$hash_addz_3.java
index 600deda..80e90ae 100644
--- a/src/builtin/PRED_$hash_addz_3.java
+++ b/src/builtin/PRED_$hash_addz_3.java
@@ -21,6 +21,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2, a3;
diff --git a/src/builtin/PRED_$hash_remove_first_3.java b/src/builtin/PRED_$hash_remove_first_3.java
index 7733ced..048bffe 100644
--- a/src/builtin/PRED_$hash_remove_first_3.java
+++ b/src/builtin/PRED_$hash_remove_first_3.java
@@ -21,6 +21,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2, a3;
diff --git a/src/builtin/PRED_$insert_2.java b/src/builtin/PRED_$insert_2.java
index 25d9525..e2df8dc 100644
--- a/src/builtin/PRED_$insert_2.java
+++ b/src/builtin/PRED_$insert_2.java
@@ -14,6 +14,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_$neck_cut_0.java b/src/builtin/PRED_$neck_cut_0.java
index 0049a92..c6618e3 100644
--- a/src/builtin/PRED_$neck_cut_0.java
+++ b/src/builtin/PRED_$neck_cut_0.java
@@ -12,6 +12,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
// engine.setB0();
engine.neckCut();
diff --git a/src/builtin/PRED_$read_token0_3.java b/src/builtin/PRED_$read_token0_3.java
index 68ac170..1369a3d 100644
--- a/src/builtin/PRED_$read_token0_3.java
+++ b/src/builtin/PRED_$read_token0_3.java
@@ -23,6 +23,7 @@
/* The a1 must be user, user_input, and
java.io.PushbackReader, otherwise fails. */
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2, a3;
diff --git a/src/builtin/PRED_$set_exception_1.java b/src/builtin/PRED_$set_exception_1.java
index bb8d33e..d95e8b6 100644
--- a/src/builtin/PRED_$set_exception_1.java
+++ b/src/builtin/PRED_$set_exception_1.java
@@ -12,6 +12,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_$set_prolog_impl_flag_2.java b/src/builtin/PRED_$set_prolog_impl_flag_2.java
index 1bb354b..c0f981b 100644
--- a/src/builtin/PRED_$set_prolog_impl_flag_2.java
+++ b/src/builtin/PRED_$set_prolog_impl_flag_2.java
@@ -15,6 +15,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_$statistics_2.java b/src/builtin/PRED_$statistics_2.java
index 897ebf7..db91e3b 100644
--- a/src/builtin/PRED_$statistics_2.java
+++ b/src/builtin/PRED_$statistics_2.java
@@ -20,6 +20,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine){
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_$term_hash_2.java b/src/builtin/PRED_$term_hash_2.java
index c209375..5e46c41 100644
--- a/src/builtin/PRED_$term_hash_2.java
+++ b/src/builtin/PRED_$term_hash_2.java
@@ -13,6 +13,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_$univ_2.java b/src/builtin/PRED_$univ_2.java
index f6918cf..ca2a1e1 100644
--- a/src/builtin/PRED_$univ_2.java
+++ b/src/builtin/PRED_$univ_2.java
@@ -19,10 +19,12 @@
this.cont = cont;
}
+ @Override
public String toString() {
return "=..(" + arg1 + "," + arg2 + ")";
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_$write_toString_2.java b/src/builtin/PRED_$write_toString_2.java
index 7c0dc18..0cc1671 100644
--- a/src/builtin/PRED_$write_toString_2.java
+++ b/src/builtin/PRED_$write_toString_2.java
@@ -19,6 +19,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_arg_3.java b/src/builtin/PRED_arg_3.java
index 1e472bc..8dfc519 100644
--- a/src/builtin/PRED_arg_3.java
+++ b/src/builtin/PRED_arg_3.java
@@ -17,6 +17,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2, a3;
diff --git a/src/builtin/PRED_atom_chars_2.java b/src/builtin/PRED_atom_chars_2.java
index e971f40..721b4f2 100644
--- a/src/builtin/PRED_atom_chars_2.java
+++ b/src/builtin/PRED_atom_chars_2.java
@@ -15,6 +15,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_atom_codes_2.java b/src/builtin/PRED_atom_codes_2.java
index e369f99..0687bba 100644
--- a/src/builtin/PRED_atom_codes_2.java
+++ b/src/builtin/PRED_atom_codes_2.java
@@ -16,6 +16,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_atom_concat_3.java b/src/builtin/PRED_atom_concat_3.java
index 8879cb8..7d16ea4 100644
--- a/src/builtin/PRED_atom_concat_3.java
+++ b/src/builtin/PRED_atom_concat_3.java
@@ -18,6 +18,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2, a3;
diff --git a/src/builtin/PRED_atom_length_2.java b/src/builtin/PRED_atom_length_2.java
index 60f9924..c778504 100644
--- a/src/builtin/PRED_atom_length_2.java
+++ b/src/builtin/PRED_atom_length_2.java
@@ -16,6 +16,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_char_code_2.java b/src/builtin/PRED_char_code_2.java
index 677d3be..f04ef1b 100644
--- a/src/builtin/PRED_char_code_2.java
+++ b/src/builtin/PRED_char_code_2.java
@@ -16,6 +16,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_close_2.java b/src/builtin/PRED_close_2.java
index eef0418..9937fde 100644
--- a/src/builtin/PRED_close_2.java
+++ b/src/builtin/PRED_close_2.java
@@ -37,6 +37,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.requireFeature(Prolog.Feature.IO, this, arg1);
engine.setB0();
diff --git a/src/builtin/PRED_current_engine_1.java b/src/builtin/PRED_current_engine_1.java
index 626a4aa..2bbdb38 100644
--- a/src/builtin/PRED_current_engine_1.java
+++ b/src/builtin/PRED_current_engine_1.java
@@ -12,6 +12,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_flush_output_1.java b/src/builtin/PRED_flush_output_1.java
index d248069..bbd5c26 100644
--- a/src/builtin/PRED_flush_output_1.java
+++ b/src/builtin/PRED_flush_output_1.java
@@ -17,6 +17,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_functor_3.java b/src/builtin/PRED_functor_3.java
index 0ec8ca0..4b99ff1 100644
--- a/src/builtin/PRED_functor_3.java
+++ b/src/builtin/PRED_functor_3.java
@@ -19,6 +19,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2, a3;
diff --git a/src/builtin/PRED_get_2.java b/src/builtin/PRED_get_2.java
index 2939324..57014b4 100644
--- a/src/builtin/PRED_get_2.java
+++ b/src/builtin/PRED_get_2.java
@@ -23,6 +23,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_get_char_2.java b/src/builtin/PRED_get_char_2.java
index 88bc3e1..8acd91b 100644
--- a/src/builtin/PRED_get_char_2.java
+++ b/src/builtin/PRED_get_char_2.java
@@ -31,6 +31,7 @@
return ((SymbolTerm)t).name().length() == 1;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_halt_1.java b/src/builtin/PRED_halt_1.java
index 827f1c3..88b1dad 100644
--- a/src/builtin/PRED_halt_1.java
+++ b/src/builtin/PRED_halt_1.java
@@ -14,6 +14,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_hash_clear_1.java b/src/builtin/PRED_hash_clear_1.java
index 09f815a..5fbe0fe 100644
--- a/src/builtin/PRED_hash_clear_1.java
+++ b/src/builtin/PRED_hash_clear_1.java
@@ -17,6 +17,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_hash_contains_key_2.java b/src/builtin/PRED_hash_contains_key_2.java
index 0bbe0c2..cdf7929 100644
--- a/src/builtin/PRED_hash_contains_key_2.java
+++ b/src/builtin/PRED_hash_contains_key_2.java
@@ -18,6 +18,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_hash_get_3.java b/src/builtin/PRED_hash_get_3.java
index 6830e28..f530e2c 100644
--- a/src/builtin/PRED_hash_get_3.java
+++ b/src/builtin/PRED_hash_get_3.java
@@ -19,6 +19,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2, a3;
diff --git a/src/builtin/PRED_hash_is_empty_1.java b/src/builtin/PRED_hash_is_empty_1.java
index 2075963..772edbc 100644
--- a/src/builtin/PRED_hash_is_empty_1.java
+++ b/src/builtin/PRED_hash_is_empty_1.java
@@ -17,6 +17,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_hash_keys_2.java b/src/builtin/PRED_hash_keys_2.java
index dc0a73b..3275efc 100644
--- a/src/builtin/PRED_hash_keys_2.java
+++ b/src/builtin/PRED_hash_keys_2.java
@@ -19,6 +19,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_hash_put_3.java b/src/builtin/PRED_hash_put_3.java
index f5377e8..f8ab3b8 100644
--- a/src/builtin/PRED_hash_put_3.java
+++ b/src/builtin/PRED_hash_put_3.java
@@ -19,6 +19,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2, a3;
diff --git a/src/builtin/PRED_hash_remove_2.java b/src/builtin/PRED_hash_remove_2.java
index 8bb7284..0f85f6a 100644
--- a/src/builtin/PRED_hash_remove_2.java
+++ b/src/builtin/PRED_hash_remove_2.java
@@ -18,6 +18,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_hash_size_2.java b/src/builtin/PRED_hash_size_2.java
index ed1623a..10408f5 100644
--- a/src/builtin/PRED_hash_size_2.java
+++ b/src/builtin/PRED_hash_size_2.java
@@ -19,6 +19,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_keysort_2.java b/src/builtin/PRED_keysort_2.java
index 6ff42f5..6c5fa46 100644
--- a/src/builtin/PRED_keysort_2.java
+++ b/src/builtin/PRED_keysort_2.java
@@ -20,6 +20,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
@@ -74,6 +75,7 @@
}
class KeySortComparator implements java.util.Comparator<Term> {
+ @Override
public int compare(Term t1, Term t2) {
Term arg1 = ((StructureTerm)t1).args()[0].dereference();
Term arg2 = ((StructureTerm)t2).args()[0].dereference();
diff --git a/src/builtin/PRED_new_hash_2.java b/src/builtin/PRED_new_hash_2.java
index 9ac2923..6d0ef05 100644
--- a/src/builtin/PRED_new_hash_2.java
+++ b/src/builtin/PRED_new_hash_2.java
@@ -19,6 +19,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_number_chars_2.java b/src/builtin/PRED_number_chars_2.java
index 14526c7..6b54c5c 100644
--- a/src/builtin/PRED_number_chars_2.java
+++ b/src/builtin/PRED_number_chars_2.java
@@ -16,6 +16,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_number_codes_2.java b/src/builtin/PRED_number_codes_2.java
index b87173c..f93be07 100644
--- a/src/builtin/PRED_number_codes_2.java
+++ b/src/builtin/PRED_number_codes_2.java
@@ -17,6 +17,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_open_4.java b/src/builtin/PRED_open_4.java
index d502060..17a9cc4 100644
--- a/src/builtin/PRED_open_4.java
+++ b/src/builtin/PRED_open_4.java
@@ -33,6 +33,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.requireFeature(Prolog.Feature.IO, this, arg1);
engine.setB0();
diff --git a/src/builtin/PRED_put_char_2.java b/src/builtin/PRED_put_char_2.java
index 6c4dba3..582310d 100644
--- a/src/builtin/PRED_put_char_2.java
+++ b/src/builtin/PRED_put_char_2.java
@@ -20,6 +20,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_put_code_2.java b/src/builtin/PRED_put_code_2.java
index 2de0a59..b39103b 100644
--- a/src/builtin/PRED_put_code_2.java
+++ b/src/builtin/PRED_put_code_2.java
@@ -20,6 +20,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_raise_exception_1.java b/src/builtin/PRED_raise_exception_1.java
index 54bca01..fb88008 100644
--- a/src/builtin/PRED_raise_exception_1.java
+++ b/src/builtin/PRED_raise_exception_1.java
@@ -14,6 +14,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1;
diff --git a/src/builtin/PRED_read_line_2.java b/src/builtin/PRED_read_line_2.java
index 5d53724..c32d8c5 100644
--- a/src/builtin/PRED_read_line_2.java
+++ b/src/builtin/PRED_read_line_2.java
@@ -20,6 +20,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_regex_compile_2.java b/src/builtin/PRED_regex_compile_2.java
index 147e5e5..3e48d0a 100644
--- a/src/builtin/PRED_regex_compile_2.java
+++ b/src/builtin/PRED_regex_compile_2.java
@@ -27,6 +27,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1 = arg1.dereference();
diff --git a/src/builtin/PRED_regex_match_3.java b/src/builtin/PRED_regex_match_3.java
index cf5fcd2..f23b048 100644
--- a/src/builtin/PRED_regex_match_3.java
+++ b/src/builtin/PRED_regex_match_3.java
@@ -33,6 +33,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
engine.cont = cont;
diff --git a/src/builtin/PRED_sort_2.java b/src/builtin/PRED_sort_2.java
index be71d37..0ae7b79 100644
--- a/src/builtin/PRED_sort_2.java
+++ b/src/builtin/PRED_sort_2.java
@@ -17,6 +17,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/builtin/PRED_tab_2.java b/src/builtin/PRED_tab_2.java
index f92c6df..bbe01fb 100644
--- a/src/builtin/PRED_tab_2.java
+++ b/src/builtin/PRED_tab_2.java
@@ -19,6 +19,7 @@
this.cont = cont;
}
+ @Override
public Operation exec(Prolog engine) {
engine.setB0();
Term a1, a2;
diff --git a/src/exceptions/BuiltinException.java b/src/exceptions/BuiltinException.java
index e025454..c31106e 100644
--- a/src/exceptions/BuiltinException.java
+++ b/src/exceptions/BuiltinException.java
@@ -28,6 +28,7 @@
message = _message;
}
+ @Override
public Term getMessageTerm() {
return message;
}
diff --git a/src/exceptions/EvaluationException.java b/src/exceptions/EvaluationException.java
index 72a07fb..be37db0 100644
--- a/src/exceptions/EvaluationException.java
+++ b/src/exceptions/EvaluationException.java
@@ -40,6 +40,7 @@
/** Returns a term representation of this <code>EvaluationException</code>:
* <code>evaluation_error(goal,argNo,errorType)</code>.
*/
+ @Override
public Term getMessageTerm() {
Term[] args = {
new JavaObjectTerm(goal),
@@ -49,6 +50,7 @@
}
/** Returns a string representation of this <code>EvaluationException</code>. */
+ @Override
public String toString() {
String s = "{EVALUATION ERROR: " + goal.toString();
if (argNo > 0)
diff --git a/src/exceptions/ExistenceException.java b/src/exceptions/ExistenceException.java
index 4c1b843..c9e21c9 100644
--- a/src/exceptions/ExistenceException.java
+++ b/src/exceptions/ExistenceException.java
@@ -51,6 +51,7 @@
/** Returns a term representation of this <code>ExistenceException</code>:
* <code>existence_error(goal,argNo,objType,culprit,message)</code>.
*/
+ @Override
public Term getMessageTerm() {
Term[] args = {
new JavaObjectTerm(goal),
@@ -62,6 +63,7 @@
}
/** Returns a string representation of this <code>ExistenceException</code>. */
+ @Override
public String toString() {
String s = "{EXISTENCE ERROR:";
if (argNo > 0)
diff --git a/src/exceptions/IllegalDomainException.java b/src/exceptions/IllegalDomainException.java
index c0d72f6..7eb45b1 100644
--- a/src/exceptions/IllegalDomainException.java
+++ b/src/exceptions/IllegalDomainException.java
@@ -54,6 +54,7 @@
/** Returns a term representation of this <code>IllegalDomainException</code>:
* <code>domain_error(goal,argNo,type,culprit)</code>.
*/
+ @Override
public Term getMessageTerm() {
Term[] args = {
new JavaObjectTerm(goal),
@@ -64,6 +65,7 @@
}
/** Returns a string representation of this <code>IllegalDomainException</code>. */
+ @Override
public String toString() {
String s = "{DOMAIN ERROR: " + goal.toString();
if (argNo > 0)
diff --git a/src/exceptions/IllegalTypeException.java b/src/exceptions/IllegalTypeException.java
index 3ecfe93..61a9b7f 100644
--- a/src/exceptions/IllegalTypeException.java
+++ b/src/exceptions/IllegalTypeException.java
@@ -51,6 +51,7 @@
/** Returns a term representation of this <code>IllegalTypeException</code>:
* <code>type_error(goal,argNo,type,culprit)</code>.
*/
+ @Override
public Term getMessageTerm() {
Term[] args = {
new JavaObjectTerm(goal),
@@ -61,6 +62,7 @@
}
/** Returns a string representation of this <code>IllegalTypeException</code>. */
+ @Override
public String toString() {
String s = "{TYPE ERROR: " + goal.toString();
if (argNo > 0)
diff --git a/src/exceptions/InternalException.java b/src/exceptions/InternalException.java
index 9ce9495..5ad2fe9 100644
--- a/src/exceptions/InternalException.java
+++ b/src/exceptions/InternalException.java
@@ -26,12 +26,14 @@
/** Returns a term representation of this <code>InternalException</code>:
* <code>internal_error(message)</code>.
*/
+ @Override
public Term getMessageTerm() {
Term[] args = {SymbolTerm.create(message)};
return new StructureTerm(INTERNAL_ERROR, args);
}
/** Returns a string representation of this <code>InternalException</code>. */
+ @Override
public String toString() {
String s = "{INTERNAL ERROR: " + message;
s += "}";
diff --git a/src/exceptions/JavaException.java b/src/exceptions/JavaException.java
index 6d0b347..7e9d61c 100644
--- a/src/exceptions/JavaException.java
+++ b/src/exceptions/JavaException.java
@@ -39,6 +39,7 @@
/** Returns a term representation of this <code>JavaException</code>:
* <code>java_error(goal,argNo,exception)</code>.
*/
+ @Override
public Term getMessageTerm() {
Term[] args = {
new JavaObjectTerm(goal),
@@ -53,6 +54,7 @@
}
/** Returns a string representation of this <code>JavaException</code>. */
+ @Override
public String toString() {
String s = "{JAVA ERROR: " + goal.toString();
if (argNo > 0)
diff --git a/src/exceptions/PInstantiationException.java b/src/exceptions/PInstantiationException.java
index e190520..fab73e7 100644
--- a/src/exceptions/PInstantiationException.java
+++ b/src/exceptions/PInstantiationException.java
@@ -34,12 +34,14 @@
/** Returns a term representation of this <code>PInstantiationException</code>:
* <code>instantiation_error(goal,argNo)</code>.
*/
+ @Override
public Term getMessageTerm() {
Term[] args = {new JavaObjectTerm(goal), new IntegerTerm(argNo)};
return new StructureTerm(INSTANTIATION_ERROR, args);
}
/** Returns a string representation of this <code>PInstantiationException</code>. */
+ @Override
public String toString() {
String s = "{INSTANTIATION ERROR: " + goal.toString();
if (argNo > 0)
diff --git a/src/exceptions/PermissionException.java b/src/exceptions/PermissionException.java
index e7ad609..b4a029d 100644
--- a/src/exceptions/PermissionException.java
+++ b/src/exceptions/PermissionException.java
@@ -54,6 +54,7 @@
/** Returns a term representation of this <code>PermissionException</code>:
* <code>permission_error(goal,argNo,operation,permissionType,culprit,message)</code>.
*/
+ @Override
public Term getMessageTerm() {
Term[] args = {
new JavaObjectTerm(goal),
@@ -65,6 +66,7 @@
}
/** Returns a string representation of this <code>PermissionException</code>. */
+ @Override
public String toString() {
String s = "{PERMISSION ERROR: " + goal.toString();
s += " - can not " + operation + " " + permissionType + " " + culprit.toString();
diff --git a/src/exceptions/RepresentationException.java b/src/exceptions/RepresentationException.java
index 320f277..50f73a3 100644
--- a/src/exceptions/RepresentationException.java
+++ b/src/exceptions/RepresentationException.java
@@ -42,6 +42,7 @@
/** Returns a term representation of this <code>RepresentationException</code>:
* <code>representation_error(goal,argNo,flag)</code>.
*/
+ @Override
public Term getMessageTerm() {
Term[] args = {
new JavaObjectTerm(goal),
@@ -51,6 +52,7 @@
}
/** Returns a string representation of this <code>RepresentationException</code>. */
+ @Override
public String toString() {
String s = "{REPRESENTATION ERROR: " + goal.toString();
if (argNo > 0)
diff --git a/src/exceptions/SyntaxException.java b/src/exceptions/SyntaxException.java
index 8912f34..161869d 100644
--- a/src/exceptions/SyntaxException.java
+++ b/src/exceptions/SyntaxException.java
@@ -49,6 +49,7 @@
/** Returns a term representation of this <code>SyntaxException</code>:
* <code>syntax_error(goal,argNo,type,culprit,message)</code>.
*/
+ @Override
public Term getMessageTerm() {
Term[] args = {
new JavaObjectTerm(goal),
@@ -60,6 +61,7 @@
}
/** Returns a string representation of this <code>SyntaxException</code>. */
+ @Override
public String toString() {
String s = "{SYNTAX ERROR: " + goal.toString();
if (argNo > 0)
diff --git a/src/exceptions/SystemException.java b/src/exceptions/SystemException.java
index 4689a86..44507b3 100644
--- a/src/exceptions/SystemException.java
+++ b/src/exceptions/SystemException.java
@@ -26,12 +26,14 @@
/** Returns a term representation of this <code>SystemException</code>:
* <code>system_error(message)</code>.
*/
+ @Override
public Term getMessageTerm() {
Term[] args = {SymbolTerm.create(message)};
return new StructureTerm(SYSTEM_ERROR, args);
}
/** Returns a string representation of this <code>SystemException</code>. */
+ @Override
public String toString() {
String s = "{SYSTEM ERROR: " + message;
s += "}";
diff --git a/src/exceptions/TermException.java b/src/exceptions/TermException.java
index b95d4e2..634f36b 100644
--- a/src/exceptions/TermException.java
+++ b/src/exceptions/TermException.java
@@ -25,6 +25,7 @@
message = _message;
}
+ @Override
public Term getMessageTerm() {
return message;
}
diff --git a/src/lang/ChoicePointFrame.java b/src/lang/ChoicePointFrame.java
index e7b6b5c..69cef32 100644
--- a/src/lang/ChoicePointFrame.java
+++ b/src/lang/ChoicePointFrame.java
@@ -20,6 +20,7 @@
engine.cont = this.cont;
}
+ @Override
public String toString() {
String t = " time:" + timeStamp + "\n" ;
t = t + " cont:" + cont + "\n";
@@ -36,6 +37,7 @@
this.r1 = engine.r1;
}
+ @Override
void restore(Prolog engine) {
engine.cont = this.cont;
engine.r1 = this.r1;
@@ -50,6 +52,7 @@
this.r2 = engine.r2;
}
+ @Override
void restore(Prolog engine) {
engine.cont = this.cont;
engine.r1 = this.r1;
@@ -66,6 +69,7 @@
this.r3 = engine.r3;
}
+ @Override
void restore(Prolog engine) {
engine.cont = this.cont;
engine.r1 = this.r1;
@@ -84,6 +88,7 @@
this.r4 = engine.r4;
}
+ @Override
void restore(Prolog engine) {
engine.cont = this.cont;
engine.r1 = this.r1;
@@ -104,6 +109,7 @@
this.r5 = engine.r5;
}
+ @Override
void restore(Prolog engine) {
engine.cont = this.cont;
engine.r1 = this.r1;
@@ -126,6 +132,7 @@
this.r6 = engine.r6;
}
+ @Override
void restore(Prolog engine) {
engine.cont = this.cont;
engine.r1 = this.r1;
@@ -150,6 +157,7 @@
this.r7 = engine.r7;
}
+ @Override
void restore(Prolog engine) {
engine.cont = this.cont;
engine.r1 = this.r1;
@@ -176,6 +184,7 @@
this.r8 = engine.r8;
}
+ @Override
void restore(Prolog engine) {
engine.cont = this.cont;
engine.r1 = this.r1;
@@ -204,6 +213,7 @@
this.r9 = engine.r9;
}
+ @Override
void restore(Prolog engine) {
engine.cont = this.cont;
engine.r1 = this.r1;
@@ -234,6 +244,7 @@
this.r10 = engine.r10;
}
+ @Override
void restore(Prolog engine) {
engine.cont = this.cont;
engine.r1 = this.r1;
diff --git a/src/lang/ClosureTerm.java b/src/lang/ClosureTerm.java
index 053035c..b3c4acd 100644
--- a/src/lang/ClosureTerm.java
+++ b/src/lang/ClosureTerm.java
@@ -23,6 +23,7 @@
return TYPE_CLOSURE;
}
+ @Override
public boolean unify(Term t, Trail trail) {
// t = t.dereference();
if (t instanceof VariableTerm)
@@ -32,8 +33,10 @@
return code.equals(((ClosureTerm)t).code);
}
+ @Override
public String toQuotedString() { return toString(); }
+ @Override
public String name() { return ""; }
/* Object */
@@ -47,17 +50,20 @@
* equivalent to this <code>ClosureTerm</code>, false otherwise.
* @see #compareTo
*/
+ @Override
public boolean equals(Object obj) { // obj must be dereferenced
if (! (obj instanceof ClosureTerm))
return false;
return code.equals(((ClosureTerm)obj).code);
}
+ @Override
public int hashCode() {
return code.hashCode();
}
/** Returns a string representation of this <code>ClosureTerm</code>. */
+ @Override
public String toString() {
return "closure[" + code.toString() + "]";
}
@@ -72,6 +78,7 @@
* a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
* and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
*/
+ @Override
public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced
if (! (anotherTerm instanceof ClosureTerm))
return AFTER;
diff --git a/src/lang/DoubleTerm.java b/src/lang/DoubleTerm.java
index dbb80f7..479cf41 100644
--- a/src/lang/DoubleTerm.java
+++ b/src/lang/DoubleTerm.java
@@ -38,6 +38,7 @@
return TYPE_DOUBLE;
}
+ @Override
public boolean unify(Term t, Trail trail) {
if (t instanceof VariableTerm)
return ((VariableTerm)t).unify(this, trail);
@@ -46,6 +47,7 @@
return this.val == ((DoubleTerm)t).value();
}
+ @Override
public String name() { return ""; }
/**
@@ -53,6 +55,7 @@
* <code>convertible(Double.class, type)</code>.
* @see Term#convertible(Class, Class)
*/
+ @Override
public boolean convertible(Class type) { return convertible(Double.class, type); }
/**
@@ -61,10 +64,12 @@
* @return a <code>java.lang.Double</code> object equivalent to
* this <code>DoubleTerm</code>.
*/
+ @Override
public Object toJava() { return Double.valueOf(val); }
/* Object */
/** Returns a string representation of this <code>DoubleTerm</code>. */
+ @Override
public String toString() { return Double.toString(this.val); }
/**
@@ -76,12 +81,14 @@
* point number equivalent to this <code>DoubleTerm</code>, false otherwise.
* @see #compareTo
*/
+ @Override
public boolean equals(Object obj) {
if (! (obj instanceof DoubleTerm))
return false;
return Double.doubleToLongBits(this.val) == Double.doubleToLongBits(((DoubleTerm)obj).val);
}
+ @Override
public int hashCode() {
long bits = Double.doubleToLongBits(this.val);
return (int)(bits ^ (bits >>> 32));
@@ -97,6 +104,7 @@
* a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
* and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
*/
+ @Override
public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced
if (anotherTerm instanceof VariableTerm)
return AFTER;
@@ -106,94 +114,119 @@
}
/* NumberTerm */
+ @Override
public int intValue() { return (int)val; }
+ @Override
public long longValue() { return (long)val; }
+ @Override
public double doubleValue() { return val; }
+ @Override
public int arithCompareTo(NumberTerm t) {
return Double.compare(this.val, t.doubleValue());
}
+ @Override
public NumberTerm abs() { return new DoubleTerm(Math.abs(this.val)); }
+ @Override
public NumberTerm acos() { return new DoubleTerm(Math.acos(this.val)); }
+ @Override
public NumberTerm add(NumberTerm t) { return new DoubleTerm(this.val + t.doubleValue()); }
/**
* Throws a <code>type_error</code>.
* @exception IllegalTypeException
*/
+ @Override
public NumberTerm and(NumberTerm t) { throw new IllegalTypeException("integer", this); }
// public NumberTerm and(NumberTerm t) { return new IntegerTerm(this.intValue() & t.intValue()); }
+ @Override
public NumberTerm asin() { return new DoubleTerm(Math.asin(this.val)); }
+ @Override
public NumberTerm atan() { return new DoubleTerm(Math.atan(this.val)); }
+ @Override
public NumberTerm ceil() { return new IntegerTerm((int) Math.ceil(this.val)); }
+ @Override
public NumberTerm cos() { return new DoubleTerm(Math.cos(this.val)); }
/**
* @exception EvaluationException if the given argument
* <code>NumberTerm</code> represents <coe>0</code>.
*/
+ @Override
public NumberTerm divide(NumberTerm t) {
if (t.doubleValue() == 0)
throw new EvaluationException("zero_divisor");
return new DoubleTerm(this.val / t.doubleValue());
}
+ @Override
public NumberTerm exp() { return new DoubleTerm(Math.exp(this.val)); }
+ @Override
public NumberTerm floatIntPart() {
return new DoubleTerm(Math.signum(this.val) * Math.floor(Math.abs(this.val)));
}
+ @Override
public NumberTerm floatFractPart() {
return new DoubleTerm(this.val - Math.signum(this.val) * Math.floor(Math.abs(this.val)));
}
+ @Override
public NumberTerm floor() { return new IntegerTerm((int) Math.floor(this.val)); }
/**
* Throws a <code>type_error</code>.
* @exception IllegalTypeException
*/
+ @Override
public NumberTerm intDivide(NumberTerm t) { throw new IllegalTypeException("integer", this); }
// public NumberTerm intDivide(NumberTerm t) { return new IntegerTerm((int)(this.intValue() / t.intValue())); }
/**
* @exception EvaluationException if this object represents <coe>0</code>.
*/
+ @Override
public NumberTerm log() {
if (this.val == 0)
throw new EvaluationException("undefined");
return new DoubleTerm(Math.log(this.val));
}
+ @Override
public NumberTerm max(NumberTerm t) { return new DoubleTerm(Math.max(this.val, t.doubleValue())); }
+ @Override
public NumberTerm min(NumberTerm t) { return new DoubleTerm(Math.min(this.val, t.doubleValue())); }
/**
* Throws a <code>type_error</code>.
* @exception IllegalTypeException
*/
+ @Override
public NumberTerm mod(NumberTerm t) { throw new IllegalTypeException("integer", this); }
// public NumberTerm mod(NumberTerm t) { return new IntegerTerm(this.intValue() % t.intValue()); }
+ @Override
public NumberTerm multiply(NumberTerm t) { return new DoubleTerm(this.val * t.doubleValue()); }
+ @Override
public NumberTerm negate() { return new DoubleTerm(- this.val); }
/**
* Throws a <code>type_error</code>.
* @exception IllegalTypeException
*/
+ @Override
public NumberTerm not() { throw new IllegalTypeException("integer", this); }
// public NumberTerm not() { return new IntegerTerm(~ this.intValue()); }
@@ -201,51 +234,66 @@
* Throws a <code>type_error</code>.
* @exception IllegalTypeException
*/
+ @Override
public NumberTerm or(NumberTerm t) { throw new IllegalTypeException("integer", this); }
// public NumberTerm or(NumberTerm t) { return new IntegerTerm(this.intValue() | t.intValue()); }
+ @Override
public NumberTerm pow(NumberTerm t) { return new DoubleTerm(Math.pow(this.val, t.doubleValue())); }
+ @Override
public NumberTerm rint() { return new DoubleTerm(Math.rint(this.val)); }
+ @Override
public NumberTerm round() { return new IntegerTerm((int) Math.round(this.val)); }
/**
* Throws a <code>type_error</code>.
* @exception IllegalTypeException
*/
+ @Override
public NumberTerm shiftLeft(NumberTerm t) { throw new IllegalTypeException("integer", this); }
/**
* Throws a <code>type_error</code>.
* @exception IllegalTypeException
*/
+ @Override
public NumberTerm shiftRight(NumberTerm t) { throw new IllegalTypeException("integer", this); }
+ @Override
public NumberTerm signum() {return new DoubleTerm(Math.signum(this.val)); }
+ @Override
public NumberTerm sin() { return new DoubleTerm(Math.sin(this.val)); }
/**
* @exception EvaluationException if this object represents
* a floating point number less than <coe>0</code>.
*/
+ @Override
public NumberTerm sqrt() {
if (this.val < 0)
throw new EvaluationException("undefined");
return new DoubleTerm(Math.sqrt(this.val));
}
+ @Override
public NumberTerm subtract(NumberTerm t) { return new DoubleTerm(this.val - t.doubleValue()); }
+ @Override
public NumberTerm tan() { return new DoubleTerm(Math.tan(this.val)); }
+ @Override
public NumberTerm toDegrees() { return new DoubleTerm(Math.toDegrees(this.val)); }
+ @Override
public NumberTerm toFloat() { return this; }
+ @Override
public NumberTerm toRadians() { return new DoubleTerm(Math.toRadians(this.val)); }
+ @Override
public NumberTerm truncate() {
if (this.val >= 0)
return new IntegerTerm((int) Math.floor(this.val));
@@ -257,5 +305,6 @@
* Throws a <code>type_error</code>.
* @exception IllegalTypeException
*/
+ @Override
public NumberTerm xor(NumberTerm t) { throw new IllegalTypeException("integer", this); }
}
diff --git a/src/lang/Failure.java b/src/lang/Failure.java
index 7b109a0..ddd4823 100644
--- a/src/lang/Failure.java
+++ b/src/lang/Failure.java
@@ -13,6 +13,7 @@
public static final Failure FAILURE = new Failure();
private Failure() {}
+ @Override
public Operation exec(Prolog engine) {
engine.control.fail();
engine.halt = 1; // halt(0)
@@ -20,6 +21,7 @@
}
/** Returns a string representation of this <code>Failure</code>. */
+ @Override
public String toString(){ return "Failure"; }
public static final Operation fail_0 = new PRED_fail_0();
diff --git a/src/lang/IntegerTerm.java b/src/lang/IntegerTerm.java
index d9e1596..3684377 100644
--- a/src/lang/IntegerTerm.java
+++ b/src/lang/IntegerTerm.java
@@ -35,6 +35,7 @@
}
/* Term */
+ @Override
public boolean unify(Term t, Trail trail) {
if (t instanceof VariableTerm)
return ((VariableTerm)t).unify(this, trail);
@@ -49,8 +50,10 @@
* <code>convertible(Integer.class, type)</code>.
* @see Term#convertible(Class, Class)
*/
+ @Override
public boolean convertible(Class type) { return convertible(Integer.class, type); }
+ @Override
public String name() { return ""; }
/**
@@ -59,10 +62,12 @@
* @return a <code>java.lang.Integer</code> object equivalent to
* this <code>IntegerTerm</code>.
*/
+ @Override
public Object toJava() { return Integer.valueOf(val); }
/* Object */
/** Returns a string representation of this <code>IntegerTerm</code>. */
+ @Override
public String toString() { return Integer.toString(this.val); }
/**
@@ -74,12 +79,14 @@
* equivalent to this <code>IntegerTerm</code>, false otherwise.
* @see #compareTo
*/
+ @Override
public boolean equals(Object obj) {
if (! (obj instanceof IntegerTerm))
return false;
return this.val == ((IntegerTerm)obj).value();
}
+ @Override
public int hashCode() { return this.val; }
/* Comparable */
@@ -92,6 +99,7 @@
* a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
* and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
*/
+ @Override
public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced.
if (anotherTerm instanceof VariableTerm || anotherTerm instanceof DoubleTerm)
return AFTER;
@@ -106,12 +114,16 @@
}
/* NumberTerm */
+ @Override
public int intValue() { return this.val; }
+ @Override
public long longValue() { return (long)(this.val); }
+ @Override
public double doubleValue() { return (double)(this.val); }
+ @Override
public int arithCompareTo(NumberTerm t) {
if (t instanceof DoubleTerm)
return - (t.arithCompareTo(this));
@@ -123,10 +135,13 @@
return BEFORE;
}
+ @Override
public NumberTerm abs() { return new IntegerTerm(Math.abs(this.val)); }
+ @Override
public NumberTerm acos() { return new DoubleTerm(Math.acos(this.doubleValue())); }
+ @Override
public NumberTerm add(NumberTerm t) {
if (t instanceof DoubleTerm)
return t.add(this);
@@ -137,36 +152,46 @@
* @exception IllegalTypeException if the given argument
* <code>NumberTerm</code> is a floating point number.
*/
+ @Override
public NumberTerm and(NumberTerm t) {
if (t instanceof DoubleTerm)
throw new IllegalTypeException("integer", t);
return new IntegerTerm(this.val & t.intValue());
}
+ @Override
public NumberTerm asin() { return new DoubleTerm(Math.asin(this.doubleValue())); }
+ @Override
public NumberTerm atan() { return new DoubleTerm(Math.atan(this.doubleValue())); }
+ @Override
public NumberTerm ceil() { return this; }
+ @Override
public NumberTerm cos() { return new DoubleTerm(Math.cos(this.doubleValue())); }
/**
* @exception EvaluationException if the given argument
* <code>NumberTerm</code> represents <coe>0</code>.
*/
+ @Override
public NumberTerm divide(NumberTerm t) {
if (t.doubleValue() == 0)
throw new EvaluationException("zero_divisor");
return new DoubleTerm(this.doubleValue() / t.doubleValue());
}
+ @Override
public NumberTerm exp() { return new DoubleTerm(Math.exp(this.doubleValue())); }
+ @Override
public NumberTerm floatIntPart() { throw new IllegalTypeException("float", this); }
+ @Override
public NumberTerm floatFractPart() { throw new IllegalTypeException("float", this); }
+ @Override
public NumberTerm floor() { return this; }
/**
@@ -175,6 +200,7 @@
* @exception EvaluationException if the given argument
* <code>NumberTerm</code> represents <coe>0</code>.
*/
+ @Override
public NumberTerm intDivide(NumberTerm t) {
if (t instanceof DoubleTerm)
throw new IllegalTypeException("integer", t);
@@ -186,18 +212,21 @@
/**
* @exception EvaluationException if this object represents <coe>0</code>.
*/
+ @Override
public NumberTerm log() {
if (this.val == 0)
throw new EvaluationException("undefined");
return new DoubleTerm(Math.log(this.doubleValue()));
}
+ @Override
public NumberTerm max(NumberTerm t) {
if (t instanceof DoubleTerm)
return t.max(this);
return new IntegerTerm(Math.max(this.val, t.intValue()));
}
+ @Override
public NumberTerm min(NumberTerm t) {
if (t instanceof DoubleTerm)
return t.min(this);
@@ -210,6 +239,7 @@
* @exception EvaluationException if the given argument
* <code>NumberTerm</code> represents <coe>0</code>.
*/
+ @Override
public NumberTerm mod(NumberTerm t) {
if (t instanceof DoubleTerm)
throw new IllegalTypeException("integer", t);
@@ -218,36 +248,44 @@
return new IntegerTerm(this.val % t.intValue());
}
+ @Override
public NumberTerm multiply(NumberTerm t) {
if (t instanceof DoubleTerm)
return t.multiply(this);
return new IntegerTerm(this.val * t.intValue());
}
+ @Override
public NumberTerm negate() { return new IntegerTerm(- this.val); }
+ @Override
public NumberTerm not() { return new IntegerTerm(~ this.val); }
/**
* @exception IllegalTypeException if the given argument
* <code>NumberTerm</code> is a floating point number.
*/
+ @Override
public NumberTerm or(NumberTerm t) {
if (t instanceof DoubleTerm)
throw new IllegalTypeException("integer", t);
return new IntegerTerm(this.val | t.intValue());
}
+ @Override
public NumberTerm pow(NumberTerm t) { return new DoubleTerm(Math.pow(this.doubleValue(), t.doubleValue())); }
+ @Override
public NumberTerm rint() { return new DoubleTerm(this.doubleValue()); }
+ @Override
public NumberTerm round() { return this; }
/**
* @exception IllegalTypeException if the given argument
* <code>NumberTerm</code> is a floating point number.
*/
+ @Override
public NumberTerm shiftLeft(NumberTerm t) {
if (t instanceof DoubleTerm)
throw new IllegalTypeException("integer", t);
@@ -258,46 +296,57 @@
* @exception IllegalTypeException if the given argument
* <code>NumberTerm</code> is a floating point number.
*/
+ @Override
public NumberTerm shiftRight(NumberTerm t) {
if (t instanceof DoubleTerm)
throw new IllegalTypeException("integer", t);
return new IntegerTerm(this.val >> t.intValue());
}
+ @Override
public NumberTerm signum() {return new IntegerTerm((int) Math.signum((double) this.val)); }
+ @Override
public NumberTerm sin() { return new DoubleTerm(Math.sin(this.doubleValue())); }
/**
* @exception EvaluationException if this object represents
* an integer less than <coe>0</code>.
*/
+ @Override
public NumberTerm sqrt() {
if (this.val < 0)
throw new EvaluationException("undefined");
return new DoubleTerm(Math.sqrt(this.doubleValue()));
}
+ @Override
public NumberTerm subtract(NumberTerm t) {
if (t instanceof DoubleTerm)
return new DoubleTerm(this.doubleValue() - t.doubleValue());
return new IntegerTerm(this.val - t.intValue());
}
+ @Override
public NumberTerm tan() { return new DoubleTerm(Math.tan(this.doubleValue())); }
+ @Override
public NumberTerm toDegrees() { return new DoubleTerm(Math.toDegrees(this.doubleValue())); }
+ @Override
public NumberTerm toFloat() { return new DoubleTerm((double) this.val); }
+ @Override
public NumberTerm toRadians() { return new DoubleTerm(Math.toRadians(this.doubleValue())); }
+ @Override
public NumberTerm truncate() { return this; }
/**
* @exception IllegalTypeException if the given argument
* <code>NumberTerm</code> is a floating point number.
*/
+ @Override
public NumberTerm xor(NumberTerm t) {
if (t instanceof DoubleTerm)
throw new IllegalTypeException("integer", t);
diff --git a/src/lang/JavaObjectTerm.java b/src/lang/JavaObjectTerm.java
index 89c946f..a0c0256 100644
--- a/src/lang/JavaObjectTerm.java
+++ b/src/lang/JavaObjectTerm.java
@@ -33,8 +33,10 @@
/** Returns a <code>java.lang.Class</code> of object wrapped by this <code>JavaObjectTerm</code>. */
public Class getClazz() { return obj.getClass(); }
+ @Override
public String name() { return ""; }
+ @Override
public String toQuotedString() { return toString(); }
@Override
@@ -42,6 +44,7 @@
return TYPE_JAVA_OBJECT;
}
+ @Override
public boolean unify(Term t, Trail trail) {
if (t instanceof VariableTerm)
return ((VariableTerm)t).unify(this, trail);
@@ -57,6 +60,7 @@
* @see #getClazz()
* @see Term#convertible(Class, Class)
*/
+ @Override
public boolean convertible(Class type) { return convertible(obj.getClass(), type); }
/**
@@ -64,6 +68,7 @@
* @return the value of <code>obj</code>.
* @see #obj
*/
+ @Override
public Object toJava() { return obj; }
/* Object */
@@ -78,17 +83,20 @@
* equivalent to this <code>JavaObjectTerm</code>, false otherwise.
* @see #compareTo
*/
+ @Override
public boolean equals(Object o) {
if (! (o instanceof JavaObjectTerm))
return false;
return obj.equals(((JavaObjectTerm)o).obj);
}
+ @Override
public int hashCode() {
return obj.hashCode();
}
/** Returns a string representation of this <code>JavaObjectTerm</code>. */
+ @Override
public String toString() {
return obj.getClass().getName()
+ "(0x" + Integer.toHexString(hashCode()) + ")";
@@ -104,6 +112,7 @@
* a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
* and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
*/
+ @Override
public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced.
if (anotherTerm instanceof VariableTerm
|| ((anotherTerm instanceof IntegerTerm) || (anotherTerm instanceof DoubleTerm))
diff --git a/src/lang/ListTerm.java b/src/lang/ListTerm.java
index e1ead71..f5ea8d1 100644
--- a/src/lang/ListTerm.java
+++ b/src/lang/ListTerm.java
@@ -81,6 +81,7 @@
}
/* Term */
+ @Override
public boolean unify(Term t, Trail trail) {
t = t.dereference();
if (t instanceof VariableTerm) {
@@ -98,14 +99,17 @@
* <code>convertible(List.class, type)</code>.
* @see Term#convertible(Class, Class)
*/
+ @Override
public boolean convertible(Class type) {
return convertible(List.class, type);
}
+ @Override
protected Term copy(Prolog engine) {
return new ListTerm(car.copy(engine), cdr.copy(engine));
}
+ @Override
public boolean isGround() {
if (! car.isGround())
return false;
@@ -114,8 +118,10 @@
return true;
}
+ @Override
public String name() { return SYM_DOT.name(); }
+ @Override
public Term arg(int nth) {
Term t = this;
int old_nth = nth;
@@ -145,6 +151,7 @@
* @return a {@link java.util.List} object equivalent to
* this <code>IntegerTerm</code>.
*/
+ @Override
public List toJava() {
List<Object> vec = new ArrayList<Object>();
Term t = this;
@@ -155,6 +162,7 @@
return vec;
}
+ @Override
public String toQuotedString() {
Term x = this;
String s = "[";
@@ -182,6 +190,7 @@
* equivalent to this <code>ListTerm</code>, false otherwise.
* @see #compareTo
*/
+ @Override
public boolean equals(Object obj) {
if (! (obj instanceof ListTerm))
return false;
@@ -189,6 +198,7 @@
&& cdr.equals(((ListTerm)obj).cdr().dereference());
}
+ @Override
public int hashCode() {
int h = 1;
h = 31*h + SYM_DOT.hashCode();
@@ -198,6 +208,7 @@
}
/** Returns a string representation of this <code>ListTerm</code>. */
+ @Override
public String toString() {
Term x = this;
String s = "[";
@@ -224,6 +235,7 @@
* a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
* and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
*/
+ @Override
public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced.
if (anotherTerm instanceof VariableTerm || ((anotherTerm instanceof IntegerTerm) || (anotherTerm instanceof DoubleTerm)) || anotherTerm instanceof SymbolTerm)
return AFTER;
diff --git a/src/lang/OutOfLoop.java b/src/lang/OutOfLoop.java
index bb6c123..19c4cfa 100644
--- a/src/lang/OutOfLoop.java
+++ b/src/lang/OutOfLoop.java
@@ -16,6 +16,7 @@
p = _p;
}
+ @Override
public void undo() {
p.outOfLoop = true;
}
diff --git a/src/lang/OutOfScope.java b/src/lang/OutOfScope.java
index 9c18100..41d7d81 100644
--- a/src/lang/OutOfScope.java
+++ b/src/lang/OutOfScope.java
@@ -16,6 +16,7 @@
p = _p;
}
+ @Override
public void undo() {
p.outOfScope = false;
}
diff --git a/src/lang/StructureTerm.java b/src/lang/StructureTerm.java
index 17e8864..4578d6b 100644
--- a/src/lang/StructureTerm.java
+++ b/src/lang/StructureTerm.java
@@ -61,6 +61,7 @@
* @return the value of <code>arity</code>.
* @see #arity
*/
+ @Override
public int arity(){ return args.length; }
/** Returns the argument terms of this <code>StructureTerm</code>.
@@ -74,8 +75,10 @@
* @see #functor
* @see SymbolTerm#name
*/
+ @Override
public String name(){ return functor.name(); }
+ @Override
public Term arg(int nth) { return args[nth]; }
@Override
@@ -83,6 +86,7 @@
return TYPE_STRUCTURE;
}
+ @Override
public boolean unify(Term t, Trail trail) {
t = t.dereference();
if (t instanceof VariableTerm) {
@@ -100,6 +104,7 @@
return true;
}
+ @Override
protected Term copy(Prolog engine) {
Term[] a = new Term[args.length];
for (int i=0; i<args.length; i++)
@@ -107,6 +112,7 @@
return new StructureTerm(functor, a);
}
+ @Override
public boolean isGround() {
for (int i=0; i<args.length; i++) {
if (! args[i].isGround())
@@ -115,6 +121,7 @@
return true;
}
+ @Override
public String toQuotedString() {
String delim = "";
String s = functor.toQuotedString() + "(";
@@ -137,6 +144,7 @@
* equivalent to this <code>StructureTerm</code>, false otherwise.
* @see #compareTo
*/
+ @Override
public boolean equals(Object obj) {
if (! (obj instanceof StructureTerm))
return false;
@@ -149,6 +157,7 @@
return true;
}
+ @Override
public int hashCode() {
int h = 1;
h = 31*h + functor.hashCode();
@@ -158,6 +167,7 @@
}
/** Returns a string representation of this <code>StructureTerm</code>. */
+ @Override
public String toString() {
String delim = "";
String s = functor.toString() + "(";
@@ -179,6 +189,7 @@
* a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
* and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
*/
+ @Override
public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced.
SymbolTerm functor2;
Term[] args2;
diff --git a/src/lang/Success.java b/src/lang/Success.java
index ac937a5..8c86b0b 100644
--- a/src/lang/Success.java
+++ b/src/lang/Success.java
@@ -18,11 +18,13 @@
* @param engine Prolog engine
* @see PrologControl#success
*/
+ @Override
public Operation exec(Prolog engine) {
engine.control.success();
return engine.fail();
}
/** Returns a string representation of this <code>Success</code>. */
+ @Override
public String toString(){ return "Success"; }
}
diff --git a/src/lang/SymbolTerm.java b/src/lang/SymbolTerm.java
index 9c6e4cf..2dd8921 100644
--- a/src/lang/SymbolTerm.java
+++ b/src/lang/SymbolTerm.java
@@ -171,12 +171,14 @@
* @return the value of <code>arity</code>.
* @see #arity
*/
+ @Override
public int arity() { return arity; }
/** Returns the string representation of this <code>SymbolTerm</code>.
* @return the value of <code>name</code>.
* @see #name
*/
+ @Override
public String name() { return name; }
@Override
@@ -184,6 +186,7 @@
return TYPE_SYMBOL;
}
+ @Override
public boolean unify(Term t, Trail trail) {
t = t.dereference();
if (t instanceof VariableTerm) {
@@ -219,6 +222,7 @@
* <code>convertible(String.class, type)</code>.
* @see Term#convertible(Class, Class)
*/
+ @Override
public boolean convertible(Class type) { return convertible(String.class, type); }
/**
@@ -227,11 +231,14 @@
* @return a <code>java.lang.String</code> object equivalent to
* this <code>SymbolTerm</code>.
*/
+ @Override
public Object toJava() { return name; }
+ @Override
public String toQuotedString() { return Token.toQuotedString(name); }
/** Returns a string representation of this <code>SymbolTerm</code>. */
+ @Override
public String toString() { return name; }
/* Comparable */
@@ -244,6 +251,7 @@
* a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
* and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
*/
+ @Override
public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced.
if (anotherTerm instanceof VariableTerm || ((anotherTerm instanceof IntegerTerm) || (anotherTerm instanceof DoubleTerm)))
return AFTER;
diff --git a/src/lang/VariableTerm.java b/src/lang/VariableTerm.java
index 5bb4085..b22c730 100644
--- a/src/lang/VariableTerm.java
+++ b/src/lang/VariableTerm.java
@@ -60,6 +60,7 @@
* @see #bind(Term,Trail)
* @see Trail
*/
+ @Override
public boolean unify(Term t, Trail trail) {
if (val != this)
return val.unify(t, trail);
@@ -101,6 +102,7 @@
* convertible with <code>type</code>. Otherwise <code>false</code>.
* @see #val
*/
+ @Override
public boolean convertible(Class type) {
if (val != this)
return val.convertible(type);
@@ -112,6 +114,7 @@
* Otherwise, returns the value of <code>val.copy(engine)</code>.
* @see #val
*/
+ @Override
protected Term copy(Prolog engine) {
VariableTerm co;
if (val != this)
@@ -125,18 +128,21 @@
return co;
}
+ @Override
public Term dereference() {
if (val == this)
return this;
return val.dereference();
}
+ @Override
public boolean isGround() {
if (val != this)
return val.isGround();
return false;
}
+ @Override
public String name() {
if (val == this)
return "";
@@ -150,6 +156,7 @@
* @return a Java object defined in <em>Prolog Cafe interoperability with Java</em>.
* @see #val
*/
+ @Override
public Object toJava() {
if (val != this)
return val.toJava();
@@ -162,6 +169,7 @@
* <code>val.toQuotedString()</code>
* @see #val
*/
+ @Override
public String toQuotedString() {
if (val != this)
return val.toQuotedString();
@@ -180,6 +188,7 @@
* @see #val
* @see #compareTo
*/
+ @Override
public boolean equals(Object obj) {
if(val != this)
return val.equals(obj);
@@ -194,6 +203,7 @@
* <code>val.toString()</code>
* @see #val
*/
+ @Override
public String toString() {
if (val != this)
return val.toString();
@@ -201,6 +211,7 @@
}
/* Undoable */
+ @Override
public void undo() { val = this; }
/* Comparable */
@@ -213,6 +224,7 @@
* a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
* and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
*/
+ @Override
public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced.
if(val != this)
return val.compareTo(anotherTerm);
diff --git a/src/repl/BlockingPrologControl.java b/src/repl/BlockingPrologControl.java
index 45989f4..712a73a 100644
--- a/src/repl/BlockingPrologControl.java
+++ b/src/repl/BlockingPrologControl.java
@@ -207,6 +207,7 @@
* @see #result
* @see #thread
*/
+ @Override
protected synchronized void success() {
resultReady = true;
result = true;
@@ -234,6 +235,7 @@
* @see #result
* @see #thread
*/
+ @Override
protected synchronized void fail() {
resultReady = true;
result = false;
@@ -246,6 +248,7 @@
}
/** @return true if the engine is no longer supposed to execute. */
+ @Override
public boolean isEngineStopped() {
return thread == null;
}
@@ -367,6 +370,7 @@
* @see #fail
* @see #stop
*/
+ @Override
public void run() {
try {
executePredicate();