JavaScript "streams"
Admin User, created Apr 22. 2025
/**
* 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 "./store.mjs";
import {Goal, run} from "./machine.mjs";
import "./special.mjs";
import "./runtime.mjs";
import "./eval.mjs";
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["open", 3])], -1));
add("open", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_open"), [new Place(0), new Place(1), null, new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["open", 4])], -1));
add("open", 4, new Clause(5, [new Place(-3), new Place(-4), new Place(-5), new Place(-6)], [new Skeleton(make_defined([new Clause(1, [new Place(-2)], [new Skeleton(new Cache("sub_atom"), [new Place(0), 0, new Place(-1), new Place(-1), "http:"])], -1, undefined), new Clause(1, [new Place(-2)], [new Skeleton(new Cache("sub_atom"), [new Place(0), 0, new Place(-1), new Place(-1), "https:"])], -1, undefined)]), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("ir_object_new"), [new Place(-2)]), new Skeleton(new Cache("sys_open_opts"), [new Place(4), new Place(0)]), new Skeleton(new Cache("sys_open"), [new Place(1), new Place(2), new Place(0), new Place(3)]), new Skeleton(new Cache("sys_open_results"), [new Place(4), new Place(0)])], 0, undefined));
add("open", 4, new Clause(5, [new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("ir_object_new"), [new Place(-6)]), new Skeleton(new Cache("sys_stream_opts"), [new Place(3), new Place(4)]), new Skeleton(new Cache("sys_open"), [new Place(0), new Place(1), new Place(4), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_open", 4])], -1));
add("sys_open", 4, new Clause(4, [new Place(-3), "read", new Place(-4), new Place(-5)], [new Compound(new Cache("current_prolog_flag"), ["read_async", "on"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("os_open_promise_opts"), [new Place(1), new Place(2), new Place(3), new Place(-5)]), new Skeleton(new Cache("$YIELD"), [new Place(3)])], 0, undefined));
add("sys_open", 4, new Clause(4, [new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("os_open_sync_opts"), [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"), ["close", 1])], -1));
add("close", 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_close_promise"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("$YIELD"), [new Place(1)])], 0, undefined));
add("close", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("os_close_sync"), [new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["nl", 0])], -1));
add("nl", 0, new Clause(1, [], [new Skeleton(new Cache("current_output"), [new Place(-2)]), new Skeleton(new Cache("put_atom"), [new Place(0), "\n"]), new Skeleton(new Cache("flush_output"), [new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["nl", 1])], -1));
add("nl", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("put_atom"), [new Place(0), "\n"]), 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])], -1));
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])], -1));
add("put_code", 1, new Clause(3, [new Place(-2)], [new Skeleton(new Cache("current_output"), [new Place(-3)]), new Skeleton(new Cache("char_code"), [new Place(-4), 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"), ["put_code", 2])], -1));
add("put_code", 2, new Clause(3, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("char_code"), [new Place(-4), new Place(1)]), new Skeleton(new Cache("put_atom"), [new Place(0), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["get_code", 1])], -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"), ["peek_code", 1])], -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"), ["put_atom", 1])], -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"), ["get_atom", 2])], -1));
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])], -1));
add("get_atom", 3, new Clause(6, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_atom_opts"), [new Place(2), new Compound("v", [10, 1, 0]), new Skeleton("v", [new Place(-4), new Place(-5), new Place(-6)])]), new Skeleton(new Cache("sys_get_code"), [new Place(0), new Place(-7), new Place(3)]), new Skeleton(new Cache("sys_get_code_list"), [new Place(5), new Place(2), new Place(4), new Place(0), new Place(-2), 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_code_list", 6])], -1));
add("sys_get_code_list", 6, new Clause(1, [-1, new Place(-1), new Place(-1), new Place(-1), "[]", new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, -1));
add("sys_get_code_list", 6, new Clause(2, [new Place(-3), new Place(1), new Place(-1), new Place(-1), new Skeleton(".", [new Place(1), "[]"]), new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_get_code_list", 6, new Clause(2, [new Place(-3), new Place(-1), 1, new Place(-1), new Skeleton(".", [new Place(1), "[]"]), new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_get_code_list", 6, new Clause(5, [new Place(-3), new Place(-4), 0, new Place(-5), new Skeleton(".", [new Place(1), new Place(-3)]), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_get_code"), [new Place(3), new Place(-2), new Place(4)]), new Skeleton(new Cache("sys_get_code_list"), [new Place(0), new Place(2), 0, new Place(3), new Place(1), new Place(4)])], 0, undefined));
add("sys_get_code_list", 6, new Clause(6, [new Place(-2), new Place(-3), new Place(-4), new Place(-5), new Skeleton(".", [new Place(0), new Place(-2)]), new Place(-6)], [new Skeleton(new Cache("sys_get_code"), [new Place(3), new Place(-7), new Place(4)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("-"), [new Place(2), 1]), new Place(-4)]), new Skeleton(new Cache("sys_get_code_list"), [new Place(5), new Place(1), new Place(2), new Place(3), new Place(0), new Place(4)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_code", 3])], -1));
add("sys_get_code", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("=:="), [new Skeleton(new Cache("\/\\"), [new Place(3), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("get_code"), [new Place(1), new Place(2)])], 0, undefined));
add("sys_get_code", 3, new Clause(5, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("os_stream_flags"), [new Place(0), new Place(-5)]), new Skeleton(new Cache("get_code"), [new Place(0), new Place(-6)]), new Skeleton(new Cache("sys_get_code_more"), [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_code_more", 5])], -1));
add("sys_get_code_more", 5, new Clause(1, [13, new Place(-1), new Place(-1), 10, new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, 13));
add("sys_get_code_more", 5, new Clause(5, [10, new Place(-3), new Place(-4), new Place(-5), new Place(-6)], [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("sys_get_code"), [new Place(2), new Place(3), new Place(4)])], 0, 10));
add("sys_get_code_more", 5, new Clause(1, [new Place(-2), new Place(-1), new Place(-1), new Place(0), new Place(-1)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_atom_opts", 3])], -1));
add("sys_atom_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_atom_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_atom_opt"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_atom_opts"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_atom_opts", 3, new Clause(2, ["[]", new Place(-3), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "[]"));
add("sys_atom_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_atom_opt", 3])], -1));
add("sys_atom_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_atom_opt", 3, new Clause(4, [new Skeleton("stop", [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)])], 0, "stop"));
add("sys_atom_opt", 3, new Clause(5, [new Skeleton("compress", [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, "compress"));
add("sys_atom_opt", 3, new Clause(4, [new Skeleton("max", [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)])], 0, "max"));
add("sys_atom_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", ["atom_option", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["write", 1])], -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), new Compound(".", [new Compound("numbervars", ["true"]), "[]"])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["write", 2])], -1));
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), new Compound(".", [new Compound("numbervars", ["true"]), "[]"])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["writeq", 1])], -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])], -1));
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])], -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])], -1));
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])], -1));
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])], -1));
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])], -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])], -1));
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])], -1));
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])], -1));
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])], -1));
add("file_property", 2, new Clause(4, [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("ir_object_keys"), [new Place(1), new Place(-2)]), new Skeleton(new Cache("member"), [new Place(-5), new Place(0)]), new Skeleton(new Cache("ir_object_current"), [new Place(1), new Place(3), new Place(-3)]), new Skeleton(new Cache("=.."), [new Place(2), new Skeleton(".", [new Place(3), new Skeleton(".", [new Place(1), "[]"])])])], 0, undefined));
add("file_property", 2, new Clause(4, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("=.."), [new Place(2), new Skeleton(".", [new Place(-4), new Skeleton(".", [new Place(-5), "[]"])])]), new Skeleton(new Cache("sys_prop_map"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("ir_object_current"), [new Place(1), new Place(2), new Place(-4)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(2)])], 0, undefined));
add("file_property", 2, new Clause(1, [new Place(-1), new Place(-2)], [new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(-2), new Skeleton(".", [new Place(-1), "[]"])])]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["prolog_flag", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_prop_map", 2])], -1));
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_usage_predicate"), ["file_directory_name", 2])], -1));
add("file_directory_name", 2, new Clause(4, [new Place(-2), new Place(-3)], [new Skeleton(make_defined([new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("last_sub_atom"), [new Place(1), new Place(2), new Place(-1), new Place(-1), "\/"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined), new Clause(1, [new Place(-1), new Place(-2)], [new Skeleton(new Cache("="), [new Place(0), -1])], -1, undefined)]), [new Place(0), new Place(-4)]), new Skeleton(make_defined([new Clause(3, [new Place(-3), new Place(-4)], [new Skeleton(new Cache("last_sub_atom"), [new Place(1), new Place(2), new Place(-1), new Place(-1), "\\"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined), new Clause(1, [new Place(-1), new Place(-2)], [new Skeleton(new Cache("="), [new Place(0), -1])], -1, undefined)]), [new Place(0), new Place(-5)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("max"), [new Place(2), new Place(3)]), new Place(-5)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("+"), [new Place(3), 1]), new Place(-5)]), new Skeleton(new Cache("sub_atom"), [new Place(0), 0, new Place(3), new Place(-1), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["file_base_name", 2])], -1));
add("file_base_name", 2, new Clause(5, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("atom_length"), [new Place(0), new Place(-4)]), new Skeleton(make_defined([new Clause(3, [new Place(-3), new Place(-4), new Place(-1)], [new Skeleton(new Cache("last_sub_atom"), [new Place(1), new Place(-1), new Place(-1), new Place(2), "\/"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined), new Clause(2, [new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined)]), [new Place(0), new Place(-5), new Place(2)]), new Skeleton(make_defined([new Clause(3, [new Place(-3), new Place(-4), new Place(-1)], [new Skeleton(new Cache("last_sub_atom"), [new Place(1), new Place(-1), new Place(-1), new Place(2), "\\"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined), new Clause(2, [new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined)]), [new Place(0), new Place(-6), new Place(2)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("min"), [new Place(3), new Place(4)]), new Place(-6)]), new Skeleton(new Cache("sub_atom"), [new Place(0), new Place(-1), new Place(4), 0, new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["absolute_file_name", 2])], -1));
add("absolute_file_name", 2, new Clause(3, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("current_prolog_flag"), ["base_url", new Place(-4)]), new Skeleton(new Cache("sys_file_combine"), [new Place(2), new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["absolute_file_name", 3])], -1));
add("absolute_file_name", 3, new Clause(4, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("current_prolog_flag"), ["base_url", new Place(-5)]), new Skeleton(new Cache("sys_absolute_opts"), [new Place(2), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_file_combine"), [new Place(3), new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_absolute_opts", 3])], -1));
add("sys_absolute_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_absolute_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_absolute_opt"), [new Place(1), new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_absolute_opts"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_absolute_opts", 3, new Clause(2, ["[]", new Place(-3), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "[]"));
add("sys_absolute_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_absolute_opt", 3])], -1));
add("sys_absolute_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_absolute_opt", 3, new Clause(2, [new Skeleton("relative_to", [new Place(-3)]), new Place(-1), new Place(1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "relative_to"));
add("sys_absolute_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", ["absolute_option", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_file_combine", 3])], -1));
add("sys_file_combine", 3, new Clause(3, [new Place(-1), new Place(-3), new Place(-4)], [new Skeleton(new Cache("is_absolute_file_name"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Place(2)])], 0, undefined));
add("sys_file_combine", 3, new Clause(4, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(make_defined([new Clause(1, [new Place(-2)], [new Skeleton(new Cache("sub_atom"), [new Place(0), 0, new Place(-1), new Place(-1), "..\/"])], -1, undefined), new Clause(1, [new Place(-2)], [new Skeleton(new Cache("sub_atom"), [new Place(0), 0, new Place(-1), new Place(-1), "..\\"])], -1, undefined)]), [new Place(2)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sub_atom"), [new Place(2), 3, new Place(-1), 0, new Place(-4)]), new Skeleton(new Cache("file_directory_name"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sub_atom"), [new Place(1), 0, new Place(-1), 1, new Place(-3)]), new Skeleton(new Cache("sys_file_combine"), [new Place(1), new Place(2), new Place(3)])], 0, undefined));
add("sys_file_combine", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("file_directory_name"), [new Place(0), new Place(-2)]), new Skeleton(new Cache("atom_concat"), [new Place(0), new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["is_absolute_file_name", 1])], -1));
add("is_absolute_file_name", 1, new Clause(4, [new Place(-2)], [new Skeleton(new Cache("atom_length"), [new Place(0), new Place(-3)]), new Skeleton(make_defined([new Clause(3, [new Place(-3), new Place(-4), new Place(-1)], [new Skeleton(new Cache("sub_atom"), [new Place(1), new Place(2), new Place(-1), new Place(-1), "\/"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined), new Clause(2, [new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined)]), [new Place(0), new Place(-4), new Place(1)]), new Skeleton(make_defined([new Clause(3, [new Place(-3), new Place(-4), new Place(-1)], [new Skeleton(new Cache("sub_atom"), [new Place(1), new Place(2), new Place(-1), new Place(-1), "\\"]), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined), new Clause(2, [new Place(-1), new Place(-2), new Place(-3)], [new Skeleton(new Cache("="), [new Place(0), new Place(1)])], -1, undefined)]), [new Place(0), new Place(-5), new Place(1)]), new Skeleton(new Cache("$EVAL"), [new Skeleton(new Cache("min"), [new Place(2), new Place(3)]), new Place(-5)]), new Skeleton(make_defined([new Clause(3, [new Place(-3), new Place(-4), new Place(-1)], [new Skeleton(new Cache("=="), [new Place(1), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("<"), [new Place(1), new Place(2)])], 0, undefined), new Clause(3, [new Place(-3), new Place(-1), new Place(-4)], [new Skeleton(new Cache("sub_atom"), [new Place(2), new Place(-4), new Place(-1), new Place(-1), ":"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("<"), [new Place(2), new Place(1)])], 0, undefined)]), [new Place(3), new Place(1), new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_multifile_safe"), ["strings", 3])], -1));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["strings", 3])], -1));
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 Ganzzahl (nicht zwischen - 2^31 und 2^31-1)."], [], -1, "representation_error.int"));
add("strings", 3, new Clause(0, ["representation_error.max_arity", "de", "Unerlaubte Stelligkeit (nicht kleiner oder gleich 2^31-1)."], [], -1, "representation_error.max_arity"));
add("strings", 3, new Clause(0, ["domain_error.prolog_flag", "de", "Argument sollte Flag sein, gefunden $."], [], -1, "domain_error.prolog_flag"));
add("strings", 3, new Clause(0, ["domain_error.flag_value", "de", "Argument sollte 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 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 Operatormode sein (fx, fy, xfx, yfx, xfy, xf, yf), gefunden $."], [], -1, "domain_error.operator_specifier"));
add("strings", 3, new Clause(0, ["domain_error.time_format", "de", "Argument sollte Zeitformat sein, gefunden $."], [], -1, "domain_error.time_format"));
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.float", "de", "Argument sollte Gleitzahl sein, gefunden $."], [], -1, "type_error.float"));
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, ["permission_error.modify.flag", "de", "Kann schreibgeschütztes Flag $ nicht aktualisieren."], [], -1, "permission_error.modify.flag"));
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 integer (not between - 2^31 and 2^31-1)."], [], -1, "representation_error.int"));
add("strings", 3, new Clause(0, ["representation_error.max_arity", "", "Illegal arity (not less or equal 2^31-1)."], [], -1, "representation_error.max_arity"));
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, ["domain_error.time_format", "", "Argument should be time format, found $."], [], -1, "domain_error.time_format"));
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.float", "", "Argument should be a float, found $."], [], -1, "type_error.float"));
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"));
add("strings", 3, new Clause(0, ["permission_error.modify.flag", "", "Can\'t modify read-only flag $."], [], -1, "permission_error.modify.flag"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_code_class", 2])], -1));
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_category"), [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])], -1));
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])], -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])], -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])], -1));
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("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])], -1));
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])], -1));
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])], -1));
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("$CUT"), [new Place(0)]), 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(1, ["[]", new Place(-2), new Place(0)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_make_variable", 2])], -1));
add("sys_make_variable", 2, new Clause(2, [new Skeleton(".", [new Place(-3), "[]"]), "anon"], [new Skeleton(new Cache("code_category"), [new Place(1), 23]), 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])], -1));
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("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])], -1));
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("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("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("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("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("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_decimal"), [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("sys_next_code"), [new Place(2), new Place(-4)]), new Skeleton(new Cache("sys_get_decimal"), [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("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])], -1));
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("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("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])], -1));
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("sys_next_code"), [new Place(1), new Place(2)])], 0, "."));
add("sys_get_double", 3, new Clause(1, ["[]", new Place(-2), new Place(0)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_decimal", 3])], -1));
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("code_category"), [new Place(1), 9]), new Skeleton(new Cache("$CUT"), [new Place(0)]), 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("code_category"), [new Place(4), 9]), new Skeleton(new Cache("$CUT"), [new Place(0)]), 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(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("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("$CUT"), [new Place(0)]), 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_decimal", 3, new Clause(1, ["[]", new Place(-2), new Place(0)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_fraction", 3])], -1));
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("code_category"), [new Place(1), 9]), new Skeleton(new Cache("$CUT"), [new Place(0)]), 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("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("$CUT"), [new Place(0)]), 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(1, ["[]", new Place(-2), new Place(0)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_exponent", 3])], -1));
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("$CUT"), [new Place(0)]), 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])], -1));
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("code_category"), [new Place(1), 9]), new Skeleton(new Cache("$CUT"), [new Place(0)]), 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(1, ["[]", new Place(-2), new Place(0)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_is_expo", 1])], -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])], -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("code_category"), [new Place(0), 9])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_is_sign", 1])], -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])], -1));
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("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])], -1));
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("$CUT"), [new Place(0)]), 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(1, ["[]", new Place(-2), new Place(0)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_skip_block", 2])], -1));
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("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])], -1));
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("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])], -1));
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])], -1));
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("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("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("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("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])], -1));
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])], -1));
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("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("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])], -1));
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("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(1, ["[]", new Place(-1), new Place(-2), new Place(0)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_char", 3])], -1));
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])], -1));
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])], -1));
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("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("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("$CUT"), [new Place(0)]), 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])], -1));
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("sys_next_code"), [new Place(1), new Place(2)])], 0, "."));
add("sys_get_skip", 4, new Clause(1, [new Place(-2), new Place(0), new Place(-2), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_backslash", 4])], -1));
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("sys_next_code"), [new Place(1), new Place(2)])], 0, "."));
add("sys_get_backslash", 4, new Clause(1, [new Place(-2), new Place(0), new Place(-2), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_get_radix", 5])], -1));
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("$CUT"), [new Place(0)]), 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(1, [new Place(-2), new Place(0), new Place(-1), new Place(-2), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_is_radix", 2])], -1));
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])], -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])], -1));
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])], -1));
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])], -1));
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])], -1));
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])], -1));
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("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])], -1));
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])], -1));
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])], -1));
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_atom", 3])], -1));
add("sys_safe_atom", 3, new Clause(6, [new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sub_atom"), [new Place(2), 0, 1, new Place(-1), new Place(-6)]), new Skeleton(new Cache("char_code"), [new Place(4), new Place(-6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("ir_object_current"), [new Place(1), "last", new Place(-2)]), new Skeleton(new Cache("sys_code_class"), [new Place(0), new Place(-7)]), new Skeleton(new Cache("sys_safe_space"), [new Place(5), new Place(1), new Place(0), new Place(4), new Place(3)]), new Skeleton(new Cache("put_atom"), [new Place(1), new Place(2)])], 0, undefined));
add("sys_safe_atom", 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_space", 5])], -1));
add("sys_safe_space", 5, new Clause(5, [new Place(-3), new Place(-4), new Place(-5), new Place(-6), new Place(-1)], [new Skeleton(new Cache("sys_name_class"), [new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_safe_name"), [new Place(2), new Place(3), new Place(4)])], 0, undefined));
add("sys_safe_space", 5, new Clause(5, ["is_graphic", 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_safe_symbol"), [new Place(1), new Place(2), new Place(3), new Place(4)])], 0, "is_graphic"));
add("sys_safe_space", 5, new Clause(4, ["is_solo", new Place(-3), new Place(-4), new Place(-5), new Place(-1)], [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, "is_solo"));
add("sys_safe_space", 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_safe_name", 3])], -1));
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_atom"), [new Place(1), " "])], 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_atom"), [new Place(1), " "])], 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", 4])], -1));
add("sys_safe_symbol", 4, new Clause(3, [new Place(-3), new Place(-1), new Place(-4), new Place(-1)], [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_atom"), [new Place(1), " "])], 0, undefined));
add("sys_safe_symbol", 4, new Clause(4, [new Place(-3), 45, new Place(-4), new Place(-5)], [new Skeleton(new Cache("=\\="), [new Skeleton(new Cache("\/\\"), [new Place(3), 4]), 0]), new Skeleton(new Cache("code_category"), [new Place(2), 9]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("put_atom"), [new Place(1), " "])], 0, undefined));
add("sys_safe_symbol", 4, new Clause(0, [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_safe_quote", 2])], -1));
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_atom"), [new Place(1), " "])], 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_atom"), [new Place(1), " "])], 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_atom"), [new Place(1), " "])], 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])], -1));
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])], -1));
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])], -1));
add("sys_convert_quote", 3, new Clause(4, [new Place(-3), new Skeleton(".", [92, new Place(-4)]), new Place(-5)], [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("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("sys_convert_quote"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_convert_quote", 3, new Clause(1, ["[]", new Place(-2), new Place(0)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_convert_sep", 2])], -1));
add("sys_convert_sep", 2, new Clause(1, [new Skeleton(".", [13, new Skeleton(".", [10, new Place(-2)])]), new Place(0)], [], -1, "."));
add("sys_convert_sep", 2, new Clause(1, [new Skeleton(".", [10, new Place(-2)]), new Place(0)], [], -1, "."));
add("sys_convert_sep", 2, new Clause(1, [new Skeleton(".", [13, new Place(-2)]), new Place(0)], [], -1, "."));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_convert_char", 3])], -1));
add("sys_convert_char", 3, new Clause(4, [new Place(-3), new Skeleton(".", [92, new Place(-4)]), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), 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 Skeleton(".", [new Place(-2), new Place(-3)]), 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(1), new Place(2)])], -1, undefined));
add("sys_convert_char", 3, new Clause(3, [new Place(-1), new Skeleton(".", [new Place(-2), new Place(-3)]), 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(1), new Place(2)])], -1, undefined));
add("sys_convert_char", 3, new Clause(1, [new Place(-2), new Skeleton(".", [new Place(0), new Place(-2)]), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_convert_code", 3])], -1));
add("sys_convert_code", 3, new Clause(3, [39, new Skeleton(".", [39, new Place(-3)]), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), 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])], -1));
add("sys_convert_double", 2, new Clause(3, [new Skeleton(".", [39, 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_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])], -1));
add("sys_convert_escape", 3, new Clause(5, [new Place(-3), new Skeleton(".", [new Place(-4), new Place(-5)]), new Place(-6)], [new Skeleton(new Cache("sys_is_escape"), [new Place(2), new Place(1)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(3), new Place(4)])], 0, undefined));
add("sys_convert_escape", 3, new Clause(6, [new Place(-3), new Skeleton(".", [new Place(-4), new Place(-5)]), new Place(-6)], [new Skeleton(new Cache("sys_is_radix"), [new Place(2), 8]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_convert_radix"), [new Place(-2), 8, new Place(3), new Place(-5)]), 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("sys_convert_backslash"), [new Place(3), new Place(4)])], 0, undefined));
add("sys_convert_escape", 3, new Clause(5, [new Place(-3), new Skeleton(".", [120, new Place(-4)]), new Place(-5)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), 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("sys_convert_backslash"), [new Place(2), new Place(3)])], 0, undefined));
add("sys_convert_escape", 3, new Clause(4, [new Place(-3), new Skeleton(".", [new Place(1), new Place(-4)]), new Place(-5)], [new Skeleton(new Cache("sys_is_meta"), [new Place(1)]), 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])], -1));
add("sys_convert_backslash", 2, new Clause(3, [new Skeleton(".", [92, 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_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])], -1));
add("sys_convert_radix", 4, new Clause(6, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Skeleton(".", [new Place(1), new Place(-6)]), new Place(-7)], [new Skeleton(new Cache("sys_is_radix"), [new Place(1), new Place(3)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), 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(1, ["[]", new Place(-1), new Place(-2), new Place(0)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_stream_opts", 2])], -1));
add("sys_stream_opts", 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_stream_opts", 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_stream_opt"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_stream_opts"), [new Place(2), new Place(3)])], 0, "."));
add("sys_stream_opts", 2, new Clause(1, ["[]", new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "[]"));
add("sys_stream_opts", 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_stream_opt", 2])], -1));
add("sys_stream_opt", 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_stream_opt", 2, new Clause(3, [new Skeleton("type", [new Place(-3)]), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_check_type"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("ir_object_set"), [new Place(2), "encoding", new Place(1)])], 0, "type"));
add("sys_stream_opt", 2, new Clause(1, [new Place(-2), new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["open_option", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_check_type", 2])], -1));
add("sys_check_type", 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_check_type", 2, new Clause(1, ["text", "utf8"], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "text"));
add("sys_check_type", 2, new Clause(1, ["binary", "latin1"], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "binary"));
add("sys_check_type", 2, new Clause(1, [new Place(-2), new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["type", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_open_opts", 2])], -1));
add("sys_open_opts", 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_open_opts", 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_open_opt"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_open_opts"), [new Place(2), new Place(3)])], 0, "."));
add("sys_open_opts", 2, new Clause(1, ["[]", new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "[]"));
add("sys_open_opts", 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_open_opt", 2])], -1));
add("sys_open_opt", 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_open_opt", 2, new Clause(3, [new Skeleton("method", [new Place(-3)]), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_check_atom"), [new Place(1)]), new Skeleton(new Cache("ir_object_set"), [new Place(2), "method", new Place(1)])], 0, "method"));
add("sys_open_opt", 2, new Clause(3, [new Skeleton("headers", [new Place(-3)]), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("ir_object_new"), [new Place(-2)]), new Skeleton(new Cache("sys_header_opts"), [new Place(1), new Place(0)]), new Skeleton(new Cache("ir_object_set"), [new Place(2), "headers", new Place(0)])], 0, "headers"));
add("sys_open_opt", 2, new Clause(3, [new Skeleton("body", [new Place(-3)]), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_check_atom"), [new Place(1)]), new Skeleton(new Cache("ir_object_new"), [new Place(-2)]), new Skeleton(new Cache("ir_object_set"), [new Place(0), "text", new Place(1)]), new Skeleton(new Cache("ir_object_set"), [new Place(2), "body", new Place(0)])], 0, "body"));
add("sys_open_opt", 2, new Clause(4, [new Skeleton("body", [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("ir_object_new"), [new Place(-2)]), new Skeleton(new Cache("ir_object_set"), [new Place(0), "text", new Place(1)]), new Skeleton(new Cache("sys_stream_opts"), [new Place(2), new Place(0)]), new Skeleton(new Cache("ir_object_set"), [new Place(3), "body", new Place(0)])], 0, "body"));
add("sys_open_opt", 2, new Clause(3, [new Skeleton("type", [new Place(-3)]), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_check_type"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("ir_object_set"), [new Place(2), "encoding", new Place(1)])], 0, "type"));
add("sys_open_opt", 2, new Clause(1, [new Skeleton("uri", [new Place(-1)]), new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "uri"));
add("sys_open_opt", 2, new Clause(1, [new Skeleton("status", [new Place(-1)]), new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "status"));
add("sys_open_opt", 2, new Clause(1, [new Skeleton("fields", [new Place(-1)]), new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "fields"));
add("sys_open_opt", 2, new Clause(1, [new Place(-2), new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["open_option", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_header_opts", 2])], -1));
add("sys_header_opts", 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_header_opts", 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_header_opt"), [new Place(1), new Place(3)]), new Skeleton(new Cache("sys_header_opts"), [new Place(2), new Place(3)])], 0, "."));
add("sys_header_opts", 2, new Clause(1, ["[]", new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "[]"));
add("sys_header_opts", 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_header_opt", 2])], -1));
add("sys_header_opt", 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_header_opt", 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_atom"), [new Place(2)]), new Skeleton(new Cache("ir_object_set"), [new Place(3), new Place(1), new Place(2)])], 0, "-"));
add("sys_header_opt", 2, new Clause(1, [new Place(-2), new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("type_error", ["pair", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_open_results", 2])], -1));
add("sys_open_results", 2, new Clause(3, [new Skeleton(".", [new Place(-2), new Place(-3)]), new Place(-4)], [new Skeleton(new Cache("sys_open_result"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_open_results"), [new Place(1), new Place(2)])], -1, "."));
add("sys_open_results", 2, new Clause(0, ["[]", new Place(-1)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_open_result", 2])], -1));
add("sys_open_result", 2, new Clause(0, [new Skeleton("method", [new Place(-1)]), new Place(-1)], [], -1, "method"));
add("sys_open_result", 2, new Clause(0, [new Skeleton("headers", [new Place(-1)]), new Place(-1)], [], -1, "headers"));
add("sys_open_result", 2, new Clause(1, [new Skeleton("body", [new Place(-1)]), new Place(-1)], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "body"));
add("sys_open_result", 2, new Clause(0, [new Skeleton("body", [new Place(-1), new Place(-1)]), new Place(-1)], [], -1, "body"));
add("sys_open_result", 2, new Clause(0, [new Skeleton("type", [new Place(-1)]), new Place(-1)], [], -1, "type"));
add("sys_open_result", 2, new Clause(2, [new Skeleton("uri", [new Place(-2)]), new Place(-3)], [new Skeleton(new Cache("ir_object_current"), [new Place(1), "uri", new Place(0)])], -1, "uri"));
add("sys_open_result", 2, new Clause(2, [new Skeleton("status", [new Place(-2)]), new Place(-3)], [new Skeleton(new Cache("ir_object_current"), [new Place(1), "status", new Place(0)])], -1, "status"));
add("sys_open_result", 2, new Clause(2, [new Skeleton("fields", [new Place(-2)]), new Place(-3)], [new Skeleton(new Cache("ir_object_current"), [new Place(1), "fields", new Place(-3)]), new Skeleton(new Cache("sys_header_results"), [new Place(1), new Place(0)])], -1, "fields"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_header_results", 2])], -1));
add("sys_header_results", 2, new Clause(3, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("ir_object_keys"), [new Place(0), new Place(-4)]), new Skeleton(new Cache("sys_header_results"), [new Place(2), new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_header_results", 3])], -1));
add("sys_header_results", 3, new Clause(0, ["[]", new Place(-1), "[]"], [], -1, "[]"));
add("sys_header_results", 3, new Clause(5, [new Skeleton(".", [new Place(-2), new Place(-3)]), new Place(-4), new Skeleton(".", [new Skeleton("-", [new Place(0), new Place(-5)]), new Place(-6)])], [new Skeleton(new Cache("ir_object_current"), [new Place(2), new Place(0), new Place(3)]), new Skeleton(new Cache("sys_header_results"), [new Place(1), new Place(2), new Place(4)])], -1, "."));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_opts", 3])], -1));
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])], -1));
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(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("domain_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])], -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])], -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])], -1));
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])], -1));
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(3, [new Skeleton("end_of_term", [new Place(-3)]), new Skeleton("z", [new Place(-4), new Place(-1)]), new Skeleton("z", [new Place(2), new Place(-4)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_check_end_of_term"), [new Place(1), new Place(2)])], 0, "end_of_term"));
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("domain_error", ["read_option", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_check_end_of_term", 2])], -1));
add("sys_check_end_of_term", 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_check_end_of_term", 2, new Clause(1, ["dot", 0], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "dot"));
add("sys_check_end_of_term", 2, new Clause(1, ["eof", 1], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "eof"));
add("sys_check_end_of_term", 2, new Clause(1, [new Place(-2), new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Skeleton("domain_error", ["end_of_term", new Place(0)]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_results", 2])], -1));
add("sys_read_results", 2, new Clause(3, [new Skeleton(".", [new Place(-2), new Place(-3)]), new Place(-4)], [new Skeleton(new Cache("sys_read_result"), [new Place(0), new Place(2)]), new Skeleton(new Cache("sys_read_results"), [new Place(1), new Place(2)])], -1, "."));
add("sys_read_results", 2, new Clause(0, ["[]", new Place(-1)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_result", 2])], -1));
add("sys_read_result", 2, new Clause(2, [new Skeleton("variable_names", [new Place(-2)]), new Skeleton("s", [new Place(-3), new Place(-1)])], [new Skeleton(new Cache("reverse"), [new Place(1), new Place(0)])], -1, "variable_names"));
add("sys_read_result", 2, new Clause(2, [new Skeleton("singletons", [new Place(-2)]), new Skeleton("s", [new Place(-1), new Place(-3)])], [new Skeleton(new Cache("reverse"), [new Place(1), new Place(0)])], -1, "singletons"));
add("sys_read_result", 2, new Clause(0, [new Skeleton("priority", [new Place(-1)]), new Place(-1)], [], -1, "priority"));
add("sys_read_result", 2, new Clause(0, [new Skeleton("end_of_term", [new Place(-1)]), new Place(-1)], [], -1, "end_of_term"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_opt_boolean", 4])], -1));
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])], -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])], -1));
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])], -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])], -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])], -1));
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(1, ["[]", new Place(-2), new Place(0)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_escape_code", 3])], -1));
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("$CUT"), [new Place(0)]), 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("$CUT"), [new Place(0)]), 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("$CUT"), [new Place(0)]), 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("$CUT"), [new Place(0)]), 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(1, [new Place(-2), new Skeleton(".", [new Place(0), new Place(-2)]), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_escape_code2", 3])], -1));
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("$CUT"), [new Place(0)]), 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 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 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])], -1));
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 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(1, ["[]", new Place(-2), new Place(0)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_polate", 3])], -1));
add("sys_polate", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("atom_codes"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_polate_format"), [new Place(2), new Place(0), new Place(1), "[]"])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_polate_format", 4])], -1));
add("sys_polate_format", 4, new Clause(5, [new Place(-3), new Place(-4), new Skeleton(".", [36, new Skeleton(".", [36, new Place(-5)])]), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(".", [new Place(-3), new Place(-2)])]), new Skeleton(new Cache("write"), [new Place(2), new Place(1)]), new Skeleton(new Cache("sys_polate_format"), [new Place(0), new Place(2), new Place(3), new Place(4)])], 0, undefined));
add("sys_polate_format", 4, new Clause(5, [new Place(-3), new Place(-4), new Skeleton(".", [36, new Place(-5)]), new Place(-6)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("="), [new Place(1), new Skeleton(".", [new Place(-3), new Place(-2)])]), new Skeleton(new Cache("writeq"), [new Place(2), new Place(1)]), new Skeleton(new Cache("sys_polate_format"), [new Place(0), new Place(2), new Place(3), new Place(4)])], 0, undefined));
add("sys_polate_format", 4, new Clause(7, [new Place(-3), new Place(-4), new Skeleton(".", [new Place(-5), new Place(-6)]), new Place(-7)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_polate_text"), [new Place(-2), new Place(4), new Place(-6)]), new Skeleton(new Cache("atom_codes"), [new Place(-8), new Skeleton(".", [new Place(3), new Place(0)])]), new Skeleton(new Cache("put_atom"), [new Place(2), new Place(6)]), new Skeleton(new Cache("sys_polate_format"), [new Place(1), new Place(2), new Place(4), new Place(5)])], 0, undefined));
add("sys_polate_format", 4, new Clause(1, ["[]", new Place(-1), new Place(-2), new Place(0)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_polate_text", 3])], -1));
add("sys_polate_text", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Skeleton(".", [new Place(1), new Place(-5)]), new Place(-6)], [new Skeleton(new Cache("\\=="), [new Place(1), 36]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_polate_text"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_polate_text", 3, new Clause(1, ["[]", new Place(-2), new Place(0)], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_listing_name", 2])], -1));
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_multifile_safe"), ["strings", 3])], -1));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["strings", 3])], -1));
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_date", "de", "Kein Datum."], [], -1, "syntax_error.illegal_date"));
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) $."], [], -1, "syntax_error.singleton_var"));
add("strings", 3, new Clause(0, ["syntax_error.multiton_var", "de", "Mehrfache markierte Variable(n) $."], [], -1, "syntax_error.multiton_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, ["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_date", "", "Not a date."], [], -1, "syntax_error.illegal_date"));
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) $."], [], -1, "syntax_error.singleton_var"));
add("strings", 3, new Clause(0, ["syntax_error.multiton_var", "", "Multiton marked variable(s) $."], [], -1, "syntax_error.multiton_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"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_is_infix", 3])], -1));
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])], -1));
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])], -1));
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])], -1));
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("ir_object_set"), [new Place(0), "last", -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])], -1));
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(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_write_reference"), [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("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), new Place(3)])], 0, undefined));
add("sys_write_priority", 3, new Clause(4, [new Skeleton("$VAR", [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), 8]), 0]), new Skeleton(new Cache("integer"), [new Place(1)]), new Skeleton(new Cache(">="), [new Place(1), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_listing_name"), [new Place(1), new Place(-3)]), 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(1), 0])], 0, "$VAR"));
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_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)]), new Skeleton(new Cache("put_atom"), [new Place(0), "]"])], 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_atom"), [new Place(0), "{"]), 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_atom"), [new Place(0), "}"])], 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])], -1));
add("sys_write_number", 3, new Clause(4, [new Place(-2), new Skeleton("w", [new Place(-3), new Place(-1), new Place(-1)]), new Place(-4)], [new Skeleton(new Cache("atom_number"), [new Place(-5), new Place(0)]), 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(3), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_atom", 3])], -1));
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_atom"), [new Place(1), 0, new Place(3), new Place(-1)]), new Skeleton(new Cache("put_atom"), [new Place(0), ")"])], 0, undefined));
add("sys_write_atom", 3, new Clause(3, [new Place(-2), new Skeleton("w", [new Place(-3), new Place(-1), new Place(-1)]), new Place(-4)], [new Skeleton(new Cache("sys_put_atom"), [new Place(0), new Place(1), new Place(2), new Place(-1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_reference", 3])], -1));
add("sys_write_reference", 3, new Clause(3, [new Place(-2), new Skeleton("w", [new Place(-3), new Place(-1), new Place(-1)]), new Place(-4)], [new Skeleton(new Cache("sys_put_reference"), [new Place(0), new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_prefix", 6])], -1));
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(-5)]), new Skeleton(new Cache("sys_put_atom"), [new Place(0), new Place(11), new Place(4), new Place(-1)]), new Skeleton(new Cache("sys_put_rspace"), [new Place(9), new Place(6), new Place(3), new Place(-5)]), 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(3), new Compound(new Cache("\\"), [8])]), new Place(-5)]), new Skeleton(new Cache("sys_write_priority"), [new Place(8), new Skeleton("w", [new Place(3), 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])], -1));
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])], -1));
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_put_oper", 3])], -1));
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_atom"), [new Place(1), ","])], 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_atom"), [new Place(1), "|"])], 0, "|"));
add("sys_put_oper", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_put_atom"), [new Place(0), 0, new Place(1), new Place(2)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_list", 3])], -1));
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_atom"), [new Place(0), "|"]), 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_atom"), [new Place(3), "|"]), 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])], -1));
add("sys_write_compound", 3, new Clause(7, [new Place(-2), new Skeleton("w", [new Place(-3), new Place(-1), new Place(-4)]), new Place(-5)], [new Skeleton(new Cache("=.."), [new Place(0), new Skeleton(".", [new Place(-2), new Skeleton(".", [new Place(-6), new Place(-7)])])]), new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(-8)]), new Skeleton(new Cache("sys_put_symbol"), [new Place(0), new Place(1), new Place(3)]), new Skeleton(new Cache("put_atom"), [new Place(6), "("]), new Skeleton(new Cache("sys_write_priority"), [new Place(4), new Skeleton("w", [1, 999, new Place(2)]), new Place(3)]), new Skeleton(new Cache("sys_write_args"), [new Place(5), new Place(2), new Place(3)]), new Skeleton(new Cache("put_atom"), [new Place(6), ")"])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_put_symbol", 3])], -1));
add("sys_put_symbol", 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_put_reference"), [new Place(1), new Place(2), new Place(3)])], 0, undefined));
add("sys_put_symbol", 3, new Clause(3, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_put_atom"), [new Place(0), new Place(1), new Place(2), new Place(-1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_write_args", 3])], -1));
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_string", 2])], -1));
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])], -1));
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", 3])], -1));
add("sys_write_var", 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("sys_current_vars"), [new Place(3), new Place(-6)]), new Skeleton(new Cache("sys_find_var"), [new Place(1), new Place(4), new Place(-6)]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_current_flags"), [new Place(3), new Place(-2)]), new Skeleton(new Cache("sys_var_quoted"), [new Place(4), new Place(0), new Place(-2)]), new Skeleton(new Cache("sys_current_stream"), [new Place(3), new Place(-5)]), new Skeleton(new Cache("sys_safe_atom"), [new Place(3), new Place(0), new Place(2)])], 0, undefined));
add("sys_write_var", 3, new Clause(3, [new Place(-2), new Place(-1), new Place(-3)], [new Skeleton(new Cache("sys_current_stream"), [new Place(1), new Place(-3)]), new Skeleton(new Cache("sys_safe_atom"), [new Place(1), "_", 0]), 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])], -1));
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])], -1));
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])], -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])], -1));
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])], -1));
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])], -1));
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])], -1));
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])], -1));
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_atom"), [new Place(1), " ("]), 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_atom"), [new Place(0), "("]), 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])], -1));
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_atom"), [new Place(1), ")"])], 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])], -1));
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])], -1));
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])], -1));
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])], -1));
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_atom"), [new Place(1), " "]), 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])], -1));
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_atom"), [new Place(1), " "])], 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])], -1));
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_atom"), [new Place(1), " "]), 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])], -1));
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])], -1));
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_oper_escape", 3])], -1));
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])], -1));
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])], -1));
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])], -1));
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_atom", 4])], -1));
add("sys_put_atom", 4, new Clause(5, [new Place(-2), new Place(-3), new Place(-4), new Place(-5)], [new Skeleton(new Cache("sys_current_flags"), [new Place(2), new Place(-6)]), new Skeleton(new Cache("sys_atom_quoted"), [new Place(0), new Place(4), new Place(3)]), 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(3), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_atom_quoted", 3])], -1));
add("sys_atom_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_atom_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_atom_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_put_reference", 3])], -1));
add("sys_put_reference", 3, new Clause(4, [new Place(-2), new Place(-3), new Place(-4)], [new Skeleton(new Cache("sys_current_flags"), [new Place(2), new Place(-5)]), new Skeleton(new Cache("sys_reference_quoted"), [new Place(0), new Place(3), new Place(-5)]), 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(3), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_reference_quoted", 3])], -1));
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])], -1));
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])], -1));
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_of_term"), [new Place(2), new Place(3)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_end_of_term", 2])], -1));
add("sys_read_end_of_term", 2, new Clause(4, [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), 1]), 0]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_read_end"), ["end_of_file", new Place(1), new Place(2)])], 0, undefined));
add("sys_read_end_of_term", 2, new Clause(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_read_end"), [".", new Place(0), new Place(1)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_priority", 4])], -1));
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])], -1));
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("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("$CUT"), [new Place(0)]), 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("$CUT"), [new Place(0)]), 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(1, [new Place(-1), new Place(-2), new Place(0), 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_read_infix", 7])], -1));
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("$CUT"), [new Place(0)]), 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("$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("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("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("$CUT"), [new Place(0)]), 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("$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("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(1, [new Place(-1), new Place(-2), new Place(0), 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_lookup_var", 4])], -1));
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("$CUT"), [new Place(0)]), 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])], -1));
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("$CUT"), [new Place(0)]), 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(1, [new Place(-1), new Place(-2), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_current_token", 3])], -1));
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])], -1));
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])], -1));
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])], -1));
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])], -1));
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])], -1));
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])], -1));
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])], -1));
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("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("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("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("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("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("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("sys_next_token"), [new Place(1), new Place(2)])], 0, "number"));
add("sys_read_factor", 6, new Clause(3, [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("$CUT"), [new Place(0)]), 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("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("sys_next_token"), [new Place(1), new Place(2)])], 0, "reference"));
add("sys_read_factor", 6, new Clause(3, [new Skeleton("codes", [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("sys_next_token"), [new Place(1), new Place(2)])], 0, "codes"));
add("sys_read_factor", 6, new Clause(3, [new Skeleton("code", [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("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])], -1));
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("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("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("$CUT"), [new Place(0)]), 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("$EVAL"), [new Skeleton(new Cache("-"), [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("$CUT"), [new Place(0)]), 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(1, [new Place(-1), new Place(-2), new Place(0), new Place(-1), 0, new Place(-2), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_prefix", 9])], -1));
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("$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("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])], -1));
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("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(1, [new Place(-1), "[]", new Place(-2), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_list", 6])], -1));
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("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])], -1));
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("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("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(1, [new Place(-1), "[]", new Place(-2), new Place(0)], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_read_set", 6])], -1));
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("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])], -1));
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("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, ["end_of_file", new Place(-3), new Place(-4)], [new Skeleton(new Cache("$CUT"), [new Place(0)]), 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, "end_of_file"));
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("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("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"), ["sys_init_goal", 1])], -1));
run(new Goal(0, [new Compound(new Cache("kb_pred_touch"), ["sys_init_goal", 1, 1])], -1));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["abort", 0])], -1));
add("abort", 0, new Clause(0, [], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("system_error", ["user_abort"]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["exit", 0])], -1));
add("exit", 0, new Clause(0, [], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("system_error", ["user_exit"]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_call_print", 1])], -1));
add("sys_call_print", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("sys_trap"), [new Place(0), new Place(-2), new Skeleton("sys_ended_handler", [new Place(0)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_ended_handler", 1])], -1));
add("sys_ended_handler", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("sys_chain_head"), [new Place(0), new Skeleton("error", [new Compound("system_error", ["user_exit"]), new Place(-1)])]), new Skeleton(new Cache("sys_raise"), [new Place(0)])], -1, undefined));
add("sys_ended_handler", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("sys_print_error"), [new Place(0)]), new Cache("fail")], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["initialization", 1])], -1));
add("initialization", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("assertz"), [new Skeleton("sys_init_goal", [new Place(0)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_init_goals", 0])], -1));
add("sys_init_goals", 0, new Clause(1, [], [new Skeleton(new Cache("retract"), [new Skeleton("sys_init_goal", [new Place(-2)])]), new Skeleton(new Cache("sys_call_print"), [new Skeleton("sys_must", [new Place(0)])]), new Cache("fail")], -1, undefined));
add("sys_init_goals", 0, new Clause(0, [], [], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_must", 1])], -1));
add("sys_must", 1, new Clause(2, [new Place(-3)], [new Place(1), new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, undefined));
add("sys_must", 1, new Clause(0, [new Place(-1)], [new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("syntax_error", ["directive_failed"]), new Place(-1)])])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_baseline", 0])], -1));
add("sys_baseline", 0, new Clause(1, [], [new Skeleton(new Cache("current_prolog_flag"), ["argv", new Place(-2)]), new Skeleton(new Cache("sys_baseline"), [new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_baseline", 1])], -1));
add("sys_baseline", 1, new Clause(2, [new Skeleton(".", ["-h", new Place(-3)])], [new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("current_output"), [new Place(-2)]), new Skeleton(new Cache("sys_print_message"), [new Compound("command", ["runtime"]), new Place(0)]), new Cache("nl"), new Skeleton(new Cache("set_prolog_flag"), ["argv", new Skeleton(".", ["-h", new Place(1)])])], 0, "."));
add("sys_baseline", 1, new Clause(2, [new Skeleton(".", [new Place(-3), new Place(-1)])], [new Skeleton(new Cache("sub_atom"), [new Place(1), 0, new Place(-1), new Place(-1), "-"]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("throw"), [new Skeleton("error", [new Compound("system_error", ["option_command"]), new Place(-1)])])], 0, "."));
add("sys_baseline", 1, new Clause(1, [new Place(-2)], [new Skeleton(new Cache("set_prolog_flag"), ["argv", new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_launch", 0])], -1));
add("sys_launch", 0, new Clause(1, [], [new Skeleton(new Cache("current_prolog_flag"), ["argv", new Place(-2)]), new Skeleton(new Cache("sys_launch"), [new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_launch", 1])], -1));
add("sys_launch", 1, new Clause(1, [new Skeleton(".", ["-h", new Place(-1)])], [new Skeleton(new Cache("$CUT"), [new Place(0)])], 0, "."));
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)]), new Cache("sys_init_goals")], -1, "."));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_banner", 0])], -1));
add("sys_banner", 0, new Clause(6, [], [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("atom_time"), [new Place(-7), new Place(4), new Place(3)]), new Skeleton(new Cache("current_output"), [new Place(-5)]), new Skeleton(new Cache("sys_print_message"), [new Skeleton("banner", ["runtime", new Place(0), new Place(1), new Place(2), new Place(5)]), new Place(3)]), new Cache("nl"), new Skeleton(new Cache("sys_print_message"), [new Compound("banner", ["copyright"]), new Place(3)]), new Cache("nl")], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_toplevel", 0])], -1));
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])], -1));
add("sys_toplevel_prompt", 1, new Clause(3, [new Place(-3)], [new Cache("repeat"), new Cache("sys_init_goals"), new Compound(new Cache("put_atom"), ["?- "]), new Cache("flush_output"), new Skeleton(new Cache("sys_call_print"), [new Skeleton("read_term", [new Place(1), new Place(-3), new Skeleton(".", [new Skeleton("variable_names", [new Place(-4)]), "[]"])])]), new Skeleton(make_defined([new Clause(2, [new Place(-3), 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(2, [new Place(-2), new Place(-3)], [new Skeleton(new Cache("sys_call_print"), [new Skeleton("sys_query_attended", [new Place(0), new Place(1)])]), new Cache("fail")], -1, undefined)]), [new Place(1), new Place(2)]), 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])], -1));
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_answer_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_answer_period")], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_ask_abort", 0])], -1));
add("sys_ask_abort", 0, new Clause(1, [], [new Cache("flush_output"), new Skeleton(new Cache("get_atom"), [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])], -1));
add("sys_answer_show", 1, new Clause(2, [new Place(-2)], [new Skeleton(new Cache("sys_triage_names"), [new Place(0), new Place(-2), new Place(-3)]), new Skeleton(new Cache("append"), [new Place(1), new Place(0), new Place(-3)]), new Skeleton(new Cache("reverse"), [new Place(1), 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_triage_names", 3])], -1));
add("sys_triage_names", 3, new Clause(5, [new Skeleton(".", [new Place(-3), new Place(-4)]), new Place(-5), new Skeleton(".", [new Place(1), new Place(-6)])], [new Skeleton(new Cache("="), [new Place(1), new Skeleton("=", [new Place(-3), new Place(-1)])]), new Skeleton(new Cache("sys_marked_at"), [new Place(1), 0, new Compound(".", [23, "[]"])]), new Skeleton(new Cache("sys_marked_at"), [new Place(1), 1, new Compound(".", [1, new Compound(".", [3, new Compound(".", [23, "[]"])])])]), new Skeleton(new Cache("$CUT"), [new Place(0)]), new Skeleton(new Cache("sys_triage_names"), [new Place(2), new Place(3), new Place(4)])], 0, "."));
add("sys_triage_names", 3, new Clause(3, [new Skeleton(".", [new Place(-2), new Place(-3)]), new Skeleton(".", [new Place(0), new Place(-2)]), new Place(-4)], [new Skeleton(new Cache("sys_triage_names"), [new Place(1), new Place(0), new Place(2)])], -1, "."));
add("sys_triage_names", 3, new Clause(0, ["[]", "[]", "[]"], [], -1, "[]"));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["sys_filter_names", 3])], -1));
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])], -1));
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])], -1));
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])], -1));
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("numbervars", ["true"]), new Compound(".", [new Compound("quoted", ["true"]), "[]"])])])])])], 0, undefined));
add("sys_answer_term", 2, new Clause(1, [new Place(-1), new Place(-1)], [new Skeleton(new Cache("get_string"), ["answer.cyclic", new Place(-2)]), new Skeleton(new Cache("put_atom"), [new Place(0)])], -1, undefined));
run(new Goal(0, [new Compound(new Cache("sys_multifile_safe"), ["strings", 3])], -1));
run(new Goal(0, [new Compound(new Cache("sys_usage_predicate"), ["strings", 3])], -1));
add("strings", 3, new Clause(0, ["answer.cyclic", "de", "<zyklischer Ausdruck>"], [], -1, "answer.cyclic"));
add("strings", 3, new Clause(0, ["command.runtime", "de", "Benutzung: opt_1 .. opt_m [text arg_1 .. arg_n]\nFalls kein text spezifiziert ist, wird Banner gezeigt und dann\nTop-Level ausgeführt, andernfalls wird text ausgeführt.\n-h Diesen Hilfetext anzeigen und Vorgang beenden"], [], -1, "command.runtime"));
add("strings", 3, new Clause(0, ["system_error.option_command", "de", "Ungültige Befehlzeilenoption, -h für weitere Informationen."], [], -1, "system_error.option_command"));
add("strings", 3, new Clause(0, ["answer.cyclic", "", "<cyclic term>"], [], -1, "answer.cyclic"));
add("strings", 3, new Clause(0, ["command.runtime", "", "Usage: opt_1 ... opt_m [text arg_1 ... arg_n]\nIf no text is specified, banner is shown and then top-level\nis executed, otherwise text is executed.\n-h Display this help and exit."], [], -1, "command.runtime"));
add("strings", 3, new Clause(0, ["system_error.option_command", "", "Invalid command line option, -h for more information."], [], -1, "system_error.option_command"));
add("strings", 3, new Clause(0, ["syntax_error.directive_failed", "de", "Direktive fehlgeschlagen."], [], -1, "syntax_error.directive_failed"));
add("strings", 3, new Clause(0, ["system_error.user_abort", "de", "Ausführung auf Benutzerwunsch abgebrochen."], [], -1, "system_error.user_abort"));
add("strings", 3, new Clause(0, ["system_error.user_exit", "de", "System auf Benutzerwunsch beendet."], [], -1, "system_error.user_exit"));
add("strings", 3, new Clause(0, ["syntax_error.directive_failed", "", "Directive failed."], [], -1, "syntax_error.directive_failed"));
add("strings", 3, new Clause(0, ["system_error.user_abort", "", "Execution aborted on user request."], [], -1, "system_error.user_abort"));
add("strings", 3, new Clause(0, ["system_error.user_exit", "", "System ended on user request."], [], -1, "system_error.user_exit"));