%% syntaxe : string/lit mode proc1 proc2 proc3 genericTnode -> cree un noeud d'arbre
/genericTnode {
3 dict begin
/procpict exch def
/proctex exch def
/procstring exch def
/modestring exch def
%% y a-til un argument
dup xcheck { %% non
emptynode
dup modestring put_type_noeud
} {
%% faut voir => on recipere le lexeme precedent
dup /contenu exch def
%% phrase ou litteral => c'est un argument
contenu isstring contenu isname or {
pop
emptynode
dup contenu put_contenu_noeud
dup modestring put_type_noeud
contenu isstring {
%% ce peut-etre du texte ou un objet pict
contenu length 0 eq {
%% chaine vide
dup procstring cvx put_affichage_noeud
} {
contenu 0 get 33 eq {
%% objet pict
dup contenu cdr put_contenu_noeud
dup procpict cvx put_affichage_noeud
} {
%% du texte
dup procstring cvx put_affichage_noeud
} ifelse
} ifelse
%% %% ce peut-etre du texte ou un objet pict
%% contenu 0 get 33 eq {
%% %% objet pict
%% dup contenu cdr put_contenu_noeud
%% dup procpict cvx put_affichage_noeud
%% } {
%% %% du texte
%% dup procstring cvx put_affichage_noeud
%% } ifelse
} {
%% un label tex
dup proctex cvx put_affichage_noeud
} ifelse
} {%% pas d'argument
emptynode
dup modestring put_type_noeud
} ifelse
} ifelse
end
} def
%% syntaxe : string/lit Tc -> cree un noeud circulaire contenant
%% "string" ou le label TeX indique par lit
/Tc {
(cnode) (bctext) (3 -1 roll chargetexlabel bctexlabel) (3 -1 roll bcpict) genericTnode
} def
/Tcc {
(cnode) (cctext) (3 -1 roll chargetexlabel cctexlabel) (3 -1 roll ccpict) genericTnode
} def
/TC {
(Cnode) (bctext) (3 -1 roll chargetexlabel bctexlabel) (3 -1 roll bcpict) genericTnode
} def
/TCc {
(Cnode) (cctext) (3 -1 roll chargetexlabel cctexlabel) (3 -1 roll ccpict) genericTnode
} def
/Tr {
(node) (bctext) (3 -1 roll chargetexlabel bctexlabel) (3 -1 roll bcpict) genericTnode
} def
/Trc {
(node) (cctext) (3 -1 roll chargetexlabel cctexlabel) (3 -1 roll ccpict) genericTnode
} def
/TR {
(Rnode) (bctext) (3 -1 roll chargetexlabel bctexlabel) (3 -1 roll bcpict) genericTnode
} def
/TRc {
(Rnode) (cctext) (3 -1 roll chargetexlabel cctexlabel) (3 -1 roll ccpict) genericTnode
} def
/Tb {
(bnode) (bctext) (3 -1 roll chargetexlabel bctexlabel) (3 -1 roll bcpict) genericTnode
} def
/Tbc {
(bnode) (cctext) (3 -1 roll chargetexlabel cctexlabel) (3 -1 roll ccpict) genericTnode
} def
%% noeud fantome
/Tf {
emptynode
dup (node) put_type_noeud
dup false put_relie_noeud
} def
/Tdot {
(!pictdot) Tr
} def
/Tdia {
(dianode) (bctext) (3 -1 roll chargetexlabel bctexlabel) (3 -1 roll bcpict) genericTnode
} def
/Tdiac {
(dianode) (cctext) (3 -1 roll chargetexlabel cctexlabel) (3 -1 roll ccpict) genericTnode
} def
/Toval {
(ovalnode) (bctext) (3 -1 roll chargetexlabel bctexlabel) (3 -1 roll bcpict) genericTnode
} def
/Tovalc {
(ovalnode) (cctext) (3 -1 roll chargetexlabel cctexlabel) (3 -1 roll ccpict) genericTnode
} def
setTimes
/nomme_noeud {
1 dict begin
/le_nom exch def
dup le_nom put_name_noeud
end
} def
/nodename {
nomme_noeud
} def
/non_relie {
dup false put_relie_noeud
} def
/param_noeud {
2 copy pop exch put_gparam_noeud
end
} def
%% syntaxe : x y nodecommand rootnode
/rootnode {
1 dict begin
/noeud exch def
noeud 3 1 roll put_coordonnees_noeud
noeud
end
} def
%% /emptynode {[
%% (cnode) %% type
%% () %% contenu
%% () %% nom
%% 0 0 %% coordonnees
%% {} %% type de liaison avec le precedent
%% {} %% parametres graphiques
%% {bctext} %% commande d'affichage
%% true %% relie au precedent
%% ]} def
/emptynode {[
(cnode) %% type
() %% contenu
() %% nom
0 0 %% coordonnees
{} %% type de liaison avec le precedent
{} %% parametres graphiques
{bctext} %% commande d'affichage
true %% relie au precedent
[] %% labels liaison
[] %% affichage labels liaison
[] %% option affichage labels liaison
[] %% options affichage contenu
]} def
%% /declare_noeud {
%% 7 dict begin
%% /noeud exch def
%% /nom noeud get_name_noeud def
%% /contenu noeud get_contenu_noeud def
%% /mode noeud get_type_noeud def
%% noeud get_coordonnees_noeud /A defpoint
%% /gparametres {noeud get_gparam_noeud} def
%% contenu A
%% noeud get_affichage_noeud
%% nom mode gparametres
%% noeud
%% end
%% /precedent exch def
%% gsave
%% exec %% les parametres graphiques
%% cvx exec %% declaration du noeud
%% exec %% affichage du contenu
%% grestore
%% } def
/declare_noeud {
7 dict begin
gsave
/noeud exch def
/nom noeud get_name_noeud def
/contenu noeud get_contenu_noeud def
/mode noeud get_type_noeud def
noeud get_coordonnees_noeud /A defpoint
/gparametres {noeud get_gparam_noeud} def
gparametres exec %% les parametres
nom mode cvx exec %% declaration du noeud
contenu A
noeud get_optaffcontenu_array dup length 1 ge {
cvx /options_picture exch def
} {
pop
} ifelse
noeud get_affichage_noeud
exec %% affichage du contenu
%% on transmet en dehors du dictionnaire local
noeud
grestore
end
/precedent exch def
} def
%% syntaxe : noeud get_coordonnees_noeud -> x y
/get_coordonnees_noeud {
dup 3 get
exch 4 get
} def
%% syntaxe : noeud x y put_coordonnees_noeud
/put_coordonnees_noeud {
2 dict begin
/A defpoint
/noeud exch def
noeud 3 A pop put
noeud 4 A exch pop put
end
} def
%% syntaxe : noeud get_type_noeud -> string
/get_type_noeud {
0 get
} def
%% syntaxe : noeud get_relie_noeud -> bool
/get_relie_noeud {
8 get
} def
%% syntaxe : noeud put_relie_noeud
/put_relie_noeud {
8 exch put
} def
%% syntaxe : noeud get_affichage_noeud -> proc
/get_affichage_noeud {
7 get
} def
%% syntaxe : noeud proc put_affichage_noeud
/put_affichage_noeud {
7 exch put
} def
%% syntaxe : noeud string put_type_noeud
/put_type_noeud {
0 exch put
} def
%% syntaxe : noeud string put_contenu_noeud
/put_contenu_noeud {
1 exch put
} def
%% syntaxe : noeud string put_name_noeud
/put_name_noeud {
2 exch put
} def
%% syntaxe : noeud get_name_noeud -> string
/get_name_noeud {
2 get
} def
%% syntaxe : noeud string put_gparam_noeud
/put_gparam_noeud {
6 exch put
} def
%% syntaxe : noeud get_gparam_noeud -> string
/get_gparam_noeud {
6 get
} def
%% syntaxe : noeud get_contenu_noeud -> string
/get_contenu_noeud {
1 get
} def
/get_liaison_array {
9 get
} def
/put_liaison_array {
9 exch put
} def
/get_affliaison_array {
10 get
} def
/put_affliaison_array {
10 exch put
} def
/get_optaffliaison_array {
11 get
} def
/put_optaffliaison_array {
11 exch put
} def
/get_optaffcontenu_array {
12 get
} def
/put_optaffcontenu_array {
12 exch put
} def
%% syntaxe : array istreenode -> booleen, vrai si array ressemble a un
%% treenode, faux sinon
/istreenode {
1 dict begin
dup xcheck {
pop false
} {
/candidat exch def
candidat isarray {
candidat length 13 eq {
candidat 8 get isbool
} {
false
} ifelse
} {
false
} ifelse
} ifelse
end
} def
/deltnode {
3 dict begin
/i exch def
/table exch def
/j 0 def
/tnodeno 0 def
[
table length {
table j get
dup istreenode {
tnodeno i eq {pop} if
/tnodeno tnodeno 1 add store
} if
/j j 1 add store
} repeat
]
end
} def
/Toptaff {
1 dict begin
/option exch def
dup option put_optaffcontenu_array
end
} def
%% 07/03/06 %% %% syntaxe : string/lit mode proc1 proc2 genericTnode -> cree un noeud d'arbre
%% 07/03/06 %% /genericTnode {
%% 07/03/06 %% 3 dict begin
%% 07/03/06 %% /proctex exch def
%% 07/03/06 %% /procstring exch def
%% 07/03/06 %% /modestring exch def
%% 07/03/06 %% %% y a-til un argument
%% 07/03/06 %% dup xcheck { %% non
%% 07/03/06 %% emptynode
%% 07/03/06 %% dup modestring put_type_noeud
%% 07/03/06 %% } {
%% 07/03/06 %% %% faut voir => on recipere le lexeme precedent
%% 07/03/06 %% dup /contenu exch def
%% 07/03/06 %% %% phrase ou litteral => c'est un argument
%% 07/03/06 %% contenu isstring contenu isname or {
%% 07/03/06 %% pop
%% 07/03/06 %% emptynode
%% 07/03/06 %% dup contenu put_contenu_noeud
%% 07/03/06 %% dup modestring put_type_noeud
%% 07/03/06 %% contenu isstring {
%% 07/03/06 %% dup procstring cvx put_affichage_noeud
%% 07/03/06 %% } {
%% 07/03/06 %% dup proctex cvx put_affichage_noeud
%% 07/03/06 %% } ifelse
%% 07/03/06 %% } {%% pas d'argument
%% 07/03/06 %% emptynode
%% 07/03/06 %% dup modestring put_type_noeud
%% 07/03/06 %% } ifelse
%% 07/03/06 %% } ifelse
%% 07/03/06 %% end
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : string/lit Tc -> cree un noeud circulaire contenant
%% 07/03/06 %% %% "string" ou le label TeX indique par lit
%% 07/03/06 %% /Tc {
%% 07/03/06 %% (cnode) (bctext) (3 -1 roll chargetexlabel bctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /Tcc {
%% 07/03/06 %% (cnode) (cctext) (3 -1 roll chargetexlabel cctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /TC {
%% 07/03/06 %% (Cnode) (bctext) (3 -1 roll chargetexlabel bctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /TCc {
%% 07/03/06 %% (Cnode) (cctext) (3 -1 roll chargetexlabel cctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /Tr {
%% 07/03/06 %% (node) (bctext) (3 -1 roll chargetexlabel bctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /Trc {
%% 07/03/06 %% (node) (cctext) (3 -1 roll chargetexlabel cctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /TR {
%% 07/03/06 %% (Rnode) (bctext) (3 -1 roll chargetexlabel bctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /TRc {
%% 07/03/06 %% (Rnode) (cctext) (3 -1 roll chargetexlabel cctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /Tb {
%% 07/03/06 %% (bnode) (bctext) (3 -1 roll chargetexlabel bctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /Tbc {
%% 07/03/06 %% (bnode) (cctext) (3 -1 roll chargetexlabel cctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% noeud fantome
%% 07/03/06 %% /Tf {
%% 07/03/06 %% emptynode
%% 07/03/06 %% dup (node) put_type_noeud
%% 07/03/06 %% dup false put_relie_noeud
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /Tdia {
%% 07/03/06 %% (dianode) (bctext) (3 -1 roll chargetexlabel bctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /Tdiac {
%% 07/03/06 %% (dianode) (cctext) (3 -1 roll chargetexlabel cctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /Toval {
%% 07/03/06 %% (ovalnode) (bctext) (3 -1 roll chargetexlabel bctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /Tovalc {
%% 07/03/06 %% (ovalnode) (cctext) (3 -1 roll chargetexlabel cctexlabel) genericTnode
%% 07/03/06 %% } def
%% 07/03/06 %% setTimes
%% 07/03/06 %%
%% 07/03/06 %% /nomme_noeud {
%% 07/03/06 %% 1 dict begin
%% 07/03/06 %% /le_nom exch def
%% 07/03/06 %% dup le_nom put_name_noeud
%% 07/03/06 %% end
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /nodename {
%% 07/03/06 %% nomme_noeud
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /non_relie {
%% 07/03/06 %% dup false put_relie_noeud
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /param_noeud {
%% 07/03/06 %% 2 copy pop exch put_gparam_noeud
%% 07/03/06 %% end
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : x y nodecommand rootnode
%% 07/03/06 %% /rootnode {
%% 07/03/06 %% 1 dict begin
%% 07/03/06 %% /noeud exch def
%% 07/03/06 %% noeud 3 1 roll put_coordonnees_noeud
%% 07/03/06 %% noeud
%% 07/03/06 %% end
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% /emptynode {[
%% 07/03/06 %% %% (cnode) %% type
%% 07/03/06 %% %% () %% contenu
%% 07/03/06 %% %% () %% nom
%% 07/03/06 %% %% 0 0 %% coordonnees
%% 07/03/06 %% %% {} %% type de liaison avec le precedent
%% 07/03/06 %% %% {} %% parametres graphiques
%% 07/03/06 %% %% {bctext} %% commande d'affichage
%% 07/03/06 %% %% true %% relie au precedent
%% 07/03/06 %% %% ]} def
%% 07/03/06 %%
%% 07/03/06 %% /emptynode {[
%% 07/03/06 %% (cnode) %% type
%% 07/03/06 %% () %% contenu
%% 07/03/06 %% () %% nom
%% 07/03/06 %% 0 0 %% coordonnees
%% 07/03/06 %% {} %% type de liaison avec le precedent
%% 07/03/06 %% {} %% parametres graphiques
%% 07/03/06 %% {bctext} %% commande d'affichage
%% 07/03/06 %% true %% relie au precedent
%% 07/03/06 %% [] %% labels liaison
%% 07/03/06 %% [] %% affichage labels liaison
%% 07/03/06 %% [] %% option affichage labels liaison
%% 07/03/06 %% ]} def
%% 07/03/06 %%
%% 07/03/06 %% %% /declare_noeud {
%% 07/03/06 %% %% 7 dict begin
%% 07/03/06 %% %% /noeud exch def
%% 07/03/06 %% %% /nom noeud get_name_noeud def
%% 07/03/06 %% %% /contenu noeud get_contenu_noeud def
%% 07/03/06 %% %% /mode noeud get_type_noeud def
%% 07/03/06 %% %% noeud get_coordonnees_noeud /A defpoint
%% 07/03/06 %% %% /gparametres {noeud get_gparam_noeud} def
%% 07/03/06 %% %% contenu A
%% 07/03/06 %% %% noeud get_affichage_noeud
%% 07/03/06 %% %% nom mode gparametres
%% 07/03/06 %% %% noeud
%% 07/03/06 %% %% end
%% 07/03/06 %% %% /precedent exch def
%% 07/03/06 %% %% gsave
%% 07/03/06 %% %% exec %% les parametres graphiques
%% 07/03/06 %% %% cvx exec %% declaration du noeud
%% 07/03/06 %% %% exec %% affichage du contenu
%% 07/03/06 %% %% grestore
%% 07/03/06 %% %% } def
%% 07/03/06 %%
%% 07/03/06 %% /declare_noeud {
%% 07/03/06 %% 7 dict begin
%% 07/03/06 %% gsave
%% 07/03/06 %% /noeud exch def
%% 07/03/06 %% /nom noeud get_name_noeud def
%% 07/03/06 %% /contenu noeud get_contenu_noeud def
%% 07/03/06 %% /mode noeud get_type_noeud def
%% 07/03/06 %% noeud get_coordonnees_noeud /A defpoint
%% 07/03/06 %% /gparametres {noeud get_gparam_noeud} def
%% 07/03/06 %% gparametres exec %% les parametres
%% 07/03/06 %% nom mode cvx exec %% declaration du noeud
%% 07/03/06 %% contenu A
%% 07/03/06 %% noeud get_affichage_noeud
%% 07/03/06 %% exec %% affichage du contenu
%% 07/03/06 %% %% on transmet en dehors du dictionnaire local
%% 07/03/06 %% noeud
%% 07/03/06 %% grestore
%% 07/03/06 %% end
%% 07/03/06 %% /precedent exch def
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud get_coordonnees_noeud -> x y
%% 07/03/06 %% /get_coordonnees_noeud {
%% 07/03/06 %% dup 3 get
%% 07/03/06 %% exch 4 get
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud x y put_coordonnees_noeud
%% 07/03/06 %% /put_coordonnees_noeud {
%% 07/03/06 %% 2 dict begin
%% 07/03/06 %% /A defpoint
%% 07/03/06 %% /noeud exch def
%% 07/03/06 %% noeud 3 A pop put
%% 07/03/06 %% noeud 4 A exch pop put
%% 07/03/06 %% end
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud get_type_noeud -> string
%% 07/03/06 %% /get_type_noeud {
%% 07/03/06 %% 0 get
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud get_relie_noeud -> bool
%% 07/03/06 %% /get_relie_noeud {
%% 07/03/06 %% 8 get
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud put_relie_noeud
%% 07/03/06 %% /put_relie_noeud {
%% 07/03/06 %% 8 exch put
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud get_affichage_noeud -> proc
%% 07/03/06 %% /get_affichage_noeud {
%% 07/03/06 %% 7 get
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud proc put_affichage_noeud
%% 07/03/06 %% /put_affichage_noeud {
%% 07/03/06 %% 7 exch put
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud string put_type_noeud
%% 07/03/06 %% /put_type_noeud {
%% 07/03/06 %% 0 exch put
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud string put_contenu_noeud
%% 07/03/06 %% /put_contenu_noeud {
%% 07/03/06 %% 1 exch put
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud string put_name_noeud
%% 07/03/06 %% /put_name_noeud {
%% 07/03/06 %% 2 exch put
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud get_name_noeud -> string
%% 07/03/06 %% /get_name_noeud {
%% 07/03/06 %% 2 get
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud string put_gparam_noeud
%% 07/03/06 %% /put_gparam_noeud {
%% 07/03/06 %% 6 exch put
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud get_gparam_noeud -> string
%% 07/03/06 %% /get_gparam_noeud {
%% 07/03/06 %% 6 get
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : noeud get_contenu_noeud -> string
%% 07/03/06 %% /get_contenu_noeud {
%% 07/03/06 %% 1 get
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /get_liaison_array {
%% 07/03/06 %% 9 get
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /put_liaison_array {
%% 07/03/06 %% 9 exch put
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /get_affliaison_array {
%% 07/03/06 %% 10 get
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /put_affliaison_array {
%% 07/03/06 %% 10 exch put
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /get_optaffliaison_array {
%% 07/03/06 %% 11 get
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /put_optaffliaison_array {
%% 07/03/06 %% 11 exch put
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% %% syntaxe : array istreenode -> booleen, vrai si array ressemble a un
%% 07/03/06 %% %% %% treenode, faux sinon
%% 07/03/06 %% %% /istreenode {
%% 07/03/06 %% %% 1 dict begin
%% 07/03/06 %% %% dup xcheck {
%% 07/03/06 %% %% pop false
%% 07/03/06 %% %% } {
%% 07/03/06 %% %% /candidat exch def
%% 07/03/06 %% %% candidat isarray {
%% 07/03/06 %% %% candidat length 9 eq {
%% 07/03/06 %% %% candidat 8 get isbool
%% 07/03/06 %% %% } {
%% 07/03/06 %% %% false
%% 07/03/06 %% %% } ifelse
%% 07/03/06 %% %% } {
%% 07/03/06 %% %% false
%% 07/03/06 %% %% } ifelse
%% 07/03/06 %% %% } ifelse
%% 07/03/06 %% %% end
%% 07/03/06 %% %% } def
%% 07/03/06 %%
%% 07/03/06 %% %% syntaxe : array istreenode -> booleen, vrai si array ressemble a un
%% 07/03/06 %% %% treenode, faux sinon
%% 07/03/06 %% /istreenode {
%% 07/03/06 %% 1 dict begin
%% 07/03/06 %% dup xcheck {
%% 07/03/06 %% pop false
%% 07/03/06 %% } {
%% 07/03/06 %% /candidat exch def
%% 07/03/06 %% candidat isarray {
%% 07/03/06 %% candidat length 12 eq {
%% 07/03/06 %% candidat 8 get isbool
%% 07/03/06 %% } {
%% 07/03/06 %% false
%% 07/03/06 %% } ifelse
%% 07/03/06 %% } {
%% 07/03/06 %% false
%% 07/03/06 %% } ifelse
%% 07/03/06 %% } ifelse
%% 07/03/06 %% end
%% 07/03/06 %% } def
%% 07/03/06 %%
%% 07/03/06 %% /deltnode {
%% 07/03/06 %% 3 dict begin
%% 07/03/06 %% /i exch def
%% 07/03/06 %% /table exch def
%% 07/03/06 %% /j 0 def
%% 07/03/06 %% /tnodeno 0 def
%% 07/03/06 %% [
%% 07/03/06 %% table length {
%% 07/03/06 %% table j get
%% 07/03/06 %% dup istreenode {
%% 07/03/06 %% tnodeno i eq {pop} if
%% 07/03/06 %% /tnodeno tnodeno 1 add store
%% 07/03/06 %% } if
%% 07/03/06 %% /j j 1 add store
%% 07/03/06 %% } repeat
%% 07/03/06 %% ]
%% 07/03/06 %% end
%% 07/03/06 %% } def
|