annotate ibin/brachylog/Brachylog-master/src/transpile.pl @ 11865:318de151d0ec draft

<b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
author HackEso <hackeso@esolangs.org>
date Tue, 16 Jul 2019 21:37:27 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 :- module(transpile, [parse/2,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
18 parse_no_file/2,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
19 parse_argument/2,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
20 contains_write/1
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
21 ]).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
22
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
23 :- use_module(tokenize).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
24 :- 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
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
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 PARSE
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
29 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
30 parse(Code, TranspiledPath) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
31 parse_no_file(Code, Predicates),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
32 open(TranspiledPath, write, File),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
33 maplist(write_to_file(File), Predicates),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
34 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
35
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
36 parse_no_file(Code, Predicates) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
37 atom_chars(Code, SplittedCode),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
38 tokenize(SplittedCode, TokensNoOutputs),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
39 append_trailing_output(TokensNoOutputs, Tokens),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
40 fix_predicates(Tokens, FixedPredicates),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
41 fix_metapredicates(FixedPredicates, FixedMetapredicates),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
42 fill_implicit_variables(FixedMetapredicates, FilledTokens),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
43 fix_variables_superscripts(FilledTokens, FixedVariables, GlobalVariables),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
44 fix_lists(FixedVariables, FixedLists),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
45 fix_forks(FixedLists, FixedForks),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
46 fix_arrows(FixedForks, Program),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
47 atomic_list_concat(GlobalVariables, ',', G),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
48 atomic_list_concat(['[', G, ']'], GlobalVariablesAtom),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
49 transpile(Program, Predicates, GlobalVariablesAtom),
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
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 PARSE_ARGUMENT
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
55 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
56 parse_argument(Arg, Term) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
57 ( atom(Arg),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
58 AtomArg = Arg
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
59 ; \+ atom(Arg),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
60 term_to_atom(Arg, AtomArg)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
61 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
62 atom_chars(AtomArg, SplittedArg),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
63 tokenize(SplittedArg, Token),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
64 fix_variables_superscripts(Token, FixedSuperscripts, _),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
65 fix_lists(FixedSuperscripts, Program),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
66 transpile(Program, Parsed, '[]'),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
67 !,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
68 reverse(Parsed, [TempMainPredicate|_]),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
69 nth0(3, TempMainPredicate, Atom),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
70 atom_concat(',\n ', AtomT, Atom),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
71 atom_concat(ParsedArg, ' = Var_Input_Local', AtomT),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
72 term_to_atom(Term, ParsedArg)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
73 ;
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
74 throw('Incorrect variable format.').
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
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
77 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
78 APPEND_TRAILING_OUTPUT
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
79 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
80 append_trailing_output([], ['variable':'Output':'sup':'default']).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
81 append_trailing_output(['control':'\n'|T], ['variable':'Output':'sup':'default','control':'\n'|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
82 append_trailing_output(T, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
83 append_trailing_output(['control':'}'|T], ['variable':'Output':'sup':'default','control':'}'|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
84 append_trailing_output(T, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
85 append_trailing_output(['control':'⟩'|T], ['variable':'Output':'sup':'default','control':'⟩'|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
86 append_trailing_output(T, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
87 append_trailing_output(['control':'|'|T], ['variable':'Output':'sup':'default','control':'|'|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
88 append_trailing_output(T, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
89 append_trailing_output([H|T], [H|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
90 H \= 'control':'\n',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
91 H \= 'control':'}',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
92 H \= 'control':'⟩',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
93 H \= 'control':'|',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
94 append_trailing_output(T, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
95
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 FIX_PREDICATES'⟨', '⟩'
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
99 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
100 fix_predicates(Tokens, FixedPredicates) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
101 fix_predicates(Tokens, 1, L),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
102 append(L, FixedPredicates).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
103
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
104 fix_predicates([], _, [[]]).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
105 fix_predicates(['control':'{'|T], I, [['predicate':PredName:0|Rest], ['control':'\n'|Predicate]|AllOtherPredicates]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
106 atomic_list_concat(['brachylog_predicate_',I], PredName),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
107 J is I + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
108 fix_predicates_(T, J, [Predicate|OtherPredicates1], Z, Remaining),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
109 fix_predicates(Remaining, Z, [Rest|OtherPredicates2]),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
110 append(OtherPredicates1, OtherPredicates2, AllOtherPredicates).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
111 fix_predicates(['control':'⟨'|T], I, [['predicate':PredName:0|Rest], ['control':'\n','fork':'start'|Predicate]|AllOtherPredicates]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
112 atomic_list_concat(['brachylog_predicate_',I], PredName),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
113 J is I + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
114 fix_predicates_(T, J, [Predicate|OtherPredicates1], Z, Remaining),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
115 fix_predicates(Remaining, Z, [Rest|OtherPredicates2]),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
116 append(OtherPredicates1, OtherPredicates2, AllOtherPredicates).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
117 fix_predicates(['control':'\n'|T], I, [[],['control':'\n'|Rest]|OtherPredicates]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
118 J is I + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
119 fix_predicates(T, J, [Rest|OtherPredicates]).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
120 fix_predicates([Type:A|T], I, [[Type:A|Rest]|OtherPredicates]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
121 \+ (Type = 'control', A = '{'),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
122 \+ (Type = 'control', A = '}'),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
123 \+ (Type = 'control', A = '⟨'),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
124 \+ (Type = 'control', A = '⟩'),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
125 \+ (Type = 'control', A = '\n'),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
126 fix_predicates(T, I, [Rest|OtherPredicates]).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
127
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
128 fix_predicates_([], _, [[]]).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
129 fix_predicates_(['control':'{'|T], I, [['predicate':PredName:0|Rest], ['control':'\n'|Predicate]|AllOtherPredicates], Z, Remaining) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
130 atomic_list_concat(['brachylog_predicate_',I], PredName),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
131 J is I + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
132 fix_predicates_(T, J, [Predicate|OtherPredicates1], Z2, Remaining2),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
133 fix_predicates_(Remaining2, Z2, [Rest|OtherPredicates2], Z, Remaining),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
134 append(OtherPredicates1, OtherPredicates2, AllOtherPredicates).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
135 fix_predicates_(['control':'⟨'|T], I, [['predicate':PredName:0|Rest], ['control':'\n','fork':'start'|Predicate]|AllOtherPredicates], Z, Remaining) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
136 atomic_list_concat(['brachylog_predicate_',I], PredName),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
137 J is I + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
138 fix_predicates_(T, J, [Predicate|OtherPredicates1], Z2, Remaining2),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
139 fix_predicates_(Remaining2, Z2, [Rest|OtherPredicates2], Z, Remaining),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
140 append(OtherPredicates1, OtherPredicates2, AllOtherPredicates).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
141 fix_predicates_(['control':'}'|T], I, [[]], I, T).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
142 fix_predicates_(['control':'⟩'|T], I, [['fork':'end']], I, T).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
143 fix_predicates_([Type:A|T], I, [[Type:A|Rest]|OtherPredicates], Z, Remaining) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
144 \+ (Type = 'control', A = '{'),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
145 \+ (Type = 'control', A = '}'),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
146 \+ (Type = 'control', A = '⟨'),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
147 \+ (Type = 'control', A = '⟩'),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
148 \+ (Type = 'control', A = '\n'),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
149 fix_predicates_(T, I, [Rest|OtherPredicates], Z, Remaining).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
150
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
151
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
152 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
153 FIX_METAPREDICATES
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
154 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
155 fix_metapredicates([], []).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
156 fix_metapredicates(['predicate':PredName:Sub,'metapredicate':MetapredName:Sup|T], ['predicate':PredName:Sub:MetapredName:Sup|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
157 fix_metapredicates(T, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
158 fix_metapredicates(['predicate':PredName:Sub|T], ['predicate':PredName:Sub:'no':0|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
159 fix_metapredicates(T, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
160 fix_metapredicates([H|T], [H|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
161 fix_metapredicates(T, T2).
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
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
164 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
165 FILL_IMPLICIT_VARIABLES
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
166 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
167 fill_implicit_variables(Tokens, Program) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
168 fill_implicit_variables(Tokens, 0, Program).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
169
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
170 fill_implicit_variables([], _, []).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
171 fill_implicit_variables(['control':':','predicate':A|T], I, ['control':':','predicate':A|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
172 fill_implicit_variables(T, I, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
173 fill_implicit_variables(['predicate':A,Type:B|T], I, ['predicate':A,'variable':V|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
174 Type \= 'variable',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
175 atom_concat('V', I, V),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
176 J is I + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
177 fill_implicit_variables([Type:B|T], J, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
178 fill_implicit_variables(['predicate':A], I, ['predicate':A,'variable':V]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
179 atom_concat('V', I, V).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
180 fill_implicit_variables(['predicate':A,'variable':B|T], I, ['predicate':A,'variable':B|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
181 fill_implicit_variables(T, I, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
182 fill_implicit_variables(['control':H,Type:B|T], I, ['control':H,'variable':V|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
183 Type \= 'variable',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
184 ( H = '∧'
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
185 ; H = '∨'
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
186 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
187 atom_concat('V', I, V),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
188 J is I + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
189 fill_implicit_variables([Type:B|T], J, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
190 fill_implicit_variables(['control':H,'variable':B,Type:C|T], I, ['control':H,'variable':B,'variable':V|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
191 Type \= 'variable',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
192 ( H = '↖'
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
193 ; H = '↙'
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
194 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
195 atom_concat('V', I, V),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
196 J is I + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
197 fill_implicit_variables([Type:C|T], J, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
198 fill_implicit_variables([Type:A|T], I, [Type:A|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
199 Type \= 'predicate',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
200 \+ (Type = 'control', A = ':', T = ['predicate':_|_]),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
201 \+ (Type = 'control', A = '∧', T \= ['variable':_|_]),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
202 \+ (Type = 'control', A = '∨', T \= ['variable':_|_]),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
203 \+ (Type = 'control', A = '↖', T \= ['variable':_|_]),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
204 \+ (Type = 'control', A = '↙', T \= ['variable':_|_]),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
205 fill_implicit_variables(T, I, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
206
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
207
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
208 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
209 FIX_VARIABLES_SUPERSCRIPTS
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 fix_variables_superscripts(Input, Output, GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
212 fix_variables_superscripts_(Input, Output, GlobVars),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
213 sort(GlobVars, GlobalVariables). % Remove duplicates
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
214
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
215 fix_variables_superscripts_([], [], []).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
216 fix_variables_superscripts_(['variable':A:'sup':Sup|T], ['variable':V|T2], [V|GlobalVariables]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
217 atomic_list_concat(['integer', SupAtom], ':', Sup),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
218 atom_number(SupAtom, J),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
219 atomic_list_concat(['Var_',A,'_',J], V),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
220 fix_variables_superscripts_(T, T2, GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
221 fix_variables_superscripts_(['variable':A:'sup':'default'|T], ['variable':V|T2], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
222 atomic_list_concat(['Var_',A,'_Local'], V),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
223 fix_variables_superscripts_(T, T2, GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
224 fix_variables_superscripts_(['variable':List|T], ['variable':FixedList|T2], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
225 is_list(List),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
226 fix_variables_superscripts_(List, FixedList, Vars),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
227 fix_variables_superscripts_(T, T2, GlobalVariables2),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
228 append(Vars, GlobalVariables2, GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
229 fix_variables_superscripts_([X|T], [X|T2], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
230 fix_variables_superscripts_(T, T2, GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
231
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
232
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
233
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
234 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
235 FIX_LISTS
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
236 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
237 fix_lists([], []).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
238 fix_lists(['variable':List|T], ['variable':FixedList|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
239 is_list(List),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
240 fix_list(List, FixedList),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
241 fix_lists(T, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
242 fix_lists([X|T], [X|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
243 ( X = 'variable':L,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
244 \+ (is_list(L))
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
245 ; X \= 'variable':_
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
246 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
247 fix_lists(T, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
248
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
249 fix_list([], []).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
250 fix_list(['control':','|T], T2) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
251 fix_list(T, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
252 fix_list([X|T], [Y|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
253 X \= 'control':',',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
254 ( X = 'variable':L,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
255 is_list(L),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
256 fix_list(L, Y)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
257 ; X = 'variable':Y
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
258 ; X = 'predicate':_,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
259 Y = X
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
260 ; Y = X
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
261 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
262 fix_list(T, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
263
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
264
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
265 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
266 FIX_FORKS
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
267 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
268 fix_forks(L, Z) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
269 fix_forks(L, 0, Z).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
270
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
271 fix_forks([], _, []). % Ignore each useless implicit var after
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
272 fix_forks(['fork':'start', F1, _, F2, Output, 'fork':'end'|T], I, ['control':'unpair','variable':V1,F1,Output,F2,'variable':V1,'control':'∧'|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
273 atom_concat('Fork', I, V1),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
274 J is I + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
275 fix_forks(T, J, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
276 fix_forks(['fork':'start', F1, _, F2, _, F3, Output, 'fork':'end'|T], I, ['control':'&',F1,'variable':V1,'control':'&',F3,'variable':V2,'control':'∧','variable':V1,'control':';','variable':V2,F2,Output|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
277 atom_concat('Fork', I, V1),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
278 J is I + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
279 atom_concat('Fork', J, V2),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
280 K is I + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
281 fix_forks(T, K, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
282 fix_forks([H|T], I, [H|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
283 dif(H, 'fork':'start'),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
284 fix_forks(T, I, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
285
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
286
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
287 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
288 FIX_ARROWS
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
289 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
290 fix_arrows([], []).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
291 fix_arrows(['predicate':P:_:Meta:Sup,'variable':_,'control':'↙','variable':V|T], T2) :- !,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
292 ( atom(V) ->
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
293 V = VA
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
294 ; term_to_atom(V, VA)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
295 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
296 fix_arrows(['predicate':P:VA:Meta:Sup|T], T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
297 fix_arrows(['predicate':P:Sub:Meta:_,'variable':_,'control':'↖','variable':V|T], T2) :- !,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
298 ( atom(V) ->
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
299 V = VA
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
300 ; term_to_atom(V, VA)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
301 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
302 fix_arrows(['predicate':P:Sub:Meta:VA|T], T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
303 fix_arrows(['predicate':P:_:Meta:Sup,'control':'↙','variable':V|T], T2) :- !,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
304 ( atom(V) ->
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
305 V = VA
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
306 ; term_to_atom(V, VA)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
307 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
308 fix_arrows(['predicate':P:VA:Meta:Sup|T], T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
309 fix_arrows(['predicate':P:Sub:Meta:_,'control':'↖','variable':V|T], T2) :- !,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
310 ( atom(V) ->
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
311 V = VA
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
312 ; term_to_atom(V, VA)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
313 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
314 fix_arrows(['predicate':P:Sub:Meta:VA|T], T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
315 fix_arrows([H|T], [H|T2]) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
316 fix_arrows(T, T2).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
317
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
318
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
319 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
320 TRANSPILE
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
321 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
322 transpile(Program, [[':- style_check(-singleton).'],
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
323 [':- use_module(library(clpfd)).'],
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
324 [':- 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
325 [':- 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
326 [':- use_module(constraint_variables).\n'],
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
327 [MainPredHeader,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
328 ConstraintVariables,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
329 ' (1=1'|MainPred]|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
330 atomic_list_concat(['brachylog_main(',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
331 GlobalVariables,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
332 ',_, Var_Input_Local,Var_Output_Local) :-\n',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
333 ' Name = brachylog_main,\n',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
334 ' GlobalVariables = ',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
335 GlobalVariables,',\n',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
336 ' nb_setval(\'declw\',[]),\n'], % Initialize declarative write variable
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
337 MainPredHeader),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
338 constraint_variables(GlobalVariables, ConstraintVariables),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
339 transpile_(Program, 'Var_Input_Local', no, no, 0, 0, [T|OtherPredicates], GlobalVariables),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
340 reverse(T, [_|RT]),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
341 reverse(RT, T2),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
342 append(T2, ['\n',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
343 ' ),\n',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
344 ' (',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
345 '(Var_Output_Local = integer:_ ; ',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
346 'Var_Output_Local = [_|_], ',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
347 'forall(member(E, Var_Output_Local), E = integer:_)) ',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
348 '-> brachylog_label(default, Var_Output_Local, _) ',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
349 '; true),\n',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
350 ' nb_getval(\'declw\', DeclwFinal),\n',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
351 ' maplist(write, DeclwFinal).'], % execute declarative write
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
352 MainPred).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
353
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
354 transpile_([], _, _, _, _, _, [['\n ).\n']], _).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
355 transpile_(['variable':B|T], A, Reverse, Negate, AppendNumber, PredNumber, [[Unification|T2]|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
356 A \= 'nothing',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
357 ( is_list(A),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
358 brachylog_list_to_atom(A, Var1)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
359 ; A = Type:L,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
360 term_to_atom(Type:L, Var1)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
361 ; A = Var1
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
362 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
363 ( is_list(B),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
364 brachylog_list_to_atom(B, Var2)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
365 ; B = _:_,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
366 term_to_atom(B, Var2)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
367 ; Var2 = B
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
368 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
369 ( Negate = yes,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
370 UnificationAtom = ' \\= '
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
371 ; Negate = no,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
372 UnificationAtom = ' = '
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
373 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
374 ( Reverse = no,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
375 atomic_list_concat([',\n ',Var2,UnificationAtom,Var1], Unification),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
376 transpile_(T, B, no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
377 ; Reverse = yes,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
378 atomic_list_concat([',\n ',Var1,UnificationAtom,Var2], Unification),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
379 transpile_(T, B, no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
380 ).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
381 transpile_(['variable':B|T], 'nothing', _, _, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
382 transpile_(T, B, no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
383 transpile_(['predicate':P:Sub:Meta:Sup,'variable':B|T], A, Reverse, Negate, AppendNumber, PredNumber, [[Predicate|T2]|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
384 A \= 'nothing',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
385 ( P = 'brachylog_call_predicate',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
386 ( Sub = 'default' ->
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
387 RealSub = 'Name-GlobalVariables'
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
388 ; atomic_list_concat(['(',Sub,')-','GlobalVariables'], RealSub)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
389 )
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
390 ; P \= 'brachylog_call_predicate',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
391 RealSub = Sub
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
392 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
393 ( is_list(A),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
394 brachylog_list_to_atom(A, Var1)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
395 ; A = Type:L,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
396 term_to_atom(Type:L, Var1)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
397 ; A = Var1
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
398 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
399 ( is_list(B),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
400 brachylog_list_to_atom(B, Var2)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
401 ; B = _:_,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
402 term_to_atom(B, Var2)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
403 ; Var2 = B
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
404 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
405 ( Negate = yes,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
406 NegateAtom = '\\+ '
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
407 ; Negate = no,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
408 NegateAtom = ''
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
409 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
410 ( Reverse = no ->
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
411 PredName = P
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
412 ; atomic_list_concat([P,'_reversed'], PredName)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
413 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
414 ( atomic_list_concat(['brachylog','predicate',_], '_', P)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
415 -> atomic_list_concat([GlobalVariables,','], GlobVars)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
416 ; GlobVars = ''
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
417 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
418 ( Meta = no ->
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
419 atomic_list_concat([',\n ',NegateAtom,PredName,'(',GlobVars,RealSub,',',Var1,',',Var2,')'], Predicate)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
420 ; ( atomic_list_concat(['brachylog','predicate',_], '_', P)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
421 -> atomic_list_concat([GlobalVariables,','], GlobVarsMeta)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
422 ; GlobVarsMeta = 'ignore,'
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
423 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
424 atomic_list_concat([',\n ',NegateAtom,Meta,'(',GlobVarsMeta,Sup,',',PredName,',',RealSub,',',Var1,',',Var2,')'], Predicate)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
425 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
426 transpile_(T, B, no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
427 transpile_(['control':'∧'|T], _, _, _, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
428 transpile_(T, 'nothing', no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
429 transpile_(['control':'&'|T], _, _, _, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
430 transpile_(T, 'Var_Input_Local', no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
431 transpile_(['control':'`'|T], B, _, _, AppendNumber, PredNumber, [['\n *->\n 1=1'|T2]|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
432 transpile_(T, B, no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
433 transpile_(['control':'∨'|T], _, _, _, AppendNumber, PredNumber, [['\n ;\n 1=1'|T2]|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
434 transpile_(T, 'nothing', no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
435 transpile_(['control':'('|T], B, _, Negate, AppendNumber, PredNumber, [[Parenthesis|T2]|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
436 ( Negate = yes,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
437 Parenthesis = ',\n \\+ (\n 1=1'
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
438 ; Negate = no,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
439 Parenthesis = ',\n (\n 1=1'
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
440 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
441 transpile_(T, B, no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
442 transpile_(['control':')'|T], B, _, _, AppendNumber, PredNumber, [['\n )'|T2]|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
443 transpile_(T, B, no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
444 transpile_(['control':'!'|T], B, _, _, AppendNumber, PredNumber, [[',\n !'|T2]|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
445 transpile_(T, B, no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
446 transpile_(['control':'⊥'|T], B, _, _, AppendNumber, PredNumber, [[',\n false'|T2]|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
447 transpile_(T, B, no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
448 transpile_(['control':'~'|T], B, Reverse, Negate, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
449 ( Reverse = yes,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
450 NewReverse = no
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
451 ; Reverse = no,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
452 NewReverse = yes
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
453 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
454 transpile_(T, B, NewReverse, Negate, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
455 transpile_(['control':'¬'|T], B, Reverse, Negate, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
456 ( Negate = yes,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
457 NewNegate = no
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
458 ; Negate = no,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
459 NewNegate = yes
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
460 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
461 transpile_(T, B, Reverse, NewNegate, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
462 transpile_(['control':'unpair','variable':A|T], B, _, _, AppendNumber, PredNumber, [[Unpair|T2]|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
463 ( A = TypeA:LA,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
464 term_to_atom(TypeA:LA, TailElem)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
465 ; A = TailElem
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
466 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
467 ( B = TypeB:LB,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
468 term_to_atom(TypeB:LB, Pair)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
469 ; B = Pair
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
470 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
471 atomic_list_concat(['UnpairTemp',AppendNumber],HeadElem),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
472 atomic_list_concat([',\n ',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
473 Pair,'=[',HeadElem,',',TailElem,']'],Unpair),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
474 NewAppendNumber is AppendNumber + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
475 transpile_(T, HeadElem, no, no, NewAppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
476 transpile_(['control':';',Type:A|T], B, _, _, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
477 ( Type = 'variable'
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
478 ; Type = 'predicate'
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
479 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
480 append([B], [A], NewVar),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
481 transpile_(T, NewVar, no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
482 transpile_(['control':',','variable':A|T], B, _, _, AppendNumber, PredNumber, [[Append|T2]|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
483 ( is_list(A),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
484 brachylog_list_to_atom(A, Arg1)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
485 ; A = TypeA:LA,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
486 term_to_atom(TypeA:LA, Arg1)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
487 ; A = Arg1
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
488 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
489 ( is_list(B),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
490 brachylog_list_to_atom(B, Arg2)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
491 ; B = TypeB:LB,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
492 term_to_atom(TypeB:LB, Arg2)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
493 ; B = Arg2
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
494 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
495 atomic_list_concat(['AppendTemp',AppendNumber],TempVar),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
496 atomic_list_concat([',\n ',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
497 '((',Arg2,' == [], \\+ is_brachylog_list(',Arg1,')) -> ',TempVar,' = [',Arg1,'] ; ',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
498 'brachylog_concatenate(default,',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
499 '[',Arg2,',',Arg1,']',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
500 ',',TempVar,') -> true ; is_brachylog_list(',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
501 Arg2,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
502 '), brachylog_concatenate(default,',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
503 '[',Arg2,',[',Arg1,']]',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
504 ',',TempVar,') -> true ; brachylog_concatenate(default,',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
505 '[[',Arg2,'],[',Arg1,']],',TempVar,'))'
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
506 ], Append),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
507 NewAppendNumber is AppendNumber + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
508 transpile_(T, TempVar, no, no, NewAppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
509 transpile_(['control':'\n'|T], _, _, _, AppendNumber, PredNumber, [['\n ).\n'],[ReversedPred],[PredHead|T2]|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
510 J is PredNumber + 1,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
511 constraint_variables(GlobalVariables, ConstraintVariables),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
512 atomic_list_concat(['brachylog_predicate_',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
513 J,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
514 '_reversed(',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
515 GlobalVariables,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
516 ',_, 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
517 ') :-\n',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
518 ' brachylog_predicate_',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
519 J,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
520 '(',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
521 GlobalVariables,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
522 ',_, Output, Input',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
523 ').\n'], ReversedPred),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
524 atomic_list_concat(['brachylog_predicate_',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
525 J,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
526 '(',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
527 GlobalVariables,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
528 ',_, ',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
529 'Var_Input_Local',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
530 ',Var_Output_Local',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
531 ') :-\n Name = brachylog_predicate_',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
532 J,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
533 ',\n GlobalVariables = ',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
534 GlobalVariables,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
535 ',\n',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
536 ConstraintVariables,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
537 ' (1=1'], PredHead),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
538 transpile_(T, 'Var_Input_Local', no, no, AppendNumber, J, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
539 transpile_(['control':'|'|T], _, _, _, AppendNumber, PredNumber, [['\n ).\n'],[PredHead|T2]|OtherPredicates], GlobalVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
540 ( PredNumber = 0,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
541 PredName = 'brachylog_main'
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
542 ; PredNumber \= 0,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
543 atomic_list_concat(['brachylog_predicate_',PredNumber], PredName)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
544 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
545 constraint_variables(GlobalVariables, ConstraintVariables),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
546 atomic_list_concat([PredName,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
547 '(',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
548 GlobalVariables,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
549 ',_, ',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
550 'Var_Input_Local',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
551 ',Var_Output_Local',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
552 ') :-\n Name = ',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
553 PredName,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
554 ',\n GlobalVariables = ',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
555 GlobalVariables,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
556 ',\n',
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
557 ConstraintVariables,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
558 ' (1=1'], PredHead),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
559 transpile_(T, 'Var_Input_Local', no, no, AppendNumber, PredNumber, [T2|OtherPredicates], GlobalVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
560
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
561
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
562 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
563 CONTAINS_WRITE
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
564 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
565 contains_write(Code) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
566 atom_chars(Code, SplittedCode),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
567 tokenize(SplittedCode, Tokens),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
568 fix_predicates(Tokens, FixedPredicates),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
569 ( member(predicate:brachylog_write:_, FixedPredicates)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
570 ; member(predicate:brachylog_writeln:_, FixedPredicates)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
571 ).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
572
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
573
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
574 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
575 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
576 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
577 constraint_variables(GlobalVariables, ConstraintVariables) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
578 atom_chars(GlobalVariables, [_|Gs]),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
579 reverse(Gs, [_|RGs]),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
580 reverse(RGs, RRGs),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
581 atomic_list_concat(RRGs, GGs),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
582 atomic_list_concat(GlobVars, ',', GGs),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
583 findall(S, (member(X, GlobVars),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
584 atomic_list_concat(['Var', Name, _], '_', X),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
585 atom_chars(Name, CName),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
586 reverse(CName, [_,'t','n','i','a','r','t','s','n','o','C']),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
587 constraint_variable(X, S)), Ss),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
588 atomic_list_concat(Ss, GlobalConstraintVariables),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
589 findall(T, (member(X, ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
590 atomic_list_concat([' constraint',X,'(Var_Constraint',X,'_Local','),\n'], T)),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
591 Ts
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
592 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
593 atomic_list_concat(Ts, LocalConstraintVariables),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
594 atomic_list_concat([GlobalConstraintVariables, LocalConstraintVariables], ConstraintVariables).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
595
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
596 constraint_variable(X, S) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
597 atomic_list_concat(['Var', ConstraintName, _], '_', X),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
598 atom_chars(ConstraintName, [C|Cs]),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
599 downcase_atom(C, CDown),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
600 atomic_list_concat([CDown|Cs], PredName),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
601 atomic_list_concat([' ',PredName,'(',X,'),\n'], S).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
602
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
603
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
604 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
605 BRACHYLOG_LIST_TO_ATOM
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
606 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
607 brachylog_list_to_atom(List, Atom) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
608 brachylog_list_to_atom_(List, T2),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
609 atomic_list_concat(['[',T2,']'], Atom).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
610
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
611 brachylog_list_to_atom_([], '').
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
612 brachylog_list_to_atom_([A], AtomA) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
613 ( is_list(A),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
614 brachylog_list_to_atom(A, AtomA)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
615 ; A = _:_,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
616 term_to_atom(A, AtomA)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
617 ; \+ is_list(A),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
618 A \= _:_,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
619 AtomA = A
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
620 ).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
621 brachylog_list_to_atom_([A,B|T], Atom) :-
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
622 ( is_list(A),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
623 brachylog_list_to_atom(A, AtomA)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
624 ; A = _:_,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
625 term_to_atom(A, AtomA)
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
626 ; \+ is_list(A),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
627 A \= _:_,
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
628 AtomA = A
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
629 ),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
630 brachylog_list_to_atom_([B|T], T2),
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
631 atomic_list_concat([AtomA,',',T2], Atom).
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
632
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
633
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
634 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
635 WRITE_TO_FILE
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
636 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
637 write_to_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
638 write(File, '\n\n').
318de151d0ec <b_jonas> python3 -cimport os,zipfile; os.chdir("ibin/brachylog"); zipfile.ZipFile("master.zip").extractall()
HackEso <hackeso@esolangs.org>
parents:
diff changeset
639 write_to_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
640 write(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
641 write_to_file(File, T).