JavaScript "streams"

Admin User, erstellt 29. Apr. 2024
         
/**
* Modern Albufeira Prolog Interpreter
*
* Warranty & Liability
* To the extent permitted by applicable law and unless explicitly
* otherwise agreed upon, XLOG Technologies AG makes no warranties
* regarding the provided information. XLOG Technologies AG assumes
* no liability that any problems might be solved with the information
* provided by XLOG Technologies AG.
*
* Rights & License
* All industrial property rights regarding the information - copyright
* and patent rights in particular - are the sole property of XLOG
* Technologies AG. If the company was not the originator of some
* excerpts, XLOG Technologies AG has at least obtained the right to
* reproduce, change and translate the information.
*
* Reproduction is restricted to the whole unaltered document. Reproduction
* of the information is only allowed for non-commercial uses. Selling,
* giving away or letting of the execution of the library is prohibited.
* The library can be distributed as part of your applications and libraries
* for execution provided this comment remains unchanged.
*
* Restrictions
* Only to be distributed with programs that add significant and primary
* functionality to the library. Not to be distributed with additional
* software intended to replace any components of the library.
*
* Trademarks
* Jekejeke is a registered trademark of XLOG Technologies AG.
*/
import {Clause, add, Compound, Cache,
make_defined, Place, Skeleton} from "./nova/store.mjs";
import {Goal, run} from "./nova/machine.mjs";
import "./nova/special.mjs";
import "./nova/runtime.mjs";
import "./nova/eval.mjs";
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["nl", 0])]));
add("nl", 0, new Clause(1, [], [new Skeleton(new Cache("current_output"), [new Place(-2)]), new Skeleton(new Cache("put_code"), [new Place(0), 10]), new Skeleton(new Cache("flush_output"), [new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["nl", 1])]));
add("nl", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("put_code"), [new Place(0), 10]), new Skeleton(new Cache("flush_output"), [new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["flush_output", 0])]));
add("flush_output", 0, new Clause(1, [], [new Skeleton(new Cache("current_output"), [new Place(-2)]), new Skeleton(new Cache("flush_output"), [new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["put_code", 1])]));
add("put_code", 1, new Clause(2, [new Place(-2)], [new Skeleton(new Cache("current_output"), [new Place(-3)]), new Skeleton(new Cache("put_code"), [new Place(1), new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["get_code", 1])]));
add("get_code", 1, new Clause(2, [new Place(-2)], [new Skeleton(new Cache("current_input"), [new Place(-3)]), new Skeleton(new Cache("get_code"), [new Place(1), new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["get_code", 2])]));
add("get_code", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("os_get_code"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, undefined));
add("get_code", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_read_buffer"), [new Place(1)]), new Skeleton(new Cache("os_get_code"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, undefined));
add("get_code", 2, new Clause(1, [new Place(-1), new Place(-2)], [new Skeleton(new Cache("="), [-1, new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["peek_code", 1])]));
add("peek_code", 1, new Clause(2, [new Place(-2)], [new Skeleton(new Cache("current_input"), [new Place(-3)]), new Skeleton(new Cache("peek_code"), [new Place(1), new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["peek_code", 2])]));
add("peek_code", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("os_peek_code"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, undefined));
add("peek_code", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_read_buffer"), [new Place(1)]), new Skeleton(new Cache("os_peek_code"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, undefined));
add("peek_code", 2, new Clause(1, [new Place(-1), new Place(-2)], [new Skeleton(new Cache("="), [-1, new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_buffer", 1])]));
add("sys_read_buffer", 1, new Clause(3, [new Place(-3)], [new Skeleton(new Cache("os_stream_flags"), [new Place(1), new Place(-4)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(2), 2]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("os_read_promise"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("$YIELD"), [new Place(1)])], 0, undefined));
add("sys_read_buffer", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("os_read_sync"), [new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["get_atom", 2])]));
add("get_atom", 2, new Clause(3, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("current_input"), [new Place(-4)]), new Skeleton(new Cache("get_atom"), [new Place(2), new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["get_atom", 3])]));
add("get_atom", 3, new Clause(4, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("get_compress"), [new Place(0), new Place(-5)]), new Skeleton(new Cache("sys_get_atom"), [new Place(3), new Place(1), new Place(0), new Place(-2)]), new Skeleton(new Cache("atom_codes"), [new Place(2), new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_atom", 4])]));
add("sys_get_atom", 4, new Clause(2, [-1, new Place(-1), new Place(-1), new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), ["[]", new Place(1)])], 0, -1));
add("sys_get_atom", 4, new Clause(3, [new Place(-3), new Place(1), new Place(-1), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Skeleton(".", [new Place(1), "[]"]), new Place(2)])], 0, undefined));
add("sys_get_atom", 4, new Clause(4, [new Place(-2), new Place(-3), new Place(-4), new Skeleton(".", [new Place(0), new Place(-2)])], [new Skeleton(new Cache("get_compress"), [new Place(2), new Place(-5)]), new Skeleton(new Cache("sys_get_atom"), [new Place(3), new Place(1), new Place(2), new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["get_compress", 2])]));
add("get_compress", 2, new Clause(4, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("os_stream_flags"), [new Place(0), new Place(-4)]), new Skeleton(new Cache("get_code"), [new Place(0), new Place(-5)]), new Skeleton(new Cache("sys_get_compress"), [new Place(3), new Place(2), new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_compress", 4])]));
add("sys_get_compress", 4, new Clause(2, [13, new Place(-1), new Place(-1), new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [10, new Place(1)])], 0, 13));
add("sys_get_compress", 4, new Clause(4, [10, new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(1), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("get_compress"), [new Place(2), new Place(3)])], 0, 10));
add("sys_get_compress", 4, new Clause(1, [new Place(-2), new Place(-1), new Place(-1), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["put_atom", 1])]));
add("put_atom", 1, new Clause(2, [new Place(-2)], [new Skeleton(new Cache("current_output"), [new Place(-3)]), new Skeleton(new Cache("put_atom"), [new Place(1), new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["write", 1])]));
add("write", 1, new Clause(2, [new Place(-2)], [new Skeleton(new Cache("current_output"), [new Place(-3)]), new Skeleton(new Cache("sys_write_term"), [new Place(1), new Place(0), "[]"])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["write", 2])]));
add("write", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_write_term"), [new Place(0), new Place(1), "[]"])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["writeq", 1])]));
add("writeq", 1, new Clause(2, [new Place(-2)], [new Skeleton(new Cache("current_output"), [new Place(-3)]), new Skeleton(new Cache("sys_write_term"), [new Place(1), new Place(0), new Compound(".", [new Compound("numbervars", ["true"]), new Compound(".", [new Compound("quoted", ["true"]), "[]"])])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["writeq", 2])]));
add("writeq", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_write_term"), [new Place(0), new Place(1), new Compound(".", [new Compound("numbervars", ["true"]), new Compound(".", [new Compound("quoted", ["true"]), "[]"])])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["write_canonical", 1])]));
add("write_canonical", 1, new Clause(2, [new Place(-2)], [new Skeleton(new Cache("current_output"), [new Place(-3)]), new Skeleton(new Cache("sys_write_term"), [new Place(1), new Place(0), new Compound(".", [new Compound("quoted", ["true"]), new Compound(".", [new Compound("ignore_ops", ["true"]), "[]"])])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["write_canonical", 2])]));
add("write_canonical", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_write_term"), [new Place(0), new Place(1), new Compound(".", [new Compound("quoted", ["true"]), new Compound(".", [new Compound("ignore_ops", ["true"]), "[]"])])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["write_term", 2])]));
add("write_term", 2, new Clause(3, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("current_output"), [new Place(-4)]), new Skeleton(new Cache("sys_write_term"), [new Place(2), new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["write_term", 3])]));
add("write_term", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_write_term"), [new Place(0), new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["read", 1])]));
add("read", 1, new Clause(3, [new Place(-2)], [new Skeleton(new Cache("current_input"), [new Place(-3)]), new Skeleton(new Cache("get_code"), [new Place(1), new Place(-4)]), new Skeleton(new Cache("sys_read_term"), [new Place(2), new Place(1), "[]", new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["read", 2])]));
add("read", 2, new Clause(3, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("get_code"), [new Place(0), new Place(-4)]), new Skeleton(new Cache("sys_read_term"), [new Place(2), new Place(0), "[]", new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["read_term", 2])]));
add("read_term", 2, new Clause(4, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("current_input"), [new Place(-4)]), new Skeleton(new Cache("get_code"), [new Place(2), new Place(-5)]), new Skeleton(new Cache("sys_read_term"), [new Place(3), new Place(2), new Place(1), new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["read_term", 3])]));
add("read_term", 3, new Clause(4, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("get_code"), [new Place(0), new Place(-5)]), new Skeleton(new Cache("sys_read_term"), [new Place(3), new Place(0), new Place(2), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["file_property", 2])]));
add("file_property", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("var"), [new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_prop_map"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("member"), [new Place(-2), new Compound(".", ["last_modified", new Compound(".", ["real_path", new Compound(".", ["type", "[]"])])])]), new Skeleton(new Cache("ir_object_current"), [new Place(1), new Place(0), new Place(-3)]), new Skeleton(new Cache("=.."), [new Place(2), new Skeleton(".", [new Place(0), new Skeleton(".", [new Place(1), "[]"])])])], 0, undefined));
add("file_property", 2, new Clause(3, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("=.."), [new Place(1), new Skeleton(".", [new Place(-3), new Skeleton(".", [new Place(-4), "[]"])])]), new Skeleton(new Cache("sys_prop_map"), [new Place(0), new Place(-2)]), new Skeleton(new Cache("ir_object_current"), [new Place(0), new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_prop_map", 2])]));
add("sys_prop_map", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Compound(new Cache("current_prolog_flag"), ["prop_async", "on"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("os_prop_promise"), [new Place(1), new Place(2), new Place(-4)]), new Skeleton(new Cache("$YIELD"), [new Place(2)])], 0, undefined));
add("sys_prop_map", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("os_prop_sync"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_multifile_safe"), ["strings", 3])]));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["strings", 3])]));
add("strings", 3, new Clause(0, ["evaluation_error.float_overflow", "de", "Die Funktion überschreitet hier den Gleitpunktzahlbereich."], [], -1, "evaluation_error.float_overflow"));
add("strings", 3, new Clause(0, ["evaluation_error.undefined", "de", "Die Funktion ist hier undefiniert."], [], -1, "evaluation_error.undefined"));
add("strings", 3, new Clause(0, ["evaluation_error.zero_divisor", "de", "Nulldivision."], [], -1, "evaluation_error.zero_divisor"));
add("strings", 3, new Clause(0, ["representation_error.int", "de", "Unerlaubte Int-Ganzzahl (nicht zwischen - 2^31 und 2^31-1)."], [], -1, "representation_error.int"));
add("strings", 3, new Clause(0, ["domain_error.prolog_flag", "de", "Argument sollte ein Flag sein, gefunden ~."], [], -1, "domain_error.prolog_flag"));
add("strings", 3, new Clause(0, ["domain_error.flag_value", "de", "Argument sollte ein Flagwert sein, gefunden ~."], [], -1, "domain_error.flag_value"));
add("strings", 3, new Clause(0, ["domain_error.not_less_than_zero", "de", "Argument sollte positiv oder 0 sein, gefunden ~."], [], -1, "domain_error.not_less_than_zero"));
add("strings", 3, new Clause(0, ["domain_error.operator_priority", "de", "Argument sollte ein Operatorlevel sein (kleiner oder gleich 1200), gefunden ~."], [], -1, "domain_error.operator_priority"));
add("strings", 3, new Clause(0, ["domain_error.operator_specifier", "de", "Argument sollte ein Operatormode sein (fx, fy, xfx, yfx, xfy, xf, yf), gefunden ~."], [], -1, "domain_error.operator_specifier"));
add("strings", 3, new Clause(0, ["type_error.atom", "de", "Argument sollte Atom sein, gefunden ~."], [], -1, "type_error.atom"));
add("strings", 3, new Clause(0, ["type_error.number", "de", "Argument sollte Zahl sein, gefunden ~."], [], -1, "type_error.number"));
add("strings", 3, new Clause(0, ["type_error.integer", "de", "Argument sollte Ganzzahl sein, gefunden ~."], [], -1, "type_error.integer"));
add("strings", 3, new Clause(0, ["type_error.callable", "de", "Argument sollte aufrufbar sein (Atom oder Verbund), gefunden ~."], [], -1, "type_error.callable"));
add("strings", 3, new Clause(0, ["type_error.atomic", "de", "Argument sollte atomar sein, gefunden ~."], [], -1, "type_error.atomic"));
add("strings", 3, new Clause(0, ["type_error.list", "de", "Argument sollte Liste sein ([] oder [_|_]), gefunden ~."], [], -1, "type_error.list"));
add("strings", 3, new Clause(0, ["type_error.evaluable", "de", "Argument sollte berechenbaren Funktor haben, gefunden ~."], [], -1, "type_error.evaluable"));
add("strings", 3, new Clause(0, ["type_error.character", "de", "Argument sollte Zeichen sein, gefunden ~."], [], -1, "type_error.character"));
add("strings", 3, new Clause(0, ["type_error.pair", "de", "Argument sollte Paar sein (_-_), gefunden ~."], [], -1, "type_error.pair"));
add("strings", 3, new Clause(0, ["type_error.predicate_indicator", "de", "Argument sollte Prädikatspezifikation sein ( _\/_), gefunden ~."], [], -1, "type_error.predicate_indicator"));
add("strings", 3, new Clause(0, ["evaluation_error.float_overflow", "", "The function overflows the float range here."], [], -1, "evaluation_error.float_overflow"));
add("strings", 3, new Clause(0, ["evaluation_error.undefined", "", "The function is undefined here."], [], -1, "evaluation_error.undefined"));
add("strings", 3, new Clause(0, ["evaluation_error.zero_divisor", "", "Division by zero."], [], -1, "evaluation_error.zero_divisor"));
add("strings", 3, new Clause(0, ["representation_error.int", "", "Illegal int integer (not between - 2^31 and 2^31-1)."], [], -1, "representation_error.int"));
add("strings", 3, new Clause(0, ["domain_error.prolog_flag", "", "Argument should be a flag, found ~."], [], -1, "domain_error.prolog_flag"));
add("strings", 3, new Clause(0, ["domain_error.flag_value", "", "Argument should be a flag value, found ~."], [], -1, "domain_error.flag_value"));
add("strings", 3, new Clause(0, ["domain_error.not_less_than_zero", "", "Argument should be positive or 0, found ~."], [], -1, "domain_error.not_less_than_zero"));
add("strings", 3, new Clause(0, ["domain_error.operator_priority", "", "Argument should be an operator level (less or equal 1200), found ~."], [], -1, "domain_error.operator_priority"));
add("strings", 3, new Clause(0, ["domain_error.operator_specifier", "", "Argument should be an operator mode (fx, fy, xfx, yfx, xfy, xf, yf), found ~."], [], -1, "domain_error.operator_specifier"));
add("strings", 3, new Clause(0, ["type_error.atom", "", "Argument should be an atom, found ~."], [], -1, "type_error.atom"));
add("strings", 3, new Clause(0, ["type_error.number", "", "Argument should be a number, found ~."], [], -1, "type_error.number"));
add("strings", 3, new Clause(0, ["type_error.integer", "", "Argument should be an integer, found ~."], [], -1, "type_error.integer"));
add("strings", 3, new Clause(0, ["type_error.callable", "", "Argument should be callable (atom or compound), found ~."], [], -1, "type_error.callable"));
add("strings", 3, new Clause(0, ["type_error.atomic", "", "Argument should be an atomic, found ~."], [], -1, "type_error.atomic"));
add("strings", 3, new Clause(0, ["type_error.list", "", "Argument should be a list ([] or [_|_]), found ~."], [], -1, "type_error.list"));
add("strings", 3, new Clause(0, ["type_error.evaluable", "", "Argument should have evaluable functor, found ~."], [], -1, "type_error.evaluable"));
add("strings", 3, new Clause(0, ["type_error.character", "", "Argument should be a character, found ~."], [], -1, "type_error.character"));
add("strings", 3, new Clause(0, ["type_error.pair", "", "Argument should be a pair (_-_), found ~."], [], -1, "type_error.pair"));
add("strings", 3, new Clause(0, ["type_error.predicate_indicator", "", "Argument should be a predicate specification (_\/_), found ~."], [], -1, "type_error.predicate_indicator"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_code_class", 2])]));
add("sys_code_class", 2, new Clause(2, [44, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0, 44));
add("sys_code_class", 2, new Clause(2, [40, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0, 40));
add("sys_code_class", 2, new Clause(2, [41, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0, 41));
add("sys_code_class", 2, new Clause(2, [124, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0, 124));
add("sys_code_class", 2, new Clause(2, [91, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0, 91));
add("sys_code_class", 2, new Clause(2, [93, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0, 93));
add("sys_code_class", 2, new Clause(2, [123, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0, 123));
add("sys_code_class", 2, new Clause(2, [125, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_punct"])], 0, 125));
add("sys_code_class", 2, new Clause(2, [59, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_solo"])], 0, 59));
add("sys_code_class", 2, new Clause(2, [33, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_solo"])], 0, 33));
add("sys_code_class", 2, new Clause(2, [39, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_solo"])], 0, 39));
add("sys_code_class", 2, new Clause(2, [96, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_solo"])], 0, 96));
add("sys_code_class", 2, new Clause(2, [34, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_solo"])], 0, 34));
add("sys_code_class", 2, new Clause(2, [37, new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), "is_solo"])], 0, 37));
add("sys_code_class", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("code_type"), [new Place(0), new Place(-2)]), new Skeleton(new Cache("sys_type_class"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_type_class", 2])]));
add("sys_type_class", 2, new Clause(0, [0, "is_invalid"], [], -1, 0));
add("sys_type_class", 2, new Clause(0, [1, "is_upper"], [], -1, 1));
add("sys_type_class", 2, new Clause(0, [2, "is_ident"], [], -1, 2));
add("sys_type_class", 2, new Clause(0, [3, "is_upper"], [], -1, 3));
add("sys_type_class", 2, new Clause(0, [4, "is_ident"], [], -1, 4));
add("sys_type_class", 2, new Clause(0, [5, "is_ident"], [], -1, 5));
add("sys_type_class", 2, new Clause(0, [6, "is_ident"], [], -1, 6));
add("sys_type_class", 2, new Clause(0, [7, "is_ident"], [], -1, 7));
add("sys_type_class", 2, new Clause(0, [8, "is_ident"], [], -1, 8));
add("sys_type_class", 2, new Clause(0, [9, "is_digit"], [], -1, 9));
add("sys_type_class", 2, new Clause(0, [10, "is_ident"], [], -1, 10));
add("sys_type_class", 2, new Clause(0, [11, "is_ident"], [], -1, 11));
add("sys_type_class", 2, new Clause(0, [12, "is_blank"], [], -1, 12));
add("sys_type_class", 2, new Clause(0, [13, "is_blank"], [], -1, 13));
add("sys_type_class", 2, new Clause(0, [14, "is_blank"], [], -1, 14));
add("sys_type_class", 2, new Clause(0, [15, "is_cntrl"], [], -1, 15));
add("sys_type_class", 2, new Clause(0, [16, "is_cntrl"], [], -1, 16));
add("sys_type_class", 2, new Clause(0, [18, "is_invalid"], [], -1, 18));
add("sys_type_class", 2, new Clause(0, [19, "is_invalid"], [], -1, 19));
add("sys_type_class", 2, new Clause(0, [20, "is_graphic"], [], -1, 20));
add("sys_type_class", 2, new Clause(0, [21, "is_solo"], [], -1, 21));
add("sys_type_class", 2, new Clause(0, [22, "is_solo"], [], -1, 22));
add("sys_type_class", 2, new Clause(0, [23, "is_score"], [], -1, 23));
add("sys_type_class", 2, new Clause(0, [24, "is_graphic"], [], -1, 24));
add("sys_type_class", 2, new Clause(0, [25, "is_graphic"], [], -1, 25));
add("sys_type_class", 2, new Clause(0, [26, "is_graphic"], [], -1, 26));
add("sys_type_class", 2, new Clause(0, [27, "is_graphic"], [], -1, 27));
add("sys_type_class", 2, new Clause(0, [28, "is_graphic"], [], -1, 28));
add("sys_type_class", 2, new Clause(0, [29, "is_solo"], [], -1, 29));
add("sys_type_class", 2, new Clause(0, [30, "is_solo"], [], -1, 30));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_name_class", 1])]));
add("sys_name_class", 1, new Clause(0, ["is_ident"], [], -1, "is_ident"));
add("sys_name_class", 1, new Clause(0, ["is_upper"], [], -1, "is_upper"));
add("sys_name_class", 1, new Clause(0, ["is_score"], [], -1, "is_score"));
add("sys_name_class", 1, new Clause(0, ["is_digit"], [], -1, "is_digit"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_white_class", 1])]));
add("sys_white_class", 1, new Clause(0, ["is_blank"], [], -1, "is_blank"));
add("sys_white_class", 1, new Clause(0, ["is_cntrl"], [], -1, "is_cntrl"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_token", 3])]));
add("sys_get_token", 3, new Clause(5, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_code"), [new Place(-5), new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_code_class"), [new Place(3), new Place(-6)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_get_class"), [new Place(4), new Place(3), new Place(0), new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_class", 5])]));
add("sys_get_class", 5, new Clause(5, ["is_ident", new Place(-2), new Skeleton("atom", [new Place(-3)]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_name"), [new Place(-6), new Place(2), new Place(-4)]), new Skeleton(new Cache("atom_codes"), [new Place(1), new Skeleton(".", [new Place(0), new Place(4)])]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], -1, "is_ident"));
add("sys_get_class", 5, new Clause(5, ["is_upper", new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_name"), [new Place(-6), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_make_variable"), [new Skeleton(".", [new Place(0), new Place(4)]), new Place(1)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], -1, "is_upper"));
add("sys_get_class", 5, new Clause(5, ["is_score", new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_name"), [new Place(-6), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_make_variable"), [new Skeleton(".", [new Place(0), new Place(4)]), new Place(1)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], -1, "is_score"));
add("sys_get_class", 5, new Clause(4, ["is_digit", new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_get_number"), [new Place(0), new Place(1), new Place(2), new Place(3)])], -1, "is_digit"));
add("sys_get_class", 5, new Clause(4, ["is_punct", new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("char_code"), [new Place(1), new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], -1, "is_punct"));
add("sys_get_class", 5, new Clause(4, ["is_graphic", new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_block_or_symbol"), [new Place(0), new Place(1), new Place(2), new Place(3)])], -1, "is_graphic"));
add("sys_get_class", 5, new Clause(4, ["is_solo", new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_get_line_or_solo"), [new Place(0), new Place(1), new Place(2), new Place(3)])], -1, "is_solo"));
add("sys_get_class", 5, new Clause(4, ["is_invalid", new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_get_eof_or_error"), [new Place(0), new Place(1), new Place(2), new Place(3)])], -1, "is_invalid"));
add("sys_get_class", 5, new Clause(3, ["is_blank", new Place(-1), new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_next_code"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_get_token"), [new Place(0), new Place(1), new Place(2)])], -1, "is_blank"));
add("sys_get_class", 5, new Clause(3, ["is_cntrl", new Place(-1), new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_next_code"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_get_token"), [new Place(0), new Place(1), new Place(2)])], -1, "is_cntrl"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_eof_or_error", 4])]));
add("sys_get_eof_or_error", 4, new Clause(3, [-1, "end_of_file", new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, -1));
add("sys_get_eof_or_error", 4, new Clause(2, [new Place(-1), new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("syntax_error", ["illegal_unicode"]), new Place(-1)])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_name", 3])]));
add("sys_get_name", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_code_class"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_name_class"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_name"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_get_name", 3, new Clause(2, ["[]", new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_make_variable", 2])]));
add("sys_make_variable", 2, new Clause(2, [new Skeleton(".", [new Place(-3), "[]"]), "anon"], [new Skeleton(new Cache("sys_code_class"), [new Place(1), "is_score"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "."));
add("sys_make_variable", 2, new Clause(2, [new Place(-2), new Skeleton("var", [new Place(-3)])], [new Skeleton(new Cache("atom_codes"), [new Place(1), new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_number", 4])]));
add("sys_get_number", 4, new Clause(4, [48, new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_current_code"), [new Place(-2), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_special"), [new Place(0), new Place(1), new Place(2), new Place(3)])], 0, 48));
add("sys_get_number", 4, new Clause(3, [new Place(-2), new Skeleton("decimal", [new Skeleton(".", [new Place(0), new Place(-2)])]), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_next_code"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_get_decimal"), [new Place(0), new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_special", 4])]));
add("sys_get_special", 4, new Clause(4, [120, new Skeleton("radix", [new Place(-3), 16]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_radix"), [new Place(1), "[]", 16, new Place(2), new Place(3)])], 0, 120));
add("sys_get_special", 4, new Clause(4, [111, new Skeleton("radix", [new Place(-3), 8]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_radix"), [new Place(1), "[]", 8, new Place(2), new Place(3)])], 0, 111));
add("sys_get_special", 4, new Clause(4, [98, new Skeleton("radix", [new Place(-3), 2]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_radix"), [new Place(1), "[]", 2, new Place(2), new Place(3)])], 0, 98));
add("sys_get_special", 4, new Clause(4, [114, new Skeleton("reference", [new Place(-3)]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_name"), [new Place(1), new Place(2), new Place(3)])], 0, 114));
add("sys_get_special", 4, new Clause(4, [102, new Skeleton("decimal", [new Skeleton(".", [48, new Skeleton(".", [102, new Place(-3)])])]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_tolerant"), [new Place(1), new Place(2), new Place(3)])], 0, 102));
add("sys_get_special", 4, new Clause(4, [100, new Skeleton("decimal", [new Skeleton(".", [48, new Skeleton(".", [100, new Place(-3)])])]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_tolerant"), [new Place(1), new Place(2), new Place(3)])], 0, 100));
add("sys_get_special", 4, new Clause(4, [39, new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_current_code"), [new Place(-2), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_code"), [new Place(0), new Place(1), new Place(2), new Place(3)])], 0, 39));
add("sys_get_special", 4, new Clause(3, [new Place(-1), new Skeleton("decimal", [new Skeleton(".", [48, new Place(-2)])]), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_get_decimal"), [new Place(0), new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_code", 4])]));
add("sys_get_code", 4, new Clause(4, [39, new Skeleton("code", [new Skeleton(".", [39, new Place(-3)])]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_double"), [new Place(1), new Place(2), new Place(3)])], 0, 39));
add("sys_get_code", 4, new Clause(4, [92, new Skeleton("code", [new Skeleton(".", [92, new Place(-3)])]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_current_code"), [new Place(-2), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_escape"), [new Place(0), new Place(1), "[]", new Place(2), new Place(3)])], 0, 92));
add("sys_get_code", 4, new Clause(3, [new Place(-2), new Skeleton("code", [new Skeleton(".", [new Place(0), "[]"])]), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_get_char"), [new Place(0), new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_double", 3])]));
add("sys_get_double", 3, new Clause(3, [new Compound(".", [39, "[]"]), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_code"), [39, new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_next_code"), [new Place(1), new Place(2)])], 0, "."));
add("sys_get_double", 3, new Clause(2, ["[]", new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_tolerant", 3])]));
add("sys_get_tolerant", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_code_class"), [new Place(1), "is_digit"]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_tolerant"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_get_tolerant", 3, new Clause(5, [new Skeleton(".", [46, new Place(-3)]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_current_code"), [46, new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_at_code"), [new Place(-6), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_code_class"), [new Place(4), "is_digit"]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_fraction"), [new Place(1), new Place(2), new Place(3)])], 0, "."));
add("sys_get_tolerant", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_is_expo"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_at_code"), [new Place(-3), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_is_sign_digit"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_exponent"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_get_tolerant", 3, new Clause(2, ["[]", new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_decimal", 3])]));
add("sys_get_decimal", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_code_class"), [new Place(1), "is_digit"]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_decimal"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_get_decimal", 3, new Clause(5, [new Skeleton(".", [46, new Place(-3)]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_current_code"), [46, new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_at_code"), [new Place(-6), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_code_class"), [new Place(4), "is_digit"]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_fraction"), [new Place(1), new Place(2), new Place(3)])], 0, "."));
add("sys_get_decimal", 3, new Clause(2, ["[]", new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_fraction", 3])]));
add("sys_get_fraction", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_code_class"), [new Place(1), "is_digit"]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_fraction"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_get_fraction", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_is_expo"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_at_code"), [new Place(-3), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_is_sign_digit"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_exponent"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_get_fraction", 3, new Clause(2, ["[]", new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_exponent", 3])]));
add("sys_get_exponent", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_is_sign"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_rest"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_get_exponent", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_get_rest"), [new Place(0), new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_rest", 3])]));
add("sys_get_rest", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_code_class"), [new Place(1), "is_digit"]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_rest"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_get_rest", 3, new Clause(2, ["[]", new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_is_expo", 1])]));
add("sys_is_expo", 1, new Clause(0, [69], [], -1, 69));
add("sys_is_expo", 1, new Clause(0, [101], [], -1, 101));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_is_sign_digit", 1])]));
add("sys_is_sign_digit", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("sys_is_sign"), [new Place(0)])], -1, undefined));
add("sys_is_sign_digit", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("sys_code_class"), [new Place(0), "is_digit"])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_is_sign", 1])]));
add("sys_is_sign", 1, new Clause(0, [45], [], -1, 45));
add("sys_is_sign", 1, new Clause(0, [43], [], -1, 43));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_block_or_symbol", 4])]));
add("sys_get_block_or_symbol", 4, new Clause(4, [47, new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_current_code"), [42, new Place(2), new Place(-4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_skip_block"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_token"), [new Place(1), new Place(2), new Place(3)])], 0, 47));
add("sys_get_block_or_symbol", 4, new Clause(6, [new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_get_symbol"), [new Place(-6), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_current_code"), [new Place(-7), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_make_period"), [new Place(5), new Skeleton(".", [new Place(0), new Place(4)]), new Place(1)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_symbol", 3])]));
add("sys_get_symbol", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_code_class"), [new Place(1), "is_graphic"]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_symbol"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_get_symbol", 3, new Clause(2, ["[]", new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_skip_block", 2])]));
add("sys_skip_block", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_code"), [42, new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_next_code"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_skip_end"), [new Place(1), new Place(2)])], 0, undefined));
add("sys_skip_block", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_current_code"), [-1, new Place(0), new Place(-2)]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("syntax_error", ["end_of_file_in_block_comment"]), new Place(-1)])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
add("sys_skip_block", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_next_code"), [new Place(0), new Place(-2)]), new Skeleton(new Cache("sys_skip_block"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_skip_end", 2])]));
add("sys_skip_end", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_code"), [47, new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_next_code"), [new Place(1), new Place(2)])], 0, undefined));
add("sys_skip_end", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_skip_block"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_make_period", 3])]));
add("sys_make_period", 3, new Clause(1, [37, new Compound(".", [46, "[]"]), "."], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, 37));
add("sys_make_period", 3, new Clause(1, [-1, new Compound(".", [46, "[]"]), "."], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, -1));
add("sys_make_period", 3, new Clause(2, [new Place(-3), new Compound(".", [46, "[]"]), "."], [new Skeleton(new Cache("sys_code_class"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_white_class"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_make_period", 3, new Clause(2, [new Place(-1), new Place(-2), new Skeleton("atom", [new Place(-3)])], [new Skeleton(new Cache("atom_codes"), [new Place(1), new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_line_or_solo", 4])]));
add("sys_get_line_or_solo", 4, new Clause(4, [39, new Skeleton("single", [new Place(-3)]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_quote"), [new Place(1), 39, new Place(2), new Place(3)])], 0, 39));
add("sys_get_line_or_solo", 4, new Clause(4, [96, new Skeleton("back", [new Place(-3)]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_quote"), [new Place(1), 96, new Place(2), new Place(3)])], 0, 96));
add("sys_get_line_or_solo", 4, new Clause(4, [34, new Skeleton("codes", [new Place(-3)]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_quote"), [new Place(1), 34, new Place(2), new Place(3)])], 0, 34));
add("sys_get_line_or_solo", 4, new Clause(4, [37, new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_current_code"), [new Place(-2), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_skip_line"), [new Place(0), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_token"), [new Place(1), new Place(2), new Place(3)])], 0, 37));
add("sys_get_line_or_solo", 4, new Clause(4, [new Place(-2), new Skeleton("atom", [new Place(-3)]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("char_code"), [new Place(1), new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_skip_line", 3])]));
add("sys_skip_line", 3, new Clause(3, [10, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, 10));
add("sys_skip_line", 3, new Clause(3, [13, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, 13));
add("sys_skip_line", 3, new Clause(3, [-1, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, -1));
add("sys_skip_line", 3, new Clause(3, [new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_next_code"), [new Place(0), new Place(-2)]), new Skeleton(new Cache("sys_current_code"), [new Place(-4), new Place(0), new Place(-2)]), new Skeleton(new Cache("sys_skip_line"), [new Place(2), new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_quote", 4])]));
add("sys_get_quote", 4, new Clause(5, [new Place(-3), new Place(-4), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_current_code"), [new Place(2), new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_more"), [new Place(1), new Place(2), new Place(3), new Place(4)])], 0, undefined));
add("sys_get_quote", 4, new Clause(5, [new Place(-3), new Place(-4), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_current_code"), [92, new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_cont"), [new Place(1), new Place(2), new Place(3), new Place(4)])], 0, undefined));
add("sys_get_quote", 4, new Clause(5, [new Skeleton(".", [new Place(-2), new Place(-3)]), new Place(-4), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_current_code"), [new Place(0), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_char"), [new Place(0), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_quote"), [new Place(1), new Place(2), new Place(3), new Place(4)])], -1, "."));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_more", 4])]));
add("sys_get_more", 4, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(1), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_quote"), [new Place(2), new Place(1), new Place(3), new Place(4)])], 0, "."));
add("sys_get_more", 4, new Clause(2, ["[]", new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_char", 3])]));
add("sys_get_char", 3, new Clause(2, [10, new Place(-2), new Place(-3)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("syntax_error", ["end_of_line_as_character"]), new Place(-1)])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, 10));
add("sys_get_char", 3, new Clause(2, [13, new Place(-2), new Place(-3)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("syntax_error", ["end_of_line_as_character"]), new Place(-1)])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, 13));
add("sys_get_char", 3, new Clause(2, [-1, new Place(-2), new Place(-3)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("syntax_error", ["unbalanced_quoted"]), new Place(-1)])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, -1));
add("sys_get_char", 3, new Clause(2, [new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_next_code"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_cont", 4])]));
add("sys_get_cont", 4, new Clause(5, [new Skeleton(".", [92, new Place(-2)]), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_current_code"), [new Place(-6), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_escape"), [new Place(4), new Place(0), new Place(-2), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_quote"), [new Place(0), new Place(1), new Place(2), new Place(3)])], -1, "."));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_escape", 5])]));
add("sys_get_escape", 5, new Clause(5, [13, new Skeleton(".", [13, new Place(-3)]), new Place(-4), new Place(-5), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_skip"), [new Place(1), new Place(2), new Place(3), new Place(4)])], 0, 13));
add("sys_get_escape", 5, new Clause(2, [-1, new Place(-1), new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("syntax_error", ["illegal_escape"]), new Place(-1)])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, -1));
add("sys_get_escape", 5, new Clause(5, [120, new Skeleton(".", [120, new Place(-3)]), new Place(-4), new Place(-5), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_code"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_radix"), [new Place(1), new Place(-3), 16, new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_get_backslash"), [new Place(1), new Place(2), new Place(3), new Place(4)])], 0, 120));
add("sys_get_escape", 5, new Clause(6, [new Place(-3), new Skeleton(".", [new Place(1), new Place(-4)]), new Place(-5), new Place(-6), new Place(-7)], [new Skeleton(new Cache("sys_is_radix"), [new Place(1), 8]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_next_code"), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_get_radix"), [new Place(2), new Place(-4), 8, new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_get_backslash"), [new Place(2), new Place(3), new Place(4), new Place(5)])], 0, undefined));
add("sys_get_escape", 5, new Clause(2, [new Place(-2), new Skeleton(".", [new Place(0), new Place(-2)]), new Place(0), new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_next_code"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_skip", 4])]));
add("sys_get_skip", 4, new Clause(3, [new Skeleton(".", [10, new Place(-3)]), new Place(1), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_code"), [10, new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_next_code"), [new Place(1), new Place(2)])], 0, "."));
add("sys_get_skip", 4, new Clause(2, [new Place(-2), new Place(0), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_backslash", 4])]));
add("sys_get_backslash", 4, new Clause(3, [new Skeleton(".", [92, new Place(-3)]), new Place(1), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_code"), [92, new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_next_code"), [new Place(1), new Place(2)])], 0, "."));
add("sys_get_backslash", 4, new Clause(2, [new Place(-2), new Place(0), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_radix", 5])]));
add("sys_get_radix", 5, new Clause(7, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6), new Place(-7), new Place(-8)], [new Skeleton(new Cache("sys_current_code"), [new Place(1), new Place(5), new Place(-7)]), new Skeleton(new Cache("sys_is_radix"), [new Place(1), new Place(4)]), new Skeleton(new Cache("="), [new Place(5), new Place(-7)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(5), new Place(-7)]), new Skeleton(new Cache("sys_next_code"), [new Place(5), new Place(-7)]), new Skeleton(new Cache("sys_get_radix"), [new Place(2), new Place(3), new Place(4), new Place(5), new Place(6)])], 0, "."));
add("sys_get_radix", 5, new Clause(2, [new Place(-2), new Place(0), new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_is_radix", 2])]));
add("sys_is_radix", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("code_numeric"), [new Place(0), new Place(-2)]), new Skeleton(new Cache("=<"), [0, new Place(0)]), new Skeleton(new Cache("<"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_is_meta", 1])]));
add("sys_is_meta", 1, new Clause(0, [39], [], -1, 39));
add("sys_is_meta", 1, new Clause(0, [96], [], -1, 96));
add("sys_is_meta", 1, new Clause(0, [34], [], -1, 34));
add("sys_is_meta", 1, new Clause(0, [92], [], -1, 92));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_is_escape", 2])]));
add("sys_is_escape", 2, new Clause(0, [110, 10], [], -1, 110));
add("sys_is_escape", 2, new Clause(0, [116, 9], [], -1, 116));
add("sys_is_escape", 2, new Clause(0, [98, 8], [], -1, 98));
add("sys_is_escape", 2, new Clause(0, [102, 12], [], -1, 102));
add("sys_is_escape", 2, new Clause(0, [114, 13], [], -1, 114));
add("sys_is_escape", 2, new Clause(0, [97, 7], [], -1, 97));
add("sys_is_escape", 2, new Clause(0, [118, 11], [], -1, 118));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_current_code", 3])]));
add("sys_current_code", 3, new Clause(2, [new Place(-2), new Skeleton("-", [new Place(-3), new Place(0)]), new Skeleton("-", [new Place(1), new Place(0)])], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_next_code", 2])]));
add("sys_next_code", 2, new Clause(2, [new Skeleton("-", [new Place(-2), new Place(-1)]), new Skeleton("-", [new Place(0), new Place(-3)])], [new Skeleton(new Cache("get_code"), [new Place(0), new Place(1)])], -1, "-"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_at_code", 3])]));
add("sys_at_code", 3, new Clause(3, [new Place(-2), new Skeleton("-", [new Place(-3), new Place(-4)]), new Skeleton("-", [new Place(1), new Place(2)])], [new Skeleton(new Cache("peek_code"), [new Place(1), new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_sync_throw", 3])]));
add("sys_sync_throw", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_fill_stack"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_sync_tokens"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_raise"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_sync_raise", 3])]));
add("sys_sync_raise", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_sync_tokens"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_raise"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_sync_tokens", 2])]));
add("sys_sync_tokens", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_token"), [".", new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, undefined));
add("sys_sync_tokens", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_token"), ["end_of_file", new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, undefined));
add("sys_sync_tokens", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_sync_token"), [new Place(0), new Place(-2)]), new Skeleton(new Cache("sys_sync_tokens"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_sync_token", 2])]));
add("sys_sync_token", 2, new Clause(5, [new Skeleton("t", [new Place(-1), new Place(-2), new Skeleton("r", [new Place(-3), new Place(-4)]), new Place(-5)]), new Skeleton("t", [new Place(-6), new Place(0), new Skeleton("r", [new Place(1), new Place(-2)]), new Place(3)])], [new Skeleton(new Cache("sys_get_token"), [new Place(4), new Skeleton("-", [new Place(1), new Place(2)]), new Skeleton("-", [new Place(-1), new Place(0)])])], -1, "t"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_safe_code", 2])]));
add("sys_safe_code", 2, new Clause(3, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("current_lastcode"), [new Place(0), new Place(-4)]), new Skeleton(new Cache("sys_safe_space"), [new Place(0), new Place(2), new Place(1)]), new Skeleton(new Cache("put_code"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_safe_atom", 2])]));
add("sys_safe_atom", 2, new Clause(4, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("atom_arg"), [0, new Place(2), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("current_lastcode"), [new Place(1), new Place(-2)]), new Skeleton(new Cache("sys_safe_space"), [new Place(1), new Place(0), new Place(3)]), new Skeleton(new Cache("put_atom"), [new Place(1), new Place(2)])], 0, undefined));
add("sys_safe_atom", 2, new Clause(0, [new Place(-1), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_safe_space", 3])]));
add("sys_safe_space", 3, new Clause(5, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_code_class"), [new Place(2), new Place(-6)]), new Skeleton(new Cache("sys_name_class"), [new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_safe_name"), [new Place(1), new Place(2), new Place(3)])], 0, undefined));
add("sys_safe_space", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_code_class"), [new Place(2), "is_graphic"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_safe_symbol"), [new Place(1), new Place(3)])], 0, undefined));
add("sys_safe_space", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("=:="), [new Place(2), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_safe_quote"), [new Place(1), new Place(3)])], 0, undefined));
add("sys_safe_space", 3, new Clause(0, [new Place(-1), new Place(-1), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_safe_name", 3])]));
add("sys_safe_name", 3, new Clause(3, [new Place(-3), new Place(-1), new Place(-4)], [new Skeleton(new Cache("sys_code_class"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_name_class"), [new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_code"), [new Place(1), 32])], 0, undefined));
add("sys_safe_name", 3, new Clause(2, [new Place(-3), 48, 39], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_code"), [new Place(1), 32])], 0, undefined));
add("sys_safe_name", 3, new Clause(0, [new Place(-1), new Place(-1), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_safe_symbol", 2])]));
add("sys_safe_symbol", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_code_class"), [new Place(2), "is_graphic"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_code"), [new Place(1), 32])], 0, undefined));
add("sys_safe_symbol", 2, new Clause(0, [new Place(-1), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_safe_quote", 2])]));
add("sys_safe_quote", 2, new Clause(2, [new Place(-3), 39], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_code"), [new Place(1), 32])], 0, undefined));
add("sys_safe_quote", 2, new Clause(2, [new Place(-3), 96], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_code"), [new Place(1), 32])], 0, undefined));
add("sys_safe_quote", 2, new Clause(2, [new Place(-3), 34], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_code"), [new Place(1), 32])], 0, undefined));
add("sys_safe_quote", 2, new Clause(0, [new Place(-1), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_next_token", 2])]));
add("sys_next_token", 2, new Clause(7, [new Skeleton("t", [new Place(-1), new Place(-2), new Skeleton("r", [new Place(-3), new Place(-4)]), new Place(-5)]), new Skeleton("t", [new Place(-6), new Place(0), new Skeleton("r", [new Place(1), new Place(-7)]), new Place(3)])], [new Skeleton(new Cache("sys_get_token"), [new Place(-8), new Skeleton("-", [new Place(1), new Place(2)]), new Skeleton("-", [new Place(-1), new Place(5)])]), new Skeleton(new Cache("sys_trap"), [new Skeleton("sys_convert_token", [new Place(6), new Place(4)]), new Place(-6), new Skeleton("sys_sync_raise", [new Place(4), new Skeleton("t", [new Place(6), new Place(0), new Skeleton("r", [new Place(1), new Place(5)]), new Place(3)]), new Place(-1)])])], -1, "t"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_convert_token", 2])]));
add("sys_convert_token", 2, new Clause(3, [new Skeleton("single", [new Place(-3)]), new Skeleton("atom", [new Place(-4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_quote"), [new Place(-2), new Place(1), "[]"]), new Skeleton(new Cache("atom_codes"), [new Place(2), new Place(0)])], 0, "single"));
add("sys_convert_token", 2, new Clause(3, [new Skeleton("back", [new Place(-3)]), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_quote"), [new Place(-2), new Place(1), "[]"]), new Skeleton(new Cache("sys_make_variable"), [new Place(0), new Place(2)])], 0, "back"));
add("sys_convert_token", 2, new Clause(3, [new Skeleton("decimal", [new Place(-3)]), new Skeleton("number", [new Place(-4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_codes"), [new Place(-2), new Place(1)]), new Skeleton(new Cache("atom_number"), [new Place(0), new Place(2)])], 0, "decimal"));
add("sys_convert_token", 2, new Clause(4, [new Skeleton("radix", [new Place(-3), new Place(-4)]), new Skeleton("radix", [new Place(-5), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_codes"), [new Place(-2), new Place(1)]), new Skeleton(new Cache("atom_integer"), [new Place(0), new Place(2), new Place(3)])], 0, "radix"));
add("sys_convert_token", 2, new Clause(3, [new Skeleton("reference", [new Place(-3)]), new Skeleton("reference", [new Place(-4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_codes"), [new Place(-2), new Place(1)]), new Skeleton(new Cache("atom_reference"), [new Place(0), new Place(2)])], 0, "reference"));
add("sys_convert_token", 2, new Clause(3, [new Skeleton("codes", [new Place(-3)]), new Skeleton("codes", [new Place(-4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_quote"), [new Place(2), new Place(1), "[]"])], 0, "codes"));
add("sys_convert_token", 2, new Clause(3, [new Skeleton("code", [new Place(-3)]), new Skeleton("code", [new Place(-4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_code"), [new Place(2), new Place(1), "[]"])], 0, "code"));
add("sys_convert_token", 2, new Clause(1, [new Place(-2), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_convert_quote", 3])]));
add("sys_convert_quote", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [92, new Place(-4)])]), new Skeleton(new Cache("sys_convert_sep"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_convert_quote"), [new Place(1), new Place(2), new Place(3)])], 0, undefined));
add("sys_convert_quote", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_convert_char"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_convert_quote"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_convert_quote", 3, new Clause(2, ["[]", new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_convert_sep", 2])]));
add("sys_convert_sep", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Skeleton(".", [13, new Skeleton(".", [10, new Place(1)])])])], -1, "."));
add("sys_convert_sep", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Skeleton(".", [10, new Place(1)])])], -1, "."));
add("sys_convert_sep", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Skeleton(".", [13, new Place(1)])])], -1, "."));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_convert_char", 3])]));
add("sys_convert_char", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [92, new Place(-4)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_convert_escape"), [new Place(1), new Place(2), new Place(3)])], 0, undefined));
add("sys_convert_char", 3, new Clause(3, [new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Skeleton(".", [new Place(-2), new Place(-4)])]), new Skeleton(new Cache("sys_code_class"), [new Place(0), "is_cntrl"]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("syntax_error", ["illegal_layout"]), new Place(-1)])]), new Skeleton(new Cache("="), [new Place(2), new Place(1)])], -1, undefined));
add("sys_convert_char", 3, new Clause(3, [new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Skeleton(".", [new Place(-2), new Place(-4)])]), new Skeleton(new Cache("sys_code_class"), [new Place(0), "is_invalid"]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("syntax_error", ["illegal_unicode"]), new Place(-1)])]), new Skeleton(new Cache("="), [new Place(2), new Place(1)])], -1, undefined));
add("sys_convert_char", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("="), [new Place(1), new Skeleton(".", [new Place(0), new Place(2)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_convert_code", 3])]));
add("sys_convert_code", 3, new Clause(3, [39, new Place(-3), new Place(-4)], [new Skeleton(new Cache("="), [new Place(1), new Skeleton(".", [39, new Place(-3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_convert_double"), [new Place(1), new Place(2)])], 0, 39));
add("sys_convert_code", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_convert_char"), [new Place(0), new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_convert_double", 2])]));
add("sys_convert_double", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("="), [new Place(1), new Skeleton(".", [39, new Place(-3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, "."));
add("sys_convert_double", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("syntax_error", ["doubling_missing"]), new Place(-1)])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_convert_escape", 3])]));
add("sys_convert_escape", 3, new Clause(5, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [new Place(-4), new Place(-6)])]), new Skeleton(new Cache("sys_is_escape"), [new Place(2), new Place(1)]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(4), new Place(3)])], 0, undefined));
add("sys_convert_escape", 3, new Clause(6, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [new Place(-4), new Place(-6)])]), new Skeleton(new Cache("sys_is_radix"), [new Place(2), 8]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_convert_radix"), [new Place(-2), 8, new Place(4), new Place(-6)]), new Skeleton(new Cache("atom_codes"), [new Place(-7), new Skeleton(".", [new Place(2), new Place(0)])]), new Skeleton(new Cache("atom_integer"), [new Place(5), 8, new Place(1)]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_convert_backslash"), [new Place(4), new Place(3)])], 0, undefined));
add("sys_convert_escape", 3, new Clause(5, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [120, new Place(-4)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_convert_radix"), [new Place(-2), 16, new Place(2), new Place(-4)]), new Skeleton(new Cache("atom_codes"), [new Place(-6), new Place(0)]), new Skeleton(new Cache("atom_integer"), [new Place(4), 16, new Place(1)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_convert_backslash"), [new Place(2), new Place(3)])], 0, undefined));
add("sys_convert_escape", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [new Place(1), new Place(-4)])]), new Skeleton(new Cache("sys_is_meta"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], 0, undefined));
add("sys_convert_escape", 3, new Clause(2, [new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("syntax_error", ["illegal_escape"]), new Place(-1)])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_convert_backslash", 2])]));
add("sys_convert_backslash", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("="), [new Place(1), new Skeleton(".", [92, new Place(-3)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, "."));
add("sys_convert_backslash", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("syntax_error", ["unbalanced_escape"]), new Place(-1)])]), new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_convert_radix", 4])]));
add("sys_convert_radix", 4, new Clause(6, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6), new Place(-7)], [new Skeleton(new Cache("="), [new Place(4), new Skeleton(".", [new Place(1), new Place(-6)])]), new Skeleton(new Cache("sys_is_radix"), [new Place(1), new Place(3)]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_convert_radix"), [new Place(2), new Place(3), new Place(4), new Place(5)])], 0, "."));
add("sys_convert_radix", 4, new Clause(2, ["[]", new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_opts", 3])]));
add("sys_write_opts", 3, new Clause(1, [new Place(-2), new Place(-1), new Place(-1)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", new Place(-1)])])], -1, undefined));
add("sys_write_opts", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_opt"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_write_opts"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_write_opts", 3, new Clause(2, ["[]", new Place(-3), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "[]"));
add("sys_write_opts", 3, new Clause(1, [new Place(-2), new Place(-1), new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["list", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_opt", 3])]));
add("sys_write_opt", 3, new Clause(1, [new Place(-2), new Place(-1), new Place(-1)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", new Place(-1)])])], -1, undefined));
add("sys_write_opt", 3, new Clause(4, [new Skeleton("variable_names", [new Place(-3)]), new Skeleton("v", [new Place(-1), new Place(-4), new Place(-5)]), new Skeleton("v", [new Place(1), new Place(2), new Place(3)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_variable_names"), [new Place(1)])], 0, "variable_names"));
add("sys_write_opt", 3, new Clause(5, [new Skeleton("quoted", [new Place(-3)]), new Skeleton("v", [new Place(-4), new Place(-5), new Place(-6)]), new Skeleton("v", [new Place(2), new Place(-4), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_opt_boolean"), [new Place(1), 1, new Place(3), new Place(2)])], 0, "quoted"));
add("sys_write_opt", 3, new Clause(5, [new Skeleton("ignore_ops", [new Place(-3)]), new Skeleton("v", [new Place(-4), new Place(-5), new Place(-6)]), new Skeleton("v", [new Place(2), new Place(-4), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_opt_boolean"), [new Place(1), 2, new Place(3), new Place(2)])], 0, "ignore_ops"));
add("sys_write_opt", 3, new Clause(5, [new Skeleton("format", [new Place(-3)]), new Skeleton("v", [new Place(-4), new Place(-5), new Place(-6)]), new Skeleton("v", [new Place(2), new Place(-4), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_opt_boolean"), [new Place(1), 4, new Place(3), new Place(2)])], 0, "format"));
add("sys_write_opt", 3, new Clause(5, [new Skeleton("numbervars", [new Place(-3)]), new Skeleton("v", [new Place(-4), new Place(-5), new Place(-6)]), new Skeleton("v", [new Place(2), new Place(-4), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_opt_boolean"), [new Place(1), 8, new Place(3), new Place(2)])], 0, "numbervars"));
add("sys_write_opt", 3, new Clause(5, [new Skeleton("annotation", [new Place(-3)]), new Skeleton("v", [new Place(-4), new Place(-5), new Place(-6)]), new Skeleton("v", [new Place(2), new Place(-4), new Place(4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_opt_boolean"), [new Place(1), 16, new Place(3), new Place(2)])], 0, "annotation"));
add("sys_write_opt", 3, new Clause(4, [new Skeleton("priority", [new Place(-3)]), new Skeleton("v", [new Place(-4), new Place(-5), new Place(-1)]), new Skeleton("v", [new Place(2), new Place(3), new Place(1)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_check_integer"), [new Place(1)])], 0, "priority"));
add("sys_write_opt", 3, new Clause(1, [new Place(-2), new Place(-1), new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["write_option", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_variable_names", 1])]));
add("sys_write_variable_names", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", new Place(-1)])])], -1, undefined));
add("sys_write_variable_names", 1, new Clause(3, [new Skeleton(".", [new Place(-3), new Place(-4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_variable_name"), [new Place(1)]), new Skeleton(new Cache("sys_write_variable_names"), [new Place(2)])], 0, "."));
add("sys_write_variable_names", 1, new Clause(1, ["[]"], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "[]"));
add("sys_write_variable_names", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["list", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_variable_name", 1])]));
add("sys_write_variable_name", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", new Place(-1)])])], -1, undefined));
add("sys_write_variable_name", 1, new Clause(2, [new Skeleton("=", [new Place(-3), new Place(-1)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_check_atom"), [new Place(1)])], 0, "="));
add("sys_write_variable_name", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["variable_name", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_opts", 3])]));
add("sys_read_opts", 3, new Clause(1, [new Place(-2), new Place(-1), new Place(-1)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", new Place(-1)])])], -1, undefined));
add("sys_read_opts", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_read_opt"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_read_opts"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_read_opts", 3, new Clause(2, ["[]", new Place(-3), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "[]"));
add("sys_read_opts", 3, new Clause(1, [new Place(-2), new Place(-1), new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["list", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_opt", 3])]));
add("sys_read_opt", 3, new Clause(1, [new Place(-2), new Place(-1), new Place(-1)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", new Place(-1)])])], -1, undefined));
add("sys_read_opt", 3, new Clause(2, [new Skeleton("variable_names", [new Place(-1)]), new Place(-3), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "variable_names"));
add("sys_read_opt", 3, new Clause(2, [new Skeleton("singletons", [new Place(-1)]), new Place(-3), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "singletons"));
add("sys_read_opt", 3, new Clause(3, [new Skeleton("priority", [new Place(-3)]), new Skeleton("z", [new Place(-1), new Place(-4)]), new Skeleton("z", [new Place(1), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_check_integer"), [new Place(1)])], 0, "priority"));
add("sys_read_opt", 3, new Clause(4, [new Skeleton("annotation", [new Place(-3)]), new Skeleton("z", [new Place(-4), new Place(-5)]), new Skeleton("z", [new Place(2), new Place(-4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_opt_boolean"), [new Place(1), 16, new Place(3), new Place(2)])], 0, "annotation"));
add("sys_read_opt", 3, new Clause(1, [new Place(-2), new Place(-1), new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["read_option", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_results", 2])]));
add("sys_read_results", 2, new Clause(1, [new Place(-2), new Place(-1)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", new Place(-1)])])], -1, undefined));
add("sys_read_results", 2, new Clause(4, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_read_result"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_read_results"), [new Place(2), new Place(3)])], 0, "."));
add("sys_read_results", 2, new Clause(1, ["[]", new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "[]"));
add("sys_read_results", 2, new Clause(1, [new Place(-2), new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["list", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_result", 2])]));
add("sys_read_result", 2, new Clause(1, [new Place(-2), new Place(-1)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", new Place(-1)])])], -1, undefined));
add("sys_read_result", 2, new Clause(3, [new Skeleton("variable_names", [new Place(-3)]), new Skeleton("s", [new Place(-4), new Place(-1)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("reverse"), [new Place(2), new Place(1)])], 0, "variable_names"));
add("sys_read_result", 2, new Clause(3, [new Skeleton("singletons", [new Place(-3)]), new Skeleton("s", [new Place(-1), new Place(-4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("reverse"), [new Place(2), new Place(1)])], 0, "singletons"));
add("sys_read_result", 2, new Clause(1, [new Skeleton("priority", [new Place(-1)]), new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "priority"));
add("sys_read_result", 2, new Clause(1, [new Skeleton("annotation", [new Place(-1)]), new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "annotation"));
add("sys_read_result", 2, new Clause(1, [new Place(-2), new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["read_option", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_opt_boolean", 4])]));
add("sys_opt_boolean", 4, new Clause(1, [new Place(-2), new Place(-1), new Place(-1), new Place(-1)], [new Skeleton(new Cache("var"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", ["instantiation_error", new Place(-1)])])], -1, undefined));
add("sys_opt_boolean", 4, new Clause(4, ["true", new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\\\/"), [new Place(2), new Place(1)]), new Place(3)])], 0, "true"));
add("sys_opt_boolean", 4, new Clause(4, ["false", new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\/\\"), [new Place(2), new Skeleton(new Cache("\\"), [new Place(1)])]), new Place(3)])], 0, "false"));
add("sys_opt_boolean", 4, new Clause(1, [new Place(-2), new Place(-1), new Place(-1), new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["boolean", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_proper_atom", 1])]));
add("sys_proper_atom", 1, new Clause(3, [new Skeleton(".", [new Place(-2), new Place(-3)])], [new Skeleton(new Cache("sys_code_class"), [new Place(0), new Place(-4)]), new Skeleton(new Cache("sys_proper_atom"), [new Place(2), new Skeleton(".", [new Place(0), new Place(1)])])], -1, "."));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_proper_atom", 2])]));
add("sys_proper_atom", 2, new Clause(1, ["is_ident", new Skeleton(".", [new Place(-1), new Place(-2)])], [new Skeleton(new Cache("sys_proper_atom_name"), [new Place(0)])], -1, "is_ident"));
add("sys_proper_atom", 2, new Clause(1, ["is_graphic", new Compound(".", [46, "[]"])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0, "is_graphic"));
add("sys_proper_atom", 2, new Clause(1, ["is_graphic", new Skeleton(".", [47, new Skeleton(".", [42, new Place(-1)])])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0, "is_graphic"));
add("sys_proper_atom", 2, new Clause(1, ["is_graphic", new Skeleton(".", [new Place(-1), new Place(-2)])], [new Skeleton(new Cache("sys_proper_atom_graphic"), [new Place(0)])], -1, "is_graphic"));
add("sys_proper_atom", 2, new Clause(1, ["is_solo", new Compound(".", [39, "[]"])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0, "is_solo"));
add("sys_proper_atom", 2, new Clause(1, ["is_solo", new Compound(".", [96, "[]"])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0, "is_solo"));
add("sys_proper_atom", 2, new Clause(1, ["is_solo", new Compound(".", [34, "[]"])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0, "is_solo"));
add("sys_proper_atom", 2, new Clause(1, ["is_solo", new Compound(".", [37, "[]"])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Cache("fail")], 0, "is_solo"));
add("sys_proper_atom", 2, new Clause(0, ["is_solo", new Skeleton(".", [new Place(-1), "[]"])], [], -1, "is_solo"));
add("sys_proper_atom", 2, new Clause(1, ["is_punct", new Compound(".", [91, new Compound(".", [93, "[]"])])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "is_punct"));
add("sys_proper_atom", 2, new Clause(0, ["is_punct", new Compound(".", [123, new Compound(".", [125, "[]"])])], [], -1, "is_punct"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_proper_atom_name", 1])]));
add("sys_proper_atom_name", 1, new Clause(3, [new Skeleton(".", [new Place(-3), new Place(-4)])], [new Skeleton(new Cache("sys_code_class"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_name_class"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_proper_atom_name"), [new Place(2)])], 0, "."));
add("sys_proper_atom_name", 1, new Clause(0, ["[]"], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_proper_atom_graphic", 1])]));
add("sys_proper_atom_graphic", 1, new Clause(3, [new Skeleton(".", [new Place(-3), new Place(-4)])], [new Skeleton(new Cache("sys_code_class"), [new Place(1), "is_graphic"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_proper_atom_graphic"), [new Place(2)])], 0, "."));
add("sys_proper_atom_graphic", 1, new Clause(0, ["[]"], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_escape_codes", 3])]));
add("sys_escape_codes", 3, new Clause(4, [new Skeleton(".", [new Place(-2), new Place(-3)]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_escape_code"), [new Place(0), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_escape_codes"), [new Place(1), new Place(2), new Place(3)])], -1, "."));
add("sys_escape_codes", 3, new Clause(2, ["[]", new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_escape_code", 3])]));
add("sys_escape_code", 3, new Clause(5, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_is_escape"), [new Place(-6), new Place(1)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [92, new Skeleton(".", [new Place(4), new Place(3)])])])], 0, undefined));
add("sys_escape_code", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_is_meta"), [new Place(1)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [92, new Skeleton(".", [new Place(1), new Place(3)])])])], 0, undefined));
add("sys_escape_code", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_code_class"), [new Place(1), "is_cntrl"]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_escape_code2"), [new Place(1), new Place(2), new Place(3)])], 0, undefined));
add("sys_escape_code", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_code_class"), [new Place(1), "is_invalid"]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_escape_code2"), [new Place(1), new Place(2), new Place(3)])], 0, undefined));
add("sys_escape_code", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("="), [new Place(1), new Skeleton(".", [new Place(0), new Place(2)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_escape_code2", 3])]));
add("sys_escape_code2", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("=<"), [new Place(1), 511]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("atom_integer"), [new Place(-2), 8, new Place(1)]), new Skeleton(new Cache("atom_codes"), [new Place(0), new Place(-2)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [92, new Place(-4)])]), new Skeleton(new Cache("sys_escape_codes2"), [new Place(0), new Place(2), new Place(-4)]), new Skeleton(new Cache("="), [new Place(2), new Skeleton(".", [92, new Place(3)])])], 0, undefined));
add("sys_escape_code2", 3, new Clause(4, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("atom_integer"), [new Place(-5), 16, new Place(0)]), new Skeleton(new Cache("atom_codes"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(".", [92, new Skeleton(".", [120, new Place(-3)])])]), new Skeleton(new Cache("sys_escape_codes2"), [new Place(3), new Place(1), new Place(-3)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(".", [92, new Place(2)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_escape_codes2", 3])]));
add("sys_escape_codes2", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("="), [new Place(3), new Skeleton(".", [new Place(1), new Place(-3)])]), new Skeleton(new Cache("sys_escape_codes2"), [new Place(2), new Place(1), new Place(4)])], 0, "."));
add("sys_escape_codes2", 3, new Clause(2, ["[]", new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_make_negative", 2])]));
add("sys_make_negative", 2, new Clause(4, [new Skeleton("$RDX", [new Place(-3), new Place(-4)]), new Skeleton("$RDX", [new Place(-5), new Place(2)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(1)]), new Place(3)])], 0, "$RDX"));
add("sys_make_negative", 2, new Clause(3, [new Skeleton("$CHR", [new Place(-3)]), new Skeleton("$CHR", [new Place(-4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(1)]), new Place(2)])], 0, "$CHR"));
add("sys_make_negative", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(0)]), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_multifile_safe"), ["strings", 3])]));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["strings", 3])]));
add("strings", 3, new Clause(0, ["syntax_error.illegal_number", "de", "Keine Nummer."], [], -1, "syntax_error.illegal_number"));
add("strings", 3, new Clause(0, ["syntax_error.illegal_reference", "de", "Keine Referenz."], [], -1, "syntax_error.illegal_reference"));
add("strings", 3, new Clause(0, ["syntax_error.illegal_layout", "de", "Unerlaubtes Druckbildzeichen in Zeichenkette."], [], -1, "syntax_error.illegal_layout"));
add("strings", 3, new Clause(0, ["syntax_error.illegal_unicode", "de", "Unerlaubtes Unicodezeichen im Text."], [], -1, "syntax_error.illegal_unicode"));
add("strings", 3, new Clause(0, ["syntax_error.doubling_missing", "de", "Anführungszeichen nicht zweifach."], [], -1, "syntax_error.doubling_missing"));
add("strings", 3, new Clause(0, ["syntax_error.illegal_escape", "de", "Unerlaubte Steuersequenz in Zeichenkette."], [], -1, "syntax_error.illegal_escape"));
add("strings", 3, new Clause(0, ["syntax_error.unbalanced_escape", "de", "Steuersequenz nicht abgeschlossen."], [], -1, "syntax_error.unbalanced_escape"));
add("strings", 3, new Clause(0, ["syntax_error.end_of_file_in_block_comment", "de", "Blockkommentar nicht geschlossen."], [], -1, "syntax_error.end_of_file_in_block_comment"));
add("strings", 3, new Clause(0, ["syntax_error.end_of_line_as_character", "de", "Unerlaubtes Zeilenende als Zeichen."], [], -1, "syntax_error.end_of_line_as_character"));
add("strings", 3, new Clause(0, ["syntax_error.singleton_var", "de", "Alleinstehende Variable(n) ~, anonyme Variable(n) (_) benutzen."], [], -1, "syntax_error.singleton_var"));
add("strings", 3, new Clause(0, ["syntax_error.bracket_balance", "de", "Rechte eckige Klammer (\"]\") fehlt."], [], -1, "syntax_error.bracket_balance"));
add("strings", 3, new Clause(0, ["syntax_error.brace_balance", "de", "Rechte geschweifte Klammer (\"}\") fehlt."], [], -1, "syntax_error.brace_balance"));
add("strings", 3, new Clause(0, ["syntax_error.parenthesis_balance", "de", "Rechte runde Klammer (\")\") fehlt."], [], -1, "syntax_error.parenthesis_balance"));
add("strings", 3, new Clause(0, ["syntax_error.end_of_clause_expected", "de", "Überflüssiges Token."], [], -1, "syntax_error.end_of_clause_expected"));
add("strings", 3, new Clause(0, ["syntax_error.operator_clash", "de", "Runde Klammer (\"(\") vor Operator fehlt."], [], -1, "syntax_error.operator_clash"));
add("strings", 3, new Clause(0, ["syntax_error.cannot_start_term", "de", "Term fehlt."], [], -1, "syntax_error.cannot_start_term"));
add("strings", 3, new Clause(0, ["existence_error.source_sink", "de", "Datei ~ nicht gefunden."], [], -1, "existence_error.source_sink"));
add("strings", 3, new Clause(0, ["permission_error.open.source_sink", "de", "Kann Datei ~ nicht öffnen."], [], -1, "permission_error.open.source_sink"));
add("strings", 3, new Clause(0, ["resource_error.io_exception", "de", "Datei nicht erstellt oder nicht zugreifbar."], [], -1, "resource_error.io_exception"));
add("strings", 3, new Clause(0, ["resource_error.remote_error", "de", "Fehler von Entfernt erhalten."], [], -1, "resource_error.remote_error"));
add("strings", 3, new Clause(0, ["resource_error.socket_timeout", "de", "Ein-\/Ausgabeauszeit."], [], -1, "resource_error.socket_timeout"));
add("strings", 3, new Clause(0, ["syntax_error.illegal_number", "", "Not a number."], [], -1, "syntax_error.illegal_number"));
add("strings", 3, new Clause(0, ["syntax_error.illegal_reference", "", "Not a reference."], [], -1, "syntax_error.illegal_reference"));
add("strings", 3, new Clause(0, ["syntax_error.illegal_layout", "", "Illegal layout character in string."], [], -1, "syntax_error.illegal_layout"));
add("strings", 3, new Clause(0, ["syntax_error.illegal_unicode", "", "Illegal Unicode character in text."], [], -1, "syntax_error.illegal_unicode"));
add("strings", 3, new Clause(0, ["syntax_error.doubling_missing", "", "Quote not doubled."], [], -1, "syntax_error.doubling_missing"));
add("strings", 3, new Clause(0, ["syntax_error.illegal_escape", "", "Illegal escape sequence in string."], [], -1, "syntax_error.illegal_escape"));
add("strings", 3, new Clause(0, ["syntax_error.unbalanced_escape", "", "Escape sequence not closed."], [], -1, "syntax_error.unbalanced_escape"));
add("strings", 3, new Clause(0, ["syntax_error.end_of_file_in_block_comment", "", "Block comment not closed."], [], -1, "syntax_error.end_of_file_in_block_comment"));
add("strings", 3, new Clause(0, ["syntax_error.end_of_line_as_character", "", "Illegal end of line as character."], [], -1, "syntax_error.end_of_line_as_character"));
add("strings", 3, new Clause(0, ["syntax_error.singleton_var", "", "Singleton variable(s) ~, use anonymous variable(s) (_)."], [], -1, "syntax_error.singleton_var"));
add("strings", 3, new Clause(0, ["syntax_error.bracket_balance", "", "Right bracket (\"]\") missing."], [], -1, "syntax_error.bracket_balance"));
add("strings", 3, new Clause(0, ["syntax_error.brace_balance", "", "Right brace (\"}\") missing."], [], -1, "syntax_error.brace_balance"));
add("strings", 3, new Clause(0, ["syntax_error.parenthesis_balance", "", "Right parenthesis (\")\") missing."], [], -1, "syntax_error.parenthesis_balance"));
add("strings", 3, new Clause(0, ["syntax_error.end_of_clause_expected", "", "Superfluous token."], [], -1, "syntax_error.end_of_clause_expected"));
add("strings", 3, new Clause(0, ["syntax_error.operator_clash", "", "Parenthesis (\"(\") before operator missing."], [], -1, "syntax_error.operator_clash"));
add("strings", 3, new Clause(0, ["syntax_error.cannot_start_term", "", "Term missing."], [], -1, "syntax_error.cannot_start_term"));
add("strings", 3, new Clause(0, ["existence_error.source_sink", "", "File ~ not found."], [], -1, "existence_error.source_sink"));
add("strings", 3, new Clause(0, ["permission_error.open.source_sink", "", "Cannot open file ~."], [], -1, "permission_error.open.source_sink"));
add("strings", 3, new Clause(0, ["resource_error.io_exception", "", "File not created or not accessible."], [], -1, "resource_error.io_exception"));
add("strings", 3, new Clause(0, ["resource_error.remote_error", "", "Got error from remote."], [], -1, "resource_error.remote_error"));
add("strings", 3, new Clause(0, ["resource_error.socket_timeout", "", "Input\/output timeout."], [], -1, "resource_error.socket_timeout"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_is_infix", 3])]));
add("sys_is_infix", 3, new Clause(0, ["xfx", 1, 1], [], -1, "xfx"));
add("sys_is_infix", 3, new Clause(0, ["yfx", 0, 1], [], -1, "yfx"));
add("sys_is_infix", 3, new Clause(0, ["xfy", 1, 0], [], -1, "xfy"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_is_prefix", 2])]));
add("sys_is_prefix", 2, new Clause(0, ["fx", 1], [], -1, "fx"));
add("sys_is_prefix", 2, new Clause(0, ["fy", 0], [], -1, "fy"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_is_postfix", 2])]));
add("sys_is_postfix", 2, new Clause(0, ["xf", 1], [], -1, "xf"));
add("sys_is_postfix", 2, new Clause(0, ["yf", 0], [], -1, "yf"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_term", 3])]));
add("sys_write_term", 3, new Clause(5, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_write_opts"), [new Place(2), new Compound("v", ["[]", 0, 1200]), new Skeleton("v", [new Place(-4), new Place(-5), new Place(-6)])]), new Skeleton(new Cache("set_lastcode"), [new Place(0), -1]), new Skeleton(new Cache("sys_write_priority"), [new Place(1), new Skeleton("w", [1, new Place(4), 0]), new Skeleton("v", [new Place(0), new Place(3), new Place(2)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_priority", 3])]));
add("sys_write_priority", 3, new Clause(3, [new Place(-3), new Place(-1), new Place(-4)], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_var"), [new Place(1), new Place(2)])], 0, undefined));
add("sys_write_priority", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("number"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_number"), [new Place(1), new Place(2), new Place(3)])], 0, undefined));
add("sys_write_priority", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("atom"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_atom"), [new Place(1), new Place(2), new Place(3)])], 0, undefined));
add("sys_write_priority", 3, new Clause(3, [new Place(-3), new Place(-1), new Place(-4)], [new Skeleton(new Cache("reference"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_symbol"), [new Place(1), new Place(2)])], 0, undefined));
add("sys_write_priority", 3, new Clause(6, [new Skeleton("$RDX", [new Place(-3), new Place(-4)]), new Skeleton("w", [new Place(-5), new Place(-1), new Place(-1)]), new Place(-6)], [new Skeleton(new Cache("sys_current_flags"), [new Place(4), new Place(-7)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(5), 16]), 0]), new Skeleton(new Cache("integer"), [new Place(1)]), new Skeleton(new Cache("integer"), [new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_atom_radix"), [new Place(-2), new Place(2), new Place(1)]), new Skeleton(new Cache("sys_current_stream"), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_put_nspace"), [new Place(4), new Place(3)]), new Skeleton(new Cache("sys_safe_atom"), [new Place(4), new Place(0)])], 0, "$RDX"));
add("sys_write_priority", 3, new Clause(4, [new Skeleton("$STR", [new Place(-3)]), new Place(-1), new Place(-4)], [new Skeleton(new Cache("sys_current_flags"), [new Place(2), new Place(-5)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(3), 16]), 0]), new Skeleton(new Cache("atom"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_atom_string"), [new Place(-2), new Place(1)]), new Skeleton(new Cache("sys_current_stream"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_safe_atom"), [new Place(2), new Place(0)])], 0, "$STR"));
add("sys_write_priority", 3, new Clause(5, [new Skeleton("$CHR", [new Place(-3)]), new Skeleton("w", [new Place(-4), new Place(-1), new Place(-1)]), new Place(-5)], [new Skeleton(new Cache("sys_current_flags"), [new Place(3), new Place(-6)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(4), 16]), 0]), new Skeleton(new Cache("integer"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_atom_char"), [new Place(-2), new Place(1)]), new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_put_nspace"), [new Place(3), new Place(2)]), new Skeleton(new Cache("sys_safe_atom"), [new Place(3), new Place(0)])], 0, "$CHR"));
add("sys_write_priority", 3, new Clause(5, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_current_flags"), [new Place(3), new Place(-6)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(4), 2]), 0]), new Skeleton(new Cache("compound"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_compound"), [new Place(1), new Place(2), new Place(3)])], 0, undefined));
add("sys_write_priority", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Skeleton("w", [new Place(-1), new Place(-1), new Place(-5)]), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(4), new Place(-2)]), new Skeleton(new Cache("put_code"), [new Place(0), 91]), new Skeleton(new Cache("sys_write_priority"), [new Place(1), new Skeleton("w", [1, 999, new Place(3)]), new Place(4)]), new Skeleton(new Cache("sys_write_list"), [new Place(2), new Place(3), new Place(4)]), new Skeleton(new Cache("put_code"), [new Place(0), 93])], 0, "."));
add("sys_write_priority", 3, new Clause(4, [new Skeleton("{}", [new Place(-3)]), new Skeleton("w", [new Place(-1), new Place(-1), new Place(-4)]), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(-2)]), new Skeleton(new Cache("put_code"), [new Place(0), 123]), new Skeleton(new Cache("sys_write_priority"), [new Place(1), new Skeleton("w", [1, 1200, new Place(2)]), new Place(3)]), new Skeleton(new Cache("put_code"), [new Place(0), 125])], 0, "{}"));
add("sys_write_priority", 3, new Clause(7, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("functor"), [new Place(1), new Place(-6), 1]), new Skeleton(new Cache("sys_op"), [new Place(4), new Place(-6), new Place(-7), new Place(-8), new Place(-1)]), new Skeleton(new Cache("sys_is_prefix"), [new Place(4), new Place(-6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_prefix"), [new Place(1), new Place(2), new Place(3), new Place(5), new Place(6), new Place(4)])], 0, undefined));
add("sys_write_priority", 3, new Clause(7, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("functor"), [new Place(1), new Place(-6), 1]), new Skeleton(new Cache("sys_op"), [new Place(4), new Place(-6), new Place(-7), new Place(-8), new Place(-1)]), new Skeleton(new Cache("sys_is_postfix"), [new Place(4), new Place(-6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_postfix"), [new Place(1), new Place(2), new Place(3), new Place(5), new Place(6), new Place(4)])], 0, undefined));
add("sys_write_priority", 3, new Clause(8, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("functor"), [new Place(1), new Place(-6), 2]), new Skeleton(new Cache("sys_op"), [new Place(4), new Place(-6), new Place(-7), new Place(-8), new Place(-1)]), new Skeleton(new Cache("sys_is_infix"), [new Place(4), new Place(-6), new Place(-9)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_write_infix"), [new Place(1), new Place(2), new Place(3), new Place(5), new Place(6), new Place(4), new Place(7)])], 0, undefined));
add("sys_write_priority", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_write_compound"), [new Place(0), new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_number", 3])]));
add("sys_write_number", 3, new Clause(4, [new Place(-3), new Skeleton("w", [new Place(-4), new Place(-1), new Place(-1)]), new Place(-5)], [new Skeleton(new Cache("number"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_number"), [new Place(-2), new Place(1)]), new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_put_nspace"), [new Place(3), new Place(2)]), new Skeleton(new Cache("sys_safe_atom"), [new Place(3), new Place(0)])], 0, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_atom", 3])]));
add("sys_write_atom", 3, new Clause(5, [new Place(-3), new Skeleton("w", [new Place(-4), new Place(-1), new Place(-1)]), new Place(-5)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 1]), 0]), new Skeleton(new Cache("sys_op"), [new Place(1), new Place(-6), new Place(-1), new Place(-1), new Place(-1)]), new Skeleton(new Cache("sys_is_prefix"), [new Place(4), new Place(-1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(-2)]), new Skeleton(new Cache("sys_put_lparen"), [new Place(0), 1, 0, 1200, new Place(2), new Place(-1)]), new Skeleton(new Cache("sys_put_symbol"), [new Place(1), new Place(3)]), new Skeleton(new Cache("put_code"), [new Place(0), 41])], 0, undefined));
add("sys_write_atom", 3, new Clause(2, [new Place(-2), new Place(-1), new Place(-3)], [new Skeleton(new Cache("sys_put_symbol"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_prefix", 6])]));
add("sys_write_prefix", 6, new Clause(12, [new Place(-2), new Skeleton("w", [new Place(-3), new Place(-4), new Place(-5)]), new Place(-6), new Place(-7), new Place(-8), new Place(-9)], [new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(-2), new Skeleton(".", [new Place(-10), "[]"])])]), new Skeleton(new Cache("sys_current_stream"), [new Place(4), new Place(-11)]), new Skeleton(new Cache("sys_current_flags"), [new Place(4), new Place(-12)]), new Skeleton(new Cache("sys_put_lparen"), [new Place(9), new Place(7), new Place(2), new Place(5), new Place(1), new Place(-13)]), new Skeleton(new Cache("sys_put_adjust"), [new Place(3), new Place(10), new Place(6), new Place(-12)]), new Skeleton(new Cache("sys_oper_minus"), [new Place(0), new Place(11), new Place(-13)]), new Skeleton(new Cache("sys_put_symbol"), [new Place(0), new Place(4)]), new Skeleton(new Cache("sys_put_rspace"), [new Place(9), new Place(6), new Place(11), new Place(-13)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(5), new Place(7)]), new Place(-8)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\/\\"), [new Place(11), new Compound(new Cache("\\"), [8])]), new Place(-13)]), new Skeleton(new Cache("sys_write_priority"), [new Place(8), new Skeleton("w", [new Place(11), new Place(6), new Place(10)]), new Place(4)]), new Skeleton(new Cache("sys_put_rparen"), [new Place(9), new Place(7), new Place(2), new Place(5), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_postfix", 6])]));
add("sys_write_postfix", 6, new Clause(11, [new Place(-2), new Skeleton("w", [new Place(-3), new Place(-4), new Place(-5)]), new Place(-6), new Place(-7), new Place(-8), new Place(-9)], [new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(-2), new Skeleton(".", [new Place(-10), "[]"])])]), new Skeleton(new Cache("sys_current_stream"), [new Place(4), new Place(-11)]), new Skeleton(new Cache("sys_put_lparen"), [new Place(9), 1, new Place(2), new Place(5), new Place(1), new Place(-12)]), new Skeleton(new Cache("sys_oper_escape"), [new Place(0), new Place(10), new Place(-12)]), new Skeleton(new Cache("sys_oper_side"), [new Place(7), new Place(10), new Place(-12)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(5), new Place(7)]), new Place(-9)]), new Skeleton(new Cache("sys_write_priority"), [new Place(8), new Skeleton("w", [new Place(10), new Place(7), new Place(3)]), new Place(4)]), new Skeleton(new Cache("sys_put_lspace"), [new Place(9), new Place(6)]), new Skeleton(new Cache("sys_put_oper"), [new Place(0), new Place(4), new Place(-1)]), new Skeleton(new Cache("sys_put_rparen"), [new Place(9), 1, new Place(2), new Place(5), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_infix", 7])]));
add("sys_write_infix", 7, new Clause(15, [new Place(-2), new Skeleton("w", [new Place(-3), new Place(-4), new Place(-5)]), new Place(-6), new Place(-7), new Place(-8), new Place(-9), new Place(-10)], [new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(-2), new Skeleton(".", [new Place(-11), new Skeleton(".", [new Place(-12), "[]"])])])]), new Skeleton(new Cache("sys_current_stream"), [new Place(4), new Place(-13)]), new Skeleton(new Cache("sys_current_flags"), [new Place(4), new Place(-14)]), new Skeleton(new Cache("sys_put_lparen"), [new Place(11), new Place(8), new Place(2), new Place(5), new Place(1), new Place(-15)]), new Skeleton(new Cache("sys_put_indent"), [new Place(11), new Place(3), new Place(12), new Place(6), new Place(8), new Place(2), new Place(5), new Place(1), new Place(-5)]), new Skeleton(new Cache("sys_oper_escape"), [new Place(0), new Place(13), new Place(-16)]), new Skeleton(new Cache("sys_oper_side"), [new Place(7), new Place(14), new Place(-16)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(5), new Place(7)]), new Place(-9)]), new Skeleton(new Cache("sys_write_priority"), [new Place(9), new Skeleton("w", [new Place(14), new Place(7), new Place(3)]), new Place(4)]), new Skeleton(new Cache("sys_put_lformat"), [new Place(11), new Place(3), new Place(12), new Place(6)]), new Skeleton(new Cache("sys_put_oper"), [new Place(0), new Place(4), new Place(-2)]), new Skeleton(new Cache("sys_put_rformat"), [new Place(11), new Place(3), new Place(12), new Place(6), new Place(0), new Place(13)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(5), new Place(8)]), new Place(-2)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\/\\"), [new Place(13), new Compound(new Cache("\\"), [14])]), new Place(-15)]), new Skeleton(new Cache("sys_write_priority"), [new Place(10), new Skeleton("w", [new Place(13), new Place(0), new Place(3)]), new Place(4)]), new Skeleton(new Cache("sys_put_rparen"), [new Place(11), new Place(8), new Place(2), new Place(5), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_list", 3])]));
add("sys_write_list", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("var"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(-2)]), new Skeleton(new Cache("put_code"), [new Place(0), 124]), new Skeleton(new Cache("sys_write_priority"), [new Place(1), new Skeleton("w", [1, 999, new Place(2)]), new Place(3)])], 0, undefined));
add("sys_write_list", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(4), new Place(-2)]), new Skeleton(new Cache("put_atom"), [new Place(0), ", "]), new Skeleton(new Cache("sys_write_priority"), [new Place(1), new Skeleton("w", [1, 999, new Place(3)]), new Place(4)]), new Skeleton(new Cache("sys_write_list"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_write_list", 3, new Clause(1, ["[]", new Place(-1), new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "[]"));
add("sys_write_list", 3, new Clause(4, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_stream"), [new Place(2), new Place(-5)]), new Skeleton(new Cache("put_code"), [new Place(3), 124]), new Skeleton(new Cache("sys_write_priority"), [new Place(0), new Skeleton("w", [1, 999, new Place(1)]), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_compound", 3])]));
add("sys_write_compound", 3, new Clause(6, [new Place(-2), new Skeleton("w", [new Place(-1), new Place(-1), new Place(-3)]), new Place(-4)], [new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(-2), new Skeleton(".", [new Place(-5), new Place(-6)])])]), new Skeleton(new Cache("sys_current_stream"), [new Place(2), new Place(-7)]), new Skeleton(new Cache("sys_put_symbol"), [new Place(0), new Place(2)]), new Skeleton(new Cache("put_code"), [new Place(5), 40]), new Skeleton(new Cache("sys_write_priority"), [new Place(3), new Skeleton("w", [1, 999, new Place(1)]), new Place(2)]), new Skeleton(new Cache("sys_write_args"), [new Place(4), new Place(1), new Place(2)]), new Skeleton(new Cache("put_code"), [new Place(5), 41])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_args", 3])]));
add("sys_write_args", 3, new Clause(5, [new Skeleton(".", [new Place(-2), new Place(-3)]), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(-6)]), new Skeleton(new Cache("put_atom"), [new Place(4), ", "]), new Skeleton(new Cache("sys_write_priority"), [new Place(0), new Skeleton("w", [1, 999, new Place(2)]), new Place(3)]), new Skeleton(new Cache("sys_write_args"), [new Place(1), new Place(2), new Place(3)])], -1, "."));
add("sys_write_args", 3, new Clause(0, ["[]", new Place(-1), new Place(-1)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_atom_radix", 3])]));
add("sys_atom_radix", 3, new Clause(3, [new Place(-3), 16, new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_atom_radix2"), [new Place(1), 16, "0x", new Place(2)])], 0, undefined));
add("sys_atom_radix", 3, new Clause(3, [new Place(-3), 8, new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_atom_radix2"), [new Place(1), 8, "0o", new Place(2)])], 0, undefined));
add("sys_atom_radix", 3, new Clause(3, [new Place(-3), 2, new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_atom_radix2"), [new Place(1), 2, "0b", new Place(2)])], 0, undefined));
add("sys_atom_radix", 3, new Clause(2, [new Place(-2), new Place(-1), new Place(-3)], [new Skeleton(new Cache("atom_integer"), [new Place(0), 10, new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_atom_radix2", 4])]));
add("sys_atom_radix2", 4, new Clause(5, [new Place(-3), new Place(-4), new Place(-5), new Place(-6)], [new Skeleton(new Cache("=<"), [0, new Place(4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_integer"), [new Place(-2), new Place(2), new Place(4)]), new Skeleton(new Cache("atom_split"), [new Place(1), "", new Skeleton(".", [new Place(3), new Skeleton(".", [new Place(0), "[]"])])])], 0, undefined));
add("sys_atom_radix2", 4, new Clause(5, [new Place(-3), new Place(-4), new Place(-5), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(4)]), new Place(-6)]), new Skeleton(new Cache("atom_integer"), [new Place(-2), new Place(2), new Place(4)]), new Skeleton(new Cache("atom_split"), [new Place(1), "", new Skeleton(".", ["-", new Skeleton(".", [new Place(3), new Skeleton(".", [new Place(0), "[]"])])])])], 0, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_atom_string", 2])]));
add("sys_atom_string", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("atom_codes"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_escape_codes"), [new Place(1), new Place(-3), new Compound(".", [34, "[]"])]), new Skeleton(new Cache("atom_codes"), [new Place(0), new Skeleton(".", [34, new Place(1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_atom_char", 2])]));
add("sys_atom_char", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("=<"), [0, new Place(2)]), new Skeleton(new Cache("=<"), [new Place(2), 1114111]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_escape_code"), [new Place(2), new Place(-4), "[]"]), new Skeleton(new Cache("atom_codes"), [new Place(1), new Skeleton(".", [48, new Skeleton(".", [39, new Place(2)])])])], 0, undefined));
add("sys_atom_char", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("=<"), [-1114111, new Place(2)]), new Skeleton(new Cache("=<"), [new Place(2), -1]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(2)]), new Place(-4)]), new Skeleton(new Cache("sys_escape_code"), [new Place(2), new Place(-4), "[]"]), new Skeleton(new Cache("atom_codes"), [new Place(1), new Skeleton(".", [45, new Skeleton(".", [48, new Skeleton(".", [39, new Place(2)])])])])], 0, undefined));
add("sys_atom_char", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("atom_integer"), [new Place(0), 10, new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_var", 2])]));
add("sys_write_var", 2, new Clause(4, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_vars"), [new Place(2), new Place(-5)]), new Skeleton(new Cache("sys_find_var"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_flags"), [new Place(2), new Place(-2)]), new Skeleton(new Cache("sys_var_quoted"), [new Place(3), new Place(0), new Place(-2)]), new Skeleton(new Cache("sys_current_stream"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_safe_atom"), [new Place(2), new Place(0)])], 0, undefined));
add("sys_write_var", 2, new Clause(3, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_current_stream"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_safe_code"), [new Place(1), 95]), new Skeleton(new Cache("dg_var_serno"), [new Place(0), new Place(-2)]), new Skeleton(new Cache("atom_integer"), [new Place(-4), 10, new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_find_var", 3])]));
add("sys_find_var", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("member"), [new Skeleton("=", [new Place(3), new Place(-5)]), new Place(2)]), new Skeleton(new Cache("=="), [new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_var_quoted", 3])]));
add("sys_var_quoted", 3, new Clause(3, [new Place(-3), new Place(-4), new Place(1)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_var_quoted", 3, new Clause(3, [new Place(-3), new Place(-1), new Place(-4)], [new Skeleton(new Cache("atom_codes"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("\\+"), [new Skeleton("sys_proper_var", [new Place(1)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_escape_codes"), [new Place(1), new Place(-3), new Compound(".", [96, "[]"])]), new Skeleton(new Cache("atom_codes"), [new Place(2), new Skeleton(".", [96, new Place(1)])])], 0, undefined));
add("sys_var_quoted", 3, new Clause(1, [new Place(-2), new Place(-1), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_proper_var", 1])]));
add("sys_proper_var", 1, new Clause(3, [new Skeleton(".", [new Place(-2), new Place(-3)])], [new Skeleton(new Cache("sys_code_class"), [new Place(0), new Place(-4)]), new Skeleton(new Cache("sys_proper_var"), [new Place(2), new Skeleton(".", [new Place(0), new Place(1)])])], -1, "."));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_proper_var", 2])]));
add("sys_proper_var", 2, new Clause(1, ["is_upper", new Skeleton(".", [new Place(-1), new Place(-2)])], [new Skeleton(new Cache("sys_proper_atom_name"), [new Place(0)])], -1, "is_upper"));
add("sys_proper_var", 2, new Clause(1, ["is_score", new Skeleton(".", [new Place(-1), new Place(-2)])], [new Skeleton(new Cache("sys_proper_atom_name"), [new Place(0)])], -1, "is_score"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_adjust", 4])]));
add("sys_put_adjust", 4, new Clause(3, [new Place(-3), new Place(-4), new Place(-1), new Place(1)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 4]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_put_adjust", 4, new Clause(4, [new Place(-3), new Place(-1), new Place(-4), new Place(-5)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 12]), 12]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("+"), [new Place(1), 3]), new Place(3)])], 0, undefined));
add("sys_put_adjust", 4, new Clause(1, [new Place(-2), new Place(-1), new Place(-1), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_indent", 9])]));
add("sys_put_indent", 9, new Clause(3, [new Place(-1), new Place(-3), new Place(-4), new Place(-1), new Place(-1), new Place(-1), new Place(-1), new Place(-1), new Place(1)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 4]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_put_indent", 9, new Clause(3, [new Place(-1), new Place(-3), new Place(-1), new Place(-4), new Place(-1), new Place(-1), new Place(-1), new Place(-1), new Place(1)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 12]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_put_indent", 9, new Clause(4, [new Place(-1), new Place(-3), new Place(-1), new Place(-4), new Place(-1), new Place(-1), new Place(-1), new Place(-1), new Place(-5)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 12]), 12]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("+"), [new Place(1), 3]), new Place(3)])], 0, undefined));
add("sys_put_indent", 9, new Clause(8, [new Place(-3), new Place(-4), new Place(-1), new Place(-1), new Place(-5), new Place(-6), new Place(-7), new Place(-8), new Place(-9)], [new Skeleton(new Cache("sys_needs_paren"), [new Place(3), new Place(4), new Place(5), new Place(6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_spaces"), [new Place(1), 2]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("+"), [new Place(2), 3]), new Place(7)])], 0, undefined));
add("sys_put_indent", 9, new Clause(1, [new Place(-1), new Place(-2), new Place(-1), new Place(-1), new Place(-1), new Place(-1), new Place(-1), new Place(-1), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_lparen", 6])]));
add("sys_put_lparen", 6, new Clause(7, [new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-7), new Place(-8)], [new Skeleton(new Cache("sys_needs_paren"), [new Place(2), new Place(3), new Place(4), new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_lparen2"), [new Place(1), new Place(5), new Place(6)])], 0, undefined));
add("sys_put_lparen", 6, new Clause(1, [new Place(-1), new Place(-1), new Place(-1), new Place(-1), new Place(-2), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_lparen2", 3])]));
add("sys_put_lparen2", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(2), 2]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_code"), [new Place(1), 32]), new Skeleton(new Cache("put_code"), [new Place(1), 40]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\\\/"), [new Skeleton(new Cache("\/\\"), [new Place(2), new Compound(new Cache("\\"), [6])]), 1]), new Place(3)])], 0, undefined));
add("sys_put_lparen2", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("put_code"), [new Place(0), 40]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\\\/"), [new Place(1), 1]), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_rparen", 5])]));
add("sys_put_rparen", 5, new Clause(6, [new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-7)], [new Skeleton(new Cache("sys_needs_paren"), [new Place(2), new Place(3), new Place(4), new Place(5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_code"), [new Place(1), 41])], 0, undefined));
add("sys_put_rparen", 5, new Clause(0, [new Place(-1), new Place(-1), new Place(-1), new Place(-1), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_needs_paren", 4])]));
add("sys_needs_paren", 4, new Clause(3, [new Place(-1), new Place(-3), new Place(-4), new Place(-1)], [new Skeleton(new Cache("<"), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_needs_paren", 4, new Clause(1, [0, new Place(-2), new Place(0), new Place(-2)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(0), 8]), 0])], -1, 0));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_lformat", 4])]));
add("sys_put_lformat", 4, new Clause(4, [new Place(-3), new Place(-1), new Place(-4), new Place(-5)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 4]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_lspace"), [new Place(1), new Place(3)])], 0, undefined));
add("sys_put_lformat", 4, new Clause(3, [new Place(-3), new Place(-1), new Place(-1), new Place(-4)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(2), 12]), 8]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_lspace"), [new Place(1), new Place(2)])], 0, undefined));
add("sys_put_lformat", 4, new Clause(2, [new Place(-2), new Place(-3), new Place(-1), new Place(-1)], [new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(1), 3]), new Place(-3)]), new Skeleton(new Cache("nl"), [new Place(0)]), new Skeleton(new Cache("sys_put_spaces"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_rformat", 6])]));
add("sys_put_rformat", 6, new Clause(5, [new Place(-3), new Place(-1), new Place(-4), new Place(-5), new Place(-1), new Place(-6)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 4]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_rspace"), [new Place(1), new Place(3), new Place(4), new Place(-1)])], 0, undefined));
add("sys_put_rformat", 6, new Clause(4, [new Place(-3), new Place(-1), new Place(-1), new Place(-4), new Place(-1), new Place(-5)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 12]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_put_rspace"), [new Place(1), new Place(2), new Place(3), new Place(-1)])], 0, undefined));
add("sys_put_rformat", 6, new Clause(4, [new Place(-3), new Place(-4), new Place(-1), new Place(-5), new Place(-1), new Place(-1)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(3), 12]), 8]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("nl"), [new Place(1)]), new Skeleton(new Cache("sys_put_spaces"), [new Place(1), new Place(2)])], 0, undefined));
add("sys_put_rformat", 6, new Clause(2, [new Place(-2), new Place(-1), new Place(-1), new Place(-1), new Place(-3), new Place(-1)], [new Skeleton(new Cache("atom_length"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [3, new Place(1)]), new Place(-3)]), new Skeleton(new Cache("sys_put_spaces"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_spaces", 2])]));
add("sys_put_spaces", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache(">"), [new Place(2), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_code"), [new Place(1), 32]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(2), 1]), new Place(-4)]), new Skeleton(new Cache("sys_put_spaces"), [new Place(1), new Place(2)])], 0, undefined));
add("sys_put_spaces", 2, new Clause(0, [new Place(-1), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_lspace", 2])]));
add("sys_put_lspace", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 2]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_code"), [new Place(1), 32])], 0, undefined));
add("sys_put_lspace", 2, new Clause(0, [new Place(-1), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_rspace", 4])]));
add("sys_put_rspace", 4, new Clause(5, [new Place(-3), new Place(-4), new Place(-5), new Place(-6)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_code"), [new Place(1), 32]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\/\\"), [new Place(3), new Compound(new Cache("\\"), [6])]), new Place(4)])], 0, undefined));
add("sys_put_rspace", 4, new Clause(2, [new Place(-1), new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\\\/"), [new Place(0), 2]), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_oper_side", 3])]));
add("sys_oper_side", 3, new Clause(3, [0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\\\/"), [new Place(1), 8]), new Place(2)])], 0, 0));
add("sys_oper_side", 3, new Clause(2, [new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\/\\"), [new Place(0), new Compound(new Cache("\\"), [8])]), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_oper_minus", 3])]));
add("sys_oper_minus", 3, new Clause(3, ["-", new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\\\/"), [new Place(1), 4]), new Place(2)])], 0, "-"));
add("sys_oper_minus", 3, new Clause(2, [new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\/\\"), [new Place(0), new Compound(new Cache("\\"), [4])]), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_nspace", 2])]));
add("sys_put_nspace", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(2), 4]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_code"), [new Place(1), 32])], 0, undefined));
add("sys_put_nspace", 2, new Clause(0, [new Place(-1), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_oper_escape", 3])]));
add("sys_oper_escape", 3, new Clause(3, [",", new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\\\/"), [new Place(1), 1]), new Place(2)])], 0, ","));
add("sys_oper_escape", 3, new Clause(3, ["|", new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\\\/"), [new Place(1), 1]), new Place(2)])], 0, "|"));
add("sys_oper_escape", 3, new Clause(2, [new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("\/\\"), [new Place(0), new Compound(new Cache("\\"), [1])]), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_current_stream", 2])]));
add("sys_current_stream", 2, new Clause(1, [new Skeleton("v", [new Place(-2), new Place(-1), new Place(-1)]), new Place(0)], [], -1, "v"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_current_flags", 2])]));
add("sys_current_flags", 2, new Clause(1, [new Skeleton("v", [new Place(-1), new Place(-2), new Place(-1)]), new Place(0)], [], -1, "v"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_current_vars", 2])]));
add("sys_current_vars", 2, new Clause(1, [new Skeleton("v", [new Place(-1), new Place(-1), new Place(-2)]), new Place(0)], [], -1, "v"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_oper", 3])]));
add("sys_put_oper", 3, new Clause(2, [",", new Place(-3), ","], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("put_code"), [new Place(1), 44])], 0, ","));
add("sys_put_oper", 3, new Clause(2, ["|", new Place(-3), "|"], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_stream"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("put_code"), [new Place(1), 124])], 0, "|"));
add("sys_put_oper", 3, new Clause(4, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_flags"), [new Place(1), new Place(-5)]), new Skeleton(new Cache("sys_symbol_quoted"), [new Place(0), new Place(3), new Place(2)]), new Skeleton(new Cache("sys_current_stream"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_safe_atom"), [new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_symbol", 2])]));
add("sys_put_symbol", 2, new Clause(3, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_current_flags"), [new Place(1), new Place(-4)]), new Skeleton(new Cache("sys_symbol_quoted"), [new Place(0), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_current_stream"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_safe_atom"), [new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_symbol_quoted", 3])]));
add("sys_symbol_quoted", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("reference"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_reference_quoted"), [new Place(1), new Place(2), new Place(3)])], 0, undefined));
add("sys_symbol_quoted", 3, new Clause(3, [new Place(-3), new Place(-4), new Place(1)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_symbol_quoted", 3, new Clause(3, [new Place(-3), new Place(-1), new Place(-4)], [new Skeleton(new Cache("atom_codes"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("\\+"), [new Skeleton("sys_proper_atom", [new Place(1)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_escape_codes"), [new Place(1), new Place(-3), new Compound(".", [39, "[]"])]), new Skeleton(new Cache("atom_codes"), [new Place(2), new Skeleton(".", [39, new Place(1)])])], 0, undefined));
add("sys_symbol_quoted", 3, new Clause(1, [new Place(-2), new Place(-1), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_reference_quoted", 3])]));
add("sys_reference_quoted", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(2), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("atom_reference"), [new Place(3), new Place(1)])], 0, undefined));
add("sys_reference_quoted", 3, new Clause(3, [new Place(-2), new Place(-1), new Place(-3)], [new Skeleton(new Cache("atom_reference"), [new Place(-4), new Place(0)]), new Skeleton(new Cache("atom_concat"), ["0r", new Place(2), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_term", 4])]));
add("sys_read_term", 4, new Clause(6, [new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_read_opts"), [new Place(2), new Compound("z", [1200, 0]), new Skeleton("z", [new Place(-6), new Place(-7)])]), new Skeleton(new Cache("sys_next_token"), [new Skeleton("t", ["-", new Place(5), new Skeleton("r", [new Place(1), new Place(0)]), new Compound("s", ["[]", "[]"])]), new Place(-2)]), new Skeleton(new Cache("sys_read_optional"), [new Place(-3), new Place(4), new Place(0), new Skeleton("t", [new Place(-1), new Place(-1), new Place(-1), new Place(-2)])]), new Skeleton(new Cache("sys_read_results"), [new Place(2), new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_optional", 4])]));
add("sys_read_optional", 4, new Clause(3, ["end_of_file", new Place(-1), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_token"), ["end_of_file", new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, "end_of_file"));
add("sys_read_optional", 4, new Clause(4, [new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_read_priority"), [new Place(0), new Place(1), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_read_end"), [".", new Place(2), new Place(3)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_priority", 4])]));
add("sys_read_priority", 4, new Clause(7, [new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_current_token"), [new Place(-6), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_read_factor"), [new Place(4), new Place(-6), new Place(1), new Place(-7), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_current_token"), [new Place(-8), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_read_secondary"), [new Place(6), new Place(4), new Place(0), new Place(1), new Place(5), new Place(2), new Place(3)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_secondary", 7])]));
add("sys_read_secondary", 7, new Clause(8, [new Skeleton("atom", [new Place(-3)]), new Place(-4), new Place(-5), new Place(-6), new Place(-7), new Place(-8), new Place(-9)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(6), new Place(-8)]), new Skeleton(new Cache("sys_read_infix"), [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)])], 0, "atom"));
add("sys_read_secondary", 7, new Clause(8, [new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-7), new Place(-8), new Place(-9)], [new Skeleton(new Cache("="), [new Place(1), ","]), new Skeleton(new Cache("="), [new Place(6), new Place(-8)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(6), new Place(-8)]), new Skeleton(new Cache("sys_read_infix"), [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)])], 0, ","));
add("sys_read_secondary", 7, new Clause(8, [new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-7), new Place(-8), new Place(-9)], [new Skeleton(new Cache("="), [new Place(1), "|"]), new Skeleton(new Cache("="), [new Place(6), new Place(-8)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(6), new Place(-8)]), new Skeleton(new Cache("sys_read_infix"), [new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6), new Place(7)])], 0, "|"));
add("sys_read_secondary", 7, new Clause(2, [new Place(-1), new Place(-2), new Place(0), new Place(-1), new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_infix", 7])]));
add("sys_read_infix", 7, new Clause(11, [new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-7), new Place(-8), new Place(-9)], [new Skeleton(new Cache("sys_op"), [new Place(1), new Place(-10), new Place(-11), new Place(-1), new Place(-1)]), new Skeleton(new Cache("sys_is_infix"), [new Place(8), new Place(-10), new Place(-12)]), new Skeleton(new Cache(">="), [new Place(4), new Place(9)]), new Skeleton(new Cache("="), [new Place(6), new Place(-8)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(6), new Place(-8)]), new Skeleton(new Cache("sys_next_token"), [new Place(6), new Place(-8)]), new Skeleton(make_defined([new Clause(6, [new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-7)], [new Skeleton(new Cache("<"), [new Skeleton(new Cache("-"), [new Place(1), new Place(2)]), new Place(3)]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Compound("syntax_error", ["operator_clash"]), new Place(-1)]), new Place(4), new Place(5)])], 0, undefined), new Clause(2, [new Place(-1), new Place(-1), new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined)]), [new Place(9), new Place(8), new Place(5), new Place(6), new Place(-8)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(9), new Place(10)]), new Place(-12)]), new Skeleton(new Cache("="), [new Place(6), new Place(-8)]), new Skeleton(new Cache("sys_read_priority"), [new Place(-7), new Place(10), new Place(6), new Place(-8)]), new Skeleton(new Cache("=.."), [new Place(-12), new Skeleton(".", [new Place(1), new Skeleton(".", [new Place(2), new Skeleton(".", [new Place(5), "[]"])])])]), new Skeleton(new Cache("="), [new Place(6), new Place(-8)]), new Skeleton(new Cache("sys_current_token"), [new Place(-7), new Place(6), new Place(-8)]), new Skeleton(new Cache("sys_read_secondary"), [new Place(5), new Place(10), new Place(3), new Place(4), new Place(9), new Place(6), new Place(7)])], 0, undefined));
add("sys_read_infix", 7, new Clause(10, [new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-7), new Place(-8), new Place(-9)], [new Skeleton(new Cache("sys_op"), [new Place(1), new Place(-10), new Place(-11), new Place(-1), new Place(-1)]), new Skeleton(new Cache("sys_is_postfix"), [new Place(8), new Place(-10)]), new Skeleton(new Cache(">="), [new Place(4), new Place(9)]), new Skeleton(new Cache("="), [new Place(6), new Place(-8)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(6), new Place(-8)]), new Skeleton(new Cache("sys_next_token"), [new Place(6), new Place(-8)]), new Skeleton(make_defined([new Clause(6, [new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-7)], [new Skeleton(new Cache("<"), [new Skeleton(new Cache("-"), [new Place(1), new Place(2)]), new Place(3)]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Compound("syntax_error", ["operator_clash"]), new Place(-1)]), new Place(4), new Place(5)])], 0, undefined), new Clause(2, [new Place(-1), new Place(-1), new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined)]), [new Place(9), new Place(8), new Place(5), new Place(6), new Place(-8)]), new Skeleton(new Cache("=.."), [new Place(-7), new Skeleton(".", [new Place(1), new Skeleton(".", [new Place(2), "[]"])])]), new Skeleton(new Cache("="), [new Place(6), new Place(-8)]), new Skeleton(new Cache("sys_current_token"), [new Place(-4), new Place(6), new Place(-8)]), new Skeleton(new Cache("sys_read_secondary"), [new Place(2), new Place(5), new Place(3), new Place(4), new Place(9), new Place(6), new Place(7)])], 0, undefined));
add("sys_read_infix", 7, new Clause(2, [new Place(-1), new Place(-2), new Place(0), new Place(-1), new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_lookup_var", 4])]));
add("sys_lookup_var", 4, new Clause(6, [new Place(-3), new Place(-4), new Place(-5), new Place(-6)], [new Skeleton(new Cache("sys_sys_current_vars"), [new Place(-7), new Place(3), new Place(-5)]), new Skeleton(new Cache("member"), [new Skeleton("=", [new Place(1), new Place(2)]), new Place(5)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_remove_anon"), [new Place(1), new Place(3), new Place(4)])], 0, undefined));
add("sys_lookup_var", 4, new Clause(5, [new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_sys_current_vars"), [new Place(-6), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_set_vars"), [new Skeleton(".", [new Skeleton("=", [new Place(0), new Place(1)]), new Place(4)]), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_current_anon"), [new Place(-6), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_set_anon"), [new Skeleton(".", [new Skeleton("=", [new Place(0), new Place(1)]), new Place(4)]), new Place(2), new Place(3)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_remove_anon", 3])]));
add("sys_remove_anon", 3, new Clause(5, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_current_anon"), [new Place(-6), new Place(2), new Place(-4)]), new Skeleton(new Cache("select"), [new Skeleton("=", [new Place(1), new Place(-1)]), new Place(4), new Place(-6)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_set_anon"), [new Place(4), new Place(2), new Place(3)])], 0, undefined));
add("sys_remove_anon", 3, new Clause(2, [new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_current_token", 3])]));
add("sys_current_token", 3, new Clause(4, [new Place(-2), new Skeleton("t", [new Place(0), new Place(-3), new Place(-4), new Place(-5)]), new Skeleton("t", [new Place(0), new Place(1), new Place(2), new Place(3)])], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_current_options", 3])]));
add("sys_current_options", 3, new Clause(4, [new Place(-2), new Skeleton("t", [new Place(-3), new Place(0), new Place(-4), new Place(-5)]), new Skeleton("t", [new Place(1), new Place(0), new Place(2), new Place(3)])], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_reach_code", 3])]));
add("sys_reach_code", 3, new Clause(5, [new Place(-2), new Skeleton("t", [new Place(-3), new Place(-4), new Skeleton("r", [new Place(-5), new Place(0)]), new Place(-6)]), new Skeleton("t", [new Place(1), new Place(2), new Skeleton("r", [new Place(3), new Place(0)]), new Place(4)])], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_sys_current_vars", 3])]));
add("sys_sys_current_vars", 3, new Clause(5, [new Place(-2), new Skeleton("t", [new Place(-3), new Place(-4), new Place(-5), new Skeleton("s", [new Place(0), new Place(-6)])]), new Skeleton("t", [new Place(1), new Place(2), new Place(3), new Skeleton("s", [new Place(0), new Place(4)])])], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_set_vars", 3])]));
add("sys_set_vars", 3, new Clause(5, [new Place(-2), new Skeleton("t", [new Place(-3), new Place(-4), new Place(-5), new Skeleton("s", [new Place(-1), new Place(-6)])]), new Skeleton("t", [new Place(1), new Place(2), new Place(3), new Skeleton("s", [new Place(0), new Place(4)])])], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_current_anon", 3])]));
add("sys_current_anon", 3, new Clause(5, [new Place(-2), new Skeleton("t", [new Place(-3), new Place(-4), new Place(-5), new Skeleton("s", [new Place(-6), new Place(0)])]), new Skeleton("t", [new Place(1), new Place(2), new Place(3), new Skeleton("s", [new Place(4), new Place(0)])])], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_set_anon", 3])]));
add("sys_set_anon", 3, new Clause(5, [new Place(-2), new Skeleton("t", [new Place(-3), new Place(-4), new Place(-5), new Skeleton("s", [new Place(-6), new Place(-1)])]), new Skeleton("t", [new Place(1), new Place(2), new Place(3), new Skeleton("s", [new Place(4), new Place(0)])])], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_factor", 6])]));
add("sys_read_factor", 6, new Clause(7, [new Skeleton("atom", [new Place(-3)]), new Place(-4), new Place(-5), new Place(-6), new Place(-7), new Place(-8)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(5), new Place(-7)]), new Skeleton(new Cache("sys_reach_code"), [new Place(-2), new Place(5), new Place(-7)]), new Skeleton(new Cache("sys_next_token"), [new Place(5), new Place(-7)]), new Skeleton(new Cache("sys_read_atom"), [new Place(0), new Place(1), new Place(2), new Place(3), new Place(4), new Place(5), new Place(6)])], 0, "atom"));
add("sys_read_factor", 6, new Clause(3, ["anon", new Place(-1), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_next_token"), [new Place(1), new Place(2)])], 0, "anon"));
add("sys_read_factor", 6, new Clause(5, [new Skeleton("var", [new Place(-3)]), new Place(-4), new Place(-1), 0, new Place(-5), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_lookup_var"), [new Place(1), new Place(2), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_token"), [new Place(3), new Place(4)])], 0, "var"));
add("sys_read_factor", 6, new Clause(6, ["[", new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-7)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_next_token"), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_current_token"), [new Place(-2), new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_read_list"), [new Place(0), new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)])], 0, "["));
add("sys_read_factor", 6, new Clause(6, ["{", new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-7)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_next_token"), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_current_token"), [new Place(-2), new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_read_set"), [new Place(0), new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)])], 0, "{"));
add("sys_read_factor", 6, new Clause(4, ["(", new Place(-3), new Place(-1), 0, new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_token"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_read_priority"), [new Place(1), 1200, new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_read_end"), [")", new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_token"), [new Place(2), new Place(3)])], 0, "("));
add("sys_read_factor", 6, new Clause(3, [new Skeleton("number", [new Place(-3)]), new Place(1), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_next_token"), [new Place(1), new Place(2)])], 0, "number"));
add("sys_read_factor", 6, new Clause(4, [new Skeleton("radix", [new Place(-3), new Place(-1)]), new Place(1), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_options"), [new Place(-5), new Place(1), new Place(-3)]), new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(3), 16]), 0]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_next_token"), [new Place(1), new Place(2)])], 0, "radix"));
add("sys_read_factor", 6, new Clause(3, [new Skeleton("radix", [new Place(-3), new Place(-4)]), new Skeleton("$RDX", [new Place(1), new Place(2)]), new Place(-1), 0, new Place(-4), new Place(-3)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_token"), [new Place(2), new Place(1)])], 0, "radix"));
add("sys_read_factor", 6, new Clause(3, [new Skeleton("reference", [new Place(-3)]), new Place(1), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_next_token"), [new Place(1), new Place(2)])], 0, "reference"));
add("sys_read_factor", 6, new Clause(4, [new Skeleton("codes", [new Place(-3)]), new Place(1), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_options"), [new Place(-5), new Place(1), new Place(-3)]), new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(3), 16]), 0]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_next_token"), [new Place(1), new Place(2)])], 0, "codes"));
add("sys_read_factor", 6, new Clause(5, [new Skeleton("codes", [new Place(-3)]), new Skeleton("$STR", [new Place(-4)]), new Place(-1), 0, new Place(-5), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("atom_codes"), [new Place(2), new Place(1)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_token"), [new Place(3), new Place(4)])], 0, "codes"));
add("sys_read_factor", 6, new Clause(4, [new Skeleton("code", [new Place(-3)]), new Place(1), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_options"), [new Place(-5), new Place(1), new Place(-3)]), new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(3), 16]), 0]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_next_token"), [new Place(1), new Place(2)])], 0, "code"));
add("sys_read_factor", 6, new Clause(3, [new Skeleton("code", [new Place(-3)]), new Skeleton("$CHR", [new Place(1)]), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_next_token"), [new Place(1), new Place(2)])], 0, "code"));
add("sys_read_factor", 6, new Clause(2, [new Place(-1), new Place(-1), new Place(-1), new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Compound("syntax_error", ["cannot_start_term"]), new Place(-1)]), new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_atom", 7])]));
add("sys_read_atom", 7, new Clause(6, [40, new Place(-3), new Place(-4), new Place(-1), 0, new Place(-5), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_token"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_read_priority"), [new Place(-2), 999, new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_current_token"), [new Place(-7), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_read_args"), [new Place(5), new Place(-7), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_read_end"), [")", new Place(3), new Place(-5)]), new Skeleton(new Cache("=.."), [new Place(2), new Skeleton(".", [new Place(1), new Skeleton(".", [new Place(0), new Place(5)])])]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_token"), [new Place(3), new Place(4)])], 0, 40));
add("sys_read_atom", 7, new Clause(7, [new Place(-3), "-", new Place(-4), new Place(-5), new Place(-6), new Place(-7), new Place(-8)], [new Skeleton(new Cache("sys_code_class"), [new Place(1), "is_digit"]), new Skeleton(new Cache("="), [new Place(5), new Place(-7)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(5), new Place(-7)]), new Skeleton(new Cache("sys_current_token"), [new Place(-2), new Place(5), new Place(-7)]), new Skeleton(new Cache("sys_read_factor"), [new Place(0), new Place(-2), new Place(3), new Place(4), new Place(5), new Place(-7)]), new Skeleton(new Cache("sys_make_negative"), [new Place(0), new Place(2)]), new Skeleton(new Cache("="), [new Place(5), new Place(6)])], 0, undefined));
add("sys_read_atom", 7, new Clause(9, [new Place(-1), new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-7), new Place(-8)], [new Skeleton(new Cache("sys_op"), [new Place(1), new Place(-9), new Place(-10), new Place(-1), new Place(-1)]), new Skeleton(new Cache("sys_is_prefix"), [new Place(7), new Place(-9)]), new Skeleton(new Cache("="), [new Place(5), new Place(-7)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(5), new Place(-7)]), new Skeleton(new Cache("sys_current_token"), [new Place(-2), new Place(5), new Place(-7)]), new Skeleton(new Cache("sys_read_prefix"), [new Place(0), new Place(2), new Place(1), new Place(3), new Place(8), new Place(7), new Place(4), new Place(5), new Place(6)])], 0, undefined));
add("sys_read_atom", 7, new Clause(2, [new Place(-1), new Place(-2), new Place(0), new Place(-1), 0, new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_prefix", 9])]));
add("sys_read_prefix", 9, new Clause(3, [",", new Place(-3), new Place(1), new Place(-1), new Place(-1), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, ","));
add("sys_read_prefix", 9, new Clause(3, ["|", new Place(-3), new Place(1), new Place(-1), new Place(-1), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, "|"));
add("sys_read_prefix", 9, new Clause(3, [")", new Place(-3), new Place(1), new Place(-1), new Place(-1), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, ")"));
add("sys_read_prefix", 9, new Clause(3, ["]", new Place(-3), new Place(1), new Place(-1), new Place(-1), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, "]"));
add("sys_read_prefix", 9, new Clause(3, ["}", new Place(-3), new Place(1), new Place(-1), new Place(-1), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, "}"));
add("sys_read_prefix", 9, new Clause(3, [".", new Place(-3), new Place(1), new Place(-1), new Place(-1), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, "."));
add("sys_read_prefix", 9, new Clause(7, [new Place(-1), new Place(-2), new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(3), new Place(-7), new Place(-8)], [new Skeleton(make_defined([new Clause(5, [new Place(-3), new Place(-4), new Place(-5), new Place(-6)], [new Skeleton(new Cache("<"), [new Place(1), new Place(2)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Compound("syntax_error", ["operator_clash"]), new Place(-1)]), new Place(3), new Place(4)])], 0, undefined), new Clause(2, [new Place(-1), new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined)]), [new Place(2), new Place(3), new Place(5), new Place(-7)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(3), new Place(4)]), new Place(-6)]), new Skeleton(new Cache("="), [new Place(5), new Place(-7)]), new Skeleton(new Cache("sys_read_priority"), [new Place(-5), new Place(4), new Place(5), new Place(-7)]), new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(1), new Skeleton(".", [new Place(3), "[]"])])]), new Skeleton(new Cache("="), [new Place(5), new Place(6)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_args", 4])]));
add("sys_read_args", 4, new Clause(5, [",", new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_token"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_read_priority"), [new Place(1), 999, new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_current_token"), [new Place(-3), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_read_args"), [new Place(1), new Place(2), new Place(3), new Place(4)])], 0, ","));
add("sys_read_args", 4, new Clause(2, [new Place(-1), "[]", new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_list", 6])]));
add("sys_read_list", 6, new Clause(6, ["]", new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-7)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_reach_code"), [new Place(-2), new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_next_token"), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_read_atom"), [new Place(0), "[]", new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)])], 0, "]"));
add("sys_read_list", 6, new Clause(4, [new Place(-1), new Skeleton(".", [new Place(-2), new Place(-3)]), new Place(-1), 0, new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_read_priority"), [new Place(0), 999, new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_current_token"), [new Place(-2), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_read_rest"), [new Place(0), new Place(1), new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_read_end"), ["]", new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_token"), [new Place(2), new Place(3)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_rest", 4])]));
add("sys_read_rest", 4, new Clause(5, [",", new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_next_token"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_read_priority"), [new Place(1), 999, new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_current_token"), [new Place(-3), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_read_rest"), [new Place(1), new Place(2), new Place(3), new Place(4)])], 0, ","));
add("sys_read_rest", 4, new Clause(4, ["|", new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_next_token"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_read_priority"), [new Place(1), 999, new Place(2), new Place(3)])], 0, "|"));
add("sys_read_rest", 4, new Clause(2, [new Place(-1), "[]", new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_set", 6])]));
add("sys_read_set", 6, new Clause(6, ["}", new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-7)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_reach_code"), [new Place(-2), new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_next_token"), [new Place(4), new Place(-6)]), new Skeleton(new Cache("sys_read_atom"), [new Place(0), "{}", new Place(1), new Place(2), new Place(3), new Place(4), new Place(5)])], 0, "}"));
add("sys_read_set", 6, new Clause(3, [new Place(-1), new Skeleton("{}", [new Place(-2)]), new Place(-1), 0, new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_read_priority"), [new Place(0), 1200, new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_read_end"), ["}", new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_next_token"), [new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_end", 3])]));
add("sys_read_end", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_current_token"), [new Place(1), new Place(2), new Place(-4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(2), new Place(3)])], 0, undefined));
add("sys_read_end", 3, new Clause(3, [".", new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Compound("syntax_error", ["end_of_clause_expected"]), new Place(-1)]), new Place(1), new Place(2)])], 0, "."));
add("sys_read_end", 3, new Clause(3, [")", new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Compound("syntax_error", ["parenthesis_balance"]), new Place(-1)]), new Place(1), new Place(2)])], 0, ")"));
add("sys_read_end", 3, new Clause(3, ["}", new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Compound("syntax_error", ["brace_balance"]), new Place(-1)]), new Place(1), new Place(2)])], 0, "}"));
add("sys_read_end", 3, new Clause(2, ["]", new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_sync_throw"), [new Skeleton("error", [new Compound("syntax_error", ["bracket_balance"]), new Place(-1)]), new Place(0), new Place(1)])], -1, "]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["initialization", 1])]));
add("initialization", 1, new Clause(1, [new Place(-2)], [new Place(0)], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_launch", 0])]));
add("sys_launch", 0, new Clause(1, [], [new Skeleton(new Cache("current_prolog_flag"), ["argv", new Place(-2)]), new Skeleton(new Cache("sys_trap"), [new Skeleton("sys_launch", [new Place(0)]), new Place(-2), new Skeleton("sys_print_error", [new Place(0)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_launch", 1])]));
add("sys_launch", 1, new Clause(0, ["[]"], [new Cache("sys_banner"), new Cache("sys_toplevel")], -1, "[]"));
add("sys_launch", 1, new Clause(2, [new Skeleton(".", [new Place(-2), new Place(-3)])], [new Skeleton(new Cache("set_prolog_flag"), ["argv", new Place(1)]), new Skeleton(new Cache("ensure_loaded"), [new Place(0)])], -1, "."));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_banner", 0])]));
add("sys_banner", 0, new Clause(5, [], [new Skeleton(new Cache("current_prolog_flag"), ["version_data", new Place(-2)]), new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(-1), new Skeleton(".", [new Place(-2), new Skeleton(".", [new Place(-3), new Skeleton(".", [new Place(-4), new Skeleton(".", [new Skeleton(".", [new Skeleton("date", [new Place(-5)]), new Place(-1)]), new Place(-1)])])])])])]), new Skeleton(new Cache("get_string"), ["format.date", new Place(-6)]), new Skeleton(new Cache("sys_time_atom"), [new Place(4), new Place(3), new Place(-5)]), new Skeleton(new Cache("current_output"), [new Place(-6)]), new Skeleton(new Cache("sys_print_message"), [new Skeleton("banner", ["player", new Place(0), new Place(1), new Place(2), new Place(3)]), new Place(4)]), new Cache("nl"), new Skeleton(new Cache("sys_print_message"), [new Compound("banner", ["copyright"]), new Place(4)]), new Cache("nl")], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_toplevel", 0])]));
add("sys_toplevel", 0, new Clause(2, [], [new Skeleton(new Cache("current_input"), [new Place(-2)]), new Skeleton(new Cache("os_task_current"), [new Place(-3)]), new Skeleton(new Cache("setup_once_cleanup"), [new Skeleton("asserta", [new Skeleton("sys_including", ["user", new Place(1), new Place(0)])]), new Skeleton("sys_toplevel_prompt", [new Place(0)]), new Skeleton("once", [new Skeleton("retract", [new Skeleton("sys_including", ["user", new Place(1), new Place(0)])])])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_toplevel_prompt", 1])]));
add("sys_toplevel_prompt", 1, new Clause(4, [new Place(-3)], [new Cache("repeat"), new Compound(new Cache("put_atom"), ["?- "]), new Cache("flush_output"), new Skeleton(new Cache("sys_trap"), [new Skeleton("read_term", [new Place(1), new Place(-3), new Skeleton(".", [new Skeleton("variable_names", [new Place(-4)]), "[]"])]), new Place(-5), new Skeleton(",", [new Skeleton("sys_print_error", [new Place(3)]), "fail"])]), new Skeleton(make_defined([new Clause(2, [new Place(-3), new Place(-1), new Place(-1)], [new Skeleton(new Cache("=="), [new Place(1), "end_of_file"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined), new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_trap"), [new Skeleton("sys_query_attended", [new Place(0), new Place(1)]), new Place(2), new Skeleton("sys_print_error", [new Place(2)])]), new Cache("fail")], -1, undefined)]), [new Place(1), new Place(2), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_query_attended", 2])]));
add("sys_query_attended", 2, new Clause(4, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("$MARK"), [new Place(-5)]), new Place(1), new Skeleton(new Cache("$MARK"), [new Place(-3)]), new Skeleton(new Cache("sys_answer_show"), [new Place(2)]), new Skeleton(make_defined([new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("=="), [new Place(1), new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$CUT"), [new Place(3)]), new Cache("sys_listing_period")], 0, undefined), new Clause(2, [new Place(-1), new Place(-1), new Place(-3)], [new Cache("sys_ask_abort"), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$CUT"), [new Place(1)])], 0, undefined)]), [new Place(3), new Place(1), new Place(0)])], 0, undefined));
add("sys_query_attended", 2, new Clause(0, [new Place(-1), new Place(-1)], [new Compound(new Cache("put_atom"), ["fail"]), new Cache("sys_listing_period")], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_ask_abort", 0])]));
add("sys_ask_abort", 0, new Clause(1, [], [new Cache("flush_output"), new Skeleton(new Cache("get_atom"), [10, new Place(-2)]), new Skeleton(new Cache("\\=="), [new Place(0), ";\n"])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_answer_show", 1])]));
add("sys_answer_show", 1, new Clause(2, [new Place(-2)], [new Skeleton(new Cache("reverse"), [new Place(0), new Place(-3)]), new Skeleton(new Cache("sys_filter_names"), [new Place(0), new Place(1), new Place(-2)]), new Skeleton(new Cache("sys_answer_map"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_filter_names", 3])]));
add("sys_filter_names", 3, new Clause(6, [new Skeleton(".", [new Skeleton("=", [new Place(-3), new Place(-4)]), new Place(-5)]), new Place(-6), new Place(-7)], [new Skeleton(new Cache("var"), [new Place(2)]), new Skeleton(new Cache("sys_find_var"), [new Place(2), new Place(4), new Place(-4)]), new Skeleton(new Cache("="), [new Place(2), new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_filter_names"), [new Place(3), new Place(4), new Place(5)])], 0, "."));
add("sys_filter_names", 3, new Clause(3, [new Skeleton(".", [new Place(-2), new Place(-3)]), new Place(-4), new Skeleton(".", [new Place(0), new Place(-2)])], [new Skeleton(new Cache("sys_filter_names"), [new Place(1), new Place(2), new Place(0)])], -1, "."));
add("sys_filter_names", 3, new Clause(0, ["[]", new Place(-1), "[]"], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_answer_map", 2])]));
add("sys_answer_map", 2, new Clause(5, [new Skeleton(".", [new Place(-3), new Skeleton(".", [new Place(-4), new Place(-5)])]), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_answer_eq"), [new Place(1), new Place(4)]), new Compound(new Cache("put_atom"), [", "]), new Skeleton(new Cache("sys_answer_map"), [new Skeleton(".", [new Place(2), new Place(3)]), new Place(4)])], 0, "."));
add("sys_answer_map", 2, new Clause(2, [new Skeleton(".", [new Place(-2), "[]"]), new Place(-3)], [new Skeleton(new Cache("sys_answer_eq"), [new Place(0), new Place(1)])], -1, "."));
add("sys_answer_map", 2, new Clause(0, ["[]", new Place(-1)], [new Compound(new Cache("put_atom"), ["true"])], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_answer_eq", 2])]));
add("sys_answer_eq", 2, new Clause(3, [new Skeleton("=", [new Place(-2), new Place(-3)]), new Place(-4)], [new Skeleton(new Cache("sys_var_quoted"), [new Place(0), 1, new Place(-2)]), new Skeleton(new Cache("put_atom"), [new Place(0)]), new Compound(new Cache("put_atom"), [" = "]), new Skeleton(new Cache("sys_answer_term"), [new Place(1), new Place(2)])], -1, "="));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_answer_term", 2])]));
add("sys_answer_term", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("acyclic_term"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("write_term"), [new Place(1), new Skeleton(".", [new Compound("priority", [699]), new Skeleton(".", [new Skeleton("variable_names", [new Place(2)]), new Compound(".", [new Compound("quoted", ["true"]), "[]"])])])])], 0, undefined));
add("sys_answer_term", 2, new Clause(0, [new Place(-1), new Place(-1)], [new Compound(new Cache("put_atom"), ["<cyclic term>"])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["listing", 0])]));
add("listing", 0, new Clause(0, [], [new Skeleton(new Cache("listing"), [new Place(-1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["listing", 1])]));
add("listing", 1, new Clause(2, [new Place(-2)], [new Skeleton(new Cache("current_output"), [new Place(-3)]), new Skeleton(new Cache("listing"), [new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["listing", 2])]));
add("listing", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("\\+"), [new Skeleton("ground", [new Place(1)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_listing_pattern"), [new Place(1), new Place(2)])], 0, undefined));
add("listing", 2, new Clause(4, [new Skeleton("\/", [new Place(-3), new Place(-4)]), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_check_atom"), [new Place(1)]), new Skeleton(new Cache("sys_check_integer"), [new Place(2)]), new Skeleton(new Cache("sys_listing_user"), [new Skeleton("\/", [new Place(1), new Place(2)]), new Place(3)])], 0, "\/"));
add("listing", 2, new Clause(1, [new Place(-2), new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["predicate_indicator", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_listing_pattern", 2])]));
add("sys_listing_pattern", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("current_predicate"), [new Place(0)]), new Skeleton(new Cache("sys_listing_user"), [new Place(0), new Place(1)]), new Cache("fail")], -1, undefined));
add("sys_listing_pattern", 2, new Clause(0, [new Place(-1), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_listing_user", 2])]));
add("sys_listing_user", 2, new Clause(4, [new Skeleton("\/", [new Place(-2), new Place(-3)]), new Place(-4)], [new Skeleton(new Cache("\\+"), [new Skeleton("sys_listing_stop", [new Place(0), new Place(1)])]), new Skeleton(new Cache("sys_listing_multifile"), [new Place(0), new Place(1), new Place(2)]), new Skeleton(new Cache("sys_listing_dynamic"), [new Place(0), new Place(1), new Place(2)]), new Skeleton(new Cache("functor"), [new Place(-5), new Place(0), new Place(1)]), new Skeleton(new Cache("kb_clause_ref"), [new Place(3), 0, new Place(-3)]), new Skeleton(new Cache("kb_clause_shard"), [new Place(1), new Place(-2)]), new Skeleton(new Cache("\\+"), [new Skeleton("sys_listing_stop", [new Place(0)])]), new Skeleton(new Cache("kb_clause_data"), [new Place(1), new Place(3), new Place(-3), new Place(-2)]), new Skeleton(new Cache("sys_decode_body"), [new Place(0), new Place(-2)]), new Skeleton(new Cache("sys_untrans_body"), [new Place(0), new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_listing_show"), [new Place(3), new Place(1), new Place(2)]), new Cache("fail")], -1, "\/"));
add("sys_listing_user", 2, new Clause(0, [new Place(-1), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_listing_multifile", 3])]));
add("sys_listing_multifile", 3, new Clause(5, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_predprop"), [new Place(1), new Place(2), new Skeleton("sys_multifile", [new Place(-6)])]), new Skeleton(new Cache("\\+"), [new Skeleton("sys_listing_stop", [new Place(4)])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_listing_write"), [new Skeleton(":-", [new Skeleton("multifile", [new Skeleton("\/", [new Place(1), new Place(2)])])]), new Place(3)])], 0, undefined));
add("sys_listing_multifile", 3, new Clause(0, [new Place(-1), new Place(-1), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_listing_dynamic", 3])]));
add("sys_listing_dynamic", 3, new Clause(5, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("kb_pred_link"), [new Place(1), new Place(2), new Place(-6)]), new Skeleton(new Cache("kb_link_flags"), [new Place(4), new Place(-6)]), new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(4), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_listing_write"), [new Skeleton(":-", [new Skeleton("dynamic", [new Skeleton("\/", [new Place(1), new Place(2)])])]), new Place(3)])], 0, undefined));
add("sys_listing_dynamic", 3, new Clause(0, [new Place(-1), new Place(-1), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_listing_show", 3])]));
add("sys_listing_show", 3, new Clause(3, [new Place(-3), "true", new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_listing_write"), [new Place(1), new Place(2)])], 0, undefined));
add("sys_listing_show", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_listing_write"), [new Skeleton(":-", [new Place(0), new Place(1)]), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_listing_write", 2])]));
add("sys_listing_write", 2, new Clause(4, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("term_variables"), [new Place(0), new Place(-4)]), new Skeleton(new Cache("term_singletons"), [new Place(0), new Place(-5)]), new Skeleton(new Cache("sys_listing_names"), [new Place(2), new Place(3), 0, new Place(-5)]), new Skeleton(new Cache("write_term"), [new Place(1), new Place(0), new Skeleton(".", [new Compound("quoted", ["true"]), new Skeleton(".", [new Skeleton("variable_names", [new Place(3)]), new Compound(".", [new Compound("format", ["true"]), "[]"])])])]), new Skeleton(new Cache("sys_listing_period"), [new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_listing_names", 4])]));
add("sys_listing_names", 4, new Clause(0, ["[]", new Place(-1), new Place(-1), "[]"], [], -1, "[]"));
add("sys_listing_names", 4, new Clause(7, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Place(-6), new Skeleton(".", [new Skeleton("=", ["_", new Place(1)]), new Place(-7)])], [new Skeleton(new Cache("member"), [new Place(-8), new Place(3)]), new Skeleton(new Cache("=="), [new Place(6), new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_listing_names"), [new Place(2), new Place(3), new Place(4), new Place(5)])], 0, "."));
add("sys_listing_names", 4, new Clause(5, [new Skeleton(".", [new Place(-2), new Place(-3)]), new Place(-4), new Place(-5), new Skeleton(".", [new Skeleton("=", [new Place(-6), new Place(0)]), new Place(-2)])], [new Skeleton(new Cache("sys_listing_name"), [new Place(3), new Place(4)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("+"), [new Place(3), 1]), new Place(-5)]), new Skeleton(new Cache("sys_listing_names"), [new Place(1), new Place(2), new Place(3), new Place(0)])], -1, "."));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_listing_name", 2])]));
add("sys_listing_name", 2, new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("<"), [new Place(1), 26]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("+"), [new Place(1), 65]), new Place(-3)]), new Skeleton(new Cache("char_code"), [new Place(2), new Place(1)])], 0, undefined));
add("sys_listing_name", 2, new Clause(4, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("+"), [new Skeleton(new Cache("rem"), [new Place(0), 26]), 65]), new Place(-4)]), new Skeleton(new Cache("char_code"), [new Place(-5), new Place(2)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("+"), [new Skeleton(new Cache("\/\/"), [new Place(0), 26]), 1]), new Place(-2)]), new Skeleton(new Cache("atom_integer"), [new Place(-4), 10, new Place(0)]), new Skeleton(new Cache("atom_concat"), [new Place(3), new Place(2), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_listing_period", 0])]));
add("sys_listing_period", 0, new Clause(1, [], [new Skeleton(new Cache("current_output"), [new Place(-2)]), new Skeleton(new Cache("sys_listing_period"), [new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_listing_period", 1])]));
add("sys_listing_period", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("sys_safe_code"), [new Place(0), 46]), new Skeleton(new Cache("nl"), [new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_listing_stop", 1])]));
add("sys_listing_stop", 1, new Clause(0, ["system"], [], -1, "system"));
add("sys_listing_stop", 1, new Clause(2, [new Place(-2)], [new Skeleton(new Cache("current_prolog_flag"), ["system_url", new Place(-3)]), new Skeleton(new Cache("file_directory_name"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sub_atom"), [new Place(0), 0, new Place(-1), new Place(-1), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_listing_stop", 2])]));
add("sys_listing_stop", 2, new Clause(0, ["sys_op", 5], [], -1, "sys_op"));
add("sys_listing_stop", 2, new Clause(0, ["sys_source", 3], [], -1, "sys_source"));
add("sys_listing_stop", 2, new Clause(0, ["sys_srcprop", 2], [], -1, "sys_srcprop"));
add("sys_listing_stop", 2, new Clause(0, ["sys_predprop", 3], [], -1, "sys_predprop"));
add("sys_listing_stop", 2, new Clause(0, ["sys_lastpred", 3], [], -1, "sys_lastpred"));
add("sys_listing_stop", 2, new Clause(0, ["sys_including", 3], [], -1, "sys_including"));
add("sys_listing_stop", 2, new Clause(0, ["sys_emulated", 2], [], -1, "sys_emulated"));
run(new Goal(0, [new Compound(new Cache("sys_multifile_safe"), ["strings", 3])]));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["strings", 3])]));
add("strings", 3, new Clause(0, ["banner.player", "de", "Dogelog Spieler, Prolog zum Mond, ~.~.~ (~~)"], [], -1, "banner.player"));
add("strings", 3, new Clause(0, ["banner.copyright", "de", "(c) 1985-2024, XLOG Technologies AG, Schweiz"], [], -1, "banner.copyright"));
add("strings", 3, new Clause(0, ["banner.player", "", "Dogelog Player, Prolog to the Moon, ~.~.~ (~~)"], [], -1, "banner.player"));
add("strings", 3, new Clause(0, ["banner.copyright", "", "(c) 1985-2024, XLOG Technologies AG, Switzerland"], [], -1, "banner.copyright"));