Mercurial > repo
annotate interps/brachylog/brachylog/Brachylog-master/src/brachylog.pl @ 12294:abacb968c310 draft
<kspalaiologos> `` rm -f /hackenv/bin/bfi
author | HackEso <hackeso@esolangs.org> |
---|---|
date | Sat, 04 Jan 2020 09:50:24 +0000 |
parents | 70dedbc831e9 |
children |
rev | line source |
---|---|
11865
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
1 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
2 ____ ____ |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
3 \ \ / / |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
4 \ \ ____ / / |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
5 \ \/ \/ / |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
6 \ /\ / BRACHYLOG |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
7 \ / \ / A terse declarative logic programming language |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
8 / \ / \ |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
9 / \/ \ Written by Julien Cumin - 2017 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
10 / /\____/\ \ https://github.com/JCumin/Brachylog |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
11 / / ___ \ \ |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
12 /___/ /__/ \___\ |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
13 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
14 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
15 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
16 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
17 :- use_module(transpile). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
18 :- use_module(symbols). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
19 :- use_module(utils). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
20 :- use_module(predicates). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
21 :- use_module(metapredicates). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
22 :- use_module(constraint_variables). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
23 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
24 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
25 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
26 RUN_FROM_FILE |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
28 run_from_file(FilePath) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
29 run_from_file(FilePath, 'ignore', 'ignore'). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
30 run_from_file(FilePath, Input) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
31 run_from_file(FilePath, Input, 'ignore'). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
32 run_from_file(FilePath, Input, Output) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
33 read_file(FilePath, Code), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
34 !, |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
35 run_from_atom(Code, Input, Output). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
36 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
37 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
38 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
39 RUN_FROM_ATOM |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
40 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
41 run_from_atom(Code) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
42 run_from_atom(Code, 'ignore', 'ignore'). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
43 run_from_atom(Code, Input) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
44 run_from_atom(Code, Input, 'ignore'). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
45 run_from_atom(Code, Input, Output) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
46 parse(Code, 'compiled_brachylog.pl'), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
47 !, |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
48 run(Input, Output). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
49 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
50 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
51 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
52 RUN |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
53 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
54 run(Input, Output) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
55 set_prolog_flag(answer_write_options, [quoted(true), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
56 portray(true), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
57 max_depth(10), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
58 spacing(next_argument), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
59 max_depth(0)]), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
60 set_prolog_flag(print_write_options, [portray(true), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
61 quoted(true), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
62 numbervars(true), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
63 max_depth(0)]), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
64 consult('compiled_brachylog.pl'), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
65 ( \+ var(Input), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
66 Input \= 'ignore', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
67 parse_argument(Input, ParsedInput) |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
68 ; true |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
69 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
70 ( \+ var(Output), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
71 Output \= 'ignore', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
72 parse_argument(Output, ParsedOutput) |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
73 ; true |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
74 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
75 !, |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
76 call(brachylog_main, _, _, ParsedInput, ParsedOutput), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
77 ( var(Input) -> |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
78 brachylog_prolog_variable(ParsedInput, Input) |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
79 ; true |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
80 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
81 ( var(Output) -> |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
82 brachylog_prolog_variable(ParsedOutput, Output) |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
83 ; true |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
84 ). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
85 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
86 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
87 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
88 RUN_FROM_FILES_NO_FILE |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
89 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
90 run_from_files_no_file(FilePath, InputPath, OutputPath) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
91 read_file(FilePath, Atom), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
92 !, |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
93 ( read_file(InputPath, Input), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
94 Input \= '' |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
95 ; Input = 'ignore' |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
96 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
97 !, |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
98 ( read_file(OutputPath, Output), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
99 Output \= '' |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
100 ; Output = 'ignore' |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
101 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
102 !, |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
103 parse_no_file(Atom, Predicates), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
104 !, |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
105 ( contains_write(Atom) -> |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
106 ContainsWrite = 'yes' |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
107 ; ContainsWrite = 'no' |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
108 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
109 !, |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
110 set_prolog_flag(answer_write_options, [quoted(true), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
111 portray(true), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
112 max_depth(10), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
113 spacing(next_argument), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
114 max_depth(0)]), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
115 set_prolog_flag(print_write_options, [portray(true), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
116 quoted(true), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
117 numbervars(true), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
118 max_depth(0)]), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
119 maplist(atomic_list_concat, Predicates, ConcatenatedPredicates), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
120 maplist(read_term_from_atom_, ConcatenatedPredicates, AssertablePredicates), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
121 maplist(assertz, AssertablePredicates), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
122 ( Input \= 'ignore', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
123 parse_argument(Input, ParsedInput), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
124 \+ var(ParsedInput), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
125 ReportInput = 'no' |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
126 ; Input == 'ignore', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
127 ReportInput = 'no' |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
128 ; ReportInput = 'yes', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
129 true |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
130 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
131 ( Output \= 'ignore', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
132 parse_argument(Output, ParsedOutput), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
133 \+ var(ParsedOutput), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
134 ReportOutput = 'no' |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
135 ; Output == 'ignore', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
136 ReportOutput = 'no' |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
137 ; ReportOutput = 'yes', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
138 true |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
139 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
140 !, |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
141 ( call(brachylog_main, _, _, ParsedInput, ParsedOutput) -> |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
142 ( ReportInput = 'yes' -> |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
143 brachylog_prolog_variable(ParsedInput, InputProlog) |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
144 ; true |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
145 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
146 ( ReportOutput = 'yes' -> |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
147 brachylog_prolog_variable(ParsedOutput, OutputProlog) |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
148 ; true |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
149 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
150 ( ReportInput = 'yes', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
151 Bindings = [Input=InputProlog] |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
152 ; Bindings = [] |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
153 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
154 ( ReportOutput = 'yes', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
155 BindingsFinal = [Output=OutputProlog|Bindings] |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
156 ; BindingsFinal = Bindings, |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
157 true |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
158 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
159 ( (ReportInput = 'yes' ; ReportOutput = 'yes'), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
160 write('\n') |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
161 ; true |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
162 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
163 reverse(BindingsFinal, RBindings), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
164 report_bindings(RBindings), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
165 ( ReportInput = 'no', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
166 ReportOutput = 'no', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
167 ContainsWrite = 'no', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
168 write('true.') |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
169 ; true |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
170 ) |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
171 ; ( ContainsWrite = 'no', |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
172 write('false.') |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
173 ; true |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
174 ) |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
175 ). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
176 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
177 read_term_from_atom_(A, B) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
178 read_term_from_atom(A, B, []). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
179 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
180 % Credits to M. Triska |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
181 % See: http://stackoverflow.com/a/38284692/2554145 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
182 report_bindings(NameVars) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
183 phrase(bindings(NameVars), Bs), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
184 format("~s", [Bs]). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
185 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
186 bindings([]) --> []. |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
187 bindings([E]) --> name_var(E). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
188 bindings([E1,E2|Rest]) --> name_var(E1), ",\n", bindings([E2|Rest]). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
189 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
190 name_var(Name=Var) --> |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
191 format_("~w = ~q", [Name,Var]). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
192 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
193 format_(Format, Ls) --> |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
194 call(format_codes(Format, Ls)). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
195 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
196 format_codes(Format, Ls, Cs0, Cs) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
197 format(codes(Cs0, Cs), Format, Ls). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
198 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
199 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
200 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
201 READ_FILE |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
202 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
203 read_file(FilePath, Code) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
204 ( exists_file(FilePath), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
205 open(FilePath, read, File), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
206 read_file_(File, Chars), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
207 close(File), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
208 atomic_list_concat(Chars, Code) |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
209 ; throw('The file does not exist.') |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
210 ), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
211 !. |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
212 |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
213 read_file_(File, []) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
214 at_end_of_stream(File). |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
215 read_file_(File, [H|T]) :- |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
216 \+ at_end_of_stream(File), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
217 get_char(File, H), |
318de151d0ec
<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff
changeset
|
218 read_file_(File, T). |