[test-compile -> compile , run-clause -> eval Adrian Prantl **20090126201223] { hunk ./compiler.fs 149 -: alpha? ( c -- b ) dup [Char] a [Char] z between swap [Char] . = or ; +: alpha? { c -- b } + c [Char] a [Char] z between + c [Char] . = or + c [Char] _ = or +; hunk ./compiler.fs 667 - s" '" push-xt last-clause last-clause-u @ last-nargs @ push-clause-name s" . cr" push-xt; + \ s" '" push-xt last-clause last-clause-u @ last-nargs @ push-clause-name s" . cr" push-xt; hunk ./compiler.fs 674 -: run-clause +: eval hunk ./compiler.fs 711 -: test-compile ( addr u -- ) +: compile ( addr u -- ) hunk ./compiler.fs 725 -s" :- atom1" test-compile -s" :- f(a,b)" test-compile -s" :- f(f(a,b),g(c,h(d,e)))" test-compile -s" :- p(Z,h(Z,W),f(W))" test-compile -s" :- f([])" test-compile -s" :- f([X])" test-compile -s" :- f(.(a,.(b,.(c,[]))))" test-compile -s" :- f([a,b,c])" test-compile -s" :- do(parse(s(np,vp),[birds,fly,[]]))" test-compile -s" :- f([X|[]])" test-compile -s" :- f([X|Xs])" test-compile +s" :- atom1" compile +s" :- f(a,b)" compile +s" :- f(f(a,b),g(c,h(d,e)))" compile +s" :- p(Z,h(Z,W),f(W))" compile +s" :- f([])" compile +s" :- f([X])" compile +s" :- f(.(a,.(b,.(c,[]))))" compile +s" :- f([a,b,c])" compile +s" :- do(parse(s(np,vp),[birds,fly,[]]))" compile +s" :- f([X|[]])" compile +s" :- f([X|Xs])" compile hunk ./compiler.fs 737 -s" concatenate([],L,L)." test-compile run-clause -s" concatenate([X|L1],L2,[X|L3]) :- concatenate(L1,L2,L3)." test-compile run-clause -s" :- concatenate([],[],[])." test-compile run-clause -s" :- concatenate([],X,X)." test-compile run-clause bye +s" concatenate([],L,L)." compile eval +s" concatenate([X|L1],L2,[X|L3]) :- concatenate(L1,L2,L3)." compile eval +s" :- concatenate([],[],[])." compile eval +s" :- concatenate([],X,X)." compile eval hunk ./compiler.fs 742 -s" :- concatenate([a,b],[c],X)." test-compile run-clause -s" :- concatenate(A,B,[a,b])." test-compile run-clause +s" :- concatenate([a,b],[c],X)." compile eval bye +s" :- concatenate(A,B,[a,b])." compile eval hunk ./compiler.fs 745 -s" :- compare_terms(Y,a,b)." test-compile run-clause +s" :- compare_terms(Y,a,b)." compile eval hunk ./compiler.fs 747 +s" split([], L, [], [])." compile eval +s" :- split([], a, A, B)." compile eval hunk ./compiler.fs 750 -s" qsort([],R,R)." test-compile -s" qsort([X|L],R0,R) :- split(L,X,L1,L2), qsort(L1,R0,[X|R1]), qsort(L2,R1,R)." test-compile +s" qsort([],R,R)." compile +s" qsort([X|L],R0,R) :- split(L,X,L1,L2), qsort(L1,R0,[X|R1]), qsort(L2,R1,R)." compile }