Index: src/data/italian/prolog/binarise.pl
===================================================================
--- src/data/italian/prolog/binarise.pl (revision 2527)
+++ src/data/italian/prolog/binarise.pl (working copy)
@@ -6,7 +6,7 @@
/* -----------------------------------------------------------------------
Binarising: put branches in a list
------------------------------------------------------------------------ */
+- */
binarise(Tree,Name,Bin):-
Tree =.. [tree,Node|Branches], !,
@@ -15,7 +15,7 @@
/* -----------------------------------------------------------------------
Binarising: definite prepositions
------------------------------------------------------------------------- */
+-- */
binarise(t(Cat,[h:T1,a:T2]),B,C):-
T1 = tree('PREP',Tok1),
@@ -28,7 +28,7 @@
/* -----------------------------------------------------------------------
Binarising: repair of embedded and relative clauses
------------------------------------------------------------------------- */
+-- */
binarise(t(Cat,[h:T1,a:T2]),B,C):-
Cat = 'CONJP-OBJ',
@@ -45,7 +45,7 @@
/* -----------------------------------------------------------------------
Binarising: repair of double-headed preposition
------------------------------------------------------------------------- */
+-- */
binarise(t(Cat,[h:T1,h:T2]),B,C):-
T1 =.. [tree,'PREP'|_],
@@ -54,7 +54,7 @@
/* -----------------------------------------------------------------------
Binarising: repair of name/noun compounds
------------------------------------------------------------------------- */
+-- */
binarise(t(Cat,L1),B,C):-
sublist([h:T1,h:T2],L1,Before,After),
@@ -72,7 +72,7 @@
/* -----------------------------------------------------------------------
Binarising: repair of numerical compounds
------------------------------------------------------------------------- */
+-- */
binarise(t(Cat,L1),B,C):-
sublist([h:T1,h:T2],L1,Before,After),
@@ -98,7 +98,7 @@
/* -----------------------------------------------------------------------
Binarising: repair of comparative
------------------------------------------------------------------------- */
+-- */
binarise(t(Cat,L1),B,C):-
sublist([h:T1,h:T2],L1,Before,After),
@@ -109,7 +109,7 @@
/* -----------------------------------------------------------------------
Binarising: repair of percentage expressions
------------------------------------------------------------------------- */
+-- */
binarise(t(Cat,L1),B,C):-
sublist([h:T1,a:T2,h:T3],L1,Before,After),
@@ -138,7 +138,7 @@
/* -----------------------------------------------------------------------
Binarising: repair of sentences with VP as subject
------------------------------------------------------------------------- */
+-- */
binarise(t(Cat,L1),B,C):-
sublist([h:T1,h:T2],L1,Before,After),
@@ -149,7 +149,7 @@
/* -----------------------------------------------------------------------
Binarising: possessives (ALB-19)
------------------------------------------------------------------------- */
+-- */
binarise(t(Cat,L1),B,C):-
sublist([a:T1,a:T2],L1,Before,After),
@@ -160,7 +160,7 @@
/* -----------------------------------------------------------------------
Binarising: DP modifiers (ALB-33, ALB-381)
------------------------------------------------------------------------- */
+-- */
binarise(t(Cat,L1),B,C):-
sublist([m:T1,a:T2],L1,Before,After),
@@ -185,7 +185,7 @@
/* -----------------------------------------------------------------------
Binarising: embedded clauses (CHIAM-47, V-19)
------------------------------------------------------------------------- */
+-- */
binarise(t(Cat,L1),B,C):-
Cat = 'Vbar',
Index: src/data/italian/prolog/ccg.pl
===================================================================
--- src/data/italian/prolog/ccg.pl (revision 2527)
+++ src/data/italian/prolog/ccg.pl (working copy)
@@ -54,7 +54,7 @@
topcat(t(C1,_,_,_),C2):- !, C2=C1.
topcat(ba(C1,_,_),C2):- !, C2=C1.
topcat(fa(C1,_,_),C2):- !, C2=C1.
-topcat(CCG,_):- !, error('topcat not defined for ~p~n',[CCG]), fail.
+topcat(CCG,_):- !, trace,error('topcat not defined for ~p~n',[CCG]), fail.
/* ----------------------------------------------------------
@@ -455,7 +455,7 @@
/* ----------------------------------------------------------------------------------
Leaf Nodes: MOD (quotes and parentheticals)
----------------------------------------------------------------------------------- */
+------------ */
ccg(leaf(Pos,Ind,Tok), m, [modrigh(X)], t(Cat,Pos,Ind,Tok)):-
Pos = 'PUNCT-OPEN+QUOTES', !,
@@ -475,7 +475,7 @@
/* ----------------------------------------------------------------------------------
Leaf Nodes: MOD (general case)
----------------------------------------------------------------------------------- */
+------------ */
ccg(leaf(Pos,Ind,Tok), m, [modrigh(X)], t(Cat,Pos,Ind,Tok)):- !, Cat = (X/X).
ccg(leaf(Pos,Ind,Tok), m, [modleft(X)], t(Cat,Pos,Ind,Tok)):- !, Cat = (X\X).
@@ -533,7 +533,7 @@
/* ------------------------------------------------------------------------
Mapping from POS to basic CCG categories [possible arguments]
------------------------------------------------------------------------- */
+-- */
pos2cat(Pos, s:pss, S):- main_verb(Pos,_), member(argrigh('NP-LGS'),S).
pos2cat(Pos, s:F, S):- main_verb(Pos,F), \+ member(argrigh('NP-LGS'),S).
@@ -582,7 +582,7 @@
/* ------------------------------------------------------------------------
Determine base of functor category
------------------------------------------------------------------------- */
+-- */
build([],Cat,Cat):- !.
build([modleft(X)],_,(X\X)):- !.
Index: src/data/italian/prolog/printCCG.pl
===================================================================
--- src/data/italian/prolog/printCCG.pl (revision 2527)
+++ src/data/italian/prolog/printCCG.pl (working copy)
@@ -9,10 +9,10 @@
/* ----------------------------------------------------------------------
Main Predicate (simple)
----------------------------------------------------------------------- */
+ */
writeCCG(CCG,Name,No,Stream):-
- format(Stream,'ccg(~p, %%% ~q~n',[No,Name]),
+ 'format'(Stream,'ccg(~p, %%% ~q~n',[No,Name]),
writeDer(CCG,5,Stream),
write(Stream,').'), nl(Stream),
nl(Stream).
@@ -20,14 +20,14 @@
/* ----------------------------------------------------------------------
Derivation
----------------------------------------------------------------------- */
+ */
writeDer(t(Cat,Pos,_Ind,Tok),Tab,Stream):- !,
tab(Stream,Tab),
downcase_atom(Tok,Stem),
write(Stream,'t('),
print(Stream,Cat),
- format(Stream,',~q,~q,~q)',[Tok,Stem,Pos]).
+ 'format'(Stream,',~q,~q,~q)',[Tok,Stem,Pos]).
writeDer(Der,Tab,Stream):-
Der =.. [Rule,Cat1,Cat2,A],
@@ -69,7 +69,7 @@
/* ----------------------------------------------------------------------
Main Predicate (pretty)
----------------------------------------------------------------------- */
+ */
printCCG(CCG,Stream):-
ccg2lines(CCG,_,Lines), !,
@@ -86,7 +86,7 @@
/* ----------------------------------------------------------------------
Print Lines (the CCG derivation)
----------------------------------------------------------------------- */
+ */
printLines([],Stream):-
nl(Stream).
@@ -98,7 +98,7 @@
/* ----------------------------------------------------------------------
Compute each line
----------------------------------------------------------------------- */
+ */
ccg2lines(t(Cat,_,_,Tok),Len,[Line1,Line2,Line3]):- !,
ccg2lines(tok(Cat,Tok),Len,[Line1,Line2,Line3]).
@@ -175,7 +175,7 @@
/* ----------------------------------------------------------------------
Combine Lines
----------------------------------------------------------------------- */
+ */
combLines(MaxLeft,Left,MaxRight,Right,Max,New):-
Max is MaxLeft + MaxRight + 1,
@@ -205,7 +205,7 @@
/* ----------------------------------------------------------------------
Filling out spaces to the right (sometimes needed)
----------------------------------------------------------------------- */
+ */
fillRight(L,TreeLen,CatLen,TreeLen,L):-
TreeLen > CatLen, !.
@@ -228,7 +228,7 @@
/* ----------------------------------------------------------------------
Format a rule
----------------------------------------------------------------------- */
+ */
rule(Rule,Max,Line):-
atom_length(Rule,Len),
@@ -241,7 +241,7 @@
/* ----------------------------------------------------------------------
Format a cat
----------------------------------------------------------------------- */
+ */
cat(Cat,Max,Line):-
atom_length(Cat,Len),
@@ -252,7 +252,7 @@
/* ----------------------------------------------------------------------
Fill a line with a character
----------------------------------------------------------------------- */
+ */
fill(Atom,Len,Result):-
atom_codes(Atom,[Code]),
@@ -270,7 +270,7 @@
/* ----------------------------------------------------------------------
Convert a CCG cat to an atom
----------------------------------------------------------------------- */
+ */
cat2atom(Cat,Atom):-
cat2atom(Cat,Atom,top).
@@ -321,16 +321,16 @@
/* ----------------------------------------------------------------------
Print Cat
----------------------------------------------------------------------- */
+ */
printCat(t(Cat,Pos,_Ind,Tok),Stream):- !,
% cat2atom(Cat,CatAtom),
-% format(Stream,'LEX ~p ~p ~p ~p~n',[Tok,Pos,Ind,CatAtom]).
+% 'format'(Stream,'LEX ~p ~p ~p ~p~n',[Tok,Pos,Ind,CatAtom]).
printCat(tok(Cat,Pos,Tok),Stream).
printCat(tok(Cat,Pos,Tok),Stream):- !,
cat2atom(Cat,CatAtom),
- format(Stream,'LEX ~p ~p ~p~n',[Tok,Pos,CatAtom]).
+ 'format'(Stream,'LEX ~p ~p ~p~n',[Tok,Pos,CatAtom]).
printCat(Rule,Stream):-
( Rule = tc(_,_,Tree)
Index: src/data/italian/prolog/printError.pl
===================================================================
--- src/data/italian/prolog/printError.pl (revision 2527)
+++ src/data/italian/prolog/printError.pl (working copy)
@@ -12,4 +12,4 @@
error(Format,Arg,Stream):-
write(Stream,'ERROR: '),
- format(Stream,Format,Arg).
+ 'format'(Stream,Format,Arg).
Index: src/data/italian/prolog/printTUT.pl
===================================================================
--- src/data/italian/prolog/printTUT.pl (revision 2527)
+++ src/data/italian/prolog/printTUT.pl (working copy)
@@ -3,14 +3,14 @@
/* --------------------------------------------------------------------------
Tab Length
--------------------------------------------------------------------------- */
+---- */
tablength(4).
/* --------------------------------------------------------------------------
Print Tree
--------------------------------------------------------------------------- */
+---- */
printTUT(X,Stream):- printTUT(X,0,Stream), nl(Stream).
@@ -46,7 +46,7 @@
/* --------------------------------------------------------------------------
Print Branches
--------------------------------------------------------------------------- */
+---- */
printTUTs([],_,_):- !.
printTUTs([X|L],Tab,Stream):- printTUT(X,Tab,Stream), !, printTUTs(L,Tab,Stream).
@@ -54,7 +54,7 @@
/* --------------------------------------------------------------------------
Length Tree
--------------------------------------------------------------------------- */
+---- */
lenTUT(X,N):- lenTUT(X,0,N).
@@ -73,14 +73,14 @@
/* --------------------------------------------------------------------------
Length of Branches
--------------------------------------------------------------------------- */
+---- */
lenTUTs([],N,N):- !.
lenTUTs([X|L],N1,N3):- lenTUT(X,N1,N2), !, lenTUTs(L,N2,N3).
/* --------------------------------------------------------------------------
Deciding whether it is a token
--------------------------------------------------------------------------- */
+---- */
token(Atom,N1,N2):-
atom(Atom),
Index: src/data/italian/prolog/printTree.pl
===================================================================
--- src/data/italian/prolog/printTree.pl (revision 2527)
+++ src/data/italian/prolog/printTree.pl (working copy)
@@ -4,7 +4,7 @@
/* --------------------------------------------------------------------------
Main Predicate
--------------------------------------------------------------------------- */
+---- */
printBin(Tree,Stream):-
printTree(Tree,[],Stream),
@@ -13,14 +13,14 @@
/* --------------------------------------------------------------------------
Tab Length
--------------------------------------------------------------------------- */
+---- */
tablength(4).
/* --------------------------------------------------------------------------
Print Tree
--------------------------------------------------------------------------- */
+---- */
printTree(single(A),Tabs,Stream):- !,
line(Tabs,Stream), write(Stream,A), nl(Stream).
@@ -115,7 +115,7 @@
/* --------------------------------------------------------------------------
Print Line
--------------------------------------------------------------------------- */
+---- */
line([],_):- !.
@@ -132,7 +132,7 @@
/* --------------------------------------------------------------------------
Print Tabs
--------------------------------------------------------------------------- */
+---- */
tabs([],_):- !.
tabs(L,Stream):- reverse(L,R), tabs2(R,Stream).
Index: src/data/italian/prolog/tut2ccg.pl
===================================================================
--- src/data/italian/prolog/tut2ccg.pl (revision 2527)
+++ src/data/italian/prolog/tut2ccg.pl (working copy)
@@ -1,6 +1,6 @@
/* --------------------------------------------------------------------------
Importing other modules
--------------------------------------------------------------------------- */
+---- */
:- use_module(binarise,[binarise/3]).
:- use_module(ccg,[ccg/2]).
@@ -11,13 +11,13 @@
/* --------------------------------------------------------------------------
Dynamic Predicates
--------------------------------------------------------------------------- */
+---- */
:- dynamic switch/2.
/* --------------------------------------------------------------------------
Switches (yes/no)
--------------------------------------------------------------------------- */
+---- */
switch(tut,no). % print TUT tree
switch(bin,no). % print binary tree
@@ -32,7 +32,7 @@
/* --------------------------------------------------------------------------
Exceptions (do not try to process these yet)
--------------------------------------------------------------------------- */
+---- */
dont('ALB-100'). % wrong attachment
dont('ALB-245'). % coordination problem
@@ -71,7 +71,7 @@
/* --------------------------------------------------------------------------
Process all TUT derivations
--------------------------------------------------------------------------- */
+---- */
alltut(Stream):-
switch(sort,no),
@@ -92,20 +92,20 @@
/* --------------------------------------------------------------------------
Process one TUT tree
--------------------------------------------------------------------------- */
+---- */
processTree(Name,Type,TUT,Stream):-
increase(tree), % update counter
( switch(tut,yes),
- format(Stream,'%%%% ~p~n',[Name]), % print TUT format
+ 'format'(Stream,'%%%% ~p~n',[Name]), % print TUT 'format'
printTUT(Type:TUT,Stream)
; \+ switch(tut,yes) ),
binarise(TUT,Name,Tree), % binarise the TUT tree
increase(bin), % update counter
( switch(bin,yes),
- format(Stream,'%%%% ~p~n',[Name]), % print binary tree
+ 'format'(Stream,'%%%% ~p~n',[Name]), % print binary tree
printBin(Type:Tree,Stream)
; \+ switch(bin,yes) ),
@@ -124,19 +124,19 @@
; \+ switch(pro,yes) ), % print CCG (prolog)
( switch(ccg,yes),
- format(Stream,'%%%% ~p~n',[Name]),
+ 'format'(Stream,'%%%% ~p~n',[Name]),
printCCG(CCG,Stream)
; \+ switch(ccg,yes) ), % print CCG derivation
( switch(lex,yes),
- format(Stream,'%%%% ~p~n',[Name]),
+ 'format'(Stream,'%%%% ~p~n',[Name]),
printTokCat(CCG,Stream)
; \+ switch(lex,yes) ). % print lexicon
/* --------------------------------------------------------------------------
Sorted on sentence length (wrapper)
--------------------------------------------------------------------------- */
+---- */
sortbank(Stream):-
switch(sort,yes), !,
@@ -147,7 +147,7 @@
/* --------------------------------------------------------------------------
Sorted on sentence length
--------------------------------------------------------------------------- */
+---- */
sortbank(N,Stream):-
tut(_,_,Name,_,Type:TUT), % get a constituent tree
@@ -161,7 +161,7 @@
% ccg(Type:Tree,CCGTemp), % convert it into a CCG derivation
% pp(CCGTemp,CCG), % apply post-processing
% increase(ccg), % update counter
-% format(Stream,'%%%% ~p~n',[Name]),
+% 'format'(Stream,'%%%% ~p~n',[Name]),
% printCCG(CCG,Stream),
sortbank(N,Stream):-
@@ -176,7 +176,7 @@
/* --------------------------------------------------------------------------
Stats
--------------------------------------------------------------------------- */
+---- */
stats(Stream):-
write(Stream,'Statistics'), nl(Stream),
@@ -191,7 +191,7 @@
/* --------------------------------------------------------------------------
File handling
--------------------------------------------------------------------------- */
+---- */
output(Command,user_output):-
parseCommand(Command,[File]), !,
@@ -204,7 +204,7 @@
/* --------------------------------------------------------------------------
Main Predicate
--------------------------------------------------------------------------- */
+---- */
run:-
prolog_flag(argv,Command),
@@ -217,14 +217,14 @@
/* --------------------------------------------------------------------------
Parse Command
--------------------------------------------------------------------------- */
+---- */
parseCommand([_,'-c',_Comm|Options],Files):- parseOptions(Options,Files), !.
parseCommand([_,_,'-c',_Comm|Options],Files):- parseOptions(Options,Files), !.
/* --------------------------------------------------------------------------
Parse Options
--------------------------------------------------------------------------- */
+---- */
parseOptions([],[]).
@@ -267,7 +267,7 @@
/* --------------------------------------------------------------------------
Counting
--------------------------------------------------------------------------- */
+---- */
:- dynamic counter/2.
@@ -283,7 +283,7 @@
/* --------------------------------------------------------------------------
Starting
--------------------------------------------------------------------------- */
+---- */
:- run, halt.
Index: src/data/vpe/annotate.pl
===================================================================
--- src/data/vpe/annotate.pl (revision 2527)
+++ src/data/vpe/annotate.pl (working copy)
@@ -213,7 +213,7 @@
append(ConVPAC,[32|Temp11],Temp10), !, atom_codes(ConVPA,ConVPAC),
append(RelVPAC,[32|ContextC],Temp11), !, atom_codes(RelVPA,RelVPAC),
atom_codes(Context,ContextC),
- format('~p ~p ~p ~p ~p ~p ~p ~p~n',[File,LinVPE,BegVPE,EndVPE,LinVPA,BegVPA,EndVPA,AuxVPA]),
+ 'format'('~p ~p ~p ~p ~p ~p ~p ~p~n',[File,LinVPE,BegVPE,EndVPE,LinVPA,BegVPA,EndVPA,AuxVPA]),
assert(vpe(File,LinVPE,BegVPE,EndVPE,LinVPA,BegVPA,EndVPA,AuxVPA,TypVPA,ConVPA,RelVPA,Context)).
processAnn(_).
@@ -349,7 +349,7 @@
context_window(CW),
Tab is ((CW+3)-P5),
tab(CW), tab(3), printN(Len,'v'), nl,
- tab(Tab), format('~p~n',[C]),
+ tab(Tab), 'format'('~p~n',[C]),
tab(CW), tab(3), printN(Len,'^'), nl,
ask(F,N,P1,P2,Aux,C,S,Id,Next), !,
ask(Next).
@@ -427,13 +427,13 @@
output(99,F,_,_,_,_,_,S,I,I):- !,
write(check),nl,nl,
- format('~s~n~n',[S]),
+ 'format'('~s~n~n',[S]),
check_file(File),
open(File,append,Stream,[encoding(utf8)]),
ptb(PTB),
wsj(Section),
- format(Stream,'---~nFile: ~p/~p/~p~n',[PTB,Section,F]),
- format(Stream,'~s~n',[S]),
+ 'format'(Stream,'---~nFile: ~p/~p/~p~n',[PTB,Section,F]),
+ 'format'(Stream,'~s~n',[S]),
close(Stream).
output(100,_,_,_,_,_,_,_,I,I):- !,
@@ -470,7 +470,7 @@
results(Stream):-
vpe(A,B,C,D,E,F,G,H,I,J,K,L),
- format(Stream,'~p ~p ~p ~p ~p ~p ~p ~p ~p ~p ~p ~p~n',[A,B,C,D,E,F,G,H,I,J,K,L]),
+ 'format'(Stream,'~p ~p ~p ~p ~p ~p ~p ~p ~p ~p ~p ~p~n',[A,B,C,D,E,F,G,H,I,J,K,L]),
fail.
results(_).
Index: src/data/vpe/antecedent.pl
===================================================================
--- src/data/vpe/antecedent.pl (revision 2527)
+++ src/data/vpe/antecedent.pl (working copy)
@@ -149,7 +149,7 @@
lastid(Last),
lines(VPL,F,Lines),
nl,nl,write('======= '),write(Id),write('/'),write(Last),write(' ======= '),
- format('~p~n',[S]),
+ 'format'('~p~n',[S]),
displayLines(Lines,F,AL,AP1,AP2),
ask(Id,Lines,Next), !,
ask(Next).
@@ -376,7 +376,7 @@
results(Stream):-
vpe(_,A,B,C,D,E,F,G,H,I,J,K,L),
- format(Stream,'~p ~p ~p ~p ~p ~p ~p ~p ~p ~p ~p ~p~n',[A,B,C,D,E,F,G,H,I,J,K,L]),
+ 'format'(Stream,'~p ~p ~p ~p ~p ~p ~p ~p ~p ~p ~p ~p~n',[A,B,C,D,E,F,G,H,I,J,K,L]),
fail.
results(_).
Index: src/data/vpe/eval.pl
===================================================================
--- src/data/vpe/eval.pl (revision 2527)
+++ src/data/vpe/eval.pl (working copy)
@@ -9,7 +9,7 @@
/* =======================================================================
Consulting gold standard
-========================================================================*/
+*/
:- ['working/wsj/vpe00.pl'].
@@ -135,7 +135,7 @@
/* -----------------------------------------------------------------------------
VPE
------------------------------------------------------------------------------ */
+------- */
detect_vpe(Words,Corpus,ID,DRS,Str):-
member(_:VPEInd:pred(E1,do,vpe,1),DRS),
@@ -182,7 +182,7 @@
Position is mod(VPE,1000),
Sentence is (VPE-Position)/1000,
write(Stream,'
'),
- format(Stream,'~p ~p ',[Corpus,ID]),
+ 'format'(Stream,'~p ~p ',[Corpus,ID]),
assert(found_vpe(Corpus,Sentence,Position,Type)),
correct(Corpus,Sentence,Position,Stream,Result,GoldAnt),
evalAntecedent([ABeg,AEnd],GoldAnt,Stream),
@@ -194,7 +194,7 @@
Position is mod(VPE,1000),
Sentence is (VPE-Position)/1000,
write(Stream,' '),
- format(Stream,'~p ~p ',[Corpus,ID]),
+ 'format'(Stream,'~p ~p ',[Corpus,ID]),
assert(found_vpe(Corpus,Sentence,Position,Type)),
correct(Corpus,Sentence,Position,Stream,Result,GoldAnt),
evalAntecedent([],GoldAnt,Stream),
@@ -213,7 +213,7 @@
ant_beg(Id,Corpus,SenBegAnt,PosBegAnt), BegAnt is (SenBegAnt*1000)+PosBegAnt,
ant_end(Id,Corpus,SenEndAnt,PosEndAnt), EndAnt is (SenEndAnt*1000)+PosEndAnt,
Gold = [BegAnt,EndAnt],
- format(Stream,'R ',[]).
+ 'format'(Stream,'R ',[]).
correct(_,_,_,Stream,w,[]):-
write(Stream,'W ').
@@ -265,11 +265,11 @@
N2 is N1 + 1,
assert(acc_ant(Total2,Total4,N2)),
-% format(Stream,'~p P:~p R:~p F:~p (Found:~p Gold:~p Correct:~p) ',[Result,Precision,Recall,Fscore,NFound,NGold,NCorrect]).
- format(Stream,' ~p ~p ',[Result,Fscore]).
+% 'format'(Stream,' ~p P:~p R:~p F:~p (Found:~p Gold:~p Correct:~p) ',[Result,Precision,Recall,Fscore,NFound,NGold,NCorrect]).
+ 'format'(Stream,' ~p ~p ',[Result,Fscore]).
evalAntecedent(_Found,_Gold,Stream):-
- format(Stream,' - - ',[]).
+ 'format'(Stream,' - - ',[]).
/* =======================================================================
@@ -325,7 +325,7 @@
( \+ (Precision = 0, Recall = 0), FScore is (2 * Precision * Recall)/(Precision + Recall)
; Precision = 0, Recall = 0, FScore = 0 ),
- format(Stream,' ~p ~f (~p/~p) ~f (~p/~p) ~f ~n',[Type,Recall,CorrectVPEFound,AllVPEInTest,Precision,CorrectVPEFound,AllVPEFound,FScore]),
+ 'format'(Stream,'~p ~f (~p/~p) ~f (~p/~p) ~f ~n',[Type,Recall,CorrectVPEFound,AllVPEInTest,Precision,CorrectVPEFound,AllVPEFound,FScore]),
results_by_type(L,Stream).
@@ -358,7 +358,7 @@
( \+ (Precision = 0, Recall = 0), FScore is (2 * Precision * Recall)/(Precision + Recall);
Precision = 0, Recall = 0, FScore = 0 ),
- format(Stream,'~p ~p (~p/~p) ~p (~p/~p) ~p ~n',
+ 'format'(Stream,'~p ~p (~p/~p) ~p (~p/~p) ~p ~n',
['Total',Recall,CorrectVPEFound,AllVPEInTest,Precision,CorrectVPEFound,AllVPEFound,FScore]),
write(Stream,'Average accuracy (~p/~p): ~f~n',[AccTotal,AccN,AveAcc]),
- format(Stream,'Average F-score (~p/~p): ~f
~n',[AccF,AccN,AveF]).
+ 'format'(Stream,'Average accuracy (~p/~p): ~f
~n',[AccTotal,AccN,AveAcc]),
+ 'format'(Stream,'Average F-score (~p/~p): ~f
~n',[AccF,AccN,AveF]).
/* =======================================================================
@@ -384,7 +384,7 @@
printVPE([word(Index,Word)|L],VPE,Res,Gold,Stream):-
VPE = [Index|_], !,
( Res=r, Col=blue, !; Res=m, Col=orange, !; Col=red ),
- format(Stream,'',[Col]),
+ 'format'(Stream,'',[Col]),
write(Stream,Word),
write(Stream,' '),
printVPE(L,VPE,Res,Gold,Stream).
@@ -471,14 +471,14 @@
sem(SemID,Words,_,_,_),
id(ID,SemID),
member(word(VPEIndex,_),Words), !,
- format(Stream,'~p ~p M - - ',[Corpus,ID]),
+ 'format'(Stream,' ~p ~p M - - ',[Corpus,ID]),
printVPE(Words,[VPEIndex],m,[],Stream),
write(Stream,' '),
nl(Stream),
missing2(L,Stream).
missing2([gold(Corpus,S,P)|L],Stream):-
- format(Stream,'~p ? M - - ~p ~p (no DRS) ~n',[Corpus,S,P]),
+ 'format'(Stream,'~p ? M - - ~p ~p (no DRS) ~n',[Corpus,S,P]),
missing2(L,Stream).
Index: src/data/vpe/transform.pl
===================================================================
--- src/data/vpe/transform.pl (revision 2527)
+++ src/data/vpe/transform.pl (working copy)
@@ -84,7 +84,7 @@
append(ConVPAC,[32|Temp11],Temp10), !, atom_codes(ConVPA,ConVPAC),
append(RelVPAC,[32|ContextC],Temp11), !, atom_codes(RelVPA,RelVPAC),
atom_codes(Context,ContextC),
- format('~p ~p ~p ~p ~p ~p ~p ~p~n',[File,LinVPE,BegVPE,EndVPE,LinVPA,BegVPA,EndVPA,AuxVPA]),
+ 'format'('~p ~p ~p ~p ~p ~p ~p ~p~n',[File,LinVPE,BegVPE,EndVPE,LinVPA,BegVPA,EndVPA,AuxVPA]),
assert(vpe(File,LinVPE,BegVPE,EndVPE,LinVPA,BegVPA,EndVPA,AuxVPA,TypVPA,ConVPA,RelVPA,Context)).
processAnn(_).
@@ -163,7 +163,7 @@
results(Stream):-
new_vpe(A,B,C,D,E,F,G,H,I,J),
- format(Stream,'~p ~p ~p ~p ~p ~p ~p ~p ~p ~p~n',[A,B,C,D,E,F,G,H,I,J]),
+ 'format'(Stream,'~p ~p ~p ~p ~p ~p ~p ~p ~p ~p~n',[A,B,C,D,E,F,G,H,I,J]),
fail.
results(_).
Index: src/data/vpe/type.pl
===================================================================
--- src/data/vpe/type.pl (revision 2527)
+++ src/data/vpe/type.pl (working copy)
@@ -240,7 +240,7 @@
lines(VPL,F,Lines),
nl, nl, write('======= '),write(Id),write('/'),write(Last),write(' ======= '), nl,
at(AT,_,ATyp), ct(CT,_,CTyp), dr(DR,_,DRel),
- format('[Antecedent: ~p]~n[Connector: ~p]~n[Relation: ~p]~n',[ATyp,CTyp,DRel]),
+ 'format'('[Antecedent: ~p]~n[Connector: ~p]~n[Relation: ~p]~n',[ATyp,CTyp,DRel]),
write('============== '), nl,
Inserts = [i(AL,AP1),j(AL,AP2),i(VPL,VP1),j(VPL,VP2)],
displayLines(Lines,F,Inserts),
@@ -500,7 +500,7 @@
results(Id,Stream):-
vpe(Id,A,B,C,D,E,F,G,H,I,J,K,L), !,
- format(Stream,'~p ~p ~p ~p ~p ~p ~p ~p ~p ~p ~p ~p~n',[A,B,C,D,E,F,G,H,I,J,K,L]),
+ 'format'(Stream,'~p ~p ~p ~p ~p ~p ~p ~p ~p ~p ~p ~p~n',[A,B,C,D,E,F,G,H,I,J,K,L]),
NewId is Id + 1,
results(NewId,Stream).
Index: src/prolog/boxer/alphaConversionDRT.pl
===================================================================
--- src/prolog/boxer/alphaConversionDRT.pl (revision 2527)
+++ src/prolog/boxer/alphaConversionDRT.pl (working copy)
@@ -8,7 +8,7 @@
/*========================================================================
Alpha Conversion (introducing substitutions)
-========================================================================*/
+*/
alphaConvertDRS(B1,B2):-
alphaConvertDRS(B1,[]-_,[]-_,B2), !.
@@ -16,7 +16,7 @@
/*========================================================================
Variable
-========================================================================*/
+*/
variable(X):- var(X), !.
variable(X):- functor(X,'$VAR',1), !.
@@ -24,7 +24,7 @@
/*========================================================================
Alpha Conversion (terms)
-========================================================================*/
+*/
alphaConvertVar(X,Vars,New):-
variable(X), !,
@@ -41,7 +41,7 @@
/*========================================================================
Alpha Conversion (symbols)
-========================================================================*/
+*/
alphaConvertSym(f(_,_,V),_,Ptr-Ptr,V):- atomic(V), !.
@@ -55,7 +55,7 @@
/*========================================================================
Alpha Conversion (DRSs)
-========================================================================*/
+*/
alphaConvertDRS(X1,Var-Var,Ptr-Ptr,X2):-
variable(X1), !,
@@ -115,7 +115,7 @@
/*========================================================================
Alpha Conversion (DRS-Conditions)
-========================================================================*/
+*/
alphaConvertCondition(nec(B1),Vars,Ptr,nec(B2)):- !,
alphaConvertDRS(B1,Vars-_,Ptr,B2).
@@ -182,7 +182,7 @@
/*========================================================================
Eta Conversion (DRSs)
-========================================================================*/
+*/
etaConversion(Var,Var):- var(Var), !, fail.
etaConversion(Sym,Sym):- atomic(Sym).
@@ -193,7 +193,7 @@
/*========================================================================
Function Interpretation: NN
-========================================================================*/
+*/
interpretFunction(f(noun,_,Sym),Sym):-
option('--nn',false), !, Sym = of.
Index: src/prolog/boxer/betaConversionDRT.pl
===================================================================
--- src/prolog/boxer/betaConversionDRT.pl (revision 2527)
+++ src/prolog/boxer/betaConversionDRT.pl (working copy)
@@ -8,7 +8,7 @@
/* ========================================================================
Beta-Conversion (introducing stack)
-======================================================================== */
+*/
betaConvert(X,Y):- betaConvert(X,Y,[]), !.
@@ -17,7 +17,7 @@
/* ========================================================================
Beta-Conversion (core stuff)
-======================================================================== */
+*/
betaConvert(X,Y,[]):- var(X), !, Y=X.
@@ -72,7 +72,7 @@
/* ========================================================================
Beta-Convert DRS Conditions
-======================================================================== */
+*/
betaConvertConditions([],[]).
@@ -83,7 +83,7 @@
/* ========================================================================
Beta-Convert DRS Condition
-======================================================================== */
+*/
betaConvertCond(not(A1),not(B1)):- !, betaConvert(A1,B1).
betaConvertCond(pos(A1),pos(B1)):- !, betaConvert(A1,B1).
@@ -97,7 +97,7 @@
/* ========================================================================
Wrapping arguments from stack
-======================================================================== */
+*/
wrapArguments([],X,X).
Index: src/prolog/boxer/bindingViolation.pl
===================================================================
--- src/prolog/boxer/bindingViolation.pl (revision 2527)
+++ src/prolog/boxer/bindingViolation.pl (working copy)
@@ -7,7 +7,7 @@
/*========================================================================
Succeeds if there is no binding violation in a DRS
-========================================================================*/
+*/
noBindingViolationDrs(B):- bindingViolationDrs(B), !, fail.
noBindingViolationDrs(_).
@@ -15,7 +15,7 @@
/*========================================================================
Succeeds if there is a binding violation in a DRS
-========================================================================*/
+*/
bindingViolationDrs(sdrs([B|_],_)):- bindingViolationDrs(B), !.
bindingViolationDrs(sdrs([_|L],R)):- !, bindingViolationDrs(sdrs(L,R)).
@@ -39,7 +39,7 @@
/*========================================================================
Succeeds if there is a binding violation in a set of DRS condition
-========================================================================*/
+*/
bindingViolationConds(Conds):-
member(_:_:role(E1,X1,Role1,1),Conds),
@@ -66,7 +66,7 @@
/*========================================================================
Succeeds if there is a binding violation in a DRS condition
-========================================================================*/
+*/
bindingViolationCond(not(drs([],[_:_:eq(X,Y)]))):- !, X==Y.
Index: src/prolog/boxer/boxer.pl
===================================================================
--- src/prolog/boxer/boxer.pl (revision 2527)
+++ src/prolog/boxer/boxer.pl (working copy)
@@ -3,17 +3,21 @@
/*========================================================================
File Search Paths
-========================================================================*/
+*/
-file_search_path(semlib, 'src/prolog/lib').
-file_search_path(boxer, 'src/prolog/boxer').
-file_search_path(knowledge, 'src/prolog/boxer/knowledge').
-file_search_path(lex, 'src/prolog/boxer/lex').
+user:file_search_path(semlib, 'src/prolog/lib').
+user:file_search_path(boxer, 'src/prolog/boxer').
+user:file_search_path(knowledge, 'src/prolog/boxer/knowledge').
+user:file_search_path(lex, 'src/prolog/boxer/lex').
+user:file_search_path(semlib, 'candc/src/prolog/lib').
+user:file_search_path(boxer, 'candc/src/prolog/boxer').
+user:file_search_path(knowledge, 'candc/src/prolog/boxer/knowledge').
+user:file_search_path(lex, 'candc/src/prolog/boxer/lex').
/*========================================================================
Load other libraries
-========================================================================*/
+*/
:- use_module(library(lists),[member/2,select/3]).
@@ -42,12 +46,13 @@
loadKnowledge:-
loadRelations.
-========================================================================*/
+*/
+
/*========================================================================
Main
-========================================================================*/
+*/
box(_,_):-
option(Option,do),
@@ -66,8 +71,13 @@
printFooter(Stream),
close(Stream), !,
reportEval.
-
+
box(_,_):-
+ option(Option,do),
+ member(Option,['--toploop','--loaded']), !,
+ prolog.
+
+box(_,_):-
setOption(boxer,'--help',do), !,
help.
@@ -195,7 +205,7 @@
/* =======================================================================
Output Semantic Representation
-========================================================================*/
+*/
outputSem(Stream,Id,Index,XDRS0):-
% eqDrs(XDRS0,XDRS1),
@@ -206,23 +216,23 @@
/* =======================================================================
Version
-========================================================================*/
+*/
version:-
option('--version',do), !,
version(V),
- format(user_error,'~p~n',[V]).
+ 'format'(user_error,'~p~n',[V]).
version.
/* =======================================================================
Help
-========================================================================*/
+*/
help:-
option('--help',do), !,
- format(user_error,'usage: boxer [options]~n~n',[]),
+ 'format'(user_error,'usage: boxer [options]~n~n',[]),
showOptions(boxer).
help:-
@@ -231,7 +241,7 @@
/* =======================================================================
Definition of start
-========================================================================*/
+*/
start:-
current_prolog_flag(argv,[Comm|Args]),
Index: src/prolog/boxer/categories.pl
===================================================================
--- src/prolog/boxer/categories.pl (revision 2527)
+++ src/prolog/boxer/categories.pl (working copy)
@@ -17,7 +17,7 @@
/* -------------------------------------------------------------------------
Accessing Attributes
-------------------------------------------------------------------------- */
+--- */
att([],sense,0):- !.
att([],namex,'O'):- !.
@@ -28,7 +28,7 @@
/* -------------------------------------------------------------------------
Word Senses
-------------------------------------------------------------------------- */
+--- */
sense(_Sym,_Cat,Sense,A-A):- att(A,sense,Sense), \+ Sense = 0, !.
sense(_Sym,_Cat,Sense,A-[sense:Sense|A]):- Sense = 1.
@@ -36,7 +36,7 @@
/* -------------------------------------------------------------------------
Relations
-------------------------------------------------------------------------- */
+--- */
rel(_,Att-Att,Rel):- att(Att,relation,Rel), \+ Rel=unknown, !.
rel(Rel,Att-[relation:Rel|Att],Rel).
@@ -44,7 +44,7 @@
/* -------------------------------------------------------------------------
Thematic Roles introduced by PPs
-------------------------------------------------------------------------- */
+--- */
roles(_,((s:X\np)\(s:X\np))/np,Roles,A-A):- option('--roles',verbnet), att(A,verbnet,Roles), \+ Roles=[], !.
roles(by,((s:X\np)\(s:X\np))/np,Roles,A-[verbnet:Roles|A]):- option('--roles',verbnet), !, Roles = ['Agent'].
@@ -54,7 +54,7 @@
/* -------------------------------------------------------------------------
Thematic Roles: passive
-------------------------------------------------------------------------- */
+--- */
roles(Verb,(s:pss\np)/np,[Role1,Role2],A):- roles(Verb,((s:dcl\np)/np)/np,[Role1,Role2,_],A), !.
roles(Verb,(s:pss\np)/s:M,[Role1,Role2],A):- roles(Verb,((s:dcl\np)/s:M)/np,[Role1,Role2,_],A), !.
@@ -65,7 +65,7 @@
/* -------------------------------------------------------------------------
Thematic Roles: standard case
-------------------------------------------------------------------------- */
+--- */
roles(_,_,Roles,A-A):- option('--roles',verbnet), att(A,verbnet,Roles), \+ Roles=[], !.
roles(Verb,Cat,Roles,A-[verbnet:Roles|A]):- option('--roles',verbnet), verbnet(Verb,Cat,Roles), !.
@@ -74,7 +74,7 @@
/* -------------------------------------------------------------------------
Thematic Roles: fall-back rules
-------------------------------------------------------------------------- */
+--- */
roles(Verb,(s:M\np)\np,Roles,A):- !, roles(Verb,(s:M\np)/np,Roles,A).
roles(Verb,s:inv/np,Roles,A):- !, roles(Verb,s:dcl\np,Roles,A).
@@ -90,7 +90,7 @@
/* -------------------------------------------------------------------------
Thematic Roles: no roles could be assigned
-------------------------------------------------------------------------- */
+--- */
roles(Verb,Cat,Roles,A-A):-
warning('role assignment failure for ~p with category ~p',[Verb,Cat]),
@@ -99,7 +99,7 @@
/* -------------------------------------------------------------------------
Proto (roles are listed in the order of arguments, not surface order!)
-------------------------------------------------------------------------- */
+--- */
proto(_, s:adj\np, [topic]):- !.
proto(_, (s:adj\np)\np, [theme,topic]):- !.
@@ -142,7 +142,7 @@
/* -------------------------------------------------------------------------
Category Types: np V (intransitive verbs)
-------------------------------------------------------------------------- */
+--- */
category_type(s:adj\np,_Verb,npV,[],adj):- !.
category_type(s:pss\np,Verb,npV,Roles,pss):- !, roles2(npVnp,Verb,[_|Roles]).
@@ -151,14 +151,14 @@
/* -------------------------------------------------------------------------
Category Types: np V prep (phrasal verbs)
-------------------------------------------------------------------------- */
+--- */
category_type((s:pss\np)/(pp/np),_,npVprep,[],pss):- !.
/* -------------------------------------------------------------------------
Category Types: np V np (transitive verbs)
-------------------------------------------------------------------------- */
+--- */
category_type((s:adj\np)/np,_,npVnp,[],adj):- !.
category_type((s:adj\np)\np,_,npVnp,[],adj):- !.
@@ -173,7 +173,7 @@
/* -------------------------------------------------------------------------
Category Types: np V pp
-------------------------------------------------------------------------- */
+--- */
category_type((s:adj\np)/pp,_,npVpp,[theme],adj):- !.
category_type((s:pss\np)/pp,Verb,npVpp,[Role],pss):- !, roles2(npVnppp,Verb,[_,Role|_]).
@@ -183,14 +183,14 @@
/* -------------------------------------------------------------------------
Category Types: np V s
-------------------------------------------------------------------------- */
+--- */
category_type((s:M\np)/s:_,Verb,Cat,Roles,M):- !, Cat = npVs, roles2(Cat,Verb,Roles).
category_type(((s:M\np)/s:_)/pp,Verb,Cat,[R1,R2],M):- !, Cat = npVpps, roles2(Cat,Verb,[R1,_,R2]).
/* -------------------------------------------------------------------------
Category Types: s V np
-------------------------------------------------------------------------- */
+--- */
category_type((s:M\s:_)\np,Verb,Cat,Roles,M):- !, Cat = sVnp, roles2(Cat,Verb,Roles).
category_type((s:M\s:_)/np,Verb,Cat,Roles,M):- !, Cat = sVnp, roles2(Cat,Verb,Roles).
@@ -199,7 +199,7 @@
/* -------------------------------------------------------------------------
Category Types: vp V np
-------------------------------------------------------------------------- */
+--- */
category_type((s:dcl\(s:_\np))/np,Verb,Cat,Roles,dcl):- !, Cat = vpVnp, roles2(Cat,Verb,Roles).
category_type((s:dcl\(s:_\np))\np,Verb,Cat,Roles,dcl):- !, Cat = vpVnp, roles2(Cat,Verb,Roles).
@@ -207,7 +207,7 @@
/* -------------------------------------------------------------------------
Category Types: pp V np
-------------------------------------------------------------------------- */
+--- */
category_type((s:pss\pp)/np,Verb,ppVnp,[Role],pss):- !, roles2(npVppnp,Verb,[_,_,Role]).
category_type((s:M\pp)/np,Verb,Cat,[Role],M):- !, Cat = ppVnp, roles2(Cat,Verb,[_,Role]).
@@ -215,7 +215,7 @@
/* -------------------------------------------------------------------------
Category Types: np V np np (ditransitive verbs)
-------------------------------------------------------------------------- */
+--- */
category_type(((s:q/np)/np)/np,Verb,Cat,[R2,R1|Roles],q):- !, Cat = npVnpnp, roles2(Cat,Verb,[R1,R2|Roles]).
category_type(((s:M\np)/np)/np,Verb,Cat,Roles,M):- !, Cat = npVnpnp, roles2(Cat,Verb,Roles).
@@ -223,7 +223,7 @@
/* -------------------------------------------------------------------------
Category Types: np V np pp
-------------------------------------------------------------------------- */
+--- */
category_type(((s:adj\np)/pp)/np,_,npVnppp,[],adj):- !.
category_type(((s:q/np)/pp)/np,Verb,Cat,[Role2,Role1],q):- !, Cat = npVnppp, roles2(Cat,Verb,[Role1,Role2|_]).
@@ -232,7 +232,7 @@
/* -------------------------------------------------------------------------
Category Types: np V pp np
-------------------------------------------------------------------------- */
+--- */
category_type(((s:adj\np)/np)/pp,_,npVppnp,[],adj):- !.
category_type(((s:adj\np)\np)/pp,_,npVppnp,[],adj):- !.
@@ -242,7 +242,7 @@
/* -------------------------------------------------------------------------
Category Types: np V pp pp
-------------------------------------------------------------------------- */
+--- */
category_type(((s:adj\np)/pp)/pp,_,npVpppp,[],adj):- !.
category_type(((s:M\np)/pp)/pp,Verb,Cat,[Role],M):- !, Cat = npVpppp, roles2(Cat,Verb,[Role|_]).
@@ -250,52 +250,52 @@
/* -------------------------------------------------------------------------
Category Types: pp V np np
-------------------------------------------------------------------------- */
+--- */
category_type(((s:M\pp)/np)/np,Verb,Cat,[Role1,Role2],M):- !, Cat = ppVnpnp, roles2(Cat,Verb,[_,Role1,Role2]).
category_type(((s:M/pp)/np)/np,Verb,Cat,[Role1,Role2],M):- !, Cat = ppVnpnp, roles2(Cat,Verb,[_,Role1,Role2]).
/* -------------------------------------------------------------------------
Category Types: pp V np pp
-------------------------------------------------------------------------- */
+--- */
category_type(((s:M\pp)/pp)/np,Verb,Cat,[Role],M):- !, Cat = ppVnppp, roles2(Cat,Verb,[_,Role,_]).
category_type(((s:M/pp)/pp)/np,Verb,Cat,[Role],M):- !, Cat = ppVnppp, roles2(Cat,Verb,[_,Role,_]).
/* -------------------------------------------------------------------------
Category Types: s np V np
-------------------------------------------------------------------------- */
+--- */
category_type(((s:M\s:_)\np)/np,Verb,Cat,Roles,M):- !, Cat = snpVnp, roles2(Cat,Verb,Roles).
/* -------------------------------------------------------------------------
Category Types: np V np q/s
-------------------------------------------------------------------------- */
+--- */
category_type(((s:M\np)/s:qem)/np,Verb,Cat,Roles,M):- !, Cat = npVnpq, roles2(Cat,Verb,Roles).
category_type(((s:M\np)/s:_NQ)/np,Verb,Cat,Roles,M):- !, Cat = npVnps, roles2(Cat,Verb,Roles).
/* -------------------------------------------------------------------------
Category Types: np V vp np
-------------------------------------------------------------------------- */
+--- */
category_type(((s:M\np)/np)/(s:_\np),Verb,Cat,Roles,M):- !, Cat = npVvpnp, roles2(Cat,Verb,Roles).
/* -------------------------------------------------------------------------
Category Types: np V vp pp
-------------------------------------------------------------------------- */
+--- */
category_type(((s:M\np)/pp)/(s:adj\np),Verb,Cat,Roles,M):- !, Cat = npVvppp, roles2(Cat,Verb,Roles).
/* -------------------------------------------------------------------------
Category Types: np V pp vp
-------------------------------------------------------------------------- */
+--- */
category_type(((s:M\np)/(s:adj\np))/pp,Verb,Cat,Roles,M):- !, Cat = npVppvp, roles2(Cat,Verb,Roles).
/* -------------------------------------------------------------------------
Category Types: np V np pp pp
-------------------------------------------------------------------------- */
+--- */
category_type((((s:M\np)/pp)/pp)/np,Verb,Cat,[Role1,Role2],M):- !, Cat = npVnppppp, roles2(Cat,Verb,[Role1,Role2|_]).
category_type((((s:M\np)/pp)/np)/pp,Verb,Cat,[Role1,Role2],M):- !, Cat = npVppnppp, roles2(Cat,Verb,[Role1,Role2|_]).
@@ -304,14 +304,14 @@
/* -------------------------------------------------------------------------
Sentence
-------------------------------------------------------------------------- */
+--- */
category(s, s:X, X).
/* -------------------------------------------------------------------------
Adjectives
-------------------------------------------------------------------------- */
+--- */
category(adj, n/n, _).
category(adj, n\n, _).
@@ -319,7 +319,7 @@
/* -------------------------------------------------------------------------
VP adverbials
-------------------------------------------------------------------------- */
+--- */
category(vpadv, (s:X\np)\(s:X\np), _).
category(vpadv, (s:X\np)/(s:X\np), _).
@@ -327,7 +327,7 @@
/* -------------------------------------------------------------------------
S modifiers
-------------------------------------------------------------------------- */
+--- */
category(smod, s:X/s:X, _).
category(smod, s:X\s:X, _).
@@ -337,7 +337,7 @@
/* -------------------------------------------------------------------------
Complementisers
-------------------------------------------------------------------------- */
+--- */
category(comp, s:poss/s:dcl, _).
@@ -349,7 +349,7 @@
/* -------------------------------------------------------------------------
Subject or Object Control Verbs
-------------------------------------------------------------------------- */
+--- */
%category(socv, ((s:dcl\np)/(s:to\np))/np, [agent,patient], dcl).
%category(socv, ((s:ng\np)/(s:to\np))/np, [agent,patient], ng).
@@ -384,7 +384,7 @@
/* -------------------------------------------------------------------------
Control Verbs
-------------------------------------------------------------------------- */
+--- */
%category(cv, (s:adj\np)/(s:to\np), [agent,theme], _, adj).
%category(cv, (s:adj\np)/(s:ng\np), [agent,theme], _, adj).
Index: src/prolog/boxer/ccg2drs.pl
===================================================================
--- src/prolog/boxer/ccg2drs.pl (revision 2527)
+++ src/prolog/boxer/ccg2drs.pl (working copy)
@@ -29,7 +29,7 @@
/* =========================================================================
Main Predicate
-========================================================================= */
+ */
ccg2drs(L,Ders,_):-
option('--semantics',der), !,
@@ -49,7 +49,7 @@
/* =========================================================================
Build rest of underspecified Semantic Representations
-========================================================================= */
+ */
ccg2drss([],Tags-[],PDRS,_,xdrs(Tags,Sem),_):- !,
semantics(PDRS,Tags,Sem).
@@ -69,7 +69,7 @@
/* =========================================================================
Build syntax-semantics derivations
-========================================================================= */
+ */
ccg2ders([],[],_):- !.
@@ -87,7 +87,7 @@
/* =========================================================================
Build syntax-semantics derivation
-========================================================================= */
+ */
ccg2der(N,der(N,Der),Start,End):-
preferred(N,CCG0),
@@ -103,7 +103,7 @@
/* =========================================================================
Insert DRS
-========================================================================= */
+ */
insertDRS(merge(B1,B2),New,merge(B1,B3)):-
option('--theory',drt), !,
@@ -122,7 +122,7 @@
/* =========================================================================
Build one DRS for derivation N
-========================================================================= */
+ */
build(N,UDRS,Tags,Start,End,der(N,Der)):-
preferred(N,CCG0),
@@ -137,7 +137,7 @@
/* =========================================================================
Analysis failed for derivation N
-========================================================================= */
+ */
noanalysis(N):-
preferred(N,_), !,
@@ -149,7 +149,7 @@
/* =========================================================================
Produce Semantic Representation
-========================================================================= */
+ */
semantics(X,_,Y):-
option('--instantiate',true), option('--semantics',pdrs), !,
@@ -182,7 +182,7 @@
/* -------------------------------------------------------------------------
Forward Application
-------------------------------------------------------------------------- */
+--- */
interpret(fa(Cat,_,Att,W,F1,A1),fa(Cat,Sem,Att,W,D1,D2)):- !,
interpret(F1,D1), topsem(D1,F2),
@@ -192,7 +192,7 @@
/* -------------------------------------------------------------------------
Backward Application
-------------------------------------------------------------------------- */
+--- */
interpret(ba(Cat,_,Att,W,A1,F1),ba(Cat,Sem,Att,W,D1,D2)):- !,
interpret(A1,D1), topsem(D1,A2),
@@ -202,7 +202,7 @@
/* -------------------------------------------------------------------------
Forward Composition
-------------------------------------------------------------------------- */
+--- */
interpret(fc(Cat,_,Att,W,F1,A1),fc(Cat,Sem,Att,W,D1,D2)):- !,
interpret(F1,D1), topsem(D1,F2),
@@ -212,7 +212,7 @@
/* -------------------------------------------------------------------------
Backward Composition
-------------------------------------------------------------------------- */
+--- */
interpret(bc(Cat,_,Att,W,A1,F1),bc(Cat,Sem,Att,W,D1,D2)):- !,
interpret(A1,D1), topsem(D1,A2),
@@ -222,7 +222,7 @@
/* -------------------------------------------------------------------------
Forward Cross Composition
-------------------------------------------------------------------------- */
+--- */
interpret(fxc(Cat,_,Att,W,F1,A1),fxc(Cat,Sem,Att,W,D1,D2)):- !,
interpret(F1,D1), topsem(D1,F2),
@@ -232,7 +232,7 @@
/* -------------------------------------------------------------------------
Backward Cross Composition
-------------------------------------------------------------------------- */
+--- */
interpret(bxc(Cat,_,Att,W,A1,F1),bxc(Cat,Sem,Att,W,D1,D2)):- !,
interpret(A1,D1), topsem(D1,A2),
@@ -242,7 +242,7 @@
/* -------------------------------------------------------------------------
Forward Substitution
-------------------------------------------------------------------------- */
+--- */
interpret(fs(Cat,_,Att,W,F1,A1),fs(Cat,Sem,Att,W,D1,D2)):- !,
interpret(F1,D1), topsem(D1,F2),
@@ -252,7 +252,7 @@
/* -------------------------------------------------------------------------
Backward Substitution
-------------------------------------------------------------------------- */
+--- */
interpret(bs(Cat,_,Att,W,A1,F1),bs(Cat,Sem,Att,W,D1,D2)):- !,
interpret(A1,D1), topsem(D1,A2),
@@ -262,7 +262,7 @@
/* -------------------------------------------------------------------------
Forward Cross Substitution
-------------------------------------------------------------------------- */
+--- */
interpret(fxs(Cat,_,Att,W,F1,A1),fxs(Cat,Sem,Att,W,D1,D2)):- !,
interpret(F1,D1), topsem(D1,F2),
@@ -272,7 +272,7 @@
/* -------------------------------------------------------------------------
Backward Cross Substitution
-------------------------------------------------------------------------- */
+--- */
interpret(bxs(Cat,_,Att,W,A1,F1),bxs(Cat,Sem,Att,W,D1,D2)):- !,
interpret(A1,D1), topsem(D1,A2),
@@ -282,7 +282,7 @@
/* -------------------------------------------------------------------------
Generalised Forward Composition
-------------------------------------------------------------------------- */
+--- */
interpret(gfc(Cat,N,_,Att,W,F1,A1),gfc(Cat,Sem,Att,W,D1,D2)):- !,
interpret(F1,D1), topsem(D1,F2),
@@ -299,7 +299,7 @@
/* -------------------------------------------------------------------------
Generalised Backward Composition
-------------------------------------------------------------------------- */
+--- */
interpret(gbc(Cat,N,_,Att,W,A1,F1),gbc(Cat,Sem,Att,W,D1,D2)):- !,
interpret(A1,D1), topsem(D1,A2),
@@ -316,7 +316,7 @@
/* -------------------------------------------------------------------------
Generalised Forward Cross Composition
-------------------------------------------------------------------------- */
+--- */
interpret(gfxc(Cat,N,_,Att,W,F1,A1),gfxc(Cat,Sem,Att,W,D1,D2)):- !,
interpret(F1,D1), topsem(D1,F2),
@@ -333,7 +333,7 @@
/* -------------------------------------------------------------------------
Generalised Backward Cross Composition
-------------------------------------------------------------------------- */
+--- */
interpret(gbxc(Cat,N,_,Att,W,A1,F1),gbxc(Cat,Sem,Att,W,D1,D2)):- !,
interpret(A1,D1), topsem(D1,A2),
@@ -349,7 +349,7 @@
/* -------------------------------------------------------------------------
Token
-------------------------------------------------------------------------- */
+--- */
%interp(t(Cat,_Word,_,Att,I),Sem,nil):-
% \+ option('--semantics',der),
@@ -366,7 +366,7 @@
/* -------------------------------------------------------------------------
Type Changing Rules
-------------------------------------------------------------------------- */
+--- */
interpret(tc(NewCat,OldCat,_,Att,W,A1),tc(NewCat,OldCat,A3,Att,W,D)):- !,
interpret(A1,D), topsem(D,A2),
@@ -375,7 +375,7 @@
/* -------------------------------------------------------------------------
Type Raising
-------------------------------------------------------------------------- */
+--- */
interpret(ftr(NewCat,OldCat,_,Att,W,A1),ftr(NewCat,OldCat,Sem,Att,W,D)):- !,
interpret(A1,D), topsem(D,A2),
@@ -388,7 +388,7 @@
/* -------------------------------------------------------------------------
Coordination (a la Steedman)
-------------------------------------------------------------------------- */
+--- */
interpret(coord(Cat,_,Att,W,L1,C1,R1),coord(Cat,Sem,Att,W,D1,D2,D3)):- !,
argCard(Cat,N),
@@ -401,7 +401,7 @@
/* -------------------------------------------------------------------------
Apposition (a la Hockenmaier)
-------------------------------------------------------------------------- */
+--- */
interpret(conj(Cat,np,_,Att,W,C1,R1),conj(Cat,np,Sem,Att,W,D1,D2)):-
topcat(C1,conj:app),
@@ -413,7 +413,7 @@
/* -------------------------------------------------------------------------
Dedicated coordination
-------------------------------------------------------------------------- */
+--- */
interpret(conj(Cat,CCat,_,Att,W,C1,R1),conj(Cat,CCat,Sem,Att,W,D1,D2)):-
topcat(C1,conj:CCat),
@@ -425,7 +425,7 @@
/* -------------------------------------------------------------------------
Coordination (a la Hockenmaier)
-------------------------------------------------------------------------- */
+--- */
interpret(conj(Cat,CCat,_,Att,W,C1,R1),conj(Cat,CCat,Sem,Att,W,D1,D2)):- !,
argCard(CCat,N),
@@ -437,7 +437,7 @@
/* -------------------------------------------------------------------------
Warning Messages
-------------------------------------------------------------------------- */
+--- */
interpret(Input,_,_):-
Input = t(Cat,Word,_,Att,Index),
@@ -451,7 +451,7 @@
/* =========================================================================
Semantics for Generalised Rules
-========================================================================= */
+ */
gen(1,F,A,lam(X1,app(F,app(A,X1)))).
gen(2,F,A,lam(X1,lam(X2,app(F,app(app(A,X1),X2))))).
@@ -461,7 +461,7 @@
/*=============================================================
Base Categories
-=============================================================*/
+============================================================ */
base(Cat,Cat,[],1):- !.
@@ -483,4 +483,4 @@
semlex(Cat,_Word,Lemma,Index,Att1-Att2,Sem):-
downcase_atom(Lemma,Sym),
semlex(Cat,Sym,Index,Att1-Att2,Sem).
-========================================================================= */
+ */
Index: src/prolog/boxer/closure.pl
===================================================================
--- src/prolog/boxer/closure.pl (revision 2527)
+++ src/prolog/boxer/closure.pl (working copy)
@@ -9,7 +9,7 @@
/* -------------------------------------------------------------------------
Closure
-------------------------------------------------------------------------- */
+--- */
closure(Cat,Sem,Closed):-
member(Cat,[t:_, t]), !,
Index: src/prolog/boxer/coordination.pl
===================================================================
--- src/prolog/boxer/coordination.pl (revision 2527)
+++ src/prolog/boxer/coordination.pl (working copy)
@@ -4,7 +4,7 @@
/* =========================================================================
Coordination Macros
-========================================================================= */
+ */
coordMacro(N,lam(C,lam(X2,lam(X1,Body)))):-
addLambdas(N,[],C,X2,X1,Body).
@@ -12,7 +12,7 @@
/* =========================================================================
Adding right amount of lambdas
-========================================================================= */
+ */
addLambdas(0,Vars,C,X,Y,lam(A,app(app(C,X1),Y1))):- !,
addApplications([A|Vars],X,Y,X1,Y1).
@@ -23,7 +23,7 @@
/* =========================================================================
Adding right amount of applications
-========================================================================= */
+ */
addApplications([A],X,Y,app(X,A),app(Y,A)):- !.
@@ -33,7 +33,7 @@
/* =========================================================================
Argument Cardinality
-========================================================================= */
+ */
argCard(_:_,C):- !, C = 0.
argCard(X/_,C):- !, argCard(X,N), C is N + 1.
Index: src/prolog/boxer/drs2fdrs.pl
===================================================================
--- src/prolog/boxer/drs2fdrs.pl (revision 2527)
+++ src/prolog/boxer/drs2fdrs.pl (working copy)
@@ -9,14 +9,14 @@
/*========================================================================
Dynamic Predicates
-========================================================================*/
+*/
:- dynamic refcounter/2.
/*========================================================================
Init Counters
-========================================================================*/
+*/
init:-
retractall(refcounter(_,_)),
@@ -34,7 +34,7 @@
/*========================================================================
Main Predicates
-========================================================================*/
+*/
instDrs(B):-
init,
@@ -50,7 +50,7 @@
/*========================================================================
Variable
-========================================================================*/
+*/
avar(Var):- var(Var), !.
avar(Var):- atom(Var), !.
@@ -59,7 +59,7 @@
/*========================================================================
Referent
-========================================================================*/
+*/
ref(Ref,Code):-
var(Ref), !,
@@ -72,7 +72,7 @@
/*========================================================================
Get Index
-========================================================================*/
+*/
getIndex(Sort,X):-
refcounter(Sort,X), !,
@@ -87,7 +87,7 @@
/*========================================================================
Sort Referent: time (116), event (101), proposition (112), entity (120)
-========================================================================*/
+*/
sortref(X,Conds,116):- member(_:_:pred(Y,now,a,1),Conds), X==Y, !.
sortref(X,Conds,116):- member(_:_:rel(_,Y,temp_overlap,1),Conds), X==Y, !.
@@ -109,7 +109,7 @@
/*========================================================================
Instantiating DRSs
-========================================================================*/
+*/
instantDrs(Var):- var(Var), !, ref(Var,102).
@@ -168,7 +168,7 @@
/*========================================================================
Instantiating DRS-Conditions
-========================================================================*/
+*/
instantConds([]).
@@ -184,7 +184,7 @@
/*========================================================================
Instantiating DRS-Condition
-========================================================================*/
+*/
instantCond(imp(A1,A2)):- !, instantDrs(A1), instantDrs(A2).
@@ -205,7 +205,7 @@
/*========================================================================
Eliminate Equality from DRS
-========================================================================*/
+*/
eqDrs(xdrs(Tags,DRS1),xdrs(Tags,DRS2)):-
option('--elimeq',true), !,
@@ -220,7 +220,7 @@
/*========================================================================
Eliminate Equality
-========================================================================*/
+*/
elimEqDrs(Var,Var):- avar(Var), !.
@@ -258,7 +258,7 @@
/*========================================================================
Instantiating DRS-Conditions
-========================================================================*/
+*/
elimEqConds([],[],D,D).
Index: src/prolog/boxer/evaluation.pl
===================================================================
--- src/prolog/boxer/evaluation.pl (revision 2527)
+++ src/prolog/boxer/evaluation.pl (working copy)
@@ -7,14 +7,15 @@
/*========================================================================
Declare Dynamic Predicates
-========================================================================*/
+*/
+:- thread_local attempted/1, completed/1.
:- dynamic attempted/1, completed/1.
/*========================================================================
Initialise
-========================================================================*/
+*/
initEval:-
retractall(attempted(_)),
@@ -25,7 +26,7 @@
/*========================================================================
Increase Completed
-========================================================================*/
+*/
incCompleted:-
retract(completed(Co1)),
@@ -35,7 +36,7 @@
/*========================================================================
Increase Attempted
-========================================================================*/
+*/
incAttempted:-
retract(attempted(Co1)),
@@ -45,15 +46,16 @@
/*========================================================================
Report
-========================================================================*/
+*/
reportEval:-
attempted(At), At > 0, !,
completed(Co),
Percentage is (100*Co/At),
- format(user_error,
+ 'format'(user_error,
'Attempted: ~p. Completed: ~p (~2f%).~n',
- [At,Co,Percentage]).
+ [At,Co,Percentage]),!,
+ ignore((option('--toploop',do),prolog)).
reportEval.
Index: src/prolog/boxer/freeVarCheck.pl
===================================================================
--- src/prolog/boxer/freeVarCheck.pl (revision 2527)
+++ src/prolog/boxer/freeVarCheck.pl (working copy)
@@ -5,7 +5,7 @@
/* ========================================================================
Bound Variable Check (main predicate)
-======================================================================== */
+*/
boundVarCheckContext(Context,ADRS):-
\+ \+ ( numbervars(Context,0,_),
@@ -14,7 +14,7 @@
/* ========================================================================
Bound Variable Check (traversing lists of DRSs, last one most global)
-======================================================================== */
+*/
boundVarDrs([K1:drs(D1,_),K2:B2|L],D2,S,ADRS):- !,
append(D1,D2,D3),
@@ -35,7 +35,7 @@
/* ========================================================================
Adding free pointers to subordination constraints
-======================================================================== */
+*/
freePointers([],_,S,S):- !.
freePointers([X:_:_|L],K,S1,S2):- member(sub(X,_),S1), !, freePointers(L,K,S1,S2).
@@ -46,7 +46,7 @@
/* ========================================================================
A variable is bound if it is not free
-======================================================================== */
+*/
bound(Dom,Sub,ADRS):- \+ free(Dom,Sub,ADRS).
@@ -54,7 +54,7 @@
/* ========================================================================
A variable is free if there is a condition with a variable that is not
in the domain of a super-ordinated DRS
-======================================================================== */
+*/
free(Dom,Sub,_:drs(_,Conds)):-
member(L2:_:Cond,Conds),
@@ -64,7 +64,7 @@
/* ========================================================================
Subordination
-======================================================================== */
+*/
subordinates(L1,L2,_):- L1=L2.
subordinates(L1,L2,S):- member(sub(L1,L2),S).
@@ -73,7 +73,7 @@
/* ========================================================================
Basic Conditions
-======================================================================== */
+*/
drsCondition(X,pred(X,_,_,_)).
drsCondition(X,named(X,_,_,_)).
@@ -89,7 +89,7 @@
/*========================================================================
Free Variable Check (main predicate)
-========================================================================*/
+*/
freeVarCheckDrs(Drs):-
freeVarCheckDrs(Drs,[]-_).
@@ -97,7 +97,7 @@
/*========================================================================
Free Variable Check (DRSs)
-========================================================================*/
+*/
freeVarCheckDrs([],L-L):- !.
@@ -137,7 +137,7 @@
/*========================================================================
Free Variable Check (List of conditions)
-========================================================================*/
+*/
freeVarCheckConds([],_):- !.
@@ -148,7 +148,7 @@
/*========================================================================
Free Variable Check (Conditions)
-========================================================================*/
+*/
freeVarCheckCond(not(B),L):- !,
freeVarCheckDrs(B,L-_).
@@ -203,7 +203,7 @@
/*========================================================================
Check Term
-========================================================================*/
+*/
checkTerm(X,L):- var(X), member(Y,L), X==Y, !.
checkTerm(X,_):- atomic(X), !.
Index: src/prolog/boxer/input.pl
===================================================================
--- src/prolog/boxer/input.pl (revision 2527)
+++ src/prolog/boxer/input.pl (working copy)
@@ -11,7 +11,7 @@
/*========================================================================
Declare Dynamic Predicates
-========================================================================*/
+*/
:- multifile ccg/2, id/2, sem/5, coref/2.
:- discontiguous ccg/2, id/2, sem/5, coref/2.
@@ -23,6 +23,10 @@
------------------------------------------------------------------------*/
openInput:-
+ option('--loaded',do),!,
+ checkInputType.
+
+openInput:-
option('--input',user_input),
option('--stdin',do), !,
prompt(_,''),
@@ -38,7 +42,7 @@
/*========================================================================
Check Input File
-========================================================================*/
+*/
checkInput(File):-
\+ atom(File), !,
@@ -66,7 +70,7 @@
/*========================================================================
Check Input Type
-========================================================================*/
+*/
checkInputType:-
input:ccg(_,_), !,
@@ -112,8 +116,11 @@
------------------------------------------------------------------------*/
preferred(N,CCG):-
- preferred([t:_,s:_,np],N,CCG).
+ preferred([t:_,s:_,np],N,CCG),!.
+preferred(C,CCG):-
+ throw(missing(preferred(C,CCG))).
+
preferred([],N,CCG):-
ccg(N,CCG), !.
@@ -123,3 +130,5 @@
preferred([_|L],N,CCG):-
preferred(L,N,CCG).
+
+
Index: src/prolog/boxer/knowledge/dates.pl
===================================================================
--- src/prolog/boxer/knowledge/dates.pl (revision 2527)
+++ src/prolog/boxer/knowledge/dates.pl (working copy)
@@ -9,7 +9,7 @@
/*========================================================================
Months
-========================================================================*/
+*/
month('january','01').
month('jan','01').
@@ -49,7 +49,7 @@
/*========================================================================
Format Years BD and AD
-========================================================================*/
+*/
yearBC(bc).
yearBC(bce).
@@ -64,7 +64,7 @@
/*========================================================================
Format Years
-========================================================================*/
+*/
year(Atom,Year):-
atom_codes(Atom,[C1,C2,C3,C4]),
@@ -83,7 +83,7 @@
/*========================================================================
Last year
-========================================================================*/
+*/
last_year(Year,Last):-
atom_codes(Year,[Y1,Y2,Y3,Y4]),
@@ -101,7 +101,7 @@
/*========================================================================
Centuries
-========================================================================*/
+*/
century('1st', '00XX').
century('first', '00XX').
@@ -138,7 +138,7 @@
/*========================================================================
Decades
-========================================================================*/
+*/
decade(Date,Decade):-
atom(Date),
@@ -158,7 +158,7 @@
/*========================================================================
Days
-========================================================================*/
+*/
dofm(Day,DID):- number(Day), !, day(Day,DID).
dofm(Day,DID):- atom(Day), day(_,Day), !, DID = Day.
Index: src/prolog/boxer/knowledge/ontology.pl
===================================================================
--- src/prolog/boxer/knowledge/ontology.pl (revision 2527)
+++ src/prolog/boxer/knowledge/ontology.pl (working copy)
@@ -3,7 +3,7 @@
/* -------------------------------------------------------------------------
IS-A links
-------------------------------------------------------------------------- */
+--- */
isa(event,thing).
isa(event,neuter).
@@ -34,7 +34,7 @@
/* -------------------------------------------------------------------------
IS-NOT-A links
-------------------------------------------------------------------------- */
+--- */
isnota(male,female).
isnota(neuter,female).
@@ -70,6 +70,6 @@
/ \
man(m) woman(f)
---------------------------------------------------------------------------- */
+----- */
Index: src/prolog/boxer/lex/determiners.pl
===================================================================
--- src/prolog/boxer/lex/determiners.pl (revision 2527)
+++ src/prolog/boxer/lex/determiners.pl (working copy)
@@ -8,12 +8,12 @@
This file contains the lexical semantic specifications for determiners,
i.e. tokens with CCG category NP/N.
-========================================================================= */
+ */
/* -------------------------------------------------------------------------
Indefinites
-------------------------------------------------------------------------- */
+--- */
semlex_det(Lemma,Index,Att-Att,Sem):-
member(Lemma,[a,an,one,some,few,several]), !,
@@ -24,7 +24,7 @@
/* -------------------------------------------------------------------------
Universally quantifying
-------------------------------------------------------------------------- */
+--- */
semlex_det(Lemma,Index,Att-Att,Sem):-
member(Lemma,[all,each,either,any,every,whichever,whatever]), !,
@@ -35,7 +35,7 @@
/* -------------------------------------------------------------------------
Generalized Quantifiers
-------------------------------------------------------------------------- */
+--- */
semlex_det(Lemma,Index,Att-Att,Sem):-
member(Lemma,[most,two,three]), !,
@@ -46,7 +46,7 @@
/* -------------------------------------------------------------------------
Negation
-------------------------------------------------------------------------- */
+--- */
semlex_det(no,Index,Att-Att,Sem):- !,
Sem = lam(N,lam(P,B1:drs([],[B1:Index:not(merge(B2:drs([B2:Index:X],[]),
@@ -56,7 +56,7 @@
/* -------------------------------------------------------------------------
Definites/Demonstratives
-------------------------------------------------------------------------- */
+--- */
semlex_det(Lemma,Index,Att-Att,Sem):-
member(Lemma,[the,that,this,those,these,both]), !,
@@ -68,7 +68,7 @@
/* -------------------------------------------------------------------------
WH
-------------------------------------------------------------------------- */
+--- */
semlex_det(Lemma,Index,Att-Att,Sem):-
member(Lemma,[which,what]), !,
@@ -80,7 +80,7 @@
/* -------------------------------------------------------------------------
"another"
-------------------------------------------------------------------------- */
+--- */
semlex_det(another,Index,Att-Att,Sem):- !,
goldAntecedent(Index,Att),
@@ -94,7 +94,7 @@
/* -------------------------------------------------------------------------
"neither" (see Heim & Kratzer 1998 p. 154)
-------------------------------------------------------------------------- */
+--- */
semlex_det(neither,Index,Att-Att,Sem):- !,
Sem = lam(N,lam(P,B1:drs([],[B1:[]:imp(merge(B2:drs([B2:Index:X],[]),app(N,X)),
@@ -103,7 +103,7 @@
/* -------------------------------------------------------------------------
Possessives
-------------------------------------------------------------------------- */
+--- */
semlex_det(my,Index,Att1-Att2,Sem):- !,
goldAntecedent(Index,Att1),
@@ -165,7 +165,7 @@
/* -------------------------------------------------------------------------
Many/Much [as determiner]
-------------------------------------------------------------------------- */
+--- */
semlex_det(many,Index,Att-Att,Sem):- !,
Sem = lam(P,lam(Q,merge(B:drs([B:[]:X],[B:Index:pred(X,quantity,n,1)]),
@@ -178,7 +178,7 @@
/* -------------------------------------------------------------------------
Wrongly classified determiners
-------------------------------------------------------------------------- */
+--- */
semlex_det(_Lemma,Index,Att-Att,Sem):-
Sem = lam(N,lam(P,merge(merge(B:drs([B:Index:X],[]),app(N,X)),app(P,X)))).
Index: src/prolog/boxer/lex/tense.pl
===================================================================
--- src/prolog/boxer/lex/tense.pl (revision 2527)
+++ src/prolog/boxer/lex/tense.pl (working copy)
@@ -11,7 +11,7 @@
/* =========================================================================
Tense
-========================================================================= */
+ */
tense(Mood,Index,Att-Att,Sem):-
option('--tense',true),
@@ -25,7 +25,7 @@
/* -------------------------------------------------------------------------
Past Tense
-------------------------------------------------------------------------- */
+--- */
tense('VBD',Index,Sem):-
Sem = lam(S,lam(F,app(S,lam(E,merge(B2:drs([B1:[]:N,B2:Index:T],
@@ -37,7 +37,7 @@
/* -------------------------------------------------------------------------
Present Tense
-------------------------------------------------------------------------- */
+--- */
tense(Cat,Index,Sem):-
member(Cat,['VBP','VBZ']), !,
@@ -50,7 +50,7 @@
/* -------------------------------------------------------------------------
Future Tense
-------------------------------------------------------------------------- */
+--- */
tense('MD',Index,Sem):-
Sem = lam(S,lam(F,app(S,lam(E,merge(B2:drs([B1:[]:N,B2:Index:T],
@@ -62,11 +62,11 @@
/* =========================================================================
Aspect
-========================================================================= */
+ */
/* -------------------------------------------------------------------------
Present Perfect
-------------------------------------------------------------------------- */
+--- */
aspect(pt,_,Index,Att-Att,Sem):-
option('--tense',true),
@@ -83,7 +83,7 @@
/* -------------------------------------------------------------------------
Past Perfect
-------------------------------------------------------------------------- */
+--- */
aspect(pt,_,Index,Att-Att,Sem):-
option('--tense',true),
@@ -99,7 +99,7 @@
/* -------------------------------------------------------------------------
Perfect Passive
-------------------------------------------------------------------------- */
+--- */
aspect(pss,pt,Index,Att-Att,Sem):-
option('--tense',true), !,
@@ -112,7 +112,7 @@
/* -------------------------------------------------------------------------
Perfect Progressive
-------------------------------------------------------------------------- */
+--- */
aspect(ng,pt,Index,Att-Att,Sem):-
option('--tense',true), !,
@@ -125,7 +125,7 @@
/* -------------------------------------------------------------------------
Present Progressive
-------------------------------------------------------------------------- */
+--- */
aspect(ng,_,Index,Att-Att,Sem):-
option('--tense',true),
@@ -142,7 +142,7 @@
/* -------------------------------------------------------------------------
Past Progressive
-------------------------------------------------------------------------- */
+--- */
aspect(ng,_,Index,Att-Att,Sem):-
att(Att,pos,'VBD'),
@@ -158,7 +158,7 @@
/* -------------------------------------------------------------------------
Other cases
-------------------------------------------------------------------------- */
+--- */
aspect(_,Mood,Index,Att,Sem):-
tense(Mood,Index,Att,Sem).
Index: src/prolog/boxer/lex/verbnet.pl
===================================================================
--- src/prolog/boxer/lex/verbnet.pl (revision 2527)
+++ src/prolog/boxer/lex/verbnet.pl (working copy)
@@ -15061,7 +15061,7 @@
verbnet(establish, ((s:_\np)/pp)/np, ['Theme','Agent'], [55,'.',5,-,1]).
verbnet(fake, ((s:_\np)/pp)/np, ['Theme','Agent'], [55,'.',5,-,1]).
verbnet(feign, ((s:_\np)/pp)/np, ['Theme','Agent'], [55,'.',5,-,1]).
-verbnet(format, ((s:_\np)/pp)/np, ['Theme','Agent'], [55,'.',5,-,1]).
+verbnet('format', ((s:_\np)/pp)/np, ['Theme','Agent'], [55,'.',5,-,1]).
verbnet(found, ((s:_\np)/pp)/np, ['Theme','Agent'], [55,'.',5,-,1]).
verbnet(plant, ((s:_\np)/pp)/np, ['Theme','Agent'], [55,'.',5,-,1]).
verbnet(implement, ((s:_\np)/pp)/np, ['Theme','Agent'], [55,'.',5,-,1]).
@@ -15094,7 +15094,7 @@
verbnet(establish, (s:_\np)/np, ['Theme','Agent'], [55,'.',5]).
verbnet(fake, (s:_\np)/np, ['Theme','Agent'], [55,'.',5]).
verbnet(feign, (s:_\np)/np, ['Theme','Agent'], [55,'.',5]).
-verbnet(format, (s:_\np)/np, ['Theme','Agent'], [55,'.',5]).
+verbnet('format', (s:_\np)/np, ['Theme','Agent'], [55,'.',5]).
verbnet(found, (s:_\np)/np, ['Theme','Agent'], [55,'.',5]).
verbnet(plant, (s:_\np)/np, ['Theme','Agent'], [55,'.',5]).
verbnet(implement, (s:_\np)/np, ['Theme','Agent'], [55,'.',5]).
Index: src/prolog/boxer/lex/verbs.pl
===================================================================
--- src/prolog/boxer/lex/verbs.pl (revision 2527)
+++ src/prolog/boxer/lex/verbs.pl (working copy)
@@ -16,11 +16,11 @@
/* =========================================================================
I n t r a n s i t i v e V e r b s
-========================================================================= */
+ */
/* -------------------------------------------------------------------------
VP Ellipsis (... so does NP ...)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,do,Index,Att1-Att3,Sem):-
option('--vpe',true),
@@ -35,7 +35,7 @@
/* -------------------------------------------------------------------------
Intransitive (VP Ellipsis)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
option('--vpe',true),
@@ -81,7 +81,7 @@
/* -------------------------------------------------------------------------
more or less (... than X)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(s:adj\np,Sym,Index,Att-Att,Sem):-
member(Sym,[more,less]), !,
@@ -104,12 +104,12 @@
Sem = lam(NP,lam(P,merge(B1:drs([B1:[]:E],
[B1:[]:nec(app(NP,lam(X,B2:drs([],[B2:Index:role(E,X,theme,1)]))))]),
app(P,E)))).
-------------------------------------------------------------------------- */
+--- */
/* -------------------------------------------------------------------------
Intransitive (standard case)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
member(Cat,[s:Mood\np,s:Mood/np]),
@@ -125,7 +125,7 @@
/* -------------------------------------------------------------------------
Passive Phrasal Verbs ("An action has been called for by an official")
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att-Att,Sem):-
Cat = (s:pss\np)/(pp/np), !,
@@ -139,11 +139,11 @@
/* =========================================================================
T r a n s i t i v e V e r b s
-========================================================================= */
+ */
/* -------------------------------------------------------------------------
Copula
-------------------------------------------------------------------------- */
+--- */
% expriment, giving negation wide scope in 'there is no'
semlex_verb(Cat,be,Index,Att1-Att2,Sem):-
@@ -194,7 +194,7 @@
/* -------------------------------------------------------------------------
Adjectival (np V pp)
-------------------------------------------------------------------------- */
+--- */
semlex_verb((s:adj\np)/pp,Sym,Index,Att-Att,Sem):- !,
att(Att,sense,Sense),
@@ -221,7 +221,7 @@
app(P,E)),
tense(Mood,[],Att1-Att2,TDRS),
Sem = lam(NP2,lam(NP1,app(TDRS,lam(P,app(NP1,lam(X,DRS)))))).
-------------------------------------------------------------------------- */
+--- */
/* -------------------------------------------------------------------------
@@ -230,7 +230,7 @@
Interesting idea: adding presupposition:
ADRS = alfa(def,drs([],[[]:not(drs([],[[]:eq(X,Y)]))]),DRS)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
member(Cat, [(s:Mood\np)/np,(s:Mood/np)/np,(s:Mood\np)\np]),
@@ -258,12 +258,12 @@
[B:Index:pred(E,be,v,5),
B:[]:role(E,X,agent,1)]),
app(F,E)))))))).
-------------------------------------------------------------------------- */
+--- */
/* -------------------------------------------------------------------------
Transitive (np V pp)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,be,Index,Att1-Att2,Sem):-
option('--copula',true),
@@ -289,7 +289,7 @@
/* -------------------------------------------------------------------------
Transitive (pp V np)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
Cat = (s:Mood\pp)/np,
@@ -306,11 +306,11 @@
/* =========================================================================
D i t r a n s i t i v e V e r b s
-========================================================================= */
+ */
/* -------------------------------------------------------------------------
Adjectival (np V np pp)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att-Att,Sem):-
category_type(Cat,Sym,npVnppp,[],_Mood), !,
@@ -324,7 +324,7 @@
/* -------------------------------------------------------------------------
Adjectival (np V pp np)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att-Att,Sem):-
category_type(Cat,Sym,npVppnp,[],_Mood), !,
@@ -338,7 +338,7 @@
/* -------------------------------------------------------------------------
Adjectival (np V pp pp)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att-Att,Sem):-
category_type(Cat,Sym,npVpppp,[],_Mood), !,
@@ -352,7 +352,7 @@
/* -------------------------------------------------------------------------
Ditransitive (np V np np)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
Cat = ((s:Mood\np)/np)/np, !,
@@ -373,7 +373,7 @@
/* -------------------------------------------------------------------------
Ditransitive (np V np pp)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
% category_type(Cat,Sym,npVnppp,[Role1,Role2],Mood), !,
@@ -394,7 +394,7 @@
/* -------------------------------------------------------------------------
Ditransitive (np V pp np)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
% category_type(Cat,Sym,npVppnp,[Role1,Role2],Mood), !,
@@ -415,7 +415,7 @@
/* -------------------------------------------------------------------------
Ditransitive (np V pp pp)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
% category_type(Cat,Sym,npVpppp,[Role],Mood), !,
@@ -434,7 +434,7 @@
/* -------------------------------------------------------------------------
Ditransitive (pp V np np)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att2,Sem):-
category_type(Cat,Sym,ppVnpnp,[Role1,Role2],Mood), !,
@@ -453,7 +453,7 @@
/* -------------------------------------------------------------------------
Ditransitive (pp V np pp)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att2,Sem):-
category_type(Cat,Sym,ppVnppp,[Role],Mood), !,
@@ -472,11 +472,11 @@
/* =========================================================================
T r i t r a n s i t i v e V e r b s
-========================================================================= */
+ */
/* -------------------------------------------------------------------------
Tritransitive (np V np pp pp)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
% category_type(Cat,Sym,npVnppppp,[Role1,Role2],Mood), !,
@@ -517,11 +517,11 @@
/* =========================================================================
P r o p o s i t i o n a l c o m p l e m e n t v e r b s
-========================================================================= */
+ */
/* -------------------------------------------------------------------------
Intransitive (np V s)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
Cat = (s:Mood\np)/s:Emb,
@@ -552,7 +552,7 @@
/* -------------------------------------------------------------------------
Intransitive (np V pp s)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att2,Sem):-
category_type(Cat,Sym,npVpps,[Role1,Role2],Mood), !,
@@ -569,7 +569,7 @@
/* -------------------------------------------------------------------------
Intransitive (s V np)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att2,Sem):-
att(Att1,pos,PoS),
@@ -588,7 +588,7 @@
/* -------------------------------------------------------------------------
Copula (vp V np)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,be,Index,Att1-Att2,Sem):-
option('--copula',true),
@@ -603,7 +603,7 @@
/* -------------------------------------------------------------------------
Intransitive (vp V np)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att2,Sem):-
category_type(Cat,Sym,vpVnp,[Role1,Role2],Mood), !,
@@ -620,7 +620,7 @@
/* -------------------------------------------------------------------------
Transitive (s np V np)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att2,Sem):-
category_type(Cat,Sym,snpVnp,[Role1,Role2,Role3],Mood), !,
@@ -639,7 +639,7 @@
/* -------------------------------------------------------------------------
Transitive (np V np s)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att2,Sem):-
category_type(Cat,Sym,npVnpq,[Role1,Role2,Role3],Mood), !,
@@ -671,7 +671,7 @@
/* -------------------------------------------------------------------------
Transitive (np V vp np)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att2,Sem):-
category_type(Cat,Sym,npVvpnp,[Role1,Role2],Mood), !,
@@ -688,7 +688,7 @@
/* -------------------------------------------------------------------------
Transitive (np V vp pp)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att2,Sem):-
category_type(Cat,Sym,npVvppp,[Role],Mood), !,
@@ -703,7 +703,7 @@
/* -------------------------------------------------------------------------
Transitive (np V pp vp)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att2,Sem):-
category_type(Cat,Sym,npVppvp,[Role],Mood), !,
@@ -719,11 +719,11 @@
/* =========================================================================
A u x i l i a r y , M o d a l , C o n t r o l V e r b s
-========================================================================= */
+ */
/* =========================================================================
Infinitivals
-========================================================================= */
+ */
semlex_verb(Cat,Sym,Index,Att-Att,Sem):-
option('--semantics',drgno),
@@ -747,7 +747,7 @@
/* -------------------------------------------------------------------------
Standard case (NP aux VP)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att2,Sem):-
option('--modal',true),
@@ -775,7 +775,7 @@
/* -------------------------------------------------------------------------
Inversion case (aux NP VP)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,_Sym,Index,Att1-Att2,Sem):-
Cat = (s:Mood/(s:Aspect\np))/np,
@@ -786,7 +786,7 @@
/* -------------------------------------------------------------------------
Control Verbs (intransitive)
-------------------------------------------------------------------------- */
+--- */
% e.g. "is about to swim"
semlex_verb(Cat,Sym,Index,Att1-Att2,Sem):-
@@ -883,7 +883,7 @@
/* -------------------------------------------------------------------------
Subject Control Verbs
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
member(Sym,[promise,offer,use]),
@@ -917,7 +917,7 @@
/* -------------------------------------------------------------------------
Object Control Verbs (ECM, exceptional case marking)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
Cat = ((s:Mood\np)/(s:to\np))/np, \+ Mood = to,
@@ -960,7 +960,7 @@
/* -------------------------------------------------------------------------
Object Control Verbs subcatting PP
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
Cat = ((s:Mood\np)/(s:to\np))/pp, \+ Mood = to,
@@ -976,7 +976,7 @@
/* -------------------------------------------------------------------------
make NP ADJ to VP
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att2,Sem):-
Cat = (((s:Mood\np)/(s:to\np))/(s:adj\np))/np, !,
@@ -1014,7 +1014,7 @@
/* -------------------------------------------------------------------------
Funny transitive case (rare -- often in incorrect parses)
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,_Sym,Index,Att1-Att2,Sem):-
Cat = ((s:Mood\np)\np)/(s:Aspect\np), !,
@@ -1023,7 +1023,7 @@
/* -------------------------------------------------------------------------
Copula "How ADJ be NP PP"
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,_Sym,Index,Att1-Att2,Sem):-
Cat = ((s:q/pp)/(s:Aspect\np))/np, !,
@@ -1034,11 +1034,11 @@
/* =========================================================================
E x p l e t i v e v e r b s
-========================================================================= */
+ */
/* -------------------------------------------------------------------------
Cleft "it was NP who VP"
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att1-Att3,Sem):-
member(Cat,[((s:Mood\np_exp)/(np\np))/np,
@@ -1064,7 +1064,7 @@
/* -------------------------------------------------------------------------
Copula "it is ADJ to-VP"
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,_Sym,Index,Att1-Att2,Sem):-
Cat = ((s:Mood\np)/(s:to\np))/(s:adj\np), !,
@@ -1080,7 +1080,7 @@
"it is ADJ that S"
"it is ADJ whether S"
"it is ADJ for S"
-------------------------------------------------------------------------- */
+--- */
semlex_verb(Cat,Sym,Index,Att-Att,Sem):-
Cat = ((s:adj\np)/s:em)/(s:adj\np), !,
@@ -1117,7 +1117,7 @@
semlex_verb(Cat,_,_Index,Att-Att,Sem):-
Cat = ((s:dcl\np_exp)/s:em)/pp, !,
Sem = lam(PP,lam(S,lam(_,lam(F,app(S,lam(E,merge(app(PP,E),app(F,E)))))))).
-------------------------------------------------------------------------- */
+--- */
/* -------------------------------------------------------------------------
@@ -1132,7 +1132,7 @@
B1:[]:prop(K,app(S,CC))]),
merge(app(NP,lam(X,B2:drs([],[B2:[]:eq(X,K)]))),
app(E,F)))))))).
-------------------------------------------------------------------------- */
+--- */
/* -------------------------------------------------------------------------
@@ -1147,7 +1147,7 @@
app(app(VP,lam(P,app(P,X))),CC)),
app(NP,lam(Y,B3:drs([],[B3:Index:eq(Y,X)]))))]),
app(F,E))))))).
-------------------------------------------------------------------------- */
+--- */
/* -------------------------------------------------------------------------
@@ -1172,7 +1172,7 @@
Cat = (s:Mood\np_exp)/(s:Aspect\np), !,
aspect(Aspect,Mood,Index,Att1-Att2,TDRS),
Sem = lam(VP,lam(NP,lam(E,app(app(TDRS,app(VP,NP)),E)))).
-------------------------------------------------------------------------- */
+--- */
/* -------------------------------------------------------------------------
@@ -1190,7 +1190,7 @@
B1:[]:prop(K,app(S,CC))]),
merge(app(app(AP,lam(P,app(P,K))),lam(G,B2:drs([],[B2:[]:role(E,G,result,1)]))),
app(F,E)))))))))).
-------------------------------------------------------------------------- */
+--- */
/* -------------------------------------------------------------------------
Comparative "make/find it COMP to VP"
@@ -1208,19 +1208,19 @@
B2:[]:prop(K,DRS)]),
merge(app(app(AP,lam(P,app(P,K))),lam(G,B3:drs([],[B3:[]:role(E,G,result,1)]))),
app(F,E)))))))))).
-------------------------------------------------------------------------- */
+--- */
/* =========================================================================
Closing
-========================================================================= */
+ */
closing(lam(_,_:drs([],[]))).
/* =========================================================================
Modal Verbs
-========================================================================= */
+ */
aux_modal_verb(V):- aux_verb(V).
aux_modal_verb(V):- modal_verb(_,V).
Index: src/prolog/boxer/lexicon.pl
===================================================================
--- src/prolog/boxer/lexicon.pl (revision 2527)
+++ src/prolog/boxer/lexicon.pl (working copy)
@@ -26,7 +26,7 @@
n 1 location
-------------------------------------------------------------------------- */
+--- */
:- use_module(boxer(slashes)).
:- use_module(boxer(string2digit),[string2digit/2,string2score/2]).
@@ -48,7 +48,7 @@
/* =========================================================================
Punctuation
-========================================================================= */
+ */
semlex(t:_\s:_,_,_,Att-Att,Sem):- !,
closing(CC),
@@ -101,7 +101,7 @@
/* =========================================================================
Coordination (disjunction and negation)
-========================================================================= */
+ */
semlex(conj:n,Sym,Index,Att-Att,Sem):-
Sym = or,
@@ -124,7 +124,7 @@
/* =========================================================================
Coordination (conjuction)
-========================================================================= */
+ */
semlex(conj:n,Sym,Index,Att-Att,Sem):-
option('--semantics',drg), !,
@@ -221,7 +221,7 @@
/* =========================================================================
Compound Coordination
-========================================================================= */
+ */
%semlex(conj:F/conj:F,instead,Index,Att-Att,Sem):- !, % instead of
% Sem = lam(C,lam(K1,lam(K2,app(app(C,B:drs([],[B:Index:not(K1)])),K2)))).
@@ -235,7 +235,7 @@
/* =========================================================================
Quotes
-========================================================================= */
+ */
semlex(q,_,Index,Att-Att,Sem):- !,
Sem = lam(X,B:drs([],[B:Index:pred(X,quotation,n,2)])).
@@ -255,11 +255,11 @@
/* =========================================================================
Noun Phrases
-========================================================================= */
+ */
/* -------------------------------------------------------------------------
Expletive 'there' and other "special" nouns
-------------------------------------------------------------------------- */
+--- */
semlex(n,many,Index,Att-Att,Sem):-
att(Att,pos,'NN'), !,
@@ -281,7 +281,7 @@
/* -------------------------------------------------------------------------
Nouns
-------------------------------------------------------------------------- */
+--- */
semlex(n,other,Index,Att-Att,Sem):- % OTHERS
\+ option('--semantics',drg),
@@ -375,7 +375,7 @@
/* -------------------------------------------------------------------------
Relational nouns
-------------------------------------------------------------------------- */
+--- */
semlex(n/pp,Sym,Index,Att-Att,Sem):-
att(Att,pos,Pos),
@@ -431,14 +431,14 @@
/* -------------------------------------------------------------------------
Determiners
-------------------------------------------------------------------------- */
+--- */
semlex(np/n,Token,Index,Att1-Att2,Sem):- !, semlex_det(Token,Index,Att1-Att2,Sem).
/* -------------------------------------------------------------------------
Possessives
-------------------------------------------------------------------------- */
+--- */
semlex(np/(n/pp),_,Index,Att-Att,Sem):- !,
Sem = lam(RN,lam(P,alfa(pro,B1:drs([B1:[]:Y],[B1:[]:pred(Y,male,n,2)]),
@@ -449,7 +449,7 @@
/* -------------------------------------------------------------------------
Determiners (as many as X)
-------------------------------------------------------------------------- */
+--- */
semlex(((np/n)/pp)/(s:adj\np),_,Index,Att-Att,Sem):- !,
closing(CC),
@@ -462,7 +462,7 @@
/* -------------------------------------------------------------------------
Many/Much [as NP]
-------------------------------------------------------------------------- */
+--- */
semlex(np,many,Index,Att-Att,Sem):- !,
Sem = lam(P,merge(B:drs([B:[]:X],[B:Index:pred(X,quantity,n,1)]),app(P,X))).
@@ -473,7 +473,7 @@
/* -------------------------------------------------------------------------
There insertion
-------------------------------------------------------------------------- */
+--- */
semlex(np,'there',Index,Att-Att,Sem):-
att(Att,pos,'EX'), !,
@@ -482,7 +482,7 @@
/* -------------------------------------------------------------------------
Pronouns (non-reflexives)
-------------------------------------------------------------------------- */
+--- */
semlex( np, Lemma,Index,Att-Att,Sem):-
member(Lemma,['I',i,me,mine]), !,
@@ -537,7 +537,7 @@
/* -------------------------------------------------------------------------
Reflexive Pronouns
-------------------------------------------------------------------------- */
+--- */
semlex( np, Lemma,Index,Att-Att,Sem):-
member(Lemma,[myself,yourself,thyself,ourselves]), !,
@@ -562,7 +562,7 @@
/* -------------------------------------------------------------------------
Demonstratives and Quantificational Noun Phrases
-------------------------------------------------------------------------- */
+--- */
semlex( np, Lemma,Index,Att-Att,Sem):-
member(Lemma,['none','neither',nothing]), !,
@@ -602,12 +602,12 @@
semlex( np_thr, _Lemma,Index,Att-Att,Sem):- !,
Sem = lam(P,merge(B:drs([B:Index:X],[]),app(P,X))).
-------------------------------------------------------------------------- */
+--- */
/* -------------------------------------------------------------------------
NP Why
-------------------------------------------------------------------------- */
+--- */
semlex( np, Lemma,Index,Att-Att,Sem):-
Lemma = 'why', !,
@@ -619,7 +619,7 @@
/* -------------------------------------------------------------------------
NP (all others)
-------------------------------------------------------------------------- */
+--- */
semlex(np,Sym,Index,Att-Att,Sem):-
att(Att,pos,Pos), member(Pos,['NNP','NNPS']), !,
@@ -633,7 +633,7 @@
/* -------------------------------------------------------------------------
NP/PP
-------------------------------------------------------------------------- */
+--- */
semlex(np/pp, Sym,Index,Att-Att,Sem):- !,
att(Att,sense,Sense),
@@ -644,7 +644,7 @@
/* -------------------------------------------------------------------------
Question words: whose
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,whose,Index,Att-Att,Sem):-
member(Cat,[(s:wq/(s:dcl\np))/n,
@@ -659,7 +659,7 @@
/* -------------------------------------------------------------------------
Question words: which/what N
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,_Sym,Index,Att-Att,Sem):-
member(Cat,[(s:wq/(s:dcl\np))/n,
@@ -682,7 +682,7 @@
/* -------------------------------------------------------------------------
Question words: how much/many
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,_Sym,Index,Att-Att,Sem):-
member(Cat,[(s:wq/(s:q/np))/np,
@@ -697,7 +697,7 @@
/* -------------------------------------------------------------------------
Question words: how much/many N
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,_Sym,Index,Att-Att,Sem):-
member(Cat,[((s:wq/(s:q/np))/n)/(np/n),
@@ -746,7 +746,7 @@
/* -------------------------------------------------------------------------
Question words: how ADJ
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,_Sym,Index,Att-Att,Sem):-
member(Cat,[(s:wq/(s:q/(s:adj\np)))/(s:adj\np),
@@ -771,7 +771,7 @@
/* -------------------------------------------------------------------------
Question words: basic question words
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
member(Cat,[s:wq/(s:dcl\np),
@@ -901,7 +901,7 @@
/* =========================================================================
Relative pronouns, pied-piping ("N under which S", "NP under which S")
-========================================================================= */
+ */
semlex(((np\np)/s:dcl)\((s:F\s:F)/np),_Sym,_Index,Att-Att,Sem):- !,
closing(CC),
@@ -921,18 +921,18 @@
/* =========================================================================
Verbs
-========================================================================= */
+ */
semlex(Cat,Sym,Index,Att,Sem):- semlex_verb(Cat,Sym,Index,Att,Sem), !.
/* =========================================================================
Adjectives
-========================================================================= */
+ */
/* -------------------------------------------------------------------------
Wrongly Classified Adjectives + "own"
-------------------------------------------------------------------------- */
+--- */
semlex(n/n,Sym,_Index,Att-Att,Sem):-
member(Sym,[one,few]),
@@ -953,7 +953,7 @@
/* -------------------------------------------------------------------------
Negation Adjectives
-------------------------------------------------------------------------- */
+--- */
%semlex(Cat,Sym,_,Index,Att-Att,Sem):-
% category(adj,Cat,_),
@@ -972,7 +972,7 @@
/* -------------------------------------------------------------------------
Presuppositional Adjectives
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
\+ option('--semantics',drg),
@@ -986,7 +986,7 @@
/* -------------------------------------------------------------------------
Present participles, Gerunds
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att1-Att2,Sem):-
member(Cat,[n/n,n\n]),
@@ -1000,7 +1000,7 @@
/* -------------------------------------------------------------------------
Past Participles
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att1-Att2,Sem):-
member(Cat,[n/n,n\n]),
@@ -1014,7 +1014,7 @@
/* -------------------------------------------------------------------------
Noun Noun Compounds
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,'%',Index,Att1-Att2,Sem):-
att(Att1,pos,'NN'),
@@ -1129,7 +1129,7 @@
/* -------------------------------------------------------------------------
Singular Superlatives
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
\+ option('--semantics',drg),
@@ -1143,7 +1143,7 @@
/* -------------------------------------------------------------------------
Cardinal Adjectives
-------------------------------------------------------------------------- */
+--- */
semlex(n/n,Sym,Index,Att-Att,Sem):-
string2digit(Sym,Digit), !,
@@ -1170,12 +1170,12 @@
[B:[]:card(Y,Number,eq),
B:Index:pred(Y,Suffix,n,Sense),
B:[]:rel(X,Y,Relation,0)]),app(P,X)))).
-------------------------------------------------------------------------- */
+--- */
/* -------------------------------------------------------------------------
Singular Intersective Adjectives
-------------------------------------------------------------------------- */
+--- */
% thematic role analysis
%
@@ -1207,7 +1207,7 @@
/* -------------------------------------------------------------------------
Adjectives introducing a degree
-------------------------------------------------------------------------- */
+--- */
semlex(d/n,Sym,Index,Att-Att,Sem):- !,
%% Sem = lam(P,lam(X,lam(D,merge(B:drs([],[B:Index:pred(D,degree,n,1),Index:rel(X,D,Sym,0)]),app(P,X))))).
@@ -1216,11 +1216,11 @@
/* =========================================================================
Other Modifiers
-========================================================================= */
+ */
/* -------------------------------------------------------------------------
Superlative: at least/most/best (no idea how to specify semantics)
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
member(Cat,[(s:_/s:_)/(s:asup\np),(np/np)/(s:asup\np)]), !,
@@ -1236,7 +1236,7 @@
/* -------------------------------------------------------------------------
Comparatives
-------------------------------------------------------------------------- */
+--- */
% more than 10 dogs
%
@@ -1286,7 +1286,7 @@
/* -------------------------------------------------------------------------
Superlatives: (the) most/least ...
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,most,Index,Att-Att,Sem):-
member(Cat,[(n/n)/(d/n)]), !,
@@ -1304,7 +1304,7 @@
/* -------------------------------------------------------------------------
Compound numerals
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
member(Cat,[(n/n)/(n/n),
@@ -1317,7 +1317,7 @@
/* -------------------------------------------------------------------------
Compound superlative adjectives
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
\+ option('--semantics',drg),
@@ -1331,7 +1331,7 @@
/* -------------------------------------------------------------------------
Intensifiers
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
att(Att,pos,Pos),
@@ -1359,7 +1359,7 @@
/* -------------------------------------------------------------------------
Compound adjectives (actually, the hyphen in compound adjectives)
-------------------------------------------------------------------------- */
+--- */
semlex(pp\n,'-',Index,Att-Att,Sem):- !,
Sem = lam(N,lam(X,alfa(def,merge(B1:drs([B1:[]:Y],[]),app(N,Y)),
@@ -1376,7 +1376,7 @@
/* -------------------------------------------------------------------------
Definite Prepositions
-------------------------------------------------------------------------- */
+--- */
% except
%
@@ -1441,7 +1441,7 @@
/* -------------------------------------------------------------------------
Complementizers (Wh)
-------------------------------------------------------------------------- */
+--- */
semlex(s:qem/s:dcl,Sym,Index,Att-Att,Sem):-
( Sym=how, Pred=manner, Sense=2, Rel=manner_rel;
@@ -1457,7 +1457,7 @@
/* -------------------------------------------------------------------------
Complementizers
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,_Sym,Index,Att-Att,Sem):-
member(Cat,[s:em/s:dcl,s:bem/s:b,s:em/s:b,s:qem/s:dcl]), !,
@@ -1487,7 +1487,7 @@
/* -------------------------------------------------------------------------
Locative Adverbs
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att1-Att2,Sem):-
category(vpadv,Cat,_),
@@ -1513,7 +1513,7 @@
/* -------------------------------------------------------------------------
Not
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
category(vpadv,Cat,_),
@@ -1537,7 +1537,7 @@
/* -------------------------------------------------------------------------
Cardinals that function as VP modifiers (often wrongly analysed)
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att1-Att2,Sem):-
att(Att1,pos,'CD'),
@@ -1549,7 +1549,7 @@
/* -------------------------------------------------------------------------
NPs that function as VP modifiers
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att1-Att2,Sem):-
category(vpadv,Cat,_),
@@ -1577,12 +1577,12 @@
Sym = more,
Cat = (s:adj\np)/(s:adj\np), !,
Sem = lam(X,lam(Q,lam(F,app(app(X,Q),lam(D1,merge(B:drs([B:[]:D2],[B:Index:rel(D1,D2,more,0)]),app(F,D1))))))).
-------------------------------------------------------------------------- */
+--- */
/* -------------------------------------------------------------------------
Adverbs (VP modifying)
-------------------------------------------------------------------------- */
+--- */
%semlex(Cat,Sym,Index,Att-Att,Sem):-
% category(vpadv,Cat,_),
@@ -1604,7 +1604,7 @@
/* -------------------------------------------------------------------------
"hard to take", "easy to please"
-------------------------------------------------------------------------- */
+--- */
semlex((s:adj\np)/((s:to\np)/np),Sym,Index,Att-Att,Sem):- !,
closing(CC),
@@ -1615,7 +1615,7 @@
/* -------------------------------------------------------------------------
Definite prepositions
-------------------------------------------------------------------------- */
+--- */
% "the" as apposition trigger
%
@@ -1652,7 +1652,7 @@
/* -------------------------------------------------------------------------
Prepositional Phrases
-------------------------------------------------------------------------- */
+--- */
semlex(pp,Sym,Index,Att-Att,Sem):- !,
Sem = lam(X,B:drs([B:[]:Y],[B:Index:pred(Y,thing,n,12),
@@ -1661,7 +1661,7 @@
/* -------------------------------------------------------------------------
Prepositions
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
member(Cat,[(n\n)/np,
@@ -1850,7 +1850,7 @@
/* -------------------------------------------------------------------------
PP complements
-------------------------------------------------------------------------- */
+--- */
% ... limited to providing ...
%
@@ -1875,7 +1875,7 @@
/* -------------------------------------------------------------------------
Discourse connectors: if
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,if,Index,Att-Att,Sem):-
member(Cat,[((s:X\np)\(s:X\np))/s:dcl]), !,
@@ -1886,7 +1886,7 @@
/* -------------------------------------------------------------------------
Discourse connectors: where
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,where,Index,Att1-Att2,Sem):-
member(Cat,[((s:X\np)\(s:X\np))/s:dcl]), !,
@@ -1898,7 +1898,7 @@
/* -------------------------------------------------------------------------
Discourse connectors: when
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,when,Index,Att-Att,Sem):-
option('--tense',true),
@@ -1911,7 +1911,7 @@
/* -------------------------------------------------------------------------
Discourse connectors: as does NP
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
option('--theory',drt),
@@ -1931,7 +1931,7 @@
/* -------------------------------------------------------------------------
Discourse connectors (VP modifying)
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
option('--theory',sdrt),
@@ -1973,7 +1973,7 @@
/* -------------------------------------------------------------------------
Prepositions: "VP prep VPing"
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
Sym = without,
@@ -2042,7 +2042,7 @@
/* -------------------------------------------------------------------------
Control Prepositions (NP)
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
member(Cat,[(((s:X\np)\(s:X\np))/(s:ng\np))/np,
@@ -2056,7 +2056,7 @@
/* -------------------------------------------------------------------------
Control Prepositions (N)
Example: "in", as in: "I had a plan in place to respond."
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
member(Cat,[(((s:X\np)\(s:X\np))/(s:ng\np))/n,
@@ -2093,7 +2093,7 @@
/* -------------------------------------------------------------------------
Sentence-initial determiners
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Lemma,Index,Att1-Att2,Sem):-
member(Lemma,[the,that,this,those,these]),
@@ -2119,7 +2119,7 @@
/* -------------------------------------------------------------------------
Example: With violence escalating in Kosovo, S
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
member(Cat,[((s:X/s:X)/(s:ng\np))/np,
@@ -2146,7 +2146,7 @@
/* -------------------------------------------------------------------------
instead (of)
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,instead,Index,Att-Att,Sem):-
member(Cat,[((s:X\np)\(s:X\np))/pp,
@@ -2157,7 +2157,7 @@
/* -------------------------------------------------------------------------
Double prepositions, such as "out of", "together with"
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
att(Att,pos,Pos),
@@ -2177,7 +2177,7 @@
/* -------------------------------------------------------------------------
Double prepositions, such as "Cycling in the north of France, ..."
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
att(Att,pos,Pos),
@@ -2208,7 +2208,7 @@
/* -------------------------------------------------------------------------
VP adverb modifier (negation)
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
notSymbol(Sym),
@@ -2231,7 +2231,7 @@
/* -------------------------------------------------------------------------
VP adverb modifier (Cardinals that function as modifiers)
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att1-Att2,Sem):-
att(Att1,pos,'CD'),
@@ -2247,7 +2247,7 @@
/* -------------------------------------------------------------------------
VP adverb modifier (NPs that function as modifiers)
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att1-Att2,Sem):-
member(Cat,[((s:X\np)/(s:X\np))/((s:X\np)/(s:X\np)),
@@ -2265,7 +2265,7 @@
/* -------------------------------------------------------------------------
VP adverb modifier (intersective)
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
member(Cat,[((s:X\np)/(s:X\np))/((s:X\np)/(s:X\np)),
@@ -2317,7 +2317,7 @@
/* -------------------------------------------------------------------------
Preposition (in front of WH, as in "From where ...")
-------------------------------------------------------------------------- */
+--- */
semlex((s:wq/(s:q/pp))/(s:wq/(s:q/np)),Sym,Index,Att-Att,Sem):-
Sem = lam(Q,lam(W,lam(F,app(app(Q,V),F)))),
@@ -2329,7 +2329,7 @@
/* -------------------------------------------------------------------------
Possessive
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,_Lemma,Index,Att-Att,Sem):-
member(Cat,[(np:nb/n)/(n/n),
@@ -2385,7 +2385,7 @@
/* -------------------------------------------------------------------------
Emphasising Pronouns
-------------------------------------------------------------------------- */
+--- */
semlex(np\np, himself,Index,Att-Att,Sem):- !,
Sem = lam(Q,lam(P,app(Q,lam(X,merge(B:drs([],[B:Index:pred(X,male,n,2)]),app(P,X)))))).
@@ -2403,7 +2403,7 @@
/* -------------------------------------------------------------------------
NP modifiers: floating quantifiers
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
option('--x',false),
@@ -2414,7 +2414,7 @@
/* -------------------------------------------------------------------------
NP modifiers: only
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,only,Index,Att-Att,Sem):-
member(Cat,[np\np, np/np]), !,
@@ -2427,7 +2427,7 @@
/* -------------------------------------------------------------------------
NP modifiers: negation
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
member(Cat,[np\np, np/np]),
@@ -2442,7 +2442,7 @@
/* -------------------------------------------------------------------------
NP modifiers
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att1-Att2,Sem):-
att(Att1,pos,Pos),
@@ -2490,7 +2490,7 @@
/* -------------------------------------------------------------------------
NP modifiers (superlative contruction)
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
member(Cat,[d/np]), !,
@@ -2506,12 +2506,12 @@
(np/np)/(np/np)]),
member(Sym,[there,here,ago,such,now]), !,
Sem = lam(M,lam(Q,lam(P,app(app(M,Q),P)))).
-------------------------------------------------------------------------- */
+--- */
/* -------------------------------------------------------------------------
NP modifier modifiers (proper names)
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
att(Att,pos,Pos),
@@ -2525,7 +2525,7 @@
/* -------------------------------------------------------------------------
NP modifier modifiers (not)
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,not,Index,Att-Att,Sem):-
member(Cat,[(np\np)/(np\np),
@@ -2537,7 +2537,7 @@
/* -------------------------------------------------------------------------
NP modifier modifiers
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
member(Cat,[(np\np)/(np\np),
@@ -2551,7 +2551,7 @@
/* -------------------------------------------------------------------------
NP modifier modifiers, superlative ("most notably")
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,_Sym,Index,Att-Att,Sem):-
member(Cat,[(np/np)/(d/np)]), !,
@@ -2562,7 +2562,7 @@
/* -------------------------------------------------------------------------
NPs that function as S modifiers
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att1-Att2,Sem):-
category(smod,Cat,Sym),
@@ -2600,7 +2600,7 @@
/* -------------------------------------------------------------------------
S modifiers
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
notSymbol(Sym),
@@ -2615,7 +2615,7 @@
/* -------------------------------------------------------------------------
S modifier modifiers
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
notSymbol(Sym),
@@ -2656,7 +2656,7 @@
/* -------------------------------------------------------------------------
Mostly Temporal modifiers: "every month", "this week", "Nov. 29"
-------------------------------------------------------------------------- */
+--- */
%semlex(Cat,this,Index,Att-Att,Sem):-
% member(Cat,[((s:X\np)\(s:X\np))/n,
@@ -2724,7 +2724,7 @@
/* -------------------------------------------------------------------------
Noun subcategorising for sentence
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
member(Cat,[n/s:em,n/s:qem,n/s:bem]), !,
@@ -2758,7 +2758,7 @@
/* -------------------------------------------------------------------------
NP modifying noun
-------------------------------------------------------------------------- */
+--- */
semlex(n/np,Sym,Index,Att-Att,Sem):- !,
att(Att,sense,Sense),
@@ -2768,7 +2768,7 @@
/* -------------------------------------------------------------------------
PP modifiers
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
option('--semantics',drg),
@@ -2816,7 +2816,7 @@
/* -------------------------------------------------------------------------
Preposition: the (as in "the week before")
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,the,Index,Att1-Att2,Sem):-
member(Cat,[(pp\pp)/n]), !,
@@ -2836,7 +2836,7 @@
/* -------------------------------------------------------------------------
Discourse connectors: when
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,when,Index,Att-Att,Sem):-
option('--tense',true),
@@ -2859,7 +2859,7 @@
/* -------------------------------------------------------------------------
Discourse connectors: if
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,if,Index,Att-Att,Sem):-
member(Cat,[(s:X/s:X)/s:dcl,
@@ -2876,7 +2876,7 @@
/* -------------------------------------------------------------------------
Discourse connectors: if
-------------------------------------------------------------------------- */
+--- */
semlex((s:X\s:X)/s:dcl,and,_Index,Att-Att,Sem):-
option('--theory',drt), !,
@@ -2886,7 +2886,7 @@
/* -------------------------------------------------------------------------
Discourse connectors: all others
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,Sym,Index,Att-Att,Sem):-
option('--theory',sdrt),
@@ -2929,7 +2929,7 @@
/* -------------------------------------------------------------------------
Non-Restrictive Relative Pronous
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,_Sym,_,Att-Att,Sem):-
member(Cat,[(np\np)/(s:_\np),(np\np)/(s:_/np)]),
@@ -2952,7 +2952,7 @@
/* -------------------------------------------------------------------------
Restrictive Relative Pronous
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,_Sym,_Index,Att-Att,Sem):-
member(Cat,[(n\n)/(s:_\np),
@@ -2966,7 +2966,7 @@
/* -------------------------------------------------------------------------
Other kind of relative pronous (pied piping)
-------------------------------------------------------------------------- */
+--- */
semlex(Cat,_Sym,Index,Att-Att,Sem):-
Cat=((np\np)/(s:dcl\np))\(np/np), !,
@@ -2978,7 +2978,7 @@
/* -------------------------------------------------------------------------
whose
-------------------------------------------------------------------------- */
+--- */
semlex(((np\np)/(s:dcl\np))/n,_,Index,Att1-Att2,Sem):- !,
closing(CC),
@@ -2990,7 +2990,7 @@
/* -------------------------------------------------------------------------
Further relative pronouns
-------------------------------------------------------------------------- */
+--- */
semlex(((n\n)/(s:dcl\np))/n,_,Index,Att1-Att2,Sem):- !,
closing(CC),
@@ -3020,7 +3020,7 @@
/* -------------------------------------------------------------------------
Interjections and Sentential Categories
-------------------------------------------------------------------------- */
+--- */
%semlex(Cat,Sym,Index,Att-Att,Sem):-
% option('--x',true),
@@ -3037,7 +3037,7 @@
/* =========================================================================
Aux Predicates
-========================================================================= */
+ */
notSymbol( not ).
notSymbol( 'n\'t' ).
Index: src/prolog/boxer/mergeDRT.pl
===================================================================
--- src/prolog/boxer/mergeDRT.pl (revision 2527)
+++ src/prolog/boxer/mergeDRT.pl (working copy)
@@ -7,7 +7,7 @@
/* ========================================================================
Merge reduction
-======================================================================== */
+*/
mergeDrs(Var,Var):- var(Var), !.
@@ -40,7 +40,7 @@
/* ========================================================================
Merge reduction
-======================================================================== */
+*/
% Cannot reduce a variable
%
@@ -143,7 +143,7 @@
/* ========================================================================
Projection Normal Form
-======================================================================== */
+*/
pnf(Var,Var):- var(Var), !.
pnf(alfa(T1,alfa(T2,B1,B2),B3),alfa(T2,N1,N2)):- !, pnf(B1,N1), pnf(alfa(T1,B2,B3),N2).
@@ -158,7 +158,7 @@
/*========================================================================
DRS-merge (Conditions)
-========================================================================*/
+*/
mergeConds([B:F:Cond1|C1],[B:F:Cond2|C2]):- !,
mergeConds([Cond1|C1],[Cond2|C2]).
@@ -223,7 +223,7 @@
/* ========================================================================
Merge
-======================================================================== */
+*/
merge(drs(D1,C1),drs(D2,C2),drs(D3,C3)):- !, merge(D1,D2,D3), merge(C1,C2,C3).
merge([],L,L):- !.
Index: src/prolog/boxer/noncomp.pl
===================================================================
--- src/prolog/boxer/noncomp.pl (revision 2527)
+++ src/prolog/boxer/noncomp.pl (working copy)
@@ -7,7 +7,7 @@
/* ========================================================================
Non-compositional reduction rules
-======================================================================== */
+*/
noncomp(B1:I1:named(X1,Sym1,Type,_),B2:I2:named(X2,Sym2,Type,Sense),K):-
X1 == X2, B1 == B2,!,
@@ -46,12 +46,12 @@
adjacent([I],[J],[I,J]):- !, J is I + 1.
adjacent(Is,Js,Ks):- member(I,Is), member(J,Js), J is I + 1, !, append(Is,Js,Ks).
-========================================================================*/
+*/
/*========================================================================
Concatenate Dates
-========================================================================*/
+*/
concat_dates(date([]:'+', []:'XXXX', Month, Day),
date([]:'+', Year, []:'XX', Day),
@@ -97,5 +97,5 @@
num2day(Num,Day):-
integer(Num), Num > 9, Num < 32,
atom_number(Day,Num).
-========================================================================*/
+*/
Index: src/prolog/boxer/output.pl
===================================================================
--- src/prolog/boxer/output.pl (revision 2527)
+++ src/prolog/boxer/output.pl (working copy)
@@ -3,8 +3,13 @@
printFooter/1,
printSem/4,
printDerList/2,
- printBox/2]).
+ printBox/2,
+ boxer_assertz/3]).
+:- thread_local boxer_assertz/3.
+:- multifile boxer_assertz/3.
+:- discontiguous boxer_assertz/3.
+
:- use_module(boxer(xdrs2xml),[xdrs2xml/2,der2xml/3]).
:- use_module(boxer(drs2fdrs),[instDrs/1]).
:- use_module(boxer(printDrs),[printDrs/3]).
@@ -20,7 +25,7 @@
/* ------------------------------------------------------------------------
Options
------------------------------------------------------------------------- */
+-- */
printOptions([],Stream):- !,
nl(Stream).
@@ -32,29 +37,29 @@
/* ------------------------------------------------------------------------
Print header: --format no
------------------------------------------------------------------------- */
+-- */
printHeader(_,_,_,_):-
option('--format',no), !.
/* ------------------------------------------------------------------------
Print header: --format prolog
------------------------------------------------------------------------- */
+-- */
printHeader(Stream,_,Command,Options):-
option('--format',prolog), !,
- format(Stream,'%%% This output was generated by the following command:~n',[]),
- format(Stream,'%%% ~p ',[Command]),
+ 'format'(Stream,'%%% This output was generated by the following command:~n',[]),
+ 'format'(Stream,'%%% ~p ',[Command]),
printOptions(Options,Stream),
( option('--semantics',drs), !,
- format(Stream,'~n:- multifile sem/3, id/2.',[]),
- format(Stream,'~n:- discontiguous sem/3, id/2.',[]),
- format(Stream,'~n:- dynamic sem/3, id/2.~n',[])
+ 'format'(Stream,'~n:- multifile sem/3, id/2.',[]),
+ 'format'(Stream,'~n:- discontiguous sem/3, id/2.',[]),
+ 'format'(Stream,'~n:- dynamic sem/3, id/2.~n',[])
; true ).
/* ------------------------------------------------------------------------
Print header: --format latex
------------------------------------------------------------------------- */
+-- */
printHeader(Stream,_,_,_):-
option('--format',latex), !,
@@ -86,25 +91,25 @@
/* ------------------------------------------------------------------------
Print header: --format dot
------------------------------------------------------------------------- */
+-- */
printHeader(_,_,_,_):-
option('--format',dot), !.
/* ------------------------------------------------------------------------
Print header: --format xml
------------------------------------------------------------------------- */
+-- */
printHeader(Stream,Version,_,_):-
option('--format',xml), !,
- format(Stream,'~n',[]),
- format(Stream,'~n',[]),
- format(Stream,'~n',[Version]).
+ 'format'(Stream,'~n',[]),
+ 'format'(Stream,'~n',[]),
+ 'format'(Stream,'~n',[Version]).
/* ------------------------------------------------------------------------
Print header: failed, generate warning
------------------------------------------------------------------------- */
+-- */
printHeader(_,_,_,_):-
option('--format',Format),
@@ -114,22 +119,22 @@
/* ------------------------------------------------------------------------
Print footer
------------------------------------------------------------------------- */
+-- */
printFooter(Stream):-
option('--format',xml),
- format(Stream,' ~n',[]).
+ 'format'(Stream,' ~n',[]).
printFooter(Stream):-
option('--format',latex), !,
- format(Stream,'\\end{document}~n',[]).
+ 'format'(Stream,'\\end{document}~n',[]).
printFooter(_).
-/* ========================================================================
+/*========================================================================
Print Utterance + Semantic Representation
-======================================================================== */
+ */
printSem(Stream,_Id,_Index,Ders):-
option('--semantics',der), !, %%% derivation
@@ -143,7 +148,7 @@
/* =======================================================================
Print Derivations
-========================================================================*/
+*/
printDerList(_,[]):- !.
@@ -153,6 +158,12 @@
printDerList(Stream,L).
printDerList(Stream,[der(I,Der)|L]):-
+ option('--loaded',do),!,
+ output:boxer_assertz(Stream,der(I,Der),[]),
+ printDer(Der,Stream),
+ printDerList(Stream,L).
+
+printDerList(Stream,[der(I,Der)|L]):-
write(Stream,'der( '), write(Stream,I), write(Stream,', '),
printDer(Der,Stream),
write(Stream,' ).'), nl(Stream), !,
@@ -162,18 +173,29 @@
warning('cannot print derivation ~p',[I]),
printDerList(Stream,L).
-
/*========================================================================
Print Derivation (bit of a hack right now!)
-========================================================================*/
+*/
+printDer(Comb,Stream):- fail,
+ option('--loaded',do),!,
+ with_output_to(string(String),
+ (current_input(IStream),
+ must(printDirAtom(Comb,IStream)),
+ 'format'(IStream,'.~n',[]))),
+ read_term_from_atom(String,Term,[]),
+ output:boxer_assertz(Stream,printDer(Term,Comb),[]),!.
printDer(Comb,Stream):-
+ printDirAtom(Comb,Stream).
+
+
+printDirAtom(Comb,Stream):-
Comb = t(Cat,Tok,Sem,Att,_), !,
betaConvert(Sem,Red),
\+ \+ ( instDrs(Red),
write_term(Stream,t(Red,Cat,Tok,Att),[numbervars(true),quoted(true)]) ).
-printDer(Comb,Stream):-
+printDirAtom(Comb,Stream):-
Comb =.. [Rule,Cat,_,Sem,_,_,T],
member(Rule,[ftr,btr,tc]), !,
write(Stream,Rule),
@@ -184,10 +206,10 @@
\+ \+ ( instDrs(Red),
write_term(Stream,Red,[numbervars(true),quoted(true)]) ),
write(Stream,','),
- printDer(T,Stream),
+ printDirAtom(T,Stream),
write(Stream,')').
-printDer(Comb,Stream):-
+printDirAtom(Comb,Stream):-
Comb =.. [Rule,Cat,Sem,_,_,L,R], !,
write(Stream,Rule),
write(Stream,'('),
@@ -197,12 +219,12 @@
\+ \+ ( instDrs(Red),
write_term(Stream,Red,[numbervars(true),quoted(true)]) ),
write(Stream,','),
- printDer(L,Stream),
+ printDirAtom(L,Stream),
write(Stream,','),
- printDer(R,Stream),
+ printDirAtom(R,Stream),
write(Stream,')').
-printDer(Comb,Stream):-
+printDirAtom(Comb,Stream):-
Comb =.. [Rule,Cat,_,Sem,_,_,L,R], !,
write(Stream,Rule),
write(Stream,'('),
@@ -212,30 +234,35 @@
\+ \+ ( instDrs(Red),
write_term(Stream,Red,[numbervars(true),quoted(true)]) ),
write(Stream,','),
- printDer(L,Stream),
+ printDirAtom(L,Stream),
write(Stream,','),
- printDer(R,Stream),
+ printDirAtom(R,Stream),
write(Stream,')').
-printDer(Comb,_):-
+printDirAtom(Comb,_):-
warning('cannot print the derivation ~p',[Comb]).
/* ========================================================================
Print DRS
-======================================================================== */
+*/
printXDRS(Stream,_,_,XDRS):-
option('--semantics',drs),
+ option('--loaded',do),!,
+ output:boxer_assertz(Stream,XDRS,[]),!.
+
+printXDRS(Stream,_,_,XDRS):-
+ option('--semantics',drs),
option('--format',no), !,
printBox(Stream,XDRS).
printXDRS(Stream,Id,_Index,XDRS):-
option('--semantics',drs),
option('--format',xml), !,
- format(Stream,'~n',[Id]),
+ 'format'(Stream,'~n',[Id]),
xdrs2xml(XDRS,Stream),
- format(Stream,' ~n',[]).
+ 'format'(Stream,' ~n',[]).
printXDRS(Stream,_Id,_Index,XDRS):-
option('--semantics',drs),
@@ -244,11 +271,12 @@
drs2tex(DRS,Stream),
nl(Stream), nl(Stream).
+
printXDRS(Stream,Id,Index,XDRS):-
option('--semantics',drs), !,
XDRS = xdrs(Tags,DRS),
- format(Stream,'id(~q,~p).~n',[Id,Index]),
- format(Stream,'sem(~p,',[Index]),
+ printId(Stream,Id,Index),
+ 'format'(Stream,'sem(~p,',[Index]),
printStuff(Tags,Stream,','),
printStuff(DRS,Stream,').'),
printBox(Stream,DRS),
@@ -257,26 +285,32 @@
/* ========================================================================
Print PDRS
-======================================================================== */
+*/
printXDRS(Stream,_,_,XDRS):-
option('--semantics',pdrs),
+ option('--loaded',do),
+ output:boxer_assertz(Stream,XDRS,[]),!.
+
+
+printXDRS(Stream,_,_,XDRS):-
+ option('--semantics',pdrs),
option('--format',no), !,
printBox(Stream,XDRS).
printXDRS(Stream,Id,_Index,XDRS):-
option('--semantics',pdrs),
option('--format',xml), !,
- format(Stream,'~n',[Id]),
+ 'format'(Stream,'~n',[Id]),
xdrs2xml(XDRS,Stream),
printBox(Stream,XDRS),
- format(Stream,' ~n',[]).
+ 'format'(Stream,' ~n',[]).
printXDRS(Stream,Id,Index,XDRS):-
option('--semantics',pdrs),
XDRS = xdrs(Tags,DRS),
- format(Stream,'id(~q,~p).~n',[Id,Index]),
- format(Stream,'sem(~p,',[Index]),
+ printId(Stream,Id,Index),
+ 'format'(Stream,'sem(~p,',[Index]),
printStuff(Tags,Stream,','),
printStuff(DRS,Stream,').'),
printBox(Stream,XDRS),
@@ -285,8 +319,14 @@
/* ========================================================================
Print DRG
-======================================================================== */
+*/
+printXDRS(Stream,_,_,XDRS):-
+ option('--semantics',drg),
+ option('--loaded',do),
+ output:boxer_assertz(Stream,XDRS,[]),!.
+
+
printXDRS(Stream,_Id,_Index,XDRS):-
option('--semantics',drg), !,
XDRS = xdrs(_,Tuples),
@@ -296,41 +336,56 @@
/* ========================================================================
Print FOL
-======================================================================== */
+*/
+printXDRS(Stream,_,_,XDRS):-
+ option('--semantics',fol),
+ option('--loaded',do),
+ output:boxer_assertz(Stream,XDRS,[]),!.
+
printXDRS(Stream,Id,Index,XDRS):-
option('--semantics',fol), !,
- format(Stream,'id(~q,~p).~n',[Id,Index]),
+ printId(Stream,Id,Index),
XDRS = xdrs(_Tags,FOL),
numbervars(FOL,0,_),
- format(Stream,'fol(~p,',[Index]),
+ 'format'(Stream,'fol(~p,',[Index]),
write_term(Stream,FOL,[numbervars(true),quoted(true)]),
write(Stream,').'), nl(Stream).
/* ========================================================================
Print TACITUS
-======================================================================== */
+*/
+printXDRS(Stream,_,_,XDRS):-
+ option('--semantics',tacitus),
+ option('--loaded',do),
+ output:boxer_assertz(Stream,XDRS,[]),!.
+
printXDRS(Stream,Id,Index,XDRS):-
option('--semantics',tacitus), !,
- format(Stream,'id(~q,~p).~n',[Id,Index]),
+ printId(Stream,Id,Index),
XDRS = xdrs(Tags,TAC),
printTags(Tags,Stream,''),
printTAC(TAC,Stream).
+printId(Stream,Id,Index):-
+ option('--loaded',do),
+ output:boxer_assertz(Stream,id(Id,Index),[]),!.
+printId(Stream,Id,Index):-'format'(Stream,'id(~q,~p).~n',[Id,Index]).
+
/*========================================================================
Print Box
-========================================================================*/
+*/
printBox(Stream,XDRS):-
option('--box',true),
option('--format',xml), !,
- format(Stream,'~n ~n~n',[]).
+ 'format'(Stream,'--> ~n~n',[]).
printBox(Stream,XDRS):-
option('--box',true), !,
@@ -343,7 +398,7 @@
/* ========================================================================
Left Margin (for DRS printing)
-======================================================================== */
+*/
leftMargin(Margin):- option('--format',prolog), !, Margin = '%%% '.
leftMargin(Margin):- option('--format',latex), !, Margin = '%%% '.
@@ -353,11 +408,15 @@
/*========================================================================
Print Utterance
-========================================================================*/
+*/
printUtterance(Stream,Words):-
+ option('--loaded',do),
+ output:boxer_assertz(Stream,words(Words),[]),!.
+
+printUtterance(Stream,Words):-
option('--format',prolog), !,
- format(Stream,'%%% ',[]),
+ 'format'(Stream,'%%% ',[]),
printWords(Words,Stream),
nl(Stream).
@@ -369,15 +428,15 @@
printUtterance(Stream,Words):-
option('--format',dot), !,
- format(Stream,'# ',[]),
+ 'format'(Stream,'# ',[]),
printWords(Words,Stream),
nl(Stream).
printUtterance(Stream,Words):-
option('--format',xml), !,
- format(Stream,' ~n~n',[]).
+ 'format'(Stream,'--> ~n~n',[]).
printUtterance(Stream,Words):-
option('--format',no), !,
@@ -387,7 +446,7 @@
/*========================================================================
Print Words
-========================================================================*/
+*/
printWords([],_):- !.
@@ -398,7 +457,7 @@
printWords([ID:[tok:New|R]|L],Stream).
printWords([_ID:[tok:Tok|_]|L],Stream):- !,
- format(Stream,'~w ',[Tok]),
+ 'format'(Stream,'~w ',[Tok]),
printWords(L,Stream).
printWords([_Unknown|L],Stream):- !,
@@ -407,17 +466,24 @@
/*========================================================================
Print Stuff
-========================================================================*/
+*/
printStuff(Stuff,Stream,Closing):-
- numbervars(Stuff,1,_),
+ option('--loaded',do),
+ boxer_assertz(Stream,stuff(Stuff),[numbervars(true),quoted(true)]),
write_term(Stream,Stuff,[numbervars(true),quoted(true)]),
- format(Stream,'~p',[Closing]).
+ 'format'(Stream,'~p',[Closing]).
+printStuff(Stuff,Stream,Closing):-
+ numbervars(Stuff,1,_),
+ portray_clause(Stream,Stuff,[numbervars(true),quoted(true)]),
+ % write_term(Stream,Stuff,[numbervars(true),quoted(true)]),
+ 'format'(Stream,'~p',[Closing]).
+
/*========================================================================
Print Tags
-========================================================================*/
+*/
printTags([],Stream,Ending):-
write(Stream,Ending).
Index: src/prolog/boxer/ppDrs.pl
===================================================================
--- src/prolog/boxer/ppDrs.pl (revision 2527)
+++ src/prolog/boxer/ppDrs.pl (working copy)
@@ -10,7 +10,7 @@
/*========================================================================
Dynamic Predicates
-========================================================================*/
+*/
:- dynamic counter/1.
@@ -19,7 +19,7 @@
/*========================================================================
Postprocessing XDRSs
-========================================================================*/
+*/
ppDrs(X,_,X):- !.
@@ -34,7 +34,7 @@
/*========================================================================
Postprocessing DRSs
-========================================================================*/
+*/
ppDrs(merge(A1,A2),P,E,W,C,CD1-CD3,merge(A3,A4)):- !,
ppDrs(A1,P,E,W,C,CD1-CD2,A3),
@@ -55,7 +55,7 @@
/*========================================================================
Postprocessing DRS-Conditions
-========================================================================*/
+*/
ppConds(drs([],[]),_,_,_,_,CD-CD,drs([],[])):- !.
@@ -101,7 +101,7 @@
/*========================================================================
Postprocessing DRS-Conditions
-========================================================================*/
+*/
checkDrs(B1,POS,NE,Words,Context,CDRS,B4):-
rule(Check,Remove,Constraints,Add),
@@ -116,7 +116,7 @@
/*========================================================================
Member check DRS-Conditions
-========================================================================*/
+*/
member(drs([],[]),_,_):- !.
@@ -139,7 +139,7 @@
/*========================================================================
Remove DRS-Conditions
-========================================================================*/
+*/
remove(drs([],[]),B,B):- !.
@@ -154,7 +154,7 @@
/*========================================================================
Add DRS-Conditions
-========================================================================*/
+*/
add(drs([],[]),B,B).
@@ -167,7 +167,7 @@
/*========================================================================
Check constraints
-========================================================================*/
+*/
checkConstraints([],_,_,_,_).
@@ -240,7 +240,7 @@
/* ------------------------------------------------------------------------------
Next
------------------------------------------------------------------------------- */
+-------- */
nextYear(Year,NextYear):-
atom_number(Year,Y),
@@ -263,7 +263,7 @@
/* ------------------------------------------------------------------------------
Last
------------------------------------------------------------------------------- */
+-------- */
lastYear(Year,LastYear):-
atom_number(Year,Y),
@@ -286,7 +286,7 @@
/* ------------------------------------------------------------------------------
Dealing with Quotes [new]
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:pred(X,quotation,n,2),[J]:pred(X,quotation,n,2)]),
@@ -298,7 +298,7 @@
/* ------------------------------------------------------------------------------
Dealing with Quotes [old, bit of a hack]
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[I:pred(X,Sym,a,0)]),
@@ -325,7 +325,7 @@
/* ------------------------------------------------------------------------------
Dealing with URLs and emails
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[I:pred(X,Sym,_,Sense)]),
@@ -360,7 +360,7 @@
/* ------------------------------------------------------------------------------
Title, Names
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[I:named(X,Title,nam,Sense1),J:named(X,Sym,Type,Sense2)]),
@@ -394,7 +394,7 @@
/* ------------------------------------------------------------------------------
Ampersand in company names
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:pred(X,'&',a,_)]),
@@ -427,12 +427,12 @@
[ ne(I,['I-LOC','B-LOC','I-LOCATION']) ],
drs([],[[I]:named(X,Sym,loc,Sense)])).
------------------------------------------------------------------------------- */
+-------- */
/* ------------------------------------------------------------------------------
Compound numeral expressions (e.g. "4 billion")
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:card(X,Num1,Type),[J]:card(X,1000000000,Type)]),
@@ -453,7 +453,7 @@
Num2 is integer(1000000 * Num1) ],
drs([],[[I,J]:card(X,Num2,Type)])).
------------------------------------------------------------------------------- */
+-------- */
/* ------------------------------------------------------------------------------
@@ -467,11 +467,11 @@
Num2 is integer(1000 * Num1) ],
drs([],[[I,J]:card(X,Num2,Type)])).
------------------------------------------------------------------------------- */
+-------- */
/* ------------------------------------------------------------------------------
Compound numeral expressions (e.g. "four feet ten inches")
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:card(X,Num1,Type),[J]:pred(X,foot,n,Sense),
@@ -486,7 +486,7 @@
/* ------------------------------------------------------------------------------
Date expressions (e.g. "March 2, 2004")
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:pred(X,Month,a,_),[J]:card(X,Day,ge),[K]:card(X,Year,ge)]),
@@ -529,7 +529,7 @@
/* ------------------------------------------------------------------------------
Clocktime expressions (e.g. "at 4 : 30 pm")
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:card(X,Hour,ge),[I]:pred(X,thing,n,12),[J]:rel(X,Y,':',_),[K]:card(Y,Minutes,ge),[L]:pred(Y,AMPM,n,_)]),
@@ -558,7 +558,7 @@
/* ------------------------------------------------------------------------------
Clocktime expressions (e.g. "2200 GMT")
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:card(X,Time,ge),[J]:pred(X,gmt,n,_)]),
@@ -571,7 +571,7 @@
/* ------------------------------------------------------------------------------
Date expressions (e.g. "10th of March , 2004")
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:pred(X,Day,_,_),[J]:rel(X,Y,of,_),[K]:named(Y,Month,nam,_),[M]:card(_,Year,ge)]),
@@ -605,7 +605,7 @@
/* ------------------------------------------------------------------------------
Date expressions (e.g. "June 30", "28 July")
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:named(X,Month,nam,_),[J]:card(X,Day,ge)]),
@@ -646,7 +646,7 @@
/* ------------------------------------------------------------------------------
Date expressions (e.g. "June 1998")
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:named(X,Month,nam,_),[J]:card(X,Year,ge)]),
@@ -661,7 +661,7 @@
/* ------------------------------------------------------------------------------
Date expressions (e.g. "June")
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:named(X,Month,nam,_)]),
@@ -682,7 +682,7 @@
/* ------------------------------------------------------------------------------
Date expressions (years B.C.)
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:card(X,Year,ge),[J]:named(X,BC,_,_)]),
@@ -707,7 +707,7 @@
/* ------------------------------------------------------------------------------
Date expressions (years A.D.)
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:card(X,Year,ge),[J]:named(X,AD,_,_)]),
@@ -752,7 +752,7 @@
/* ------------------------------------------------------------------------------
Date expressions (years)
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:card(X,Year,ge)]),
@@ -768,7 +768,7 @@
/* ------------------------------------------------------------------------------
Date expressions (e.g. "in/by/to/from 1992")
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[[J]:rel(_,X,_,_)]),
drs([],[[I]:card(X,Year,ge)]),
@@ -784,7 +784,7 @@
/* ------------------------------------------------------------------------------
Date expressions (decades)
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[_:rel(_,X,in,_)]),
drs([],[[I]:pred(X,Decade,_,_)]),
@@ -805,7 +805,7 @@
/* ------------------------------------------------------------------------------
Date expressions (e.g. 11th century)
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:pred(X,Century,a,_),[J]:pred(X,century,n,_)]),
@@ -826,7 +826,7 @@
/* ------------------------------------------------------------------------------
Date expressions (e.g. "the september 11 plot")
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:named(X,Month,nam,_),[]:rel(X,Y,nn,Sense),[J]:card(Y,Day,ge)]),
@@ -840,7 +840,7 @@
/* ------------------------------------------------------------------------------
Date expressions (repair rules)
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([_:Y],[[L]:timex(X,date([]:'+',[L]:Year,[]:_,[]:_)),[I,J]:timex(Y,date([]:'+',[]:_,[I]:Month,[J]:Day)),[L]:rel(E,X,rel,0),_:rel(E,Y,rel,0)]),
@@ -854,7 +854,7 @@
/* ------------------------------------------------------------------------------
Indirect time expressions: today
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[I:pred(X,today,n,_)]),
@@ -868,7 +868,7 @@
/* ------------------------------------------------------------------------------
Indirect time expressions: next/last/this year/month
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:pred(X,current,a,1),[J]:pred(X,year,n,_)]),
@@ -923,7 +923,7 @@
/* ------------------------------------------------------------------------------
Date expressions (implicit year)
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[_:rel(E,X,_,_),_:pred(E,future,a,1)]),
drs([],[I1:timex(X,date([]:'+',[]:'XXXX',I2:Month,Day))]),
@@ -956,7 +956,7 @@
/* ------------------------------------------------------------------------------
NN-resolution (e.g. "document collection/grape variety")
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[[I]:pred(X,_,n,_),[J]:pred(Y,Collection,n,_)]),
drs([],[[]:rel(X,Y,nn,_)]),
@@ -970,7 +970,7 @@
/* ------------------------------------------------------------------------------
Cardinals: just/exactly/at most CARD
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:pred(X,just,a,_),[J]:card(X,C,ge)]),
@@ -997,7 +997,7 @@
/* ------------------------------------------------------------------------------
Compound Names
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[I:named(X,Sym1,Type,Sense),J:named(X,Sym2,nam,_)]),
@@ -1029,7 +1029,7 @@
/* ------------------------------------------------------------------------------
NN compounds: DATE + NAME / NOUN
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[J:named(X,_,_,_)]),
drs([],[I:timex(X,Timex)]),
@@ -1059,7 +1059,7 @@
/* ------------------------------------------------------------------------------
NN compounds: PN + NOUN + NOUN
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[J:pred(X,Sym,n,_)]),
drs([],[H:named(X,Sym0,Type,Sense),I:pred(X,Sym1,n,Sense1)]),
@@ -1077,7 +1077,7 @@
/* ------------------------------------------------------------------------------
NN compounds: NOUN + PN + NOUN
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[J:pred(X,Sym,n,_)]),
drs([],[H:pred(X,Sym0,n,Sense1),I:named(X,Sym1,Type,Sense)]),
@@ -1095,7 +1095,7 @@
/* ------------------------------------------------------------------------------
NN compounds: CARD + NOUN + NOUN
------------------------------------------------------------------------------- */
+-------- */
% [4007]:pred(_G10737, percent, n, 1), [4006]:card(_G10737, 83.4, ge), [4008]:pred(_G10737, interest, n, 0)]
@@ -1125,12 +1125,12 @@
drs([I:New],[I:pred(New,Sym,n,Sense),[]:rel(New,X,nn,0)])
).
------------------------------------------------------------------------------- */
+-------- */
/* ------------------------------------------------------------------------------
NN compounds: NOUN + ADJ + NOUN
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[J:pred(X,_,a,_),K:pred(X,_,n,_)]),
drs([],[I:pred(X,Sym,n,Sense)]),
@@ -1145,7 +1145,7 @@
/* ------------------------------------------------------------------------------
NN compounds: PN + PN + NOUN
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[J:pred(X,_,n,_)]),
drs([],[H:named(X,Sym0,per,Sense1),I:named(X,Sym1,per,Sense2)]),
@@ -1159,7 +1159,7 @@
/* ------------------------------------------------------------------------------
NN compounds: NAME + NOUN
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[J:pred(X,_,n,_)]),
drs([],[I:named(X,Sym1,Type,Sense1)]),
@@ -1172,7 +1172,7 @@
/* ------------------------------------------------------------------------------
NN compounds: NOUN + NAME
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[J:named(X,_,_,_)]),
drs([],[I:pred(X,Sym,n,Sense)]),
@@ -1186,7 +1186,7 @@
/* ------------------------------------------------------------------------------
Dimensional Adjectives
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[[I]:pred(X,Adj,a,_)]),
@@ -1201,7 +1201,7 @@
/* ------------------------------------------------------------------------------
Framenet targets
------------------------------------------------------------------------------- */
+-------- */
rule(drs([],[]),
drs([],[I:pred(E,Sym,v,0)]),
@@ -1244,7 +1244,7 @@
/* ------------------------------------------------------------------------------
Framenet roles
------------------------------------------------------------------------------- */
+-------- */
% basic two-place relation
%
@@ -1279,7 +1279,7 @@
/*========================================================================
New Refs
-========================================================================*/
+*/
newref(X):-
counter(Old),
@@ -1291,7 +1291,7 @@
/*========================================================================
Adjacent Indexes
-========================================================================*/
+*/
adjacent(A,B,C):-
reverse(A,[I|_]),
@@ -1302,7 +1302,7 @@
/*========================================================================
Months
-========================================================================*/
+*/
month('january','01').
month('jan','01').
@@ -1395,7 +1395,7 @@
/*========================================================================
Format Years
-========================================================================*/
+*/
yearBC(bc).
yearBC(bce).
@@ -1432,7 +1432,7 @@
/*========================================================================
Centuries
-========================================================================*/
+*/
century('1st', '00XX').
century('first', '00XX').
@@ -1469,7 +1469,7 @@
/*========================================================================
Decades
-========================================================================*/
+*/
decade(Date,Decade):-
name(Date,[A,B,C,48]),
@@ -1519,7 +1519,7 @@
/*========================================================================
Days
-========================================================================*/
+*/
day(1,'01').
day('1st','01').
@@ -1587,7 +1587,7 @@
/*========================================================================
Hours
-========================================================================*/
+*/
hour(N,'a.m.',NN):- !, hour(N,am,NN).
hour(N,'p.m.',NN):- !, hour(N,pm,NN).
@@ -1631,7 +1631,7 @@
/*========================================================================
Dimensions
-========================================================================*/
+*/
dimension(big,size,1).
dimension(small,size,1).
@@ -1657,7 +1657,7 @@
/*========================================================================
Quoted strings
-========================================================================*/
+*/
quoted(Pred):-
atom(Pred),
@@ -1670,7 +1670,7 @@
/*========================================================================
URL
-========================================================================*/
+*/
url(Pred):-
atom(Pred),
@@ -1680,7 +1680,7 @@
/*========================================================================
Email
-========================================================================*/
+*/
email(Pred):-
atom(Pred),
@@ -1691,7 +1691,7 @@
/*========================================================================
Postprocessing Words
-========================================================================*/
+*/
ppWords([],_,[],[]).
@@ -1726,7 +1726,7 @@
/*========================================================================
Postprocessing quoted strings
-========================================================================*/
+*/
convertQuotes([],[]).
Index: src/prolog/boxer/presupDRT.pl
===================================================================
--- src/prolog/boxer/presupDRT.pl (revision 2527)
+++ src/prolog/boxer/presupDRT.pl (working copy)
@@ -11,7 +11,7 @@
/* ========================================================================
Main predicate: resolveDrs/2
-======================================================================== */
+*/
resolveDrs(B1,B2):-
resolveDrs(B1,B2,_).
@@ -19,7 +19,7 @@
/* ========================================================================
Main predicate: resolveDrs/3 (DRS)
-======================================================================== */
+*/
resolveDrs(alfa(top,B1,B2),RDRS,Links):-
option('--theory',drt), !,
@@ -36,7 +36,7 @@
/* ========================================================================
Main predicate: resolveDrs/3 (SDRS)
-======================================================================== */
+*/
resolveDrs(B,SDRS,Links):-
option('--theory',sdrt),
@@ -62,7 +62,7 @@
binding links. "Ac" holds a list of accommodation sites (represented as
a/1 terms), and "Bi" a list of binding sites (represented as r/2 terms).
-======================================================================== */
+*/
resolveDrs(ADRS,DRS,L1,L3):-
findAlfaDrs(ADRS,RDRS,alfa(Type,Alfa),Ac,[]-Bi), !,
@@ -76,7 +76,7 @@
/* ========================================================================
Find First Alfa-DRS (DRSs)
-======================================================================== */
+*/
findAlfaDrs(alfa(top,B1,B3),Res,Alfa,Ac,Bi1-Bi2):- !,
mergeDrs(B1,M1),
@@ -151,7 +151,7 @@
/* ========================================================================
Find First Alfa-DRS (DRS-Conditions)
-======================================================================== */
+*/
findAlfaConds([I:X1|C1],[I:X2|C2],Alfa,Ac,Bi1-Bi2):- !,
findAlfaConds([X1|C1],[X2|C2],Alfa,Ac,Bi1-Bi2).
@@ -205,7 +205,7 @@
/* ========================================================================
Resolve alfa: binding or accommodation
-======================================================================== */
+*/
resolveAlfa(Alfa,Type,Ac,Bi,B,L1,L2):-
option('--presup',max),
@@ -222,7 +222,7 @@
/* ------------------------------------------------------------------------
Typology: atype(Type, Global, Local, Binding)
------------------------------------------------------------------------- */
+-- */
atype(def,1,1,1). % definite descriptions
atype(nam,1,0,1). % proper names
@@ -235,7 +235,7 @@
/* ------------------------------------------------------------------------
Binding: select an antecedent, then merge the domain and the conditions
------------------------------------------------------------------------- */
+-- */
bindAlfa(Type,[a(drs([],[]))|P],Alfa,L1,L2):-
!, %%% cannot bind here, so try next level of DRS
@@ -282,14 +282,14 @@
/* ------------------------------------------------------------------------
Check if two indices share a common element
------------------------------------------------------------------------- */
+-- */
common(Index1,Index2):- member(X,Index1), member(X,Index2), !.
/* ------------------------------------------------------------------------
Check if coordinated items are resolved to the same antecedent
------------------------------------------------------------------------- */
+-- */
coordinated(AnaIndex,AntIndex,Bound):-
\+ ( member(bind(AnaIndex,OtherIndex),Bound),
@@ -345,7 +345,7 @@
/* ------------------------------------------------------------------------
Forced local accommodation (option 'presup --min')
------------------------------------------------------------------------- */
+-- */
accommodateAlfa(_,[a(Alfa)],Alfa):-
option('--presup',min), !. %%% force local accommodation
@@ -362,7 +362,7 @@
order of the list corresponds to the level of the accommodation
site: the first a/1 term is the most global site, the last element
the most local accommodation site.
------------------------------------------------------------------------- */
+-- */
accommodateAlfa(Type,[r(R,R)|P],Alfa):- !,
accommodateAlfa(Type,P,Alfa).
@@ -390,7 +390,7 @@
/* ========================================================================
Do not resolve remaining of projection path
-======================================================================== */
+*/
dontResolve([]):- !.
@@ -403,7 +403,7 @@
/* ========================================================================
Merge Domains - Check for Duplicates; Copy Indexes
-======================================================================== */
+*/
mergeDomains([],L,L):- !.
@@ -427,7 +427,7 @@
/* ========================================================================
Merge Conditions - Check for Duplicates; Copy Indexes
-======================================================================== */
+*/
mergeConditions([],L,L):- !.
Index: src/prolog/boxer/printCCG.pl
===================================================================
--- src/prolog/boxer/printCCG.pl (revision 2527)
+++ src/prolog/boxer/printCCG.pl (working copy)
@@ -7,7 +7,7 @@
/* ----------------------------------------------------------------------
Main Predicate
----------------------------------------------------------------------- */
+ */
printCCG(CCG,Stream):-
ccg2lines(CCG,_,Lines), !,
@@ -20,7 +20,7 @@
/* ----------------------------------------------------------------------
Print Lines (the CCG derivation)
----------------------------------------------------------------------- */
+ */
printLines([],Stream):-
nl(Stream).
@@ -32,7 +32,7 @@
/* ----------------------------------------------------------------------
Compute each line
----------------------------------------------------------------------- */
+ */
ccg2lines(n(X),Len,Lines):- !,
ccg2lines(X,Len,Lines).
@@ -91,7 +91,7 @@
/* ----------------------------------------------------------------------
Combine Lines
----------------------------------------------------------------------- */
+ */
combLines(MaxLeft,Left,MaxRight,Right,Max,New):-
Max is MaxLeft + MaxRight + 1,
@@ -115,7 +115,7 @@
/* ----------------------------------------------------------------------
Filling out spaces to the right (sometimes needed)
----------------------------------------------------------------------- */
+ */
fillRight(L,TreeLen,CatLen,TreeLen,L):-
TreeLen > CatLen, !.
@@ -138,7 +138,7 @@
/* ----------------------------------------------------------------------
Format a rule
----------------------------------------------------------------------- */
+ */
rule(Rule,Max,Line):-
atom_length(Rule,Len),
@@ -151,7 +151,7 @@
/* ----------------------------------------------------------------------
Format a cat
----------------------------------------------------------------------- */
+ */
cat(Cat,Max,Line):-
atom_length(Cat,Len),
@@ -162,7 +162,7 @@
/* ----------------------------------------------------------------------
Fill a line with a character
----------------------------------------------------------------------- */
+ */
fill(Atom,Len,Result):-
atom_codes(Atom,[Code]),
@@ -180,7 +180,7 @@
/* ----------------------------------------------------------------------
Convert a CCG cat to an atom
----------------------------------------------------------------------- */
+ */
cat2atom(Cat,Atom):- cat2atom(Cat,Atom,top).
@@ -224,7 +224,7 @@
/* ----------------------------------------------------------------------
Binary Rule Name
----------------------------------------------------------------------- */
+ */
binRuleName(ba(N,_,_,_,Left,Right),N,Left,Right,'<').
binRuleName(fa(N,_,_,_,Left,Right),N,Left,Right,'>').
Index: src/prolog/boxer/printDrs.pl
===================================================================
--- src/prolog/boxer/printDrs.pl (revision 2527)
+++ src/prolog/boxer/printDrs.pl (working copy)
@@ -5,14 +5,14 @@
/* ========================================================================
Counter for discourse referents
-======================================================================== */
+*/
:- dynamic counter/1. counter(0).
/* ========================================================================
Main Predicate
-======================================================================== */
+*/
printDrs(B):-
printDrs(user_output,B).
@@ -34,7 +34,7 @@
/* ========================================================================
Print DRS Lines
-======================================================================== */
+*/
printDrsLines([],_,_):- !.
@@ -48,7 +48,7 @@
/* ========================================================================
Dealing with a variable
-======================================================================== */
+*/
avar(Var):- var(Var), !.
avar(Var):- atom(Var), !.
@@ -61,7 +61,7 @@
+Lines, % List of lists of character codes of equal length
+Width) % Length of the lines
-======================================================================== */
+*/
formatDrs(Var,[Line,Line,Line,Codes,Line],N):-
avar(Var), !,
@@ -133,7 +133,7 @@
/*========================================================================
Format Complex DRSs
-========================================================================*/
+*/
complexDrs(merge(Drs1,Drs2),'+',Drs1,Drs2):- !.
complexDrs(alfa(_,Drs1,Drs2),'*',Drs1,Drs2):- !.
@@ -142,7 +142,7 @@
/*========================================================================
Format Discourse Referents
-========================================================================*/
+*/
formatRefs([],[]):- !.
@@ -163,7 +163,7 @@
/*========================================================================
Format Lambda bound Variable
-========================================================================*/
+*/
formatLambda(Var,Out,N):-
makeConstant(Var,Code),
@@ -176,7 +176,7 @@
/*========================================================================
Turn a discourse referent into a Prolog constant
-========================================================================*/
+*/
makeConstant(X,Code):- !,
makeConst(X,Code,120).
@@ -207,7 +207,7 @@
/*========================================================================
Format a Line
-========================================================================*/
+*/
formatLine(_,0,L-L):- !.
@@ -218,7 +218,7 @@
/*========================================================================
Formatting DRS-Conditions
-========================================================================*/
+*/
formatConds([],L-L,N-N):- !.
@@ -235,7 +235,7 @@
/*========================================================================
Formatting Condition
-========================================================================*/
+*/
formatCond(cons([C]),L1-L2,N1-N3):- !,
formatDrs(C,Lines,N2),
@@ -329,7 +329,7 @@
/*========================================================================
Formatting Complex Conditions
-========================================================================*/
+*/
complexCond(imp(Drs1,Drs2), '>' ,Drs1,Drs2).
complexCond(or(Drs1,Drs2), 'V' ,Drs1,Drs2).
@@ -342,7 +342,7 @@
/*========================================================================
Formatting Constant Relations
-========================================================================*/
+*/
specialRel(temp_before, 60):- !. %%% <
specialRel(temp_included, 91):- !. %%% [
@@ -355,7 +355,7 @@
/*========================================================================
Formatting Basic Conditions
-========================================================================*/
+*/
formatBasic(pred(Arg,Functor,_,_),Line):- !,
atom_codes(Functor,F),
@@ -404,7 +404,7 @@
/*========================================================================
Combining Lines of Characters (Complex DRS-Conditions)
-========================================================================*/
+*/
combLinesConds([A1,B1,C1,D1|Rest1],[A2,B2,C2,D2|Rest2],Result,Op,N1,N2):-
combLinesDrs([A1,B1,C1],[A2,B2,C2],Firsts,N1,N2),
@@ -415,7 +415,7 @@
/*========================================================================
Add Left Margin
-========================================================================*/
+*/
addLeftMargin([],[],_,_):- !.
@@ -427,7 +427,7 @@
/*========================================================================
Combining Lines of Characters (Complex DRSs)
-========================================================================*/
+*/
combLinesDrs([A1,B1,C1,D1|Rest1],[A2,B2,C2,D2|Rest2],Result,Op,N1,N2):-
combLinesDrs([A1,B1,C1],[A2,B2,C2],Firsts,N1,N2),
@@ -460,7 +460,7 @@
/*========================================================================
Close Conditions (add '|')
-========================================================================*/
+*/
closeConds([],[[124|Bottom]],Width):- !,
formatLine(95,Width,[124]-Bottom).
@@ -473,7 +473,7 @@
/*========================================================================
Close Line
-========================================================================*/
+*/
closeLine(Number,Left,Right,Result):-
length(Left,N1),
@@ -492,7 +492,7 @@
/*========================================================================
Time Expressions
-========================================================================*/
+*/
timex(date(_:Y,_:M,_:D),Timex):- !,
timex(date('+',Y,M,D),Timex).
Index: src/prolog/boxer/resolveDRT.pl
===================================================================
--- src/prolog/boxer/resolveDRT.pl (revision 2527)
+++ src/prolog/boxer/resolveDRT.pl (working copy)
@@ -11,14 +11,14 @@
/* ========================================================================
Dynamic Predicate
-======================================================================== */
+*/
:- dynamic antecedent/2.
/* ========================================================================
Managing Gold Standard Antecedents
-======================================================================== */
+*/
goldAntecedent(Index,Att):-
att(Att,antecedent,Antecedent),
@@ -31,7 +31,7 @@
/* ========================================================================
Main predicate: resolveDrs/1
-======================================================================== */
+*/
resolveDrs(B):- option('--resolve',true), !, resolveDRS(B,[]-_,[]-_).
resolveDrs(_).
@@ -42,7 +42,7 @@
Context is a diffrerence list of pointed DRSs (i.e. a projection
path), ordered on recency (closest first).
-======================================================================== */
+*/
resolveDRS(sdrs([],_),C-C,P-P):- !.
@@ -76,7 +76,7 @@
/* ========================================================================
Resolve Conditions
-======================================================================== */
+*/
resolveConds([],_,P-P):- !.
@@ -120,7 +120,7 @@
K2:dog(X,Y)
K3:male(Y)
K1:walks(X)
-======================================================================== */
+*/
anaphoric(P:drs(PDom,PCon),F:drs(FDom,FCon),Context,Presups):-
member(F:_:_,PDom), \+ P==F, % pick a free pointer (of DRS domain)
@@ -133,7 +133,7 @@
/* ========================================================================
Check for bound variable
-======================================================================== */
+*/
boundVar(X,P1,Dom):-
member(P2:_:Y,Dom),
@@ -144,7 +144,7 @@
/* ========================================================================
Check if there are no free variables
-======================================================================== */
+*/
noFreeVars([],_,_).
@@ -159,7 +159,7 @@
/* ========================================================================
Compute Anaphoric Material
-======================================================================== */
+*/
anaphoricSet([],_,[]).
anaphoricSet([P:E|L1],F,[P:E|L2]):- P==F, !, anaphoricSet(L1,F,L2).
@@ -175,7 +175,7 @@
+Pair of Ingoing and Output List of Presuppositions
+List of DRSs (local DRS + context DRS, to check for binding violations)
-Accumulator of solution/4)
-======================================================================== */
+*/
% No further context DRSs, no presupposed DRSs, but earlier binding
% solutions; so pick most probable solution
@@ -230,7 +230,7 @@
/* ========================================================================
Best (sorted on score, the lower the better!)
-======================================================================== */
+*/
best([Solution|_],Bs,ADRS,P-[ADRS|P]):-
Solution = solution(_Score,_,_,free),
@@ -267,7 +267,7 @@
-Matching Score,
-Matching Type)
-======================================================================== */
+*/
match(K1,C1,X,drs([_:_:Y|_],C2),Y,0,bow):-
antecedent(I2,AntInd), % there is a gold antecedent
@@ -287,7 +287,7 @@
/* ========================================================================
Check for Conflicts
-======================================================================== */
+*/
noconflicts(X,_,Y,C2):- %%% resolving should
\+ \+ ( X=Y, %%% not result in X=X
@@ -298,7 +298,7 @@
/* ========================================================================
Matching (anaphor, antecedent)
-======================================================================== */
+*/
% time
matching(Y^pred(Y,now,a,1),Z^pred(Z,now,a,1),0.99,a:now).
Index: src/prolog/boxer/sdrt.pl
===================================================================
--- src/prolog/boxer/sdrt.pl (revision 2527)
+++ src/prolog/boxer/sdrt.pl (working copy)
@@ -6,7 +6,7 @@
/* =========================================================================
Subordinate SDRT relations
-========================================================================= */
+ */
subordinate(elaboration).
subordinate(instance).
@@ -19,7 +19,7 @@
/* =========================================================================
Coordinate SDRT relations
-========================================================================= */
+ */
coordinate(continuation).
coordinate(narration).
@@ -29,7 +29,7 @@
/* =========================================================================
Insert DRS into SDRS
-========================================================================= */
+ */
mergeSDRS(smerge(S1,S2,Rel,_Pops),S3):-
subordinate(Rel), !,
@@ -42,7 +42,7 @@
/* =========================================================================
Insert subordinate DRS into SDRS
-========================================================================= */
+ */
% DRS + (S)DRS
%
@@ -68,7 +68,7 @@
/* =========================================================================
Insert coordinate DRS into SDRS
-========================================================================= */
+ */
% Make SDRSs of both DRSs (if needed)
%
Index: src/prolog/boxer/sortalCheck.pl
===================================================================
--- src/prolog/boxer/sortalCheck.pl (revision 2527)
+++ src/prolog/boxer/sortalCheck.pl (working copy)
@@ -8,7 +8,7 @@
/*========================================================================
Sortal Check (main)
-========================================================================*/
+*/
sortalCheckDrs(B,Var):-
sortalCheckDrs(B,Var,[],P),
@@ -17,7 +17,7 @@
/*========================================================================
Sortal Check (DRSs)
-========================================================================*/
+*/
sortalCheckDrs(_:drs([],C),Var,P1,P2):- !,
sortalCheckConds(C,Var,P1,P2).
@@ -40,7 +40,7 @@
/*========================================================================
Sortal Check (DRS-Conditions)
-========================================================================*/
+*/
sortalCheckConds([],_,P,P):- !.
@@ -116,7 +116,7 @@
/*========================================================================
Consistency Check (all referents)
-========================================================================*/
+*/
allconsistent([]):- !.
@@ -127,7 +127,7 @@
/*========================================================================
Consistency Check
-========================================================================*/
+*/
consistent([]):- !.
@@ -140,7 +140,7 @@
/*========================================================================
Add super concepts (by iteration until fixed point is reached)
-========================================================================*/
+*/
addSupConcepts(C1,C3):- addSuper(C1,[],C2,Add), addSupConcepts(Add,C2,C3).
addSupConcepts([],C1,C2):- !, C2=C1.
@@ -149,7 +149,7 @@
/*========================================================================
Add super concepts (one cycle)
-========================================================================*/
+*/
addSuper([],L,L,[]).
@@ -164,7 +164,7 @@
/*========================================================================
Check for a conflict
-========================================================================*/
+*/
conflict(L):-
member(X,L),
Index: src/prolog/boxer/string2digit.pl
===================================================================
--- src/prolog/boxer/string2digit.pl (revision 2527)
+++ src/prolog/boxer/string2digit.pl (working copy)
@@ -5,7 +5,7 @@
/*========================================================================
Converting strings to digits
-========================================================================*/
+*/
string2digit(X,Y):- %%% forty-five ==> 45
atom(X),
@@ -49,7 +49,7 @@
/*========================================================================
Converting strings to score
-========================================================================*/
+*/
string2score(X,Y):-
name(X,[N1|Codes]),
@@ -60,7 +60,7 @@
/*========================================================================
Look-up table
-========================================================================*/
+*/
s2d(zero,0).
s2d(one,1).
Index: src/prolog/boxer/transform.pl
===================================================================
--- src/prolog/boxer/transform.pl (revision 2527)
+++ src/prolog/boxer/transform.pl (working copy)
@@ -12,12 +12,12 @@
/* -------------------------------------------------------------------------
- Pre-Processing of CCG derivation to ensure correct format
-------------------------------------------------------------------------- */
+ Pre-Processing of CCG derivation to ensure correct 'format'
+--- */
preprocess(SID,X,Y,Tags,Start,End):-
- setTokID(SID,Start,TokID),
- trans(X,TokID,Y,End,Tags), !.
+ must_det(setTokID(SID,Start,TokID)),
+ must_det(trans(X,TokID,Y,End,Tags)), !.
preprocess(SID,_,_,_,_,_):-
error('unable to preprocess derivation ~p',[SID]), !, fail.
@@ -25,7 +25,7 @@
/* -------------------------------------------------------------------------
Funny (C&C wrongly analysed cases of N coordination)
-------------------------------------------------------------------------- */
+--- */
trans(fa(n,X,funny(n,Conj,fa(n,Y,Z))),N1,X2,N3,Tags):- !,
trans(fa(n,ba(n/n,X,conj((n/n)\(n/n),n/n,Conj,Y)),Z),N1,X2,N3,Tags).
@@ -38,7 +38,7 @@
/* -------------------------------------------------------------------------
Punctuation typechange rules
-------------------------------------------------------------------------- */
+--- */
trans(rtc(C,X1,Pu1),N1,ba(C,nil,Att,Str,X2,X3),N3,Tags1-Tags3):-
Pu1 =.. [t,_|Cs], !,
@@ -61,7 +61,7 @@
/* -------------------------------------------------------------------------
Punctuation rules
-------------------------------------------------------------------------- */
+--- */
trans(rp(Cat,X1,Y0),N1,X2,N3,Tags):-
Y0 =.. [t,_|L], !, Y1 =.. [t,Cat\Cat|L],
@@ -74,7 +74,7 @@
/* -------------------------------------------------------------------------
Application
-------------------------------------------------------------------------- */
+--- */
trans(fa(_,X1,Y1), N1, fa(C1,nil,Att,Str,X2,Y2), N3, Tags1-Tags3):- !,
trans(X1,N1,X2,N2,Tags1-Tags2),
@@ -95,7 +95,7 @@
/* -------------------------------------------------------------------------
Composition
-------------------------------------------------------------------------- */
+--- */
trans(fc(_,X1,Y1), N1, fc(C1/C3,nil,Att,Str,X2,Y2), N3, Tags1-Tags3):- !,
trans(X1,N1,X2,N2,Tags1-Tags2),
@@ -115,7 +115,7 @@
/* -------------------------------------------------------------------------
Generalised Composition
-------------------------------------------------------------------------- */
+--- */
trans(gfc(C,N,X1,Y1), N1, gfc(C,N,nil,Att,Str,X2,Y2), N3, Tags1-Tags3):- !,
trans(X1,N1,X2,N2,Tags1-Tags2),
@@ -132,7 +132,7 @@
/* -------------------------------------------------------------------------
Crossed Composition
-------------------------------------------------------------------------- */
+--- */
trans(bxc(_,X1,Y1), N1, bxc(C3/C1,nil,Att,Str,X2,Y2), N3, Tags1-Tags3):- !,
trans(X1,N1,X2,N2,Tags1-Tags2),
@@ -151,7 +151,7 @@
/* -------------------------------------------------------------------------
Generalised Crossed Composition
-------------------------------------------------------------------------- */
+--- */
trans(gfxc(C,N,X1,Y1), N1, gfxc(C,N,nil,Att,Str,X2,Y2), N3, Tags1-Tags3):- !,
trans(X1,N1,X2,N2,Tags1-Tags2),
@@ -168,7 +168,7 @@
/* -------------------------------------------------------------------------
Conjuction (Coordination)
-------------------------------------------------------------------------- */
+--- */
%trans(conj(np:nb\np:nb,np:nb,X1,Y1), N1, conj(np\np,np,nil,Att,X2,Y2), N3, Tags1-Tags3):-
% X1 =.. [t,conj|Cs], !,
@@ -213,7 +213,7 @@
/* -------------------------------------------------------------------------
Unary Rules: Type Changing
-------------------------------------------------------------------------- */
+--- */
trans(lx(C,D,X),N1,T,N2,Tags):- !, trans(tc(C,D,X),N1,T,N2,Tags).
@@ -227,7 +227,7 @@
/* -------------------------------------------------------------------------
Unary Rules: Type Raising
-------------------------------------------------------------------------- */
+--- */
trans(tr(C1/(C1\C2),X1), N1, ftr(C1/(C1\C2),C2,nil,Att,Str,X2), N2, Tags):- !,
trans(X1,N1,X2,N2,Tags),
@@ -244,7 +244,7 @@
/* -------------------------------------------------------------------------
Substitution
-------------------------------------------------------------------------- */
+--- */
trans(fs(C,X1,Y1), N1, fs(C,nil,Att,Str,X2,Y2), N3, Tags1-Tags3):- !,
trans(X1,N1,X2,N2,Tags1-Tags2),
@@ -273,7 +273,7 @@
/* -------------------------------------------------------------------------
Token (repair rules -- systematically wrong output of C&C parser)
-------------------------------------------------------------------------- */
+--- */
trans(t(A,B,people,C,D,E),N,Tok,M,Tags):-
option('--x',true), !,
@@ -300,7 +300,7 @@
/* -------------------------------------------------------------------------
Token
-------------------------------------------------------------------------- */
+--- */
% new input version (t/4 terms)
trans(t(Cat1,Tok,Pos,Tags),N,t(Cat2,Tok,nil,[pos:Pos|Tags],N),M,T1-T2):-
@@ -318,14 +318,14 @@
/* =========================================================================
String Formation
-========================================================================= */
+ */
strings(D1,D2,W):- topstr(D1,W1), topstr(D2,W2), append(W1,W2,W).
/* =========================================================================
External Context Information (for now only Word Sense Disambiguation)
-========================================================================= */
+ */
context(Number,Sense):- number(Number), !, Sense = [sense:Number].
context(_,Sense):- Sense = [].
@@ -333,7 +333,7 @@
/* =========================================================================
Determine Feature on N
-========================================================================= */
+ */
featureN('NNPS', nam):- !.
featureN('NNP', nam):- !.
@@ -344,7 +344,7 @@
/* =========================================================================
Adjust features (mostly bugs in C&C parser)
-========================================================================= */
+ */
adjustFeatures(conj/conj, conj:X/conj:X):- !.
@@ -371,7 +371,7 @@
/* =========================================================================
Adjust features
-========================================================================= */
+ */
adjustFeatures(F1/A1,F2/A2):- !,
adjustFeatures(F1,F2),
@@ -386,24 +386,26 @@
/* =========================================================================
Adding Info
-========================================================================= */
+ */
tags(T,ID,Tags,[ID:Tags|T]).
/* =========================================================================
Get top categorie, semantics or attributes from a derivation
-========================================================================= */
+ */
+must_det(G):- G,!.
+must_det(G):-trace,G.
-topcat(Der,Cat):- top(Der,Cat,_,_,_), !.
-topsem(Der,Sem):- top(Der,_,Sem,_,_), !.
-topatt(Der,Att):- top(Der,_,_,Att,_), !.
-topstr(Der,Str):- top(Der,_,_,_,Str), !.
+topcat(Der,Cat):- (top(Der,Cat,_,_,_)), !.
+topsem(Der,Sem):- (top(Der,_,Sem,_,_)), !.
+topatt(Der,Att):- (top(Der,_,_,Att,_)), !.
+topstr(Der,Str):- (top(Der,_,_,_,Str)), !.
/* =========================================================================
Top categorie, semantics or attributes from a derivation
-========================================================================= */
+ */
top(fa(C,S,A,W,_,_),C,S,A,W).
top(ba(C,S,A,W,_,_),C,S,A,W).
@@ -434,7 +436,7 @@
/* -------------------------------------------------------------------------
Take attributes from head
-------------------------------------------------------------------------- */
+--- */
headAtt(D1,D2,Att):- topcat(D1,C/C), !, topatt(D2,Att).
headAtt(D1,D2,Att):- topcat(D2,C\C), !, topatt(D1,Att).
@@ -443,7 +445,7 @@
/* -------------------------------------------------------------------------
Set Token-ID
-------------------------------------------------------------------------- */
+--- */
setTokID(_,Start,Start):-
option('--tokid',global), !.
Index: src/prolog/boxer/tuples.pl
===================================================================
--- src/prolog/boxer/tuples.pl (revision 2527)
+++ src/prolog/boxer/tuples.pl (working copy)
@@ -474,7 +474,7 @@
/* =======================================================================
- Convert words in tuple format
+ Convert words in tuple 'format'
======================================================================= */
word([],_,_,[]):- !.
@@ -491,9 +491,9 @@
write_tuples([tuple(_Index,Order,Node1,Edge,Node2,Words)|L],Stream):- !,
write_node(Node1,Stream),
- format(Stream,' ~w ',[Edge]),
+ 'format'(Stream,' ~w ',[Edge]),
write_node(Node2,Stream),
- format(Stream,' ~w [ ',[Order]),
+ 'format'(Stream,' ~w [ ',[Order]),
write_tokens(Words,Stream),
write_tuples(L,Stream).
@@ -507,15 +507,15 @@
======================================================================= */
write_tokens([],Stream):- !, write(Stream,']'), nl(Stream).
-write_tokens([X|L],Stream):- format(Stream,'~w ',[X]), write_tokens(L,Stream).
+write_tokens([X|L],Stream):- 'format'(Stream,'~w ',[X]), write_tokens(L,Stream).
/* =======================================================================
Output nodes to stream
======================================================================= */
-write_node(A:B,Stream):- !, format(Stream,'~w:',[A]), write_node(B,Stream).
-write_node(A,Stream):- format(Stream,'~w',[A]).
+write_node(A:B,Stream):- !, 'format'(Stream,'~w:',[A]), write_node(B,Stream).
+write_node(A,Stream):- 'format'(Stream,'~w',[A]).
/* =======================================================================
Index: src/prolog/boxer/typechange.pl
===================================================================
--- src/prolog/boxer/typechange.pl (revision 2527)
+++ src/prolog/boxer/typechange.pl (working copy)
@@ -23,7 +23,7 @@
rule corresponds to ellipsis. In the comments below, the elided
phrases are indicated by square brackets.
-------------------------------------------------------------------------- */
+--- */
% Ex: a company [that is] based in ...
%
@@ -129,7 +129,7 @@
/* -------------------------------------------------------------------------
Type Change (old rules, might need revision)
-------------------------------------------------------------------------- */
+--- */
typechange((s:dcl/s:dcl),Sem,_, (s:X/s:X),Sem):- !.
typechange((s:dcl\s:dcl),Sem,_, (s:X/s:X),Sem):- !.
@@ -147,7 +147,7 @@
/* -------------------------------------------------------------------------
Print warning message if no type-changing rules are found
-------------------------------------------------------------------------- */
+--- */
typechange(Cat1,_,_,Cat2,_):-
warning('no type changing rule for ~p --> ~p',[Cat1,Cat2]),
Index: src/prolog/boxer/xdrs2html.pl
===================================================================
--- src/prolog/boxer/xdrs2html.pl (revision 2527)
+++ src/prolog/boxer/xdrs2html.pl (working copy)
@@ -9,7 +9,7 @@
/*========================================================================
Converting DRSs to XML
-========================================================================*/
+*/
drs2html(DRS,Stream):-
drs2html(DRS,Stream,3).
@@ -30,49 +30,49 @@
/*========================================================================
Converting DRSs to XML (with tab insertion)
-========================================================================*/
+*/
drs2html(drs(D,C),Stream,Tab):-
- tab(Stream,Tab), format(Stream,'~n',[]),
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
NewTab is Tab + 2,
dom2html(D,Stream,NewTab),
- tab(Stream,Tab), format(Stream,' ~n',[]),
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
conds2html(C,Stream,NewTab),
- tab(Stream,Tab), format(Stream,' ~n',[]),
- tab(Stream,Tab), format(Stream,'
~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'
~n',[]).
drs2html(alfa(_Type,B1,B2),Stream,Tab):- !,
NewTab is Tab + 1,
- tab(Stream,Tab), format(Stream,'( ',[]),
+ tab(Stream,Tab), 'format'(Stream,'( ',[]),
drs2html(B1,Stream,NewTab),
- tab(Stream,Tab), format(Stream,' α ',[]),
+ tab(Stream,Tab), 'format'(Stream,' α ',[]),
drs2html(B2,Stream,NewTab),
- tab(Stream,Tab), format(Stream,' )
~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' )
~n',[]).
drs2html(merge(B1,B2),Stream,Tab):- !,
NewTab is Tab + 1,
- tab(Stream,Tab), format(Stream,'( ',[]),
+ tab(Stream,Tab), 'format'(Stream,'( ',[]),
drs2html(B1,Stream,NewTab),
- tab(Stream,Tab), format(Stream,' ; ',[]),
+ tab(Stream,Tab), 'format'(Stream,' ; ',[]),
drs2html(B2,Stream,NewTab),
- tab(Stream,Tab), format(Stream,' )
~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' )
~n',[]).
/*========================================================================
Converting DRS-domains to XML (with tab insertion)
-========================================================================*/
+*/
dom2html([],_,_).
dom2html([_Index:X|L],Stream,Tab):- !,
tab(Stream,Tab),
-% format(Stream,'~n',[X]),
- format(Stream,'~p~n',[X]),
+% 'format'(Stream,'~n',[X]),
+ 'format'(Stream,'~p~n',[X]),
% index2html(Index,Stream,Tab),
% tab(Stream,Tab),
-% format(Stream,' ~n',[]),
+% 'format'(Stream,' ~n',[]),
dom2html(L,Stream,Tab).
dom2html([X|L],Stream,Tab):-
@@ -86,60 +86,60 @@
/*========================================================================
Converting DRS-conditions to XML (with tab insertion)
-========================================================================*/
+*/
conds2html([],_,_).
conds2html([_Index:not(B)|L],Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'¬ ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'¬ ~n',[]),
% index2html(Index,Stream,Tab),
NewTab is Tab + 1,
drs2html(B,Stream,NewTab),
- tab(Stream,Tab), format(Stream,'
~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'
~n',[]),
conds2html(L,Stream,Tab).
conds2html([_Index:nec(B)|L],Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'[] ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'[] ~n',[]),
% index2html(Index,Stream,Tab),
NewTab is Tab + 1,
drs2html(B,Stream,NewTab),
- tab(Stream,Tab), format(Stream,'
~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'
~n',[]),
conds2html(L,Stream,Tab).
conds2html([_Index:pos(B)|L],Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'◊ ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'◊ ~n',[]),
% index2html(Index,Stream,Tab),
NewTab is Tab + 1,
drs2html(B,Stream,NewTab),
- tab(Stream,Tab), format(Stream,'
~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'
~n',[]),
conds2html(L,Stream,Tab).
conds2html([_Index:prop(X,B)|L],Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~p: ~n',[X]),
+ tab(Stream,Tab), 'format'(Stream,'~p: ~n',[X]),
% index2html(Index,Stream,Tab),
NewTab is Tab + 1,
drs2html(B,Stream,NewTab),
- tab(Stream,Tab), format(Stream,'
~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'
~n',[]),
conds2html(L,Stream,Tab).
conds2html([_Index:or(B1,B2)|L],Stream,Tab):- !,
NewTab is Tab + 1,
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
% index2html(Index,Stream,Tab),
drs2html(B1,Stream,NewTab),
- tab(Stream,Tab), format(Stream,' V ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' V ~n',[]),
drs2html(B2,Stream,NewTab),
- tab(Stream,Tab), format(Stream,'
~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'
~n',[]),
conds2html(L,Stream,Tab).
conds2html([_Index:imp(B1,B2)|L],Stream,Tab):- !,
NewTab is Tab + 1,
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
% index2html(Index,Stream,Tab),
drs2html(B1,Stream,NewTab),
- tab(Stream,Tab), format(Stream,' ⇒ ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' ⇒ ~n',[]),
drs2html(B2,Stream,NewTab),
- tab(Stream,Tab), format(Stream,'
~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'
~n',[]),
conds2html(L,Stream,Tab).
conds2html([Index:duplex(_,B1,_,B2)|L],Stream,Tab):- !,
@@ -148,55 +148,55 @@
conds2html([_Index:pred(Arg,X,_Type,_Sense)|L],Stream,Tab):- !,
tab(Stream,Tab),
symbol(X,Y),
- format(Stream,'~w(~p) ~n',[Y,Arg]),
+ 'format'(Stream,'~w(~p) ~n',[Y,Arg]),
% index2html(Index,Stream,Tab),
conds2html(L,Stream,Tab).
conds2html([_Index:rel(Arg1,Arg2,X,_Sense)|L],Stream,Tab):- !,
tab(Stream,Tab),
symbol(X,Y),
- format(Stream,'~w(~p,~p) ~n',[Y,Arg1,Arg2]),
+ 'format'(Stream,'~w(~p,~p) ~n',[Y,Arg1,Arg2]),
% index2html(Index,Stream,Tab),
conds2html(L,Stream,Tab).
conds2html([_Index:role(Arg1,Arg2,X,1)|L],Stream,Tab):- !,
tab(Stream,Tab),
symbol(X,Y),
- format(Stream,'~w(~p,~p) ~n',[Y,Arg1,Arg2]),
+ 'format'(Stream,'~w(~p,~p) ~n',[Y,Arg1,Arg2]),
% index2html(Index,Stream,Tab),
conds2html(L,Stream,Tab).
conds2html([_Index:role(Arg1,Arg2,X,-1)|L],Stream,Tab):- !,
tab(Stream,Tab),
symbol(X,Y),
- format(Stream,'~w(~p,~p) ~n',[Y,Arg2,Arg1]),
+ 'format'(Stream,'~w(~p,~p) ~n',[Y,Arg2,Arg1]),
% index2html(Index,Stream,Tab),
conds2html(L,Stream,Tab).
conds2html([_Index:named(Arg,X,Type,_)|L],Stream,Tab):- !,
tab(Stream,Tab),
symbol(X,Y),
- format(Stream,'named(~w,~p,~p) ~n',[Y,Arg,Type]),
+ 'format'(Stream,'named(~w,~p,~p) ~n',[Y,Arg,Type]),
% index2html(Index,Stream,Tab),
conds2html(L,Stream,Tab).
conds2html([_Index:card(X,Y,_Type)|L],Stream,Tab):- !,
tab(Stream,Tab),
- format(Stream,'|~p| = ~p ~n',[X,Y]),
+ 'format'(Stream,'|~p| = ~p ~n',[X,Y]),
% index2html(Index,Stream,Tab),
conds2html(L,Stream,Tab).
conds2html([_Index:timex(X,Y)|L],Stream,Tab):- !,
tab(Stream,Tab),
% index2html(Index,Stream,Tab),
- format(Stream,'timex(~p,',[X]),
+ 'format'(Stream,'timex(~p,',[X]),
timex2html(Y,Stream),
- format(Stream,') ~n',[]),
+ 'format'(Stream,') ~n',[]),
conds2html(L,Stream,Tab).
conds2html([_Index:eq(X,Y)|L],Stream,Tab):- !,
tab(Stream,Tab),
- format(Stream,'~p=~p ~n',[X,Y]),
+ 'format'(Stream,'~p=~p ~n',[X,Y]),
% index2html(Index,Stream,Tab),
conds2html(L,Stream,Tab).
@@ -211,163 +211,163 @@
/*========================================================================
Timex
-========================================================================*/
+*/
timex2html(date(_:A,_:B,_:C),Stream):- !,
- format(Stream,'~w~w~w',[A,B,C]).
+ 'format'(Stream,'~w~w~w',[A,B,C]).
timex2html(date(_:Z,_:A,_:B,_:C),Stream):- !,
- format(Stream,'~w~w~w~w',[Z,A,B,C]).
+ 'format'(Stream,'~w~w~w~w',[Z,A,B,C]).
timex2html(time(_:A,_:B,_:C),Stream):- !,
- format(Stream,'~w~w~w',[A,B,C]).
+ 'format'(Stream,'~w~w~w',[A,B,C]).
timex2html(X,Stream):- !,
- format(Stream,'timex',[X]).
+ 'format'(Stream,'timex',[X]).
/*========================================================================
Words
-========================================================================*/
+*/
words2html([],_).
words2html([word(Index,Word)|L],Stream):-
symbol(Word,Word1),
- format(Stream,' ~w ~n',[Index,Word1]),
+ 'format'(Stream,' ~w ~n',[Index,Word1]),
words2html(L,Stream).
/*========================================================================
POS tags
-========================================================================*/
+*/
tags2html([],_).
tags2html([pos(Index,POS)|L],Stream):-
- format(Stream,' ~w ~n',[Index,POS]),
+ 'format'(Stream,' ~w ~n',[Index,POS]),
tags2html(L,Stream).
tags2html([ne(Index,NE)|L],Stream):-
- format(Stream,' ~w ~n',[Index,NE]),
+ 'format'(Stream,' ~w ~n',[Index,NE]),
tags2html(L,Stream).
/*========================================================================
Flat DRSs
-========================================================================*/
+*/
cons2html([],_).
cons2html([Label:alfa(Type,L1,L2)|Cons],Stream):- !,
- format(Stream,' ~p ~p ~n',[Label,Type,L1,L2]),
+ 'format'(Stream,' ~p ~p ~n',[Label,Type,L1,L2]),
cons2html(Cons,Stream).
cons2html([Label:merge(L1,L2)|Cons],Stream):- !,
- format(Stream,' ~p ~p ~n',[Label,L1,L2]),
+ 'format'(Stream,' ~p ~p ~n',[Label,L1,L2]),
cons2html(Cons,Stream).
cons2html([Label:drs(D,Labels)|Cons],Stream):- !,
- format(Stream,' ~n',[Label]),
+ 'format'(Stream,' ~n',[Label]),
dom2html(D,Stream,3),
labels2html(Labels,Stream),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:named(Arg,X,Type,_)|Cons],Stream):- !,
symbol(X,Y),
- format(Stream,' ~n',[Label,Arg,Y,Type]),
+ 'format'(Stream,' ~n',[Label,Arg,Y,Type]),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:pred(Arg,X,Type,Sense)|Cons],Stream):- !,
symbol(X,Y),
- format(Stream,' ~n',[Label,Arg,Y,Type,Sense]),
+ 'format'(Stream,' ~n',[Label,Arg,Y,Type,Sense]),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:rel(Arg1,Arg2,X,Sense)|Cons],Stream):- !,
symbol(X,Y),
- format(Stream,' ~n',[Label,Arg1,Arg2,Y,Sense]),
+ 'format'(Stream,' ~n',[Label,Arg1,Arg2,Y,Sense]),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:role(Arg1,Arg2,X,1)|Cons],Stream):- !,
symbol(X,Y),
- format(Stream,' ~n',[Label,Arg1,Arg2,Y,1]),
+ 'format'(Stream,' ~n',[Label,Arg1,Arg2,Y,1]),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:role(Arg2,Arg2,1,-1)|Cons],Stream):- !,
symbol(X,Y),
- format(Stream,' ~n',[Label,Arg1,Arg2,Y,1]),
+ 'format'(Stream,' ~n',[Label,Arg1,Arg2,Y,1]),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:card(X,Y,Type)|Cons],Stream):- !,
- format(Stream,' ~n',[Label,X,Y,Type]),
+ 'format'(Stream,' ~n',[Label,X,Y,Type]),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:timex(X,Y)|Cons],Stream):- !,
- format(Stream,' ~n',[Label,X]),
+ 'format'(Stream,' ~n',[Label,X]),
timex2html(Y,Stream),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:eq(X,Y)|Cons],Stream):- !,
- format(Stream,' ~n',[Label,X,Y]),
+ 'format'(Stream,' ~n',[Label,X,Y]),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:not(L)|Cons],Stream):- !,
- format(Stream,' ~n',[Label]),
- format(Stream,' ~p ~n',[L]),
+ 'format'(Stream,' ~n',[Label]),
+ 'format'(Stream,' ~p ~n',[L]),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:nec(L)|Cons],Stream):- !,
- format(Stream,' ~n',[Label]),
- format(Stream,' ~p ~n',[L]),
+ 'format'(Stream,' ~n',[Label]),
+ 'format'(Stream,' ~p ~n',[L]),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:pos(L)|Cons],Stream):- !,
- format(Stream,' ~n',[Label]),
- format(Stream,' ~p ~n',[L]),
+ 'format'(Stream,' ~n',[Label]),
+ 'format'(Stream,' ~p ~n',[L]),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:prop(X,L)|Cons],Stream):- !,
- format(Stream,' ~n',[Label,X]),
- format(Stream,' ~p ~n',[L]),
+ 'format'(Stream,' ~n',[Label,X]),
+ 'format'(Stream,' ~p ~n',[L]),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:or(L1,L2)|Cons],Stream):- !,
- format(Stream,' ~n',[Label]),
- format(Stream,' ~p ~n ~p ~n',[L1,L2]),
+ 'format'(Stream,' ~n',[Label]),
+ 'format'(Stream,' ~p ~n ~p ~n',[L1,L2]),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:imp(L1,L2)|Cons],Stream):- !,
- format(Stream,' ~n',[Label]),
- format(Stream,' ~p ~n ~p ~n',[L1,L2]),
+ 'format'(Stream,' ~n',[Label]),
+ 'format'(Stream,' ~p ~n ~p ~n',[L1,L2]),
index2html(Index,Stream,2),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
cons2html(Cons,Stream).
cons2html([Label:Index:duplex(_,L1,_,L2)|Cons],Stream):- !,
@@ -376,18 +376,18 @@
/*========================================================================
Labels
-========================================================================*/
+*/
labels2html([],_).
labels2html([Label|L],Stream):-
- format(Stream,' ~w ~n',[Label]),
+ 'format'(Stream,' ~w ~n',[Label]),
labels2html(L,Stream).
/*========================================================================
Indexes
-========================================================================*/
+*/
index2html([],_,_):- !.
@@ -395,7 +395,7 @@
number(X), !,
Pos is mod(X,1000),
tab(Stream,Tab),
- format(Stream,'i~p ~n',[Pos,X]),
+ 'format'(Stream,'i~p ~n',[Pos,X]),
index2html(L,Stream,Tab).
index2html([_|L],Stream,Tab):-
@@ -404,7 +404,7 @@
/*========================================================================
Deal with special symbols
-========================================================================*/
+*/
symbol(S1,S2):-
name(S1,C1),
Index: src/prolog/boxer/xdrs2xml.pl
===================================================================
--- src/prolog/boxer/xdrs2xml.pl (revision 2527)
+++ src/prolog/boxer/xdrs2xml.pl (working copy)
@@ -12,14 +12,14 @@
/*========================================================================
Converting DRSs to XML
-========================================================================*/
+*/
drs2xml(DRS,Stream):- drs2xml(DRS,Stream,1,[]).
der2xml(Der,I,Stream):-
- format(Stream,' ~n',[I]),
+ 'format'(Stream,' ~n',[I]),
deri2xml(Der,Stream,2),
- format(Stream,' ~n',[]).
+ 'format'(Stream,' ~n',[]).
xdrs2xml(XDRS,Stream):-
XDRS=xdrs(Tags,DRS),
@@ -31,24 +31,24 @@
/*========================================================================
Converting CCG derivation to XML (with tab insertion)
-========================================================================*/
+*/
deri2xml(t(Cat,Token,Sem,Att,Index),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~n',[Index]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[Index]),
NewTab is Tab + 2,
symbol(Token,NiceToken),
- tab(Stream,Tab), format(Stream,' ~p ~n',[NiceToken]),
+ tab(Stream,Tab), 'format'(Stream,' ~p ~n',[NiceToken]),
tags2xml(Att,Stream,Tab),
- tab(Stream,Tab), format(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]),
numbervars(Cat,23,_),
cat2xml(Cat,Stream,NewTab),
- tab(Stream,Tab), format(Stream,' ~n',[]),
- tab(Stream,Tab), format(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]),
betaConvert(Sem,Red),
\+ \+ (instDrs(Red),
drs2xml(Red,Stream,NewTab,[])),
- tab(Stream,Tab), format(Stream,' ~n',[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
deri2xml(Der,Stream,Tab):-
Der =.. [Rule,Cat,_,Sem,_,Tokens,Under],
@@ -56,146 +56,146 @@
NewTab is Tab + 1,
NextTab is Tab + 1,
tab(Stream,Tab), urule2xml(Stream,Rule),
- tab(Stream,Tab), format(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]),
numbervars(Cat,23,_),
cat2xml(Cat,Stream,NewTab),
- tab(Stream,Tab), format(Stream,' ~n',[]),
- tab(Stream,Tab), format(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]),
betaConvert(Sem,Red),
\+ \+ (instDrs(Red),
drs2xml(Red,Stream,NewTab,[])),
- tab(Stream,Tab), format(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]),
deri2xml(Under,Stream,NewTab),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
tokens2xml(Tokens,NextTab,Stream),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
- tab(Stream,Tab), format(Stream,'~n',[]).
+ tab(Stream,NewTab), 'format'(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]).
deri2xml(Der,Stream,Tab):-
Der =.. [conj,Cat,_,Sem,_,Tokens,Left,Right], !,
NewTab is Tab + 1,
NextTab is Tab + 2,
tab(Stream,Tab), brule2xml(Stream,conj),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
numbervars(Cat,23,_),
cat2xml(Cat,Stream,NextTab),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,' ~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
betaConvert(Sem,Red),
\+ \+ (instDrs(Red),
drs2xml(Red,Stream,NewTab,[])),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
deri2xml(Left,Stream,NewTab),
deri2xml(Right,Stream,NewTab),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
tokens2xml(Tokens,NextTab,Stream),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
- tab(Stream,Tab), format(Stream,'~n',[]).
+ tab(Stream,NewTab), 'format'(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]).
deri2xml(Der,Stream,Tab):-
Der =.. [Rule,Cat,Sem,_,Tokens,Left,Right], !,
NewTab is Tab + 1,
NextTab is Tab + 2,
tab(Stream,Tab), brule2xml(Stream,Rule),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
numbervars(Cat,23,_),
cat2xml(Cat,Stream,NextTab),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,' ~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
betaConvert(Sem,Red1),
alphaConvertDRS(Red1,Red), % needed for functions introduced by NN compounds...
\+ \+ (instDrs(Red),
drs2xml(Red,Stream,NewTab,[])),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
deri2xml(Left,Stream,NewTab),
deri2xml(Right,Stream,NewTab),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
tokens2xml(Tokens,NextTab,Stream),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
- tab(Stream,Tab), format(Stream,'~n',[]).
+ tab(Stream,NewTab), 'format'(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]).
deri2xml(_,_,_).
/*========================================================================
Producing CCG unary rules in XML
-========================================================================*/
+*/
urule2xml(Stream,ftr):- !,
- format(Stream,'~n',[]).
+ 'format'(Stream,'~n',[]).
urule2xml(Stream,btr):- !,
- format(Stream,'~n',[]).
+ 'format'(Stream,'~n',[]).
urule2xml(Stream,tc):- !,
- format(Stream,'~n',[]).
+ 'format'(Stream,'~n',[]).
urule2xml(Stream,Type):-
- format(Stream,'~n',[Type]).
+ 'format'(Stream,'~n',[Type]).
/*========================================================================
Producing CCG binary rules in XML
-========================================================================*/
+*/
brule2xml(Stream,Type):- Type = fa, !,
- format(Stream,'~n',[Type]).
+ 'format'(Stream,'~n',[Type]).
brule2xml(Stream,Type):- Type = ba, !,
- format(Stream,'~n',[Type]).
+ 'format'(Stream,'~n',[Type]).
brule2xml(Stream,Type):- member(Type,[fc,gfc]), !,
- format(Stream,'~n',[Type]).
+ 'format'(Stream,'~n',[Type]).
brule2xml(Stream,Type):- member(Type,[bc,gbc]), !,
- format(Stream,'~n',[Type]).
+ 'format'(Stream,'~n',[Type]).
brule2xml(Stream,Type):- member(Type,[fxc,gfxc]), !,
- format(Stream,'~n',[Type]).
+ 'format'(Stream,'~n',[Type]).
brule2xml(Stream,Type):- member(Type,[bxc,gbxc]), !,
- format(Stream,'~n',[Type]).
+ 'format'(Stream,'~n',[Type]).
brule2xml(Stream,Type):- Type = fxs, !,
- format(Stream,'~n',[Type]).
+ 'format'(Stream,'~n',[Type]).
brule2xml(Stream,Type):- Type = bxs, !,
- format(Stream,'~n',[Type]).
+ 'format'(Stream,'~n',[Type]).
brule2xml(Stream,Type):- Type = fs, !,
- format(Stream,'~n',[Type]).
+ 'format'(Stream,'~n',[Type]).
brule2xml(Stream,Type):- Type = bs, !,
- format(Stream,'~n',[Type]).
+ 'format'(Stream,'~n',[Type]).
brule2xml(Stream,Type):- Type = conj, !,
- format(Stream,'~n',[]).
+ 'format'(Stream,'~n',[]).
brule2xml(Stream,Type):-
- format(Stream,'~n',[Type]).
+ 'format'(Stream,'~n',[Type]).
/*========================================================================
Converting CCG categories to XML (with tab insertion)
-========================================================================*/
+*/
cat2xml(Cat,Stream,Tab):-
var(Cat), !,
- tab(Stream,Tab), format(Stream,' ~p ~n',[Cat]).
+ tab(Stream,Tab), 'format'(Stream,' ~p ~n',[Cat]).
cat2xml('/'(L,R),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
NewTab is Tab + 1,
cat2xml(L,Stream,NewTab),
cat2xml(R,Stream,NewTab),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
cat2xml('\\'(L,R),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
NewTab is Tab + 1,
cat2xml(L,Stream,NewTab),
cat2xml(R,Stream,NewTab),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
cat2xml(Cat:_,Stream,Tab):-
member(Cat,[n,conj]), !, %%% Do not output features on N, conj
@@ -204,22 +204,22 @@
cat2xml(Cat:Feature,Stream,Tab):-
atom(Cat), !,
upcase_atom(Cat,Up),
- tab(Stream,Tab), format(Stream,' ~p ~n',[Up]).
+ 'format'(Stream,'">~p~n',[Up]).
cat2xml(Cat,Stream,Tab):-
member(Cat:New,[conj:conj,comma:',',semi:';']), !,
- tab(Stream,Tab), format(Stream,' ~p ~n',[New]).
+ tab(Stream,Tab), 'format'(Stream,' ~p ~n',[New]).
cat2xml(Cat,Stream,Tab):- !,
upcase_atom(Cat,Up),
- tab(Stream,Tab), format(Stream,' ~p ~n',[Up]).
+ tab(Stream,Tab), 'format'(Stream,' ~p ~n',[Up]).
/*========================================================================
Guess Sentence ID (a bit of a hack, obviously!)
-========================================================================*/
+*/
getIDs(L:drs([_:I1:_|Dom],Conds),I3):- append(I1,I2,I3), getIDs(L:drs(Dom,Conds),I2).
getIDs(_:drs([],Conds),I):- getIDs(Conds,I).
@@ -239,19 +239,19 @@
/*========================================================================
Converting DRSs to XML (with tab insertion)
-========================================================================*/
+*/
drs2xml(Var,Stream,Tab,_):-
var(Var), !,
- tab(Stream,Tab), format(Stream,'~p ~n',Var).
+ tab(Stream,Tab), 'format'(Stream,'~p ~n',Var).
drs2xml(Var,Stream,Tab,_):-
atom(Var), !,
- tab(Stream,Tab), format(Stream,'~p ~n',Var).
+ tab(Stream,Tab), 'format'(Stream,'~p ~n',Var).
drs2xml(Var,Stream,Tab,_):-
Var =.. ['$VAR',_], !,
- tab(Stream,Tab), format(Stream,'~p ~n',Var).
+ tab(Stream,Tab), 'format'(Stream,'~p ~n',Var).
drs2xml(drs(D,C),Stream,Tab,Words):- !,
drs2xml(l:drs(D,C),Stream,Tab,Words).
@@ -259,72 +259,72 @@
drs2xml(Label:drs(D,C),Stream,Tab,[]):- !,
NewTab is Tab + 1,
NextTab is Tab + 2,
- tab(Stream,Tab), format(Stream,'~n',[Label]),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[Label]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
dom2xml(D,Stream,NextTab),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,' ~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
conds2xml(C,Stream,NextTab),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]).
drs2xml(Label:drs(D,C),Stream,Tab,Words):- !,
NewTab is Tab + 1,
NextTab is Tab + 2,
tab(Stream,Tab),
- format(Stream,'~n',[Label]),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ 'format'(Stream,'~n',[Label]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
getIDs(Label:drs(D,C),IDs),
sort(IDs,SortedIDs),
tokens2xml(SortedIDs,Words,NextTab,Stream),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,' ~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
dom2xml(D,Stream,NextTab),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
conds2xml(C,Stream,NextTab),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]).
drs2xml(alfa(Type,B1,B2),Stream,Tab,_):- !,
- tab(Stream,Tab), format(Stream,'~n',[Type]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[Type]),
NewTab is Tab + 1,
drs2xml(B1,Stream,NewTab,[]),
drs2xml(B2,Stream,NewTab,[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
drs2xml(lam(X,B),Stream,Tab,_):- !,
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
NewTab is Tab + 1,
- tab(Stream,Tab), format(Stream,' ~p ~n',X),
+ tab(Stream,Tab), 'format'(Stream,' ~p ~n',X),
drs2xml(B,Stream,NewTab,[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
drs2xml(app(B1,B2),Stream,Tab,_):- !,
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
NewTab is Tab + 1,
drs2xml(B1,Stream,NewTab,[]),
drs2xml(B2,Stream,NewTab,[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
drs2xml(merge(B1,B2),Stream,Tab,_):- !,
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
NewTab is Tab + 1,
drs2xml(B1,Stream,NewTab,[]),
drs2xml(B2,Stream,NewTab,[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
drs2xml(sdrs(Labs,Rels),Stream,Tab,Words):- !,
NewTab is Tab + 1,
NewerTab is NewTab + 1,
- tab(Stream,Tab), format(Stream,'~n',[]),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
sdrs2xml(Labs,Stream,NewerTab,Words,Rels),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
- tab(Stream,NewTab), format(Stream,'~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,' ~n',[]),
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
relations2xml(Rels,Stream,NewerTab),
- tab(Stream,NewTab), format(Stream,' ~n',[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,NewTab), 'format'(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]).
drs2xml(Error,_,_,_):- !,
warning('cannot print DRS in XML: ~p',[Error]).
@@ -332,7 +332,7 @@
/*========================================================================
Converting SDRS to XML
-========================================================================*/
+*/
sdrs2xml([],_,_,_,_):- !.
@@ -341,49 +341,49 @@
sdrs2xml(L,Stream,Tab,Words,Rel).
sdrs2xml([sub(lab(K1,B1),lab(K2,B2))|L],Stream,Tab,Words,Rel):-
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
label2xml(K1,B1,Stream,Tab,Words),
label2xml(K2,B2,Stream,Tab,Words),
- tab(Stream,Tab), format(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]),
sdrs2xml(L,Stream,Tab,Words,Rel).
/*========================================================================
Converting SDRS constituent to XML
-========================================================================*/
+*/
label2xml(K,B,Stream,Tab,Words):-
- tab(Stream,Tab), format(Stream,'~n',[K]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[K]),
NewTab is Tab + 1,
drs2xml(B,Stream,NewTab,Words),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
/*========================================================================
Converting SDRS relations to XML
-========================================================================*/
+*/
relations2xml([],_,_).
relations2xml([Index:rel(K1,K2,Rel)|L],Stream,Tab):-
- tab(Stream,Tab), format(Stream,'~n',[K1,K2,Rel]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[K1,K2,Rel]),
index2xml(Index,Stream,Tab),
- tab(Stream,Tab), format(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]),
relations2xml(L,Stream,Tab).
/*========================================================================
Converting DRS-domains to XML (with tab insertion)
-========================================================================*/
+*/
dom2xml([],_,_).
dom2xml([Label:Index:X|L],Stream,Tab):- !,
tab(Stream,Tab),
- format(Stream,'~n',[Label,X]),
+ 'format'(Stream,'~n',[Label,X]),
index2xml(Index,Stream,Tab),
tab(Stream,Tab),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
dom2xml(L,Stream,Tab).
dom2xml([Index:X|L],Stream,Tab):- !,
@@ -397,15 +397,15 @@
/*========================================================================
Converting DRS-conditions to XML (with tab insertion)
-========================================================================*/
+*/
conds2xml([],_,_).
conds2xml([Label:Index:Cond|L],Stream,Tab):-
- tab(Stream,Tab), format(Stream,'~n',[Label]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[Label]),
NewTab is Tab + 1,
cond2xml(Index:Cond,Stream,NewTab), !,
- tab(Stream,Tab), format(Stream,' ~n',[]),
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]),
conds2xml(L,Stream,Tab).
conds2xml([Index:Cond|L],Stream,Tab):- !,
@@ -413,85 +413,85 @@
conds2xml([X|L],Stream,Tab):-
warning('cannot print condition in XML: ~p',[X]),
- format(Stream,'~n',[]),
+ 'format'(Stream,'~n',[]),
conds2xml(L,Stream,Tab).
/*========================================================================
Converting DRS-condition to XML (with tab insertion)
-========================================================================*/
+*/
cond2xml(Index:not(B),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
index2xml(Index,Stream,Tab),
NewTab is Tab + 1,
drs2xml(B,Stream,NewTab,[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
cond2xml(Index:nec(B),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
index2xml(Index,Stream,Tab),
NewTab is Tab + 1,
drs2xml(B,Stream,NewTab,[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
cond2xml(Index:pos(B),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
index2xml(Index,Stream,Tab),
NewTab is Tab + 1,
drs2xml(B,Stream,NewTab,[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
cond2xml(Index:prop(X,B),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~n',[X]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[X]),
index2xml(Index,Stream,Tab),
NewTab is Tab + 1,
drs2xml(B,Stream,NewTab,[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
cond2xml(Index:or(B1,B2),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
index2xml(Index,Stream,Tab),
NewTab is Tab + 1,
drs2xml(B1,Stream,NewTab,[]),
drs2xml(B2,Stream,NewTab,[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
cond2xml(Index:imp(B1,B2),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
index2xml(Index,Stream,Tab),
NewTab is Tab + 1,
drs2xml(B1,Stream,NewTab,[]),
drs2xml(B2,Stream,NewTab,[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
cond2xml(Index:duplex(Type,B1,Var,B2),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~n',[Type,Var]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[Type,Var]),
index2xml(Index,Stream,Tab),
NewTab is Tab + 1,
drs2xml(B1,Stream,NewTab,[]),
drs2xml(B2,Stream,NewTab,[]),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
cond2xml(Index:pred(Arg,X,Type,Sense),Stream,Tab):- !,
symbol(X,Y),
- tab(Stream,Tab), format(Stream,'~n',[Arg,Y,Type,Sense]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[Arg,Y,Type,Sense]),
index2xml(Index,Stream,Tab),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
cond2xml(Index:role(Arg2,Arg1,X,-1),Stream,Tab):- !,
symbol(X,Y),
- tab(Stream,Tab), format(Stream,'~n',[Arg1,Arg2,Y,1]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[Arg1,Arg2,Y,1]),
index2xml(Index,Stream,Tab),
tab(Stream,Tab),
- format(Stream,' ~n',[]).
+ 'format'(Stream,' ~n',[]).
cond2xml(Index:role(Arg1,Arg2,X,1),Stream,Tab):- !,
symbol(X,Y),
- tab(Stream,Tab), format(Stream,'~n',[Arg1,Arg2,Y,1]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[Arg1,Arg2,Y,1]),
index2xml(Index,Stream,Tab),
tab(Stream,Tab),
- format(Stream,' ~n',[]).
+ 'format'(Stream,' ~n',[]).
cond2xml(Index:rel(X,Y,Sym,0),Stream,Tab):-
symbol(Sym,=), !,
@@ -499,66 +499,66 @@
cond2xml(Index:rel(Arg1,Arg2,X,Sense),Stream,Tab):- !,
symbol(X,Y),
- tab(Stream,Tab), format(Stream,'~n',[Arg1,Arg2,Y,Sense]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[Arg1,Arg2,Y,Sense]),
index2xml(Index,Stream,Tab),
tab(Stream,Tab),
- format(Stream,' ~n',[]).
+ 'format'(Stream,' ~n',[]).
cond2xml(Index:named(Arg,X,Class,Type),Stream,Tab):- !,
symbol(X,Y),
- tab(Stream,Tab), format(Stream,'~n',[Arg,Y,Class,Type]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[Arg,Y,Class,Type]),
index2xml(Index,Stream,Tab),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
cond2xml(Index:card(X,Y,Type),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~n',[X,Y,Type]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[X,Y,Type]),
index2xml(Index,Stream,Tab),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
cond2xml(Index:timex(X,Y),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~n',[X]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[X]),
index2xml(Index,Stream,Tab),
timex2xml(Y,Stream,Tab),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
cond2xml(Index:eq(X,Y),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~n',[X,Y]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[X,Y]),
index2xml(Index,Stream,Tab),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
/*========================================================================
Timex
-========================================================================*/
+*/
timex2xml(date(_:A,_:B,_:C),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~w~w~w ~n',[A,B,C]).
+ tab(Stream,Tab), 'format'(Stream,'~w~w~w ~n',[A,B,C]).
timex2xml(date(_:Z,_:A,_:B,_:C),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~w~w~w~w ~n',[Z,A,B,C]).
+ tab(Stream,Tab), 'format'(Stream,'~w~w~w~w ~n',[Z,A,B,C]).
timex2xml(time(_:A,_:B,_:C),Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~w~w~w ~n',[A,B,C]).
+ tab(Stream,Tab), 'format'(Stream,'~w~w~w ~n',[A,B,C]).
timex2xml(X,Stream,Tab):- !,
- tab(Stream,Tab), format(Stream,'~p ~n',[X]).
+ tab(Stream,Tab), 'format'(Stream,'~p ~n',[X]).
/*========================================================================
Tokens (already known)
-========================================================================*/
+*/
tokens2xml([],_,_).
tokens2xml([Token|L],Tab,Stream):-
symbol(Token,NiceToken),
- tab(Stream,Tab), format(Stream,'~w ~n',[NiceToken]),
+ tab(Stream,Tab), 'format'(Stream,'~w ~n',[NiceToken]),
tokens2xml(L,Tab,Stream).
/*========================================================================
Tokens (from list of words)
-========================================================================*/
+*/
tokens2xml(I,[presup|Words],Tab,Stream):- !, tokens2xml(I,Words,Tab,Stream,presup).
tokens2xml(I,Words,Tab,Stream):- !, tokens2xml(I,Words,Tab,Stream,sentence).
@@ -568,15 +568,15 @@
tokens2xml([Index],Words,Tab,Stream,_):-
member(Index:[tok:Tok|_],Words), !,
symbol(Tok,NiceToken),
- tab(Stream,Tab), format(Stream,'~w ~n',[NiceToken]).
+ tab(Stream,Tab), 'format'(Stream,'~w ~n',[NiceToken]).
tokens2xml([Index1,Index2|L],Words,Tab,Stream,Type):-
Type = presup,
member(Index1:[tok:Tok|_],Words), !,
symbol(Tok,NiceToken),
- tab(Stream,Tab), format(Stream,'~w ~n',[NiceToken]),
+ tab(Stream,Tab), 'format'(Stream,'~w ~n',[NiceToken]),
( Dif is Index2 - Index1,
- Dif > 1, tab(Stream,Tab), format(Stream,'| ~n',[])
+ Dif > 1, tab(Stream,Tab), 'format'(Stream,'| ~n',[])
; true ),
tokens2xml([Index2|L],Words,Tab,Stream,Type).
@@ -584,7 +584,7 @@
Type = sentence,
member(Index1:[tok:Tok|_],Words), !,
symbol(Tok,NiceToken),
- tab(Stream,Tab), format(Stream,'~w ~n',[NiceToken]),
+ tab(Stream,Tab), 'format'(Stream,'~w ~n',[NiceToken]),
( S is Index1-mod(Index1,1000),
S is Index2-mod(Index2,1000),
Dif is Index2 - Index1, Dif > 1, !, Index is Index1 + 1,
@@ -598,7 +598,7 @@
/*========================================================================
Check whether word is part of sentence
-========================================================================*/
+*/
wordInSentence(N1,N2):-
X is (N1-(mod(N1,1000)))/1000,
@@ -607,60 +607,60 @@
/*========================================================================
Token Tags
-========================================================================*/
+*/
tokentags2xml([],_).
tokentags2xml([Index:Tags|L],Stream):-
- format(Stream,' ~n',[Index]),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[Index]),
+ 'format'(Stream,' ~n',[]),
tags2xml(Tags,Stream,4),
- format(Stream,' ~n',[]),
- format(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
+ 'format'(Stream,' ~n',[]),
tokentags2xml(L,Stream).
/*========================================================================
Producing tags in XML
-========================================================================*/
+*/
tags2xml([],_,_):- !.
tags2xml([lemma:Lemma|L],Stream,Tab):- !,
symbol(Lemma,NiceLemma),
- tab(Stream,Tab), format(Stream,' ~p ~n',[NiceLemma]),
+ tab(Stream,Tab), 'format'(Stream,' ~p ~n',[NiceLemma]),
tags2xml(L,Stream,Tab).
tags2xml([tok:Tok|L],Stream,Tab):- !,
symbol(Tok,NiceTok),
- tab(Stream,Tab), format(Stream,' ~p ~n',[NiceTok]),
+ tab(Stream,Tab), 'format'(Stream,' ~p ~n',[NiceTok]),
tags2xml(L,Stream,Tab).
tags2xml([verbnet:Roles|L],Stream,Tab):- !,
length(Roles,N),
- tab(Stream,Tab), format(Stream,' ~p ~n',[N,Roles]),
+ tab(Stream,Tab), 'format'(Stream,' ~p ~n',[N,Roles]),
tags2xml(L,Stream,Tab).
tags2xml([Feature:Value|L],Stream,Tab):-
- tab(Stream,Tab), format(Stream,' ~p ~n',[Feature,Value]),
+ tab(Stream,Tab), 'format'(Stream,' ~p ~n',[Feature,Value]),
tags2xml(L,Stream,Tab).
/*========================================================================
Indexes
-========================================================================*/
+*/
index2xml(I,Stream,Tab):-
- tab(Stream,Tab), format(Stream,'~n',[]),
+ tab(Stream,Tab), 'format'(Stream,'~n',[]),
index2xml2(I,Stream,Tab),
- tab(Stream,Tab), format(Stream,' ~n',[]).
+ tab(Stream,Tab), 'format'(Stream,' ~n',[]).
index2xml2([],_,_):- !.
index2xml2([X|L],Stream,Tab):-
number(X), !,
Pos is mod(X,1000),
- tab(Stream,Tab), format(Stream,'i~p ~n',[Pos,X]),
+ tab(Stream,Tab), 'format'(Stream,'i~p ~n',[Pos,X]),
index2xml2(L,Stream,Tab).
index2xml2([_|L],Stream,Tab):-
@@ -669,7 +669,7 @@
/*========================================================================
Deal with special symbols
-========================================================================*/
+*/
symbol(f(_,_,V1),V2):- !, V1 = V2.
@@ -680,7 +680,7 @@
/*========================================================================
Check special characters
-========================================================================*/
+*/
check([],[]).
Index: src/prolog/lib/abbreviations.pl
===================================================================
--- src/prolog/lib/abbreviations.pl (revision 2527)
+++ src/prolog/lib/abbreviations.pl (working copy)
@@ -3,7 +3,7 @@
/* ----------------------------------------------------------------------------------
Transitive abbreviations (usually not at the end of a sentence)
----------------------------------------------------------------------------------- */
+------------ */
tAbb(L,A):- title(L,A).
tAbb(L,A):- coord(L,A).
@@ -11,14 +11,14 @@
/* ----------------------------------------------------------------------------------
Intransitive abbreviations
----------------------------------------------------------------------------------- */
+------------ */
iAbb(L,A):- abb(L,A).
/* ----------------------------------------------------------------------------------
Titles
----------------------------------------------------------------------------------- */
+------------ */
title(en, "Mr"). % sg
title(en, "Messrs"). % pl
@@ -48,7 +48,7 @@
/* ----------------------------------------------------------------------------------
Coordinators
----------------------------------------------------------------------------------- */
+------------ */
coord(en, "v"). % versus
coord(en, "vs"). % versus
@@ -61,7 +61,7 @@
/* ----------------------------------------------------------------------------------
Abbreviations
----------------------------------------------------------------------------------- */
+------------ */
abb(Codes):- member(46,Codes), member(X,Codes), alpha(X), !.
abb(Abb):- option('--language',Language), abb(Language,Abb), !.
Index: src/prolog/lib/der2tex.pl
===================================================================
--- src/prolog/lib/der2tex.pl (revision 2527)
+++ src/prolog/lib/der2tex.pl (working copy)
@@ -4,7 +4,7 @@
/*========================================================================
File Search Paths
-========================================================================*/
+*/
file_search_path(semlib, 'src/prolog/lib').
file_search_path(boxer, 'src/prolog/boxer').
@@ -14,7 +14,7 @@
/*========================================================================
Load Modules
-========================================================================*/
+*/
%:- use_module(boxer(drs2fdrs),[instDrs/1,elimEqDrs/2]).
%:- use_module(boxer(lexicon),[semlex/5,semlex/6]).
@@ -29,7 +29,7 @@
/*========================================================================
Latex Var
-========================================================================*/
+*/
printTypedVar(V,Stream):- var(V), !, write(Stream,'X').
printTypedVar(e,Stream):- !, write(Stream,x).
@@ -42,7 +42,7 @@
/*========================================================================
Add Types
-========================================================================*/
+*/
%addTypes(Exp,Type,L-L,_):- write(hey:Exp:Type:L),nl,fail.
@@ -107,7 +107,7 @@
/*========================================================================
Latex Lambda Expression (Add Types first)
-========================================================================*/
+*/
drs2tex(Drs,Type,Stream):-
addTypes(Drs,Type,[]-_,TypedDrs), !,
@@ -120,7 +120,7 @@
/*========================================================================
Latex DRSs
-========================================================================*/
+*/
drs2tex(t(Type,'$VAR'(Id)),Stream):-
printTypedVar(Type,Stream),
@@ -156,7 +156,7 @@
/*========================================================================
Tex DRS-referents
-========================================================================*/
+*/
refs2tex([],Stream):- !, write(Stream,'}').
@@ -167,7 +167,7 @@
/*========================================================================
Tex DRS-Conditions
-========================================================================*/
+*/
conds2tex([],_):- !.
@@ -177,13 +177,13 @@
conds2tex([C|Cs],Stream):-
cond2tex(C,Stream,N),
- format(Stream,'\\\\[~ppt]~n',[N]),
+ 'format'(Stream,'\\\\[~ppt]~n',[N]),
conds2tex(Cs,Stream).
/*========================================================================
Tex DRS-Condition
-========================================================================*/
+*/
cond2tex(not(Drs),Stream,9):- !,
write(Stream,'$\\lnot$'),
@@ -280,7 +280,7 @@
/*========================================================================
Time Expressions
-========================================================================*/
+*/
timex(date(_:_,_:Y,_:M,_:D),Timex):- !, timex(date(Y,M,D),Timex).
@@ -316,7 +316,7 @@
/*========================================================================
Header
-========================================================================*/
+*/
printHeader(Stream):-
write(Stream,'\\documentclass[10pt]{article}'), nl(Stream),
@@ -370,7 +370,7 @@
/*========================================================================
Cat2Type
-========================================================================*/
+*/
cat2type(t:_, t):- !.
cat2type(n, type(e,t)):- !.
@@ -392,7 +392,7 @@
/*========================================================================
Clean up CCG Cat
-========================================================================*/
+*/
cleanCat('\\'(A1,B1), '\\'(A2,B2) ):- !, cleanCat(A1,A2), cleanCat(B1,B2).
cleanCat('/'(A1,B1), '/'(A2,B2) ):- !, cleanCat(A1,A2), cleanCat(B1,B2).
@@ -405,7 +405,7 @@
/*========================================================================
Typeset Category
-========================================================================*/
+*/
printCat('\\'(A,B),Stream):- !,
write(Stream,'('),
@@ -453,7 +453,7 @@
/*========================================================================
Typeset Semantic Type
-========================================================================*/
+*/
printType(type(A,B),Stream):- !,
write(Stream,'$\\langle$'),
@@ -467,7 +467,7 @@
/*========================================================================
Typeset Sentence
-========================================================================*/
+*/
printExample(Id,Stream,W):-
ex(Id,Ex,_),
@@ -509,7 +509,7 @@
/*========================================================================
Typeset Tokens
-========================================================================*/
+*/
printTokens(Id,Stream):-
findall(t(F,Tok),tok(Id,Tok,F),L),
@@ -567,7 +567,7 @@
/*========================================================================
Special Characters (for Latex)
-========================================================================*/
+*/
special('$').
special('%').
@@ -580,7 +580,7 @@
/*========================================================================
Compute Frequency
-========================================================================*/
+*/
computeF:-
sem(_,_,Id),
@@ -601,7 +601,7 @@
/*========================================================================
Print Derivation
-========================================================================*/
+*/
printDer(Comb,Stream,Tok3):-
( Comb = fa(Cat,Sem,L,R), !, Rule = '[$>$]'
@@ -631,7 +631,7 @@
write(Stream,'\\textbf{'), printToks(Tok3,Stream), write(Stream,'}\\\\'), nl(Stream),
printCat(Cat,Stream), write(Stream,'\\\\'), nl(Stream),
printType(Type,Stream), write(Stream,'\\\\'), nl(Stream),
-% format(Stream,'%%%~p~n',[Red]),
+% 'format'(Stream,'%%%~p~n',[Red]),
drs2tex(Red,Type,Stream),
!,
write(Stream,'\\end{tabular}}'), nl(Stream),
@@ -650,7 +650,7 @@
write(Stream,'\\textbf{'), printToks(Tok,Stream), write(Stream,'}\\\\'), nl(Stream),
printCat(Cat,Stream), write(Stream,'\\\\'), nl(Stream),
printType(Type,Stream), write(Stream,'\\\\'), nl(Stream),
-% format(Stream,'%%%~p~n',[Red]),
+% 'format'(Stream,'%%%~p~n',[Red]),
drs2tex(Red,Type,Stream),
write(Stream,'\\\\'), nl(Stream),
!,
@@ -678,7 +678,7 @@
/*========================================================================
Analysis of Derivation
-========================================================================*/
+*/
analyse(t(Sem,Cat,Tok,Pos),Index,[Tok|L]-L):- !,
cleanCat(Cat,CleanCat),
@@ -705,7 +705,7 @@
/*========================================================================
Derivations
-========================================================================*/
+*/
derivations:-
der(N,Der),
@@ -720,7 +720,7 @@
/*========================================================================
Print Derivations
-========================================================================*/
+*/
printDerivations(Stream):-
der(N,Der),
@@ -732,8 +732,8 @@
write(Stream,'\\clearpage'), nl(Stream),
write(Stream,'\\begin{sidewaystable}\\scriptsize'), nl(Stream),
printDer(Der,Stream,_),
- format(Stream,'\\caption{\\label{ex:~p}',[N]),
- printToks(S,Stream), format(Stream,' (~p)}~n',[N]),
+ 'format'(Stream,'\\caption{\\label{ex:~p}',[N]),
+ printToks(S,Stream), 'format'(Stream,' (~p)}~n',[N]),
write(Stream,'\\end{sidewaystable}'), nl(Stream),
fail.
@@ -743,7 +743,7 @@
/*========================================================================
Add to temp database
-========================================================================*/
+*/
add(Cat,Sym,Tok,Pos,X1,Sen):-
sem(Cat,X2,Id),
@@ -782,7 +782,7 @@
/*========================================================================
Similar Semantics
-========================================================================*/
+*/
similar(X,Y):- var(X), !, var(Y).
similar(X,Y):- var(Y), !, var(X).
@@ -821,7 +821,7 @@
/*========================================================================
Blocked examples
-========================================================================*/
+*/
blocked(201).
blocked(211).
@@ -853,14 +853,14 @@
/*========================================================================
Min Length for Example
-========================================================================*/
+*/
minlen(3).
maxlen(10).
/*========================================================================
Get best example
-========================================================================*/
+*/
getExample(Id,ExId,Tok,Len):-
minlen(Min),
@@ -891,7 +891,7 @@
/*========================================================================
Main
-========================================================================*/
+*/
body([],_,Stream):- !, nl(Stream).
@@ -924,10 +924,10 @@
write(Stream,'}\\\\[7pt]'), nl(Stream),
write(Stream,'\\textbf{Semantics}: & \\\\'), nl(Stream),
- format(Stream,'\\end{tabular}\\hfill F=~p~n~n',[F]),
+ 'format'(Stream,'\\end{tabular}\\hfill F=~p~n~n',[F]),
numbervars(X,1,_),
- format(Stream,'%%%~p~n',[X]),
+ 'format'(Stream,'%%%~p~n',[X]),
write(Stream,'\\textsf{'),
drs2tex(X,Type,Stream),
write(Stream,'}'), nl(Stream), nl(Stream),
@@ -953,7 +953,7 @@
/*========================================================================
Print Page Ref
-========================================================================*/
+*/
printPageRef(Len,Stream,N):-
\+ blocked(N),
@@ -961,7 +961,7 @@
minlen(MinLen),
Len < MaxLen,
Len > MinLen, !,
- format(Stream,'(see p. \\pageref{ex:~p})~n~n',[N]).
+ 'format'(Stream,'(see p. \\pageref{ex:~p})~n~n',[N]).
printPageRef(_,Stream,_):-
nl(Stream).
@@ -969,7 +969,7 @@
/*========================================================================
Print Example 1
-========================================================================*/
+*/
printExample1(Stream,Id,N):-
tok(Id,Sym,F),
@@ -984,7 +984,7 @@
/*========================================================================
Print Example 2
-========================================================================*/
+*/
printExample2(Stream,Id,N):-
getExample(Id,Ex,Tok,Len), \+ Ex=N,
@@ -997,7 +997,7 @@
/*========================================================================
Start
-========================================================================*/
+*/
go:-
setDefaultOptions(boxer),
Index: src/prolog/lib/drs2fol.pl
===================================================================
--- src/prolog/lib/drs2fol.pl (revision 2527)
+++ src/prolog/lib/drs2fol.pl (working copy)
@@ -8,7 +8,7 @@
/* ========================================================================
Main Predicate
-======================================================================== */
+*/
drs2fol(B,some(W,and(possible_world(W),F))):-
option('--modal',true), !,
@@ -21,7 +21,7 @@
/* ========================================================================
Translate DRSs into FOL formulas
-======================================================================== */
+*/
drsfol(lab(_,B),Form):- !, drsfol(B,Form).
@@ -59,7 +59,7 @@
/* ========================================================================
Translate DRSs into FOL formulas (Modal translation)
-======================================================================== */
+*/
drsfol(lab(_,B),W,Form):- !, drsfol(B,W,Form).
@@ -95,7 +95,7 @@
This is to ensure that discourse referents in the LHS of a merge
bind occurrences of DRSs in the RHS of a merge.
-======================================================================== */
+*/
drsfolGap(sdrs([B],_),F):- !, drsfolGap(B,F).
@@ -140,7 +140,7 @@
This is to ensure that discourse referents in the LHS of a merge
bind occurrences of DRSs in the RHS of a merge.
-======================================================================== */
+*/
drsfolGap(sdrs([B],_),W,F):- !, drsfolGap(B,W,F).
@@ -173,7 +173,7 @@
/* ========================================================================
Translate DRS-Conditions into FOL formulas
-======================================================================== */
+*/
cond2fol(_:C,F):- !,
cond2fol(C,F).
@@ -278,7 +278,7 @@
/*========================================================================
Translate DRS-Conditions into FOL formulas (modal translation)
-========================================================================*/
+*/
cond2fol(_:C,W,F):- !,
cond2fol(C,W,F).
@@ -353,7 +353,7 @@
/* ========================================================================
Normalising Symbols
-======================================================================== */
+*/
symbol(t,D,_Sense,F):- !, timex(D,F).
@@ -373,7 +373,7 @@
/* ========================================================================
Max Length Symbol (for mace, and other theorem provers)
-======================================================================== */
+*/
maxLen(In,Out):-
In = [A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B1,B2,B3,B4,B5,B6,B7,B8,B9,B0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C0,D1,_|_], !,
@@ -387,7 +387,7 @@
/* ========================================================================
Normalising Symbols
-======================================================================== */
+*/
normSymbol([],[]):- !.
@@ -407,7 +407,7 @@
/* ========================================================================
Time Expressions
-======================================================================== */
+*/
timex(date(_:_,_:Y,_:M,_:D),Timex):- !,
timex(date(Y,M,D),Timex).
@@ -433,7 +433,7 @@
/* ========================================================================
Time Expressions (year)
-======================================================================== */
+*/
year(Y,C):- variable(Y), !, name('XXXX',C).
year(Y,C):- name(Y,C).
@@ -441,7 +441,7 @@
/* ========================================================================
Time Expressions (month)
-======================================================================== */
+*/
month(Y,C):- variable(Y), !, name('XX',C).
month(Y,C):- name(Y,C).
@@ -449,7 +449,7 @@
/* ========================================================================
Time Expressions (day)
-======================================================================== */
+*/
day(Y,C):- variable(Y), !, name('XX',C).
day(Y,C):- name(Y,C).
@@ -457,7 +457,7 @@
/* ========================================================================
Time Expressions (other)
-======================================================================== */
+*/
hour(A,C):- day(A,C).
minute(A,C):- day(A,C).
@@ -466,7 +466,7 @@
/* ========================================================================
Variable
-======================================================================== */
+*/
variable(X):- var(X), !.
variable(X):- functor(X,'$VAR',1), !.
Index: src/prolog/lib/drs2tacitus.pl
===================================================================
--- src/prolog/lib/drs2tacitus.pl (revision 2527)
+++ src/prolog/lib/drs2tacitus.pl (working copy)
@@ -8,7 +8,7 @@
/* ========================================================================
Main Predicate
-======================================================================== */
+*/
drs2tac(DRS,Tags,N,TAC):-
drs2tac(DRS,Tags,[],TAC0,N-_,_),
@@ -17,7 +17,7 @@
/* ========================================================================
Replacing equality statements
-======================================================================== */
+*/
replace(TAC1,TAC4):-
select(replace(Old,New),TAC1,TAC2), !,
@@ -46,7 +46,7 @@
/* ========================================================================
Label
-======================================================================== */
+*/
label(X,Label,Var,Y):-
var(Var), number(X),
@@ -60,7 +60,7 @@
/* ========================================================================
Translate DRSs into TACITUS formulas
-======================================================================== */
+*/
drs2tac(alfa(_,B1,B2),P,T1,T2,N,H):- !,
drs2tac(merge(B1,B2),P,T1,T2,N,H).
@@ -89,7 +89,7 @@
/* ========================================================================
Translate DRS-Conditions into TACITUS formulas (wrapper)
-======================================================================== */
+*/
conds2tac(Conds,P,T1,T2,N,Head):-
roles(Conds,Roles,NewConds),
@@ -98,7 +98,7 @@
/* ========================================================================
Translate DRS-Conditions into TACITUS formulas
-======================================================================== */
+*/
conds2tac([],_,_,T1,T2,N-N,Heads,Head):- !,
adjustMods(Heads,T1,T2),
@@ -111,7 +111,7 @@
/* ========================================================================
Make a guess as to what the head of a list of DRS-conditions is...
-======================================================================== */
+*/
pickHead(Heads,Event):-
member(event:[I]:Event,Heads),
@@ -124,7 +124,7 @@
/* ========================================================================
Adjust modifier modifiers...
-======================================================================== */
+*/
adjustMods(Heads,T1,T3):-
select(mod:[P1]:E1,Heads,Rest),
@@ -140,7 +140,7 @@
/* ========================================================================
Separate roles from other DRS-conditions
-======================================================================== */
+*/
roles([],[],[]).
roles([_:R|L1],[R|Roles],L2):- R = rel(_,_,Role,_), member(Role,[topic,agent,patient,theme,recipient]), !, roles(L1,Roles,L2).
@@ -149,7 +149,7 @@
/* ========================================================================
Translate a DRS-Condition into TACITUS formulas
-======================================================================== */
+*/
cond2tac(I:nec(Drs),P,_,T1,[I:nec(E1,E2)|T2],N1-N3,complex:I:E1):- !,
label(N1,e,E1,N2),
@@ -259,7 +259,7 @@
/* ========================================================================
Add roles as arguments
-======================================================================== */
+*/
addRoles([],_,F,N1-N4):-
F =.. [_,_,A1,A2,A3], !,
@@ -302,7 +302,7 @@
/*========================================================================
Time Expressions
-========================================================================*/
+*/
timex(date(_:_,_:Y,_:M,_:D),Timex):- !,
timex(date(Y,M,D),Timex).
@@ -328,7 +328,7 @@
/* ========================================================================
Time Expressions (year)
-======================================================================== */
+*/
year(Y,C):- var(Y), !, name('XXXX',C).
year(Y,C):- name(Y,C).
@@ -336,7 +336,7 @@
/* ========================================================================
Time Expressions (month)
-======================================================================== */
+*/
month(Y,C):- var(Y), !, name('XX',C).
month(Y,C):- name(Y,C).
@@ -344,7 +344,7 @@
/* ========================================================================
Time Expressions (day)
-======================================================================== */
+*/
day(Y,C):- var(Y), !, name('XX',C).
day(Y,C):- name(Y,C).
@@ -352,7 +352,7 @@
/* ========================================================================
Time Expressions (other)
-======================================================================== */
+*/
hour(A,C):- day(A,C).
minute(A,C):- day(A,C).
@@ -361,7 +361,7 @@
/* ========================================================================
Determine POS
-======================================================================== */
+*/
pos(Is,T,POS):-
member(I,Is),
@@ -374,7 +374,7 @@
/* ========================================================================
Map POS tags
-======================================================================== */
+*/
mappos('NN', '-n').
mappos('NNS', '-n').
@@ -405,7 +405,7 @@
/* ========================================================================
Print TACITUS formula
-======================================================================== */
+*/
printTAC([],Stream):- !, nl(Stream).
printTAC([X],Stream):- !, write(Stream,X), nl(Stream).
Index: src/prolog/lib/drs2tex.pl
===================================================================
--- src/prolog/lib/drs2tex.pl (revision 2527)
+++ src/prolog/lib/drs2tex.pl (working copy)
@@ -6,7 +6,7 @@
/*========================================================================
Latex DRSs
-========================================================================*/
+*/
drs2tex(smerge(B1,B2),Stream):- !,
drs2tex(merge(B1,B2),Stream).
@@ -35,7 +35,7 @@
/*========================================================================
Tex DRS-referents
-========================================================================*/
+*/
refs2tex([],Stream):- !,
write(Stream,'}').
@@ -52,7 +52,7 @@
/*========================================================================
Tex DRS-Conditions
-========================================================================*/
+*/
conds2tex([],_):- !.
@@ -62,13 +62,13 @@
conds2tex([_:C|L],Stream):-
cond2tex(C,Stream,N),
- format(Stream,'\\\\[~ppt]~n',[N]),
+ 'format'(Stream,'\\\\[~ppt]~n',[N]),
conds2tex(L,Stream).
/*========================================================================
Tex DRS-Condition
-========================================================================*/
+*/
cond2tex(not(Drs),Stream,9):- !,
write(Stream,'$\\lnot$'),
@@ -169,7 +169,7 @@
/*========================================================================
Tex non-logical sym2texs
-========================================================================*/
+*/
sym2tex(Sym1,Type,Sense,Sym3):-
symbol(Type,Sym1,Sense,Sym2),
@@ -180,7 +180,7 @@
/*========================================================================
Deal with underscores
-========================================================================*/
+*/
underscore([],[]).
Index: src/prolog/lib/errors.pl
===================================================================
--- src/prolog/lib/errors.pl (revision 2527)
+++ src/prolog/lib/errors.pl (working copy)
@@ -5,24 +5,24 @@
warning(S,V):-
option('--warnings',true), !,
- format(user_error,'\033[33mWARNING: ',[]),
- format(user_error,S,V),
- format(user_error,'\033[0m~n',[]).
+ 'format'(user_error,'\033[33mWARNING: ',[]),
+ 'format'(user_error,S,V),
+ 'format'(user_error,'\033[0m~n',[]).
warning(_S,_V):-
option('--warnings',false).
inform(S,V):-
option('--info',true), !,
- format(user_error,'\033[34mINFO: ',[]),
- format(user_error,S,V),
- format(user_error,'\033[0m~n',[]).
+ 'format'(user_error,'\033[34mINFO: ',[]),
+ 'format'(user_error,S,V),
+ 'format'(user_error,'\033[0m~n',[]).
inform(_S,_V):-
option('--info',false).
error(S,V):-
- format(user_error,'\033[31mERROR: ',[]),
- format(user_error,S,V),
- format(user_error,'\033[0m~n',[]).
+ 'format'(user_error,'\033[31mERROR: ',[]),
+ 'format'(user_error,S,V),
+ 'format'(user_error,'\033[0m~n',[]).
Index: src/prolog/lib/gen-wordnet.pl
===================================================================
--- src/prolog/lib/gen-wordnet.pl (revision 2527)
+++ src/prolog/lib/gen-wordnet.pl (working copy)
@@ -8,7 +8,7 @@
/* =========================================================================
Main
-========================================================================= */
+ */
main:-
open('working/wordnet/isa.pl',write,Stream),
@@ -18,7 +18,7 @@
/* =========================================================================
Generate relations
-========================================================================= */
+ */
gen(Stream):-
member(POS,[n,v,a,r]), % Possible Values: n,v,a,r,s
@@ -34,7 +34,7 @@
/* =========================================================================
Hyperonyms
-========================================================================= */
+ */
hypero(ID1,n,S,p):-
ins(ID1,ID2), !,
@@ -49,7 +49,7 @@
/* =========================================================================
Antonyms
-========================================================================= */
+ */
antonyms(ID1,a,S):-
ant(ID1,1,ID2,1), !,
@@ -60,7 +60,7 @@
/* =========================================================================
Synonyms
-========================================================================= */
+ */
synonyms(ID,POS,L1-L2):-
synonyms(ID,1,POS,L1-L2).
@@ -76,7 +76,7 @@
/* =========================================================================
Output
-========================================================================= */
+ */
print_rel(Stream,Concept,Syn,Hyp,Ant,Type):-
print_syn(Syn,Concept,Type,Stream),
@@ -86,7 +86,7 @@
/* =========================================================================
Output SYN
-========================================================================= */
+ */
print_syn([],_,_,_).
@@ -96,13 +96,13 @@
print_syn([X:XS|L],Tok:Sense,Type,Stream):-
symbol(Tok,Sym),
- format(Stream,'syn~p(~q,~q,~q,~q).~n',[Type,Sym,Sense,X,XS]),
+ 'format'(Stream,'syn~p(~q,~q,~q,~q).~n',[Type,Sym,Sense,X,XS]),
print_syn(L,Tok:Sense,Type,Stream).
/* =========================================================================
Output HYP
-========================================================================= */
+ */
print_hyp([],_,_,_).
@@ -112,13 +112,13 @@
print_hyp([X:XS|L],Tok:Sense,Type,Stream):-
symbol(Tok,Sym),
- format(Stream,'isa~p(~q,~q,~q,~q).~n',[Type,Sym,Sense,X,XS]),
+ 'format'(Stream,'isa~p(~q,~q,~q,~q).~n',[Type,Sym,Sense,X,XS]),
print_hyp(L,Tok:Sense,Type,Stream).
/* =========================================================================
Output ANTONYM
-========================================================================= */
+ */
print_ant([],_,_,_).
@@ -128,13 +128,13 @@
print_ant([X:XS|L],Tok:Sense,Type,Stream):-
symbol(Tok,Sym),
- format(Stream,'isnota~p(~q,~q,~q,~q).~n',[Type,Sym,Sense,X,XS]),
+ 'format'(Stream,'isnota~p(~q,~q,~q,~q).~n',[Type,Sym,Sense,X,XS]),
print_hyp(L,Tok:Sense,Type,Stream).
/* =========================================================================
Normalize Symbols
-========================================================================= */
+ */
symbol(F1,F2):-
name(F1,A1),
@@ -146,7 +146,7 @@
/* =========================================================================
Normalize Symbol Characters
-========================================================================= */
+ */
sym([],[]).
@@ -173,7 +173,7 @@
/* =========================================================================
Self Starting
-========================================================================= */
+ */
:- main, halt.
Index: src/prolog/lib/lex2tex.pl
===================================================================
--- src/prolog/lib/lex2tex.pl (revision 2527)
+++ src/prolog/lib/lex2tex.pl (working copy)
@@ -4,7 +4,7 @@
/*========================================================================
File Search Paths
-========================================================================*/
+*/
file_search_path(semlib, 'src/prolog/lib').
file_search_path(boxer, 'src/prolog/boxer').
@@ -14,7 +14,7 @@
/*========================================================================
Load Modules
-========================================================================*/
+*/
:- use_module(boxer(drs2fdrs),[instDrs/1,elimEqDrs/2]).
:- use_module(boxer(lexicon),[semlex/5,semlex/6]).
@@ -30,7 +30,7 @@
/*========================================================================
Latex Var
-========================================================================*/
+*/
printTypedVar(V,Stream):- var(V), !, write(Stream,'X').
printTypedVar(e,Stream):- !, write(Stream,x).
@@ -42,7 +42,7 @@
/*========================================================================
Latex DRSs
-========================================================================*/
+*/
drs2tex('$VAR'(Id),Type,L-L,Stream):-
member('$VAR'(Id):Type,L), !,
@@ -102,7 +102,7 @@
/*========================================================================
Tex DRS-referents
-========================================================================*/
+*/
refs2tex([],L-L,Stream):- !,
write(Stream,'}').
@@ -119,7 +119,7 @@
/*========================================================================
Tex DRS-Conditions
-========================================================================*/
+*/
conds2tex([],_,_):- !.
@@ -129,13 +129,13 @@
conds2tex([_:C|Cs],L,Stream):-
cond2tex(C,L,Stream,N),
- format(Stream,'\\\\[~ppt]~n',[N]),
+ 'format'(Stream,'\\\\[~ppt]~n',[N]),
conds2tex(Cs,L,Stream).
/*========================================================================
Tex DRS-Condition
-========================================================================*/
+*/
cond2tex(not(Drs),L,Stream,9):- !,
write(Stream,'$\\lnot$'),
@@ -235,7 +235,7 @@
/*========================================================================
Tex non-logical sym2texs
-========================================================================*/
+*/
sym2tex(Sym1,Type,Sense,Sym3):-
symbol(Type,Sym1,Sense,Sym2),
@@ -246,7 +246,7 @@
/*========================================================================
Deal with underscores
-========================================================================*/
+*/
underscore([],[]).
@@ -257,7 +257,7 @@
/*========================================================================
Header
-========================================================================*/
+*/
printHeader(Stream):-
write(Stream,'\\documentclass[10pt]{article}'), nl(Stream),
@@ -293,7 +293,7 @@
/*========================================================================
Cat2Type
-========================================================================*/
+*/
cat2type(t, t):- !.
cat2type(n, type(e,t)):- !.
@@ -311,7 +311,7 @@
/*========================================================================
Clean up CCG Cat
-========================================================================*/
+*/
cleanCat('\\'(A1,B1), '\\'(A2,B2) ):- !, cleanCat(A1,A2), cleanCat(B1,B2).
cleanCat('/'(A1,B1), '/'(A2,B2) ):- !, cleanCat(A1,A2), cleanCat(B1,B2).
@@ -321,7 +321,7 @@
/*========================================================================
Generate Semantic Representation
-========================================================================*/
+*/
getsem(CleanCat,Token,Converted,Start,Tok):-
lexcall(Cat,Sym,Lem,Pos:Ner,Start,Tok),
@@ -334,7 +334,7 @@
/*========================================================================
Get example sentence
-========================================================================*/
+*/
getexample(I1,I2,L,Len):- getexample1(I1,I2,L,Len), !.
getexample(I,_,[],0).
@@ -350,7 +350,7 @@
/*========================================================================
Typeset Category
-========================================================================*/
+*/
printCat('\\'(A,B),Stream):- !,
write(Stream,'('),
@@ -382,7 +382,7 @@
/*========================================================================
Typeset Semantic Type
-========================================================================*/
+*/
printType(type(A,B),Stream):- !,
write(Stream,'$\\langle$'),
@@ -396,7 +396,7 @@
/*========================================================================
Typeset Sentence
-========================================================================*/
+*/
printSentence([],Stream,_,_):- nl(Stream).
@@ -415,7 +415,7 @@
/*========================================================================
Typeset Tokens
-========================================================================*/
+*/
printTokens(Id,Stream):-
findall(t(F,Tok),tok(Id,Tok,F),L),
@@ -476,7 +476,7 @@
/*========================================================================
Special Charachters (for Latex)
-========================================================================*/
+*/
special('$').
special('%').
@@ -489,7 +489,7 @@
/*========================================================================
Compute Frequency
-========================================================================*/
+*/
computeF:-
sem(_,_,Id),
@@ -510,7 +510,7 @@
/*========================================================================
Init
-========================================================================*/
+*/
init:-
getsem(Cat,Tok,X,Sen,Pos),
@@ -523,7 +523,7 @@
/*========================================================================
Add to temp database
-========================================================================*/
+*/
add(Cat,_,_,_,_):-
member(Cat,[conj,comma,semi]), !.
@@ -561,7 +561,7 @@
/*========================================================================
Add example
-========================================================================*/
+*/
addExample(Id,_,Len,_):- %%% same length, hence
ex(Id,_,Len,_), !. %%% no need to add
@@ -582,7 +582,7 @@
/*========================================================================
Similar Semantics
-========================================================================*/
+*/
similar(X,Y):- var(X), !, var(Y).
similar(X,Y):- var(Y), !, var(X).
@@ -620,7 +620,7 @@
/*========================================================================
Main
-========================================================================*/
+*/
body([s(F,Id)|L],Stream):-
F > 10, !,
@@ -629,12 +629,12 @@
write(Stream,'\\clearpage'), nl(Stream),
write(Stream,'Category: \\textbf{' ),
printCat(Cat,Stream),
- format(Stream,'} \\hfill F=~p~n~n',[F]),
+ 'format'(Stream,'} \\hfill F=~p~n~n',[F]),
write(Stream,'Type: ' ),
printType(Type,Stream), nl(Stream), nl(Stream),
write(Stream,'DRS:'), nl(Stream), nl(Stream),
numbervars(X,1,_),
- format(Stream,'%%%~p~n',[X]),
+ 'format'(Stream,'%%%~p~n',[X]),
drs2tex(X,Type,[]-_,Stream), nl(Stream), nl(Stream),
write(Stream,'Entries: '),
printTokens(Id,Stream), nl(Stream), nl(Stream),
@@ -652,7 +652,7 @@
/*========================================================================
Start
-========================================================================*/
+*/
go:-
setDefaultOptions(boxer),
Index: src/prolog/lib/options.pl
===================================================================
--- src/prolog/lib/options.pl (revision 2527)
+++ src/prolog/lib/options.pl (working copy)
@@ -11,14 +11,14 @@
/* =======================================================================
Global dynamic predicates
-========================================================================*/
+*/
:- dynamic option/2.
/* =======================================================================
Set Option
-========================================================================*/
+*/
setOption(P,Option,Value):-
assertOptions(P,[Option:Value]).
@@ -26,7 +26,7 @@
/* =======================================================================
Check User Options
-========================================================================*/
+*/
parseOptions(P,Arg):-
opts(P,Options,Arg,[]), !,
@@ -35,7 +35,7 @@
/* =======================================================================
Options Grammar
-========================================================================*/
+*/
opts(_,[]) --> [].
opts(P,[O:do|L]) --> opt0(P,O), opts(P,L).
@@ -61,7 +61,7 @@
/* =======================================================================
Check for Integer
-========================================================================*/
+*/
isInteger([],Int,Int):- !.
@@ -73,7 +73,7 @@
/* =======================================================================
Assert Options
-========================================================================*/
+*/
assertOptions(_,[]).
@@ -119,7 +119,7 @@
/* =======================================================================
Default Options
-========================================================================*/
+*/
setDefaultOptions(P):-
retractall(option(_,_)),
@@ -136,22 +136,22 @@
/* =======================================================================
Display Options
-========================================================================*/
+*/
showOptions(P):-
- ( setof(O,V^D^(option(P,O,0,V,D),format(user_error,' ~p~n',[O])),_), !; true ),
- ( setof(O,V^D^(option(P,O,-1,V,D),format(user_error,' ~p ~n',[O])),_), !; true ),
- ( setof(O,V^D^(option(P,O,-2,V,D),format(user_error,' ~p (default: ~p)~n',[O,D])),_), !; true ),
+ ( setof(O,V^D^(option(P,O,0,V,D),'format'(user_error,' ~p~n',[O])),_), !; true ),
+ ( setof(O,V^D^(option(P,O,-1,V,D),'format'(user_error,' ~p ~n',[O])),_), !; true ),
+ ( setof(O,V^D^(option(P,O,-2,V,D),'format'(user_error,' ~p (default: ~p)~n',[O,D])),_), !; true ),
( setof(o(O,D),V^option(P,O,1,V,D),Options), !; true ),
findall(_,( member(o(O,D),Options),
findall(V,option(P,O,1,V,_),L),
- format(user_error,' ~p (possible values: ~p, default: ~p)~n',[O,L,D])),_),
+ 'format'(user_error,' ~p (possible values: ~p, default: ~p)~n',[O,L,D])),_),
nl(user_error).
/* =======================================================================
Tokkie Options % option(Option,NumberArgs,Value,Default)
-========================================================================*/
+*/
option( tokkie, '--help', 0, _, dont ).
option( tokkie, '--version', 0, _, dont ).
@@ -167,7 +167,7 @@
/* =======================================================================
Nutcracker Options % option(Option,NumberArgs,Value,Default)
-========================================================================*/
+*/
option( nutcracker, '--help', 0, _, dont ).
option( nutcracker, '--version', 0, _, dont ).
@@ -200,7 +200,7 @@
/* =======================================================================
Boxer Options % option(Option,NumberArgs,Value,Default)
-========================================================================*/
+*/
option( boxer, '--help', 0, _, dont ).
option( boxer, '--version', 0, _, dont ).
@@ -227,3 +227,7 @@
option( boxer, '--semantics', 1, V, drs ):- member(V,[drs,pdrs,fol,drg,tacitus,der]).
option( boxer, '--input', -1, _, user_input ).
option( boxer, '--output', -1, _, user_output).
+
+option( boxer, '--toploop', 0, _, dont ).
+option( boxer, '--loaded', 0, _, dont ).
+
Index: src/prolog/lib/pdrs2drs.pl
===================================================================
--- src/prolog/lib/pdrs2drs.pl (revision 2527)
+++ src/prolog/lib/pdrs2drs.pl (working copy)
@@ -8,7 +8,7 @@
/* ========================================================================
Main Predicate
-======================================================================== */
+*/
pdrs2drs(PDRS,DRS):-
pdrs2drs(PDRS,[dom(g):[]-D,con(g):[]-C],Projected,B),
@@ -19,7 +19,7 @@
/* ========================================================================
Accommodation
-======================================================================== */
+*/
accommodate([]):- !.
accommodate([dom(_):X-X|L]):- !, accommodate(L).
@@ -28,7 +28,7 @@
/* ========================================================================
Translate PDRSs into DRSs
-======================================================================== */
+*/
pdrs2drs(lab(X,B1),G1,G2,lab(X,B2)):- !,
pdrs2drs(B1,G1,G2,B2).
@@ -61,7 +61,7 @@
/* ========================================================================
Project Domains
-======================================================================== */
+*/
dom2drs([],G,G).
@@ -78,7 +78,7 @@
/* ========================================================================
Project Conditions
-======================================================================== */
+*/
cons2drs([],G,G).
@@ -97,7 +97,7 @@
/* ========================================================================
Project Condition
-======================================================================== */
+*/
con2drs(not(B1),G1,G2,not(B2)):- !,
pdrs2drs(B1,G1,G2,B2).
@@ -136,7 +136,7 @@
/* ========================================================================
Select Domain
-======================================================================== */
+*/
select(dom(B1),G1,G2,dom(B1):C1-C2):-
select(dom(B2):C1-C2,G1,G2), B1==B2, !.
@@ -147,7 +147,7 @@
/* ========================================================================
Select Conditions
-======================================================================== */
+*/
select(con(B1),G1,G2,con(B1):C1-C2):-
select(con(B2):C1-C2,G1,G2), B1==B2, !.
Index: src/prolog/lib/verbnet2boxer.pl
===================================================================
--- src/prolog/lib/verbnet2boxer.pl (revision 2527)
+++ src/prolog/lib/verbnet2boxer.pl (working copy)
@@ -1,7 +1,7 @@
/* ========================================================================
File Search Paths
-=========================================================================*/
+ */
file_search_path(semlib, 'src/prolog/lib').
file_search_path(boxer, 'src/prolog/boxer').
@@ -11,14 +11,14 @@
/* ========================================================================
VerbNet
-=========================================================================*/
+ */
:- dynamic verbnet/3.
/* ========================================================================
Modules
-=========================================================================*/
+ */
:- use_module(library(lists),[member/2]).
:- use_module(boxer(slashes)).
@@ -26,7 +26,7 @@
/* ========================================================================
Main
-=========================================================================*/
+*/
verbnet2prolog(File):-
load_xml_file(File,T),
@@ -38,7 +38,7 @@
/* ----------------------------------------------------------------------
Pretty Printing XML
----------------------------------------------------------------------- */
+ */
pretty_print([],_).
@@ -55,7 +55,7 @@
/* ----------------------------------------------------------------------
Processing all members of a VerbNet class
----------------------------------------------------------------------- */
+ */
members(X,File,XID,Names):-
findall(Sub:YID,(elements(X,['SUBCLASSES','VNSUBCLASS'],f(Y,Sub)),value(Y,'ID',YID)),Subs),
@@ -68,7 +68,7 @@
/* ----------------------------------------------------------------------
Processing all subclasses of a VerbNet class
----------------------------------------------------------------------- */
+ */
subclasses([],_,[]).
@@ -80,7 +80,7 @@
/* ----------------------------------------------------------------------
Process frames
----------------------------------------------------------------------- */
+ */
frames([],_,_,_):- !.
@@ -94,18 +94,18 @@
ccg(SubCat,C^C,CCG,Missing,Roles),
atom_chars(ID,IDChars),
formatID(IDChars,[_,_|FID]),
- format('~n%%% File: ~p~n%%% Primary: ~p (~p)~n%%% Syntax: ~p~n',[File,Primary,ID,Normal]),
+ 'format'('~n%%% File: ~p~n%%% Primary: ~p (~p)~n%%% Syntax: ~p~n',[File,Primary,ID,Normal]),
write('%%% CCG: '), write(CCG),
- format('~n%%% Roles: ~p~n',[Roles]),
- ( Missing = [], !; format('%%% Missing: ~p~n',[Missing]) ),
- format('%%% Example: ~p~n%%%~n',[Example]),
+ 'format'('~n%%% Roles: ~p~n',[Roles]),
+ ( Missing = [], !; 'format'('%%% Missing: ~p~n',[Missing]) ),
+ 'format'('%%% Example: ~p~n%%%~n',[Example]),
frameMembers(Names,CCG,FID,Roles),
frames(L,Names,ID,File).
/* ----------------------------------------------------------------------
Check if there is an example for a frame
----------------------------------------------------------------------- */
+ */
example(Frame,Example):-
elements(Frame,['EXAMPLES','EXAMPLE'],f(_,[Example])), !.
@@ -115,22 +115,22 @@
/* ----------------------------------------------------------------------
Process all members of a frame
----------------------------------------------------------------------- */
+ */
frameMembers([],_,_,_).
frameMembers([Name1|L],CCG,FID,Roles):-
reformatName(Name1,Name2),
- format('verbnet(~q, ',[Name2]),
+ 'format'('verbnet(~q, ',[Name2]),
write(CCG),
- format(', ~q, ~q).~n',[Roles,FID]),
+ 'format'(', ~q, ~q).~n',[Roles,FID]),
add(CCG,Roles),
frameMembers(L,CCG,FID,Roles).
/* ----------------------------------------------------------------------
Reformat Verbnet names (underscores for spaces)
----------------------------------------------------------------------- */
+ */
reformatName(N1,N2):-
atom_chars(N1,C1),
@@ -144,7 +144,7 @@
/* ----------------------------------------------------------------------
Add entries to Prolog database
----------------------------------------------------------------------- */
+ */
add(CCG,Roles):-
verbnet(CCG,Roles,Old), !,
@@ -158,7 +158,7 @@
/* ----------------------------------------------------------------------
Format VerbNet ID
----------------------------------------------------------------------- */
+ */
formatID(Chars,[Pre,Sep1|L]):-
Seps = ['-','.'], member(Sep1,Seps),
@@ -180,7 +180,7 @@
/* ----------------------------------------------------------------------
Printing the subcat frame
----------------------------------------------------------------------- */
+ */
subcat([],Acc,Acc).
subcat([E|L],Acc1,Acc3):- cat(E,Acc1,Acc2), subcat(L,Acc2,Acc3).
@@ -188,7 +188,7 @@
/* ----------------------------------------------------------------------
Constructing CCG category
----------------------------------------------------------------------- */
+ */
% terminating
%
@@ -215,7 +215,7 @@
/* ----------------------------------------------------------------------
Syntactic Restrictions
----------------------------------------------------------------------- */
+ */
restr(Restr,Type):-
Restr = [element('SYNRESTRS',[],L)],
@@ -253,7 +253,7 @@
/* ----------------------------------------------------------------------
Printing a category
----------------------------------------------------------------------- */
+ */
cat(element('NP', [value=Value], R),A,[s_ng:Value|A]):- restr(R,ac_ing), !.
cat(element('NP', [value=Value], R),A,[s_to:Value|A]):- restr(R,sc_to_inf), !.
@@ -274,7 +274,7 @@
/* ----------------------------------------------------------------------
Processing elements of the XML tree
----------------------------------------------------------------------- */
+ */
elements([element(X,F,L)|_],[X],f(F,L)).
elements([element(X,_,L)|_],[X|R],A):- elements(L,R,A).
@@ -283,7 +283,7 @@
/* ----------------------------------------------------------------------
Accessing a value
----------------------------------------------------------------------- */
+ */
value([Name=Value|_],Name,Value):- !.
value([_|L],Name,Value):- value(L,Name,Value).
@@ -291,14 +291,14 @@
/* ----------------------------------------------------------------------
VerbNet Directory
----------------------------------------------------------------------- */
+ */
verbnet_dir('ext/VerbNet/').
/* ----------------------------------------------------------------------
Processing all XML files
----------------------------------------------------------------------- */
+ */
process([]):- planB.
@@ -308,8 +308,8 @@
planB:-
setof(X,A^B^verbnet(X,A,B),L),
- format('~n%%% Most frequent roles for a particular CCG category.~n%%%~n',[]),
- format('verbnet(_, ~p, [~q], []). % ~n',[s:adj\np,'Topic']),
+ 'format'('~n%%% Most frequent roles for a particular CCG category.~n%%%~n',[]),
+ 'format'('verbnet(_, ~p, [~q], []). % ~n',[s:adj\np,'Topic']),
planB(L).
planB([]).
@@ -318,23 +318,23 @@
verbnet(CCG,R,N), \+ (verbnet(CCG,_,M), M>N),
write('verbnet(_, '),
write(CCG),
- format(' , ~q, []). % n=~p~n',[R,N]),
+ 'format'(' , ~q, []). % n=~p~n',[R,N]),
planB(L).
/* ----------------------------------------------------------------------
Header
----------------------------------------------------------------------- */
+ */
header:-
- format('%%% automatically generated by src/prolog/lib/verbnet2boxer.pl~n%%%~n',[]),
- format(':- module(verbnet,[verbnet/3,verbnet/4]).~n',[]),
- format(':- use_module(boxer(slashes)).~n~n',[]),
- format('%%% wrapper~n%%%~nverbnet(A,B,C):- verbnet(A,B,C,_).~n').
+ 'format'('%%% automatically generated by src/prolog/lib/verbnet2boxer.pl~n%%%~n',[]),
+ 'format'(':- module(verbnet,[verbnet/3,verbnet/4]).~n',[]),
+ 'format'(':- use_module(boxer(slashes)).~n~n',[]),
+ 'format'('%%% wrapper~n%%%~nverbnet(A,B,C):- verbnet(A,B,C,_).~n').
/* ----------------------------------------------------------------------
Wildcard for XML files to be processed
----------------------------------------------------------------------- */
+ */
wildCard('*.xml').
%wildCard('put-9.1.xml').
@@ -346,7 +346,7 @@
/* ----------------------------------------------------------------------
Start Predicate
----------------------------------------------------------------------- */
+ */
run:-
verbnet_dir(Dir),
Index: src/prolog/lib/verbnet2gmb.pl
===================================================================
--- src/prolog/lib/verbnet2gmb.pl (revision 2527)
+++ src/prolog/lib/verbnet2gmb.pl (working copy)
@@ -1,7 +1,7 @@
/* ========================================================================
File Search Paths
-=========================================================================*/
+ */
file_search_path(semlib, 'src/prolog/lib').
file_search_path(boxer, 'src/prolog/boxer').
@@ -10,14 +10,14 @@
/* ========================================================================
VerbNet
-=========================================================================*/
+ */
:- dynamic roles/2.
/* ========================================================================
Modules
-=========================================================================*/
+ */
:- use_module(library(lists),[reverse/2,member/2,append/3]).
:- use_module(boxer(slashes)).
@@ -26,19 +26,19 @@
/* ========================================================================
Generate
-=========================================================================*/
+ */
generate([],_).
generate([X|L],V):-
length(X,Len),
- format('~p ~p ~q~n',[V,Len,X]),
+ 'format'('~p ~p ~q~n',[V,Len,X]),
generate(L,V).
/* ========================================================================
Process
-=========================================================================*/
+ */
process([]).
@@ -50,7 +50,7 @@
/* ========================================================================
Main
-=========================================================================*/
+ */
run:-
setof(V,A^B^(verbnet(V,A,B),nonvar(V)),L),
Index: src/prolog/lib/verbnet2patterns.pl
===================================================================
--- src/prolog/lib/verbnet2patterns.pl (revision 2527)
+++ src/prolog/lib/verbnet2patterns.pl (working copy)
@@ -5,7 +5,7 @@
/* ----------------------------------------------------------------------
Compute Patterns
----------------------------------------------------------------------- */
+ */
patterns:-
init(Len1,Len2),
@@ -18,13 +18,13 @@
write(':- module(verbnet,[vnpattern/3]).'),nl,nl,
factors(Max),
printpatterns(Max),
- format('% max: ~p~n',[Max]),
+ 'format'('% max: ~p~n',[Max]),
halt.
/* ----------------------------------------------------------------------
Init VerbNet ID
----------------------------------------------------------------------- */
+ */
init(Len1,Len2):-
lensepid('.',Len1),
@@ -44,7 +44,7 @@
/* ----------------------------------------------------------------------
Compute frequencies of roles
----------------------------------------------------------------------- */
+ */
freq([]).
freq([Ma|L]):- roleFreq(Ma), freq(L).
@@ -59,7 +59,7 @@
/* ----------------------------------------------------------------------
Compute VerbNet Id
----------------------------------------------------------------------- */
+ */
computeID([X],[Max],Factor,X):- !,
(Max > 9, !, Factor = 100; Factor = 10).
@@ -73,7 +73,7 @@
/* ----------------------------------------------------------------------
Compute Factors for VerbNet ID
----------------------------------------------------------------------- */
+ */
factors(Max):-
findall(I,vnpattern(_,_,_,I),L),
@@ -95,13 +95,13 @@
/* ----------------------------------------------------------------------
Print Patterns
----------------------------------------------------------------------- */
+ */
printpatterns(Max):-
vnpattern(Verb,Pat,PreMap,NumList),
map(PreMap,Map),
computeID(NumList,Max,_,Num),
- format('~q. %%% ~p~n',[vnpattern(Verb,Num,Map),Pat]),
+ 'format'('~q. %%% ~p~n',[vnpattern(Verb,Num,Map),Pat]),
fail.
printpatterns(_).
@@ -109,7 +109,7 @@
/* ----------------------------------------------------------------------
Format ID
----------------------------------------------------------------------- */
+ */
formatid(['.'|L1],N1,N,L2):- !,
N2 is N1 - 1,
@@ -142,7 +142,7 @@
/* ----------------------------------------------------------------------
Mapping from Proto to VerbNet roles
----------------------------------------------------------------------- */
+ */
map(M1,[Prep:Role|M3]):- sublist([prep:Prep,np:Role],M1,M2), map(M2,M3), !.
map(M1,[Prep:Role|M3]):- sublist([prep:Prep,s:Role],M1,M2), map(M2,M3), !.
@@ -155,12 +155,12 @@
map([np:R1,v],[agent:R1]):- !.
map([v,np:R1],[agent:R1]):- !.
-% map(X,_):- format('% ~p~n',[X]), fail.
+% map(X,_):- 'format'('% ~p~n',[X]), fail.
/* ----------------------------------------------------------------------
Probability of pattern, based on role frequency
----------------------------------------------------------------------- */
+ */
patprob([],0):- !.
patprob([_:R|L],Sum):- role(R,Tmp1), !, patprob(L,Tmp2), Sum is Tmp1 + Tmp2.
@@ -169,7 +169,7 @@
/* ----------------------------------------------------------------------
Patterns
----------------------------------------------------------------------- */
+ */
patterns([],_,_,_):- !.
@@ -195,7 +195,7 @@
/* ----------------------------------------------------------------------
Add Patterns to Database (longest one first)
----------------------------------------------------------------------- */
+ */
addpat(Verb,Pat,Map,Id):-
member(prep:Prep,Map),
@@ -214,7 +214,7 @@
/* ----------------------------------------------------------------------
Split Patterns
----------------------------------------------------------------------- */
+ */
split([],[],[]).
@@ -230,7 +230,7 @@
/* ----------------------------------------------------------------------
Sub List
----------------------------------------------------------------------- */
+ */
sublist(Sub,Old,New):-
append(Start,Rest,Old),
@@ -239,7 +239,7 @@
/* ----------------------------------------------------------------------
Self Starting
----------------------------------------------------------------------- */
+ */
:- patterns.
Index: src/prolog/lib/verbnet2prolog.pl
===================================================================
--- src/prolog/lib/verbnet2prolog.pl (revision 2527)
+++ src/prolog/lib/verbnet2prolog.pl (working copy)
@@ -19,7 +19,7 @@
/* ----------------------------------------------------------------------
Pretty Printing XML
----------------------------------------------------------------------- */
+ */
pretty_print([],_).
@@ -36,7 +36,7 @@
/* ----------------------------------------------------------------------
Checking Syntax
----------------------------------------------------------------------- */
+ */
check(ID,X):-
elements(X,['FRAMES','FRAME'],f(_,Frame)),
@@ -56,7 +56,7 @@
/* ----------------------------------------------------------------------
Processing all members of a VerbNet class
----------------------------------------------------------------------- */
+ */
members(X,File,SuperFrames,XID):-
findall(Name,(elements(X,['MEMBERS','MEMBER'],f(Member,_)),value(Member,name,Name)),Names),
@@ -70,7 +70,7 @@
/* ----------------------------------------------------------------------
Process a member/frame pair
----------------------------------------------------------------------- */
+ */
frameMember([],_,_,_):- !.
@@ -84,19 +84,19 @@
elements(Frame,['DESCRIPTION'],f(De,_)),
value(De,primary,Pr),
elements(Frame,['SYNTAX'],f(_,Syntax)),
- format('verbnet(~q, ~q, ',[Name,Pr]),
+ 'format'('verbnet(~q, ~q, ',[Name,Pr]),
subcatpat(Syntax,[],SubCatPat),
- format('~q, ',[SubCatPat]),
+ 'format'('~q, ',[SubCatPat]),
subcat(Syntax,[],SubCat),
atom_chars(ID,IDChars),
formatID(IDChars,[_,_|FID]),
- format('~q,~q). %%% ~p (~p)~n',[SubCat,FID,ID,File]), !,
+ 'format'('~q,~q). %%% ~p (~p)~n',[SubCat,FID,ID,File]), !,
pairMemberFrame(L,Frame,ID,File).
/* ----------------------------------------------------------------------
Format VerbNet ID
----------------------------------------------------------------------- */
+ */
formatID(Chars,[Pre,Sep1|L]):-
Seps = ['-','.'], member(Sep1,Seps),
@@ -118,7 +118,7 @@
/* ----------------------------------------------------------------------
Printing the subcat frame
----------------------------------------------------------------------- */
+ */
subcat([],Acc1,Acc2):- postproc(Acc1,[],Acc2).
subcat([E|L],Acc1,Acc3):- cat(E,Acc1,Acc2), subcat(L,Acc2,Acc3).
@@ -129,7 +129,7 @@
/* ----------------------------------------------------------------------
Post Processing (reverse + rewriting)
----------------------------------------------------------------------- */
+ */
postproc([],L,L).
postproc([np,pp|L1],Acc,L2):- !, postproc(L1,[pp|Acc],L2).
@@ -140,7 +140,7 @@
/* ----------------------------------------------------------------------
Syntactic Restrictions
----------------------------------------------------------------------- */
+ */
restr(Restr,Type):-
Restr = [element('SYNRESTRS',[],L)],
@@ -178,7 +178,7 @@
/* ----------------------------------------------------------------------
Printing a category
----------------------------------------------------------------------- */
+ */
cat(element('NP', [value=Value], R),A,[s:Value|A]):- s_restr(S), restr(R,S), !.
cat(element('NP', [value=Value], _),A,[np:Value|A]):- !.
@@ -209,7 +209,7 @@
/* ----------------------------------------------------------------------
Processing elements of the XML tree
----------------------------------------------------------------------- */
+ */
elements([element(X,F,L)|_],[X],f(F,L)).
elements([element(X,_,L)|_],[X|R],A):- elements(L,R,A).
@@ -218,7 +218,7 @@
/* ----------------------------------------------------------------------
Accessing a value
----------------------------------------------------------------------- */
+ */
value([Name=Value|_],Name,Value):- !.
value([_|L],Name,Value):- value(L,Name,Value).
@@ -226,14 +226,14 @@
/* ----------------------------------------------------------------------
VerbNet Directory
----------------------------------------------------------------------- */
+ */
verbnet_dir('ext/VerbNet/').
/* ----------------------------------------------------------------------
Processing all XML files
----------------------------------------------------------------------- */
+ */
process([]).
process([File|L]):-
@@ -244,7 +244,7 @@
/* ----------------------------------------------------------------------
Start Predicate
----------------------------------------------------------------------- */
+ */
run:-
verbnet_dir(Dir),
Index: src/prolog/nutcracker/callInference.pl
===================================================================
--- src/prolog/nutcracker/callInference.pl (revision 2527)
+++ src/prolog/nutcracker/callInference.pl (working copy)
@@ -13,7 +13,7 @@
/*========================================================================
Initialise Theorem Provers
-========================================================================*/
+*/
initEngine(Opt,Temp,Axioms,Formula,vampire):-
option(Opt,vampire),
@@ -63,7 +63,7 @@
/* ========================================================================
Time Limit
-======================================================================== */
+*/
timeLimit(TimeLim):-
option('--timelim',TimeLim),
@@ -74,7 +74,7 @@
/* ========================================================================
Calls to Theorem Provers and Model Builders
-======================================================================== */
+*/
callTPandMB(Dir,Axioms,TPProblem,MBProblem,MinDom,MaxDom,Model,Engine):-
timeLimit(TimeLim),
@@ -88,7 +88,7 @@
/* ========================================================================
Call to Model Builder ("second opinion")
-======================================================================== */
+*/
callMBbis(_,_,_,Model,Model,Engine,Engine):-
option('--mbbis',none), !.
@@ -108,8 +108,8 @@
/* ========================================================================
- Read result and translatate into standard format
-======================================================================== */
+ Read result and translatate into standard 'format'
+*/
readResult(Model,Temp,Engine):-
atom_concat(Temp,'/tpmb.out',File),
@@ -136,7 +136,7 @@
/*========================================================================
Translate Paradox-type Model into Blackburn & Bos Models
-========================================================================*/
+*/
paradox2blackburnbos(Paradox,model(D,F)):-
Paradox = paradox(Terms), \+ Terms=[],
@@ -152,7 +152,7 @@
/*========================================================================
Translate Paradox Terms to Domain
-========================================================================*/
+*/
paradox2d([],D-D).
@@ -191,7 +191,7 @@
/*========================================================================
Translate Paradox Terms to Interpretation Function
-========================================================================*/
+*/
paradox2f([],F-F).
@@ -272,7 +272,7 @@
/*========================================================================
Translate Mace-type Model into Blackburn & Bos Models
-========================================================================*/
+*/
mace2blackburnbos(Mace,model(D,F)):-
Mace = interpretation(Size,Terms),
@@ -285,7 +285,7 @@
/*========================================================================
Translate Mace Model to Domain
-========================================================================*/
+*/
mace2d(N,N,[V]):-
name(N,Codes),
@@ -301,7 +301,7 @@
/*========================================================================
Translate Mace Model to Interpretation Function
-========================================================================*/
+*/
mace2f([],_,[]):- !.
@@ -340,7 +340,7 @@
/*========================================================================
Take positive values of one-place predicates
-========================================================================*/
+*/
positiveValues([],_,[]).
@@ -357,7 +357,7 @@
/*========================================================================
Take positive values of two-place predicates
-========================================================================*/
+*/
positivePairValues([],_,_,_,[]).
Index: src/prolog/nutcracker/counting.pl
===================================================================
--- src/prolog/nutcracker/counting.pl (revision 2527)
+++ src/prolog/nutcracker/counting.pl (working copy)
@@ -3,14 +3,14 @@
/*========================================================================
Load Modules
-========================================================================*/
+*/
:- use_module(semlib(options),[option/2]).
/* =======================================================================
Get Background Knowledge (Counting)
-========================================================================*/
+*/
countingAxioms(F,F):-
option('--plural',false), !.
Index: src/prolog/nutcracker/eDRT.pl
===================================================================
--- src/prolog/nutcracker/eDRT.pl (revision 2527)
+++ src/prolog/nutcracker/eDRT.pl (working copy)
@@ -1,7 +1,7 @@
/*========================================================================
File Search Paths
-========================================================================*/
+*/
file_search_path(semlib, 'src/prolog/lib').
file_search_path(nutcracker, 'src/prolog/nutcracker').
@@ -10,7 +10,7 @@
/*========================================================================
Load other libraries
-========================================================================*/
+*/
:- use_module(library(lists),[select/3,append/3]).
:- use_module(boxer(slashes)).
@@ -23,7 +23,7 @@
/* ----------------------------------------------------------------------------------
Simple Lexicon
----------------------------------------------------------------------------------- */
+------------ */
lex(every, (s/(s\np))/n, (x1-C)-((((x1-B)-drs([],[imp(drs([[]:x1],[pos(C)]),B)]))-D)-D) ).
@@ -65,7 +65,7 @@
/* ----------------------------------------------------------------------------------
Combinatory Rules
----------------------------------------------------------------------------------- */
+------------ */
combine(A,B,C,D,E,fa(D,E)):- fa(A,B,C).
combine(A,B,C,D,E,ba(D,E)):- ba(A,B,C).
@@ -73,7 +73,7 @@
/* ----------------------------------------------------------------------------------
CCG
----------------------------------------------------------------------------------- */
+------------ */
fa((A/B):X-Y, B:X, A:Y).
ba(A:X, (B\A):X-Y, B:Y).
@@ -82,7 +82,7 @@
/* ----------------------------------------------------------------------------------
Examples
----------------------------------------------------------------------------------- */
+------------ */
example( 1, [mia,smokes,'.']).
example( 2, [two,men,smoke,'.']).
@@ -114,7 +114,7 @@
/* ----------------------------------------------------------------------------------
Test
----------------------------------------------------------------------------------- */
+------------ */
example(Example):-
setDefaultOptions(nutcracker),
@@ -131,7 +131,7 @@
/* ----------------------------------------------------------------------------------
RTE
----------------------------------------------------------------------------------- */
+------------ */
rte(E1,E2):-
setDefaultOptions(nutcracker),
@@ -150,7 +150,7 @@
/* ----------------------------------------------------------------------------------
Chart Init
----------------------------------------------------------------------------------- */
+------------ */
initChart([],X,X).
@@ -162,7 +162,7 @@
/* ----------------------------------------------------------------------------------
Parsing (CYK)
----------------------------------------------------------------------------------- */
+------------ */
parse(Start,K,End,FOL):-
K > End,
@@ -185,7 +185,7 @@
/* ----------------------------------------------------------------------------------
Output
----------------------------------------------------------------------------------- */
+------------ */
output(Cat,Sem,Der,FOL):-
write(cat:Cat),nl,
@@ -198,7 +198,7 @@
/* ----------------------------------------------------------------------------------
Combine
----------------------------------------------------------------------------------- */
+------------ */
parse(M,L):-
chart(M,X,Cat1,Sem1,Der1),
@@ -211,7 +211,7 @@
/* ----------------------------------------------------------------------------------
Inference
----------------------------------------------------------------------------------- */
+------------ */
inference(FOL):-
MaxDomSize=20,
@@ -292,7 +292,7 @@
/* ----------------------------------------------------------------------------------
POS reduction
----------------------------------------------------------------------------------- */
+------------ */
reduce(drs(D,Conds),Reduced):-
select(pos(drs([],C1)),Conds,C2), !,
@@ -324,7 +324,7 @@
/* ----------------------------------------------------------------------------------
drs2fol
----------------------------------------------------------------------------------- */
+------------ */
drs2fol(drs([],[Cond]),Formula):- !, cond2fol(Cond,Formula).
@@ -338,7 +338,7 @@
/* ========================================================================
Referents to variable
-=========================================================================*/
+ */
ref2var(x1,'X'):- !.
ref2var(x2,'Y'):- !.
@@ -346,7 +346,7 @@
/* ========================================================================
Translate DRS-Conditions into FOL formulas
-=========================================================================*/
+ */
cond2fol(_:C,F):- !,
cond2fol(C,F).
@@ -384,7 +384,7 @@
/*========================================================================
Ensure F is a number or atom
-========================================================================*/
+*/
symbol(Type,F1,0,F2):- !, symbol(Type,F1,1,F2).
symbol(_Type,F1,_Sense,F2):- F1=F2.
@@ -392,24 +392,24 @@
/* =======================================================================
Print Model
-========================================================================*/
+*/
printModel(model(D,[]),Stream):- !,
- format(Stream,'model(~p, [])',[D]).
+ 'format'(Stream,'model(~p, [])',[D]).
printModel(model(D,[F]),Stream):- !,
- format(Stream,'model(~p,~n [~p])',[D,F]).
+ 'format'(Stream,'model(~p,~n [~p])',[D,F]).
printModel(model(D,[X,Y|F]),Stream):- !,
sort([X,Y|F],[First|Sorted]),
- format(Stream,'model(~p,~n [~p,~n',[D,First]),
+ 'format'(Stream,'model(~p,~n [~p,~n',[D,First]),
printModel(Sorted,Stream).
printModel([Last],Stream):- !,
- format(Stream,' ~p])',[Last]).
+ 'format'(Stream,' ~p])',[Last]).
printModel([X|L],Stream):- !,
- format(Stream,' ~p,~n',[X]),
+ 'format'(Stream,' ~p,~n',[X]),
printModel(L,Stream).
printModel(Model,Stream):-
Index: src/prolog/nutcracker/estimate.pl
===================================================================
--- src/prolog/nutcracker/estimate.pl (revision 2527)
+++ src/prolog/nutcracker/estimate.pl (working copy)
@@ -30,7 +30,7 @@
\+ ( model(_,F,_,_,T2) ,T2 > T1), !,
Best = best(Tau,Acc,Evidence),
length(Evidence,Len),
- format('informative if ~p diff >= ~p (accuracy: ~p, n=~p)~n',[F,Tau,Acc,Len]).
+ 'format'('informative if ~p diff >= ~p (accuracy: ~p, n=~p)~n',[F,Tau,Acc,Len]).
% write(Evidence), nl.
est1(L,F,T1,best(T,Best,IDs),Max):-
@@ -48,7 +48,7 @@
\+ (model(_,FD,FF,_,_,DTau,_), DTau > TauD),
\+ (model(_,FD,FF,_,_,_,FTau), FTau > TauF), !,
Best = best(Tau1,Tau2,Acc,_Evidence),
- format('informative if ~p diff >= ~p OR ~p diff >= ~p (accuracy ~p)~n',[FD,Tau1,FF,Tau2,Acc]).
+ 'format'('informative if ~p diff >= ~p OR ~p diff >= ~p (accuracy ~p)~n',[FD,Tau1,FF,Tau2,Acc]).
% write(Evidence), nl.
est2(L,FD,FF,TauD1,TauF1,best(TauD,TauF,Best,IDs),Max):-
Index: src/prolog/nutcracker/fol2bliksem.pl
===================================================================
--- src/prolog/nutcracker/fol2bliksem.pl (revision 2527)
+++ src/prolog/nutcracker/fol2bliksem.pl (working copy)
@@ -7,31 +7,31 @@
/* ========================================================================
Translates formula to otter syntax on Stream
-======================================================================== */
+*/
fol2bliksem(Formula,Stream):-
- format(Stream,'~nAuto.~n~n',[]),
+ 'format'(Stream,'~nAuto.~n~n',[]),
printBliksemFormula(Stream,Formula).
fol2bliksem(Axioms,Formula,Stream):-
- format(Stream,'~nAuto.~n~n',[]),
+ 'format'(Stream,'~nAuto.~n~n',[]),
printBliksemFormulas(Axioms,Stream),
printBliksemFormula(Stream,Formula).
/* ========================================================================
Print a Bliksem formula (introducing tab)
-======================================================================== */
+*/
printBliksemFormula(Stream,F):-
\+ \+ ( numbervars(F,0,_),
printBliksem(F,5,Stream) ),
- format(Stream,'.~n',[]).
+ 'format'(Stream,'.~n',[]).
/* ========================================================================
Print a list of Bliksem formulas
-======================================================================== */
+*/
printBliksemFormulas([],_):- !.
@@ -42,7 +42,7 @@
/* ========================================================================
Print Bliksem formulas
-======================================================================== */
+*/
printBliksem(some(X,Formula),Tab,Stream):- !,
write(Stream,'(< '),
@@ -61,7 +61,7 @@
printBliksem(and(Phi,Psi),Tab,Stream):- !,
write(Stream,'('),
printBliksem(Phi,Tab,Stream),
- format(Stream,' & ~n',[]),
+ 'format'(Stream,' & ~n',[]),
tab(Stream,Tab),
NewTab is Tab + 5,
printBliksem(Psi,NewTab,Stream),
Index: src/prolog/nutcracker/fol2otter.pl
===================================================================
--- src/prolog/nutcracker/fol2otter.pl (revision 2527)
+++ src/prolog/nutcracker/fol2otter.pl (working copy)
@@ -9,7 +9,7 @@
/*========================================================================
Translates formula to Otter syntax on Stream
-========================================================================*/
+*/
fol2otter(Formula,Stream):-
headerOtter(Stream),
@@ -25,22 +25,22 @@
/*========================================================================
Header and Footer OTTER
-========================================================================*/
+*/
headerOtter(Stream):-
- format(Stream,'set(auto).~n~n',[]),
- format(Stream,'assign(max_seconds,100).~n~n',[]),
- format(Stream,'clear(print_proofs).~n~n',[]),
- format(Stream,'set(prolog_style_variables).~n~n',[]),
- format(Stream,'formula_list(usable).~n~n',[]).
+ 'format'(Stream,'set(auto).~n~n',[]),
+ 'format'(Stream,'assign(max_seconds,100).~n~n',[]),
+ 'format'(Stream,'clear(print_proofs).~n~n',[]),
+ 'format'(Stream,'set(prolog_style_variables).~n~n',[]),
+ 'format'(Stream,'formula_list(usable).~n~n',[]).
footerOtter(Stream):-
- format(Stream,'~nend_of_list.~n',[]).
+ 'format'(Stream,'~nend_of_list.~n',[]).
/*========================================================================
Translates formula to MACE syntax on Stream
-========================================================================*/
+*/
fol2mace(Formula,Stream):-
headerMace(Stream),
@@ -56,31 +56,31 @@
/*========================================================================
Header and footer MACE
-========================================================================*/
+*/
headerMace(Stream):-
- format(Stream,'set(auto).~n~n',[]),
- format(Stream,'clear(print_proofs).~n~n',[]),
- format(Stream,'set(prolog_style_variables).~n~n',[]),
- format(Stream,'formula_list(usable).~n~n',[]).
+ 'format'(Stream,'set(auto).~n~n',[]),
+ 'format'(Stream,'clear(print_proofs).~n~n',[]),
+ 'format'(Stream,'set(prolog_style_variables).~n~n',[]),
+ 'format'(Stream,'formula_list(usable).~n~n',[]).
footerMace(Stream):-
- format(Stream,'~nend_of_list.~n',[]).
+ 'format'(Stream,'~nend_of_list.~n',[]).
/*========================================================================
Print an Otter formula (introducing tab)
-========================================================================*/
+*/
printOtterFormula(F,Stream):-
\+ \+ ( numbervars(F,0,_),
printOtter(F,5,Stream) ),
- format(Stream,'.~n',[]).
+ 'format'(Stream,'.~n',[]).
/*========================================================================
Print a set of Otter formulas
-========================================================================*/
+*/
printOtterFormulas([],_).
@@ -91,7 +91,7 @@
/*========================================================================
Print Otter formulas
-========================================================================*/
+*/
printOtter(some(X,Formula),Tab,Stream):- !,
write(Stream,'(exists '),
@@ -110,7 +110,7 @@
printOtter(and(Phi,Psi),Tab,Stream):- !,
write(Stream,'('),
printOtter(Phi,Tab,Stream),
- format(Stream,' & ~n',[]),
+ 'format'(Stream,' & ~n',[]),
tab(Stream,Tab),
NewTab is Tab + 5,
printOtter(Psi,NewTab,Stream),
Index: src/prolog/nutcracker/fol2tptp.pl
===================================================================
--- src/prolog/nutcracker/fol2tptp.pl (revision 2527)
+++ src/prolog/nutcracker/fol2tptp.pl (working copy)
@@ -12,7 +12,7 @@
/* ========================================================================
Select TPTP syntax style (default: New style)
-======================================================================== */
+*/
fol2tptp(Conjecture,Stream):- fol2tptpNew(Conjecture,Stream).
fol2tptp(Axioms,Conjecture,Stream):- fol2tptpNew(Axioms,Conjecture,Stream).
@@ -20,7 +20,7 @@
/* ========================================================================
Translates formula to TPTP syntax on Stream (new style TPTP)
-======================================================================== */
+*/
fol2tptpNew(Formula,Stream):-
write(Stream,'fof(nutcracker,conjecture,'),
@@ -31,7 +31,7 @@
/* ========================================================================
Translates axioms+formula to TPTP syntax on Stream (new style TPTP)
-======================================================================== */
+*/
fol2tptpNew([],Formula,Stream):- !,
fol2tptpNew(Formula,Stream).
@@ -45,7 +45,7 @@
/* ========================================================================
Translates formula to TPTP syntax on Stream (old style TPTP)
-======================================================================== */
+*/
fol2tptpOld(Formula,Stream):-
write(Stream,'input_formula(nutcracker,conjecture,'),
@@ -56,7 +56,7 @@
/* ========================================================================
Translates axioms+formula to TPTP syntax on Stream (old style TPTP)
-======================================================================== */
+*/
fol2tptpOld([],Formula,Stream):- !,
fol2tptpOld(Formula,Stream).
@@ -70,7 +70,7 @@
/* ========================================================================
Print TPTP formulas
-======================================================================== */
+*/
printTPTP(some(X,Formula),Stream):- !,
write(Stream,'(? ['),
@@ -132,7 +132,7 @@
/* ========================================================================
Print arguments
-======================================================================== */
+*/
printArgs([X],Stream):- !,
printArg(Stream,X).
@@ -145,7 +145,7 @@
/* ========================================================================
Print argument
-======================================================================== */
+*/
printArg(Stream,X):-
functor(X,'$VAR',1), !,
Index: src/prolog/nutcracker/input.pl
===================================================================
--- src/prolog/nutcracker/input.pl (revision 2527)
+++ src/prolog/nutcracker/input.pl (working copy)
@@ -50,7 +50,7 @@
/*========================================================================
Read Model from File
-========================================================================*/
+*/
openModel(Dir,Type,Model):-
atomic_list_concat([Dir,'/',Type,'.mod'],File),
@@ -64,7 +64,7 @@
/*========================================================================
Check Input File
-========================================================================*/
+*/
checkInput(File):-
\+ atom(File), !,
@@ -90,7 +90,7 @@
/* ------------------------------------------------------------------------
Identify IDs in the input file
------------------------------------------------------------------------- */
+-- */
loadDRS(D):-
id(_,I),
@@ -109,7 +109,7 @@
/* ------------------------------------------------------------------------
Determine length of DRS
------------------------------------------------------------------------- */
+-- */
lenDRS(alfa(_,_,B),Len):- !, lenDRS(B,Len).
lenDRS(smerge(B,_),Len):- !, lenDRS(B,Len1), Len is Len1 + 1.
Index: src/prolog/nutcracker/miniFrameNet.pl
===================================================================
--- src/prolog/nutcracker/miniFrameNet.pl (revision 2527)
+++ src/prolog/nutcracker/miniFrameNet.pl (working copy)
@@ -7,7 +7,7 @@
/* ------------------------------------------------------------------------
Main Predicate
------------------------------------------------------------------------- */
+-- */
axiomsFN(DRS,Axioms):-
option('--roles',framenet),
@@ -21,14 +21,14 @@
/* ------------------------------------------------------------------------
File with Framenet Axioms
------------------------------------------------------------------------- */
+-- */
framenetfile('working/framenet/framenet.pl').
/* ------------------------------------------------------------------------
Find Frames in DRS
------------------------------------------------------------------------- */
+-- */
findFrames(drs(_,C),F1-F2):- !, findFrames(C,F1-F2).
findFrames(smerge(A,B),F1-F3):- !, findFrames(A,F1-F2), findFrames(B,F2-F3).
@@ -50,7 +50,7 @@
/* ------------------------------------------------------------------------
Select Axioms
------------------------------------------------------------------------- */
+-- */
selectAxioms([],[]).
@@ -64,7 +64,7 @@
/* ------------------------------------------------------------------------
Load FrameNet
------------------------------------------------------------------------- */
+-- */
loadFN:-
framenetfile(File),
Index: src/prolog/nutcracker/miniWordNet.pl
===================================================================
--- src/prolog/nutcracker/miniWordNet.pl (revision 2527)
+++ src/prolog/nutcracker/miniWordNet.pl (working copy)
@@ -13,7 +13,7 @@
/* ========================================================================
Load Modules
-======================================================================== */
+*/
:- use_module(library(lists),[member/2,append/3,select/3]).
:- use_module(semlib(options),[option/2]).
@@ -26,14 +26,14 @@
/* ========================================================================
Load WordNet
-======================================================================== */
+*/
:- [working/wordnet/wordnet].
/* ========================================================================
Declare Dynamic Predicates
-======================================================================== */
+*/
:- dynamic concept/2, % concept(Concept, ConceptId)
isa/2, % isa(ConceptId1, ConceptId2)
@@ -43,14 +43,14 @@
/* ========================================================================
Minimum Frequence for words under consideration
-======================================================================== */
+*/
minFreq(0).
/* ========================================================================
Clear Background Knowledge
-======================================================================== */
+*/
clearMWN:-
retractall(word(_,_,_,_,_)),
@@ -61,7 +61,7 @@
/* ========================================================================
Compute Concepts for one DRS
-======================================================================== */
+*/
compConcepts(DRS,DRS):-
findSymDrs(DRS,[]-_,[]-Concepts),
@@ -72,7 +72,7 @@
/* ========================================================================
Get all symbols from a DRS
-======================================================================== */
+*/
findSymDrs(smerge(A,B),X1-X3,R1-R2):- !,
findSymDrs(A,X1-X2,R1-R3),
@@ -99,7 +99,7 @@
/* ========================================================================
Get all symbols from a DRS-Condition
-======================================================================== */
+*/
findSymConds([],X-X,R-R).
@@ -177,7 +177,7 @@
/* ========================================================================
Select relevant nouns and verbs as concepts
-======================================================================== */
+*/
selectConcepts([]).
@@ -232,7 +232,7 @@
/* ========================================================================
Synonyms
-======================================================================== */
+*/
syn(n,Sym1,Sense1,Sym2,Sense2):-
synn(Sym1,Sense1,Sym2,Sense2), !. %%% WordNet (nouns)
@@ -258,7 +258,7 @@
/* ========================================================================
Calculate WordNet ISA Relations (first select all relevant concepts)
-======================================================================== */
+*/
compISA:-
minFreq(Min),
@@ -271,7 +271,7 @@
/* ========================================================================
Calculate WordNet ISA Relations
-======================================================================== */
+*/
compISA([]).
@@ -282,7 +282,7 @@
/* ------------------------------------------------------------------------
Time and Numeric Expressions
------------------------------------------------------------------------- */
+-- */
compISA([s(_,timex,1,ID1)|L]):- !, % timex
addConcept(time,n,5,ID2),
@@ -296,7 +296,7 @@
/* ------------------------------------------------------------------------
Locations
------------------------------------------------------------------------- */
+-- */
%compISA([s(Sym1,loc,Sense1,ID1)|L]):- % location in WordNet
% isap(Sym1,Sense1,Sym2,Sense2), !,
@@ -311,7 +311,7 @@
/* ------------------------------------------------------------------------
Organisations
------------------------------------------------------------------------- */
+-- */
%compISA([s(Sym1,org,Sense1,ID1)|L]):- % organisation in WordNet
% isap(Sym1,Sense1,Sym2,Sense2), !,
@@ -326,7 +326,7 @@
/* ------------------------------------------------------------------------
Persons
------------------------------------------------------------------------- */
+-- */
%compISA([s(Sym1,per,Sense1,ID1)|L]):- % person in WordNet
% isap(Sym1,Sense1,Sym2,Sense2), !,
@@ -341,7 +341,7 @@
/* ------------------------------------------------------------------------
Nouns
------------------------------------------------------------------------- */
+-- */
compISA([s(Sym1,n,Sense1,ID1)|L]):- % nouns in WordNet
isan(Sym1,Sense1,Sym2,Sense2), !,
@@ -351,7 +351,7 @@
/* ------------------------------------------------------------------------
Verbs
------------------------------------------------------------------------- */
+-- */
compISA([s(Sym1,v,Sense1,ID1)|L]):- % verbs in WordNet (+ ISA)
isav(Sym1,Sense1,Sym2,Sense2), !,
@@ -369,7 +369,7 @@
/* ------------------------------------------------------------------------
All Other Cases
------------------------------------------------------------------------- */
+-- */
compISA([s(Sym1,nam,Sense1,ID1)|L]):- % named entity in WordNet
isap(Sym1,Sense1,Sym2,Sense2), !,
@@ -390,7 +390,7 @@
/*========================================================================
compISNOTA
-========================================================================*/
+*/
compISNOTA([]).
@@ -406,7 +406,7 @@
/*========================================================================
Get a new concept Id
-========================================================================*/
+*/
getConceptId(I3):-
concept(_,I1),
@@ -418,7 +418,7 @@
/*========================================================================
Calculate First-Order Axioms
-========================================================================*/
+*/
axiomsWN(Axioms):-
option('--modal',false), !,
@@ -446,7 +446,7 @@
/*========================================================================
Calculate First-Order Axioms given isa/2, isnota/2, iseq/2
-========================================================================*/
+*/
axiomsWN([],[]):- !.
@@ -469,7 +469,7 @@
/*========================================================================
Translate IS-A to FOL
-========================================================================*/
+*/
isa2fol(I1,I2,Axiom):-
option('--modal',false), !,
@@ -490,7 +490,7 @@
/*========================================================================
Translate IS-NOT-A to FOL
-========================================================================*/
+*/
isnota2fol(I1,I2,Axiom):-
option('--modal',false), !,
@@ -511,7 +511,7 @@
/*========================================================================
Translate IS-EQUAL to FOL
-========================================================================*/
+*/
iseq2fol(s(A1,T1,S1),s(A2,T2,S2),Axiom):-
option('--modal',false), !,
@@ -532,7 +532,7 @@
/*========================================================================
Translate concept to symbol
-========================================================================*/
+*/
concept2sym(I,Sym):-
concept([s(Sym,timex,1)|_],I), !.
@@ -547,14 +547,14 @@
/*========================================================================
Print MiniWordNet
-========================================================================*/
+*/
graphMWN(Dir,File):-
option('--graph',true),
atomic_list_concat([Dir,'/',File,'.mwn','.dot'],DOT),
atomic_list_concat([Dir,'/',File,'.mwn','.pdf'],PDF),
open(DOT,write,Stream),
- format(Stream,'digraph mwn {~n~n',[]),
+ 'format'(Stream,'digraph mwn {~n~n',[]),
setof(I,X^concept(X,I),Nodes),
printNodes(Nodes,Stream),
printIsa(Stream),
@@ -566,7 +566,7 @@
/*========================================================================
Create Graph using the dot program
-========================================================================*/
+*/
createGraph(File1,File2):-
shell('which dot',0),
@@ -585,7 +585,7 @@
printNodes([I|L],Stream):-
concept(X,I), !,
- format(Stream,' ~p [label="',[I]),
+ 'format'(Stream,' ~p [label="',[I]),
printNode(X,Stream),
printNodes(L,Stream).
@@ -598,11 +598,11 @@
printNode([s(Sym,Cat,Sense)],Stream):-
frequency(Sym,Cat,Sense,F), !,
- format(Stream,'~p-~p-~p (F=~p)"];~n',[Sym,Cat,Sense,F]).
+ 'format'(Stream,'~p-~p-~p (F=~p)"];~n',[Sym,Cat,Sense,F]).
printNode([s(Sym,Cat,Sense)|L],Stream):-
frequency(Sym,Cat,Sense,F), !,
- format(Stream,'~p-~p-~p (F=~p)\\n',[Sym,Cat,Sense,F]),
+ 'format'(Stream,'~p-~p-~p (F=~p)\\n',[Sym,Cat,Sense,F]),
printNode(L,Stream).
@@ -622,16 +622,16 @@
printIsa(Stream):-
isa(I,J),
- format(Stream,' ~p -> ~p;~n',[J,I]),
+ 'format'(Stream,' ~p -> ~p;~n',[J,I]),
fail.
printIsa(Stream):-
- format(Stream,'~n}~n',[]).
+ 'format'(Stream,'~n}~n',[]).
/*========================================================================
Add Concept
-========================================================================*/
+*/
addConcept(Sym,Cat,Sense,ID):-
concept(Concept,ID),
@@ -651,19 +651,19 @@
/*========================================================================
Check for inconsistencies
-========================================================================*/
+*/
checkConsBK:-
isa(A,B),
isa(A,C), \+ C=B, !,
- format('inconsistent node ~p has two parents ~p and ~p~n',[A,B,C]).
+ 'format'('inconsistent node ~p has two parents ~p and ~p~n',[A,B,C]).
checkConsBK.
/*========================================================================
Cut down redundant nodes
-========================================================================*/
+*/
cutDownMWN:-!,
findall(I,concept(_,I),C),
@@ -695,7 +695,7 @@
/*========================================================================
Add Top Concept (if there is not one yet)
-========================================================================*/
+*/
addTopMWN:-
concept(E,B), member(s(event,n,1),E), %%% place all verbs under
@@ -727,7 +727,7 @@
/* ========================================================================
Size WordNet (number of disjoint concepts)
-======================================================================== */
+*/
sizeMWN(Size):-
findall(X,isa(X,_),L),
@@ -736,7 +736,7 @@
/* ========================================================================
Symbol Stop List
-======================================================================== */
+*/
stoplist(')',_).
stoplist('(',_).
@@ -759,7 +759,7 @@
/*========================================================================
Output MWN (prolog)
-========================================================================*/
+*/
outputMWN(Dir,File):-
atomic_list_concat([Dir,'/',File,'.mwn'],Name),
@@ -770,30 +770,30 @@
/*========================================================================
Output terminal symbols
-========================================================================*/
+*/
printTerminals(Stream):-
- format(Stream,'%~n% word(+Word, +Cat, +Sense, +Frequency, +ConceptID).~n%~n',[]),
+ 'format'(Stream,'%~n% word(+Word, +Cat, +Sense, +Frequency, +ConceptID).~n%~n',[]),
word(X,C,S,N,I), \+ I = 0,
- format(Stream,'~q.~n',[word(X,C,S,N,I)]),
+ 'format'(Stream,'~q.~n',[word(X,C,S,N,I)]),
fail.
printTerminals(Stream):-
- format(Stream,'%~n% concept(+SynSet, +ConceptID).~n%~n',[]),
+ 'format'(Stream,'%~n% concept(+SynSet, +ConceptID).~n%~n',[]),
concept(I,J),
- format(Stream,'~q.~n',[concept(I,J)]),
+ 'format'(Stream,'~q.~n',[concept(I,J)]),
fail.
printTerminals(Stream):-
- format(Stream,'%~n% isa(+SubConceptID, +SuperConceptID).~n%~n',[]),
+ 'format'(Stream,'%~n% isa(+SubConceptID, +SuperConceptID).~n%~n',[]),
isa(I,J),
- format(Stream,'~p.~n',[isa(I,J)]),
+ 'format'(Stream,'~p.~n',[isa(I,J)]),
fail.
printTerminals(Stream):-
- format(Stream,'%~n% ant(+ConceptID, +ConceptID).~n%~n',[]),
+ 'format'(Stream,'%~n% ant(+ConceptID, +ConceptID).~n%~n',[]),
ant(I,J),
- format(Stream,'~p.~n',[ant(I,J)]),
+ 'format'(Stream,'~p.~n',[ant(I,J)]),
fail.
printTerminals(_).
@@ -801,7 +801,7 @@
/*========================================================================
Adjacent Indexes
-========================================================================*/
+*/
adjacent([I],[J]):- !, J is I + 1.
adjacent(Is,Js):- member(I,Is), member(J,Js), J is I + 1, !.
@@ -843,7 +843,7 @@
retract(concept(Concepts,Id)),
assert(concept([Sym1|Concepts],Id)), !,
true.
-% format('Added word ~p similar to ~p~n',[Sym1,Sym2]).
+% 'format'('Added word ~p similar to ~p~n',[Sym1,Sym2]).
------------------------------------------------------------------------*/
@@ -863,7 +863,7 @@
retract(concept(Concepts,Id)),
assert(concept([Sym1|Concepts],Id)), !,
true.
-% format('Added word ~p similar to ~p~n',[Sym1,Sym2]).
+% 'format'('Added word ~p similar to ~p~n',[Sym1,Sym2]).
------------------------------------------------------------------------*/
@@ -883,7 +883,7 @@
assert(concept([Sym1],NewId)),
assert(isa(NewId,Id)), !,
true.
-% format('Hyponym word ~p of ~p~n',[Sym1,Sym2]).
+% 'format'('Hyponym word ~p of ~p~n',[Sym1,Sym2]).
------------------------------------------------------------------------*/
@@ -904,7 +904,7 @@
assert(concept([Sym1],NewId)),
assert(isa(NewId,Id)), !,
true.
-% format('Hyponym word ~p of ~p~n',[Sym1,Sym2]).
+% 'format'('Hyponym word ~p of ~p~n',[Sym1,Sym2]).
------------------------------------------------------------------------*/
Index: src/prolog/nutcracker/ntokkie.pl
===================================================================
--- src/prolog/nutcracker/ntokkie.pl (revision 2527)
+++ src/prolog/nutcracker/ntokkie.pl (working copy)
@@ -3,7 +3,7 @@
/* ========================================================================
File Search Paths
-======================================================================== */
+*/
file_search_path(semlib, 'src/prolog/lib').
file_search_path(boxer, 'src/prolog/boxer').
@@ -11,14 +11,14 @@
/* ========================================================================
Dynamic Predicates
-======================================================================== */
+*/
:- dynamic split/7, title/1.
/* ========================================================================
Load other libraries
-======================================================================== */
+*/
:- use_module(library(lists),[member/2,append/3,reverse/2]).
:- use_module(library(readutil),[read_stream_to_codes/2]).
@@ -30,7 +30,7 @@
/* ========================================================================
Main
-======================================================================== */
+*/
tokkie:-
option(Option,do),
@@ -54,12 +54,12 @@
/* ----------------------------------------------------------------------
Read lines
----------------------------------------------------------------------- */
+ */
readLines(Codes1,I1,S1,Stream,[Tokens|L]):-
begSent(Codes1,I1,Codes2,I2), !, % determine begin of a new sentence
endSent(Codes2,I2,Codes3,I3,Rest,[]), % determine end of this sentence
-% format(Stream,'sen(~p,~p,~s).~n',[I2,I3,Codes3]),
+% 'format'(Stream,'sen(~p,~p,~s).~n',[I2,I3,Codes3]),
% write(Codes3),nl,
tokenise(Codes3,I2,I2,T-T,Tokens), % split sentence into tokens
outputTokens(Tokens,S1,Stream),
@@ -71,7 +71,7 @@
/* ----------------------------------------------------------------------
Determine beginning of sentence
----------------------------------------------------------------------- */
+ */
begSent([Sep|C1],I1,C2,I3):-
sep(Sep), !, % skip space, tab or newline
@@ -91,7 +91,7 @@
+CodesR, % Rest string
+CodesLast) % Last token
----------------------------------------------------------------------- */
+ */
endSent([],I,[],I,[],_):- !.
@@ -141,7 +141,7 @@
Next, % Codes following
Last) % Last token
----------------------------------------------------------------------- */
+ */
% Case 1: full stop after uppercase one-character token (i.e. initial)
noSentenceBoundary(".",_,Last):- Last = [Upper], upper(Upper).
% Case 2: full stop after a title
@@ -154,7 +154,7 @@
/* ----------------------------------------------------------------------
Split Line into Tokens
----------------------------------------------------------------------- */
+ */
% Nothing left to do, no tokens in queue
%
@@ -208,10 +208,10 @@
%
tokenise(Input,CurrentPos,StartPos,Sofar-Tail,[Token|Tokens]):-
trysplit(Input,Left,Right,Rest,LenLeft,LenRight), !,
-% format('Input: ~s~n',[Input]),
-% format('Left: ~s~n',[Left]),
-% format('Right: ~s~n',[Right]),
-% format('Rest: ~s~n',[Rest]),
+% 'format'('Input: ~s~n',[Input]),
+% 'format'('Left: ~s~n',[Left]),
+% 'format'('Right: ~s~n',[Right]),
+% 'format'('Rest: ~s~n',[Rest]),
Pos is CurrentPos + LenLeft,
NewPos is Pos + LenRight,
Tail = Left,
@@ -229,7 +229,7 @@
/* ----------------------------------------------------------------------
Output Tokens
----------------------------------------------------------------------- */
+ */
outputTokens(Tokens,S,Stream):-
option('--mode',poor), !,
@@ -243,8 +243,8 @@
/* ----------------------------------------------------------------------
- Wrapper IOB format
----------------------------------------------------------------------- */
+ Wrapper IOB 'format'
+ */
outputIOB(Codes,Tokens,Stream):-
option('--mode',iob), !,
@@ -254,8 +254,8 @@
/* ----------------------------------------------------------------------
- Output IOB format
----------------------------------------------------------------------- */
+ Output IOB 'format'
+ */
printIOB([],_,_,_).
@@ -287,33 +287,33 @@
/* ----------------------------------------------------------------------
- Tuple IOB format
----------------------------------------------------------------------- */
+ Tuple IOB 'format'
+ */
tupleIOB(_,X,Tag,_,Stream):-
option('--format',txt), !,
- format(Stream,'~p ~p~n',[X,Tag]).
+ 'format'(Stream,'~p ~p~n',[X,Tag]).
tupleIOB(N,X,Tag,Tok,Stream):-
option('--format',prolog), !,
- format(Stream,'tok(~p,\'~p\'). % ~p ~s~n',[X,Tag,N,Tok]).
+ 'format'(Stream,'tok(~p,\'~p\'). % ~p ~s~n',[X,Tag,N,Tok]).
/* ----------------------------------------------------------------------
Print Tokens
----------------------------------------------------------------------- */
+ */
printTokens([],_,_,_).
printTokens([tok(_,_,Tok)],_,_,Stream):-
option('--mode',poor), !,
- format(Stream,'~s~n',[Tok]).
+ 'format'(Stream,'~s~n',[Tok]).
printTokens([tok(I,J,Tok)|L],S,T1,Stream):-
option('--format',prolog),
option('--mode',rich), !,
Index is S*1000+T1,
- format(Stream,'tok(~p, ~p, ~p, ~s).~n',[I,J,Index,Tok]),
+ 'format'(Stream,'tok(~p, ~p, ~p, ~s).~n',[I,J,Index,Tok]),
T2 is T1+1,
printTokens(L,S,T2,Stream).
@@ -321,19 +321,19 @@
option('--format',txt),
option('--mode',rich), !,
Index is S*1000+T1,
- format(Stream,'~p ~p ~p ~s~n',[I,J,Index,Tok]),
+ 'format'(Stream,'~p ~p ~p ~s~n',[I,J,Index,Tok]),
T2 is T1+1,
printTokens(L,S,T2,Stream).
printTokens([tok(_,_,Tok)|L],S,T,Stream):-
option('--mode',poor), !,
- format(Stream,'~s ',[Tok]),
+ 'format'(Stream,'~s ',[Tok]),
printTokens(L,S,T,Stream).
/* ----------------------------------------------------------------------
Type checking
----------------------------------------------------------------------- */
+ */
sep(10). % new line
sep(13). % new line
@@ -363,7 +363,7 @@
/* ----------------------------------------------------------------------
Rules for splitting tokens
split(+Left,+ConditionsOnLeft,+Right,+ConditionsOnRight,+Context)
----------------------------------------------------------------------- */
+ */
split("can",[], "not",[], []).
split([_],[], "n't",[], []).
@@ -400,7 +400,7 @@
/* ----------------------------------------------------------------------
Exceptions (do not split)
----------------------------------------------------------------------- */
+ */
dontsplit(Input,Rest,N,Old-OldTail,Old-NewTail):-
nosplit(Left,N),
@@ -414,7 +414,7 @@
/* ----------------------------------------------------------------------
Initialisation
----------------------------------------------------------------------- */
+ */
initTokkie:-
initTitles,
@@ -439,7 +439,7 @@
/* ----------------------------------------------------------------------
Rules for final tokens
----------------------------------------------------------------------- */
+ */
final("?", "?", [], 1).
final(".", ".", [], 1).
@@ -449,7 +449,7 @@
/* ----------------------------------------------------------------------
Try a splitting rule on the input
----------------------------------------------------------------------- */
+ */
trysplit(Input,Left,Right,Rest,LenLeft,LenRight):-
split(Left,LenLeft,CondsLeft,Right,LenRight,CondsRight,RightContext),
@@ -462,7 +462,7 @@
/* ----------------------------------------------------------------------
Check Conditions
----------------------------------------------------------------------- */
+ */
checkConds([]).
checkConds([C|L]):- call(C), !, checkConds(L).
@@ -470,7 +470,7 @@
/* ----------------------------------------------------------------------------------
Codes for right single quotation marks (used in genitives)
----------------------------------------------------------------------------------- */
+------------ */
rsq(39).
rsq(8217).
@@ -478,7 +478,7 @@
/* ----------------------------------------------------------------------------------
Codes for single-character quotes
----------------------------------------------------------------------------------- */
+------------ */
quote(34). %%% "
quote(39). %%% '
@@ -493,7 +493,7 @@
/* ----------------------------------------------------------------------------------
Codes for double quotes
----------------------------------------------------------------------------------- */
+------------ */
quotes(96). %%% ``
quotes(39). %%% ''
@@ -505,7 +505,7 @@
/* =======================================================================
Open Input File
-========================================================================*/
+*/
openInput(Stream):-
option('--stdin',dont),
@@ -523,7 +523,7 @@
/* =======================================================================
Open Output File
-========================================================================*/
+*/
openOutput(Stream):-
option('--output',Output),
@@ -539,11 +539,11 @@
/* =======================================================================
Help
-========================================================================*/
+*/
help:-
option('--help',do), !,
- format(user_error,'usage: tokkie [options]~n~n',[]),
+ 'format'(user_error,'usage: tokkie [options]~n~n',[]),
showOptions(tokkie).
help:-
@@ -552,7 +552,7 @@
/* =======================================================================
Definition of start
-========================================================================*/
+*/
start:-
current_prolog_flag(argv,[_Comm|Args]),
Index: src/prolog/nutcracker/nutcracker.pl
===================================================================
--- src/prolog/nutcracker/nutcracker.pl (revision 2527)
+++ src/prolog/nutcracker/nutcracker.pl (working copy)
@@ -3,7 +3,7 @@
/* ========================================================================
File Search Paths
-======================================================================== */
+*/
file_search_path(semlib, 'src/prolog/lib').
file_search_path(nutcracker, 'src/prolog/nutcracker').
@@ -12,14 +12,14 @@
/* ========================================================================
Dynamic Predicates
-======================================================================== */
+*/
:- dynamic axiom/3.
/* ========================================================================
Load other libraries
-======================================================================== */
+*/
:- use_module(library(lists),[member/2,append/3]).
:- use_module(library(ordsets),[list_to_ord_set/2,ord_intersection/3]).
@@ -43,7 +43,7 @@
/* ========================================================================
Main
-======================================================================== */
+*/
main:-
option(Option,do),
@@ -63,7 +63,7 @@
/*========================================================================
Main (traverse directories)
-========================================================================*/
+*/
main([]).
@@ -257,7 +257,7 @@
T : a b c d a b c a b c a b
H : c d e b c d e c d
O = 2/3 1/1 1/3 0/2
------------------------------------------------------------------------- */
+-- */
bagofwords(File,Bag):-
open(File,read,Stream),
@@ -471,7 +471,7 @@
/* =======================================================================
Textual Entailment (logical inference)
-========================================================================*/
+*/
nc(Dir,KT,KH,KTH):-
openInput(Dir),
@@ -503,7 +503,7 @@
/* =======================================================================
Load Axioms
-========================================================================*/
+*/
axioms(_):-
option('--axioms',File),
@@ -523,7 +523,7 @@
/* =======================================================================
Process Axioms
-========================================================================*/
+*/
preprocessAxioms([],_,N):-
inform('Background knowledge: ~p axioms',[N]).
@@ -550,7 +550,7 @@
/* =======================================================================
Include Background Knowledge
-========================================================================*/
+*/
bk(model(_,F),In,Out):-
findall(N,axiom(N,_,_),L),
@@ -575,7 +575,7 @@
/* =======================================================================
Textual Entailment (WordNet)
-========================================================================*/
+*/
mwn(Dir,AxiomsKT,AxiomsKH,AxiomsKTH,Novelty):-
openInput(Dir),
@@ -594,7 +594,7 @@
/* =======================================================================
Inference -- consistency check
-========================================================================*/
+*/
consistent(_,_,Dir,Name,DomSize,Model):-
DomSize = 0, !,
@@ -617,7 +617,7 @@
/* =======================================================================
Inference -- informativeness check
-========================================================================*/
+*/
informative(B1,B2,BK,Dir,Name,MinDom,Model):-
drs2fol(B1,F1),
@@ -634,7 +634,7 @@
/* =======================================================================
Prediction (try inference first, else back off to WordNet)
-========================================================================*/
+*/
prediction(Dir,WNNovelty,Overlap):-
@@ -679,7 +679,7 @@
+WNNovelty,
+WordOverlap,
-Prediction ) %%% prediction description
-========================================================================*/
+*/
% PROOF without BK by THEOREM PROVER: INPUT INCONSISTENT
%
@@ -769,7 +769,7 @@
/* =======================================================================
Output Model
-========================================================================*/
+*/
outputModel(Model,Name,Dir,Size):-
atomic_list_concat([Dir,'/',Name,'.mod'],File),
@@ -782,21 +782,21 @@
/* =======================================================================
Print Model
-========================================================================*/
+*/
-printModel(model(D,[]),Stream):- !, format(Stream,'model(~p, [])',[D]).
+printModel(model(D,[]),Stream):- !, 'format'(Stream,'model(~p, [])',[D]).
-printModel(model(D,[F]),Stream):- !, format(Stream,'model(~p,~n [~p])',[D,F]).
+printModel(model(D,[F]),Stream):- !, 'format'(Stream,'model(~p,~n [~p])',[D,F]).
printModel(model(D,[X,Y|F]),Stream):- !,
setof(M,Sym^Ext^(member(M,[X,Y|F]),\+ M=f(0,Sym,Ext)),[First|Sorted]),
- format(Stream,'model(~p,~n [~p,~n',[D,First]),
+ 'format'(Stream,'model(~p,~n [~p,~n',[D,First]),
printModel(Sorted,Stream).
-printModel([Last],Stream):- !, format(Stream,' ~p])',[Last]).
+printModel([Last],Stream):- !, 'format'(Stream,' ~p])',[Last]).
printModel([X|L],Stream):- !,
- format(Stream,' ~p,~n',[X]),
+ 'format'(Stream,' ~p,~n',[X]),
printModel(L,Stream).
printModel(Model,Stream):- write(Stream,Model).
@@ -822,7 +822,7 @@
modelSize([_|L],Old,New):-
modelSize(L,Old,New).
-========================================================================*/
+*/
compareModels(Dir,model(_,F1),model(_,F2)):- !,
atomic_list_concat([Dir,'/','novel.txt'],File),
@@ -846,7 +846,7 @@
/* =======================================================================
Determine Domain Size
-========================================================================*/
+*/
domSize(Model,Size):-
Model = model(Dom,_), !,
@@ -857,7 +857,7 @@
/* =======================================================================
Determine Model Size (Relations)
-========================================================================*/
+*/
relSize(Model,Size):-
Model = model(_,F), !,
@@ -870,7 +870,7 @@
/* =======================================================================
Output Prediction
-========================================================================*/
+*/
outputPrediction(Dir,Prediction,Proof,Contra,DomNovelty,RelNovelty,WNNovelty,SizeNovelty,Overlap):-
atomic_list_concat([Dir,'/','prediction.txt'],File),
@@ -883,7 +883,7 @@
/* =======================================================================
Output Domain Size Difference
-========================================================================*/
+*/
outputDomSizeDif(Dir,Proof,Contradiction,Dom,Rel,WordNet,Model,Overlap):-
atomic_list_concat([Dir,'/','modsizedif.txt'],File),
@@ -891,18 +891,18 @@
( Contradiction=0, !, Prover=contradiction
; Proof=0, !, Prover=proof
; Prover=unknown ),
- format(Stream,'~p. % prover output ~n',[Prover]),
- format(Stream,'~p. % domain novelty ~n',[Dom]),
- format(Stream,'~p. % relation novelty ~n',[Rel]),
- format(Stream,'~p. % wordnet novelty ~n',[WordNet]),
- format(Stream,'~p. % model novelty ~n',[Model]),
- format(Stream,'~p. % word overlap ~n',[Overlap]),
+ 'format'(Stream,'~p. % prover output ~n',[Prover]),
+ 'format'(Stream,'~p. % domain novelty ~n',[Dom]),
+ 'format'(Stream,'~p. % relation novelty ~n',[Rel]),
+ 'format'(Stream,'~p. % wordnet novelty ~n',[WordNet]),
+ 'format'(Stream,'~p. % model novelty ~n',[Model]),
+ 'format'(Stream,'~p. % word overlap ~n',[Overlap]),
close(Stream).
/* ========================================================================
Compute Novelty of H given T
-======================================================================== */
+*/
computeNovelty(SizeT,SizeH,SizeTH,Novelty):-
SizeT > 0, SizeH > 0, SizeTH > 0, !,
@@ -913,7 +913,7 @@
/* ========================================================================
MiniWordNet
-======================================================================== */
+*/
computeMWN(DRS,Dir,File,Size):-
option('--wordnet',true), !,
@@ -931,23 +931,23 @@
/* =======================================================================
Version
-========================================================================*/
+*/
version:-
option('--version',do), !,
version(V),
- format(user_error,'~p~n',[V]).
+ 'format'(user_error,'~p~n',[V]).
version.
/* =======================================================================
Help
-========================================================================*/
+*/
help:-
option('--help',do), !,
- format(user_error,'usage: nc [options]~n~n',[]),
+ 'format'(user_error,'usage: nc [options]~n~n',[]),
showOptions(nutcracker).
help:-
@@ -956,7 +956,7 @@
/* =======================================================================
Definition of start
-========================================================================*/
+*/
start:-
current_prolog_flag(argv,[_Comm|Args]),
Index: src/prolog/nutcracker/para.pl
===================================================================
--- src/prolog/nutcracker/para.pl (revision 2527)
+++ src/prolog/nutcracker/para.pl (working copy)
@@ -11,7 +11,7 @@
/* ========================================================================
Main
-======================================================================== */
+*/
main(T,H,Stream):-
para(T,H,P,S),
@@ -23,7 +23,7 @@
/* ========================================================================
Paraphrasing
-======================================================================== */
+*/
para([X|L1],H,L3,[X]-Par):-
p1(X,Par),
@@ -51,7 +51,7 @@
/* ========================================================================
Sanity check for paraphrase
-======================================================================== */
+*/
ok(Par,T,H):-
\+ (member(Word,Par), member(Word,T)), % no word of the paraphrase should occur already in T
@@ -62,7 +62,7 @@
/* ========================================================================
Output
-======================================================================== */
+*/
outputP([X],S):- !, write(S,X), nl(S).
outputP([X|L],S):- write(S,X), write(S,' '), outputP(L,S).
@@ -99,7 +99,7 @@
checkFiles(L).
checkFiles([Dir|L]):-
- format('directory ~p does not contain files~n',[Dir]),
+ 'format'('directory ~p does not contain files~n',[Dir]),
checkFiles(L).
@@ -131,7 +131,7 @@
/* =======================================================================
Definition of start
-========================================================================*/
+*/
start:-
current_prolog_flag(argv,Args),
Index: src/prolog/nutcracker/tokkie.pl
===================================================================
--- src/prolog/nutcracker/tokkie.pl (revision 2527)
+++ src/prolog/nutcracker/tokkie.pl (working copy)
@@ -3,7 +3,7 @@
/*========================================================================
File Search Paths
-========================================================================*/
+*/
file_search_path(semlib, 'src/prolog/lib').
file_search_path(boxer, 'src/prolog/boxer').
@@ -11,7 +11,7 @@
/*========================================================================
Load other libraries
-========================================================================*/
+*/
:- use_module(library(lists),[member/2,append/3]).
:- use_module(library(readutil),[read_line_to_codes/2]).
@@ -23,7 +23,7 @@
/*========================================================================
Main
-========================================================================*/
+*/
tokkie:-
option(Option,do),
@@ -44,7 +44,7 @@
/* ----------------------------------------------------------------------
Read lines
----------------------------------------------------------------------- */
+ */
readLines(end_of_file,Stream1,Stream2):- !,
close(Stream1),
@@ -52,7 +52,7 @@
readLines(Codes,InStream,OutStream):- !,
tok(Codes,TokCodes,Last),
- format(OutStream,'~s',[TokCodes]),
+ 'format'(OutStream,'~s',[TokCodes]),
read_line_to_codes(InStream,NewCodes),
decideNewLine(NewCodes,Last,OutStream),
readLines(NewCodes,InStream,OutStream).
@@ -60,7 +60,7 @@
/* =======================================================================
Determine New Line
-========================================================================*/
+*/
decideNewLine(end_of_file,_Last,Stream):- !, nl(Stream).
decideNewLine([C1,C2|_],_,Stream):- lower(C1), lower(C2), !, write(Stream,' ').
@@ -71,7 +71,7 @@
/* =======================================================================
Tokenise
-========================================================================*/
+*/
tok([],[],[]):- !.
tok([65533|L1],L2,Last):- !, warning('skipping non-utf8 character',[]), tok(L1,L2,Last).
@@ -88,18 +88,18 @@
/* ==================================================================================
Patterns
-================================================================================== */
+========= */
/* ----------------------------------------------------------------------------------
Remove space at end of line
----------------------------------------------------------------------------------- */
+------------ */
pattern([32]-[], X, B-B, X):- !.
pattern([9]-[], X, B-B, X):- !.
/* ----------------------------------------------------------------------------------
Squeeze space
----------------------------------------------------------------------------------- */
+------------ */
pattern([32,32|A]-A, [], B-B, []):- !. %%% double space
pattern([32,32|A]-[32|A], X, B-B, X):- !. %%% double space
@@ -111,14 +111,14 @@
/* ----------------------------------------------------------------------------------
Dot dot dot (end of line)
If the last token before the ... is an abbreviation, an extra . is preserved
----------------------------------------------------------------------------------- */
+------------ */
pattern(D-[], Prev, [46,32,46,46,46|B]-B, [46,46,46]):- dots(D,A), end(A), abb(Prev), !.
pattern(D-[], Prev, B1-B2, [46,46,46]):- dots(D,A),end(A), !, insertSpace(Prev,[46,46,46|B2],B1).
/* ----------------------------------------------------------------------------------
Dot dot dot (not end of line)
----------------------------------------------------------------------------------- */
+------------ */
pattern(D-[L|A], Prev, B1-B2,[]):- dots(D,[L|A]), lower(L), !, insertSpace(Prev,[46,46,46,32|B2],B1).
pattern(D-[L|A], Prev, B1-B2,[]):- dots(D,[L|A]), upper(L), !, insertSpace(Prev,[46,46,46,10|B2],B1).
@@ -126,13 +126,13 @@
/* ----------------------------------------------------------------------------------
Full stop and bracket (end of line)
----------------------------------------------------------------------------------- */
+------------ */
pattern([46,Q|A]-[], Prev, B1-B2, [Q]):- bracket(Q), end(A), !, insertSpace(Prev,[46,32,Q|B2],B1). %%% X.) -> X . )
/* ----------------------------------------------------------------------------------
Full stop and ending quotes (end of line)
----------------------------------------------------------------------------------- */
+------------ */
pattern([46,Q|A]-[], Prev, B1-B2, [46]):- quote(Q),end(A),option('--quotes',delete), !, insertSpace(Prev,[46|B2],B1). %%% X." -> X .
pattern([46,Q|A]-[], Prev, B1-B2, [Q]):- quote(Q),end(A),option('--quotes',keep), !, insertSpace(Prev,[46,32,Q|B2],B1). %%% X." -> X . "
@@ -145,7 +145,7 @@
/* ----------------------------------------------------------------------------------
Full stop and ending quotes (not end of line)
----------------------------------------------------------------------------------- */
+------------ */
pattern([46,Q,32,U|A]-[U|A], Prev, B1-B2, []):- quote(Q),upper(U),option('--quotes',delete), !, insertSpace(Prev,[46,10|B2],B1). %%% X." U
pattern([46,Q,32,U|A]-[U|A], Prev, B1-B2, []):- quote(Q),upper(U),option('--quotes',keep), !, insertSpace(Prev,[46,32,Q,10|B2],B1). %%% X." U
@@ -154,7 +154,7 @@
/* ----------------------------------------------------------------------------------
Full stop (end of line)
If the last token before the . is an abbreviation, no extra . is produced.
----------------------------------------------------------------------------------- */
+------------ */
pattern([46|A]-[], Prev, [46|B]-B, Prev):- end(A), title(Prev), !. %%% X. -> X.
pattern([46|A]-[], Prev, [46|B]-B, [46|Prev]):- end(A), abb(Prev), !. %%% X. -> X.
@@ -162,7 +162,7 @@
/* ----------------------------------------------------------------------------------
Full stop, followed by opening quote
----------------------------------------------------------------------------------- */
+------------ */
pattern([46,32,Q,115|A]-A, [_|_], [46,32,Q,115|B]-B, [115,Q]):- rsq(Q), !. %% U.S. \'s
pattern([46,32,Q,C|A]-[Q,C|A], Prev, B1-B2, []):- quote(Q), upper(C), !, insertSpace(Prev,[46,10|B2],B1).
@@ -176,7 +176,7 @@
Case 3: A full stop after a title --> no sentence boundary
Case 4: A full stop after a non-abbreviation --> sentence boundary
% Case 5: A full stop after abbreviation --> no sentence boundary
----------------------------------------------------------------------------------- */
+------------ */
pattern([46,32,U|A]-[U|A], [], [46,10|B]-B, []):- upper(U), !.
pattern([46,32,U|A]-[U|A], [_], [46,32|B]-B, []):- upper(U), !. %%% Initial
@@ -191,58 +191,58 @@
/* ----------------------------------------------------------------------------------
The comma
----------------------------------------------------------------------------------- */
+------------ */
pattern([X,44,Y|A]-[Y|A], P, [X,44|B]-B, [44|P]):- num(X), num(Y), !. %%% "0,0" -> "0,0"
pattern([44|A]-[32|A], Prev, B1-B2, [44]):- !, insertSpace(Prev,[44|B2],B1). %%% "X," -> "X , "
/* ----------------------------------------------------------------------------------
The brackets
----------------------------------------------------------------------------------- */
+------------ */
pattern([X|A]-[32|A], Prev, B1-B2, [X]):- bracket(X), !, insertSpace(Prev,[X|B2],B1).
/* ----------------------------------------------------------------------------------
Colon
----------------------------------------------------------------------------------- */
+------------ */
pattern([58|A]-[32|A], Prev, B1-B2, [58]):- !, insertSpace(Prev,[58|B2],B1).
/* ----------------------------------------------------------------------------------
Semicolon
----------------------------------------------------------------------------------- */
+------------ */
pattern([59|A]-[32|A], Prev, B1-B2, [59]):- !, insertSpace(Prev,[59|B2],B1).
/* ----------------------------------------------------------------------------------
Question and Exclamation Mark
----------------------------------------------------------------------------------- */
+------------ */
pattern([X|A]-[32|A], Prev, B1-B2, [X]):- mark(X), !, insertSpace(Prev,[X|B2],B1).
/* ----------------------------------------------------------------------------------
Percentage "100%" -> "100 % "
----------------------------------------------------------------------------------- */
+------------ */
pattern([X,37|A]-[32|A], _, [X,32,37|B]-B, [37]):- num(X), !.
/* ----------------------------------------------------------------------------------
Monetary units "$100" -> "$ 100"
----------------------------------------------------------------------------------- */
+------------ */
pattern([36,X|A]-[X|A], _, [36,32|B]-B, [32]):- num(X), !.
pattern([128,X|A]-[X|A], _, [128,32|B]-B, [32]):- num(X), !.
/* ----------------------------------------------------------------------------------
Contractions: year/decade expressions
----------------------------------------------------------------------------------- */
+------------ */
pattern([Q,N1,N2,115|A]-A, [], [Q,N1,N2,115|B]-B, [115,N2,N1,Q]):- rsq(Q), num(N1),num(N2), !. %%% "'30s" -> "'30s"
pattern([Q,N1,N2,N|A]-[N|A], [], [Q,N1,N2|B]-B, [N2,N1,Q]):- rsq(Q), num(N1),num(N2), \+ alphanum(N), !. %%% "'30" -> "'30"
/* ----------------------------------------------------------------------------------
Contractions: \'s (English)
----------------------------------------------------------------------------------- */
+------------ */
pattern([X,Q,115,N|A]-[N|A], [_|_], [X,32,Q,115|B]-B, [115,Q]):- option('--language',en), rsq(Q), alpha(X), \+ alphanum(N), !. %%% "X's" -> "X 's"
pattern([Q,115,N|A]-[N|A], Prev, [32,Q,115|B]-B, [115,Q]):- option('--language',en), abb(Prev), rsq(Q), \+ alphanum(N), !. %%% "U.S.'s" -> "U.S. 's"
@@ -252,7 +252,7 @@
/* ----------------------------------------------------------------------------------
Contractions: auxiliary verbs (English)
----------------------------------------------------------------------------------- */
+------------ */
pattern([X,Q,109|A]-A, _, [X,32,Q,109|B]-B, [109,Q]):- option('--language',en), rsq(Q), alpha(X), !. %%% "X'm" -> "X 'm"
pattern([X,Q,100|A]-A, _, [X,32,Q,100|B]-B, [100,Q]):- option('--language',en), rsq(Q), alpha(X), !. %%% "X'd" -> "X 'd"
@@ -263,20 +263,20 @@
/* ----------------------------------------------------------------------------------
Contractions (Italian)
----------------------------------------------------------------------------------- */
+------------ */
pattern([108,Q,X|A]-[X|A], Prev, B1-B2, []):- option('--language',it), alpha(X), rsq(Q), !, insertSpace(Prev,[108,Q,32|B2],B1). %%% " l'X" -> " l' X"
/* ----------------------------------------------------------------------------------
Contractions: Irish and foreign names
----------------------------------------------------------------------------------- */
+------------ */
pattern([U1,Q,U2|A]-A, [], [U1,Q,U2|B]-B, [U2,Q,U1]):- rsq(Q), alpha(U1),alpha(U2). %%% "O'R" -> "O'R"
/* ----------------------------------------------------------------------------------
Double character quotes
----------------------------------------------------------------------------------- */
+------------ */
pattern([32,Q,Q,32|A]-[32|A], X, B-B, X):- quotes(Q), option('--quotes',delete), !.
pattern([Q,Q|A]-A, X, B-B, X):- quotes(Q), option('--quotes',delete), !.
@@ -284,7 +284,7 @@
/* ----------------------------------------------------------------------------------
Single character quotes
----------------------------------------------------------------------------------- */
+------------ */
pattern([32,Q,32|A]-[32|A], X, B-B, X):- quote(Q), option('--quotes',delete), !.
pattern([Q|A]-A, X, B-B, X):- quote(Q), option('--quotes',delete), !.
@@ -293,7 +293,7 @@
/* ==================================================================================
Aux Predicates
-====================================================================================*/
+=========== */
alphanum(X):- alpha(X), !.
alphanum(X):- num(X), !.
@@ -310,7 +310,7 @@
/* ----------------------------------------------------------------------------------
Insert space, but only if there is a token just before
----------------------------------------------------------------------------------- */
+------------ */
insertSpace([], L, L):- !.
insertSpace( _, L, [32|L]).
@@ -318,7 +318,7 @@
/* ----------------------------------------------------------------------------------
Codes for Brackets
----------------------------------------------------------------------------------- */
+------------ */
bracket(X):- opening_bracket(X).
bracket(X):- closing_bracket(X).
@@ -334,7 +334,7 @@
/* ----------------------------------------------------------------------------------
Codes for right single quotation marks (used in genitives)
----------------------------------------------------------------------------------- */
+------------ */
rsq(39).
rsq(8217).
@@ -342,7 +342,7 @@
/* ----------------------------------------------------------------------------------
Codes for single-character quotes
----------------------------------------------------------------------------------- */
+------------ */
quote(34). %%% "
quote(39). %%% '
@@ -357,7 +357,7 @@
/* ----------------------------------------------------------------------------------
Codes for double quotes
----------------------------------------------------------------------------------- */
+------------ */
quotes(96). %%% ``
quotes(39). %%% ''
@@ -367,7 +367,7 @@
/* ----------------------------------------------------------------------------------
Codes for punctuation marks
----------------------------------------------------------------------------------- */
+------------ */
mark(63). %%% ?
mark(33). %%% !
@@ -376,7 +376,7 @@
/* ----------------------------------------------------------------------------------
Titles (or other expressions that never/rarely occur at end of sentence)
The actual string (in double quotes) is reversed!
----------------------------------------------------------------------------------- */
+------------ */
title(Title):- option('--language',Language), title(Language,Title), !.
@@ -412,7 +412,7 @@
/* ----------------------------------------------------------------------------------
Abbreviations
----------------------------------------------------------------------------------- */
+------------ */
abb(Codes):- member(46,Codes), member(X,Codes), alpha(X), !.
abb(Abb):- option('--language',Language), abb(Language,Abb), !.
@@ -430,14 +430,14 @@
/* ----------------------------------------------------------------------------------
Mistake in WSJ tokenisation
----------------------------------------------------------------------------------- */
+------------ */
mistake(".p.S").
/* =======================================================================
End (only spaces or tabs before end of line)
-========================================================================*/
+*/
end([]):- !.
end([32|L]):- !, end(L).
@@ -446,7 +446,7 @@
/* =======================================================================
Dots
-========================================================================*/
+*/
dots(In,Out):-
dots(In,0,Out).
@@ -469,7 +469,7 @@
/* =======================================================================
Open Input File
-========================================================================*/
+*/
openInput(Stream):-
option('--stdin',dont),
@@ -487,7 +487,7 @@
/* =======================================================================
Open Output File
-========================================================================*/
+*/
openOutput(Stream):-
option('--output',Output),
@@ -503,23 +503,23 @@
/* =======================================================================
Version
-========================================================================*/
+*/
version:-
option('--version',do), !,
version(V),
- format(user_error,'~p~n',[V]).
+ 'format'(user_error,'~p~n',[V]).
version.
/* =======================================================================
Help
-========================================================================*/
+*/
help:-
option('--help',do), !,
- format(user_error,'usage: tokkie [options]~n~n',[]),
+ 'format'(user_error,'usage: tokkie [options]~n~n',[]),
showOptions(tokkie).
help:-
@@ -528,7 +528,7 @@
/* =======================================================================
Definition of start
-========================================================================*/
+*/
start:-
current_prolog_flag(argv,[_Comm|Args]),