OSDN Git Service

9777b38445b5427ab06f194fe3b5231dd972c37c
[putex/putex.git] / src / texsourc / coerce.h
1 /* Copyright 2007 TeX Users Group
2    Copyright 2014 Clerk Ma
3
4    This program is free software; you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation; either version 2 of the License, or
7    (at your option) any later version.
8
9    This program is distributed in the hope that it will be useful, but
10    WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program; if not, write to the Free Software
16    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17    02110-1301 USA.  */
18
19 /* #define USEREGISTERS tells compiler use registers for mem and eqtb bkph */
20 /* this may make executable slightly smaller and slightly faster ... */
21 /* HOWEVER, won't work anymore for mem with dynamic memory allocation ... */
22 /* so can use registers now *only* for eqtb ... NOT for mem ... */
23 /* It is OK for eqtb, because, even though we may allocate eqtb, */
24 /* we won't ever reallocate it ... */
25
26 /* #define USEREGISTERS */
27 #undef USEREGISTERS 
28
29 /* WARNING: with dynamic allocation cannot use memory_word *mem=zmem */
30
31 #ifdef USEREGISTERS
32 void initialize(void);
33 #define initialize_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
34 void print_ln(void);
35 void print_char_(ASCII_code);
36 #define print_char(s) print_char_((ASCII_code) (s))
37 #define printchar_regmem register memory_word *eqtb=zeqtb;
38 void print_(integer);
39 #define print(s) print_((integer) (s))
40 #define print_regmem register memory_word *eqtb=zeqtb;
41 void slow_print_(integer); 
42 #define slow_print(s) slow_print_((integer) (s))
43 #define slowprint_regmem
44 void print_nl_(str_number); 
45 #define print_nl(s) print_nl_((str_number) (s))
46 #define printnl_regmem
47 void print_esc_(char *); 
48 #define print_esc(s) print_esc_((char *) (s))
49 #define printesc_regmem register memory_word *eqtb=zeqtb;
50 void print_the_digs_(eight_bits); 
51 #define print_the_digs(k) print_the_digs_((eight_bits) (k))
52 #define printthedigs_regmem
53 void print_int_(integer); 
54 #define print_int(n) print_int_((integer) (n))
55 #define printint_regmem
56 void print_cs_(integer); 
57 #define print_cs(p) print_cs_((integer) (p))
58 #define printcs_regmem register memory_word *eqtb=zeqtb;
59 void sprint_cs_(halfword); 
60 #define sprint_cs(p) sprint_cs_((halfword) (p))
61 #define sprintcs_regmem
62 void print_file_name_(integer, integer, integer); 
63 #define print_file_name(n, a, e) print_file_name_((integer) (n), (integer) (a), (integer) (e))
64 #define printfilename_regmem
65 void print_size_(integer); 
66 #define print_size(s) print_size_((integer) (s))
67 #define printsize_regmem
68 void print_write_whatsit_(str_number, halfword); 
69 #define print_write_whatsit(s, p) print_write_whatsit_((str_number) (s), (halfword) (p))
70 #define printwritewhatsit_regmem register memory_word *mem=zmem;
71 // void jump_out(void);
72 int jump_out(void); 
73 #define jumpout_regmem
74 // void error(void);
75 int error(void); 
76 #define error_regmem
77 // void fatal_error_(str_number);
78 int fatal_error_(char *); 
79 #define fatal_error(s) fatal_error_((char *) (s))
80 #define fatalerror_regmem
81 // void overflow_(str_number, integer);
82 int overflow_(char *, integer); 
83 #define overflow(s, n) overflow_((char *) (s), (integer) (n))
84 #define overflow_regmem
85 // void confusion_(str_number);
86 int confusion_(str_number); 
87 #define confusion(s) confusion_((str_number) (s))
88 #define confusion_regmem
89 bool init_terminal(void); 
90 #define initterminal_regmem
91 str_number make_string(void); 
92 #define makestring_regmem
93 bool str_eq_buf_(str_number, integer); 
94 #define str_eq_buf(s, k) str_eq_buf_((str_number) (s), (integer) (k))
95 #define streqbuf_regmem
96 bool str_eq_str_(str_number, str_number); 
97 #define str_eq_str(s, t) str_eq_str_((str_number) (s), (str_number) (t))
98 #define streqstr_regmem
99 bool get_strings_started(void); 
100 #define getstringsstarted_regmem
101 void print_two_(integer); 
102 #define print_two(n) print_two_((integer) (n))
103 #define printtwo_regmem
104 void print_hex_(integer); 
105 #define print_hex(n) print_hex_((integer) (n))
106 #define printhex_regmem
107 void print_roman_int_(integer);
108 #define print_roman_int(n) print_roman_int_((integer) (n))
109 #define printromanint_regmem
110 void print_current_string(void); 
111 #define printcurrentstring_regmem
112 // void term_input(void); 
113 void term_input(char *, int);
114 void int_error_(integer); 
115 #define int_error(n) int_error_((integer) (n))
116
117 void normalize_selector(void); 
118
119 void pause_for_instructions(void); 
120
121 integer half_(integer); 
122 #define half(x) half_((integer) (x))
123
124 scaled round_decimals_(small_number); 
125 #define round_decimals(k) round_decimals_((small_number) (k))
126
127 void print_scaled_(scaled); 
128 #define print_scaled(s) print_scaled_((scaled) (s))
129
130 scaled mult_and_add_(integer, scaled, scaled, scaled); 
131 #define mult_and_add(n, x, y, maxanswer) mult_and_add_((integer) (n), (scaled) (x), (scaled) (y), (scaled) (maxanswer))
132
133 scaled x_over_n_(scaled, integer);  /* scaled x_over_n_(); */
134 #define x_over_n(x, n) x_over_n_((scaled) (x), (integer) (n))
135
136 scaled xn_over_d_(scaled, integer, integer); 
137 #define xn_over_d(x, n, d) xn_over_d_((scaled) (x), (integer) (n), (integer) (d))
138
139 halfword badness_(scaled, scaled); 
140 #define badness(t, s) badness_((scaled) (t), (scaled) (s))
141
142 void print_word_(memory_word); 
143 #define print_word(w) print_word_((memory_word) (w))
144
145 void show_token_list_(integer, integer, integer); 
146 #define show_token_list(p, q, l) show_token_list_((integer) (p), (integer) (q), (integer) (l))
147 #define showtokenlist_regmem register memory_word *mem=zmem;
148 void runaway(void); 
149 #define runaway_regmem register memory_word *mem=zmem;
150 halfword get_avail(void); 
151 #define getavail_regmem register memory_word *mem=zmem;
152 void flush_list_(halfword); 
153 #define flush_list(p) flush_list_((halfword) (p))
154 #define flushlist_regmem register memory_word *mem=zmem;
155 halfword get_node_(integer); 
156 #define get_node(s) get_node_((integer) (s))
157 #define getnode_regmem register memory_word *mem=zmem;
158 void free_node_(halfword, halfword); 
159 #define free_node(p, s) free_node_((halfword) (p), (halfword) (s))
160 #define freenode_regmem register memory_word *mem=zmem;
161 void sort_avail(void); 
162 #define sortavail_regmem register memory_word *mem=zmem;
163 halfword new_null_box(void); 
164 #define newnullbox_regmem register memory_word *mem=zmem;
165 halfword new_rule(void); 
166 #define newrule_regmem register memory_word *mem=zmem;
167 halfword new_ligature_(quarterword, quarterword, halfword); 
168 #define new_ligature(f, c, q) new_ligature_((quarterword) (f), (quarterword) (c), (halfword) (q))
169 #define newligature_regmem register memory_word *mem=zmem;
170 halfword new_lig_item_(quarterword); 
171 #define new_lig_item(c) new_lig_item_((quarterword) (c))
172 #define newligitem_regmem register memory_word *mem=zmem;
173 halfword new_disc(void); 
174 #define newdisc_regmem register memory_word *mem=zmem;
175 halfword new_math_(scaled, small_number); 
176 #define new_math(w, s) new_math_((scaled) (w), (small_number) (s))
177 #define newmath_regmem register memory_word *mem=zmem;
178 halfword new_spec_(halfword); 
179 #define new_spec(p) new_spec_((halfword) (p))
180 #define newspec_regmem register memory_word *mem=zmem;
181 halfword new_param_glue_(small_number); 
182 #define new_param_glue(n) new_param_glue_((small_number) (n))
183 #define newparamglue_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
184 halfword new_glue_(halfword); 
185 #define new_glue(q) new_glue_((halfword) (q))
186 #define newglue_regmem register memory_word *mem=zmem;
187 halfword new_skip_param_(small_number); 
188 #define new_skip_param(n) new_skip_param_((small_number) (n))
189 #define newskipparam_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
190 halfword new_kern_(scaled); 
191 #define new_kern(w) new_kern_((scaled) (w))
192 #define newkern_regmem register memory_word *mem=zmem;
193 halfword new_penalty_(integer); 
194 #define new_penalty(m) new_penalty_((integer) (m))
195 #define newpenalty_regmem register memory_word *mem=zmem;
196 void check_mem_(bool); 
197 #define check_mem(printlocs) check_mem_((bool) (printlocs))
198 #define checkmem_regmem register memory_word *mem=zmem;
199 void search_mem_(halfword); 
200 #define search_mem(p) search_mem_((halfword) (p))
201 #define searchmem_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
202 void short_display_(integer); 
203 #define short_display(p) short_display_((integer) (p))
204 #define shortdisplay_regmem register memory_word *mem=zmem;
205 void print_font_and_char_(integer); 
206 #define print_font_and_char(p) print_font_and_char_((integer) (p))
207 #define printfontandchar_regmem register memory_word *mem=zmem;
208 void print_mark_(integer); 
209 #define print_mark(p) print_mark_((integer) (p))
210 #define printmark_regmem register memory_word *mem=zmem;
211 void print_rule_dimen_(scaled); 
212 #define print_rule_dimen(d) print_rule_dimen_((scaled) (d))
213 #define printruledimen_regmem
214 void print_glue_(scaled, integer, str_number); 
215 #define print_glue(d, order, s) print_glue_((scaled) (d), (integer) (order), (str_number) (s))
216 #define printglue_regmem
217 void print_spec_(integer, str_number); 
218 #define print_spec(p, s) print_spec_((integer) (p), (str_number) (s))
219 #define printspec_regmem register memory_word *mem=zmem;
220 void print_fam_and_char_(halfword); 
221 #define print_fam_and_char(p) print_fam_and_char_((halfword) (p))
222 #define printfamandchar_regmem register memory_word *mem=zmem;
223 void print_delimiter_(halfword); 
224 #define print_delimiter(p) print_delimiter_((halfword) (p))
225 #define printdelimiter_regmem register memory_word *mem=zmem;
226 void print_subsidiary_data_(halfword, ASCII_code); 
227 #define print_subsidiary_data(p, c) print_subsidiary_data_((halfword) (p), (ASCII_code) (c))
228 #define printsubsidiarydata_regmem register memory_word *mem=zmem;
229 void print_style_(integer); 
230 #define print_style(c) print_style_((integer) (c))
231 #define printstyle_regmem
232 void print_skip_param_(integer); /* void print_skip_param_(); */
233 #define print_skip_param(n) print_skip_param_((integer) (n))
234 #define printskipparam_regmem
235 void show_node_list_(integer); /* void show_node_list_(); */
236 #define show_node_list(p) show_node_list_((integer) (p))
237 #define shownodelist_regmem register memory_word *mem=zmem;
238 void show_box_(halfword); /* void show_box_(); */
239 #define show_box(p) show_box_((halfword) (p))
240 #define showbox_regmem register memory_word *eqtb=zeqtb;
241 void delete_token_ref_(halfword); /* void delete_token_ref_(); */
242 #define delete_token_ref(p) delete_token_ref_((halfword) (p))
243 #define deletetokenref_regmem register memory_word *mem=zmem;
244 void delete_glue_ref_(halfword); /* void delete_glue_ref_(); */
245 #define delete_glue_ref(p) delete_glue_ref_((halfword) (p))
246 #define deleteglueref_regmem register memory_word *mem=zmem;
247 void flush_node_list_(halfword); /* void flush_node_list_(); */
248 #define flush_node_list(p) flush_node_list_((halfword) (p))
249 #define flushnodelist_regmem register memory_word *mem=zmem;
250 halfword copy_node_list_(halfword); /* halfword copy_node_list_(); */
251 #define copy_node_list(p) copy_node_list_((halfword) (p))
252 #define copynodelist_regmem register memory_word *mem=zmem;
253 void print_mode_(integer); /* void print_mode_(); */
254 #define print_mode(m) print_mode_((integer) (m))
255 #define printmode_regmem
256 void push_nest(void); /* void push_nest(); */
257 #define pushnest_regmem
258 void pop_nest(void); /* void pop_nest(); */
259 #define popnest_regmem register memory_word *mem=zmem;
260 void show_activities(void); /* void show_activities(); */
261 #define showactivities_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
262 void print_param_(integer); /* void print_param_(); */
263 #define print_param(n) print_param_((integer) (n))
264 #define printparam_regmem
265 void begin_diagnostic(void); /* void begin_diagnostic(); */
266 #define begindiagnostic_regmem register memory_word *eqtb=zeqtb;
267 void end_diagnostic_(bool); /* void end_diagnostic_(); */
268 #define end_diagnostic(blankline) end_diagnostic_((bool) (blankline))
269 #define enddiagnostic_regmem
270 void print_length_param_(integer); /* void print_length_param_(); */
271 #define print_length_param(n) print_length_param_((integer) (n))
272 #define printlengthparam_regmem
273 void print_cmd_chr_(quarterword, halfword); /* void print_cmd_chr_(); */
274 #define print_cmd_chr(cmd, chrcode) print_cmd_chr_((quarterword) (cmd), (halfword) (chrcode))
275 #define printcmdchr_regmem
276 void show_eqtb_(halfword); /* void show_eqtb_(); */
277 #define show_eqtb(n) show_eqtb_((halfword) (n))
278 #define showeqtb_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
279 halfword id_lookup_(integer, integer); /* halfword id_lookup_(); */
280 #define id_lookup(j, l) id_lookup_((integer) (j), (integer) (l))
281 #define idlookup_regmem
282 void primitive_(str_number, quarterword, halfword); /* void primitive_(); */
283 #define primitive(s, c, o) primitive_((str_number) (s), (quarterword) (c), (halfword) (o))
284 #define primitive_regmem register memory_word *eqtb=zeqtb;
285 void new_save_level_(group_code); /* void new_save_level_(); */
286 #define new_save_level(c) new_save_level_((group_code) (c))
287 #define newsavelevel_regmem
288 void eq_destroy_(memory_word); /* void eq_destroy_(); */
289 #define eq_destroy(w) eq_destroy_((memory_word) (w))
290 #define eqdestroy_regmem register memory_word *mem=zmem;
291 void eq_save_(halfword, quarterword); /* void eq_save_(); */
292 #define eq_save(p, l) eq_save_((halfword) (p), (quarterword) (l))
293 #define eqsave_regmem register memory_word *eqtb=zeqtb;
294 void eq_define_(halfword, quarterword, halfword); /* void eq_define_(); */
295 #define eq_define(p, t, e) eq_define_((halfword) (p), (quarterword) (t), (halfword) (e))
296 #define eqdefine_regmem register memory_word *eqtb=zeqtb;
297 void eq_word_define_(halfword, integer); /* void eq_word_define_(); */
298 #define eq_word_define(p, w) eq_word_define_((halfword) (p), (integer) (w))
299 #define eqworddefine_regmem register memory_word *eqtb=zeqtb;
300 void geq_define_(halfword, quarterword, halfword); /* void geq_define_(); */
301 #define geq_define(p, t, e) geq_define_((halfword) (p), (quarterword) (t), (halfword) (e))
302 #define geqdefine_regmem register memory_word *eqtb=zeqtb;
303 void geq_word_define_(halfword, integer); /* void geq_word_define_(); */
304 #define geq_word_define(p, w) geq_word_define_((halfword) (p), (integer) (w))
305 #define geqworddefine_regmem register memory_word *eqtb=zeqtb;
306 void save_for_after_(halfword); /* void save_for_after_(); */
307 #define save_for_after(t) save_for_after_((halfword) (t))
308 #define saveforafter_regmem
309 void restore_trace_(halfword, str_number); /* void restore_trace_(); */
310 #define restore_trace(p, s) restore_trace_((halfword) (p), (str_number) (s))
311 #define restoretrace_regmem
312 void unsave(void); /* void unsave(); */
313 #define unsave_regmem register memory_word *eqtb=zeqtb;
314 void prepare_mag(void); /* void prepare_mag(); */
315 #define preparemag_regmem register memory_word *eqtb=zeqtb;
316 void token_show_(halfword); /* void token_show_(); */
317 #define token_show(p) token_show_((halfword) (p))
318 #define tokenshow_regmem register memory_word *mem=zmem;
319 void print_meaning(void); /* void print_meaning(); */
320 #define printmeaning_regmem
321 void show_cur_cmd_chr(void); /* void show_cur_cmd_chr(); */
322 #define showcurcmdchr_regmem
323 void show_context(void); /* void show_context(); */
324 #define showcontext_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
325 void begin_token_list_(halfword, quarterword); /* void begin_token_list_(); */
326 #define begin_token_list(p, t) begin_token_list_((halfword) (p), (quarterword) (t))
327 #define begintokenlist_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
328 void end_token_list(void); /* void end_token_list(); */
329 #define endtokenlist_regmem
330 void back_input(void); /* void back_input(); */
331 #define backinput_regmem register memory_word *mem=zmem;
332 void back_error(void); /* void back_error(); */
333 #define backerror_regmem
334 void ins_error(void); /* void ins_error(); */
335 #define inserror_regmem
336 void begin_file_reading(void); /* void begin_file_reading(); */
337 #define beginfilereading_regmem
338 void end_file_reading(void); /* void end_file_reading(); */
339 #define endfilereading_regmem
340 void clear_for_error_prompt(void); /* void clear_for_error_prompt(); */
341 #define clearforerrorprompt_regmem
342 void check_outer_validity(void); /* void check_outer_validity(); */
343 #define checkoutervalidity_regmem register memory_word *mem=zmem;
344 void get_next(void); /* void get_next(); */
345 #define getnext_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
346 void firm_up_the_line(void); /* void firm_up_the_line(); */
347 #define firmuptheline_regmem register memory_word *eqtb=zeqtb;
348 void get_token(void); /* void get_token(); */
349 #define gettoken_regmem
350 void macro_call(void); /* void macro_call(); */
351 #define macrocall_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
352 void insert_relax(void); /* void insert_relax(); */
353 #define insertrelax_regmem
354 void expand(void); /* void expand(); */
355 #define expand_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
356 void get_x_token(void); /* void get_x_token(); */
357 #define getxtoken_regmem
358 void x_token(void); /* void x_token(); */
359 #define xtoken_regmem
360 void scan_left_brace(void); /* void scan_left_brace(); */
361 #define scanleftbrace_regmem
362 void scan_optional_equals(void); /* void scan_optional_equals(); */
363 #define scanoptionalequals_regmem
364 bool scan_keyword_(str_number); /* bool scan_keyword_(); */
365 #define scan_keyword(s) scan_keyword_((str_number) (s))
366 #define scankeyword_regmem register memory_word *mem=zmem;
367 void mu_error(void); /* void mu_error(); */
368 #define muerror_regmem
369 void scan_eight_bit_int(void); /* void scan_eight_bit_int(); */
370 #define scaneightbitint_regmem
371 void scan_char_num(void); /* void scan_char_num(); */
372 #define scancharnum_regmem
373 void scan_four_bit_int(void); /* void scan_four_bit_int(); */
374 #define scanfourbitint_regmem
375 void scan_fifteen_bit_int(void); /* void scan_fifteen_bit_int(); */
376 #define scanfifteenbitint_regmem
377 void scan_twenty_seven_bit_int(void); /* void scan_twenty_seven_bit_int(); */
378 #define scantwentysevenbitint_regmem
379 void scan_font_ident(void); /* void scan_font_ident(); */
380 #define scanfontident_regmem register memory_word *eqtb=zeqtb;
381 void find_font_dimen_(bool); /* void find_font_dimen_(); */
382 #define find_font_dimen(writing) find_font_dimen_((bool) (writing))
383 #define findfontdimen_regmem
384 void scan_something_internal_(small_number, bool);
385 /* void scan_something_internal_(); */
386 #define scan_something_internal(level, negative) scan_something_internal_((small_number) (level), (bool) (negative))
387 #define scansomethinginternal_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
388 void scan_int(void); /* void scan_int(); */
389 #define scanint_regmem
390 void scan_dimen_(bool, bool, bool); /* void scan_dimen_(); */
391 #define scan_dimen(mu, inf, shortcut) scan_dimen_((bool) (mu), (bool) (inf), (bool) (shortcut))
392 #define scandimen_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
393 void scan_glue_(small_number); /* void scan_glue_(); */
394 #define scan_glue(level) scan_glue_((small_number) (level))
395 #define scanglue_regmem register memory_word *mem=zmem;
396 halfword scan_rule_spec(void); /* halfword scan_rule_spec(); */
397 #define scanrulespec_regmem register memory_word *mem=zmem;
398 halfword str_toks_(pool_pointer); /* halfword str_toks_(); */
399 #define str_toks(b) str_toks_((pool_pointer) (b))
400 #define strtoks_regmem register memory_word *mem=zmem;
401 halfword the_toks(void); /* halfword the_toks(); */
402 #define thetoks_regmem register memory_word *mem=zmem;
403 void ins_the_toks(void); /* void ins_the_toks(); */
404 #define insthetoks_regmem register memory_word *mem=zmem;
405 void conv_toks(void); /* void conv_toks(); */
406 #define convtoks_regmem register memory_word *mem=zmem;
407 halfword scan_toks_(bool, bool); /* halfword scan_toks_(); */
408 #define scan_toks(macrodef, xpand) scan_toks_((bool) (macrodef), (bool) (xpand))
409 #define scantoks_regmem register memory_word *mem=zmem;
410 void read_toks_(integer, halfword); /* void read_toks_(); */
411 #define read_toks(n, r) read_toks_((integer) (n), (halfword) (r))
412 #define readtoks_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
413 void pass_text(void); /* void pass_text(); */
414 #define passtext_regmem
415 void change_if_limit_(small_number, halfword); /* void change_if_limit_(); */
416 #define change_if_limit(l, p) change_if_limit_((small_number) (l), (halfword) (p))
417 #define changeiflimit_regmem register memory_word *mem=zmem;
418 void conditional(void); /* void conditional(); */
419 #define conditional_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
420 void begin_name(void); /* void begin_name(); */
421 #define beginname_regmem
422 bool more_name_(ASCII_code); /* bool more_name_(); */
423 #define more_name(c) more_name_((ASCII_code) (c))
424 #define morename_regmem
425 void end_name(void); /* void end_name(); */
426 #define endname_regmem
427 void pack_file_name_(str_number, str_number, str_number); /* void pack_file_name_(); */
428 #define pack_file_name(n, a, e) pack_file_name_((str_number) (n), (str_number) (a), (str_number) (e))
429 #define packfilename_regmem
430 void pack_buffered_name_(small_number, integer, integer); /* void pack_buffered_name_(); */
431 #define pack_buffered_name(n, a, b) pack_buffered_name_((small_number) (n), (integer) (a), (integer) (b))
432 #define packbufferedname_regmem
433 str_number make_name_string(void); /* str_number make_name_string(); */
434 #define makenamestring_regmem
435 str_number a_make_name_string_(alpha_file *); /* str_number a_make_name_string_(); */
436 #define a_make_name_string(f) a_make_name_string_((alpha_file *) &(f))
437 #define amakenamestring_regmem
438 str_number b_make_name_string_(byte_file *); /* str_number b_make_name_string_(); */
439 #define b_make_name_string(f) b_make_name_string_((byte_file *) &(f))
440 #define bmakenamestring_regmem
441 str_number w_make_name_string_(word_file *); /* str_number w_make_name_string_(); */
442 #define w_make_name_string(f) w_make_name_string_((word_file *) &(f))
443 #define wmakenamestring_regmem
444 void scan_file_name(void); /* void scan_file_name(); */
445 #define scanfilename_regmem
446 void pack_job_name_(str_number); /* void pack_job_name_(); */
447 #define pack_job_name(s) pack_job_name_((str_number) (s))
448 #define packjobname_regmem
449 void prompt_file_name_(str_number, str_number); /* void prompt_file_name_(); */
450 #define prompt_file_name(s, e) prompt_file_name_((str_number) (s), (str_number) (e))
451 #define promptfilename_regmem
452 void open_log_file(void); /* void open_log_file(); */
453 #define openlogfile_regmem register memory_word *eqtb=zeqtb;
454 void start_input(void); /* void start_input(); */
455 #define startinput_regmem register memory_word *eqtb=zeqtb;
456 internal_font_number read_font_info_(halfword, str_number, str_number, scaled);
457 /* internal_font_number read_font_info_(); */
458 #define read_font_info(u, nom, aire, s) read_font_info_((halfword) (u), (str_number) (nom), (str_number) (aire), (scaled) (s))
459 #define readfontinfo_regmem register memory_word *eqtb=zeqtb;
460 void char_warning_(internal_font_number, eight_bits); /* void char_warning_(); */
461 #define char_warning(f, c) char_warning_((internal_font_number) (f), (eight_bits) (c))
462 #define charwarning_regmem register memory_word *eqtb=zeqtb;
463 halfword new_character_(internal_font_number, eight_bits); /* halfword new_character_(); */
464 #define new_character(f, c) new_character_((internal_font_number) (f), (eight_bits) (c))
465 #define newcharacter_regmem register memory_word *mem=zmem;
466 void dvi_swap(void); /* void dvi_swap(); */
467 #define dviswap_regmem
468 void dvi_four_(integer); /* void dvi_four_(); */
469 #define dvi_four(x) dvi_four_((integer) (x))
470 #define dvifour_regmem
471 void zdvipop(integer); /* void zdvipop(); */
472 #define dvi_pop(l) zdvipop((integer) (l))
473 #define dvipop_regmem
474 void dvi_font_def_(internal_font_number); /* void dvi_font_def_(); */
475 #define dvi_font_def(f) dvi_font_def_((internal_font_number) (f))
476 #define dvifontdef_regmem
477 void zmovement(scaled, eight_bits); /* void zmovement(); */
478 #define movement(w, o) zmovement((scaled) (w), (eight_bits) (o))
479 #define movement_regmem register memory_word *mem=zmem; 
480 void prune_movements_(integer); /* void prune_movements_(); */
481 #define prune_movements(l) prune_movements_((integer) (l))
482 #define prunemovements_regmem register memory_word *mem=zmem;
483 void special_out_(halfword); /* void special_out_(); */
484 #define special_out(p) special_out_((halfword) (p))
485 #define specialout_regmem register memory_word *mem=zmem;
486 void write_out_(halfword); /* void write_out_(); */
487 #define write_out(p) write_out_((halfword) (p))
488 #define writeout_regmem register memory_word *mem=zmem;
489 void out_what_(halfword); /* void out_what_(); */
490 #define out_what(p) out_what_((halfword) (p))
491 #define outwhat_regmem register memory_word *mem=zmem;
492 void hlist_out(void); /* void hlist_out(); */
493 #define hlistout_regmem register memory_word *mem=zmem;
494 void vlist_out(void); /* void vlist_out(); */
495 #define vlistout_regmem register memory_word *mem=zmem;
496 void ship_out_(halfword); /* void ship_out_(); */
497 #define ship_out(p) ship_out_((halfword) (p))
498 #define shipout_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
499 void scan_spec_(group_code, bool); /* void scan_spec_(); */
500 #define scan_spec(c, threecodes) scan_spec_((group_code) (c), (bool) (threecodes))
501 #define scanspec_regmem
502 halfword hpack_(halfword, scaled, small_number); /* halfword hpack_(); */
503 #define hpack(p, w, m) hpack_((halfword) (p), (scaled) (w), (small_number) (m))
504 #define hpack_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
505 halfword vpackage_(halfword, scaled, small_number, scaled); /* halfword vpackage_(); */
506 #define vpackage(p, h, m, l) vpackage_((halfword) (p), (scaled) (h), (small_number) (m), (scaled) (l))
507 #define vpackage_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
508 void append_to_vlist_(halfword); /* void append_to_vlist_(); */
509 #define append_to_vlist(b) append_to_vlist_((halfword) (b))
510 #define appendtovlist_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
511 halfword new_noad(void); /* halfword new_noad(); */
512 #define newnoad_regmem register memory_word *mem=zmem;
513 halfword new_style_(small_number); /* halfword new_style_(); */
514 #define new_style(s) new_style_((small_number) (s))
515 #define newstyle_regmem register memory_word *mem=zmem;
516 halfword new_choice(void); /* halfword new_choice(); */
517 #define newchoice_regmem register memory_word *mem=zmem;
518 void show_info(void); /* void show_info(); */
519 #define showinfo_regmem register memory_word *mem=zmem;
520 halfword fraction_rule_(scaled); /* halfword fraction_rule_(); */
521 #define fraction_rule(t) fraction_rule_((scaled) (t))
522 #define fractionrule_regmem register memory_word *mem=zmem;
523 halfword overbar_(halfword, scaled, scaled); /* halfword overbar_(); */
524 #define overbar(b, k, t) overbar_((halfword) (b), (scaled) (k), (scaled) (t))
525 #define overbar_regmem register memory_word *mem=zmem;
526 halfword char_box_(internal_font_number, quarterword); /* halfword char_box_(); */
527 #define char_box(f, c) char_box_((internal_font_number) (f), (quarterword) (c))
528 #define charbox_regmem register memory_word *mem=zmem;
529 void stack_into_box_(halfword, internal_font_number, quarterword);
530 /* void stack_into_box_(); */
531 #define stack_into_box(b, f, c) stack_into_box_((halfword) (b), (internal_font_number) (f), (quarterword) (c))
532 #define stackintobox_regmem register memory_word *mem=zmem;
533
534 scaled height_plus_depth_(internal_font_number, fquarterword);
535 #define height_plus_depth(f, c) height_plus_depth_((internal_font_number) (f), (fquarterword) (c))
536
537 #define heightplusdepth_regmem
538 halfword var_delimiter_(halfword, small_number, scaled); /* halfword var_delimiter_(); */
539 #define var_delimiter(d, s, v) var_delimiter_((halfword) (d), (small_number) (s), (scaled) (v))
540 #define vardelimiter_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
541 halfword rebox_(halfword, scaled); /* halfword rebox_(); */
542 #define rebox(b, w) rebox_((halfword) (b), (scaled) (w))
543 #define rebox_regmem register memory_word *mem=zmem;
544 halfword math_glue_(halfword, scaled); /* halfword math_glue_(); */
545 #define math_glue(g, m) math_glue_((halfword) (g), (scaled) (m))
546 #define mathglue_regmem register memory_word *mem=zmem;
547 void math_kern_(halfword, scaled); /* void math_kern_(); */
548 #define math_kern(p, m) math_kern_((halfword) (p), (scaled) (m))
549 #define mathkern_regmem register memory_word *mem=zmem;
550 void flush_math(void); /* void flush_math(); */
551 #define flushmath_regmem register memory_word *mem=zmem;
552 halfword clean_box_(halfword, small_number); /* halfword clean_box_(); */
553 #define clean_box(p, s) clean_box_((halfword) (p), (small_number) (s))
554 #define cleanbox_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
555 void fetch_(halfword); /* void fetch_(); */
556 #define fetch(a) fetch_((halfword) (a))
557 #define fetch_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
558 void make_over_(halfword); /* void make_over_(); */
559 #define make_over(q) make_over_((halfword) (q))
560 #define makeover_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
561 void make_under_(halfword); /* void make_under_(); */
562 #define make_under(q) make_under_((halfword) (q))
563 #define makeunder_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
564 void make_vcenter_(halfword); /* void make_vcenter_(); */
565 #define make_vcenter(q) make_vcenter_((halfword) (q))
566 #define makevcenter_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
567 void make_radical_(halfword); /* void make_radical_(); */
568 #define make_radical(q) make_radical_((halfword) (q))
569 #define makeradical_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
570 void make_math_accent_(halfword); /* void make_math_accent_(); */
571 #define make_math_accent(q) make_math_accent_((halfword) (q))
572 #define makemathaccent_regmem register memory_word *mem=zmem;
573 void make_fraction_(halfword); /* void make_fraction_(); */
574 #define make_fraction(q) make_fraction_((halfword) (q))
575 #define makefraction_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
576 scaled make_op_(halfword); /* scaled make_op_(); */
577 #define make_op(q) make_op_((halfword) (q))
578 #define makeop_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
579 void make_ord_(halfword); /* void make_ord_(); */
580 #define make_ord(q) make_ord_((halfword) (q))
581 #define makeord_regmem register memory_word *mem=zmem;
582 void make_scripts_(halfword, scaled); /* void make_scripts_(); */
583 #define make_scripts(q, delta) make_scripts_((halfword) (q), (scaled) (delta))
584 #define makescripts_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
585 small_number make_left_right_(halfword, small_number, scaled, scaled);
586 /* small_number make_left_right_(); */
587 #define make_left_right(q, style, maxd, max_h) make_left_right_((halfword) (q), (small_number) (style), (scaled) (maxd), (scaled) (max_h))
588 #define makeleftright_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
589 void mlist_to_hlist(void); /* void mlist_to_hlist(); */
590 #define mlisttohlist_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
591 void push_alignment(void); /* void push_alignment(); */
592 #define pushalignment_regmem register memory_word *mem=zmem;
593 void pop_alignment(void); /* void pop_alignment(); */
594 #define popalignment_regmem register memory_word *mem=zmem;
595 void get_preamble_token(void); /* void get_preamble_token(); */
596 #define getpreambletoken_regmem register memory_word *eqtb=zeqtb;
597 void init_align(void); /* void init_align(); */
598 #define initalign_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
599 void init_span_(halfword); /* void init_span_(); */
600 #define init_span(p) init_span_((halfword) (p))
601 #define initspan_regmem
602 void init_row(void); /* void init_row(); */
603 #define initrow_regmem register memory_word *mem=zmem;
604 void init_col(void); /* void init_col(); */
605 #define initcol_regmem register memory_word *mem=zmem;
606 bool fin_col(void); /* bool fin_col(); */
607 #define fincol_regmem register memory_word *mem=zmem;
608 void fin_row(void); /* void fin_row(); */
609 #define finrow_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
610 void fin_align(void); /* void fin_align(); */
611 #define finalign_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
612 void align_peek(void); /* void align_peek(); */
613 #define alignpeek_regmem
614 halfword finite_shrink_(halfword); /* halfword finite_shrink_(); */
615 #define finite_shrink(p) finite_shrink_((halfword) (p))
616 #define finiteshrink_regmem register memory_word *mem=zmem;
617 void try_break_(integer, small_number); /* void try_break_(); */
618 #define try_break(pi, breaktype) try_break_((integer) (pi), (small_number) (breaktype))
619 #define trybreak_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
620 void post_line_break_(integer); /* void post_line_break_(); */
621 #define post_line_break(finalwidowpenalty) post_line_break_((integer) (finalwidowpenalty))
622 #define postlinebreak_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
623 small_number reconstitute_(small_number, small_number, halfword, halfword); 
624 /* small_number reconstitute_(); */
625 #define reconstitute(j, n, bchar, hchar) reconstitute_((small_number) (j), (small_number) (n), (halfword) (bchar), (halfword) (hchar))
626 #define reconstitute_regmem register memory_word *mem=zmem;
627 void hyphenate(void); /* void hyphenate(); */
628 #define hyphenate_regmem register memory_word *mem=zmem;
629 trie_op_code new_trie_op_(small_number, small_number, trie_op_code);
630 /* trie_op_code new_trie_op_(); */
631 #define new_trie_op(d, n, v) new_trie_op_((small_number) (d), (small_number) (n), (trie_op_code) (v))
632 #define newtrieop_regmem
633 trie_pointer trie_node_(trie_pointer); /* trie_pointer trie_node_(); */
634 #define trie_node(p) trie_node_((trie_pointer) (p))
635 #define trienode_regmem
636 trie_pointer compress_trie_(trie_pointer); /* trie_pointer compress_trie_(); */
637 #define compress_trie(p) compress_trie_((trie_pointer) (p))
638 #define compresstrie_regmem
639 void first_fit_(trie_pointer); /* void first_fit_(); */
640 #define first_fit(p) first_fit_((trie_pointer) (p))
641 #define firstfit_regmem
642 void trie_pack_(trie_pointer); /* void trie_pack_(); */
643 #define trie_pack(p) trie_pack_((trie_pointer) (p))
644 #define triepack_regmem
645 void trie_fix_(trie_pointer); /* void trie_fix_(); */
646 #define trie_fix(p) trie_fix_((trie_pointer) (p))
647 #define triefix_regmem
648 void new_patterns(void); /* void new_patterns(); */
649 #define newpatterns_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
650 void init_trie(void); /* void init_trie(); */
651 #define inittrie_regmem
652 void line_break_(integer); /* void line_break_(); */
653 #define line_break(finalwidowpenalty) line_break_((integer) (finalwidowpenalty))
654 #define linebreak_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
655 void new_hyph_exceptions(void); /* void new_hyph_exceptions(); */
656 #define newhyphexceptions_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
657 halfword prune_page_top_(halfword); /* halfword prune_page_top_(); */
658 #define prune_page_top(p) prune_page_top_((halfword) (p))
659 #define prunepagetop_regmem register memory_word *mem=zmem;
660 halfword vert_break_(halfword, scaled, scaled); /* halfword vert_break_(); */
661 #define vert_break(p, h, d) vert_break_((halfword) (p), (scaled) (h), (scaled) (d))
662 #define vertbreak_regmem register memory_word *mem=zmem;
663 halfword vsplit_(eight_bits, scaled); /* halfword vsplit_(); */
664 #define vsplit(n, h) vsplit_((eight_bits) (n), (scaled) (h))
665 #define vsplit_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
666 void print_totals(void); /* void print_totals(); */
667 #define printtotals_regmem
668 void freeze_page_specs_(small_number); /* void freeze_page_specs_(); */
669 #define freeze_page_specs(s) freeze_page_specs_((small_number) (s))
670 #define freezepagespecs_regmem register memory_word *eqtb=zeqtb;
671 void box_error_(eight_bits); /* void box_error_(); */
672 #define box_error(n) box_error_((eight_bits) (n))
673 #define boxerror_regmem register memory_word *eqtb=zeqtb;
674 void ensure_vbox_(eight_bits); /* void ensure_vbox_(); */
675 #define ensure_vbox(n) ensure_vbox_((eight_bits) (n))
676 #define ensurevbox_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
677 void fire_up_(halfword); /* void fire_up_(); */
678 #define fire_up(c) fire_up_((halfword) (c))
679 #define fireup_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
680 void build_page(void); /* void build_page(); */
681 #define buildpage_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
682 void app_space(void); /* void app_space(); */
683 #define appspace_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
684 void insert_dollar_sign(void); /* void insert_dollar_sign(); */
685 #define insertdollarsign_regmem
686 void you_cant(void); /* void you_cant(); */
687 #define youcant_regmem
688 void report_illegal_case(void); /* void report_illegal_case(); */
689 #define reportillegalcase_regmem
690 bool privileged(void); /* bool privileged(); */
691 #define privileged_regmem
692 bool its_all_over(void); /* bool its_all_over(); */
693 #define itsallover_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
694 void append_glue(void); /* void append_glue(); */
695 #define appendglue_regmem register memory_word *mem=zmem;
696 void append_kern(void); /* void append_kern(); */
697 #define appendkern_regmem register memory_word *mem=zmem;
698 void off_save(void); /* void off_save(); */
699 #define offsave_regmem register memory_word *mem=zmem;
700 void extra_right_brace(void); /* void extra_right_brace(); */
701 #define extrarightbrace_regmem
702 void normal_paragraph(void); /* void normal_paragraph(); */
703 #define normalparagraph_regmem register memory_word *eqtb=zeqtb;
704 void box_end_(integer); /* void box_end_(); */
705 #define box_end(boxcontext) box_end_((integer) (boxcontext))
706 #define boxend_regmem register memory_word *mem=zmem;
707 void begin_box_(integer); /* void begin_box_(); */
708 #define begin_box(boxcontext) begin_box_((integer) (boxcontext))
709 #define beginbox_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
710 void scan_box_(integer); /* void scan_box_(); */
711 #define scan_box(boxcontext) scan_box_((integer) (boxcontext))
712 #define scanbox_regmem
713 void package_(small_number); /* void package_(); */
714 #define package(c) package_((small_number) (c))
715 #define package_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
716 small_number norm_min_(integer); /* small_number norm_min_(); */
717 #define norm_min(h) norm_min_((integer) (h))
718 #define normmin_regmem
719 void new_graf_(bool); /* void new_graf_(); */
720 #define new_graf(indented) new_graf_((bool) (indented))
721 #define newgraf_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
722 void indent_in_hmode(void); /* void indent_in_hmode(); */
723 #define indentinhmode_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
724 void head_for_vmode(void); /* void head_for_vmode(); */
725 #define headforvmode_regmem
726 void end_graf(void); /* void end_graf(); */
727 #define endgraf_regmem register memory_word *eqtb=zeqtb;
728 void begin_insert_or_adjust(void); /* void begin_insert_or_adjust(); */
729 #define begininsertoradjust_regmem
730 void make_mark(void); /* void make_mark(); */
731 #define makemark_regmem register memory_word *mem=zmem;
732 void append_penalty(void); /* void append_penalty(); */
733 #define appendpenalty_regmem register memory_word *mem=zmem;
734 void delete_last(void); /* void delete_last(); */
735 #define deletelast_regmem register memory_word *mem=zmem;
736 void unpackage(void); /* void unpackage(); */
737 #define unpackage_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
738 void append_italic_correction(void); /* void append_italic_correction(); */
739 #define appenditaliccorrection_regmem register memory_word *mem=zmem;
740 void append_discretionary(void); /* void append_discretionary(); */
741 #define appenddiscretionary_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
742 void build_discretionary(void); /* void build_discretionary(); */
743 #define builddiscretionary_regmem register memory_word *mem=zmem;
744 void make_accent(void); /* void make_accent(); */
745 #define makeaccent_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
746 void align_error(void); /* void align_error(); */
747 #define alignerror_regmem
748 void noalign_error(void); /* void noalign_error(); */
749 #define noalignerror_regmem
750 void omit_error(void); /* void omit_error(); */
751 #define omiterror_regmem
752 void do_endv(void); /* void do_endv(); */
753 #define doendv_regmem
754 void cs_error(void); /* void cs_error(); */
755 #define cserror_regmem
756 void push_math_(group_code); /* void push_math_(); */
757 #define push_math(c) push_math_((group_code) (c))
758 #define pushmath_regmem
759 void init_math(void); /* void init_math(); */
760 #define initmath_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
761 void start_eq_no(void); /* void start_eq_no(); */
762 #define starteqno_regmem register memory_word *eqtb=zeqtb;
763 void scan_math_(halfword); /* void scan_math_(); */
764 #define scan_math(p) scan_math_((halfword) (p))
765 #define scanmath_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
766 void set_math_char_(integer); /* void set_math_char_(); */
767 #define set_math_char(c) set_math_char_((integer) (c))
768 #define setmathchar_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
769 void math_limit_switch(void); /* void math_limit_switch(); */
770 #define mathlimitswitch_regmem register memory_word *mem=zmem;
771 void scan_delimiter_(halfword, bool); /* void scan_delimiter_(); */
772 #define scan_delimiter(p, r) scan_delimiter_((halfword) (p), (bool) (r))
773 #define scandelimiter_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
774 void math_radical(void); /* void math_radical(); */
775 #define mathradical_regmem register memory_word *mem=zmem;
776 void math_ac(void); /* void math_ac(); */
777 #define mathac_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
778 void append_choices(void); /* void append_choices(); */
779 #define appendchoices_regmem register memory_word *mem=zmem;
780 halfword fin_mlist_(halfword); /* halfword fin_mlist_(); */
781 #define fin_mlist(p) fin_mlist_((halfword) (p))
782 #define finmlist_regmem register memory_word *mem=zmem;
783 void build_choices(void); /* void build_choices(); */
784 #define buildchoices_regmem register memory_word *mem=zmem;
785 void sub_sup(void); /* void sub_sup(); */
786 #define subsup_regmem register memory_word *mem=zmem;
787 void math_fraction(void); /* void math_fraction(); */
788 #define mathfraction_regmem register memory_word *mem=zmem;
789 void math_left_right(void); /* void math_left_right(); */
790 #define mathleftright_regmem register memory_word *mem=zmem;
791 void after_math(void); /* void after_math(); */
792 #define aftermath_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
793 void resume_after_display(void); /* void resume_after_display(); */
794 #define resumeafterdisplay_regmem
795 void get_r_token(void); /* void get_r_token(); */
796 #define getrtoken_regmem
797 void trap_zero_glue(void); /* void trap_zero_glue(); */
798 #define trapzeroglue_regmem register memory_word *mem=zmem;
799 void do_register_command_(small_number); /* void do_register_command(); */
800 #define do_register_command(a) do_register_command_((small_number) (a))
801 #define doregistercommand_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
802 void alter_aux(void); /* void alter_aux(); */
803 #define alteraux_regmem
804 void alter_prev_graf(void); /* void alter_prev_graf(); */
805 #define alterprevgraf_regmem
806 void alter_page_so_far(void); /* void alter_page_so_far(); */
807 #define alterpage_so_far_regmem
808 void alter_integer(void); /* void alter_integer(); */
809 #define alterinteger_regmem
810 void alter_box_dimen(void); /* void alter_box_dimen(); */
811 #define alterboxdimen_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
812 void new_font_(small_number); /* void new_font_(); */
813 #define new_font(a) new_font_((small_number) (a))
814 #define newfont_regmem register memory_word *eqtb=zeqtb;
815 void new_interaction(void); /* void new_interaction(); */
816 #define newinteraction_regmem
817 void prefixed_command(void); /* void prefixed_command(); */
818 #define prefixedcommand_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
819 void do_assignments(void); /* void do_assignments(); */
820 #define doassignments_regmem
821 void open_or_close_in(void); /* void open_or_close_in(); */
822 #define openorclosein_regmem
823 void issue_message(void); /* void issue_message(); */
824 #define issuemessage_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
825 void shift_case(void); /* void shift_case(); */
826 #define shiftcase_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
827 void show_whatever(void); /* void show_whatever(); */
828 #define showwhatever_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
829 // void store_fmt_file(void);
830 int store_fmt_file(void);
831 #define storefmtfile_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
832 void new_whatsit_(small_number, small_number); /* void new_whatsit_(); */
833 #define new_whatsit(s, w) new_whatsit_((small_number) (s), (small_number) (w))
834 #define newwhatsit_regmem register memory_word *mem=zmem;
835 void new_write_whatsit_(small_number); /* void new_write_whatsit_(); */
836 #define new_write_whatsit(w) new_write_whatsit_((small_number) (w))
837 #define newwritewhatsit_regmem register memory_word *mem=zmem;
838 void do_extension(void); /* void do_extension(); */
839 #define doextension_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
840 void fix_language(void); /* void fix_language(); */
841 #define fixlanguage_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
842 void handle_right_brace(void); /* void handle_right_brace(); */
843 #define handlerightbrace_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
844 // void main_control(void); /* void main_control(); */
845 int main_control(void); /* void main_control(); */
846 #define maincontrol_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
847 void give_err_help(void); /* void give_err_help(); */
848 #define giveerrhelp_regmem register memory_word *eqtb=zeqtb;
849 bool open_fmt_file(void); /* bool open_fmt_file(); */
850 #define openfmtfile_regmem
851 bool load_fmt_file(void); /* bool load_fmt_file(); */
852 #define loadfmtfile_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
853 void close_files_and_terminate(void); /* void close_files_and_terminate(); */
854 #define closefilesandterminate_regmem register memory_word *eqtb=zeqtb;
855 // void final_cleanup(void); /* void final_cleanup(); */
856 int final_cleanup(void); /* void final_cleanup(); */
857 #define finalcleanup_regmem register memory_word *mem=zmem;
858 void init_prim(void); /* void init_prim(); */
859 #define initprim_regmem register memory_word *eqtb=zeqtb;
860 void debug_help(void);
861 #define debughelp_regmem register memory_word *mem=zmem, *eqtb=zeqtb;
862 /* void texbody(void); */
863 int texbody(void);          /* 1993/Dec/16 bkph */
864 #define texbody_regmem register memory_word *eqtb=zeqtb;
865
866 #else /* end of ifdef USEREGISTERS */
867
868 /* in this case, just let mem be alias for zmem */
869 /* BUT: allow continued use of register for eqtb at least ! */
870 #define mem zmem
871 #ifndef ALLOCATEZEQTB
872 /* if eqtb is NOT allocated, can just let eqtb be an alias for zeqtb */
873 //#define eqtb zeqtb        /* EXPERIMENT 1996/JAN/18 */
874 #else
875 /* uncomment `register memory_word *eqtb=zeqtb' */
876 /* but with present compiler its faster to not do it this way 99/Jan/18 */
877 #endif
878
879 #ifndef ALLOCATEDVIBUF
880 /* if dvi_buf is NOT allocated, can just let dvi_buf be an alias for zdvibuf */
881   #define dvi_buf zdvibuf      /* EXPERIMENT 1996/JAN/18 */
882 #else
883 /* uncomment `register memory_word *dvi_buf=zdvibuf' */
884 /* but with present compiler its faster to not do it this way 99/Jan/18 */
885 #endif
886
887 void print_err (const char * s);
888 void initialize (void);
889 void print_ln (void);
890 void print_char_(ASCII_code);
891 #define print_char(s) print_char_((ASCII_code) (s))
892 void print_(integer);
893 #define print(s) print_((integer) (s))
894 void print_string_(unsigned char * s);
895 #define print_string(s) print_string_((unsigned char *) s)
896 void slow_print_(integer);
897 #define slow_print(s) slow_print_((integer) (s))
898 void print_nl_(const char *);
899 #define print_nl(s) print_nl_((const char *) (s))
900 void print_esc_(const char *);
901 #define print_esc(s) print_esc_((const char *) (s))
902 void print_the_digs_(eight_bits);
903 #define print_the_digs(k) print_the_digs_((eight_bits) (k))
904 void print_int_(integer);
905 #define print_int(n) print_int_((integer) (n))
906 void print_cs_(integer);
907 #define print_cs(p) print_cs_((integer) (p))
908 void sprint_cs_(halfword);
909 #define sprint_cs(p) sprint_cs_((halfword) (p))
910 void print_file_name_(integer, integer, integer);
911 #define print_file_name(n, a, e) print_file_name_((integer) (n), (integer) (a), (integer) (e))
912 void print_size_(integer);
913 #define print_size(s) print_size_((integer) (s))
914 void print_write_whatsit_(str_number, halfword);
915 #define print_write_whatsit(s, p) print_write_whatsit_((str_number) (s), (halfword) (p))
916 void jump_out(void);
917 void error(void);
918 void fatal_error_(char *);
919 #define fatal_error(s) fatal_error_((char *) (s))
920 void overflow_(char *, integer);
921 #define overflow(s, n) overflow_((char *) (s), (integer) (n))
922 void confusion_(char *);
923 #define confusion(s) confusion_((char *) (s))
924 bool init_terminal(void);
925 str_number make_string(void);
926 bool str_eq_buf_(str_number, integer);
927 #define str_eq_buf(s, k) str_eq_buf_((str_number) (s), (integer) (k))
928 bool str_eq_str_(str_number, str_number);
929 #define str_eq_str(s, t) str_eq_str_((str_number) (s), (str_number) (t))
930 bool get_strings_started(void);
931 void print_two_(integer);
932 #define print_two(n) print_two_((integer) (n))
933 void print_hex_(integer);
934 #define print_hex(n) print_hex_((integer) (n))
935 void print_roman_int_(integer);
936 #define print_roman_int(n) print_roman_int_((integer) (n))
937 void print_current_string(void);
938 void term_input(char *, int);
939 void int_error_(integer);
940 #define int_error(n) int_error_((integer) (n))
941 void normalize_selector(void);
942 void pause_for_instructions(void);
943 integer half_(integer);
944 #define half(x) half_((integer) (x))
945 scaled round_decimals_(small_number);
946 #define round_decimals(k) round_decimals_((small_number) (k))
947 void print_scaled_(scaled);
948 #define print_scaled(s) print_scaled_((scaled) (s))
949 scaled mult_and_add_(integer, scaled, scaled, scaled);
950 #define mult_and_add(n, x, y, maxanswer) mult_and_add_((integer) (n), (scaled) (x), (scaled) (y), (scaled) (maxanswer))
951 scaled x_over_n_(scaled, integer);
952 #define x_over_n(x, n) x_over_n_((scaled) (x), (integer) (n))
953 scaled xn_over_d_(scaled, integer, integer);
954 #define xn_over_d(x, n, d) xn_over_d_((scaled) (x), (integer) (n), (integer) (d))
955 halfword badness_(scaled, scaled);
956 #define badness(t, s) badness_((scaled) (t), (scaled) (s))
957 void print_word_(memory_word);
958 #define print_word(w) print_word_((memory_word) (w))
959 void show_token_list_(integer, integer, integer);
960 #define show_token_list(p, q, l) show_token_list_((integer) (p), (integer) (q), (integer) (l))
961 void runaway(void);
962 halfword get_avail(void);
963 void flush_list_(halfword);
964 #define flush_list(p) flush_list_((halfword) (p))
965 halfword get_node_(integer);
966 #define get_node(s) get_node_((integer) (s))
967 void free_node_(halfword, halfword);
968 #define free_node(p, s) free_node_((halfword) (p), (halfword) (s))
969 void sort_avail(void);
970 halfword new_null_box(void);
971 halfword new_rule(void);
972 halfword new_ligature_(quarterword, quarterword, halfword);
973 #define new_ligature(f, c, q) new_ligature_((quarterword) (f), (quarterword) (c), (halfword) (q))
974 halfword new_lig_item_(quarterword);
975 #define new_lig_item(c) new_lig_item_((quarterword) (c))
976 halfword new_disc(void);
977 halfword new_math_(scaled, small_number);
978 #define new_math(w, s) new_math_((scaled) (w), (small_number) (s))
979 halfword new_spec_(halfword);
980 #define new_spec(p) new_spec_((halfword) (p))
981 halfword new_param_glue_(small_number);
982 #define new_param_glue(n) new_param_glue_((small_number) (n))
983 halfword new_glue_(halfword);
984 #define new_glue(q) new_glue_((halfword) (q))
985 halfword new_skip_param_(small_number);
986 #define new_skip_param(n) new_skip_param_((small_number) (n))
987 halfword new_kern_(scaled);
988 #define new_kern(w) new_kern_((scaled) (w))
989 halfword new_penalty_(integer);
990 #define new_penalty(m) new_penalty_((integer) (m))
991 void check_mem_(bool);
992 #define check_mem(printlocs) check_mem_((bool) (printlocs))
993 void search_mem_(halfword);
994 #define search_mem(p) search_mem_((halfword) (p))
995 void short_display_(integer);
996 #define short_display(p) short_display_((integer) (p))
997 void print_font_and_char_(integer);
998 #define print_font_and_char(p) print_font_and_char_((integer) (p))
999 void print_mark_(integer);
1000 #define print_mark(p) print_mark_((integer) (p))
1001 void print_rule_dimen_(scaled);
1002 #define print_rule_dimen(d) print_rule_dimen_((scaled) (d))
1003 void print_glue_(scaled, integer, str_number);
1004 #define print_glue(d, order, s) print_glue_((scaled) (d), (integer) (order), (str_number) (s))
1005 void print_spec_(integer, str_number);
1006 #define print_spec(p, s) print_spec_((integer) (p), (str_number) (s))
1007 void print_fam_and_char_(halfword);
1008 #define print_fam_and_char(p) print_fam_and_char_((halfword) (p))
1009 void print_delimiter_(halfword);
1010 #define print_delimiter(p) print_delimiter_((halfword) (p))
1011 void print_subsidiary_data_(halfword, ASCII_code);
1012 #define print_subsidiary_data(p, c) print_subsidiary_data_((halfword) (p), (ASCII_code) (c))
1013 void print_style_(integer);
1014 #define print_style(c) print_style_((integer) (c))
1015 void print_skip_param_(integer);
1016 #define print_skip_param(n) print_skip_param_((integer) (n))
1017 void show_node_list_(integer);
1018 #define show_node_list(p) show_node_list_((integer) (p))
1019 void show_box_(halfword);
1020 #define show_box(p) show_box_((halfword) (p))
1021 void delete_token_ref_(halfword);
1022 #define delete_token_ref(p) delete_token_ref_((halfword) (p))
1023 void delete_glue_ref_(halfword);
1024 #define delete_glue_ref(p) delete_glue_ref_((halfword) (p))
1025 void flush_node_list_(halfword);
1026 #define flush_node_list(p) flush_node_list_((halfword) (p))
1027 halfword copy_node_list_(halfword);
1028 #define copy_node_list(p) copy_node_list_((halfword) (p))
1029 void print_mode_(integer);
1030 #define print_mode(m) print_mode_((integer) (m))
1031 void push_nest(void);
1032 void pop_nest(void);
1033 void show_activities(void);
1034 void print_param_(integer);
1035 #define print_param(n) print_param_((integer) (n))
1036 void begin_diagnostic(void);
1037 void end_diagnostic_(bool);
1038 #define end_diagnostic(blankline) end_diagnostic_((bool) (blankline))
1039 void print_length_param_(integer);
1040 #define print_length_param(n) print_length_param_((integer) (n))
1041 void print_cmd_chr_(quarterword, halfword);
1042 #define print_cmd_chr(cmd, chrcode) print_cmd_chr_((quarterword) (cmd), (halfword) (chrcode))
1043 void show_eqtb_(halfword);
1044 #define show_eqtb(n) show_eqtb_((halfword) (n))
1045 halfword id_lookup_(integer, integer);
1046 #define id_lookup(j, l) id_lookup_((integer) (j), (integer) (l))
1047 void primitive_(str_number, quarterword, halfword);
1048 #define primitive(s, c, o) primitive_((str_number) (s), (quarterword) (c), (halfword) (o))
1049 void new_save_level_(group_code);
1050 #define new_save_level(c) new_save_level_((group_code) (c))
1051 void eq_destroy_(memory_word);
1052 #define eq_destroy(w) eq_destroy_((memory_word) (w))
1053 void eq_save_(halfword, quarterword);
1054 #define eq_save(p, l) eq_save_((halfword) (p), (quarterword) (l))
1055 void eq_define_(halfword, quarterword, halfword);
1056 #define eq_define(p, t, e) eq_define_((halfword) (p), (quarterword) (t), (halfword) (e))
1057 void eq_word_define_(halfword, integer);
1058 #define eq_word_define(p, w) eq_word_define_((halfword) (p), (integer) (w))
1059 void geq_define_(halfword, quarterword, halfword);
1060 #define geq_define(p, t, e) geq_define_((halfword) (p), (quarterword) (t), (halfword) (e))
1061 void geq_word_define_(halfword, integer);
1062 #define geq_word_define(p, w) geq_word_define_((halfword) (p), (integer) (w))
1063 void save_for_after_(halfword);
1064 #define save_for_after(t) save_for_after_((halfword) (t))
1065 void restore_trace_(halfword, char *);
1066 #define restore_trace(p, s) restore_trace_((halfword) (p), (char *) (s))
1067 void unsave(void);
1068 void prepare_mag(void);
1069 void token_show_(halfword);
1070 #define token_show(p) token_show_((halfword) (p))
1071 void print_meaning(void);
1072 void show_cur_cmd_chr(void);
1073 void show_context(void);
1074 void begin_token_list_(halfword, quarterword);
1075 #define begin_token_list(p, t) begin_token_list_((halfword) (p), (quarterword) (t))
1076 void end_token_list(void);
1077 void back_input(void);
1078 void back_error(void);
1079 void ins_error(void);
1080 void begin_file_reading(void);
1081 void end_file_reading(void);
1082 void clear_for_error_prompt(void);
1083 void check_outer_validity(void);
1084 void get_next(void);
1085 void firm_up_the_line(void);
1086 void get_token(void);
1087 void macro_call(void);
1088 void insert_relax(void);
1089 void expand(void);
1090 void get_x_token(void);
1091 void x_token(void);
1092 void scan_left_brace(void);
1093 void scan_optional_equals(void);
1094 bool scan_keyword_(char *);
1095 #define scan_keyword(s) scan_keyword_((char *) (s))
1096 void mu_error(void);
1097 void scan_eight_bit_int(void);
1098 void scan_char_num(void);
1099 void scan_four_bit_int(void);
1100 void scan_fifteen_bit_int(void);
1101 void scan_twenty_seven_bit_int(void);
1102 void scan_font_ident(void);
1103 void find_font_dimen_(bool);
1104 #define find_font_dimen(writing) find_font_dimen_((bool) (writing))
1105 void scan_something_internal_(small_number, bool);
1106 #define scan_something_internal(level, negative) scan_something_internal_((small_number) (level), (bool) (negative))
1107 void scan_int(void);
1108 void scan_dimen_(bool, bool, bool);
1109 #define scan_dimen(mu, inf, shortcut) scan_dimen_((bool) (mu), (bool) (inf), (bool) (shortcut))
1110 void scan_glue_(small_number);
1111 #define scan_glue(level) scan_glue_((small_number) (level))
1112 halfword scan_rule_spec(void);
1113 halfword str_toks_(pool_pointer);
1114 #define str_toks(b) str_toks_((pool_pointer) (b))
1115 halfword the_toks(void);
1116 void ins_the_toks(void);
1117 void conv_toks(void);
1118 halfword scan_toks_(bool, bool);
1119 #define scan_toks(macrodef, xpand) scan_toks_((bool) (macrodef), (bool) (xpand))
1120 void read_toks_(integer, halfword);
1121 #define read_toks(n, r) read_toks_((integer) (n), (halfword) (r))
1122 void pass_text(void);
1123 void change_if_limit_(small_number, halfword);
1124 #define change_if_limit(l, p) change_if_limit_((small_number) (l), (halfword) (p))
1125 void conditional(void);
1126 void begin_name(void);
1127 bool more_name_(ASCII_code);
1128 #define more_name(c) more_name_((ASCII_code) (c))
1129 void end_name(void);
1130 void pack_file_name_(str_number, str_number, str_number);
1131 #define pack_file_name(n, a, e) pack_file_name_((str_number) (n), (str_number) (a), (str_number) (e))
1132 void pack_buffered_name_(small_number, integer, integer);
1133 #define pack_buffered_name(n, a, b) pack_buffered_name_((small_number) (n), (integer) (a), (integer) (b))
1134 str_number make_name_string(void);
1135 str_number a_make_name_string_(alpha_file *);
1136 #define a_make_name_string(f) a_make_name_string_((alpha_file *) &(f))
1137 str_number b_make_name_string_(byte_file *);
1138 #define b_make_name_string(f) b_make_name_string_((byte_file *) &(f))
1139 str_number w_make_name_string_(word_file *);
1140 #define w_make_name_string(f) w_make_name_string_((word_file *) &(f))
1141 void scan_file_name(void);
1142 void pack_job_name_(str_number);
1143 #define pack_job_name(s) pack_job_name_((str_number) (s))
1144 void prompt_file_name_(str_number, str_number);
1145 #define prompt_file_name(s, e) prompt_file_name_((str_number) (s), (str_number) (e))
1146 void open_log_file(void);
1147 void start_input(void);
1148 internal_font_number read_font_info_(halfword, str_number, str_number, scaled);
1149 #define read_font_info(u, nom, aire, s) read_font_info_((halfword) (u), (str_number) (nom), (str_number) (aire), (scaled) (s))
1150 void char_warning_(internal_font_number, eight_bits);
1151 #define char_warning(f, c) char_warning_((internal_font_number) (f), (eight_bits) (c))
1152 halfword new_character_(internal_font_number, eight_bits);
1153 #define new_character(f, c) new_character_((internal_font_number) (f), (eight_bits) (c))
1154 #ifdef ALLOCATEDVIBUF
1155   void dvi_swap(void);
1156   void dvi_four_(integer);
1157   #define dvi_four(x) dvi_four_((integer) (x))
1158   void zdvipop(integer);
1159   #define dvi_pop(l) zdvipop((integer) (l))
1160   void dvi_font_def_(internal_font_number);
1161   #define dvi_font_def(f) dvi_font_def_((internal_font_number) (f))
1162   void zmovement(scaled, eight_bits);
1163   #define movement(w, o) zmovement((scaled) (w), (eight_bits) (o))
1164   void special_out_(halfword);
1165   #define special_out(p) special_out_((halfword) (p))
1166   void hlist_out(void);
1167   void vlist_out(void);
1168   void ship_out_(halfword);
1169   #define ship_out(p) ship_out_((halfword) (p))
1170 #else /* not ALLOCATEDVIBUF */
1171   void dvi_swap(void);
1172   void dvi_four_(integer);
1173   #define dvi_four(x) dvi_four_((integer) (x))
1174   void zdvipop(integer);
1175   #define dvi_pop(l) zdvipop((integer) (l))
1176   void dvi_font_def_(internal_font_number);
1177   #define dvi_font_def(f) dvi_font_def_((internal_font_number) (f))
1178   void zmovement(scaled, eight_bits);
1179   #define movement(w, o) zmovement((scaled) (w), (eight_bits) (o))
1180   void special_out_(halfword);
1181   #define special_out(p) special_out_((halfword) (p))
1182   void hlist_out(void);
1183   void vlist_out(void);
1184   void ship_out_(halfword);
1185   #define ship_out(p) ship_out_((halfword) (p))
1186 #endif
1187 void prune_movements_(integer);
1188 #define prune_movements(l) prune_movements_((integer) (l))
1189 void write_out_(halfword);
1190 #define write_out(p) write_out_((halfword) (p))
1191 void out_what_(halfword);
1192 #define out_what(p) out_what_((halfword) (p))
1193 void scan_spec_(group_code, bool);
1194 #define scan_spec(c, threecodes) scan_spec_((group_code) (c), (bool) (threecodes))
1195 halfword hpack_(halfword, scaled, small_number);
1196 #define hpack(p, w, m) hpack_((halfword) (p), (scaled) (w), (small_number) (m))
1197 halfword vpackage_(halfword, scaled, small_number, scaled);
1198 #define vpackage(p, h, m, l) vpackage_((halfword) (p), (scaled) (h), (small_number) (m), (scaled) (l))
1199 void append_to_vlist_(halfword);
1200 #define append_to_vlist(b) append_to_vlist_((halfword) (b))
1201 halfword new_noad(void);
1202 halfword new_style_(small_number);
1203 #define new_style(s) new_style_((small_number) (s))
1204 halfword new_choice(void);
1205 void show_info(void);
1206 halfword fraction_rule_(scaled);
1207 #define fraction_rule(t) fraction_rule_((scaled) (t))
1208 halfword overbar_(halfword, scaled, scaled);
1209 #define overbar(b, k, t) overbar_((halfword) (b), (scaled) (k), (scaled) (t))
1210 halfword char_box_(internal_font_number, quarterword);
1211 #define char_box(f, c) char_box_((internal_font_number) (f), (quarterword) (c))
1212 void stack_into_box_(halfword, internal_font_number, quarterword);
1213 #define stack_into_box(b, f, c) stack_into_box_((halfword) (b), (internal_font_number) (f), (quarterword) (c))
1214 scaled height_plus_depth_(internal_font_number, fquarterword); 
1215 #define height_plus_depth(f, c) height_plus_depth_((internal_font_number) (f), (fquarterword) (c))
1216 halfword var_delimiter_(halfword, small_number, scaled);
1217 #define var_delimiter(d, s, v) var_delimiter_((halfword) (d), (small_number) (s), (scaled) (v))
1218 halfword rebox_(halfword, scaled);
1219 #define rebox(b, w) rebox_((halfword) (b), (scaled) (w))
1220 halfword math_glue_(halfword, scaled);
1221 #define math_glue(g, m) math_glue_((halfword) (g), (scaled) (m))
1222 void math_kern_(halfword, scaled);
1223 #define math_kern(p, m) math_kern_((halfword) (p), (scaled) (m))
1224 void flush_math(void);
1225 halfword clean_box_(halfword, small_number);
1226 #define clean_box(p, s) clean_box_((halfword) (p), (small_number) (s))
1227 void fetch_(halfword);
1228 #define fetch(a) fetch_((halfword) (a))
1229 void make_over_(halfword);
1230 #define make_over(q) make_over_((halfword) (q))
1231 void make_under_(halfword);
1232 #define make_under(q) make_under_((halfword) (q))
1233 void make_vcenter_(halfword);
1234 #define make_vcenter(q) make_vcenter_((halfword) (q))
1235 void make_radical_(halfword);
1236 #define make_radical(q) make_radical_((halfword) (q))
1237 void make_math_accent_(halfword);
1238 #define make_math_accent(q) make_math_accent_((halfword) (q))
1239 void make_fraction_(halfword);
1240 #define make_fraction(q) make_fraction_((halfword) (q))
1241 scaled make_op_(halfword);
1242 #define make_op(q) make_op_((halfword) (q))
1243 void make_ord_(halfword);
1244 #define make_ord(q) make_ord_((halfword) (q))
1245 void make_scripts_(halfword, scaled);
1246 #define make_scripts(q, delta) make_scripts_((halfword) (q), (scaled) (delta))
1247 small_number make_left_right_(halfword, small_number, scaled, scaled);
1248 #define make_left_right(q, style, maxd, max_h) make_left_right_((halfword) (q), (small_number) (style), (scaled) (maxd), (scaled) (max_h))
1249 void mlist_to_hlist(void);
1250 void push_alignment(void);
1251 void pop_alignment(void);
1252 void get_preamble_token(void);
1253 void init_align(void);
1254 void init_span_(halfword);
1255 #define init_span(p) init_span_((halfword) (p))
1256 void init_row(void);
1257 void init_col(void);
1258 bool fin_col(void);
1259 void fin_row(void);
1260 void fin_align(void);
1261 void align_peek(void);
1262 halfword finite_shrink_(halfword);
1263 #define finite_shrink(p) finite_shrink_((halfword) (p))
1264 void try_break_(integer, small_number);
1265 #define try_break(pi, breaktype) try_break_((integer) (pi), (small_number) (breaktype))
1266 void post_line_break_(integer);
1267 #define post_line_break(finalwidowpenalty) post_line_break_((integer) (finalwidowpenalty))
1268 small_number reconstitute_(small_number, small_number, halfword, halfword); 
1269 #define reconstitute(j, n, bchar, hchar) reconstitute_((small_number) (j), (small_number) (n), (halfword) (bchar), (halfword) (hchar))
1270 void hyphenate(void);
1271 trie_op_code new_trie_op_(small_number, small_number, trie_op_code);
1272 #define new_trie_op(d, n, v) new_trie_op_((small_number) (d), (small_number) (n), (trie_op_code) (v))
1273 trie_pointer trie_node_(trie_pointer);
1274 #define trie_node(p) trie_node_((trie_pointer) (p))
1275 trie_pointer compress_trie_(trie_pointer);
1276 #define compress_trie(p) compress_trie_((trie_pointer) (p))
1277 void first_fit_(trie_pointer);
1278 #define first_fit(p) first_fit_((trie_pointer) (p))
1279 void trie_pack_(trie_pointer);
1280 #define trie_pack(p) trie_pack_((trie_pointer) (p))
1281 void trie_fix_(trie_pointer);
1282 #define trie_fix(p) trie_fix_((trie_pointer) (p))
1283 void new_patterns(void);
1284 void init_trie(void);
1285 void line_break_(integer);
1286 #define line_break(finalwidowpenalty) line_break_((integer) (finalwidowpenalty))
1287 void new_hyph_exceptions(void);
1288 halfword prune_page_top_(halfword);
1289 #define prune_page_top(p) prune_page_top_((halfword) (p))
1290 halfword vert_break_(halfword, scaled, scaled);
1291 #define vert_break(p, h, d) vert_break_((halfword) (p), (scaled) (h), (scaled) (d))
1292 halfword vsplit_(eight_bits, scaled);
1293 #define vsplit(n, h) vsplit_((eight_bits) (n), (scaled) (h))
1294 void print_totals(void);
1295 void freeze_page_specs_(small_number);
1296 #define freeze_page_specs(s) freeze_page_specs_((small_number) (s))
1297 void box_error_(eight_bits);
1298 #define box_error(n) box_error_((eight_bits) (n))
1299 void ensure_vbox_(eight_bits);
1300 #define ensure_vbox(n) ensure_vbox_((eight_bits) (n))
1301 void fire_up_(halfword);
1302 #define fire_up(c) fire_up_((halfword) (c))
1303 void build_page(void);
1304 void app_space(void);
1305 void insert_dollar_sign(void);
1306 void you_cant(void);
1307 void report_illegal_case(void);
1308 bool privileged(void);
1309 bool its_all_over(void);
1310 void append_glue(void);
1311 void append_kern(void);
1312 void off_save(void);
1313 void extra_right_brace(void);
1314 void normal_paragraph(void);
1315 void box_end_(integer);
1316 #define box_end(boxcontext) box_end_((integer) (boxcontext))
1317 void begin_box_(integer);
1318 #define begin_box(boxcontext) begin_box_((integer) (boxcontext))
1319 void scan_box_(integer);
1320 #define scan_box(boxcontext) scan_box_((integer) (boxcontext))
1321 void package_(small_number);
1322 #define package(c) package_((small_number) (c))
1323 small_number norm_min_(integer);
1324 #define norm_min(h) norm_min_((integer) (h))
1325 void new_graf_(bool);
1326 #define new_graf(indented) new_graf_((bool) (indented))
1327 void indent_in_hmode(void);
1328 void head_for_vmode(void);
1329 void end_graf(void);
1330 void begin_insert_or_adjust(void);
1331 void make_mark(void);
1332 void append_penalty(void);
1333 void delete_last(void);
1334 void unpackage(void);
1335 void append_italic_correction(void);
1336 void append_discretionary(void);
1337 void build_discretionary(void);
1338 void make_accent(void);
1339 void align_error(void);
1340 void noalign_error(void);
1341 void omit_error(void);
1342 void do_endv(void);
1343 void cs_error(void);
1344 void push_math_(group_code);
1345 #define push_math(c) push_math_((group_code) (c))
1346 void init_math(void);
1347 void start_eq_no(void);
1348 void scan_math_(halfword);
1349 #define scan_math(p) scan_math_((halfword) (p))
1350 void set_math_char_(integer);
1351 #define set_math_char(c) set_math_char_((integer) (c))
1352 void math_limit_switch(void);
1353 void scan_delimiter_(halfword, bool);
1354 #define scan_delimiter(p, r) scan_delimiter_((halfword) (p), (bool) (r))
1355 void math_radical(void);
1356 void math_ac(void);
1357 void append_choices(void);
1358 halfword fin_mlist_(halfword);
1359 #define fin_mlist(p) fin_mlist_((halfword) (p))
1360 void build_choices(void);
1361 void sub_sup(void);
1362 void math_fraction(void);
1363 void math_left_right(void);
1364 void after_math(void);
1365 void resume_after_display(void);
1366 void get_r_token(void);
1367 void trap_zero_glue(void);
1368 void do_register_command_(small_number);
1369 #define do_register_command(a) do_register_command_((small_number) (a))
1370 void alter_aux(void);
1371 void alter_prev_graf(void);
1372 void alter_page_so_far(void);
1373 void alter_integer(void);
1374 void alter_box_dimen(void);
1375 void new_font_(small_number);
1376 #define new_font(a) new_font_((small_number) (a))
1377 void new_interaction(void);
1378 void prefixed_command(void);
1379 void do_assignments(void);
1380 void open_or_close_in(void);
1381 void issue_message(void);
1382 void shift_case(void);
1383 void show_whatever(void);
1384 void store_fmt_file(void);
1385 void new_whatsit_(small_number, small_number);
1386 #define new_whatsit(s, w) new_whatsit_((small_number) (s), (small_number) (w))
1387 void new_write_whatsit_(small_number);
1388 #define new_write_whatsit(w) new_write_whatsit_((small_number) (w))
1389 void do_extension(void);
1390 void fix_language(void);
1391 void handle_right_brace(void);
1392 void main_control(void);
1393 void give_err_help(void);
1394 bool open_fmt_file(void);
1395 bool load_fmt_file(void);
1396 void close_files_and_terminate(void);
1397 #ifdef ALLOCATEDVIBUF
1398 #define closefilesandterminate_regmem  register eight_bits *dvi_buf=zdvibuf;
1399 #else
1400 #define closefilesandterminate_regmem  /* register memory_word *eqtb=zeqtb; */
1401 #endif
1402 void final_cleanup(void);
1403 void init_prim(void);
1404 void debug_help(void);
1405 int texbody(void);          /* 1993/Dec/16 bkph */
1406
1407 #endif /* end of NOT ifdef USEREGISTERS */
1408
1409 /* may want to consider copying other addresses to local registers ... */
1410
1411 /*
1412  * The C compiler ignores most unnecessary casts (i.e., casts of something
1413  * to its own type).  However, for structures, it doesn't.  Therefore,
1414  * we have to redefine these two macros so that they don't try to cast
1415  * the argument (a memory_word) as a memory_word.
1416  */
1417 #undef  eq_destroy
1418 #define eq_destroy(x)  eq_destroy_(x)
1419 #undef  print_word
1420 #define print_word(x)  print_word_(x)