README
1To make a new pic,
2 make
3
4The output should be something like
5 yacc -d picy.y
6
7 conflicts: 32 shift/reduce
8 cc -c y.tab.c
9 rm y.tab.c
10 mv y.tab.o picy.o
11 lex picl.l
12 1174/1300 nodes(%e), 3365/3500 positions(%p), 514/600 (%n), 26763 trans
13itions
14 , 44/100 packed char classes(%k), 1313/1400 packed transitions(%a), 103
155/1200 output slots(%o)
16 cc -c lex.yy.c
17 rm lex.yy.c
18 mv lex.yy.o picl.o
19 cc -c main.c
20 cc -c print.c
21 cc -c misc.c
22 cc -c symtab.c
23 cc -c blockgen.c
24 cc -c boxgen.c
25 cc -c circgen.c
26 cc -c arcgen.c
27 cc -c linegen.c
28 cc -c movegen.c
29 cc -c troffgen.c
30 cc -c textgen.c
31 cc -c pic2.c
32 cc -c pltroff.c
33 cc -i picy.o picl.o main.o print.o misc.o symtab.o blockgen.o boxgen.
34o circgen.o arcgen.o linegen.o movegen.o troffgen.o textgen.o pic2.o pltroff.
35o -lm
36
37You may have some trouble with Lex -- older versions of Lex have
38default sizes of arrays set poorly, and the pic lexical phase
39strains them. If it complains about out of space in various ways,
40such as "calloc returns 0" or more specific messages,
41look at the output lines that say things like
42"1174/1300 nodes(%e)" and decrease the corresponding %e line
43at the top of picl.l to make the limit tighter.
44I have done this fairly tightly already, but you might
45squeeze a bit more if necessary.
46
47If you are using the standard version of Troff (i.e., the one that
48drives the Graphics Systems CAT), the following CAVEAT applies:
49
50
51I have included with this version of PIC code that in principle
52will drive the old (i.e., standard) version of Troff. The way
53it works is to draw slanted lines, circles, etc., with millions
54of small periods, so as might be expected it is slow and produces
55voluminous input to troff.
56
57To set things up for your typesetter and troff, you may want
58to diddle some defaults.
59
601. The typesetter type has to be set in main.c; I have it set
61up for the Linotron 202, which is almost certainly not what you want.
62In main.c, set devtype to DEVCAT and res to 432.
63
642. When you compile with Make, you must one way or another
65define the constant OLDTROFF in pltroff.c, either by
66 make CFLAGS=-DOLDTROFF
67or by adding the line
68 #define OLDTROFF
69to pltroff.c.
70
71There are no guarantees with the old-style stuff, since I can't
72really give it an effective test. I will be glad to take back
73improvements for subsequent distribution, however.
74
75Good luck.
76
77End of CAVEAT.
78
79The file UNDOC describes a couple of things that have been
80added to PIC since TM-80-1272-2 (June 9, 1980).
81