makenode(type
,addimp
,addcom
, labe
,arcnum
,arctype
,arclab
)
int type
, arctype
[], arcnum
;
ASSERT(arcsper
[type
] < 0 || arcnum
== arcsper
[type
], makenode
);
num
= create(type
,arcnum
);
if (addimp
) fiximp(num
,labe
);
for (i
= 0; i
< arcnum
; ++i
)
addref(arclab
[i
],&ARC(num
,i
));
if (!addcom
|| endcom
< begline
)
BEGCOM(num
) = begchar
- rtnbeg
;
fiximp(num
,labe
) /* fix implicit links, check nesting */
fixvalue(implicit
, num
); /* set implicit links to this node */
if(labe
!= implicit
) fixvalue(labe
, num
);