OSDN Git Service

memory aligning.
authormaqiyuan <maqiyuan@users.sourceforge.jp>
Sat, 31 May 2014 13:27:32 +0000 (21:27 +0800)
committermaqiyuan <maqiyuan@users.sourceforge.jp>
Sat, 31 May 2014 13:27:32 +0000 (21:27 +0800)
17 files changed:
src/texsourc/coerce.h
src/texsourc/itex.c
src/texsourc/local.c
src/texsourc/tex0.c
src/texsourc/tex1.c
src/texsourc/tex2.c
src/texsourc/tex3.c
src/texsourc/tex4.c
src/texsourc/tex5.c
src/texsourc/tex6.c
src/texsourc/tex7.c
src/texsourc/tex8.c
src/texsourc/tex9.c
src/texsourc/texd.h
src/texsourc/texmfmem.h
src/texsourc/yandy_macros.h
src/texsourc/yandytex.h

index 468bd0b..bca40ff 100644 (file)
@@ -327,8 +327,8 @@ halfword 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))
-scaled height_plus_depth_(internal_font_number, fquarterword); 
-#define height_plus_depth(f, c) height_plus_depth_((internal_font_number) (f), (fquarterword) (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);
index 74f5067..fd61647 100644 (file)
@@ -224,8 +224,8 @@ void initialize (void)
   adjust_tail = 0;
   last_badness = 0;
   pack_begin_line = 0;
-  empty_field.v.RH = 0;
-  empty_field.v.LH = 0;
+  empty_field.rh = 0;
+  empty_field.lh = 0;
   null_delimiter.b0 = 0;
   null_delimiter.b1 = 0;
   null_delimiter.b2 = 0;
@@ -1118,7 +1118,7 @@ void prefixed_command (void)
         }
 
         if (cur_cmd >= call)
-          incr(mem[cur_chr].hh.v.LH);
+          incr(mem[cur_chr].hh.lh);
 
         if ((a >= 4))
           geq_define(p, cur_cmd, cur_chr);
@@ -1276,7 +1276,7 @@ void prefixed_command (void)
                 eq_define(p, undefined_cs, 0);
             else
             {
-              incr(mem[q].hh.v.LH);
+              incr(mem[q].hh.lh);
 
               if ((a >= 4))
                 geq_define(p, call, q);
@@ -1596,40 +1596,6 @@ lab30:
     after_token = 0;
   }
 }
-
-void bad_formator_pool (char *name, char *defaultname, char *envvar)
-{
-  if (name == NULL)
-    name = defaultname;
-
-  sprintf(log_line, "(Perhaps %s is for an older version of TeX)\n", name);
-  show_line(log_line, 0);
-  name_of_file[name_length + 1] = '\0';
-  sprintf(log_line, "(Alternatively, %s may have been corrupted)\n", name_of_file + 1);
-  show_line(log_line, 0);
-  name_of_file[name_length + 1] = ' ';
-  sprintf(log_line, "(Perhaps your %s environment variable is not set correctly)\n", envvar);
-  show_line(log_line, 0);
-
-  {
-    char *s;
-
-    if ((s = grabenv(envvar)) != NULL)
-    {
-      sprintf(log_line, "(%s=%s)\n", envvar, s);
-      show_line(log_line, 0);
-    }
-    else
-    {
-      sprintf(log_line, "%s environment variable not set\n", envvar);
-      show_line(log_line, 0);
-    }
-  }
-
-#ifndef _WINDOWS
-  fflush(stdout);
-#endif
-}
 /* sec 1303 */
 bool load_fmt_file (void)
 {
@@ -2285,9 +2251,6 @@ lab6666:;
   sprintf(log_line, "(Fatal format file error; I'm stymied)\n");
   show_line(log_line, 1);
 
-  if (!knuth_flag)
-    bad_formator_pool(format_file, "the format file", "TEXFORMATS");
-
   return false;
 }
 /* sec 1335 */
@@ -2342,7 +2305,7 @@ void final_cleanup (void)
     if_line = mem[cond_ptr + 1].cint;
     cur_if = mem[cond_ptr].hh.b1;
     temp_ptr = cond_ptr;
-    cond_ptr = mem[cond_ptr].hh.v.RH;
+    cond_ptr = mem[cond_ptr].hh.rh;
     free_node(temp_ptr, 2);
   }
 
@@ -2493,9 +2456,6 @@ int texbody (void)
         "---case ", (long) bad);
     show_line(log_line, 1);
 
-    if (!knuth_flag)
-      bad_formator_pool(format_file, "the format file", "TEXFORMATS");
-
     goto lab9999;
   }
 
@@ -3715,7 +3675,7 @@ void store_fmt_file (void)
   while (p != 0)
   {
     decr(dyn_used);
-    p = mem[p].hh.v.RH;
+    p = mem[p].hh.rh;
   }
 
   dump_int(var_used);
index cae308b..bd2cf07 100644 (file)
@@ -1023,9 +1023,9 @@ memory_word *realloc_main (int losize, int hisize)
 int current_font_mem_size = 0;
 
 /* fmemoryword can be either halfword or memory_word */
-fmemoryword * realloc_font_info (int size)
+memory_word * realloc_font_info (int size)
 {
-  fmemoryword *newfontinfo = NULL;
+  memory_word *newfontinfo = NULL;
   int k, minsize;
   int newsize = 0;
   int n = 0;
@@ -1061,12 +1061,12 @@ fmemoryword * realloc_font_info (int size)
       newsize = font_mem_size; /* bump against limit */
 
 /*    important + 1 since fmemoryword font_info[font_mem_size + 1]  original */
-    n = (newsize + 1) * sizeof (fmemoryword);
+    n = (newsize + 1) * sizeof (memory_word);
 
     if (trace_flag)
       trace_memory("font_info", n);
 
-    newfontinfo = (fmemoryword *) REALLOC (font_info, n);
+    newfontinfo = (memory_word *) REALLOC (font_info, n);
 
     if (newfontinfo != NULL)
       break;   /* did we get it ? */
@@ -1091,7 +1091,7 @@ fmemoryword * realloc_font_info (int size)
     show_line(log_line, 0);
   }
 
-  update_statistics ((int) font_info, n, current_font_mem_size * sizeof(fmemoryword));
+  update_statistics ((int) font_info, n, current_font_mem_size * sizeof(memory_word));
   current_font_mem_size = newsize;
 
   if (trace_flag)
@@ -1639,7 +1639,7 @@ ASCII_code *realloc_buffer (int size)
     show_line(log_line, 0);
   }
 
-  if (current_buf_size == buf_size)  /* arbitrary limit */
+  if (current_buf_size == buf_size)
   {
 /*    memory_error ("buffer", buf_size); */
 /*    exit (1); */
@@ -1661,7 +1661,7 @@ ASCII_code *realloc_buffer (int size)
     if (newsize > buf_size)
       newsize = buf_size;
 
-    n = (newsize + 1) * sizeof(ASCII_code);  /* buffer[buf_size + 1] */
+    n = (newsize + 1) * sizeof(ASCII_code);
 
     if (trace_flag)
       trace_memory("buffer", n);
@@ -1674,7 +1674,7 @@ ASCII_code *realloc_buffer (int size)
     if (current_buf_size == 0)
       break;   /* initial allocation must work */
 
-    size = size / 2;          /* else can retry smaller */
+    size = size / 2;
   }
 
   if (newbuffer == NULL)
@@ -2506,8 +2506,8 @@ int analyze_flag (int c, char *optarg)
       interaction = error_stop_mode; /* tex mode */
       break;
     case 'K':
-      backwardflag = true; /* 94/Jun/15 */
-      knuthify();         /* revert to `standard' Knuth TeX */
+      backwardflag = true;
+      knuthify(); /* revert to `standard' Knuth TeX */
       break;
     case 'L':
       c_style_flag = true; /* C style error msg 94/Mar/21 */
@@ -3177,7 +3177,7 @@ int main_init (int ac, char **av)
   kpse_set_program_name(av[0], NULL);
   xputenv("engine", "yandytex");
 
-  if (sizeof(memory_word) != sizeof(integer) * 2)
+  if (sizeof(memory_word) != sizeof(halfword) * 2)
   {
     sprintf(log_line, "ERROR: Bad word size %d!\n", sizeof(memory_word));
     show_line(log_line, 1);
@@ -3361,7 +3361,7 @@ void print_cs_name (FILE *output, int h)
 
   memset(log_line, 0, sizeof(log_line));
 
-  textof = hash[h].v.RH;
+  textof = hash[h].rh;
 
   if (textof == 0)
     return;
@@ -3394,8 +3394,8 @@ int compare_cs (const void *cp1, const void *cp2)
 
   c1 = *(int *)cp1;
   c2 = *(int *)cp2;
-  textof1 = hash[c1].v.RH;
-  textof2 = hash[c2].v.RH;
+  textof1 = hash[c1].rh;
+  textof2 = hash[c2].rh;
   l1 = length(textof1); 
   l2 = length(textof2); 
   k1 = str_start[textof1]; 
@@ -3438,7 +3438,7 @@ void print_cs_names (FILE *output, int pass)
     if (pass == 1 && csused[h])
       continue;
 
-    if (hash[h].v.RH != 0)
+    if (hash[h].rh != 0)
     {
       if (pass == 0)
         csused[h] = 1;
@@ -3476,7 +3476,7 @@ void print_cs_names (FILE *output, int pass)
       if (pass == 1 && csused[h])
         continue;
 
-      if (hash[h].v.RH != 0)
+      if (hash[h].rh != 0)
         cnumtable[ccount++] = h;
     }
 
index a98dc5e..ab8dc7d 100644 (file)
@@ -1455,13 +1455,13 @@ void print_word_(memory_word w)
   print_char(' ');
   print_scaled(round(65536L * w.gr));
   print_ln();
-  print_int(w.hh.v.LH);
+  print_int(w.hh.lh);
   print_char('=');
   print_int(w.hh.b0);
   print_char(':');
   print_int(w.hh.b1);
   print_char(';');
-  print_int(w.hh.v.RH);
+  print_int(w.hh.rh);
   print_char(' ');
   print_int(w.qqqq.b0); 
   print_char(':');
@@ -1472,7 +1472,7 @@ void print_word_(memory_word w)
   print_int(w.qqqq.b3);
 } 
 /* need this version only if SHORTFONTINFO defined */
-void zprintfword(fmemoryword w)
+void zprintfword(memory_word w)
 {
   print_int(w.cint);
   print_char(' ');
@@ -1480,13 +1480,13 @@ void zprintfword(fmemoryword w)
   print_char(' ');
   print_scaled(round(65536L * w.gr));
   print_ln();
-  print_int(w.hh.v.LH);
+  print_int(w.hh.lh);
   print_char('=');
   print_int(w.hh.b0);
   print_char(':');
   print_int(w .hh.b1);
   print_char(';');
-  print_int(w.hh.v.RH);
+  print_int(w.hh.rh);
   print_char(' ');
   print_int(w.qqqq.b0);
   print_char(':');
@@ -1721,7 +1721,7 @@ lab20:
     {
       q = p + node_size(p);
 
-      while ((mem[q].hh.v.RH == empty_flag))
+      while ((mem[q].hh.rh == empty_flag))
       {
         t = rlink(q);
 
@@ -2610,7 +2610,7 @@ void show_node_list_(integer p)
               str_pool[pool_ptr] = 46;
               incr(pool_ptr);
             }
-            show_node_list(mem[p + 5].hh.v.RH);
+            show_node_list(mem[p + 5].hh.rh);
             decr(pool_ptr);
           }
         }
@@ -2644,7 +2644,7 @@ void show_node_list_(integer p)
               str_pool[pool_ptr] = 46;
               incr(pool_ptr);
             }
-            show_node_list(mem[p + 4].hh.v.LH);
+            show_node_list(mem[p + 4].hh.lh);
             decr(pool_ptr);
           }
         }
@@ -2714,7 +2714,7 @@ void show_node_list_(integer p)
               str_pool[pool_ptr] = 46;
               incr(pool_ptr);
             }
-            show_node_list(mem[p + 1].hh.v.RH);
+            show_node_list(mem[p + 1].hh.rh);
             decr(pool_ptr);
           }
         }
@@ -2825,14 +2825,14 @@ void show_node_list_(integer p)
               str_pool[pool_ptr] = 46;
               incr(pool_ptr);
             }
-            show_node_list(mem[p + 1].hh.v.LH);
+            show_node_list(mem[p + 1].hh.lh);
             decr(pool_ptr);
           }
           {
             str_pool[pool_ptr]= 124;
             incr(pool_ptr);
           }
-          show_node_list(mem[p + 1].hh.v.RH);
+          show_node_list(mem[p + 1].hh.rh);
           decr(pool_ptr);
         }
         break;
index 9bfb15f..7344bab 100644 (file)
@@ -127,10 +127,10 @@ void flush_node_list_(pointer p)
           break;
         case glue_node:
           {
-            if (mem[mem[p + 1].hh.v.LH].hh.v.RH == 0)
-              free_node(mem[p + 1].hh.v.LH, 4);
+            if (mem[mem[p + 1].hh.lh].hh.rh == 0)
+              free_node(mem[p + 1].hh.lh, 4);
             else
-              decr(mem[mem[p + 1].hh.v.LH].hh.v.RH);
+              decr(mem[mem[p + 1].hh.lh].hh.rh);
           }
 
           if (leader_ptr(p) != 0)
@@ -603,14 +603,14 @@ void show_activities (void)
       case 1:
         {
           print_nl("spacefactor ");
-          print_int(a.hh.v.LH);
+          print_int(a.hh.lh);
 
           if (m > 0)
           {
-            if (a.hh.v.RH > 0)
+            if (a.hh.rh > 0)
             {
               print_string(", current language ");
-              print_int(a.hh.v.RH);
+              print_int(a.hh.rh);
             }
           }
         }
@@ -2177,7 +2177,7 @@ void show_eqtb_(halfword n)
 
                     print_char('=');
                     print_esc("");
-                    print(hash[font_id_base + equiv(n)].v.RH);
+                    print(hash[font_id_base + equiv(n)].rh);
                   }
                   else
                     if (n < math_code_base)
index 04d6501..40f78ac 100644 (file)
@@ -937,8 +937,8 @@ lab22:
               {
                 {
                   q = get_avail();
-                  mem[p].hh.v.RH = q;
-                  mem[q].hh.v.LH = mem[t].hh.v.LH;
+                  mem[p].hh.rh = q;
+                  mem[q].hh.lh = mem[t].hh.lh;
                   p = q;
                 }
 
@@ -1010,16 +1010,16 @@ lab30:
                     q = get_avail();
                   else
                   {
-                    avail = mem[q].hh.v.RH;
-                    mem[q].hh.v.RH = 0;
+                    avail = mem[q].hh.rh;
+                    mem[q].hh.rh = 0;
 #ifdef STAT
                     incr(dyn_used);
 #endif /* STAT */
                   }
                 }
 
-                mem[p].hh.v.RH = q;
-                mem[q].hh.v.LH = cur_tok;
+                mem[p].hh.rh = q;
+                mem[q].hh.lh = cur_tok;
                 p = q;
               }
 
@@ -1064,8 +1064,8 @@ lab31:
 
             {
               q = get_avail();
-              mem[p].hh.v.RH = q;
-              mem[q].hh.v.LH = cur_tok;
+              mem[p].hh.rh = q;
+              mem[q].hh.lh = cur_tok;
               p = q;
             }
           }
@@ -1096,8 +1096,8 @@ lab31:
 
           {
             q = get_avail();
-            mem[p].hh.v.RH = q;   /* p may be used without having ... */
-            mem[q].hh.v.LH = cur_tok;
+            mem[p].hh.rh = q;   /* p may be used without having ... */
+            mem[q].hh.lh = cur_tok;
             p = q;
           }
         }
@@ -1261,8 +1261,8 @@ void expand (void)
             if (cur_cs == 0)
             {
               q = get_avail();
-              mem[p].hh.v.RH = q;
-              mem[q].hh.v.LH = cur_tok;
+              mem[p].hh.rh = q;
+              mem[q].hh.lh = cur_tok;
               p = q;
             }
           }
@@ -1502,8 +1502,8 @@ bool scan_keyword_(char * s)
     {
       {
         q = get_avail();
-        mem[p].hh.v.RH = q;
-        mem[q].hh.v.LH = cur_tok;
+        mem[p].hh.rh = q;
+        mem[q].hh.lh = cur_tok;
         p = q;
       }
 
@@ -1698,7 +1698,7 @@ void find_font_dimen_(bool writing)
   if (cur_val == fmem_ptr)
   {
     print_err("Font ");
-/*    print_esc(hash[(hash_size + 524) + f].v.RH); */
+/*    print_esc(hash[(hash_size + 524) + f].rh); */
     print_esc(""); print(font_id_text(f));
     print_string(" has only ");
     print_int(font_params[f]);
@@ -1766,7 +1766,7 @@ void scan_something_internal_(small_number level, bool negative)
         }
 
         {
-          cur_val = eqtb[m].hh.v.RH;
+          cur_val = eqtb[m].hh.rh;
           cur_val_level = tok_val;
         }
       }
@@ -1798,14 +1798,14 @@ void scan_something_internal_(small_number level, bool negative)
 
     case assign_glue:
       {
-        cur_val = eqtb[m].hh.v.RH;
+        cur_val = eqtb[m].hh.rh;
         cur_val_level = glue_val;
       }
       break;
 
     case assign_mu_glue:
       {
-        cur_val = eqtb[m].hh.v.RH;
+        cur_val = eqtb[m].hh.rh;
         cur_val_level = mu_val;
       }
       break;
index 4213980..68ad561 100644 (file)
@@ -633,15 +633,15 @@ halfword str_toks_(pool_pointer b)
           q = get_avail();
         else
         {
-          avail = mem[q].hh.v.RH;
-          mem[q].hh.v.RH = 0;
+          avail = mem[q].hh.rh;
+          mem[q].hh.rh = 0;
 #ifdef STAT
           incr(dyn_used); 
 #endif /* STAT */
         }
       } 
-      mem[p].hh.v.RH = q;
-      mem[q].hh.v.LH = t;
+      mem[p].hh.rh = q;
+      mem[q].hh.lh = t;
       p = q;
     }
     incr(k);
@@ -669,8 +669,8 @@ halfword the_toks (void)
     if (cur_val_level == ident_val)
     {
       q = get_avail();
-      mem[p].hh.v.RH = q;
-      mem[q].hh.v.LH = cs_token_flag + cur_val;
+      mem[p].hh.rh = q;
+      mem[q].hh.lh = cs_token_flag + cur_val;
       p = q;
     }
     else if (cur_val != 0)
@@ -685,15 +685,15 @@ halfword the_toks (void)
               q = get_avail();
             else
             {
-              avail = mem[q].hh.v.RH;
-              mem[q].hh.v.RH = 0;
+              avail = mem[q].hh.rh;
+              mem[q].hh.rh = 0;
 #ifdef STAT
               incr(dyn_used);
 #endif /* STAT */
             }
           }
-          mem[p].hh.v.RH = q;
-          mem[q].hh.v.LH = mem[r].hh.v.LH;
+          mem[p].hh.rh = q;
+          mem[q].hh.lh = mem[r].hh.lh;
           p = q;
         }
         r = link(r);
@@ -865,14 +865,14 @@ halfword scan_toks_(bool macrodef, bool xpand)
           hashbrace = cur_tok;
           {
             q = get_avail();
-            mem[p].hh.v.RH = q;
-            mem[q].hh.v.LH = cur_tok;
+            mem[p].hh.rh = q;
+            mem[q].hh.lh = cur_tok;
             p = q;
           }
           {
             q = get_avail();
-            mem[p].hh.v.RH = q;
-            mem[q].hh.v.LH = end_match_token;
+            mem[p].hh.rh = q;
+            mem[q].hh.lh = end_match_token;
             p = q;
           }
           goto lab30;
@@ -900,16 +900,16 @@ halfword scan_toks_(bool macrodef, bool xpand)
       }
       {
         q = get_avail();
-        mem[p].hh.v.RH = q;
-        mem[q].hh.v.LH = cur_tok;
+        mem[p].hh.rh = q;
+        mem[q].hh.lh = cur_tok;
         p = q;
       }
     }
 lab31:
     {
       q = get_avail();
-      mem[p].hh.v.RH = q;
-      mem[q].hh.v.LH = end_match_token;
+      mem[p].hh.rh = q;
+      mem[q].hh.lh = end_match_token;
       p = q;
     }
 
@@ -999,8 +999,8 @@ lab32:
       }
     {
       q = get_avail();
-      mem[p].hh.v.RH = q;
-      mem[q].hh.v.LH = cur_tok;
+      mem[p].hh.rh = q;
+      mem[q].hh.lh = cur_tok;
       p = q;
     }
   }
@@ -1010,8 +1010,8 @@ lab40:
   if (hashbrace != 0)
   {
     q = get_avail();
-    mem[p].hh.v.RH = q;
-    mem[q].hh.v.LH = hashbrace;
+    mem[p].hh.rh = q;
+    mem[q].hh.lh = hashbrace;
     p = q;
   }
   Result = p;
@@ -1035,8 +1035,8 @@ void read_toks_(integer n, halfword r)
 
   {
     q = get_avail();
-    mem[p].hh.v.RH = q;
-    mem[q].hh.v.LH = end_match_token;
+    mem[p].hh.rh = q;
+    mem[q].hh.lh = end_match_token;
     p = q;
   }
 
@@ -1134,8 +1134,8 @@ void read_toks_(integer n, halfword r)
 
         {
           q = get_avail();
-          mem[p].hh.v.RH = q;
-          mem[q].hh.v.LH = cur_tok;
+          mem[p].hh.rh = q;
+          mem[q].hh.lh = cur_tok;
           p = q;
         }
       }
@@ -2404,7 +2404,7 @@ internal_font_number read_font_info_(halfword u, str_number nom, str_number aire
   internal_font_number f;
   internal_font_number g;
   eight_bits a, b, c, d;
-  ffour_quarters qw;
+  four_quarters qw;
   scaled sw;
   integer bch_label;
   short bchar;
index 1cc7bc2..3a607b2 100644 (file)
@@ -1344,7 +1344,7 @@ halfword hpack_(halfword p, scaled w, small_number m)
 /*  glue_ord o;  */
   int o;              /* 95/Jan/7 */
   internal_font_number f;
-  ffour_quarters i;
+  four_quarters i;
   eight_bits hd;
 
   last_badness = 0;
@@ -1985,7 +1985,7 @@ halfword overbar_(halfword b, scaled k, scaled t)
 /* sec 0709 */
 halfword char_box_(internal_font_number f, quarterword c)
 {
-  ffour_quarters q;
+  four_quarters q;
   eight_bits hd;
   halfword b, p;
 
@@ -2013,9 +2013,9 @@ void stack_into_box_(halfword b, internal_font_number f, quarterword c)
   height(b) = height(p);
 }
 /* sec 0712 */
-scaled height_plus_depth_(internal_font_number f, fquarterword c)
+scaled height_plus_depth_(internal_font_number f, quarterword c)
 {
-  ffour_quarters q;
+  four_quarters q;
   eight_bits hd;
 
   q = char_info(f, c);
@@ -2031,8 +2031,8 @@ halfword var_delimiter_(halfword d, small_number s, scaled v)
   integer m, n;
   scaled u;
   scaled w;
-  ffour_quarters q;
-  ffour_quarters r;
+  four_quarters q;
+  four_quarters r;
   eight_bits hd;
 /*  small_number z;  */
   int z;                  /* 95/Jan/7 */
index 6dda55c..c53092d 100644 (file)
@@ -313,7 +313,7 @@ void make_math_accent_(halfword q)
   integer a;
   quarterword c;
   internal_font_number f;
-  ffour_quarters i;
+  four_quarters i;
   scaled s;
   scaled h;
   scaled delta;
@@ -2080,7 +2080,7 @@ scaled make_op_(halfword q)
   scaled delta;
   halfword p, v, x, y, z;
   quarterword c;
-  ffour_quarters i;
+  four_quarters i;
   scaled shift_up, shift_down;
 
   if ((subtype(q) == normal) && (cur_style < text_style))
index 8d74f06..56b791e 100644 (file)
@@ -814,7 +814,7 @@ small_number reconstitute_(small_number j, small_number n, halfword bchar, halfw
 {
   halfword p;
   halfword t;
-  ffour_quarters q;
+  four_quarters q;
   halfword cur_rh;
   halfword test_char;
   scaled w;
@@ -965,7 +965,7 @@ lab22:
                 {
                   if (ligature_present)
                   {
-                    p = new_ligature(hf, cur_l, mem[cur_q].hh.v.RH);
+                    p = new_ligature(hf, cur_l, mem[cur_q].hh.rh);
 
                     if (lft_hit)
                     {
@@ -977,7 +977,7 @@ lab22:
           incr(mem[p].hh.b1); 
           rt_hit = false; 
         } */              /* removed 99/Jan/6 */
-                    mem[cur_q].hh.v.RH = p;
+                    mem[cur_q].hh.rh = p;
                     t = p;
                     ligature_present = false;
                   }
@@ -994,14 +994,14 @@ lab22:
 
                   if (lig_stack != 0)        /* BUG FIX  */
                   {
-                    if (mem[lig_stack + 1].hh.v.RH != 0) /* l.17828 ? */
+                    if (mem[lig_stack + 1].hh.rh != 0) /* l.17828 ? */
                     {
-                      mem[t].hh.v.RH = mem[lig_stack + 1].hh.v.RH;
-                      t = mem[t].hh.v.RH;
+                      mem[t].hh.rh = mem[lig_stack + 1].hh.rh;
+                      t = mem[t].hh.rh;
                       incr(j);
                     }
                     p = lig_stack;
-                    lig_stack = mem[p].hh.v.RH;
+                    lig_stack = mem[p].hh.rh;
                     free_node(p, 2);
                     if (lig_stack == 0)  /* if lig_stack=null ? */
                     {
@@ -1293,7 +1293,7 @@ lab50:
             major_tail = r;
             r_count = 0;
 
-            while (mem[major_tail].hh.v.RH != 0)
+            while (mem[major_tail].hh.rh != 0)
             {
               major_tail = link(major_tail);
               incr(r_count);
@@ -1382,7 +1382,7 @@ lab50:
                 j = reconstitute(j, hn, bchar, non_char) + 1;
                 link(major_tail) = link(hold_head);
 
-                while (mem[major_tail].hh.v.RH != 0)
+                while (mem[major_tail].hh.rh != 0)
                 {
                   major_tail = link(major_tail);
                   incr(r_count);
index 1b66e6a..0a0ab3c 100644 (file)
@@ -1290,7 +1290,7 @@ void make_accent (void)
   halfword p, q, r;
   internal_font_number f;
   scaled a, h, x, w, delta;
-  ffour_quarters i;
+  four_quarters i;
 
   scan_char_num();
   f = cur_font;
index 2537658..8a86bae 100644 (file)
@@ -2078,8 +2078,8 @@ lab70:
       lig_stack = get_avail();
     else
     {
-      avail = mem[lig_stack].hh.v.RH;
-      mem[lig_stack].hh.v.RH = 0;
+      avail = mem[lig_stack].hh.rh;
+      mem[lig_stack].hh.rh = 0;
 #ifdef STAT
       incr(dyn_used);
 #endif /* STAT */
@@ -2186,8 +2186,8 @@ lab101:
       lig_stack = get_avail();
     else
     {
-      avail = mem[lig_stack].hh.v.RH;
-      mem[lig_stack].hh.v.RH = 0;
+      avail = mem[lig_stack].hh.rh;
+      mem[lig_stack].hh.rh = 0;
 #ifdef STAT
       incr(dyn_used);
 #endif /* STAT */
index 686403d..ef1234e 100644 (file)
@@ -492,10 +492,10 @@ void debug_help (void)
   print_word(mem[n]); 
   break; 
       case 2 : 
-  print_int(mem[n].hh.v.LH); 
+  print_int(mem[n].hh.lh); 
   break; 
       case 3 : 
-  print_int(mem[n].hh.v.RH); 
+  print_int(mem[n].hh.rh); 
   break; 
       case 4 : 
   print_word(eqtb[n]); 
index 9e250cb..3de3d6b 100644 (file)
   #define max_quarterword 255
 #endif
 
-/* #define default_mem_top 262140L */ /* usual big TeX allocation 2 Meg bytes */
+#define default_mem_top 262140L  /* usual big TeX allocation 2 Meg bytes */
 /* #define default_mem_top 131070L */ /* usual big TeX allocation 1 Meg bytes */
-#define default_mem_top 65534L        /* usual small TeX allocation 0.5 Meg   */
+/* #define default_mem_top 65534L  */ /* usual small TeX allocation 0.5 Meg   */
 
-/* mem_bot smallest index in mem array dumped by iniTeX mem_top >= mem_min */
 #define mem_bot 0
 
 #ifdef ALLOCATEMAIN
   #define mem_top 262140L
 #endif
 
-/* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-/* mem_max == mem_top in iniTeX, otherwise mem_max >= mem_top */
-/* if ALLOCATEMAIN is true, then mem_max is a variable */
-/* otherwise it is a pre-processor defined constant */
 #ifdef ALLOCATEMAIN
   EXTERN integer mem_max;
 #else
-/* #define mem_max 262140L */
   #define mem_max mem_top
 #endif
 
-/* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-/* if ALLOCATEMAIN is true, then mem_min is a variable */
-/* otherwise it is a pre-processor defined constant */
-/* mem_min == mem_bot in iniTeX, otherwise mem_min <= mem_bot */
 #ifdef ALLOCATEMAIN
   EXTERN integer mem_min;
 #else
 #ifdef ALLOCATEBUFFER
   #define initial_buf_size   1000
   #define increment_buf_size 2000
-  #define buf_size           2000000L /* arbitrary limit <= max_halfword */
+  #define buf_size           2000000L
   EXTERN ASCII_code *        buffer;
 #else
   #define buf_size           20000
-  EXTERN ASCII_code          buffer[buf_size + 4]; /* padded out to ...  + 4 */
+  EXTERN ASCII_code          buffer[buf_size + 4];
 #endif
+
 EXTERN integer first; 
 EXTERN integer last; 
 EXTERN integer max_buf_stack; 
@@ -100,22 +91,18 @@ EXTERN integer max_buf_stack;
   #define max_in_open 15
 #endif
 
-/* maximum internal font number - cannot be greated than max_quarterword! */
 #ifdef INCREASEFONTS
   #define font_max 1023
 #else
   #define font_max 255
 #endif
 
-/* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-/* free the limit on font memory ! */
 #ifdef ALLOCATEFONT
   #define font_mem_size (max_halfword / sizeof(memory_word) - 1)
 #else
   #define font_mem_size 100000L
 #endif
 
-/* below is new dynamic allocation - bkph 93/Nov/28 */
 #ifdef ALLOCATEFONT
   #define initial_font_mem_size   20000
   #define increment_font_mem_size 40000
@@ -138,7 +125,6 @@ EXTERN integer max_buf_stack;
   #define trie_size 30000
 #endif
 
-/* increase trie_op to accomadate more hyphenation patterns 96/OCt/12 */
 #ifdef INCREASETRIEOP
   #define trie_op_size      3001
   #define neg_trie_op_size -3001
@@ -151,7 +137,6 @@ EXTERN integer max_buf_stack;
   #define max_trie_op       500
 #endif
 
-/* dvi_buf_size must be multiple of 8 - half is written out at a time */
 #ifdef ALLOCATEDVIBUF
   #define default_dvi_buf_size 16384
   EXTERN int dvi_buf_size;
@@ -159,7 +144,6 @@ EXTERN integer max_buf_stack;
   #define dvi_buf_size 16384
 #endif
 
-/* size of hash table for control sequence name  < (mem_max - mem_min) / 10 */
 /* #define hash_size 9500  */
 /* #define hash_size 25000 */
 #define hash_size 32768
@@ -182,7 +166,7 @@ EXTERN integer max_buf_stack;
 /* min_halfword = 0 and double max_halfword ? */
 /* typedef unsigned long halfword; NO NO: since mem_min may be < 0 */
 /* sec 0113 */
-typedef integer halfword;
+typedef long halfword;
 typedef char two_choices;
 typedef char four_choices;
 /* sec 0113 */
@@ -492,30 +476,16 @@ EXTERN char * dvi_file_name;
 EXTERN char * pdf_file_name;
 EXTERN char * log_file_name;
 
-
-#ifdef SHORTFONTINFO
-#else
-  /* go back to original definition as TeX memory word */
-  #undef fmemoryword
-  #define fmemoryword memory_word
-  /* go back to original definition as four_quarters of a TeX word */
-  #undef ffour_quarters
-  #define ffour_quarters four_quarters
-  /* go back to original definition as quaterword */
-  #undef fquarterword
-  #define fquarterword quarterword
-#endif
-
 #ifdef ALLOCATEFONT
-  EXTERN fmemoryword * font_info;
+  EXTERN memory_word * font_info;
 #else
-  EXTERN fmemoryword font_info[font_mem_size + 1];
+  EXTERN memory_word font_info[font_mem_size + 1];
 #endif
 
 EXTERN font_index fmem_ptr;
 EXTERN internal_font_number font_ptr;
 EXTERN internal_font_number frozen_font_ptr;
-EXTERN ffour_quarters font_check[font_max + 1];
+EXTERN four_quarters font_check[font_max + 1];
 EXTERN scaled font_size[font_max + 1];
 EXTERN scaled font_dsize[font_max + 1];
 EXTERN font_index font_params[font_max + 1];
@@ -541,7 +511,7 @@ EXTERN integer lig_kern_base[font_max + 1];
 EXTERN integer kern_base[font_max + 1];
 EXTERN integer exten_base[font_max + 1];
 EXTERN integer param_base[font_max + 1];
-EXTERN ffour_quarters null_character;
+EXTERN four_quarters null_character;
 EXTERN integer total_pages;
 EXTERN scaled max_v;
 EXTERN scaled max_h;
@@ -582,7 +552,7 @@ EXTERN scaled cur_mu;
 EXTERN bool mlist_penalties;
 EXTERN internal_font_number cur_f;
 EXTERN int cur_c;
-EXTERN ffour_quarters cur_i;
+EXTERN four_quarters cur_i;
 EXTERN integer magic_offset;
 EXTERN halfword cur_align;
 EXTERN halfword cur_span;
@@ -772,8 +742,8 @@ EXTERN integer insert_penalties;
 EXTERN bool output_active;
 EXTERN internal_font_number main_f;
 
-EXTERN ffour_quarters main_i;
-EXTERN ffour_quarters main_j;
+EXTERN four_quarters main_i;
+EXTERN four_quarters main_j;
 
 EXTERN font_index main_k;
 EXTERN halfword main_p;
@@ -890,7 +860,7 @@ list_state_record * realloc_nest_stack (int);
 in_state_record * realloc_input_stack (int);
 halfword * realloc_param_stack (int);
 ASCII_code * realloc_buffer (int);
-fmemoryword * realloc_font_info (int);
+memory_word * realloc_font_info (int);
 
 int realloc_hyphen (int);
 int allocate_tries (int);
index ea4cc44..a603d19 100644 (file)
 */
 
 /*
-  meaning      structure                      @TeX                @draft          
+  meaning      structure                      TeX                 Y&Y TeX
                ----------------------------------------------------------------------
   integer      |            int            || 4: long           | 8: long long      |   min_quarterword 0
                ---------------------------------------------------------------------- max_quarterword FFFF
-  scaled       |            sc             || 4: long           | 8: long long      |   min_halfword    
+  scaled       |            sc             || 4: long           | 8: long long      |   min_halfword
                ----------------------------------------------------------------------
   glue_ratio   |            gr             || 4: float          | 8: double         |
                ----------------------------------------------------------------------
                ----------------------------------------------------------------------
 */
 
-typedef union
+typedef struct
 {
-  struct
-  {
 #ifdef WORDS_BIGENDIAN
-    halfword RH, LH;
-#else
-    halfword LH, RH;
-#endif
-  } v;
+  halfword rh;
 
-  struct
+  union
   {
-#ifdef WORDS_BIGENDIAN
-    halfword junk;
-    quarterword B0, B1;
-#else /* not WORDS_BIGENDIAN */
-  /* If 32-bit TeX/MF, have to have an extra two bytes of junk.
-     I would like to break this line, but I'm afraid that some
-     preprocessors don't properly handle backslash-newline in # commands.  */
-#if (defined (TeX) && !defined (SMALLTeX)) || !defined (TeX) && !defined (SMALLMF)
-    quarterword junkx, junky;
-#endif /* big TeX or big MF */
-    quarterword B1, B0;
-#endif /* not WORDS_BIGENDIAN */
-  } u;
-} two_halves;
+    halfword lh;
 
-/* new in Y&Y TeX 1.3 1996/Jan/18 used for hash [...] if SHORTHASH defined */
-typedef struct {
-  struct
-  {
-#ifdef WORDS_BIGENDIAN
-    quarterword RH, LH;
-#else
-    quarterword LH, RH;
+    struct
+    {
+      quarterword b0, b1;
+    };
+  };
 #endif
-  } v;
-} htwo_halves;
+} two_halves;
 
 typedef struct
 {
-  struct
-  {
 #ifdef WORDS_BIGENDIAN
-    quarterword B0, B1, B2, B3;
+  quarterword b0, b1, b2, b3;
 #else
-    quarterword B3, B2, B1, B0;
+  quarterword b3, b2, b1, b0;
 #endif
-  } u;
 } four_quarters;
 
-
 typedef union
 {
-#ifdef TeX
   glue_ratio gr;
   two_halves hh;
-#else
-  two_halves hhfield;
-#endif
 #ifdef WORDS_BIGENDIAN
   integer cint;
   four_quarters qqqq;
@@ -158,35 +127,6 @@ typedef union
 #endif /* not WORDS_BIGENDIAN */
 } memory_word;
 
-/* Attempt to reduce size of font_info array ... (and hence format files) */
-
-typedef struct
-{
-  struct
-  {
-#ifdef WORDS_BIGENDIAN
-    unsigned char B0, B1, B2, B3;
-#else
-    unsigned char B3, B2, B1, B0;
-#endif
-  } u;
-} ffour_quarters;
-
-#define fquarterword unsigned char
-
-typedef union
-{
-  integer cint;
-  ffour_quarters qqqq;
-} fmemoryword;
-
-/* To keep the original structure accesses working, we must go through
-   the extra names C forced us to introduce.  */
-#define b0 u.B0
-#define b1 u.B1
-#define b2 u.B2
-#define b3 u.B3
-
 #ifndef WORDS_BIGENDIAN
 #define cint u.CINT
 #define qqqq v.QQQQ
index eec3307..4927b83 100644 (file)
@@ -66,8 +66,8 @@ enum
 #define pointer halfword
 #define null    min_halfword
 /* sec 0118 */
-#define link(p) mem[(p)].hh.v.RH
-#define info(p) mem[(p)].hh.v.LH
+#define link(p) mem[(p)].hh.rh
+#define info(p) mem[(p)].hh.lh
 /* sec 0124 */
 #define empty_flag  max_halfword
 #define is_empty(a) (link(a) = empty_flag)
@@ -349,15 +349,15 @@ enum
 #define tail            cur_list.tail_field
 #define aux             cur_list.aux_field
 #define prev_depth      aux.cint
-#define space_factor    aux.hh.v.LH
-#define clang           aux.hh.v.RH
+#define space_factor    aux.hh.lh
+#define clang           aux.hh.rh
 #define incompleat_noad aux.cint
 #define prev_graf       cur_list.pg_field
 #define mode_line       cur_list.ml_field
 /* sec 0221 */
 #define eq_level_field(a) a.hh.b1
 #define eq_type_field(a)  a.hh.b0
-#define equiv_field(a)    a.hh.v.RH
+#define equiv_field(a)    a.hh.rh
 #define eq_level(a)       eq_level_field(eqtb[a])
 #define eq_type(a)        eq_type_field(eqtb[a])
 #define equiv(a)          equiv_field(eqtb[a])
@@ -643,14 +643,14 @@ enum
 #define v_offset                      dimen_par(v_offset_code)
 #define emergency_stretch             dimen_par(emergency_stretch_code)
 /* sec 0256 */
-#define text(a)         hash[a].v.RH
-#define next(a)         hash[a].v.LH
+#define text(a)         hash[a].rh
+#define next(a)         hash[a].lh
 #define hash_is_full    (hash_used == hash_base)
 #define font_id_text(a) text(font_id_base + a)
 /* sec 0268 */
 #define save_type(a)      save_stack[a].hh.b0
 #define save_level(a)     save_stack[a].hh.b1
-#define save_index(a)     save_stack[a].hh.v.RH
+#define save_index(a)     save_stack[a].hh.rh
 #define restore_old_value 0
 #define restore_zero      1
 #define insert_token      2
index 00ce6a8..97f8d14 100644 (file)
@@ -21,6 +21,7 @@
 #define WORDS_BIGENDIAN 0
 
 //#pragma warning(disable:4032)
+#pragma warning(disable:4201)
 #pragma warning(disable:4996) //
 #pragma warning(disable:4701) //
 //#pragma warning(disable:4100)
@@ -59,7 +60,7 @@
 #include "hpdf.h"
 #include "hpdf_utils.h"
 
-typedef int         integer;
+typedef long long   integer;
 typedef double      glue_ratio;
 typedef boolean     bool;
 typedef double      real;
@@ -106,7 +107,7 @@ typedef enum
 #define a_open_out(f)   open_output (&(f), FOPEN_W_MODE)
 #define a_close(f)         check_fclose (f)
 
-#define MAXLINE 256 // for log_line buffer
+#define MAXLINE 256
 
 extern bool trace_flag;
 extern bool open_trace_flag;