trees2tex.pl
2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
%
% Copyright (C) 1997-2007 Marcin Woliński
%
% This program is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% This program is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this program; if not, write to the Free Software
% Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
% MA 02110-1301, USA
%
% In addition, as a special exception, the copyright holder gives
% permission to link the code of this program with the Morfeusz library
% (see http://www.nlp.ipipan.waw.pl/~wolinski/morfeusz), and distribute
% linked combinations including the two. You must obey the GNU General
% Public License in all respects for all of the code used other than
% Morfeusz. If you modify this file, you may extend this exception to
% your version of the file, but you are not obligated to do so. If you
% do not wish to do so, delete this exception statement from your
% version.
:-[gettreetex].
:-[gfjp_warunki].
dumpterm(T) :-
write(':-'),
writeq(T),
write('.'),nl.
process_info :-
info(X,Y),
format("\\info{~a}{~p}\n",[X,Y]),
fail.
process_info.
process_forest(NT,Od,Do) :-
flag(trees,_,0),
format(user_error,"Generating tree signatures ",[]),
gettreesgnt(NT,Od,Do,_TrId,Sgnt),
flag(trees,N,N+1), N1 is N+1,
assertz(treesgnt(Sgnt,N1)),
(0 is N1 mod 100 -> format(user_error,"+",[])),
fail.
process_forest(NT,Od,Do) :-
flag(trees,_,0),
% listing(treesgnt),
format(user_error,"~nGenerating trees ",[]),
gettree(NT,Od,Do,_TrId,Drzewo),
flag(trees,N,N+1), N1 is N+1,
format("% ~p~n", [N1]),
numbervars(Drzewo,0,_),
treeprint(Drzewo,N1),
(0 is N1 mod 100 -> format(user_error,"+",[])),
fail.
process_forest(_,_,_) :-
format(user_error,"~n",[]).
% wypisujemy informacje:
:- process_info.
% wypisujemy drzewa:
:-
info(nonterminal,NT),
info(startnode,Od),
info(endnode,Do),
process_forest(NT,Od,Do).
% podsumowanie:
:-
sukces,
format("\\koniecprzykladu\n", [])
;
porazka,
format("\\porazka\n", []).
:-
format("\n%%% \x4Cocal Variables:\n", []),
format("%%% coding: utf-8\n",[]),
format("%%% mode: latex\n",[]),
format("%%% End: \n",[]).
%%% Local Variables:
%%% coding: utf-8
%%% mode: prolog
%%% End: