i trying make parse tree language a^n b^n.
below i've tried, turns true without priting parse tree.
%% a^n, b^n. ex) s([a,a,b,b],[]). = true s --> a,s,b. s --> []. s(ab(s)) --> a,s(s),s. s([]) --> [].
for example, i'd print ab(ab([]))
if type s(t,[a,a,b,b],[]).
please help!
s(ab(s)) --> a,s(s),s.
should s(ab(s)) --> [a],s(s),[b].
give correct results:
s([]) --> []. s(ab(s)) --> [a], s(s), [b]. | ?- phrase(s(l), [a,a,b,b]). l = ab(ab([])) ? ; no | ?- phrase(s(ab(ab([]))), l). l = [a,a,b,b] yes | ?- phrase(s(l), t). l = [] t = [] ? ; l = ab([]) t = [a,b] ? ; l = ab(ab([])) t = [a,a,b,b] ? ; l = ab(ab(ab([]))) t = [a,a,a,b,b,b] ? ; l = ab(ab(ab(ab([])))) t = [a,a,a,a,b,b,b,b] ? ; ...