OSDN Git Service

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