home *** CD-ROM | disk | FTP | other *** search
- #include "y1.h"
-
- extern char sarr[ISIZE];
-
- char *writem(pp) int *pp;
-
- {
- /* creates output string for item pointed to by pp */
- int i,*p;
- char *q;
-
- for( p=pp; *p>0 ; ++p ) ;
- p = prdptr[-*p];
- q = chcopy( sarr, nontrst[*p-NTBASE].name );
- q = chcopy( q, " : " );
-
- for(;;)
- {
- *q++ = ++p==pp ? '_' : ' ';
- *q = '\0';
- if((i = *p) <= 0) break;
- q = chcopy( q, symnam(i) );
- if( q> &sarr[ISIZE-30] ) error( "item too big" );
- }
-
- if( (i = *pp) < 0 )
- {
- /* an item calling for a reduction */
- q = chcopy( q, " (" );
- sprintf( q, "%d)", -i );
- }
-
- return( sarr );
- }
-