Commit | Line | Data |
---|---|---|
eb1efbca | 1 | /* sed.h 4.3 87/12/21 */ |
00a89a8a RC |
2 | |
3 | /* | |
4 | * sed -- stream editor | |
5 | */ | |
6 | ||
7 | #define CBRA 1 | |
8 | #define CCHR 2 | |
9 | #define CDOT 4 | |
10 | #define CCL 6 | |
11 | #define CNL 8 | |
12 | #define CDOL 10 | |
13 | #define CEOF 11 | |
14 | #define CKET 12 | |
15 | #define CNULL 13 | |
16 | #define CLNUM 14 | |
17 | #define CEND 16 | |
18 | #define CDONT 17 | |
19 | #define CBACK 18 | |
20 | ||
21 | #define STAR 01 | |
22 | ||
23 | #define NLINES 256 | |
24 | #define DEPTH 20 | |
25 | #define PTRSIZE 200 | |
26 | #define RESIZE 10000 | |
27 | #define ABUFSIZE 20 | |
28 | #define LBSIZE 4000 | |
29 | #define ESIZE 256 | |
30 | #define LABSIZE 50 | |
31 | #define NBRA 9 | |
32 | ||
33 | FILE *fin; | |
eb1efbca KB |
34 | struct reptr *abuf[ABUFSIZE]; |
35 | struct reptr **aptr; | |
00a89a8a RC |
36 | char *lastre; |
37 | char ibuf[BUFSIZ]; | |
38 | char *cbp; | |
39 | char *ebp; | |
40 | char genbuf[LBSIZE]; | |
41 | char *loc1; | |
42 | char *loc2; | |
43 | char *locs; | |
44 | char seof; | |
45 | char *reend; | |
46 | char *lbend; | |
47 | char *hend; | |
48 | char *lcomend; | |
eb1efbca | 49 | struct reptr *ptrend; |
00a89a8a RC |
50 | int eflag; |
51 | int dolflag; | |
52 | int sflag; | |
53 | int jflag; | |
54 | int numbra; | |
55 | int delflag; | |
56 | long lnum; | |
57 | char linebuf[LBSIZE+1]; | |
58 | char holdsp[LBSIZE+1]; | |
59 | char *spend; | |
60 | char *hspend; | |
61 | int nflag; | |
62 | int gflag; | |
63 | char *braelist[NBRA]; | |
64 | char *braslist[NBRA]; | |
65 | long tlno[NLINES]; | |
66 | int nlno; | |
3f7465eb | 67 | char *fname[12]; |
00a89a8a RC |
68 | FILE *fcode[12]; |
69 | int nfiles; | |
70 | ||
71 | #define ACOM 01 | |
72 | #define BCOM 020 | |
73 | #define CCOM 02 | |
74 | #define CDCOM 025 | |
75 | #define CNCOM 022 | |
76 | #define COCOM 017 | |
77 | #define CPCOM 023 | |
78 | #define DCOM 03 | |
79 | #define ECOM 015 | |
80 | #define EQCOM 013 | |
81 | #define FCOM 016 | |
82 | #define GCOM 027 | |
83 | #define CGCOM 030 | |
84 | #define HCOM 031 | |
85 | #define CHCOM 032 | |
86 | #define ICOM 04 | |
87 | #define LCOM 05 | |
88 | #define NCOM 012 | |
89 | #define PCOM 010 | |
90 | #define QCOM 011 | |
91 | #define RCOM 06 | |
92 | #define SCOM 07 | |
93 | #define TCOM 021 | |
94 | #define WCOM 014 | |
95 | #define CWCOM 024 | |
96 | #define YCOM 026 | |
97 | #define XCOM 033 | |
98 | ||
99 | char *cp; | |
100 | char *reend; | |
101 | char *lbend; | |
102 | ||
eb1efbca KB |
103 | struct reptr { |
104 | char *ad1; | |
105 | char *ad2; | |
106 | union { | |
107 | char *real_re1; | |
108 | struct reptr *real_lb1; | |
109 | } re_lb; | |
110 | #define re1 re_lb.real_re1 | |
111 | #define lb1 re_lb.real_lb1 | |
112 | char *rhs; | |
113 | FILE *fcode; | |
114 | char command; | |
115 | char gfl; | |
116 | char pfl; | |
117 | char inar; | |
118 | char negfl; | |
00a89a8a RC |
119 | } ptrspace[PTRSIZE], *rep; |
120 | ||
121 | ||
122 | char respace[RESIZE]; | |
123 | ||
124 | struct label { | |
125 | char asc[9]; | |
eb1efbca KB |
126 | struct reptr *chain; |
127 | struct reptr *address; | |
00a89a8a RC |
128 | } ltab[LABSIZE]; |
129 | ||
130 | struct label *lab; | |
131 | struct label *labend; | |
132 | ||
133 | int f; | |
134 | int depth; | |
135 | ||
136 | int eargc; | |
137 | char **eargv; | |
138 | ||
139 | extern char bittab[]; | |
140 | ||
eb1efbca | 141 | struct reptr **cmpend[DEPTH]; |
00a89a8a | 142 | int depth; |
eb1efbca | 143 | struct reptr *pending; |
00a89a8a RC |
144 | char *badp; |
145 | char bad; | |
146 | char *compile(); | |
147 | char *ycomp(); | |
148 | char *address(); | |
149 | char *text(); | |
150 | char *compsub(); | |
151 | struct label *search(); | |
152 | char *gline(); | |
153 | char *place(); | |
154 | char compfl; |