Neoweb.nl
Neoweb wetenschapsforum. Duurzame technologie en innovatieve wetenschappelijke onderwerpen. => Informatie Technologie, Telecommunicatie (ICT) en Electronica (Alles over de Digitale Revolutie) => schakelingen => Topic started by: gast on March 16, 2004, 01:07:26 PM
-
wie kan me helpen?
%----knip----%----knip----%----knip----%----knip----%----knip----%
% programmatje dat een boom tekent
:- consult(tree).
% parse opdracht
parse(K,L) :-
G =.. [K,B,L,[]],
G,
dptree(B).
% stukje DCG
s(s(DP,VP)) -->
dp(DP),
vp(VP).
s(s(S,S2)) -->
s(S),
s2(S2).
s2(s2(DP,VP2)) -->
dp(DP),
vp2(VP2).
name(name(jan)) --> [jan].
name(name(marie)) --> [marie].
p(p(in)) --> [in].
n(n(fiets)) --> [fiets].
a(a(braaf)) --> [braaf].
pronoun(pronoun(ik)) --> [ik].
v(v(vertelt)) --> [vertelt].
v(v(regent)) --> [regent].
v(v(slaat)) --> [slaat].
c(c(omdat)) --> [omdat].
c(c(dat)) --> [dat].
d(d(de)) --> [de].
dp(dp(D)) --> name(D).
dp(dp(D,NP)) -->
d(D),
np(NP).
dp(dp(D)) --> pronoun(D).
pp(pp(P,D)) -->
p(P),
dp(D).
ap(ap(A)) --> a(A).
ap(ap(A,PP)) -->
a(A),
pp(PP).
np(np(N)) --> n(N).
np(np(A,NP)) -->
a(A),
np(NP).
np(np(N,PP)) -->
n(N),
n(PP).
vp(vp(V)) -->
v(V).
vp(vp(V,PP)) -->
v(V),
pp(PP).
vp(vp(V,CP)) -->
v(V),
cp(CP).
vp(vp(V,VP)) -->
v(V),
vp(VP).
vp(vp(V,DP)) -->
v(V),
dp(DP).
vp(vp(V,DP,PP)) -->
v(V),
dp(DP),
pp(PP).
vp(vp(V,DP,CP)) -->
v(V),
dp(DP),
cp(CP).
vp(vp(V,DP,VP)) -->
v(V),
dp(DP),
vp(VP).
vp2(vp2(DP,V)) -->
dp(DP),
v(V).
vp2(vp2(V)) -->
v(V).
vp2(vp2(V,PP)) -->
v(V),
pp(PP).
vp2(vp2(V,CP)) -->
v(V),
cp(CP).
vp2(vp2(V,VP)) -->
v(V),
vp(VP).
vp2(vp2(DP,V,PP)) -->
v(V),
dp(DP),
pp(PP).
vp2(vp2(DP,PP,V)) -->
v(V),
dp(DP),
pp(PP).
vp2(vp2(DP,V,CP)) -->
v(V),
dp(DP),
cp(CP).
vp2(vp2(DP,V,VP)) -->
v(V),
dp(DP),
vp(VP).
cp(cp(C, S2)) -->
c(C),
s2(S2).
-
Helpen met wat? ???
-
ik denk dat de syntax van je code niet helemaal klopt. Is er niet gewoon een debugger voor prolog op het internet te vinden?
-
huh?? ??? ???
-
dit lijkt me toch wel iets te ingewikkeld :o :D