void initialize (void);
void print_ln (void);
-void print_char_(ASCII_code);
+void print_char_(ASCII_code s);
#define print_char(s) print_char_((ASCII_code) (s))
-void print_(integer);
+void print_(integer s);
#define print(s) print_((integer) (s))
void prints_(const char * s);
#define prints(s) prints_((const char *) s)
#define print_param(n) print_param_((integer) (n))
void begin_diagnostic(void);
void end_diagnostic_(boolean);
-#define end_diagnostic(blankline) end_diagnostic_((boolean) (blankline))
+#define end_diagnostic(blank_line) end_diagnostic_((boolean) (blank_line))
void print_length_param_(integer);
#define print_length_param(n) print_length_param_((integer) (n))
void print_cmd_chr_(quarterword, halfword);
#define show_eqtb(n) show_eqtb_((halfword) (n))
halfword id_lookup_(integer, integer);
#define id_lookup(j, l) id_lookup_((integer) (j), (integer) (l))
-void primitive_s (char * s, quarterword c, halfword o);
void primitive_(str_number, quarterword, halfword);
#define primitive(s, c, o) primitive_(make_string_pool((char *) s), (quarterword) (c), (halfword) (o))
void new_save_level_(group_code);
halfword the_toks(void);
void ins_the_toks(void);
void conv_toks(void);
-halfword scan_toks_(boolean, boolean);
-#define scan_toks(macrodef, xpand) scan_toks_((boolean) (macrodef), (boolean) (xpand))
+pointer scan_toks_(boolean, boolean);
+#define scan_toks(macro_def, xpand) scan_toks_((boolean) (macro_def), (boolean) (xpand))
void read_toks_(integer, halfword);
#define read_toks(n, r) read_toks_((integer) (n), (halfword) (r))
void pass_text(void);
#define w_make_name_string(f) w_make_name_string_()
void scan_file_name(void);
void pack_job_name_(str_number);
-#define pack_job_name(s) pack_job_name_(make_string_pool((char*)s))
+#define pack_job_name(s) pack_job_name_(make_string_pool((char*) (s)))
void prompt_file_name_(char *, str_number);
#define prompt_file_name(s, e) prompt_file_name_((char *) s, make_string_pool((char*) e))
void open_log_file(void);
void out_what_(pointer);
#define out_what(p) out_what_((pointer) (p))
void scan_spec_(group_code, boolean);
-#define scan_spec(c, threecodes) scan_spec_((group_code) (c), (boolean) (threecodes))
+#define scan_spec(c, three_codes) scan_spec_((group_code) (c), (boolean) (three_codes))
halfword hpack_(halfword, scaled, small_number);
#define hpack(p, w, m) hpack_((halfword) (p), (scaled) (w), (small_number) (m))
halfword vpackage_(halfword, scaled, small_number, scaled);
#define vpackage(p, h, m, l) vpackage_((halfword) (p), (scaled) (h), (small_number) (m), (scaled) (l))
void append_to_vlist_(halfword);
#define append_to_vlist(b) append_to_vlist_((halfword) (b))
-halfword new_noad(void);
-halfword new_style_(small_number);
+pointer new_noad(void);
+pointer new_style_(small_number);
#define new_style(s) new_style_((small_number) (s))
-halfword new_choice(void);
+pointer new_choice(void);
void show_info(void);
-halfword fraction_rule_(scaled);
+pointer fraction_rule_(scaled);
#define fraction_rule(t) fraction_rule_((scaled) (t))
-halfword overbar_(halfword, scaled, scaled);
-#define overbar(b, k, t) overbar_((halfword) (b), (scaled) (k), (scaled) (t))
-halfword char_box_(internal_font_number, quarterword);
+pointer overbar_(pointer, scaled, scaled);
+#define overbar(b, k, t) overbar_((pointer) (b), (scaled) (k), (scaled) (t))
+pointer char_box_(internal_font_number, quarterword);
#define char_box(f, c) char_box_((internal_font_number) (f), (quarterword) (c))
-void stack_into_box_(halfword, internal_font_number, quarterword);
-#define stack_into_box(b, f, c) stack_into_box_((halfword) (b), (internal_font_number) (f), (quarterword) (c))
+void stack_into_box_(pointer, internal_font_number, quarterword);
+#define stack_into_box(b, f, c) stack_into_box_((pointer) (b), (internal_font_number) (f), (quarterword) (c))
scaled height_plus_depth_(internal_font_number, quarterword);
#define height_plus_depth(f, c) height_plus_depth_((internal_font_number) (f), (quarterword) (c))
-halfword var_delimiter_(halfword, small_number, scaled);
-#define var_delimiter(d, s, v) var_delimiter_((halfword) (d), (small_number) (s), (scaled) (v))
-halfword rebox_(halfword, scaled);
-#define rebox(b, w) rebox_((halfword) (b), (scaled) (w))
-halfword math_glue_(halfword, scaled);
-#define math_glue(g, m) math_glue_((halfword) (g), (scaled) (m))
-void math_kern_(halfword, scaled);
-#define math_kern(p, m) math_kern_((halfword) (p), (scaled) (m))
+pointer var_delimiter_(pointer, small_number, scaled);
+#define var_delimiter(d, s, v) var_delimiter_((pointer) (d), (small_number) (s), (scaled) (v))
+pointer rebox_(pointer, scaled);
+#define rebox(b, w) rebox_((pointer) (b), (scaled) (w))
+pointer math_glue_(pointer, scaled);
+#define math_glue(g, m) math_glue_((pointer) (g), (scaled) (m))
+void math_kern_(pointer, scaled);
+#define math_kern(p, m) math_kern_((pointer) (p), (scaled) (m))
void flush_math(void);
-halfword clean_box_(halfword, small_number);
-#define clean_box(p, s) clean_box_((halfword) (p), (small_number) (s))
-void fetch_(halfword);
-#define fetch(a) fetch_((halfword) (a))
-void make_over_(halfword);
-#define make_over(q) make_over_((halfword) (q))
-void make_under_(halfword);
-#define make_under(q) make_under_((halfword) (q))
-void make_vcenter_(halfword);
-#define make_vcenter(q) make_vcenter_((halfword) (q))
-void make_radical_(halfword);
-#define make_radical(q) make_radical_((halfword) (q))
-void make_math_accent_(halfword);
-#define make_math_accent(q) make_math_accent_((halfword) (q))
-void make_fraction_(halfword);
-#define make_fraction(q) make_fraction_((halfword) (q))
-scaled make_op_(halfword);
-#define make_op(q) make_op_((halfword) (q))
-void make_ord_(halfword);
-#define make_ord(q) make_ord_((halfword) (q))
-void make_scripts_(halfword, scaled);
-#define make_scripts(q, delta) make_scripts_((halfword) (q), (scaled) (delta))
-small_number make_left_right_(halfword, small_number, scaled, scaled);
-#define make_left_right(q, style, maxd, max_h) make_left_right_((halfword) (q), (small_number) (style), (scaled) (maxd), (scaled) (max_h))
+pointer clean_box_(pointer, small_number);
+#define clean_box(p, s) clean_box_((pointer) (p), (small_number) (s))
+void fetch_(pointer);
+#define fetch(a) fetch_((pointer) (a))
+void make_over_(pointer);
+#define make_over(q) make_over_((pointer) (q))
+void make_under_(pointer);
+#define make_under(q) make_under_((pointer) (q))
+void make_vcenter_(pointer);
+#define make_vcenter(q) make_vcenter_((pointer) (q))
+void make_radical_(pointer);
+#define make_radical(q) make_radical_((pointer) (q))
+void make_math_accent_(pointer);
+#define make_math_accent(q) make_math_accent_((pointer) (q))
+void make_fraction_(pointer);
+#define make_fraction(q) make_fraction_((pointer) (q))
+scaled make_op_(pointer);
+#define make_op(q) make_op_((pointer) (q))
+void make_ord_(pointer);
+#define make_ord(q) make_ord_((pointer) (q))
+void make_scripts_(pointer, scaled);
+#define make_scripts(q, delta) make_scripts_((pointer) (q), (scaled) (delta))
+small_number make_left_right_(pointer, small_number, scaled, scaled);
+#define make_left_right(q, style, max_d, max_h) make_left_right_((pointer) (q), (small_number) (style), (scaled) (max_d), (scaled) (max_h))
void mlist_to_hlist(void);
void push_alignment(void);
void pop_alignment(void);
void get_preamble_token(void);
void init_align(void);
-void init_span_(halfword);
-#define init_span(p) init_span_((halfword) (p))
+void init_span_(pointer);
+#define init_span(p) init_span_((pointer) (p))
void init_row(void);
void init_col(void);
boolean fin_col(void);
void fin_row(void);
void fin_align(void);
void align_peek(void);
-halfword finite_shrink_(halfword);
-#define finite_shrink(p) finite_shrink_((halfword) (p))
+pointer finite_shrink_(pointer);
+#define finite_shrink(p) finite_shrink_((pointer) (p))
void try_break_(integer, small_number);
#define try_break(pi, breaktype) try_break_((integer) (pi), (small_number) (breaktype))
void post_line_break_(integer);
void line_break_(integer);
#define line_break(final_widow_penalty) line_break_((integer) (final_widow_penalty))
void new_hyph_exceptions(void);
-halfword prune_page_top_(halfword);
-#define prune_page_top(p) prune_page_top_((halfword) (p))
-halfword vert_break_(halfword, scaled, scaled);
-#define vert_break(p, h, d) vert_break_((halfword) (p), (scaled) (h), (scaled) (d))
-halfword vsplit_(eight_bits, scaled);
+pointer prune_page_top_(pointer);
+#define prune_page_top(p) prune_page_top_((pointer) (p))
+pointer vert_break_(pointer, scaled, scaled);
+#define vert_break(p, h, d) vert_break_((pointer) (p), (scaled) (h), (scaled) (d))
+pointer vsplit_(eight_bits, scaled);
#define vsplit(n, h) vsplit_((eight_bits) (n), (scaled) (h))
void print_totals(void);
void freeze_page_specs_(small_number);
#define box_error(n) box_error_((eight_bits) (n))
void ensure_vbox_(eight_bits);
#define ensure_vbox(n) ensure_vbox_((eight_bits) (n))
-void fire_up_(halfword);
-#define fire_up(c) fire_up_((halfword) (c))
+void fire_up_(pointer);
+#define fire_up(c) fire_up_((pointer) (c))
void build_page(void);
void app_space(void);
void insert_dollar_sign(void);
void extra_right_brace(void);
void normal_paragraph(void);
void box_end_(integer);
-#define box_end(boxcontext) box_end_((integer) (boxcontext))
+#define box_end(box_context) box_end_((integer) (box_context))
void begin_box_(integer);
-#define begin_box(boxcontext) begin_box_((integer) (boxcontext))
+#define begin_box(box_context) begin_box_((integer) (box_context))
void scan_box_(integer);
-#define scan_box(boxcontext) scan_box_((integer) (boxcontext))
+#define scan_box(box_context) scan_box_((integer) (box_context))
void package_(small_number);
#define package(c) package_((small_number) (c))
small_number norm_min_(integer);
}
}
/* sec 0245 */
-void end_diagnostic_(boolean blankline)
+void end_diagnostic_(boolean blank_line)
{
print_nl("");
- if (blankline)
+ if (blank_line)
print_ln();
selector = old_setting;
integer m;
small_number d;
boolean vacuous;
- boolean OKsofar;
+ boolean OK_so_far;
radix = 0;
- OKsofar = true;
+ OK_so_far = true;
negative = false;
do
if ((cur_val >= m) && ((cur_val > m) || (d > 7) || (radix != 10)))
{
- if (OKsofar)
+ if (OK_so_far)
{
print_err("Number too big");
help2("I can only go up to 2147483647='17777777777=\"7FFFFFFF,",
"so I'm using that number instead of yours.");
error();
cur_val = 2147483647L; /* 7FFFFFFF hex */
- OKsofar = false;
+ OK_so_far = false;
}
}
else
cur_val = cur_val * radix + d;
get_x_token();
}
-done:;
+done:
if (vacuous)
{
print_err("Missing number, treated as zero");
small_number k, kk;
halfword p, q;
scaled v;
- integer savecurval;
+ integer save_cur_val;
f = 0;
arith_error = false;
if ((radix == 10) && (cur_tok == point_token))
{
k = 0;
- p = 0; /* p:=null l.8883 */
+ p = 0;
get_token();
while (true)
}
}
- savecurval = cur_val;
+ save_cur_val = cur_val;
do
{
}
found:
- cur_val = mult_and_add(savecurval, v, xn_over_d(v, f, 65536L), 1073741823L); /* 2^30 - 1 */
+ cur_val = mult_and_add(save_cur_val, v, xn_over_d(v, f, 65536L), 1073741823L); /* 2^30 - 1 */
goto attach_sign;
not_found:
begin_token_list(link(temp_head), 4);
}
/* sec 0473 */
-halfword scan_toks_(boolean macro_def, boolean xpand)
+pointer scan_toks_(boolean macro_def, boolean xpand)
{
halfword t;
halfword s;
- halfword p;
- halfword q;
+ pointer p;
+ pointer q;
halfword unbalance;
halfword hash_brace;
/* sec 0516 */
boolean more_name_(ASCII_code c)
{
- if (quoted_file_name == 0 && c == ' ')
+ if (quoted_file_name == false && c == ' ')
return false;
- else if (quoted_file_name != 0 && c == '"')
+ else if (quoted_file_name != false && c == '"')
{
- quoted_file_name = 0; /* catch next space character */
- return true; /* accept ending quote, but throw away */
+ quoted_file_name = false; /* catch next space character */
+ return true; /* accept ending quote, but throw away */
}
else
{
str_room(1);
append_char(c);
+
// for DOS/Windows
if ((c == '/' || c == '\\' || c == ':'))
{
while ((buffer[k] == ' ') && (k < last))
incr(k);
-/* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
- quoted_file_name = 0; /* 98/March/15 */
+
+ quoted_file_name = false;
if (allow_quoted_names && k < last) /* check whether quoted name */
{
if (buffer[k]== '"')
{
- quoted_file_name = 1;
+ quoted_file_name = true;
incr(k);
}
}
if (bchar <= ec)
if (bchar >= bc)
{
- qw = font_info[char_base[f] + bchar].qqqq;
+ qw = char_info(f, bchar);
- if ((qw.b0 > 0))
+ if (char_exists(qw))
font_false_bchar[f] = 256;
}
if (show_missing == 0)
begin_diagnostic();
- if (show_missing) /* add ! before 94/June/10 */
+ if (show_missing)
{
print_nl("! ");
prints("Missing character: there is no ");
if (c / 10 > 0)
print_char('0' + c / 10);
}
+
print_char('0' + c % 10);
print_char(')');
}
/* sec 0582 */
halfword new_character_(internal_font_number f, eight_bits c)
{
- halfword p;
+ pointer p;
if (font_bc[f] <= c)
if (font_ec[f] >= c)
p = link(p);
}
+
not_found:
info(q) = yz_OK;
w = w + 16777216L; /* 2^24 */
//dvi_out(w / 65536L);
dvi_out((w >> 16));
-/* w = w % 65536L; */
+ //w = w % 65536L;
w = w & 65535L;
goto lab2;
}
- if (abs(w)>= 128)
+ if (abs(w) >= 128)
{
dvi_out(o + 1);
/* sec 0615 */
void prune_movements_(integer l)
{
- halfword p;
+ pointer p;
while (down_ptr != 0)
{
void write_out_(pointer p)
{
char old_setting;
-/* integer oldmode; */
- int oldmode; /* 1995/Jan/7 */
+/* integer old_mode; */
+ int old_mode;
/* small_number j; */
- int j; /* 1995/Jan/7 */
+ int j;
halfword q, r;
q = get_avail();
q = get_avail();
info(q) = left_brace_token + '{';
ins_list(q);
- oldmode = mode;
+ old_mode = mode;
mode = 0;
cur_cs = write_loc;
q = scan_toks(false, true);
while (!(cur_tok == end_write_token));
}
- mode = oldmode;
+ mode = old_mode;
end_token_list();
old_setting = selector;
j = write_stream(p);
break;
case language_node:
- ;
+ do_nothing();
break;
default:
if (f <= 64 + font_base)
dvi_out(f - font_base - 1 + fnt_num_0);
#ifdef INCREASEFONTS
- /* if we allow greater than 256 fonts */
else if (f <= 256)
{
dvi_out(fnt1);
scaled top_edge;
scaled save_h, save_v;
halfword this_box;
-/* glue_ord g_order; */
- int g_order; /* 95/Jan/7 */
-/* char g_sign; */
- int g_sign; /* 95/Jan/7 */
+/* glue_ord g_order; */
+ int g_order;
+/* char g_sign; */
+ int g_sign;
halfword p;
integer save_loc;
halfword leader_box;
incr(total_pages);
cur_s = -1;
-done:;
+done:
if (tracing_output <= 0)
print_char(']');
scaled s;
halfword g;
/* glue_ord o; */
- int o; /* 95/Jan/7 */
+ int o;
internal_font_number f;
four_quarters i;
eight_bits hd;
while (p != 0)
{
reswitch:
+
while (is_char_node(p))
{
f = font(p);
}
common_ending:
+
if (output_active)
prints(") has occurred while \\output is active");
else
scaled s;
halfword g;
/* glue_ord o; */
- int o; /* 95/Jan/7 */
+ int o;
last_badness = 0;
r = get_node(box_node_size);
default:
break;
}
+
p = link(p);
}
print_int(last_badness);
if (last_badness > 100)
- underfull_vbox++; /* 1996/Feb/9 */
+ underfull_vbox++;
goto common_ending;
}
print_scaled(- (integer) x - total_shrink[0]);
prints("pt too high");
- overfull_vbox++; /* 1996/Feb/9 */
+ overfull_vbox++;
goto common_ending;
}
}
common_ending:
+
if (output_active)
prints(") has occurred while \\output is active");
else
void append_to_vlist_(halfword b)
{
scaled d;
- halfword p;
+ pointer p;
if (prev_depth > ignore_depth)
{
prev_depth = depth(b);
}
/* sec 0686 */
-halfword new_noad (void)
+pointer new_noad (void)
{
- halfword p;
+ pointer p;
p = get_node(noad_size);
type(p) = ord_noad;
return p;
}
/* sec 0688 */
-halfword new_style_(small_number s)
+pointer new_style_(small_number s)
{
- halfword p;
+ pointer p;
p = get_node(style_node_size);
type(p) = style_node;
return p;
}
/* sec 0689 */
-halfword new_choice (void)
+pointer new_choice (void)
{
- halfword p;
+ pointer p;
p = get_node(style_node_size);
type(p) = choice_node;
show_node_list(info(temp_ptr));
}
/* sec 0704 */
-halfword fraction_rule_(scaled t)
+pointer fraction_rule_(scaled t)
{
- halfword p;
+ pointer p;
p = new_rule();
height(p) = t;
return p;
}
/* sec 0705 */
-halfword overbar_(halfword b, scaled k, scaled t)
+pointer overbar_(pointer b, scaled k, scaled t)
{
- halfword p, q;
+ pointer p, q;
p = new_kern(k);
link(p) = b;
link(q) = p;
p = new_kern(t);
link(p) = q;
+
return vpackage(p, 0, 1, 1073741823L); /* 2^30 - 1 */
}
/* sec 0709 */
-halfword char_box_(internal_font_number f, quarterword c)
+pointer char_box_(internal_font_number f, quarterword c)
{
four_quarters q;
eight_bits hd;
- halfword b, p;
+ pointer b, p;
q = char_info(f, c);
hd = height_depth(q);
return b;
}
/* sec 0711 */
-void stack_into_box_(halfword b, internal_font_number f, quarterword c)
+void stack_into_box_(pointer b, internal_font_number f, quarterword c)
{
- halfword p;
+ pointer p;
p = char_box(f, c);
link(p) = list_ptr(b);
q = char_info(f, c);
hd = height_depth(q);
+
return char_height(f, hd) + char_depth(f, hd);
}
/* sec 0706 */
-halfword var_delimiter_(halfword d, small_number s, scaled v)
+pointer var_delimiter_(pointer d, small_number s, scaled v)
{
- halfword b;
+ pointer b;
internal_font_number f, g;
quarterword c, x, y;
integer m, n;
four_quarters r;
eight_bits hd;
/* small_number z; */
- int z; /* 95/Jan/7 */
+ int z;
/* boolean large_attempt; */
- int large_attempt; /* 95/Jan/7 */
+ int large_attempt;
f = null_font;
w = 0;
continu:
q = char_info(g, y);
- if ((q.b0 > 0))
+ if (char_exists(q))
{
if (char_tag(q) == ext_tag)
{
#include "texd.h"
/* sec 0715 */
-halfword rebox_(halfword b, scaled w)
+pointer rebox_(pointer b, scaled w)
{
- halfword p;
+ pointer p;
internal_font_number f;
scaled v;
}
/* This is to be the start of tex5.c */
/* sec 0716 */
-halfword math_glue_(halfword g, scaled m)
+pointer math_glue_(pointer g, scaled m)
{
- halfword p;
+ pointer p;
integer n;
scaled f;
}
p = get_node(glue_spec_size);
- width(p) = mult_and_add(n, width(g), xn_over_d(width(g), f, 65536L), 1073741823L); /* 2^30 - 1 */
+ width(p) = mu_mult(width(g));
stretch_order(p) = stretch_order(g);
if (stretch_order(p) == normal)
- stretch(p) = mult_and_add(n, stretch(g), xn_over_d(stretch(g), f, 65536L), 1073741823L); /* 2^30 - 1 */
+ stretch(p) = mu_mult(stretch(g));
else
stretch(p) = stretch(g);
shrink_order(p) = shrink_order(g);
if (shrink_order(p) == normal)
- shrink(p) = mult_and_add(n, shrink(g), xn_over_d(shrink(g), f, 65536L), 1073741823L); /* 2^30 - 1 */
+ shrink(p) = mu_mult(shrink(g));
else
shrink(p) = shrink(g);
return p;
}
/* sec 0717 */
-void math_kern_ (halfword p, scaled m)
+void math_kern_ (pointer p, scaled m)
{
integer n;
scaled f;
f = f + 65536L;
}
- width(p) = mult_and_add(n, width(p), xn_over_d(width(p), f, 65536L), 1073741823L); /* 2^30 - 1 */
+ width(p) = mu_mult(width(p));
subtype(p) = explicit;
}
}
/* sec 0720 */
halfword clean_box_(halfword p, small_number s)
{
- halfword q;
+ pointer q;
small_number save_style;
- halfword x;
- halfword r;
+ pointer x;
+ pointer r;
switch (math_type(p))
{
cur_mu = x_over_n(math_quad(cur_size), 18);
}
+
found:
if (is_char_node(q) || (q == 0))
x = hpack(q, 0, 1);
return x;
}
/* sec 0722 */
-void fetch_(halfword a)
+void fetch_(pointer a)
{
cur_c = character(a);
cur_f = fam_fnt(fam(a) + cur_size);
else
cur_i = null_character;
- if (!((cur_i.b0 > 0)))
+ if (!char_exists(cur_i))
{
char_warning(cur_f, cur_c);
math_type(a) = 0;
}
}
/* sec 0734 */
-void make_over_(halfword q)
+void make_over_(pointer q)
{
info(nucleus(q)) = overbar(clean_box(nucleus(q), 2 * (cur_style / 2) + 1),
3 * default_rule_thickness, default_rule_thickness);
math_type(nucleus(q)) = sub_box;
}
/* sec 0735 */
-void make_under_(halfword q)
+void make_under_(pointer q)
{
- halfword p, x, y;
+ pointer p, x, y;
scaled delta;
x = clean_box(nucleus(q), cur_style);
math_type(nucleus(q)) = sub_box;
}
/* sec 0736 */
-void make_vcenter_(halfword q)
+void make_vcenter_(pointer q)
{
- halfword v;
+ pointer v;
scaled delta;
v = info(nucleus(q));
depth(v) = delta - height(v);
}
/* sec 0737 */
-void make_radical_(halfword q)
+void make_radical_(pointer q)
{
- halfword x, y;
+ pointer x, y;
scaled delta, clr;
x = clean_box(nucleus(q), 2 * (cur_style / 2) + 1);
math_type(nucleus(q)) = sub_box;
}
/* sec 0738 */
-void make_math_accent_(halfword q)
+void make_math_accent_(pointer q)
{
- halfword p, x, y;
+ pointer p, x, y;
integer a;
quarterword c;
internal_font_number f;
fetch(accent_chr(q));
- if ((cur_i.b0 > 0))
+ if (char_exists(cur_i))
{
i = cur_i;
c = cur_c;
if (op_byte(cur_i) >= kern_flag)
if (skip_byte(cur_i) <= stop_flag)
s = char_kern(cur_f, cur_i);
+
goto done1;
}
}
}
}
-done1:;
+
+done1:
x = clean_box(nucleus(q), cramped_style(cur_style));
w = width(x);
h = height(x);
y = rem_byte(i);
i = char_info(f, y);
- if (!(i.b0 > 0))
+ if (!char_exists(i))
goto done;
if (char_width(f, i) > w)
c = y;
}
-done:;
+
+done:
if (h < x_height(f))
delta = h;
else
{
flush_node_list(x);
x = new_noad();
- mem[nucleus(x)]= mem[nucleus(q)];
- mem[supscr(x)]= mem[supscr(q)];
- mem[subscr(x)]= mem[subscr(q)];
+ mem[nucleus(x)] = mem[nucleus(q)];
+ mem[supscr(x)] = mem[supscr(q)];
+ mem[subscr(x)] = mem[subscr(q)];
mem[supscr(q)].hh = empty_field;
mem[subscr(q)].hh = empty_field;
math_type(nucleus(q)) = sub_mlist;
y = char_box(f, c);
shift_amount(y) = s + half(w - width(y));
width(y) = 0;
- p = new_kern(- (integer) delta);
+ p = new_kern(-(integer) delta);
link(p) = x;
link(y) = p;
y = vpackage(y, 0, 1, 1073741823L); /* 2^30 - 1 */
}
}
/* sec 0743 */
-void make_fraction_(halfword q)
+void make_fraction_(pointer q)
{
- halfword p, v, x, y, z;
+ pointer p, v, x, y, z;
scaled delta, delta1, delta2, shift_up, shift_down, clr;
- if (thickness(q) == default_code) /* 2^30 */
+ if (thickness(q) == default_code)
thickness(q) = default_rule_thickness;
x = clean_box(numerator(q), num_style(cur_style));
link(v) = z;
new_hlist(q) = hpack(x, 0, 1);
}
-/***************************************************************************/
-scaled make_op_ (halfword);
-/***************************************************************************/
/* sec 0752 */
-void make_ord_(halfword q)
+void make_ord_(pointer q)
{
integer a;
- halfword p, r;
+ pointer p, r;
restart:
if (math_type(subscr(q)) == 0)
}
}
}
-/***************************************************************************/
-void make_scripts_ (halfword, scaled);
-/***************************************************************************/
/* sec 0762 */
-small_number make_left_right_(halfword q, small_number style, scaled max_d, scaled max_h)
+small_number make_left_right_(pointer q, small_number style, scaled max_d, scaled max_h)
{
scaled delta, delta1, delta2;
/* sec 0726 */
void mlist_to_hlist (void)
{
- halfword mlist;
+ pointer mlist;
boolean penalties;
small_number style;
small_number save_style;
- halfword q;
- halfword r;
+ pointer q;
+ pointer r;
/* small_number r_type; */
- int r_type; /* 95/Jan/7 */
+ int r_type;
/* small_number t; */
- int t; /* 95/Jan/7 */
- halfword p, x, y, z;
+ int t;
+ pointer p, x, y, z;
integer pen;
small_number s;
scaled max_h, max_d;
break;
default:
- ;
+ do_nothing();
break;
}
break;
case open_noad:
case inner_noad:
- ;
+ do_nothing();
break;
case radical_noad:
switch (cur_style / 2)
{
case 0:
- {
- p = display_mlist(q);
- display_mlist(q) = 0;
- }
+ choose_mlist(display_mlist);
break;
case 1:
- {
- p = text_mlist(q);
- text_mlist(q) = 0;
- }
+ choose_mlist(text_mlist);
break;
case 2:
- {
- p = script_mlist(q);
- script_mlist(q) = 0;
- }
+ choose_mlist(script_mlist);
break;
case 3:
- {
- p = script_script_mlist(q);
- script_script_mlist(q) = 0;
- }
+ choose_mlist(script_script_mlist);
break;
}
link(p) = z;
}
+
goto done_with_node;
}
break;
flush_node_list(p);
}
}
+
goto done_with_node;
}
break;
{
fetch(nucleus(q));
- if ((cur_i.b0 > 0))
+ if (char_exists(cur_i))
{
delta = char_italic(cur_f, cur_i);
p = new_character(cur_f, cur_c);
goto check_dimensions;
make_scripts(q, delta);
+
check_dimensions:
z = hpack(new_hlist(q), 0, 1);
max_d = depth(z);
free_node(z, box_node_size);
+
done_with_noad:
r = q;
r_type = type(r);
+
done_with_node:
q = link(q);
}
case vcenter_noad:
case over_noad:
case under_noad:
- ;
+ do_nothing();
break;
case radical_noad:
}
r_type = t;
+
delete_q:
r = q;
q = link(q);
/* sec 0772 */
void push_alignment (void)
{
- halfword p;
+ pointer p;
p = get_node(align_stack_node_size);
link(p) = align_ptr;
/* sec 0772 */
void pop_alignment (void)
{
- halfword p;
+ pointer p;
free_avail(cur_head);
p = align_ptr;
/* sec 0774 */
void init_align (void)
{
- halfword save_cs_ptr;
- halfword p;
+ pointer save_cs_ptr;
+ pointer p;
save_cs_ptr = cur_cs;
push_alignment();
link(cur_align) = new_null_box();
cur_align = link(cur_align);
info(cur_align) = end_span;
- width(cur_align) = null_flag; /* - 2^30 */
+ width(cur_align) = null_flag;
u_part(cur_align) = link(hold_head);
p = hold_head;
link(p) = 0;
if (every_cr != 0)
begin_token_list(every_cr, every_cr_text);
+
align_peek();
}
/* sec 0787 */
-void init_span_ (halfword p)
+void init_span_ (pointer p)
{
push_nest();
/* sec 0799 */
void fin_row (void)
{
- halfword p;
+ pointer p;
if (mode == -hmode)
{
/* sec 0800 */
void fin_align (void)
{
- halfword p, q, r, s, u, v;
+ pointer p, q, r, s, u, v;
scaled t, w;
scaled o;
halfword n;
flush_list(v_part(q));
p = link(link(q));
- if (width(q) == null_flag) /* - 2^30 */
+ if (width(q) == null_flag)
{
width(q) = 0;
r = link(q);
/* sec 0791 */
boolean fin_col (void)
{
- halfword p;
- halfword q, r;
- halfword s;
- halfword u;
+ pointer p;
+ pointer q, r;
+ pointer s;
+ pointer u;
scaled w;
glue_ord o;
halfword n;
return false;
}
/* sec 0749 */
-scaled make_op_(halfword q)
+scaled make_op_(pointer q)
{
scaled delta;
- halfword p, v, x, y, z;
+ pointer p, v, x, y, z;
quarterword c;
four_quarters i;
scaled shift_up, shift_down;
c = rem_byte(cur_i);
i = char_info(cur_f, c);
- if ((i.b0 > 0))
+ if (char_exists(i))
{
cur_c = c;
cur_i = i;
return delta;
}
/* sec 0756 */
-void make_scripts_(halfword q, scaled delta)
+void make_scripts_(pointer q, scaled delta)
{
- halfword p, x, y, z;
+ pointer p, x, y, z;
scaled shift_up, shift_down, clr;
small_number t;
}
}
/* sec 0826 */
-halfword finite_shrink_(halfword p)
+pointer finite_shrink_(pointer p)
{
- halfword q;
+ pointer q;
if (no_shrink_error_yet)
{
/* sec 0829 */
void try_break_ (integer pi, small_number break_type)
{
- halfword r;
- halfword prev_r;
+ pointer r;
+ pointer prev_r;
halfword old_l;
boolean no_break_yet;
- halfword prev_prev_r;
- halfword s;
- halfword q;
- halfword v;
+ pointer prev_prev_r;
+ pointer s;
+ pointer q;
+ pointer v;
integer t;
internal_font_number f;
halfword l;
halfword b;
integer d;
boolean artificial_demerits;
- halfword save_link;
+ pointer save_link;
scaled shortfall;
- if (abs(pi)>= inf_penalty)
+ if (abs(pi) >= inf_penalty)
if (pi > 0)
goto exit;
else
}
if (type(prev_r) == delta_node)
- {
do_all_six(convert_to_break_width);
- }
else if (prev_r == active)
- {
do_all_six(store_break_width);
- }
else
{
q = get_node(delta_node_size);
}
}
}
-exit:
- ;
+
+exit:;
#ifdef STAT
if (cur_p == printed_node)
if (cur_p != 0)
/* sec 0877 */
void post_line_break_(integer final_widow_penalty)
{
- halfword q, r, s;
+ pointer q, r, s;
boolean disc_break;
boolean post_disc_break;
scaled cur_width;
link(r) = link(q);
link(q) = r;
q = r;
+
done:
+
r = link(q);
link(q) = 0;
q = link(temp_head);
/* sec 0906 */
small_number reconstitute_(small_number j, small_number n, halfword bchar, halfword hchar)
{
- halfword p;
- halfword t;
+ pointer p;
+ pointer t;
four_quarters q;
halfword cur_rh;
halfword test_char;
t = p;
ligature_present = false;
}
+
cur_q = t;
cur_l = rem_byte(q);
ligature_present = true;
k = k + skip_byte(q) + 1;
q = font_info[k].qqqq;
}
+
done:
wrap_lig(rt_hit);
w = 0;
}
- if (lig_stack != 0) /* l.17841 */
+ if (lig_stack != 0)
{
cur_q = t;
cur_l = character(lig_stack);
/* char i, j, l; */
char i, j;
int l; /* 95/Jan/7 */
- halfword q, r, s;
+ pointer q, r, s;
halfword bchar;
- halfword major_tail, minor_tail;
+ pointer major_tail, minor_tail;
/* ASCII_code c; */
- int c; /* 95/Jan/7 */
+ int c;
char c_loc;
/* integer r_count; */
- int r_count; /* 95/Jan/7 */
- halfword hyf_node;
+ int r_count;
+ pointer hyf_node;
trie_pointer z;
integer v;
hyph_pointer h;
goto found;
}
-done:;
+done:
if (h > 0)
decr(h);
else
h = hyphen_prime;
}
+
not_found:
decr(hn);
return;
-found1:;
+found1:
q = link(hb);
link(hb) = 0;
r = link(ha);
j = 0;
goto common_ending;
+
found2:
s = ha;
j = 0;
hu[0] = 256;
init_lig = false;
init_list = 0;
+
common_ending:
flush_node_list(r);
/* sec 0934 */
void new_hyph_exceptions (void)
{
-/* small_number n; */ /* in 3.141 */
char n;
-/* small_number j; */ /* in 3.141 */
char j;
hyph_pointer h;
str_number k;
- halfword p;
- halfword q;
+ pointer p;
+ pointer q;
str_number s, t;
pool_pointer u, v;
while (true)
{
get_x_token();
+
reswitch:
switch (cur_cmd)
{
if (hyph_count == hyphen_prime)
{
- overflow("exception dictionary", hyphen_prime); /* exception dictionary - NOT DYNAMIC */
+ overflow("exception dictionary", hyphen_prime);
return;
}
t = hyph_word[h];
hyph_word[h] = s;
s = t;
-not_found:;
+
+not_found:
if (h > 0)
decr(h);
else
error();
}
break;
- } /* end of switch */
+ }
}
}
/* sec 0968 */
-halfword prune_page_top_(halfword p)
+pointer prune_page_top_(pointer p)
{
- halfword prev_p;
- halfword q;
+ pointer prev_p;
+ pointer q;
prev_p = temp_head;
link(temp_head) = p;
return link(temp_head);
}
/* sec 0970 */
-halfword vert_break_(halfword p, scaled h, scaled d)
+pointer vert_break_(pointer p, scaled h, scaled d)
{
- halfword prev_p;
- halfword q, r;
+ pointer prev_p;
+ pointer q, r;
integer pi;
integer b;
integer least_cost;
- halfword best_place;
+ pointer best_place;
scaled prev_dp;
-/* small_number t; */
- int t; /* 95/Jan/7 */
- prev_p = p;
+/* small_number t; */
+ int t;
+ prev_p = p;
least_cost = awful_bad;
do_all_six(set_height_zero);
prev_dp = 0;
b = 0;
else
b = badness(h - cur_height, active_width[2]);
+ else if (act_width - h > active_width[6])
+ b = awful_bad;
else
- if (act_width - h > active_width[6])
- b = awful_bad;
- else
- b = badness(cur_height - h, active_width[6]);
+ b = badness(cur_height - h, active_width[6]);
if (b < awful_bad)
if (pi <= eject_penalty)
b = pi;
+ else if (b < inf_bad)
+ b = b + pi;
else
- if (b < inf_bad)
- b = b + pi;
- else
- b = deplorable;
+ b = deplorable;
if (b <= least_cost)
{
goto not_found;
update_heights:
+
if (type(p) == kern_node)
q = p;
else
cur_height = cur_height + prev_dp + width(q);
prev_dp = 0;
+
not_found:
+
if (prev_dp > d)
{
cur_height = cur_height + prev_dp - d;
return best_place;
}
/* sec 0977 */
-halfword vsplit_(eight_bits n, scaled h)
+pointer vsplit_(eight_bits n, scaled h)
{
- halfword v;
- halfword p;
- halfword q;
+ pointer v;
+ pointer p;
+ pointer q;
v = box(n);
link(p) = 0;
goto done;
}
+
p = link(p);
}
-done:;
+
+done:
q = prune_page_top(q);
p = list_ptr(v);
free_node(v, box_node_size);
/* sec 0993 */
void ensure_vbox_(eight_bits n)
{
- halfword p;
+ pointer p;
p = box(n);
}
}
/* sec 1012 */
-void fire_up_(halfword c)
+void fire_up_(pointer c)
{
pointer p, q, r, s;
pointer prev_p;
-/* unsigned char n; */
- unsigned int n; /* 95/Jan/7 */
+/* unsigned char n; */
+ unsigned int n;
boolean wait;
integer save_vbadness;
scaled save_vfuzz;
/* sec 0994 */
void build_page (void)
{
- halfword p;
- halfword q, r;
+ pointer p;
+ pointer q, r;
integer b, c;
integer pi;
-/* unsigned char n; */
- unsigned int n; /* 95/Jan/7 */
+/* unsigned char n; */
+ unsigned int n;
scaled delta, h, w;
if ((link(contrib_head) == 0) || output_active)
else
{
if (count(n) <= 0)
- w = max_dimen; /* 2^30 - 1 */
+ w = max_dimen;
else
{
w = page_goal - page_total - page_depth;
c = b;
if (insert_penalties >= 10000)
- c = awful_bad; /* 2^30 - 1 */
+ c = awful_bad;
#ifdef STAT
if (tracing_pages > 0)
print_scaled(page_goal);
prints(" b=");
- if (b == awful_bad) /* 2^30 - 1 */
+ if (b == awful_bad)
print_char('*');
else
print_int(b);
print_int(pi);
prints(" c=");
- if (c == awful_bad) /* 2^30 - 1 */
+ if (c == awful_bad)
print_char('*');
else
print_int(c);
end_diagnostic(false);
}
-#endif /* STAT */
+#endif
if (c <= least_page_cost)
{
}
}
- if ((c == awful_bad) || (pi <= eject_penalty)) /* 2^30 - 1 */
+ if ((c == awful_bad) || (pi <= eject_penalty))
{
fire_up(p);
page_total = page_total + page_depth + width(q);
page_depth = 0;
+
contribute:
if (page_depth > page_max_depth)
{
link(contrib_head) = link(p);
link(p) = 0;
goto done;
+
done1:
link(contrib_head) = link(p);
link(p) = 0;
shift_amount(cur_box) = 0;
tail = p;
link(p) = 0;
-done:
- ;
+done:;
}
}
}
if (every_hbox != 0)
begin_token_list(every_hbox, every_vbox_text);
}
+
return;
}
break;
back_error();
}
}
-/****************************************************************************/
-void package_ (small_number);
-/****************************************************************************/
/* sec 1091 */
small_number norm_min_ (integer h)
{
space_factor = 1000;
set_cur_lang();
clang = cur_lang;
- prev_graf =(norm_min(left_hyphen_min) * 64 + norm_min(right_hyphen_min)) * 65536L + cur_lang;
+ prev_graf = (norm_min(left_hyphen_min) * 64 + norm_min(right_hyphen_min)) * 65536L + cur_lang;
if (indented)
{
if (head == tail)
{
pop_nest();
- w = -max_dimen; /* - (2^30 - 1) */
+ w = -max_dimen;
}
else
{
line_break(display_widow_penalty);
v = shift_amount(just_box) + 2 * quad(cur_font);
- w = -max_dimen; /* - (2^30 - 1) */
+ w = -max_dimen;
p = list_ptr(just_box);
while (p != 0)
if (glue_sign(just_box) == stretching)
{
if ((glue_order(just_box) == stretch_order(q)) && (stretch(q) != 0))
- v = max_dimen; /* - (2^30 - 1) */
+ v = max_dimen;
}
else if (glue_sign(just_box) == shrinking)
{
if ((glue_order(just_box) == shrink_order(q)) && (shrink(q) != 0))
- v = max_dimen; /* - (2^30 - 1) */
+ v = max_dimen;
}
if (subtype(p) >= a_leaders)
break;
}
- if (v < max_dimen) /* - (2^30 - 1) */
+ if (v < max_dimen)
v = v + d;
goto not_found;
+
found:
- if (v < max_dimen) /* - (2^30 - 1) */
+ if (v < max_dimen)
{
v = v + d;
w = v;
}
else
{
- w = max_dimen; /* - (2^30 - 1) */
+ w = max_dimen;
goto done;
}
+
not_found:
p = link(p);
}
void sub_sup (void)
{
/* small_number t; */
- int t; /* 95/Jan/7 */
+ int t;
pointer p;
t = 0;
error();
}
}
+
scan_math(p);
}
/* sec 1086 */
if (p < glue_val)
if (q == multiply)
if (p == int_val)
- cur_val = mult_and_add(eqtb[l].cint, cur_val, 0, 2147483647L); /* 2^31 - 1 */
+ cur_val = mult_integers(eqtb[l].cint, cur_val);
else
- cur_val = mult_and_add(eqtb[l].cint, cur_val, 0, 1073741823L); /* 2^30 - 1 */
+ cur_val = nx_plus_y(eqtb[l].cint, cur_val, 0);
else
cur_val = x_over_n(eqtb[l].cint, cur_val);
else
if (q == multiply)
{
- width(r) = mult_and_add(width(s), cur_val, 0, 1073741823L); /* 2^30 - 1 */
- stretch(r) = mult_and_add(stretch(s), cur_val, 0, 1073741823L); /* 2^30 - 1 */
- shrink(r) = mult_and_add(shrink(s), cur_val, 0, 1073741823L); /* 2^30 - 1 */
+ width(r) = nx_plus_y(width(s), cur_val, 0);
+ stretch(r) = nx_plus_y(stretch(s), cur_val, 0);
+ shrink(r) = nx_plus_y(shrink(s), cur_val, 0);
}
else
{
t = text(u);
else if (u >= single_base)
if (u == null_cs)
- t = 1213; /* FONT */
+ t = 1213; /* FONT */
else
t = u - single_base;
else
get_token();
if (interaction == error_stop_mode)
- ;
+ do_nothing();
print_nl("> ");
p = the_toks();
if (interaction == error_stop_mode)
- ;
+ do_nothing();
print_nl("> ");
token_show(temp_head);
begin_token_list(every_job, every_job_text);
big_switch:
- get_x_token(); /* big_switch */
+ get_x_token();
reswitch:
if (interrupt != 0)
case vmode + spacer:
case mmode + spacer:
case mmode + no_boundary:
- ;
+ do_nothing();
break;
case any_mode(ignore_spaces):
main_i = char_info(main_f, cur_l);
- if (!(main_i.b0 > 0))
+ if (!char_exists(main_i))
{
char_warning(main_f, cur_chr);
free_avail(lig_stack);
goto big_switch;
}
- {
- link(tail) = lig_stack;
- tail = lig_stack;
- }
+
+ link(tail) = lig_stack;
+ tail = lig_stack;
main_loop_lookahead:
get_next();
if (cur_cmd == letter)
goto main_loop_lookahead_1;
+
if (cur_cmd == other_char)
goto main_loop_lookahead_1;
+
if (cur_cmd == char_given)
goto main_loop_lookahead_1;
if (cur_cmd == letter)
goto main_loop_lookahead_1;
+
if (cur_cmd == other_char)
goto main_loop_lookahead_1;
+
if (cur_cmd == char_given)
goto main_loop_lookahead_1;
bSuppress = 1;
}
- if (next_char(main_j) == cur_r && bSuppress == 0) /* 99/Jan/5 */
+ if (next_char(main_j) == cur_r && bSuppress == 0)
if (skip_byte(main_j) <= stop_flag)
{
if (op_byte(main_j) >= kern_flag)
main_loop_move_lig:
main_p = lig_ptr(lig_stack);
- if (main_p != 0) /* BUG FIX */
+ if (main_p != 0)
tail_append(main_p);
temp_ptr = lig_stack;
ligature_present = true;
if (lig_stack == 0)
- if (main_p != 0) /* BUG FIX */
+ if (main_p != 0)
goto main_loop_lookahead;
else
cur_r = bchar;
font_glue[cur_font] = main_p;
}
}
+
temp_ptr = new_glue(main_p);
}
else
#define unity 0200000
#define two 0400000
/* sec 0105 */
-#define nx_plux_y(...) mult_and_add(..., 07777777777L)
-#define mult_integers(a) mult_and_add(a,0,017777777777L)
+#define nx_plus_y(a, b, c) mult_and_add(a, b, c, 07777777777L)
+#define mult_integers(a, b) mult_and_add(a, b, 0, 017777777777L)
/* sec 0108 */
#define inf_bad 10000L
/* sec 0109 */
#define sup_style(a) (2 * ((a) / 4) + script_style + ((a) % 2))
#define num_style(a) ((a) + 2 - 2 * ((a) / 6))
#define denom_style(a) (2 * ((a) / 2) + cramped + 2 - 2 * ((a) / 6))
+/* sec 0716 */
+#define mu_mult(a) nx_plus_y(n, a, xn_over_d(a, f, 0200000))
/* sec 0725 */
#define new_hlist(a) mem[nucleus(a)].cint
+/* sec 0731 */
+#define choose_mlist(a) \
+do \
+{ \
+ p = a(q); \
+ a(q) = 0; \
+} \
+while (0)
/* sec 0770 */
#define preamble link(align_head)
#define align_stack_node_size 5
#define delta_node_size 7
#define delta_node 2
/* sec 0823 */
-#define do_all_six(a) a(1); a(2); a(3); a(4); a(5); a(6)
+#define do_all_six(a) \
+do \
+{ \
+ a(1); a(2); a(3); \
+ a(4); a(5); a(6); \
+} \
+while (0)
/* sec 0825 */
#define check_shrinkage(s) \
do \