summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorMartin Ruckert <martin.ruckert@hm.edu>2022-01-13 15:49:43 +0000
committerMartin Ruckert <martin.ruckert@hm.edu>2022-01-13 15:49:43 +0000
commit755cccc747cfc4d674898392d645d05644aa2c8a (patch)
treeb30464f7e6883e635d8d3b16dba92b10120c9404 /Build
parenta05e0200d24864ae62151135bcd27d999161f6e5 (diff)
eliminated the use of the _t suffix in type names
cleaned up the dependency on hiformat-tangle and hitex-tangle moved the $(EXEEXT) to the prerequisites of hitables.c git-svn-id: svn://tug.org/texlive/trunk@61595 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/hitexdir/am/hitex.am17
-rw-r--r--Build/source/texk/web2c/hitexdir/hiformat.w840
-rw-r--r--Build/source/texk/web2c/hitexdir/hilexer.c798
-rw-r--r--Build/source/texk/web2c/hitexdir/hiparser.c18
-rw-r--r--Build/source/texk/web2c/hitexdir/hiparser.h12
-rw-r--r--Build/source/texk/web2c/hitexdir/hitex.w174
6 files changed, 942 insertions, 917 deletions
diff --git a/Build/source/texk/web2c/hitexdir/am/hitex.am b/Build/source/texk/web2c/hitexdir/am/hitex.am
index 4db01ff926b..1f19c0d305f 100644
--- a/Build/source/texk/web2c/hitexdir/am/hitex.am
+++ b/Build/source/texk/web2c/hitexdir/am/hitex.am
@@ -55,20 +55,20 @@ hiformat_c_h_l_y = \
hitex_c = hitex.c
$(hiformat_c_h_l_y): hiformat-tangle
- $(hi_ctangle_sh) hiformat
+
#
hiformat-tangle: ctangle$(EXEEXT) hitexdir/hiformat.w tangle-sh
$(hi_ctangle_sh) hiformat
$(hitex_c): hitex-tangle
- $(hi_ctangle_sh) hitex
+
#
hitex-tangle: ctangle$(EXEEXT) hitexdir/hitex.w tangle-sh
$(hi_ctangle_sh) hitex
# Generating hitables.c using himktables.
-hitables.c: himktables
- ./himktables$(EXEEXT) > $@ || { rm -f hitables.c; exit 1; }
+hitables.c: himktables$(EXEEXT)
+ ./himktables > $@ || { rm -f hitables.c; exit 1; }
# hitex
nodist_hitex_SOURCES = hitables.c hiput.c $(hitex_c)
@@ -86,11 +86,12 @@ nodist_hishrink_SOURCES = hitables.c \
hitexdir/hiparser.c hitexdir/hiparser.h \
hishrink.c
-# hitex and hishrink both need (at least) some of the sources generated
-# from hiformat.w.
+# hitex, histretch, and hishrink all need (at least) some
+# of the sources generated from hiformat.w.
#
-$(hitex_OBJECTS): $(hiformat_c_h_l_y)
-$(hishrink_OBJECTS): $(hiformat_c_h_l_y)
+$(hitex_OBJECTS): hiformat-tangle
+$(hishrink_OBJECTS): hiformat-tangle
+$(histretch_OBJECTS): hiformat-tangle
#
# By the way, the $(BUILT_SOURCES) suggestion in the Automake manual for
# this does not work for us, because we want to be able to invoke
diff --git a/Build/source/texk/web2c/hitexdir/hiformat.w b/Build/source/texk/web2c/hitexdir/hiformat.w
index b97f28d16f9..aae20803acc 100644
--- a/Build/source/texk/web2c/hitexdir/hiformat.w
+++ b/Build/source/texk/web2c/hitexdir/hiformat.w
@@ -47,9 +47,9 @@
\def\setrevision$#1: #2 ${\gdef\lastrevision{#2}}
-\setrevision$Revision: 2595 $
+\setrevision$Revision: 2636 $
\def\setdate$#1(#2) ${\gdef\lastdate{#2}}
-\setdate$Date: 2021-12-06 13:18:44 +0100 (Mon, 06 Dec 2021) $
+\setdate$Date: 2022-01-07 16:10:00 +0100 (Fri, 07 Jan 2022) $
\null
@@ -324,9 +324,9 @@ The rest is common for all nodes: a keyword, here ``\.{glyph}'', and a pair of p
Internally, we represent a glyph by the font number
and the character number or character code.
To store the internal representation of a glyph node,
-we define an appropriate structure type, named after the node with a trailing {\dots\bf\_t}.
+we define an appropriate structure type, named after the node with an uppercase first letter.
@<hint types@>=
-typedef struct {@+ uint32_t c;@+ uint8_t f; @+} glyph_t;
+typedef struct {@+ uint32_t c;@+ uint8_t f; @+} Glyph;
@
Let us now look at the program \.{shrink} and see how it will convert the long format description
@@ -407,7 +407,7 @@ For a simple glyph node like `` \.{<glyph 97 *1>}'', we need just these rules:
@s content_node symbol
@s node symbol
@s glyph symbol
-@s glyph_t int
+@s Glyph int
@s start symbol
@<symbols@>=
%type <u> start
@@ -435,7 +435,7 @@ The type of the variable is specified by a mandatory {\bf token} or optional {\b
when we define the symbol.
In the above {\bf type} clause for |start| and |glyph| , the identifiers |u| and |c| refer to
the |union| declaration of the parser (see page~\pageref{union})
-where we find |uint32_t u| and |glyph_t c|. The macro |REF| tests a reference number for
+where we find |uint32_t u| and |Glyph c|. The macro |REF| tests a reference number for
its valid range.
@@ -486,7 +486,7 @@ of identifiers using different definitions of the macro |DEF_KIND|.
@<hint basic types@>=
#define DEF_KIND(C,D,N) @[C##_kind=N@]
-typedef enum {@+@<kinds@>@+,@+ @<alternative kind names@> @+} kind_t;
+typedef enum {@+@<kinds@>@+,@+ @<alternative kind names@> @+} Kind;
#undef DEF_KIND
@
@@ -619,7 +619,7 @@ enumeration type.
\index{b110+\\{b110}}
\index{b111+\\{b111}}
@<hint basic types@>=
-typedef enum {@+ b000=0,b001=1,b010=2,b011=3,b100=4,b101=5,b110=6,b111=7@+ } info_t;
+typedef enum {@+ b000=0,b001=1,b010=2,b011=3,b100=4,b101=5,b110=6,b111=7@+ } Info;
@
@@ -670,8 +670,8 @@ static uint8_t hput_n(uint32_t n)
{@+HPUT32(n);@+ return 4;@+}
}
-uint8_t hput_glyph(glyph_t *g)
-{ info_t info;
+uint8_t hput_glyph(Glyph *g)
+{ Info info;
info = hput_n(g->c);
HPUT8(g->f);@/
return TAG(glyph_kind,info);
@@ -773,7 +773,7 @@ void hget_content(uint8_t a)
We implement the code to read a glyph node in two stages.
First we define a general reading macro |HGET_GLYPH(I,G)| that reads a glyph node with info value |I| into
-a |glyph_t| variable |G|; then we insert this macro
+a |Glyph| variable |G|; then we insert this macro
in the above switch statement for all cases where it applies.
Knowing the function |hput_glyph|, the macro |HGET_GLYPH| should not be a surprise.
It reverses |hput_glyph|, storing the glyph node in its internal representation.
@@ -799,10 +799,10 @@ the fonts hyphen character---that reference this or other fonts.
@<cases to get content@>=
-@t\1\kern1em@>case TAG(glyph_kind,1): @+{@+glyph_t g;@+ HGET_GLYPH(1,g);@+}@+break;
-case TAG(glyph_kind,2): @+{@+glyph_t g;@+ HGET_GLYPH(2,g);@+}@+break;
-case TAG(glyph_kind,3): @+{@+glyph_t g;@+ HGET_GLYPH(3,g);@+}@+break;
-case TAG(glyph_kind,4): @+{@+glyph_t g;@+ HGET_GLYPH(4,g);@+}@+break;
+@t\1\kern1em@>case TAG(glyph_kind,1): @+{@+Glyph g;@+ HGET_GLYPH(1,g);@+}@+break;
+case TAG(glyph_kind,2): @+{@+Glyph g;@+ HGET_GLYPH(2,g);@+}@+break;
+case TAG(glyph_kind,3): @+{@+Glyph g;@+ HGET_GLYPH(3,g);@+}@+break;
+case TAG(glyph_kind,4): @+{@+Glyph g;@+ HGET_GLYPH(4,g);@+}@+break;
@
If this two stage method seems strange to you, consider what the \CEE\ compiler will
@@ -869,7 +869,7 @@ void hwrite_comment(char *str)
void hwrite_charcode(uint32_t c);
void hwrite_ref(int n);
-void hwrite_glyph(glyph_t *g)
+void hwrite_glyph(Glyph *g)
{ char *n=hfont_name[g->f];
hwrite_charcode(g->c);
hwrite_ref(g->f);
@@ -1610,7 +1610,7 @@ float32_t hget_float32(void)
\subsection{Fixed Point Numbers}
\TeX\ internally represents most real numbers as fixed\index{fixed point number} point numbers or ``scaled integers''\index{scaled integer}.
-The type {\bf scaled\_t} is defined as a signed 32 bit integer, but we consider it as a fixed point number
+The type {\bf Scaled} is defined as a signed 32 bit integer, but we consider it as a fixed point number
with the binary radix point just in the middle with sixteen bits before and sixteen bits after it.
To convert an integer into a scaled number, we multiply it by |ONE|; to convert a floating point number
into a scaled number, we multiply it by |ONE| and |ROUND| the result to the nearest integer;
@@ -1618,8 +1618,8 @@ to convert a scaled number to a floating point number we divide it by |(float64_
\noindent
@<hint basic types@>=
-typedef int32_t scaled_t;
-#define ONE ((scaled_t)(1<<16))
+typedef int32_t Scaled;
+#define ONE ((Scaled)(1<<16))
@
@<hint macros@>=
@@ -1628,7 +1628,7 @@ typedef int32_t scaled_t;
\writecode
@<write functions@>=
-void hwrite_scaled(scaled_t x)
+void hwrite_scaled(Scaled x)
{ hwrite_float64(x/(float64_t)ONE);
}
@
@@ -1674,8 +1674,8 @@ stored as $d\cdot2^{16}$ rounded to the nearest integer.
The maximum absolute value of a dimension is $(2^{30}-1)$ scaled points.
@<hint basic types@>=
-typedef scaled_t dimen_t;
-#define MAX_DIMEN ((dimen_t)(0x3FFFFFFF))
+typedef Scaled Dimen;
+#define MAX_DIMEN ((Dimen)(0x3FFFFFFF))
@
@<parsing rules@>=
@@ -1688,7 +1688,7 @@ When \.{stretch} is writing dimensions in the long format,
for simplicity it always uses the unit ``\.{pt}''.
\writecode
@<write functions@>=
-void hwrite_dimension(dimen_t x)
+void hwrite_dimension(Dimen x)
{ hwrite_scaled(x);
hwritef("pt");
}
@@ -1708,7 +1708,7 @@ void hget_dimen(uint8_t a)
\putcode
@<put functions@>=
-uint8_t hput_dimen(dimen_t d)
+uint8_t hput_dimen(Dimen d)
{ HPUT32(d);
return TAG(dimen_kind, b001);
}
@@ -1731,8 +1731,8 @@ an extended dimension and represent it by the three numbers $w$, $h$, and $v$.
@<hint basic types@>=
typedef struct {@+
-dimen_t w; @+ float32_t h, v; @+
-} xdimen_t;
+Dimen w; @+ float32_t h, v; @+
+} Xdimen;
@
Since very often a component of an extended dimension is zero, we
store in the short format only the nonzero components and use the
@@ -1771,13 +1771,13 @@ xdimen_node: start XDIMEN xdimen END { hput_tags($1,hput_xdimen(&($3))); };
\writecode
@<write functions@>=
-void hwrite_xdimen(xdimen_t *x)
+void hwrite_xdimen(Xdimen *x)
{ hwrite_dimension(x->w);
if (x->h!=0.0) {hwrite_float64(x->h); @+hwritec('h');@+}
if (x->v!=0.0) {hwrite_float64(x->v); @+hwritec('v');@+}
}
-void hwrite_xdimen_node(xdimen_t *x)
+void hwrite_xdimen_node(Xdimen *x)
{ hwrite_start(); hwritef("xdimen"); hwrite_xdimen(x); hwrite_end();}
@
@@ -1791,7 +1791,7 @@ void hwrite_xdimen_node(xdimen_t *x)
@
@<get functions@>=
-void hget_xdimen(uint8_t a, xdimen_t *x)
+void hget_xdimen(uint8_t a, Xdimen *x)
{ switch(a)
{
case TAG(xdimen_kind,b001): HGET_XDIMEN(b001,*x);@+break;
@@ -1814,7 +1814,7 @@ a reference directly without the start and end byte. An exception is the glue no
but glue nodes that need an extended width are rare.
@<get functions@>=
-void hget_xdimen_node(xdimen_t *x)
+void hget_xdimen_node(Xdimen *x)
{ @<read the start byte |a|@>@;
if (KIND(a)==xdimen_kind)
hget_xdimen(a,x);
@@ -1828,8 +1828,8 @@ void hget_xdimen_node(xdimen_t *x)
\putcode
@<put functions@>=
-uint8_t hput_xdimen(xdimen_t *x)
-{ info_t info=b000;
+uint8_t hput_xdimen(Xdimen *x)
+{ Info info=b000;
if (x->w==0 && x->h==0.0 && x->v==0.0){ HPUT32(0); @+info|=b100; @+}
else
{ if (x->w!=0) { HPUT32(x->w); @+info|=b100; @+}
@@ -1838,7 +1838,7 @@ uint8_t hput_xdimen(xdimen_t *x)
}
return TAG(xdimen_kind,info);
}
-void hput_xdimen_node(xdimen_t *x)
+void hput_xdimen_node(Xdimen *x)
{ uint32_t p=hpos++-hstart;
hput_tags(p, hput_xdimen(x));
}
@@ -1862,7 +1862,7 @@ You might guess that ``\.{fill}'' glue and ``\.{filll}'' glue have even higher
orders of infinite stretchability.
The order of infinity is 0 for \.{pt}, 1 for \.{fil}, 2 for \.{fill}, and 3 for \.{filll}.
-The internal representation of a stretch is a variable of type |stretch_t|.
+The internal representation of a stretch is a variable of type |Stretch|.
It stores the floating point value and the order of infinity separate as a |float64_t| and a |uint8_t|.
@@ -1872,19 +1872,19 @@ we use a single 32 bit floating point value.
To write a |float32_t| value and an order value as one 32 bit value,
we round the two lowest bit of the |float32_t| variable to zero
using ``round to even'' and store the order of infinity in these bits.
-We define a union type \&{stch\_t} to simplify conversion.
+We define a union type \&{Stch} to simplify conversion.
@<hint basic types@>=
-typedef enum { @+ normal_o=0, fil_o=1, fill_o=2, filll_o=3@+} order_t;
-typedef struct {@+ float64_t f;@+ order_t o; @+} stretch_t;
-typedef union {@+float32_t f; @+ uint32_t u; @+} stch_t;
+typedef enum { @+ normal_o=0, fil_o=1, fill_o=2, filll_o=3@+} Order;
+typedef struct {@+ float64_t f;@+ Order o; @+} Stretch;
+typedef union {@+float32_t f; @+ uint32_t u; @+} Stch;
@
\putcode
@<put functions@>=
-void hput_stretch(stretch_t *s)
+void hput_stretch(Stretch *s)
{ uint32_t mantissa, lowbits, sign, exponent;
- stch_t st;
+ Stch st;
st.f=s->f;
DBG(DBGFLOAT,"joining %f->%f(0x%X),%d:",s->f,st.f,st.u,s->o);
mantissa = st.u &(((uint32_t)1<<FLT_M_BITS)-1);
@@ -1917,7 +1917,7 @@ void hput_stretch(stretch_t *s)
\getcode
@<get macros@>=
-#define @[HGET_STRETCH(S)@] { stch_t st; @+ HGET32(st.u);@+ S.o=st.u&3; st.u&=~3; S.f=st.f; @+}
+#define @[HGET_STRETCH(S)@] { Stch st; @+ HGET32(st.u);@+ S.o=st.u&3; st.u&=~3; S.f=st.f; @+}
@
\readcode
@@ -1941,7 +1941,7 @@ void hput_stretch(stretch_t *s)
@
@s stretch symbol
-@s stretch_t int
+@s Stretch int
@<parsing rules@>=
order: PT {$$=normal_o;} | FIL {$$=fil_o;} @+| FILL {$$=fill_o;} @+| FILLL {$$=filll_o;};
@@ -1952,7 +1952,7 @@ stretch: number order { $$.f=$1; $$.o=$2; };
\writecode
@<write functions@>=
-void hwrite_order(order_t o)
+void hwrite_order(Order o)
{ switch (o)
{ case normal_o: hwritef("pt"); @+break;
case fil_o: hwritef("fil"); @+break;
@@ -1962,7 +1962,7 @@ void hwrite_order(order_t o)
}
}
-void hwrite_stretch(stretch_t *s)
+void hwrite_stretch(Stretch *s)
{ hwrite_float64(s->f);
hwrite_order(s->o);
}
@@ -2020,7 +2020,7 @@ hwrite_signed(P);
\putcode
@<put functions@>=
uint8_t hput_int(int32_t n)
-{ info_t info;
+{ Info info;
if (n>=0) @/
{ @+if (n<0x80) { @+HPUT8(n); @+info=1;@+ }
else if (n<0x8000) {@+ HPUT16(n);@+ info=2;@+ }
@@ -2142,7 +2142,7 @@ indicate a running width.
Because leaders\index{leaders} (see section~\secref{leaders}) may contain a rule
node, we also provide functions to read and write a complete rule
node. While parsing the symbol ``{\sl rule\/}'' will just initialize a variable of type
-\&{rule\_t} (the writing is done with a separate routine),
+\&{Rule} (the writing is done with a separate routine),
parsing a {\sl rule\_node\/} will always include writing it.
% Currently no predefined rules.
@@ -2152,8 +2152,8 @@ parsing a {\sl rule\_node\/} will always include writing it.
@<hint types@>=
typedef struct {@+
-dimen_t h,d,w; @+
-} rule_t;
+Dimen h,d,w; @+
+} Rule;
@
\readcode
@@ -2187,12 +2187,12 @@ content_node: rule_node;
\writecode
@<write functions@>=
-static void hwrite_rule_dimension(dimen_t d, char c)
+static void hwrite_rule_dimension(Dimen d, char c)
{ @+if (d==RUNNING_DIMEN) hwritef(" %c",c);
else hwrite_dimension(d);
}
-void hwrite_rule(rule_t *r)
+void hwrite_rule(Rule *r)
{ @+hwrite_rule_dimension(r->h,'|');
hwrite_rule_dimension(r->d,'|');
hwrite_rule_dimension(r->w,'_');
@@ -2201,11 +2201,11 @@ void hwrite_rule(rule_t *r)
\getcode
@<cases to get content@>=
@t\1\kern1em@>
-case TAG(rule_kind,b011): {rule_t r;@+ HGET_RULE(b011,r); @+hwrite_rule(&(r));@+ } @+break;
-case TAG(rule_kind,b101): {rule_t r;@+ HGET_RULE(b101,r); @+hwrite_rule(&(r));@+ } @+break;
-case TAG(rule_kind,b001): {rule_t r;@+ HGET_RULE(b001,r); @+hwrite_rule(&(r));@+ } @+break;
-case TAG(rule_kind,b110): {rule_t r;@+ HGET_RULE(b110,r); @+hwrite_rule(&(r));@+ } @+break;
-case TAG(rule_kind,b111): {rule_t r;@+ HGET_RULE(b111,r); @+hwrite_rule(&(r));@+ } @+break;
+case TAG(rule_kind,b011): {Rule r;@+ HGET_RULE(b011,r); @+hwrite_rule(&(r));@+ } @+break;
+case TAG(rule_kind,b101): {Rule r;@+ HGET_RULE(b101,r); @+hwrite_rule(&(r));@+ } @+break;
+case TAG(rule_kind,b001): {Rule r;@+ HGET_RULE(b001,r); @+hwrite_rule(&(r));@+ } @+break;
+case TAG(rule_kind,b110): {Rule r;@+ HGET_RULE(b110,r); @+hwrite_rule(&(r));@+ } @+break;
+case TAG(rule_kind,b111): {Rule r;@+ HGET_RULE(b111,r); @+hwrite_rule(&(r));@+ } @+break;
@
@<get macros@>=
@@ -2219,7 +2219,7 @@ if ((I)&b001) HGET32((R).w); @+else (R).w=RUNNING_DIMEN;
void hget_rule_node(void)
{ @<read the start byte |a|@>@;
if (KIND(a)==rule_kind) @/
- { @+rule_t r; @+HGET_RULE(INFO(a),r); @/
+ { @+Rule r; @+HGET_RULE(INFO(a),r); @/
hwrite_start();@+ hwritef("rule"); @+hwrite_rule(&r); @+hwrite_end();
}
else
@@ -2230,8 +2230,8 @@ void hget_rule_node(void)
\putcode
@<put functions@>=
-uint8_t hput_rule(rule_t *r)
-{ info_t info=b000;
+uint8_t hput_rule(Rule *r)
+{ Info info=b000;
if (r->h!=RUNNING_DIMEN) { HPUT32(r->h); @+info|=b100; @+}
if (r->d!=RUNNING_DIMEN) { HPUT32(r->d); @+info|=b010; @+}
if (r->w!=RUNNING_DIMEN) { HPUT32(r->w); @+info|=b001; @+}
@@ -2267,8 +2267,8 @@ the latter is prefixed with the keyword ``{\tt xdimen}'' (see section~\secref{re
@<hint types@>=
typedef struct {@+
bool x;@+
-xdimen_t d;@+
-} kern_t;
+Xdimen d;@+
+} Kern;
@
\readcode
@@ -2299,7 +2299,7 @@ content_node: start KERN kern END { hput_tags($1,hput_kern(&($3)));}
void hwrite_explicit(bool x)
{ @+if (x) hwritef(" !"); @+}
-void hwrite_kern(kern_t *k)
+void hwrite_kern(Kern *k)
{ @+hwrite_explicit(k->x);
if (k->d.h==0.0 && k->d.v==0.0 && k->d.w==0) hwrite_ref(zero_dimen_no);
else hwrite_xdimen(&(k->d));
@@ -2310,10 +2310,10 @@ void hwrite_kern(kern_t *k)
\getcode
@<cases to get content@>=
@t\1\kern1em@>
-case TAG(kern_kind,b010): @+ {@+kern_t k; @+HGET_KERN(b010,k);@+ } @+break;
-case TAG(kern_kind,b011): @+ {@+kern_t k; @+HGET_KERN(b011,k);@+ } @+break;
-case TAG(kern_kind,b110): @+ {@+kern_t k; @+HGET_KERN(b110,k);@+ } @+break;
-case TAG(kern_kind,b111): @+ {@+kern_t k; @+HGET_KERN(b111,k);@+ } @+break;
+case TAG(kern_kind,b010): @+ {@+Kern k; @+HGET_KERN(b010,k);@+ } @+break;
+case TAG(kern_kind,b011): @+ {@+Kern k; @+HGET_KERN(b011,k);@+ } @+break;
+case TAG(kern_kind,b110): @+ {@+Kern k; @+HGET_KERN(b110,k);@+ } @+break;
+case TAG(kern_kind,b111): @+ {@+Kern k; @+HGET_KERN(b111,k);@+ } @+break;
@
@<get macros@>=
@@ -2326,8 +2326,8 @@ hwrite_kern(&k);
\putcode
@<put functions@>=
-uint8_t hput_kern(kern_t *k)
-{ info_t info;
+uint8_t hput_kern(Kern *k)
+{ Info info;
if (k->x) info=b100; @+else info=b000;
if (k->d.h==0.0 && k->d.v==0.0)
{ if (k->d.w==0) HPUT8(zero_dimen_no);
@@ -2457,9 +2457,9 @@ of glue nodes in the short format:
@<hint basic types@>=
typedef struct {@+
-xdimen_t w; @+
-stretch_t p, m;@+
-} glue_t;
+Xdimen w; @+
+Stretch p, m;@+
+} Glue;
@
@@ -2513,20 +2513,20 @@ glue_node: start GLUE glue END @/
\writecode
@<write functions@>=
-void hwrite_plus(stretch_t *p)
+void hwrite_plus(Stretch *p)
{ @+if (p->f!=0.0) { hwritef(" plus");@+hwrite_stretch(p); @+}
}
-void hwrite_minus(stretch_t *m)
+void hwrite_minus(Stretch *m)
{@+ if (m->f!=0.0) { hwritef(" minus");@+hwrite_stretch(m); @+}
}
-void hwrite_glue(glue_t *g)
+void hwrite_glue(Glue *g)
{ hwrite_xdimen(&(g->w)); @+
hwrite_plus(&g->p); @+hwrite_minus(&g->m);
}
-void hwrite_ref_node(kind_t k, uint8_t n);
-void hwrite_glue_node(glue_t *g)
+void hwrite_ref_node(Kind k, uint8_t n);
+void hwrite_glue_node(Glue *g)
{@+
if (ZERO_GLUE(*g)) hwrite_ref_node(glue_kind,zero_skip_no);
else @+{ hwrite_start(); @+hwritef("glue"); @+hwrite_glue(g); @+hwrite_end();@+}
@@ -2536,13 +2536,13 @@ void hwrite_glue_node(glue_t *g)
\getcode
@<cases to get content@>=
@t\1\kern1em@>
-case TAG(glue_kind,b001): { glue_t g;@+ HGET_GLUE(b001,g);@+ hwrite_glue(&g);@+}@+break;
-case TAG(glue_kind,b010): { glue_t g;@+ HGET_GLUE(b010,g);@+ hwrite_glue(&g);@+}@+break;
-case TAG(glue_kind,b011): { glue_t g;@+ HGET_GLUE(b011,g);@+ hwrite_glue(&g);@+}@+break;
-case TAG(glue_kind,b100): { glue_t g;@+ HGET_GLUE(b100,g);@+ hwrite_glue(&g);@+}@+break;
-case TAG(glue_kind,b101): { glue_t g;@+ HGET_GLUE(b101,g);@+ hwrite_glue(&g);@+}@+break;
-case TAG(glue_kind,b110): { glue_t g;@+ HGET_GLUE(b110,g);@+ hwrite_glue(&g);@+}@+break;
-case TAG(glue_kind,b111): { glue_t g;@+ HGET_GLUE(b111,g);@+ hwrite_glue(&g);@+}@+break;
+case TAG(glue_kind,b001): { Glue g;@+ HGET_GLUE(b001,g);@+ hwrite_glue(&g);@+}@+break;
+case TAG(glue_kind,b010): { Glue g;@+ HGET_GLUE(b010,g);@+ hwrite_glue(&g);@+}@+break;
+case TAG(glue_kind,b011): { Glue g;@+ HGET_GLUE(b011,g);@+ hwrite_glue(&g);@+}@+break;
+case TAG(glue_kind,b100): { Glue g;@+ HGET_GLUE(b100,g);@+ hwrite_glue(&g);@+}@+break;
+case TAG(glue_kind,b101): { Glue g;@+ HGET_GLUE(b101,g);@+ hwrite_glue(&g);@+}@+break;
+case TAG(glue_kind,b110): { Glue g;@+ HGET_GLUE(b110,g);@+ hwrite_glue(&g);@+}@+break;
+case TAG(glue_kind,b111): { Glue g;@+ HGET_GLUE(b111,g);@+ hwrite_glue(&g);@+}@+break;
@
@<get macros@>=
@@ -2564,7 +2564,7 @@ void hget_glue_node(void)
if (INFO(a)==b000)
{ uint8_t n=HGET8;@+ REF(glue_kind,n);@+hwrite_ref_node(glue_kind,n); @+}
else
- { @+glue_t g; @+HGET_GLUE(INFO(a),g);@+ hwrite_glue_node(&g);@+}
+ { @+Glue g; @+HGET_GLUE(INFO(a),g);@+ hwrite_glue_node(&g);@+}
@<read and check the end byte |z|@>@;
}
@
@@ -2572,8 +2572,8 @@ void hget_glue_node(void)
\putcode
@<put functions@>=
-uint8_t hput_glue(glue_t *g)
-{ info_t info=b000;
+uint8_t hput_glue(Glue *g)
+{ Info info=b000;
if (ZERO_GLUE(*g)) { HPUT8(zero_skip_no); @+ info=b000; }
else if ( (g->w.w==0 && g->w.h==0.0 && g->w.v==0.0))
{ if (g->p.f!=0.0) { hput_stretch(&g->p); @+info|=b010; @+}
@@ -2687,10 +2687,10 @@ If the list is empty, |s| is zero.
@<hint types@>=
typedef struct {@+
-kind_t k; @+
+Kind k; @+
uint32_t p;@+
uint32_t s;@+
-} list_t;
+} List;
@
The major drawback of this choice of representation is that it ties
@@ -2795,7 +2795,7 @@ list: start estimate content_list END @/
\writecode
@<write functions@>=
-void hwrite_list(list_t *l)
+void hwrite_list(List *l)
{ uint32_t h=hpos-hstart, e=hend-hstart; /* save |hpos| and |hend| */
hpos=l->p+hstart;@+ hend=hpos+l->s;
if (l->k==list_kind ) @<write a list@>@;
@@ -2820,7 +2820,7 @@ void hwrite_list(list_t *l)
@
\getcode
@<shared get functions@>=
-void hget_size_boundary(info_t info)
+void hget_size_boundary(Info info)
{ uint32_t n;
if (info<2) return;
n=HGET8;
@@ -2828,7 +2828,7 @@ void hget_size_boundary(info_t info)
n, info,hpos-hstart-1);
}
-uint32_t hget_list_size(info_t info)
+uint32_t hget_list_size(Info info)
{ uint32_t n=0;
if (info==1) return 0;
else if (info==2) n=HGET8;
@@ -2839,7 +2839,7 @@ uint32_t hget_list_size(info_t info)
return n;
}
-void hget_list(list_t *l)
+void hget_list(List *l)
{@+if (KIND(*hpos)!=list_kind && @/
KIND(*hpos)!=text_kind &&@| KIND(*hpos)!=param_kind) @/
QUIT("List expected at 0x%x", (uint32_t)(hpos-hstart));
@@ -2883,7 +2883,7 @@ void hput_list_size(uint32_t n, int i)
else HPUT32(n);
}
-uint8_t hput_list(uint32_t start_pos, list_t *l)
+uint8_t hput_list(uint32_t start_pos, List *l)
{ @+if (l->s==0)
{ hpos=hstart+start_pos; return TAG(l->k,1);@+}
else@/
@@ -3110,7 +3110,7 @@ and for references, a reference type.
@<hint types@>=
typedef enum { @+txt_font=0x00, txt_global=0x08, txt_local=0x11,
txt_cc=0x1D, txt_node=0x1E, txt_hyphen=0x1F,
- txt_glue=0x20, txt_ignore=0xFB} txt_t;
+ txt_glue=0x20, txt_ignore=0xFB} Txt;
@
\readcode
@@ -3350,7 +3350,7 @@ void hput_txt_font(uint8_t f)
else QUIT("Use \\F%d\\ instead of \\%d for font %d in a text",f,f,f);
}
-void hput_txt_global(ref_t *d)
+void hput_txt_global(Ref *d)
{ @+ HPUTX(2);
switch (d->k)
{ case font_kind: HPUT8(txt_global+0);@+ break;
@@ -3375,7 +3375,7 @@ void hput_txt_local(uint8_t n)
@<hint types@>=
-typedef struct { @+kind_t k; @+int n; @+} ref_t;
+typedef struct { @+Kind k; @+int n; @+} Ref;
@
@@ -3412,7 +3412,7 @@ Most importantly, a box contains a list |l| of content nodes inside the box.
@<hint types@>=
-typedef struct @/{@+ dimen_t h,d,w,a;@+ float32_t r;@+ int8_t s,o; @+list_t l; @+} box_t;
+typedef struct @/{@+ Dimen h,d,w,a;@+ float32_t r;@+ int8_t s,o; @+List l; @+} Box;
@
There are two types of boxes: horizontal\index{horizontal box} boxes
@@ -3487,7 +3487,7 @@ content_node: hbox_node @+ | vbox_node;
\writecode
@<write functions@>=
-void hwrite_box(box_t *b)
+void hwrite_box(Box *b)
{ hwrite_dimension(b->h);
hwrite_dimension(b->d);
hwrite_dimension(b->w);
@@ -3503,22 +3503,22 @@ void hwrite_box(box_t *b)
\getcode
@<cases to get content@>=
@t\1\kern1em@>
-case TAG(hbox_kind,b000): {box_t b; @+HGET_BOX(b000,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(hbox_kind,b001): {box_t b; @+HGET_BOX(b001,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(hbox_kind,b010): {box_t b; @+HGET_BOX(b010,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(hbox_kind,b011): {box_t b; @+HGET_BOX(b011,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(hbox_kind,b100): {box_t b; @+HGET_BOX(b100,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(hbox_kind,b101): {box_t b; @+HGET_BOX(b101,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(hbox_kind,b110): {box_t b; @+HGET_BOX(b110,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(hbox_kind,b111): {box_t b; @+HGET_BOX(b111,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(vbox_kind,b000): {box_t b; @+HGET_BOX(b000,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(vbox_kind,b001): {box_t b; @+HGET_BOX(b001,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(vbox_kind,b010): {box_t b; @+HGET_BOX(b010,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(vbox_kind,b011): {box_t b; @+HGET_BOX(b011,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(vbox_kind,b100): {box_t b; @+HGET_BOX(b100,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(vbox_kind,b101): {box_t b; @+HGET_BOX(b101,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(vbox_kind,b110): {box_t b; @+HGET_BOX(b110,b); @+hwrite_box(&b);@+} @+ break;
-case TAG(vbox_kind,b111): {box_t b; @+HGET_BOX(b111,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(hbox_kind,b000): {Box b; @+HGET_BOX(b000,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(hbox_kind,b001): {Box b; @+HGET_BOX(b001,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(hbox_kind,b010): {Box b; @+HGET_BOX(b010,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(hbox_kind,b011): {Box b; @+HGET_BOX(b011,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(hbox_kind,b100): {Box b; @+HGET_BOX(b100,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(hbox_kind,b101): {Box b; @+HGET_BOX(b101,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(hbox_kind,b110): {Box b; @+HGET_BOX(b110,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(hbox_kind,b111): {Box b; @+HGET_BOX(b111,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(vbox_kind,b000): {Box b; @+HGET_BOX(b000,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(vbox_kind,b001): {Box b; @+HGET_BOX(b001,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(vbox_kind,b010): {Box b; @+HGET_BOX(b010,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(vbox_kind,b011): {Box b; @+HGET_BOX(b011,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(vbox_kind,b100): {Box b; @+HGET_BOX(b100,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(vbox_kind,b101): {Box b; @+HGET_BOX(b101,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(vbox_kind,b110): {Box b; @+HGET_BOX(b110,b); @+hwrite_box(&b);@+} @+ break;
+case TAG(vbox_kind,b111): {Box b; @+HGET_BOX(b111,b); @+hwrite_box(&b);@+} @+ break;
@
@<get macros@>=
@@ -3534,7 +3534,7 @@ hget_list(&(B.l));
@<get functions@>=
void hget_hbox_node(void)
-{ box_t b;
+{ Box b;
@<read the start byte |a|@>@;
if (KIND(a)!=hbox_kind) QUIT("Hbox expected at 0x%x got %s",node_pos,NAME(a));
HGET_BOX(INFO(a),b);@/
@@ -3547,7 +3547,7 @@ void hget_hbox_node(void)
void hget_vbox_node(void)
-{ box_t b;
+{ Box b;
@<read the start byte |a|@>@;
if (KIND(a)!=vbox_kind) QUIT("Vbox expected at 0x%x got %s",node_pos,NAME(a));
HGET_BOX(INFO(a),b);@/
@@ -3562,18 +3562,18 @@ void hget_vbox_node(void)
\putcode
@<put functions@>=
-info_t hput_box_dimen(dimen_t h, dimen_t d, dimen_t w)
-{ info_t i;
+Info hput_box_dimen(Dimen h, Dimen d, Dimen w)
+{ Info i;
@+HPUT32(h);
if (d!=0) { HPUT32(d); @+i=b001;@+ } @+else@+ i=b000;
HPUT32(w);
return i;
}
-info_t hput_box_shift(dimen_t a)
+Info hput_box_shift(Dimen a)
{ @+if (a!=0) { @+ HPUT32(a); @+return @+ b010;@+} @+ else @+return b000;
}
-info_t hput_box_glue_set(int8_t s, float32_t r, order_t o)
+Info hput_box_glue_set(int8_t s, float32_t r, Order o)
{ @+if (r!=0.0 && s!=0 )
{ hput_float32(r);@+
HPUT8((s<<4)|o);@+
@@ -3727,23 +3727,23 @@ case TAG(vpack_kind,b111): HGET_PACK(vpack_kind,b111); @+ break;
@<get macros@>=
#define @[HGET_SET(I)@] @/\
- { dimen_t h; @+HGET32(h); @+hwrite_dimension(h);@+}\
- { dimen_t d; @+if ((I)&b001) HGET32(d); @+ else d=0;@+hwrite_dimension(d); @+}\
- { dimen_t w; @+HGET32(w); @+hwrite_dimension(w);@+} \
-if ((I)&b010) { dimen_t a; @+HGET32(a); hwritef(" shifted"); @+hwrite_dimension(a);@+}\
- { stretch_t p; @+HGET_STRETCH(p);@+hwrite_plus(&p);@+}\
- { stretch_t m; @+HGET_STRETCH(m);@+hwrite_minus(&m);@+}\
- if ((I)&b100) {xdimen_t x;@+ hget_xdimen_node(&x); @+hwrite_xdimen_node(&x);@+} else HGET_REF(xdimen_kind)@;\
- { list_t l; @+hget_list(&l);@+ hwrite_list(&l); @+}
+ { Dimen h; @+HGET32(h); @+hwrite_dimension(h);@+}\
+ { Dimen d; @+if ((I)&b001) HGET32(d); @+ else d=0;@+hwrite_dimension(d); @+}\
+ { Dimen w; @+HGET32(w); @+hwrite_dimension(w);@+} \
+if ((I)&b010) { Dimen a; @+HGET32(a); hwritef(" shifted"); @+hwrite_dimension(a);@+}\
+ { Stretch p; @+HGET_STRETCH(p);@+hwrite_plus(&p);@+}\
+ { Stretch m; @+HGET_STRETCH(m);@+hwrite_minus(&m);@+}\
+ if ((I)&b100) {Xdimen x;@+ hget_xdimen_node(&x); @+hwrite_xdimen_node(&x);@+} else HGET_REF(xdimen_kind)@;\
+ { List l; @+hget_list(&l);@+ hwrite_list(&l); @+}
@#
#define @[HGET_PACK(K,I)@] @/\
- if ((I)&b010) { dimen_t d; @+HGET32(d); hwritef(" shifted"); @+hwrite_dimension(d); @+ }\
- if (K==vpack_kind) { dimen_t d; @+HGET32(d); hwritef(" max depth");@+hwrite_dimension(d); @+ }\
+ if ((I)&b010) { Dimen d; @+HGET32(d); hwritef(" shifted"); @+hwrite_dimension(d); @+ }\
+ if (K==vpack_kind) { Dimen d; @+HGET32(d); hwritef(" max depth");@+hwrite_dimension(d); @+ }\
if ((I)&b001) hwritef(" add");@+ else hwritef(" to");\
- if ((I)&b100) {xdimen_t x;@+ hget_xdimen_node(&x);@+hwrite_xdimen_node(&x);@+}\
+ if ((I)&b100) {Xdimen x;@+ hget_xdimen_node(&x);@+hwrite_xdimen_node(&x);@+}\
else @+HGET_REF(xdimen_kind);\
- { list_t l; @+hget_list(&l);@+ hwrite_list(&l); @+}
+ { List l; @+hget_list(&l);@+ hwrite_list(&l); @+}
@
@@ -3880,9 +3880,9 @@ in the output.
@<hint basic types@>=
typedef struct {@+
-glue_t bs, ls;@+
-dimen_t lsl;@+
-} baseline_t;
+Glue bs, ls;@+
+Dimen lsl;@+
+} Baseline;
@
@@ -3911,13 +3911,13 @@ content_node: start BASELINE baseline END @/
\getcode
@<cases to get content@>=
@t\1\kern1em@>
-case TAG(baseline_kind,b001): { baseline_t b;@+ HGET_BASELINE(b001,b);@+ }@+break;
-case TAG(baseline_kind,b010): { baseline_t b;@+ HGET_BASELINE(b010,b);@+ }@+break;
-case TAG(baseline_kind,b011): { baseline_t b;@+ HGET_BASELINE(b011,b);@+ }@+break;
-case TAG(baseline_kind,b100): { baseline_t b;@+ HGET_BASELINE(b100,b);@+ }@+break;
-case TAG(baseline_kind,b101): { baseline_t b;@+ HGET_BASELINE(b101,b);@+ }@+break;
-case TAG(baseline_kind,b110): { baseline_t b;@+ HGET_BASELINE(b110,b);@+ }@+break;
-case TAG(baseline_kind,b111): { baseline_t b;@+ HGET_BASELINE(b111,b);@+ }@+break;
+case TAG(baseline_kind,b001): { Baseline b;@+ HGET_BASELINE(b001,b);@+ }@+break;
+case TAG(baseline_kind,b010): { Baseline b;@+ HGET_BASELINE(b010,b);@+ }@+break;
+case TAG(baseline_kind,b011): { Baseline b;@+ HGET_BASELINE(b011,b);@+ }@+break;
+case TAG(baseline_kind,b100): { Baseline b;@+ HGET_BASELINE(b100,b);@+ }@+break;
+case TAG(baseline_kind,b101): { Baseline b;@+ HGET_BASELINE(b101,b);@+ }@+break;
+case TAG(baseline_kind,b110): { Baseline b;@+ HGET_BASELINE(b110,b);@+ }@+break;
+case TAG(baseline_kind,b111): { Baseline b;@+ HGET_BASELINE(b111,b);@+ }@+break;
@
@<get macros@>=
@@ -3932,8 +3932,8 @@ case TAG(baseline_kind,b111): { baseline_t b;@+ HGET_BASELINE(b111,b);@+ }@+brea
\putcode
@<put functions@>=
-uint8_t hput_baseline(baseline_t *b)
-{ info_t info=b000;
+uint8_t hput_baseline(Baseline *b)
+{ Info info=b000;
if (!ZERO_GLUE(b->bs)) @+info|=b100;
if (!ZERO_GLUE(b->ls)) @+ info|=b010;
if (b->lsl!=0) { @+ HPUT32(b->lsl); @+info|=b001; @+}
@@ -3968,7 +3968,7 @@ format, we give the font, the character code, and then the replacement
characters represented as a text.
@<hint types@>=
-typedef struct{@+uint8_t f; @+list_t l;@+} lig_t;
+typedef struct{@+uint8_t f; @+List l;@+} Lig;
@
\readcode
@@ -4000,7 +4000,7 @@ content_node: start LIGATURE ligature END {hput_tags($1,hput_ligature(&($3)));};
\writecode
@<write functions@>=
-void hwrite_ligature(lig_t *l)
+void hwrite_ligature(Lig *l)
{ uint32_t pos=hpos-hstart;
hwrite_ref(l->f);
hpos=l->l.p+hstart;
@@ -4016,13 +4016,13 @@ void hwrite_ligature(lig_t *l)
\getcode
@<cases to get content@>=
@t\1\kern1em@>
-case TAG(ligature_kind,1):@+ {lig_t l; @+HGET_LIG(1,l);@+} @+break;
-case TAG(ligature_kind,2):@+ {lig_t l; @+HGET_LIG(2,l);@+} @+break;
-case TAG(ligature_kind,3):@+ {lig_t l; @+HGET_LIG(3,l);@+} @+break;
-case TAG(ligature_kind,4):@+ {lig_t l; @+HGET_LIG(4,l);@+} @+break;
-case TAG(ligature_kind,5):@+ {lig_t l; @+HGET_LIG(5,l);@+} @+break;
-case TAG(ligature_kind,6):@+ {lig_t l; @+HGET_LIG(6,l);@+} @+break;
-case TAG(ligature_kind,7):@+ {lig_t l; @+HGET_LIG(7,l);@+} @+break;
+case TAG(ligature_kind,1):@+ {Lig l; @+HGET_LIG(1,l);@+} @+break;
+case TAG(ligature_kind,2):@+ {Lig l; @+HGET_LIG(2,l);@+} @+break;
+case TAG(ligature_kind,3):@+ {Lig l; @+HGET_LIG(3,l);@+} @+break;
+case TAG(ligature_kind,4):@+ {Lig l; @+HGET_LIG(4,l);@+} @+break;
+case TAG(ligature_kind,5):@+ {Lig l; @+HGET_LIG(5,l);@+} @+break;
+case TAG(ligature_kind,6):@+ {Lig l; @+HGET_LIG(6,l);@+} @+break;
+case TAG(ligature_kind,7):@+ {Lig l; @+HGET_LIG(7,l);@+} @+break;
@
@<get macros@>=
#define @[HGET_LIG(I,L)@] @/\
@@ -4034,7 +4034,7 @@ hwrite_ligature(&(L));
\putcode
@<put functions@>=
-uint8_t hput_ligature(lig_t *l)
+uint8_t hput_ligature(Lig *l)
{ @+if (l->l.s < 7) return TAG(ligature_kind,l->l.s);
else@/
{ uint32_t pos=l->l.p;
@@ -4085,7 +4085,7 @@ Replace counts must be in the range 0 to 31; so the short format can
set the high bit of the replace count to indicate an explicit\index{explicit} break.
@<hint types@>=
-typedef struct disc_t@+ {@+ bool x; @+list_t p,q;@+ uint8_t r;@+ } disc_t;
+typedef struct@+ {@+ bool x; @+List p,q;@+ uint8_t r;@+ } Disc;
@
@@ -4122,26 +4122,26 @@ content_node: disc_node;
\writecode
@<write functions@>=
-void hwrite_disc(disc_t *h)
+void hwrite_disc(Disc *h)
{ @+hwrite_explicit(h->x);
if (h->r!=0) hwritef(" %d",h->r);
if (h->p.s!=0 || h->q.s!=0) hwrite_list(&(h->p));
if (h->q.s!=0) hwrite_list(&(h->q));
}
-void hwrite_disc_node(disc_t *h)
+void hwrite_disc_node(Disc *h)
{ @+ hwrite_start(); @+hwritef("disc"); @+ hwrite_disc(h); @+hwrite_end();}
@
\getcode
@<cases to get content@>=
@t\1\kern1em@>
-case TAG(disc_kind,b001): {disc_t h; @+HGET_DISC(b001,h);@+ hwrite_disc(&h); @+} @+break;
-case TAG(disc_kind,b010): {disc_t h; @+HGET_DISC(b010,h);@+ hwrite_disc(&h); @+} @+break;
-case TAG(disc_kind,b011): {disc_t h; @+HGET_DISC(b011,h);@+ hwrite_disc(&h); @+} @+break;
-case TAG(disc_kind,b100): {disc_t h; @+HGET_DISC(b100,h);@+ hwrite_disc(&h); @+} @+break;
-case TAG(disc_kind,b101): {disc_t h; @+HGET_DISC(b101,h);@+ hwrite_disc(&h); @+} @+break;
-case TAG(disc_kind,b110): {disc_t h; @+HGET_DISC(b110,h);@+ hwrite_disc(&h); @+} @+break;
-case TAG(disc_kind,b111): {disc_t h; @+HGET_DISC(b111,h);@+ hwrite_disc(&h); @+} @+break;
+case TAG(disc_kind,b001): {Disc h; @+HGET_DISC(b001,h);@+ hwrite_disc(&h); @+} @+break;
+case TAG(disc_kind,b010): {Disc h; @+HGET_DISC(b010,h);@+ hwrite_disc(&h); @+} @+break;
+case TAG(disc_kind,b011): {Disc h; @+HGET_DISC(b011,h);@+ hwrite_disc(&h); @+} @+break;
+case TAG(disc_kind,b100): {Disc h; @+HGET_DISC(b100,h);@+ hwrite_disc(&h); @+} @+break;
+case TAG(disc_kind,b101): {Disc h; @+HGET_DISC(b101,h);@+ hwrite_disc(&h); @+} @+break;
+case TAG(disc_kind,b110): {Disc h; @+HGET_DISC(b110,h);@+ hwrite_disc(&h); @+} @+break;
+case TAG(disc_kind,b111): {Disc h; @+HGET_DISC(b111,h);@+ hwrite_disc(&h); @+} @+break;
@
@<get macros@>=
@@ -4153,7 +4153,7 @@ if ((I)&b001) hget_list(&((Y).q)); else { (Y).q.p=hpos-hstart; @+(Y).q.s=0; @+(Y
@
@<get functions@>=
-void hget_disc_node(disc_t *h)
+void hget_disc_node(Disc *h)
{ @<read the start byte |a|@>@;
if (KIND(a)!=disc_kind || INFO(a)==b000)
QUIT("Hyphen expected at 0x%x got %s,%d",node_pos,NAME(a),INFO(a));
@@ -4168,8 +4168,8 @@ Because the info value |b000| is reserved for references, a zero reference
count is written to avoid this case.
\putcode
@<put functions@>=
-uint8_t hput_disc(disc_t *h)
-{ info_t info=b000;
+uint8_t hput_disc(Disc *h)
+{ Info info=b000;
if (h->r!=0) info|=b100;
if (h->q.s!=0) info|=b011;
else if (h->p.s!=0) info|=b010;
@@ -4291,10 +4291,10 @@ case TAG(par_kind,b110): @+HGET_PAR(b110);@+break;
#define @[HGET_PAR(I)@] @/\
{ uint8_t n;\
if ((I)==b100) {n=HGET8; @+REF(param_kind,n);@+}\
- if ((I)&b100) {xdimen_t x; @+hget_xdimen_node(&x); @+hwrite_xdimen(&x);@+} else HGET_REF(xdimen_kind);\
- if ((I)&b010) { list_t l; @+hget_param_list(&l); @+hwrite_param_list(&l); @+} \
+ if ((I)&b100) {Xdimen x; @+hget_xdimen_node(&x); @+hwrite_xdimen(&x);@+} else HGET_REF(xdimen_kind);\
+ if ((I)&b010) { List l; @+hget_param_list(&l); @+hwrite_param_list(&l); @+} \
else if ((I)!=b100) HGET_REF(param_kind)@; else hwrite_ref(n);\
- { list_t l; @+hget_list(&l);@+ hwrite_list(&l); @+}}
+ { List l; @+hget_list(&l);@+ hwrite_list(&l); @+}}
@
@@ -4367,10 +4367,10 @@ case TAG(math_kind,b110): HGET_MATH(b110); @+ break;
@<get macros@>=
#define @[HGET_MATH(I)@] \
-if ((I)&b100) { list_t l; @+hget_param_list(&l); @+hwrite_param_list(&l); @+} \
+if ((I)&b100) { List l; @+hget_param_list(&l); @+hwrite_param_list(&l); @+} \
else HGET_REF(param_kind);\
if ((I)&b010) hget_hbox_node(); \
-{ list_t l; @+hget_list(&l);@+ hwrite_list(&l); @+} \
+{ List l; @+hget_list(&l);@+ hwrite_list(&l); @+} \
if ((I)&b001) hget_hbox_node();
@
@@ -4439,7 +4439,7 @@ content_node: start ADJUST list END { hput_tags($1,TAG(adjust_kind,1));};
\vbox{\getcode\vskip -\baselineskip\writecode}
@<cases to get content@>=
@t\1\kern1em@>
-case TAG(adjust_kind,1):@+ { list_t l;@+hget_list(&l); @+ hwrite_list(&l); @+} @+ break;
+case TAG(adjust_kind,1):@+ { List l;@+hget_list(&l); @+ hwrite_list(&l); @+} @+ break;
@
\subsection{Tables}\index{alignment}
@@ -4555,7 +4555,7 @@ case TAG(table_kind,b101): @+ HGET_TABLE(b101); @+ break;
case TAG(table_kind,b110): @+ HGET_TABLE(b110); @+ break;
case TAG(table_kind,b111): @+ HGET_TABLE(b111); @+ break;@#
-case TAG(item_kind,b000): @+{@+ list_t l;@+ hget_list(&l);@+ hwrite_list(&l);@+ } @+ break;
+case TAG(item_kind,b000): @+{@+ List l;@+ hget_list(&l);@+ hwrite_list(&l);@+ } @+ break;
case TAG(item_kind,b001): hget_content_node(); @+ break;
case TAG(item_kind,b010): hwritef(" 2");@+hget_content_node(); @+ break;
case TAG(item_kind,b011): hwritef(" 3");@+hget_content_node(); @+ break;
@@ -4569,15 +4569,15 @@ case TAG(item_kind,b111): hwritef(" %u",HGET8);@+hget_content_node(); @+ break;
#define @[HGET_TABLE(I)@] \
if(I&b010) hwritef(" v"); @+else hwritef(" h"); \
if ((I)&b001) hwritef(" add");@+ else hwritef(" to");\
-if ((I)&b100) {xdimen_t x; hget_xdimen_node(&x); @+hwrite_xdimen_node(&x);@+} else HGET_REF(xdimen_kind)@;\
-{@+ list_t l; @+hget_list(&l);@+ hwrite_list(&l);@+ } /* tabskip */ \
-{@+ list_t l; @+hget_list(&l);@+ hwrite_list(&l);@+ } /* items */
+if ((I)&b100) {Xdimen x; hget_xdimen_node(&x); @+hwrite_xdimen_node(&x);@+} else HGET_REF(xdimen_kind)@;\
+{@+ List l; @+hget_list(&l);@+ hwrite_list(&l);@+ } /* tabskip */ \
+{@+ List l; @+hget_list(&l);@+ hwrite_list(&l);@+ } /* items */
@
\putcode
@<put functions@>=
-info_t hput_span_count(uint32_t n)
+Info hput_span_count(uint32_t n)
{ if (n==0) QUIT("Span count in item must not be zero");
else if (n<7) return n;
else if (n>0xFF) QUIT("Span count %d must be less than 255",n);
@@ -4608,9 +4608,9 @@ where the image data can be found.
@<hint types@>=
typedef struct {@+
uint16_t n;@+
-dimen_t w,h;@+
-stretch_t p,m;@+
-} image_t;
+Dimen w,h;@+
+Stretch p,m;@+
+} Image;
@
@@ -4635,7 +4635,7 @@ content_node: start IMAGE image END { hput_tags($1,hput_image(&($3)));}
\writecode
@<write functions@>=
-void hwrite_image(image_t *x)
+void hwrite_image(Image *x)
{ hwritef(" %u",x->n);
if (x->w!=0 ||x->h!=0) { hwrite_dimension(x->w); hwrite_dimension(x->h);@+}
hwrite_plus(&x->p);
@@ -4646,10 +4646,10 @@ void hwrite_image(image_t *x)
\getcode
@<cases to get content@>=
@t\1\kern1em@>
-case TAG(image_kind,b100): @+ { image_t x;@+HGET_IMAGE(b100,x);@+}@+break;
-case TAG(image_kind,b101): @+ { image_t x;@+HGET_IMAGE(b101,x);@+}@+break;
-case TAG(image_kind,b110): @+ { image_t x;@+HGET_IMAGE(b110,x);@+}@+break;
-case TAG(image_kind,b111): @+ { image_t x;@+HGET_IMAGE(b111,x);@+}@+break;
+case TAG(image_kind,b100): @+ { Image x;@+HGET_IMAGE(b100,x);@+}@+break;
+case TAG(image_kind,b101): @+ { Image x;@+HGET_IMAGE(b101,x);@+}@+break;
+case TAG(image_kind,b110): @+ { Image x;@+HGET_IMAGE(b110,x);@+}@+break;
+case TAG(image_kind,b111): @+ { Image x;@+HGET_IMAGE(b111,x);@+}@+break;
@
@<get macros@>=
@@ -4665,8 +4665,8 @@ hwrite_image(&(X));
\putcode
@<put functions@>=
-uint8_t hput_image(image_t *x)
-{ info_t i=b100;
+uint8_t hput_image(Image *x)
+{ Info i=b100;
HPUT16(x->n);
if (x->w!=0 || x->h!=0)@+ {HPUT32(x->w); HPUT32(x->h); i|=b010;@+ }
if (x->p.f!=0.0 || x->m.f!=0.0)@+ {hput_stretch(&x->p); hput_stretch(&x->m); i|=b001;@+ }
@@ -4815,7 +4815,7 @@ outline node.
@<get functions@>=
-void hget_outline_or_label_def(info_t i, uint32_t node_pos)
+void hget_outline_or_label_def(Info i, uint32_t node_pos)
{ @+if (i&b100)
@<get and write an outline node@>@;
else
@@ -4877,7 +4877,7 @@ After having seen the maximum values, we now explain labels, then links,
and finally outlines.
-To store labels, we define a data type |label_t| and an array |labels|
+To store labels, we define a data type |Label| and an array |labels|
indexed by the labels reference number.
@<hint basic types@>=
@@ -4887,7 +4887,7 @@ typedef struct
bool used; /* label used in a link or an outline */
int next; /* reference in a linked list */
uint32_t pos0;@+ uint8_t f; /* secondary position */
-} label_t;
+} Label;
@
The |where| field indicates where the label position
@@ -4903,7 +4903,7 @@ An undefined label has |where| equal to zero.
@
@<common variables@>=
-label_t *labels;
+Label *labels;
int first_label=-1;
@
The variable |first_label| will be used together with the |next| field of
@@ -4911,7 +4911,7 @@ a label to construct a linked list of labels.
@<initialize definitions@>=
if (max_ref[label_kind]>=0)@/
- ALLOCATE(labels,max_ref[label_kind]+1,label_t);
+ ALLOCATE(labels,max_ref[label_kind]+1,Label);
@
The implementation of labels has to solve the
@@ -4969,7 +4969,7 @@ After parsing a label, the function |hset_label| is called.
@<put functions@>=
void hset_label(int n,int w )
-{ label_t *t;
+{ Label *t;
REF_RNG(label_kind,n);
t=labels+n;@/
if (t->where!=LABEL_UNDEF)
@@ -5019,7 +5019,7 @@ usual |hwrite_|\dots\ functions. And we will see shortly why that is so.
@<write functions@>=
void hwrite_label(void) /* called in |hwrite_end| and at the start of a list */
{@+ while (first_label>=0 && (uint32_t)(hpos-hstart)>=labels[first_label].pos)@/
- { label_t *t=labels+first_label;
+ { Label *t=labels+first_label;
DBG(DBGLABEL,"Inserting label *%d\n", first_label);
hwrite_start();
hwritef("label *%d",first_label);
@@ -5089,7 +5089,7 @@ The |b010| bit indicates the presence of a secondary position for the label.
\getcode
@<get and store a label node@>=
-{ label_t *t;
+{ Label *t;
int n;
if (i&b001) HGET16(n); @+else n=HGET8;
REF_RNG(label_kind,n);
@@ -5112,8 +5112,8 @@ The function |hput_label| is simply the reverse of the above code.
\putcode
@<put functions@>=
-uint8_t hput_label(int n, label_t *l)
-{ info_t i=b000;
+uint8_t hput_label(int n, Label *l)
+{ Info i=b000;
HPUTX(13);
if (n>0xFF) {i|=b001; HPUT16(n);@+}@+ else HPUT8(n);
HPUT32(l->pos);
@@ -5137,7 +5137,7 @@ to the definition section.
The outlines are stored after the labels because they reference the labels.
@<put functions@>=
extern void hput_definitions_end(void);
-extern uint8_t hput_outline(outline_t *t);
+extern uint8_t hput_outline(Outline *t);
void hput_label_defs(void)
{ int n;
section_no=1;
@@ -5152,7 +5152,7 @@ void hput_label_defs(void)
@<output the label definitions@>=
for (n=0; n<=max_ref[label_kind]; n++)@/
- { label_t *l=labels+n;
+ { Label *l=labels+n;
uint32_t pos;
if (l->used)@/
{ pos=hpos++-hstart;
@@ -5199,7 +5199,7 @@ the appropriate tag.
\putcode
@<put functions@>=
uint8_t hput_link(int n, int on)
-{ info_t i;
+{ Info i;
REF_RNG(label_kind,n);
labels[n].used=true;
if (on) i=b010;@+ else i=b000;
@@ -5250,16 +5250,16 @@ uint8_t *t; /* title */
int s; /* title size */
int d; /* depth */
uint16_t r; /* reference to a label */
-} outline_t;
+} Outline;
@
@<shared put variables@>=
-outline_t *outlines;
+Outline *outlines;
@
@<initialize definitions@>=
if (max_outline>=0)@/
- ALLOCATE(outlines,max_outline+1,outline_t);
+ ALLOCATE(outlines,max_outline+1,Outline);
@
Child items follow their parent item and have a bigger depth level.
@@ -5312,7 +5312,7 @@ it is never referenced anywhere in an \HINT\ file.
@<get and write an outline node@>=
{ int r,d;
- list_t l;
+ List l;
static int outline_no=-1;
hwrite_start();@+hwritef("outline");
++outline_no;
@@ -5360,7 +5360,7 @@ def_node: START OUTLINE REFERENCE integer position list END {
@<put functions@>=
void hset_outline(int m, int r, int d, uint32_t pos)
-{ outline_t *t;
+{ Outline *t;
RNG("Outline",m,0,max_outline);
t=outlines+m;
REF_RNG(label_kind,r);
@@ -5391,8 +5391,8 @@ outline definitions.
\putcode
@<put functions@>=
-uint8_t hput_outline(outline_t *t)
-{ info_t i=b100;
+uint8_t hput_outline(Outline *t)
+{ Info i=b100;
HPUTX(t->s+4);
if (t->r>0xFF) {i|=b001; @+HPUT16(t->r);@+} @+else HPUT8(t->r);
labels[t->r].used=true;
@@ -5405,7 +5405,7 @@ uint8_t hput_outline(outline_t *t)
@<output the outline definitions@>=
@<compress long format depth levels@>@;
for (n=0;n<=max_outline;n++)
-{ outline_t *t=outlines+n;
+{ Outline *t=outlines+n;
uint32_t pos;
pos=hpos++-hstart;
if (t->s==0 || t->t==NULL)
@@ -5787,7 +5787,7 @@ content_node: stream_def_node @+ | stream_ins_node;
@<get stream information for normal streams@>=
-{ xdimen_t x;
+{ Xdimen x;
uint16_t f,r;
uint8_t n;
DBG(DBGDEF,"Defining normal stream %d at " SIZE_F "\n",*(hpos-1),hpos-hstart-2);
@@ -5804,13 +5804,13 @@ static bool hget_stream_def(void)
{@+ if (KIND(*hpos)!=stream_kind || !(INFO(*hpos)&b100))
return false;
else
- { ref_t df;
+ { Ref df;
@<read the start byte |a|@>@;
DBG(DBGDEF,"Defining stream %d at " SIZE_F "\n",*hpos,hpos-hstart-1);
DEF(df,stream_kind,HGET8);
hwrite_start();@+hwritef("stream");@+@+hwrite_ref(df.n);
if (df.n>0)
- { xdimen_t x; @+ list_t l;
+ { Xdimen x; @+ List l;
if (INFO(a)==b100) @<get stream information for normal streams@>@;
else if (INFO(a)==b101) hwritef(" first");
else if(INFO(a)==b110) hwritef(" last");
@@ -5892,9 +5892,9 @@ We just check, that the stream number is in the correct range.
@<get macros@>=
#define @[HGET_STREAM(I)@] @/\
{uint8_t n=HGET8;@+ REF_RNG(stream_kind,n); @+hwrite_ref(n);@+}\
-if ((I)&b010) { list_t l; @+hget_param_list(&l); @+hwrite_param_list(&l); @+} \
+if ((I)&b010) { List l; @+hget_param_list(&l); @+hwrite_param_list(&l); @+} \
else HGET_REF(param_kind);\
-{ list_t l; @+hget_list(&l);@+ hwrite_list(&l); @+}
+{ List l; @+hget_list(&l);@+ hwrite_list(&l); @+}
@
@@ -5991,7 +5991,7 @@ page: string { hput_string($1);} page_priority glue_node dimension {@+HPUT32($5)
\vbox{\getcode\vskip -\baselineskip\writecode}
@<get functions@>=
void hget_page(void)
-{ char *n; uint8_t p; xdimen_t x; list_t l;
+{ char *n; uint8_t p; Xdimen x; List l;
HGET_STRING(n);@+ hwrite_string(n);
p=HGET8; @+ if (p!=1) hwritef(" %d",p);
hget_glue_node();
@@ -6062,18 +6062,18 @@ otherwise 4 byte are used for the positions.
@<hint types@>=
typedef
-struct {@+uint8_t pg; @+uint32_t pos; @+ bool on; @+int link;@+} range_pos_t;
+struct {@+uint8_t pg; @+uint32_t pos; @+ bool on; @+int link;@+} RangePos;
@
@<common variables@>=
-range_pos_t *range_pos;
+RangePos *range_pos;
int next_range=1, max_range;
int *page_on;
@
@<initialize definitions@>=
ALLOCATE(page_on,max_ref[page_kind]+1,int);
-ALLOCATE(range_pos,2*(max_ref[range_kind]+1),range_pos_t);
+ALLOCATE(range_pos,2*(max_ref[range_kind]+1),RangePos);
@
@<hint macros@>=
@@ -6116,7 +6116,7 @@ void hwrite_range(void) /* called in |hwrite_end| */
\getcode
@<get functions@>=
-void hget_range(info_t info, uint8_t pg)
+void hget_range(Info info, uint8_t pg)
{ uint32_t from, to;
REF(page_kind,pg);
REF(range_kind,(next_range-1)/2);
@@ -6148,7 +6148,7 @@ void hsort_ranges(void) /* simple insert sort by position */
for(i=3; i<next_range; i++)@/
{ int j = i-1;
if (range_pos[i].pos < range_pos[j].pos) @/
- { range_pos_t t;
+ { RangePos t;
t= range_pos[i];
do {
range_pos[j+1] = range_pos[j];
@@ -6191,7 +6191,7 @@ void hput_range_defs(void)
hpos=hstart+dir[1].size;
for (i=1; i< next_range;i++)
if (range_pos[i].on)@/
- { info_t info=b000;
+ { Info info=b000;
uint32_t p=hpos++-hstart;
uint32_t from, to;
HPUT8(range_pos[i].pg);
@@ -6804,27 +6804,27 @@ uint16_t section_no;
char *file_name;
uint8_t *buffer;
uint32_t bsize;
-} entry_t;
+} Entry;
@
The function |new_directory| allocates the directory.
@<directory functions@>=
-entry_t *dir=NULL;
+Entry *dir=NULL;
uint16_t section_no, max_section_no;
void new_directory(uint32_t entries)
{ DBG(DBGDIR,"Creating directory with %d entries\n", entries);
RNG("Directory entries",entries,3,0x10000);
max_section_no=entries-1;@+
- ALLOCATE(dir,entries,entry_t);
+ ALLOCATE(dir,entries,Entry);
dir[0].section_no=0; @+ dir[1].section_no=1; @+ dir[2].section_no=2;
}
@
The function |hset_entry| fills in the appropriate entry.
@<directory functions@>=
-void hset_entry(entry_t *e, uint16_t i, uint32_t size, uint32_t xsize, @|char *file_name)
+void hset_entry(Entry *e, uint16_t i, uint32_t size, uint32_t xsize, @|char *file_name)
{ e->section_no=i;
e->size=size; @+e->xsize=xsize;
if (file_name==NULL || *file_name==0)
@@ -6935,7 +6935,7 @@ It remains to create the directories along the path we might have constructed.
#endif
QUIT("Unable to create directory %s",aux_name);
DBG(DBGDIR,"Creating directory %s\n",aux_name);
- } else if (!(S_IFDIR&s.st_mode))
+ } else if (!(S_IFDIR&(s.st_mode)))
QUIT("Unable to create directory %s, file exists",aux_name);
*path_end='/';
}
@@ -7049,7 +7049,7 @@ Here is the macro and function to read a directory\index{directory entry} entry:
@
@<get file functions@>=
-void hget_entry(entry_t *e)
+void hget_entry(Entry *e)
{ @<read the start byte |a|@>@;
DBG(DBGDIR,"Reading directory entry\n");
switch(a)
@@ -7081,7 +7081,7 @@ The name of the directory section must be the empty string.
\gdef\subcodetitle{Directory Section}%
\getcode
@<get file functions@>=
-static void hget_root(entry_t *root)
+static void hget_root(Entry *root)
{ DBG(DBGDIR,"Root entry at " SIZE_F "\n",hpos-hstart);
hget_entry(root);
root->pos=hpos-hstart;
@@ -7092,7 +7092,7 @@ static void hget_root(entry_t *root)
void hget_directory(void)
{ int i;
- entry_t root={0};
+ Entry root={0};
hget_root(&root);
DBG(DBGDIR,"Directory\n");
new_directory(max_section_no+1);
@@ -7121,7 +7121,7 @@ Armed with these preparations, we can put the directory into the \HINT\ file.
\gdef\subcodetitle{Directory Section}%
\putcode
@<put functions@>=
-static void hput_entry(entry_t *e)
+static void hput_entry(Entry *e)
{ uint8_t b;
if (e->size<0x100 && e->xsize<0x100) b=0;
else if (e->size<0x10000 &&e->xsize<0x10000) b=1;
@@ -7466,7 +7466,7 @@ max_value: FONT UNSIGNED { hset_max(font_kind,$2); }
@
@<parsing functions@>=
-void hset_max(kind_t k, int n)
+void hset_max(Kind k, int n)
{ DBG(DBGDEF,"Setting max %s to %d\n",definition_name[k],n);
RNG("Maximum",n,max_fixed[k]+1,MAX_REF(k));
if (n>max_ref[k])
@@ -7477,7 +7477,7 @@ void hset_max(kind_t k, int n)
\writecode
@<write functions@>=
void hwrite_max_definitions(void)
-{ kind_t k;
+{ Kind k;
hwrite_start();@+
hwritef("max");
for (k=0; k<32;k++)
@@ -7498,7 +7498,7 @@ void hwrite_max_definitions(void)
\getcode
@<get file functions@>=
void hget_max_definitions(void)
-{ kind_t k;
+{ Kind k;
@<read the start byte |a|@>@;
if (a!=TAG(list_kind,0)) QUIT("Start of maximum list expected");
for(k= 0;k<32;k++)max_ref[k]= max_default[k]; max_outline=-1;
@@ -7530,7 +7530,7 @@ void hget_max_definitions(void)
@<put functions@>=
void hput_max_definitions(void)
-{ kind_t k;
+{ Kind k;
DBG(DBGDEF,"Writing Max Definitions\n");
HPUTTAG(list_kind,0);
for (k=0; k<32; k++)
@@ -7684,8 +7684,8 @@ of default definitions is greater than the number of fixed definitions.
@<definition checks@>=
#define @[DEF_REF(D,K,M,N)@] DEF(D,K,M);\
-if ((M)>max_default[K]) QUIT("Defining non default reference %d for %s",M,definition_name[K]); \
-if ((N)>max_fixed[K]) QUIT("Defining reference %d for %s by non fixed reference %d",M,definition_name[K],N);
+if ((int)(M)>max_default[K]) QUIT("Defining non default reference %d for %s",M,definition_name[K]); \
+if ((int)(N)>max_fixed[K]) QUIT("Defining reference %d for %s by non fixed reference %d",M,definition_name[K],N);
@
@<parsing rules@>=
@@ -7706,11 +7706,11 @@ void hget_definition(int n, uint8_t a, uint32_t node_pos)
{@+ switch(KIND(a))
{ case font_kind: hget_font_def(n);@+ break;
case param_kind:
- {@+ list_t l; @+HGET_LIST(INFO(a),l); @+hwrite_parameters(&l); @+ break;@+}
+ {@+ List l; @+HGET_LIST(INFO(a),l); @+hwrite_parameters(&l); @+ break;@+}
case page_kind: hget_page(); @+break;
case dimen_kind: hget_dimen(a); @+break;
case xdimen_kind:
- {@+ xdimen_t x; @+hget_xdimen(a,&x); @+hwrite_xdimen(&x); @+break;@+ }
+ {@+ Xdimen x; @+hget_xdimen(a,&x); @+hwrite_xdimen(&x); @+break;@+ }
case language_kind:
if (INFO(a)!=b000)
QUIT("Info value of language definition must be zero");
@@ -7724,7 +7724,7 @@ void hget_definition(int n, uint8_t a, uint32_t node_pos)
void hget_def_node()
-{ kind_t k;
+{ Kind k;
@<read the start byte |a|@>@;
k=KIND(a);
@@ -7772,7 +7772,7 @@ Therefore we restrict the definitions in parameter lists to such
basic definitions.
@<parsing functions@>=
-void check_param_def(ref_t *df)
+void check_param_def(Ref *df)
{ if(df->k!=int_kind && df->k!=dimen_kind && @| df->k!=glue_kind)
QUIT("Kind %s not allowed in parameter list", definition_name[df->k]);
if(df->n<=max_fixed[df->k] || max_default[df->k]<df->n)
@@ -7835,14 +7835,14 @@ non_empty_param_list: start PARAM {hpos=hpos-2;} parameters END @/
\writecode
@<write functions@>=
-void hwrite_parameters(list_t *l)
+void hwrite_parameters(List *l)
{ uint32_t h=hpos-hstart, e=hend-hstart; /* save |hpos| and |hend| */
hpos=l->p+hstart;@+ hend=hpos+l->s;
if (l->s>0xFF) hwritef(" %d",l->s);
while(hpos<hend) hget_def_node();
hpos=hstart+h;@+ hend=hstart+e; /* restore |hpos| and |hend| */
}
-void hwrite_param_list(list_t *l)
+void hwrite_param_list(List *l)
{ @+if (l->s!=0) @/
{ hwrite_start();@+
hwritef("param");
@@ -7854,7 +7854,7 @@ void hwrite_param_list(list_t *l)
\getcode
@<get functions@>=
-void hget_param_list(list_t *l)
+void hget_param_list(List *l)
{ @+if (KIND(*hpos)!=param_kind) @/
QUIT("Parameter list expected at 0x%x", (uint32_t)(hpos-hstart));
else hget_list(l);
@@ -7994,12 +7994,12 @@ fref: ref @/{ RNG("Font parameter",$1,0,MAX_FONT_PARAMS); };
@<get functions@>=
static void hget_font_params(void)
-{ disc_t h;
+{ Disc h;
hget_glue_node();
hget_disc_node(&(h));@+ hwrite_disc_node(&h);
DBG(DBGDEF,"Start font parameters\n");
while (KIND(*hpos)!=font_kind)@/
- { ref_t df;
+ { Ref df;
@<read the start byte |a|@>@;
df.k=KIND(a);
df.n=HGET8;
@@ -8018,7 +8018,7 @@ static void hget_font_params(void)
void hget_font_def(uint8_t f)
-{ char *n; @+dimen_t s=0;@+uint16_t m,y;
+{ char *n; @+Dimen s=0;@+uint16_t m,y;
HGET_STRING(n);@+ hwrite_string(n);@+ hfont_name[f]=strdup(n);
HGET32(s); @+ hwrite_dimension(s);
DBG(DBGDEF,"Font %s size 0x%x\n", n, s);
@@ -8032,8 +8032,8 @@ void hget_font_def(uint8_t f)
\putcode
@<put functions@>=
-uint8_t hput_font_head(uint8_t f, char *n, dimen_t s, @| uint16_t m, uint16_t y)
-{ info_t i=b000;
+uint8_t hput_font_head(uint8_t f, char *n, Dimen s, @| uint16_t m, uint16_t y)
+{ Info i=b000;
DBG(DBGDEF,"Defining font %d (%s) size 0x%x\n", f, n, s);
hput_string(n);
HPUT32(s);@+
@@ -8111,7 +8111,7 @@ case TAG(baseline_kind,0): HGET_REF(baseline_kind); @+break;
void hwrite_ref(int n)
{hwritef(" *%d",n);@+}
-void hwrite_ref_node(kind_t k, uint8_t n)
+void hwrite_ref_node(Kind k, uint8_t n)
{ hwrite_start(); @+hwritef("%s",content_name[k]);@+ hwrite_ref(n); @+hwrite_end();}
@
@@ -8198,7 +8198,7 @@ typedef enum {@t}$\hangindent=2em${@>
year_no=20,
hang_after_no=21,
floating_penalty_no=22
-} int_no_t;
+} Int_no;
#define MAX_INT_DEFAULT floating_penalty_no
@
@@ -8258,7 +8258,7 @@ hang_indent_no=6,
emergency_stretch_no=7,
quad_no=8,
math_quad_no=9
-} dimen_no_t;
+} Dimen_no;
#define MAX_DIMEN_DEFAULT math_quad_no
@
@@ -8266,16 +8266,16 @@ math_quad_no=9
max_default[dimen_kind]=MAX_DIMEN_DEFAULT;
max_fixed[dimen_kind]=zero_dimen_no;@#
dimen_defaults[zero_dimen_no]=0;
-dimen_defaults[hsize_dimen_no]=(dimen_t)(6.5*72.27*ONE);
-dimen_defaults[vsize_dimen_no]=(dimen_t)(8.9*72.27*ONE);
+dimen_defaults[hsize_dimen_no]=(Dimen)(6.5*72.27*ONE);
+dimen_defaults[vsize_dimen_no]=(Dimen)(8.9*72.27*ONE);
dimen_defaults[line_skip_limit_no]=0;
-dimen_defaults[split_max_depth_no]=(dimen_t)(3.5*ONE);
+dimen_defaults[split_max_depth_no]=(Dimen)(3.5*ONE);
dimen_defaults[hang_indent_no]=0;
dimen_defaults[emergency_stretch_no]=0;
dimen_defaults[quad_no]=10*ONE;
dimen_defaults[math_quad_no]=10*ONE;@#
-printf("dimen_t dimen_defaults[MAX_DIMEN_DEFAULT+1]={");
+printf("Dimen dimen_defaults[MAX_DIMEN_DEFAULT+1]={");
for (i=0; i<= max_default[dimen_kind];i++)
{ printf("0x%x",dimen_defaults[i]);
if (i<max_default[dimen_kind]) printf(", ");
@@ -8296,7 +8296,7 @@ typedef enum {
zero_xdimen_no=0,
hsize_xdimen_no=1,
vsize_xdimen_no=2
-} xdimen_no_t;
+} Xdimen_no;
#define MAX_XDIMEN_DEFAULT vsize_xdimen_no
@
@@ -8304,7 +8304,7 @@ vsize_xdimen_no=2
max_default[xdimen_kind]=MAX_XDIMEN_DEFAULT;
max_fixed[xdimen_kind]=vsize_xdimen_no;@#
-printf("xdimen_t xdimen_defaults[MAX_XDIMEN_DEFAULT+1]={"@/
+printf("Xdimen xdimen_defaults[MAX_XDIMEN_DEFAULT+1]={"@/
"{0x0, 0.0, 0.0}, {0x0, 1.0, 0.0}, {0x0, 0.0, 1.0}"@/
"};\n\n");
@
@@ -8332,7 +8332,7 @@ top_skip_no=11,
split_top_skip_no=12,
tab_skip_no=13,
par_fill_skip_no=14
-} glue_no_t;
+} Glue_no;
#define MAX_GLUE_DEFAULT par_fill_skip_no
@
@@ -8371,7 +8371,7 @@ glue_defaults[below_display_short_skip_no].m.f=4.0;
glue_defaults[below_display_short_skip_no].m.o=normal_o;
glue_defaults[top_skip_no].w.w=10*ONE;
-glue_defaults[split_top_skip_no].w.w=(dimen_t)8.5*ONE;
+glue_defaults[split_top_skip_no].w.w=(Dimen)8.5*ONE;
glue_defaults[par_fill_skip_no].p.f=1.0;
glue_defaults[par_fill_skip_no].p.o=fil_o;
@@ -8380,7 +8380,7 @@ glue_defaults[par_fill_skip_no].p.o=fil_o;
@[printf("{{0x%x, %f, %f},{%f, %d},{%f, %d}}",\
G.w.w, G.w.h, G.w.v, G.p.f, G.p.o, G.m.f,G.m.o)@]@#
-printf("glue_t glue_defaults[MAX_GLUE_DEFAULT+1]={\n");
+printf("Glue glue_defaults[MAX_GLUE_DEFAULT+1]={\n");
for (i=0; i<= max_default[glue_kind];i++)@/
{ PRINT_GLUE(glue_defaults[i]); @+
if (i<max_default[int_kind]) printf(",\n");
@@ -8404,14 +8404,14 @@ The zero baseline\index{baseline skip} which inserts no baseline skip is predefi
@<default names@>=
typedef enum {@+
zero_baseline_no=0@+
-} baseline_no_t;
+} Baseline_no;
#define MAX_BASELINE_DEFAULT zero_baseline_no
@
@<define |baseline_defaults|@>=
max_default[baseline_kind]=MAX_BASELINE_DEFAULT;
max_fixed[baseline_kind]=zero_baseline_no;@#
-{ baseline_t z={{{0}}};
- printf("baseline_t baseline_defaults[MAX_BASELINE_DEFAULT+1]={{");
+{ Baseline z={{{0}}};
+ printf("Baseline baseline_defaults[MAX_BASELINE_DEFAULT+1]={{");
PRINT_GLUE(z.bs); @+printf(", "); @+PRINT_GLUE(z.ls); printf(", 0x%x}};\n\n",z.lsl);
}
@
@@ -8429,12 +8429,12 @@ of the document.
@<default names@>=
typedef enum {@+
zero_label_no=0@+
-} label_no_t;
+} Label_no;
#define MAX_LABEL_DEFAULT zero_label_no
@
@<define |label_defaults|@>=
max_default[label_kind]=MAX_LABEL_DEFAULT;
-printf("label_t label_defaults[MAX_LABEL_DEFAULT+1]="@|"{{0,LABEL_TOP,true,0,0,0}};\n\n");
+printf("Label label_defaults[MAX_LABEL_DEFAULT+1]="@|"{{0,LABEL_TOP,true,0,0,0}};\n\n");
@
@@ -8443,7 +8443,7 @@ The zero stream\index{stream} is predefined for the main content.
@<default names@>=
typedef enum {@+
zero_stream_no=0@+
-} stream_no_t;
+} Stream_no;
#define MAX_STREAM_DEFAULT zero_stream_no
@
@@ -8459,7 +8459,7 @@ The zero page template\index{template} is a predefined, built-in page template.
@<default names@>=
typedef enum {@+
zero_page_no=0@+
-} page_no_t;
+} Page_no;
#define MAX_PAGE_DEFAULT zero_page_no
@
@@ -8476,7 +8476,7 @@ the entire content section.
@<default names@>=
typedef enum {@+
zero_range_no=0@+
-} range_no_t;
+} Range_no;
#define MAX_RANGE_DEFAULT zero_range_no
@
@@ -9412,7 +9412,7 @@ float32_t hteg_float32(void)
@
@<skip functions@>=
-static void hteg_xdimen_node(xdimen_t *x)
+static void hteg_xdimen_node(Xdimen *x)
{ @<skip the end byte |z|@>@;
switch(z)
{
@@ -9439,7 +9439,7 @@ case TAG(xdimen_kind,b000): /* see section~\secref{reference} */
\subsection{Stretch and Shrink}\index{stretchability}\index{shrinkability}
\noindent
@<skip macros@>=
-#define @[HTEG_STRETCH(S)@] { stch_t st; @+ HTEG32(st.u);@+ S.o=st.u&3;@+ st.u&=~3;@+ S.f=st.f; @+}
+#define @[HTEG_STRETCH(S)@] { Stch st; @+ HTEG32(st.u);@+ S.o=st.u&3;@+ st.u&=~3;@+ S.f=st.f; @+}
@
\subsection{Glyphs}\index{glyph}
@@ -9454,10 +9454,10 @@ case TAG(xdimen_kind,b000): /* see section~\secref{reference} */
@
@<cases to skip content@>=
-@t\1\kern1em@>case TAG(glyph_kind,1): @+{@+glyph_t g;@+ HTEG_GLYPH(1,g);@+}@+break;
-case TAG(glyph_kind,2): @+{@+glyph_t g;@+ HTEG_GLYPH(2,g);@+}@+break;
-case TAG(glyph_kind,3): @+{@+glyph_t g;@+ HTEG_GLYPH(3,g);@+}@+break;
-case TAG(glyph_kind,4): @+{@+glyph_t g;@+ HTEG_GLYPH(4,g);@+}@+break;
+@t\1\kern1em@>case TAG(glyph_kind,1): @+{@+Glyph g;@+ HTEG_GLYPH(1,g);@+}@+break;
+case TAG(glyph_kind,2): @+{@+Glyph g;@+ HTEG_GLYPH(2,g);@+}@+break;
+case TAG(glyph_kind,3): @+{@+Glyph g;@+ HTEG_GLYPH(3,g);@+}@+break;
+case TAG(glyph_kind,4): @+{@+Glyph g;@+ HTEG_GLYPH(4,g);@+}@+break;
@
@@ -9482,10 +9482,10 @@ case TAG(penalty_kind,2): @+{int32_t p;@+ HTEG_PENALTY(2,p);@+} @+break;
@
@<cases to skip content@>=
-@t\1\kern1em@>case TAG(kern_kind,b010): @+ {@+xdimen_t x; @+HTEG_KERN(b010,x);@+ } @+break;
-case TAG(kern_kind,b011): @+ {@+xdimen_t x; @+HTEG_KERN(b011,x);@+ } @+break;
-case TAG(kern_kind,b110): @+ {@+xdimen_t x; @+HTEG_KERN(b110,x);@+ } @+break;
-case TAG(kern_kind,b111): @+ {@+xdimen_t x; @+HTEG_KERN(b111,x);@+ } @+break;
+@t\1\kern1em@>case TAG(kern_kind,b010): @+ {@+Xdimen x; @+HTEG_KERN(b010,x);@+ } @+break;
+case TAG(kern_kind,b011): @+ {@+Xdimen x; @+HTEG_KERN(b011,x);@+ } @+break;
+case TAG(kern_kind,b110): @+ {@+Xdimen x; @+HTEG_KERN(b110,x);@+ } @+break;
+case TAG(kern_kind,b111): @+ {@+Xdimen x; @+HTEG_KERN(b111,x);@+ } @+break;
@
\subsection{Language}\index{language}
@@ -9510,17 +9510,17 @@ if ((I)&b100) HTEG32((R).h); @+else (R).h=RUNNING_DIMEN;
@
@<cases to skip content@>=
-@t\1\kern1em@>case TAG(rule_kind,b011): @+ {rule_t r;@+ HTEG_RULE(b011,r);@+ }@+ break;
-case TAG(rule_kind,b101): @+ {rule_t r;@+ HTEG_RULE(b101,r);@+ }@+ break;
-case TAG(rule_kind,b001): @+ {rule_t r;@+ HTEG_RULE(b001,r);@+ }@+ break;
-case TAG(rule_kind,b110): @+ {rule_t r;@+ HTEG_RULE(b110,r);@+ }@+ break;
-case TAG(rule_kind,b111): @+ {rule_t r;@+ HTEG_RULE(b111,r);@+ }@+ break;
+@t\1\kern1em@>case TAG(rule_kind,b011): @+ {Rule r;@+ HTEG_RULE(b011,r);@+ }@+ break;
+case TAG(rule_kind,b101): @+ {Rule r;@+ HTEG_RULE(b101,r);@+ }@+ break;
+case TAG(rule_kind,b001): @+ {Rule r;@+ HTEG_RULE(b001,r);@+ }@+ break;
+case TAG(rule_kind,b110): @+ {Rule r;@+ HTEG_RULE(b110,r);@+ }@+ break;
+case TAG(rule_kind,b111): @+ {Rule r;@+ HTEG_RULE(b111,r);@+ }@+ break;
@
@<skip functions@>=
static void hteg_rule_node(void)
{ @<skip the end byte |z|@>@;
- if (KIND(z)==rule_kind) { @+rule_t r; @+HTEG_RULE(INFO(z),r); @+}
+ if (KIND(z)==rule_kind) { @+Rule r; @+HTEG_RULE(INFO(z),r); @+}
else
QUIT("Rule expected at 0x%x got %s",node_pos,NAME(z));
@<skip and check the start byte |a|@>@;
@@ -9537,13 +9537,13 @@ static void hteg_rule_node(void)
@
@<cases to skip content@>=
-@t\1\kern1em@>case TAG(glue_kind,b001): @+{ glue_t g;@+ HTEG_GLUE(b001,g);@+}@+break;
-case TAG(glue_kind,b010): @+{ glue_t g;@+ HTEG_GLUE(b010,g);@+}@+break;
-case TAG(glue_kind,b011): @+{ glue_t g;@+ HTEG_GLUE(b011,g);@+}@+break;
-case TAG(glue_kind,b100): @+{ glue_t g;@+ HTEG_GLUE(b100,g);@+}@+break;
-case TAG(glue_kind,b101): @+{ glue_t g;@+ HTEG_GLUE(b101,g);@+}@+break;
-case TAG(glue_kind,b110): @+{ glue_t g;@+ HTEG_GLUE(b110,g);@+}@+break;
-case TAG(glue_kind,b111): @+{ glue_t g;@+ HTEG_GLUE(b111,g);@+}@+break;
+@t\1\kern1em@>case TAG(glue_kind,b001): @+{ Glue g;@+ HTEG_GLUE(b001,g);@+}@+break;
+case TAG(glue_kind,b010): @+{ Glue g;@+ HTEG_GLUE(b010,g);@+}@+break;
+case TAG(glue_kind,b011): @+{ Glue g;@+ HTEG_GLUE(b011,g);@+}@+break;
+case TAG(glue_kind,b100): @+{ Glue g;@+ HTEG_GLUE(b100,g);@+}@+break;
+case TAG(glue_kind,b101): @+{ Glue g;@+ HTEG_GLUE(b101,g);@+}@+break;
+case TAG(glue_kind,b110): @+{ Glue g;@+ HTEG_GLUE(b110,g);@+}@+break;
+case TAG(glue_kind,b111): @+{ Glue g;@+ HTEG_GLUE(b111,g);@+}@+break;
@
@<skip functions@>=
@@ -9551,7 +9551,7 @@ static void hteg_glue_node(void)
{ @<skip the end byte |z|@>@;
if (INFO(z)==b000) HTEG_REF(glue_kind);
else
- { @+glue_t g; @+HTEG_GLUE(INFO(z),g);@+}
+ { @+Glue g; @+HTEG_GLUE(INFO(z),g);@+}
@<skip and check the start byte |a|@>@;
}
@
@@ -9570,27 +9570,27 @@ HTEG32(B.h);\
@
@<cases to skip content@>=
-@t\1\kern1em@> case TAG(hbox_kind,b000): @+{box_t b; @+HTEG_BOX(b000,b);@+} @+ break;
-case TAG(hbox_kind,b001): @+{box_t b; @+HTEG_BOX(b001,b);@+} @+ break;
-case TAG(hbox_kind,b010): @+{box_t b; @+HTEG_BOX(b010,b);@+} @+ break;
-case TAG(hbox_kind,b011): @+{box_t b; @+HTEG_BOX(b011,b);@+} @+ break;
-case TAG(hbox_kind,b100): @+{box_t b; @+HTEG_BOX(b100,b);@+} @+ break;
-case TAG(hbox_kind,b101): @+{box_t b; @+HTEG_BOX(b101,b);@+} @+ break;
-case TAG(hbox_kind,b110): @+{box_t b; @+HTEG_BOX(b110,b);@+} @+ break;
-case TAG(hbox_kind,b111): @+{box_t b; @+HTEG_BOX(b111,b);@+} @+ break;
-case TAG(vbox_kind,b000): @+{box_t b; @+HTEG_BOX(b000,b);@+} @+ break;
-case TAG(vbox_kind,b001): @+{box_t b; @+HTEG_BOX(b001,b);@+} @+ break;
-case TAG(vbox_kind,b010): @+{box_t b; @+HTEG_BOX(b010,b);@+} @+ break;
-case TAG(vbox_kind,b011): @+{box_t b; @+HTEG_BOX(b011,b);@+} @+ break;
-case TAG(vbox_kind,b100): @+{box_t b; @+HTEG_BOX(b100,b);@+} @+ break;
-case TAG(vbox_kind,b101): @+{box_t b; @+HTEG_BOX(b101,b);@+} @+ break;
-case TAG(vbox_kind,b110): @+{box_t b; @+HTEG_BOX(b110,b);@+} @+ break;
-case TAG(vbox_kind,b111): @+{box_t b; @+HTEG_BOX(b111,b);@+} @+ break;
+@t\1\kern1em@> case TAG(hbox_kind,b000): @+{Box b; @+HTEG_BOX(b000,b);@+} @+ break;
+case TAG(hbox_kind,b001): @+{Box b; @+HTEG_BOX(b001,b);@+} @+ break;
+case TAG(hbox_kind,b010): @+{Box b; @+HTEG_BOX(b010,b);@+} @+ break;
+case TAG(hbox_kind,b011): @+{Box b; @+HTEG_BOX(b011,b);@+} @+ break;
+case TAG(hbox_kind,b100): @+{Box b; @+HTEG_BOX(b100,b);@+} @+ break;
+case TAG(hbox_kind,b101): @+{Box b; @+HTEG_BOX(b101,b);@+} @+ break;
+case TAG(hbox_kind,b110): @+{Box b; @+HTEG_BOX(b110,b);@+} @+ break;
+case TAG(hbox_kind,b111): @+{Box b; @+HTEG_BOX(b111,b);@+} @+ break;
+case TAG(vbox_kind,b000): @+{Box b; @+HTEG_BOX(b000,b);@+} @+ break;
+case TAG(vbox_kind,b001): @+{Box b; @+HTEG_BOX(b001,b);@+} @+ break;
+case TAG(vbox_kind,b010): @+{Box b; @+HTEG_BOX(b010,b);@+} @+ break;
+case TAG(vbox_kind,b011): @+{Box b; @+HTEG_BOX(b011,b);@+} @+ break;
+case TAG(vbox_kind,b100): @+{Box b; @+HTEG_BOX(b100,b);@+} @+ break;
+case TAG(vbox_kind,b101): @+{Box b; @+HTEG_BOX(b101,b);@+} @+ break;
+case TAG(vbox_kind,b110): @+{Box b; @+HTEG_BOX(b110,b);@+} @+ break;
+case TAG(vbox_kind,b111): @+{Box b; @+HTEG_BOX(b111,b);@+} @+ break;
@
@<skip functions@>=
static void hteg_hbox_node(void)
-{ box_t b;
+{ Box b;
@<skip the end byte |z|@>@;
if (KIND(z)!=hbox_kind) QUIT("Hbox expected at 0x%x got %s",node_pos,NAME(z));
HTEG_BOX(INFO(z),b);@/
@@ -9598,7 +9598,7 @@ static void hteg_hbox_node(void)
}
static void hteg_vbox_node(void)
-{ box_t b;
+{ Box b;
@<skip the end byte |z|@>@;
if (KIND(z)!=vbox_kind) QUIT("Vbox expected at 0x%x got %s",node_pos,NAME(z));
HTEG_BOX(INFO(z),b);@/
@@ -9611,22 +9611,22 @@ static void hteg_vbox_node(void)
\noindent
@<skip macros@>=
#define @[HTEG_SET(I)@] @/\
-{ list_t l; @+hteg_list(&l); @+} \
- if ((I)&b100) {xdimen_t x;@+ hteg_xdimen_node(&x); @+} \
+{ List l; @+hteg_list(&l); @+} \
+ if ((I)&b100) {Xdimen x;@+ hteg_xdimen_node(&x); @+} \
else HTEG_REF(xdimen_kind);\
-{ stretch_t m; @+HTEG_STRETCH(m);@+}\
-{ stretch_t p; @+HTEG_STRETCH(p);@+}\
-if ((I)&b010) { dimen_t a; @+HTEG32(a);@+} \
- { dimen_t w; @+HTEG32(w);@+} \
- { dimen_t d; @+if ((I)&b001) HTEG32(d); @+ else d=0;@+}\
- { dimen_t h; @+HTEG32(h);@+}
+{ Stretch m; @+HTEG_STRETCH(m);@+}\
+{ Stretch p; @+HTEG_STRETCH(p);@+}\
+if ((I)&b010) { Dimen a; @+HTEG32(a);@+} \
+ { Dimen w; @+HTEG32(w);@+} \
+ { Dimen d; @+if ((I)&b001) HTEG32(d); @+ else d=0;@+}\
+ { Dimen h; @+HTEG32(h);@+}
@#
#define @[HTEG_PACK(K,I)@] @/\
- { list_t l; @+hteg_list(&l); @+} \
- if ((I)&b100) {xdimen_t x; hteg_xdimen_node(&x);@+} @+ else HTEG_REF(xdimen_kind);\
- if (K==vpack_kind) { dimen_t d; @+HTEG32(d); @+ }\
- if ((I)&b010) { dimen_t d; @+HTEG32(d); @+ }
+ { List l; @+hteg_list(&l); @+} \
+ if ((I)&b100) {Xdimen x; hteg_xdimen_node(&x);@+} @+ else HTEG_REF(xdimen_kind);\
+ if (K==vpack_kind) { Dimen d; @+HTEG32(d); @+ }\
+ if ((I)&b010) { Dimen d; @+HTEG32(d); @+ }
@
@<cases to skip content@>=
@@ -9699,13 +9699,13 @@ case TAG(leaders_kind,b100|3): @+ HTEG_LEADERS(b100|3); @+break;
@
@<cases to skip content@>=
-@t\1\kern1em@>case TAG(baseline_kind,b001): @+{ baseline_t b;@+ HTEG_BASELINE(b001,b);@+ }@+break;
-case TAG(baseline_kind,b010): @+{ baseline_t b;@+ HTEG_BASELINE(b010,b);@+ }@+break;
-case TAG(baseline_kind,b011): @+{ baseline_t b;@+ HTEG_BASELINE(b011,b);@+ }@+break;
-case TAG(baseline_kind,b100): @+{ baseline_t b;@+ HTEG_BASELINE(b100,b);@+ }@+break;
-case TAG(baseline_kind,b101): @+{ baseline_t b;@+ HTEG_BASELINE(b101,b);@+ }@+break;
-case TAG(baseline_kind,b110): @+{ baseline_t b;@+ HTEG_BASELINE(b110,b);@+ }@+break;
-case TAG(baseline_kind,b111): @+{ baseline_t b;@+ HTEG_BASELINE(b111,b);@+ }@+break;
+@t\1\kern1em@>case TAG(baseline_kind,b001): @+{ Baseline b;@+ HTEG_BASELINE(b001,b);@+ }@+break;
+case TAG(baseline_kind,b010): @+{ Baseline b;@+ HTEG_BASELINE(b010,b);@+ }@+break;
+case TAG(baseline_kind,b011): @+{ Baseline b;@+ HTEG_BASELINE(b011,b);@+ }@+break;
+case TAG(baseline_kind,b100): @+{ Baseline b;@+ HTEG_BASELINE(b100,b);@+ }@+break;
+case TAG(baseline_kind,b101): @+{ Baseline b;@+ HTEG_BASELINE(b101,b);@+ }@+break;
+case TAG(baseline_kind,b110): @+{ Baseline b;@+ HTEG_BASELINE(b110,b);@+ }@+break;
+case TAG(baseline_kind,b111): @+{ Baseline b;@+ HTEG_BASELINE(b111,b);@+ }@+break;
@
\subsection{Ligatures}\index{ligature}
\noindent
@@ -9717,13 +9717,13 @@ else {(L).l.s=(I); @+hpos-=(L).l.s; @+ (L).l.p=hpos-hstart;@+} \
@
@<cases to skip content@>=
-@t\1\kern1em@>case TAG(ligature_kind,1):@+ {lig_t l; @+HTEG_LIG(1,l);@+} @+break;
-case TAG(ligature_kind,2):@+ {lig_t l; @+HTEG_LIG(2,l);@+} @+break;
-case TAG(ligature_kind,3):@+ {lig_t l; @+HTEG_LIG(3,l);@+} @+break;
-case TAG(ligature_kind,4):@+ {lig_t l; @+HTEG_LIG(4,l);@+} @+break;
-case TAG(ligature_kind,5):@+ {lig_t l; @+HTEG_LIG(5,l);@+} @+break;
-case TAG(ligature_kind,6):@+ {lig_t l; @+HTEG_LIG(6,l);@+} @+break;
-case TAG(ligature_kind,7):@+ {lig_t l; @+HTEG_LIG(7,l);@+} @+break;
+@t\1\kern1em@>case TAG(ligature_kind,1):@+ {Lig l; @+HTEG_LIG(1,l);@+} @+break;
+case TAG(ligature_kind,2):@+ {Lig l; @+HTEG_LIG(2,l);@+} @+break;
+case TAG(ligature_kind,3):@+ {Lig l; @+HTEG_LIG(3,l);@+} @+break;
+case TAG(ligature_kind,4):@+ {Lig l; @+HTEG_LIG(4,l);@+} @+break;
+case TAG(ligature_kind,5):@+ {Lig l; @+HTEG_LIG(5,l);@+} @+break;
+case TAG(ligature_kind,6):@+ {Lig l; @+HTEG_LIG(6,l);@+} @+break;
+case TAG(ligature_kind,7):@+ {Lig l; @+HTEG_LIG(7,l);@+} @+break;
@
@@ -9736,13 +9736,13 @@ if ((I)&b010) hteg_list(&((H).p)); else { (H).p.p=hpos-hstart; @+(H).p.s=0; @+(H
if ((I)&b100) (H).r=HTEG8; @+else (H).r=0;
@
@<cases to skip content@>=
-@t\1\kern1em@>case TAG(disc_kind,b001): @+{disc_t h; @+HTEG_DISC(b001,h); @+} @+break;
-case TAG(disc_kind,b010): @+{disc_t h; @+HTEG_DISC(b010,h); @+} @+break;
-case TAG(disc_kind,b011): @+{disc_t h; @+HTEG_DISC(b011,h); @+} @+break;
-case TAG(disc_kind,b100): @+{disc_t h; @+HTEG_DISC(b100,h); @+} @+break;
-case TAG(disc_kind,b101): @+{disc_t h; @+HTEG_DISC(b101,h); @+} @+break;
-case TAG(disc_kind,b110): @+{disc_t h; @+HTEG_DISC(b110,h); @+} @+break;
-case TAG(disc_kind,b111): @+{disc_t h; @+HTEG_DISC(b111,h); @+} @+break;
+@t\1\kern1em@>case TAG(disc_kind,b001): @+{Disc h; @+HTEG_DISC(b001,h); @+} @+break;
+case TAG(disc_kind,b010): @+{Disc h; @+HTEG_DISC(b010,h); @+} @+break;
+case TAG(disc_kind,b011): @+{Disc h; @+HTEG_DISC(b011,h); @+} @+break;
+case TAG(disc_kind,b100): @+{Disc h; @+HTEG_DISC(b100,h); @+} @+break;
+case TAG(disc_kind,b101): @+{Disc h; @+HTEG_DISC(b101,h); @+} @+break;
+case TAG(disc_kind,b110): @+{Disc h; @+HTEG_DISC(b110,h); @+} @+break;
+case TAG(disc_kind,b111): @+{Disc h; @+HTEG_DISC(b111,h); @+} @+break;
@
@@ -9750,9 +9750,9 @@ case TAG(disc_kind,b111): @+{disc_t h; @+HTEG_DISC(b111,h); @+} @+break;
\noindent
@<skip macros@>=
#define @[HTEG_PAR(I)@] @/\
- { list_t l; @+hteg_list(&l); @+} \
- if ((I)&b010) { list_t l; @+hteg_param_list(&l); @+} else if ((I)!=b100) HTEG_REF(param_kind);\
- if ((I)&b100) {xdimen_t x; @+ hteg_xdimen_node(&x); @+} else HTEG_REF(xdimen_kind);\
+ { List l; @+hteg_list(&l); @+} \
+ if ((I)&b010) { List l; @+hteg_param_list(&l); @+} else if ((I)!=b100) HTEG_REF(param_kind);\
+ if ((I)&b100) {Xdimen x; @+ hteg_xdimen_node(&x); @+} else HTEG_REF(xdimen_kind);\
if ((I)==b100) HTEG_REF(param_kind);
@
@@ -9769,9 +9769,9 @@ case TAG(par_kind,b110): @+HTEG_PAR(b110);@+break;
@<skip macros@>=
#define @[HTEG_MATH(I)@] \
if ((I)&b001) hteg_hbox_node();\
-{ list_t l; @+hteg_list(&l); @+} \
+{ List l; @+hteg_list(&l); @+} \
if ((I)&b010) hteg_hbox_node(); \
-if ((I)&b100) { list_t l; @+hteg_param_list(&l); @+} @+ else HTEG_REF(param_kind);
+if ((I)&b100) { List l; @+hteg_param_list(&l); @+} @+ else HTEG_REF(param_kind);
@
@<cases to skip content@>=
@@ -9797,10 +9797,10 @@ HTEG16((X).n);
@
@<cases to skip content@>=
-@t\1\kern1em@>case TAG(image_kind,b100): @+ { image_t x;@+HTEG_IMAGE(b100,x);@+}@+break;
-case TAG(image_kind,b101): @+ { image_t x;@+HTEG_IMAGE(b101,x);@+}@+break;
-case TAG(image_kind,b110): @+ { image_t x;@+HTEG_IMAGE(b110,x);@+}@+break;
-case TAG(image_kind,b111): @+ { image_t x;@+HTEG_IMAGE(b111,x);@+}@+break;
+@t\1\kern1em@>case TAG(image_kind,b100): @+ { Image x;@+HTEG_IMAGE(b100,x);@+}@+break;
+case TAG(image_kind,b101): @+ { Image x;@+HTEG_IMAGE(b101,x);@+}@+break;
+case TAG(image_kind,b110): @+ { Image x;@+HTEG_IMAGE(b110,x);@+}@+break;
+case TAG(image_kind,b111): @+ { Image x;@+HTEG_IMAGE(b111,x);@+}@+break;
@
\subsection{Links and Labels}
@@ -9822,7 +9822,7 @@ case TAG(link_kind,b011): @+ HTEG_LINK(b011); @+break;
\noindent
@<shared skip functions@>=
-void hteg_size_boundary(info_t info)
+void hteg_size_boundary(Info info)
{ uint32_t n;
if (info<2) return;
n=HTEG8;
@@ -9830,7 +9830,7 @@ void hteg_size_boundary(info_t info)
n, info,hpos-hstart);
}
-uint32_t hteg_list_size(info_t info)
+uint32_t hteg_list_size(Info info)
{ uint32_t n;
if (info==1) return 0;
else if (info==2) n=HTEG8;
@@ -9841,7 +9841,7 @@ uint32_t hteg_list_size(info_t info)
return n;
}
-void hteg_list(list_t *l)
+void hteg_list(List *l)
{ @<skip the end byte |z|@>@,
@+if (KIND(z)!=list_kind && KIND(z)!=text_kind &&@| KIND(z)!=param_kind) @/
QUIT("List expected at 0x%x", (uint32_t)(hpos-hstart));
@@ -9860,7 +9860,7 @@ void hteg_list(list_t *l)
}
}
-void hteg_param_list(list_t *l)
+void hteg_param_list(List *l)
{ @+if (KIND(*(hpos-1))!=param_kind) return;
hteg_list(l);
}
@@ -9871,16 +9871,16 @@ void hteg_param_list(list_t *l)
\subsection{Adjustments}\index{adjustment}
\noindent
@<cases to skip content@>=
-@t\1\kern1em@>case TAG(adjust_kind,b001): @+ { list_t l; @+hteg_list(&l);@+ } @+ break;
+@t\1\kern1em@>case TAG(adjust_kind,b001): @+ { List l; @+hteg_list(&l);@+ } @+ break;
@
\subsection{Tables}\index{table}
\noindent
@<skip macros@>=
#define @[HTEG_TABLE(I)@] \
-{@+ list_t l; @+ hteg_list(&l);@+}\
-{@+ list_t l; @+ hteg_list(&l);@+}\
-if ((I)&b100) {xdimen_t x;@+ hteg_xdimen_node(&x);@+} else HTEG_REF(xdimen_kind)@;
+{@+ List l; @+ hteg_list(&l);@+}\
+{@+ List l; @+ hteg_list(&l);@+}\
+if ((I)&b100) {Xdimen x;@+ hteg_xdimen_node(&x);@+} else HTEG_REF(xdimen_kind)@;
@
@<cases to skip content@>=
@@ -9893,7 +9893,7 @@ case TAG(table_kind,b101): @+ HTEG_TABLE(b101); @+ break;
case TAG(table_kind,b110): @+ HTEG_TABLE(b110); @+ break;
case TAG(table_kind,b111): @+ HTEG_TABLE(b111); @+ break;@#
-case TAG(item_kind,b000): @+{@+ list_t l; @+hteg_list(&l);@+ } @+ break;
+case TAG(item_kind,b000): @+{@+ List l; @+hteg_list(&l);@+ } @+ break;
case TAG(item_kind,b001): hteg_content_node(); @+ break;
case TAG(item_kind,b010): hteg_content_node(); @+ break;
case TAG(item_kind,b011): hteg_content_node(); @+ break;
@@ -9908,8 +9908,8 @@ case TAG(item_kind,b111): hteg_content_node(); @+{uint8_t n;@+ n=HTEG8;@+}@+ br
\subsection{Stream Nodes}\index{stream}
@<skip macros@>=
#define @[HTEG_STREAM(I)@] @/\
-{ list_t l; @+hteg_list(&l); @+}\
-if ((I)&b010) { list_t l; @+hteg_param_list(&l); @+} @+ else HTEG_REF(param_kind);\
+{ List l; @+hteg_list(&l); @+}\
+if ((I)&b010) { List l; @+hteg_param_list(&l); @+} @+ else HTEG_REF(param_kind);\
HTEG_REF(stream_kind);
@
@@ -9953,6 +9953,11 @@ is defined only if using the respective compiler.
@(hibasetypes.h@>=
#ifndef __BASETYPES_H__
#define __BASETYPES_H__
+#ifdef __sun
+/* avoid name conflict with |label_t| in unistd.h via sys/machtypes.h */
+#define _POSIX_C_SOURCE 200809L
+#define _XOPEN_SOURCE 600
+#endif
#include <stdlib.h>
#include <stdio.h>
#ifndef _STDLIB_H
@@ -10015,11 +10020,11 @@ extern unsigned int debugflags;
extern FILE *hlog;
extern int max_fixed[32], max_default[32], max_ref[32], max_outline;
extern int32_t int_defaults[MAX_INT_DEFAULT+1];
-extern dimen_t dimen_defaults[MAX_DIMEN_DEFAULT+1];
-extern xdimen_t xdimen_defaults[MAX_XDIMEN_DEFAULT+1];
-extern glue_t glue_defaults[MAX_GLUE_DEFAULT+1];
-extern baseline_t baseline_defaults[MAX_BASELINE_DEFAULT+1];
-extern label_t label_defaults[MAX_LABEL_DEFAULT+1];
+extern Dimen dimen_defaults[MAX_DIMEN_DEFAULT+1];
+extern Xdimen xdimen_defaults[MAX_XDIMEN_DEFAULT+1];
+extern Glue glue_defaults[MAX_GLUE_DEFAULT+1];
+extern Baseline baseline_defaults[MAX_BASELINE_DEFAULT+1];
+extern Label label_defaults[MAX_LABEL_DEFAULT+1];
extern signed char hnode_size[0x100];
#endif
@@ -10030,7 +10035,6 @@ is generated by a \CEE\ program.
Here is the |main| program of {\tt mktables}:
@(himktables.c@>=
-#include <stdio.h>
#include "hibasetypes.h"
#include "hiformat.h"
@<skip macros@>@;
@@ -10038,15 +10042,15 @@ Here is the |main| program of {\tt mktables}:
int max_fixed[32], max_default[32];
int32_t int_defaults[MAX_INT_DEFAULT+1]={0};
-dimen_t dimen_defaults[MAX_DIMEN_DEFAULT+1]={0};
-xdimen_t xdimen_defaults[MAX_XDIMEN_DEFAULT+1]={{0}};
-glue_t glue_defaults[MAX_GLUE_DEFAULT+1]={{{0}}};
-baseline_t baseline_defaults[MAX_BASELINE_DEFAULT+1]={{{{0}}}};
+Dimen dimen_defaults[MAX_DIMEN_DEFAULT+1]={0};
+Xdimen xdimen_defaults[MAX_XDIMEN_DEFAULT+1]={{0}};
+Glue glue_defaults[MAX_GLUE_DEFAULT+1]={{{0}}};
+Baseline baseline_defaults[MAX_BASELINE_DEFAULT+1]={{{{0}}}};
signed char hnode_size[0x100]={0};
@<define |content_name| and |definition_name|@>@;
int main(void)
-{ kind_t k;
+{ Kind k;
int i;
@@ -10108,38 +10112,38 @@ that read the short format.
@<directory entry type@>@;
@<shared get macros@>@;
-extern entry_t *dir;
+extern Entry *dir;
extern uint16_t section_no, max_section_no;
extern uint8_t *hpos, *hstart, *hend, *hpos0;
extern uint64_t hin_size, hin_time;
extern uint8_t *hin_addr;
-extern label_t *labels;
+extern Label *labels;
extern char *hin_name;
extern bool hget_map(void);
extern void hget_unmap(void);
extern void new_directory(uint32_t entries);
-extern void hset_entry(entry_t *e, uint16_t i, @|uint32_t size, uint32_t xsize, char *file_name);
+extern void hset_entry(Entry *e, uint16_t i, @|uint32_t size, uint32_t xsize, char *file_name);
extern void hget_banner(void);
extern void hget_section(uint16_t n);
-extern void hget_entry(entry_t *e);
+extern void hget_entry(Entry *e);
extern void hget_directory(void);
extern void hclear_dir(void);
extern bool hcheck_banner(char *magic);
extern void hget_max_definitions(void);
extern uint32_t hget_utf8(void);
-extern void hget_size_boundary(info_t info);
-extern uint32_t hget_list_size(info_t info);
-extern void hget_list(list_t *l);
+extern void hget_size_boundary(Info info);
+extern uint32_t hget_list_size(Info info);
+extern void hget_list(List *l);
extern uint32_t hget_utf8(void);
extern float32_t hget_float32(void);
extern float32_t hteg_float32(void);
-extern void hteg_size_boundary(info_t info);
-extern uint32_t hteg_list_size(info_t info);
-extern void hteg_list(list_t *l);
+extern void hteg_size_boundary(Info info);
+extern uint32_t hteg_list_size(Info info);
+extern void hteg_list(List *l);
extern void hff_hpos(void);
extern uint32_t hff_list_pos, hff_list_size;
extern uint8_t hff_tag;
@@ -10182,16 +10186,16 @@ that write the short format.
@<hint macros@>@;
@<hint types@>@;
@<directory entry type@>@;
-extern entry_t *dir;
+extern Entry *dir;
extern uint16_t section_no, max_section_no;
extern uint8_t *hpos, *hstart, *hend, *hpos0;
extern int next_range;
-extern range_pos_t *range_pos;
+extern RangePos *range_pos;
extern int *page_on;
-extern label_t *labels;
+extern Label *labels;
extern int first_label;
extern int max_outline;
-extern outline_t *outlines;
+extern Outline *outlines;
extern FILE *hout;
@@ -10210,35 +10214,35 @@ extern void hset_outline(int m, int r, int d, uint32_t p);
extern void hput_label_defs(void);
extern void hput_tags(uint32_t pos, uint8_t tag);
-extern uint8_t hput_glyph(glyph_t *g);
-extern uint8_t hput_xdimen(xdimen_t *x);
+extern uint8_t hput_glyph(Glyph *g);
+extern uint8_t hput_xdimen(Xdimen *x);
extern uint8_t hput_int(int32_t p);
extern uint8_t hput_language(uint8_t n);
-extern uint8_t hput_rule(rule_t *r);
-extern uint8_t hput_glue(glue_t *g);
-extern uint8_t hput_list(uint32_t size_pos, list_t *y);
+extern uint8_t hput_rule(Rule *r);
+extern uint8_t hput_glue(Glue *g);
+extern uint8_t hput_list(uint32_t size_pos, List *y);
extern uint8_t hsize_bytes(uint32_t n);
extern void hput_txt_cc(uint32_t c);
extern void hput_txt_font(uint8_t f);
-extern void hput_txt_global(ref_t *d);
+extern void hput_txt_global(Ref *d);
extern void hput_txt_local(uint8_t n);
-extern info_t hput_box_dimen(dimen_t h, dimen_t d, dimen_t w);
-extern info_t hput_box_shift(dimen_t a);
-extern info_t hput_box_glue_set(int8_t s, float32_t r, order_t o);
-extern void hput_stretch(stretch_t *s);
-extern uint8_t hput_kern(kern_t *k);
+extern Info hput_box_dimen(Dimen h, Dimen d, Dimen w);
+extern Info hput_box_shift(Dimen a);
+extern Info hput_box_glue_set(int8_t s, float32_t r, Order o);
+extern void hput_stretch(Stretch *s);
+extern uint8_t hput_kern(Kern *k);
extern void hput_utf8(uint32_t c);
-extern uint8_t hput_ligature(lig_t *l);
-extern uint8_t hput_disc(disc_t *h);
-extern info_t hput_span_count(uint32_t n);
-extern uint8_t hput_image(image_t *x);
+extern uint8_t hput_ligature(Lig *l);
+extern uint8_t hput_disc(Disc *h);
+extern Info hput_span_count(uint32_t n);
+extern uint8_t hput_image(Image *x);
extern void hput_string(char *str);
extern void hput_range(uint8_t pg, bool on);
extern void hput_max_definitions(void);
-extern uint8_t hput_dimen(dimen_t d);
-extern uint8_t hput_font_head(uint8_t f, char *n, dimen_t s,@| uint16_t m, uint16_t y);
+extern uint8_t hput_dimen(Dimen d);
+extern uint8_t hput_font_head(uint8_t f, char *n, Dimen s,@| uint16_t m, uint16_t y);
extern void hput_range_defs(void);
-extern void hput_xdimen_node(xdimen_t *x);
+extern void hput_xdimen_node(Xdimen *x);
extern void hput_directory(void);
extern void hput_hint(char * str);
extern void hput_list_size(uint32_t n, int i);
@@ -10287,9 +10291,9 @@ int yywrap (void )@+{ return 1;@+}
#endif
%}
-%option yylineno batch stack
+%option yylineno stack batch never-interactive
%option debug
-%option nounistd nounput noinput noyy_top_state
+%option nounistd nounput noinput noyy_top_state
@<scanning definitions@>@/
@@ -10322,7 +10326,7 @@ extern char **hfont_name; /* in common variables */
@<definition checks@>@;
-extern void hset_entry(entry_t *e, uint16_t i, @|uint32_t size,
+extern void hset_entry(Entry *e, uint16_t i, @|uint32_t size,
uint32_t xsize, char *file_name);
@<enable bison debugging@>@;
@@ -10336,11 +10340,11 @@ extern int yylex(void);
@t{\label{union}\index{union}\index{parsing}}@>
-%union {uint32_t u; @+ int32_t i; @+ char *s; @+ float64_t f; @+ glyph_t c;
- @+ dimen_t @+d; stretch_t st; @+ xdimen_t xd; @+ kern_t kt;
- @+ rule_t r; @+ glue_t g; @+ @+ image_t x;
- @+ list_t l; @+ box_t h; @+ disc_t dc; @+ lig_t lg;
- @+ ref_t rf; @+ info_t info; @+ order_t o; bool@+ b;
+%union {uint32_t u; @+ int32_t i; @+ char *s; @+ float64_t f; @+ Glyph c;
+ @+ Dimen @+d; Stretch st; @+ Xdimen xd; @+ Kern kt;
+ @+ Rule r; @+ Glue g; @+ @+ Image x;
+ @+ List l; @+ Box h; @+ Disc dc; @+ Lig lg;
+ @+ Ref rf; @+ Info info; @+ Order o; bool@+ b;
}
@t{}@>
@@ -10501,7 +10505,7 @@ of \CEE. Some of the necessary function declarations are already
contained in {\tt get.h}. The remaining declarations are these:
@<get function declarations@>=
-extern void hget_xdimen_node(xdimen_t *x);
+extern void hget_xdimen_node(Xdimen *x);
extern void hget_def_node(void);
extern void hget_font_def(uint8_t f);
extern void hget_content_section(void);
@@ -10510,7 +10514,7 @@ extern void hget_glue_node(void);
extern void hget_rule_node(void);
extern void hget_hbox_node(void);
extern void hget_vbox_node(void);
-extern void hget_param_list(list_t *l);
+extern void hget_param_list(List *l);
extern int hget_txt(void);
@
@@ -10589,9 +10593,9 @@ use requirement of \CEE.
@<skip function declarations@>=
static void hteg_content_node(void);
static void hteg_content(uint8_t z);
-static void hteg_xdimen_node(xdimen_t *x);
-static void hteg_list(list_t *l);
-static void hteg_param_list(list_t *l);
+static void hteg_xdimen_node(Xdimen *x);
+static void hteg_list(List *l);
+static void hteg_param_list(List *l);
static float32_t hteg_float32(void);
static void hteg_rule_node(void);
static void hteg_hbox_node(void);
diff --git a/Build/source/texk/web2c/hitexdir/hilexer.c b/Build/source/texk/web2c/hitexdir/hilexer.c
index 4fc33f2156e..75af8d92c48 100644
--- a/Build/source/texk/web2c/hitexdir/hilexer.c
+++ b/Build/source/texk/web2c/hitexdir/hilexer.c
@@ -1,13 +1,12 @@
-#line 2 "lexer.c"
+#line 1 "lexer.c"
-#line 4 "lexer.c"
+#line 3 "lexer.c"
#define YY_INT_ALIGNED short int
/* A lexical scanner generated by flex */
/* %not-for-header */
-
/* %if-c-only */
/* %if-not-reentrant */
@@ -17,8 +16,8 @@
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 37
+#define YY_FLEX_MINOR_VERSION 6
+#define YY_FLEX_SUBMINOR_VERSION 4
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
@@ -27,7 +26,7 @@
/* %endif */
/* %if-c-only */
-
+
/* %endif */
/* %if-c-only */
@@ -109,50 +108,39 @@ typedef unsigned int flex_uint32_t;
#define UINT32_MAX (4294967295U)
#endif
+#ifndef SIZE_MAX
+#define SIZE_MAX (~(size_t)0)
+#endif
+
#endif /* ! C99 */
#endif /* ! FLEXINT_H */
/* %endif */
+/* begin standard C++ headers. */
/* %if-c++-only */
/* %endif */
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else /* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif /* defined (__STDC__) */
-#endif /* ! __cplusplus */
-
-#ifdef YY_USE_CONST
+/* TODO: this is always defined, so inline it */
#define yyconst const
+
+#if defined(__GNUC__) && __GNUC__ >= 3
+#define yynoreturn __attribute__((__noreturn__))
#else
-#define yyconst
+#define yynoreturn
#endif
/* %not-for-header */
-
/* Returned upon end-of-file. */
#define YY_NULL 0
/* %ok-for-header */
/* %not-for-header */
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index. If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
+/* Promotes a possibly negative, possibly signed char to an
+ * integer in range [0..255] for use as an array index.
*/
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
/* %ok-for-header */
/* %if-reentrant */
@@ -167,25 +155,29 @@ typedef unsigned int flex_uint32_t;
* definition of BEGIN.
*/
#define BEGIN (yy_start) = 1 + 2 *
-
/* Translate the current start state into a value that can be later handed
* to BEGIN to return to the state. The YYSTATE alias is for lex
* compatibility.
*/
#define YY_START (((yy_start) - 1) / 2)
#define YYSTATE YY_START
-
/* Action number for EOF rule of a given start state. */
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin )
-
+#define YY_NEW_FILE yyrestart( yyin )
#define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */
#ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
#define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
#endif
/* The state buf must be large enough to hold one state per character in the main buffer.
@@ -203,7 +195,7 @@ typedef size_t yy_size_t;
#endif
/* %if-not-reentrant */
-extern yy_size_t yyleng;
+extern int yyleng;
/* %endif */
/* %if-c-only */
@@ -215,10 +207,10 @@ extern FILE *yyin, *yyout;
#define EOB_ACT_CONTINUE_SCAN 0
#define EOB_ACT_END_OF_FILE 1
#define EOB_ACT_LAST_MATCH 2
-
+
/* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
* access to the local variable yy_act. Since yyless() is a macro, it would break
- * existing scanners that call yyless() from OUTSIDE yylex.
+ * existing scanners that call yyless() from OUTSIDE yylex.
* One obvious solution it to make yy_act a global. I tried that, and saw
* a 5% performance hit in a non-yylineno scanner, because yy_act is
* normally declared as a register variable-- so it is not worth it.
@@ -230,6 +222,13 @@ extern FILE *yyin, *yyout;
if ( yytext[yyl] == '\n' )\
--yylineno;\
}while(0)
+ #define YY_LINENO_REWIND_TO(dst) \
+ do {\
+ const char *p;\
+ for ( p = yy_cp-1; p >= (dst); --p)\
+ if ( *p == '\n' )\
+ --yylineno;\
+ }while(0)
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
@@ -244,7 +243,6 @@ extern FILE *yyin, *yyout;
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
while ( 0 )
-
#define unput(c) yyunput( c, (yytext_ptr) )
#ifndef YY_STRUCT_YY_BUFFER_STATE
@@ -264,12 +262,12 @@ struct yy_buffer_state
/* Size of input buffer in bytes, not including room for EOB
* characters.
*/
- yy_size_t yy_buf_size;
+ int yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
*/
- yy_size_t yy_n_chars;
+ int yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it,
* and can realloc() it to grow it, and should free() it to
@@ -292,7 +290,7 @@ struct yy_buffer_state
int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */
-
+
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
@@ -319,13 +317,12 @@ struct yy_buffer_state
/* %if-c-only Standard (non-C++) definition */
/* %not-for-header */
-
/* %if-not-reentrant */
/* Stack of input buffers. */
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
/* %endif */
/* %ok-for-header */
@@ -340,7 +337,6 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
? (yy_buffer_stack)[(yy_buffer_stack_top)] \
: NULL)
-
/* Same as previous macro, but useful when we know that the buffer stack is not
* NULL or when we need an lvalue. For internal use only.
*/
@@ -350,14 +346,13 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
/* %if-not-reentrant */
/* %not-for-header */
-
/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;
-static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
+int yyleng;
/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
+static char *yy_c_buf_p = NULL;
static int yy_init = 0; /* whether we need to initialize */
static int yy_start = 0; /* start state number */
@@ -369,78 +364,77 @@ static int yy_did_buffer_switch_on_eof;
/* %endif */
-void yyrestart (FILE *input_file );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
-void yy_delete_buffer (YY_BUFFER_STATE b );
-void yy_flush_buffer (YY_BUFFER_STATE b );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
+void yyrestart ( FILE *input_file );
+void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
+YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
+void yy_delete_buffer ( YY_BUFFER_STATE b );
+void yy_flush_buffer ( YY_BUFFER_STATE b );
+void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
+void yypop_buffer_state ( void );
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
+static void yyensure_buffer_stack ( void );
+static void yy_load_buffer_state ( void );
+static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
+#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
+YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
+YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
+YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
/* %endif */
-void *yyalloc (yy_size_t );
-void *yyrealloc (void *,yy_size_t );
-void yyfree (void * );
+void *yyalloc ( yy_size_t );
+void *yyrealloc ( void *, yy_size_t );
+void yyfree ( void * );
#define yy_new_buffer yy_create_buffer
-
#define yy_set_interactive(is_interactive) \
{ \
if ( ! YY_CURRENT_BUFFER ){ \
yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- yy_create_buffer(yyin,YY_BUF_SIZE ); \
+ yy_create_buffer( yyin, YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
}
-
#define yy_set_bol(at_bol) \
{ \
if ( ! YY_CURRENT_BUFFER ){\
yyensure_buffer_stack (); \
YY_CURRENT_BUFFER_LVALUE = \
- yy_create_buffer(yyin,YY_BUF_SIZE ); \
+ yy_create_buffer( yyin, YY_BUF_SIZE ); \
} \
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
}
-
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
/* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */
/* Begin user sect3 */
#define FLEX_DEBUG
+typedef flex_uint8_t YY_CHAR;
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+FILE *yyin = NULL, *yyout = NULL;
typedef int yy_state_type;
extern int yylineno;
-
int yylineno = 1;
extern char *yytext;
+#ifdef yytext_ptr
+#undef yytext_ptr
+#endif
#define yytext_ptr yytext
+/* %% [1.5] DFA */
+
/* %if-c-only Standard (non-C++) definition */
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[] );
+static yy_state_type yy_get_previous_state ( void );
+static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
+static int yy_get_next_buffer ( void );
+static void yynoreturn yy_fatal_error ( const char* msg );
/* %endif */
@@ -450,12 +444,11 @@ static void yy_fatal_error (yyconst char msg[] );
#define YY_DO_BEFORE_ACTION \
(yytext_ptr) = yy_bp; \
/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\
- yyleng = (size_t) (yy_cp - yy_bp); \
+ yyleng = (int) (yy_cp - yy_bp); \
(yy_hold_char) = *yy_cp; \
*yy_cp = '\0'; \
/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
(yy_c_buf_p) = yy_cp;
-
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
#define YY_NUM_RULES 126
#define YY_END_OF_BUFFER 127
@@ -466,7 +459,7 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[371] =
+static const flex_int16_t yy_accept[371] =
{ 0,
0, 0, 0, 0, 0, 0, 127, 125, 6, 6,
43, 47, 10, 125, 114, 125, 4, 4, 1, 2,
@@ -510,7 +503,7 @@ static yyconst flex_int16_t yy_accept[371] =
92, 124, 124, 38, 93, 124, 117, 124, 119, 0
} ;
-static yyconst flex_int32_t yy_ec[256] =
+static const YY_CHAR yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
4, 4, 2, 1, 1, 1, 1, 1, 1, 1,
@@ -542,7 +535,7 @@ static yyconst flex_int32_t yy_ec[256] =
65, 65, 65, 65, 65
} ;
-static yyconst flex_int32_t yy_meta[66] =
+static const YY_CHAR yy_meta[66] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -553,7 +546,7 @@ static yyconst flex_int32_t yy_meta[66] =
4, 1, 1, 1, 4
} ;
-static yyconst flex_int16_t yy_base[376] =
+static const flex_int16_t yy_base[376] =
{ 0,
0, 0, 65, 130, 194, 258, 629, 630, 630, 630,
630, 630, 74, 68, 64, 68, 77, 72, 630, 630,
@@ -598,7 +591,7 @@ static yyconst flex_int16_t yy_base[376] =
503, 507, 511, 514, 70
} ;
-static yyconst flex_int16_t yy_def[376] =
+static const flex_int16_t yy_def[376] =
{ 0,
370, 1, 371, 371, 372, 372, 370, 370, 370, 370,
370, 370, 373, 374, 370, 370, 370, 370, 370, 370,
@@ -643,7 +636,7 @@ static yyconst flex_int16_t yy_def[376] =
370, 370, 370, 370, 370
} ;
-static yyconst flex_int16_t yy_nxt[696] =
+static const flex_int16_t yy_nxt[696] =
{ 0,
8, 9, 10, 9, 9, 11, 12, 8, 13, 14,
8, 15, 16, 16, 8, 17, 18, 18, 19, 20,
@@ -724,7 +717,7 @@ static yyconst flex_int16_t yy_nxt[696] =
} ;
-static yyconst flex_int16_t yy_chk[696] =
+static const flex_int16_t yy_chk[696] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -806,7 +799,7 @@ static yyconst flex_int16_t yy_chk[696] =
} ;
/* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[127] =
+static const flex_int32_t yy_rule_can_match_eol[127] =
{ 0,
0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -822,22 +815,22 @@ static char *yy_last_accepting_cpos;
extern int yy_flex_debug;
int yy_flex_debug = 1;
-static yyconst flex_int16_t yy_rule_linenum[126] =
+static const flex_int16_t yy_rule_linenum[126] =
{ 0,
- 170, 171, 172, 173, 174, 175, 176, 178, 180, 182,
- 184, 185, 186, 187, 188, 193, 194, 195, 196, 197,
- 198, 199, 200, 202, 204, 206, 207, 208, 209, 211,
- 212, 213, 215, 216, 217, 219, 220, 222, 224, 225,
- 226, 228, 229, 231, 232, 233, 235, 238, 240, 241,
- 243, 244, 245, 246, 247, 248, 249, 251, 252, 254,
- 256, 257, 258, 259, 260, 261, 262, 263, 264, 267,
- 269, 270, 271, 273, 274, 275, 276, 279, 280, 281,
- 283, 284, 285, 286, 287, 288, 289, 291, 292, 293,
- 294, 296, 298, 300, 302, 304, 306, 307, 309, 311,
-
- 312, 313, 314, 316, 318, 319, 320, 322, 324, 326,
- 327, 328, 329, 330, 332, 334, 336, 337, 339, 341,
- 343, 345, 347, 349, 350
+ 171, 172, 173, 174, 175, 176, 177, 179, 181, 183,
+ 185, 186, 187, 188, 189, 194, 195, 196, 197, 198,
+ 199, 200, 201, 203, 205, 207, 208, 209, 210, 212,
+ 213, 214, 216, 217, 218, 220, 221, 223, 225, 226,
+ 227, 229, 230, 232, 233, 234, 236, 239, 241, 242,
+ 244, 245, 246, 247, 248, 249, 250, 252, 253, 255,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 268,
+ 270, 271, 272, 274, 275, 276, 277, 280, 281, 282,
+ 284, 285, 286, 287, 288, 289, 290, 292, 293, 294,
+ 295, 297, 299, 301, 303, 305, 307, 308, 310, 312,
+
+ 313, 314, 315, 317, 319, 320, 321, 323, 325, 327,
+ 328, 329, 330, 331, 333, 335, 337, 338, 340, 342,
+ 344, 346, 348, 350, 351
} ;
/* The intent behind this definition is that it'll catch
@@ -849,9 +842,9 @@ static yyconst flex_int16_t yy_rule_linenum[126] =
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "lexer.l"
-/*511:*/
-#line 3 "lexer.l"
- #line 10273 "format.w"
+#line 2 "lexer.l"
+ /*511:*/
+ #line 10277 "format.w"
#include "hibasetypes.h"
#include "hierror.h"
@@ -987,25 +980,27 @@ float64_t xtof(char*x)
}
/*:61*/
int yywrap(void){
- #line 10284 "format.w"
+ #line 10288 "format.w"
return 1;}
#ifdef _MSC_VER
#pragma warning( disable : 4267)
#endif
+#line 989 "lexer.c"
#define YY_NO_UNISTD_H 1
#define YY_NO_INPUT 1
-/*23:*/
-/*:23*/ /*32:*/
+#line 152 "lexer.l"
+ /*23:*/
+ /*:23*/ /*32:*/
-/*:32*/ /*39:*/
-/*:39*/ /*41:*/
-/*:41*/ /*43:*/
-/*:43*/ /*45:*/
-/*:45*/ /*149:*/
+ /*:32*/ /*39:*/
+ /*:39*/ /*41:*/
+ /*:41*/ /*43:*/
+ /*:43*/ /*45:*/
+ /*:45*/ /*149:*/
-/*:149*/
-#line 1009 "lexer.c"
+ /*:149*/
+#line 1003 "lexer.c"
#define INITIAL 0
#define STR 1
@@ -1031,7 +1026,7 @@ int yywrap(void){
/* %if-reentrant */
/* %if-c-only */
-static int yy_init_globals (void );
+static int yy_init_globals ( void );
/* %endif */
/* %if-reentrant */
@@ -1041,31 +1036,31 @@ static int yy_init_globals (void );
/* Accessor methods to globals.
These are made visible to non-reentrant scanners for convenience. */
-int yylex_destroy (void );
+int yylex_destroy ( void );
-int yyget_debug (void );
+int yyget_debug ( void );
-void yyset_debug (int debug_flag );
+void yyset_debug ( int debug_flag );
-YY_EXTRA_TYPE yyget_extra (void );
+YY_EXTRA_TYPE yyget_extra ( void );
-void yyset_extra (YY_EXTRA_TYPE user_defined );
+void yyset_extra ( YY_EXTRA_TYPE user_defined );
-FILE *yyget_in (void );
+FILE *yyget_in ( void );
-void yyset_in (FILE * in_str );
+void yyset_in ( FILE * _in_str );
-FILE *yyget_out (void );
+FILE *yyget_out ( void );
-void yyset_out (FILE * out_str );
+void yyset_out ( FILE * _out_str );
-yy_size_t yyget_leng (void );
+ int yyget_leng ( void );
-char *yyget_text (void );
+char *yyget_text ( void );
-int yyget_lineno (void );
+int yyget_lineno ( void );
-void yyset_lineno (int line_number );
+void yyset_lineno ( int _line_number );
/* %if-bison-bridge */
/* %endif */
@@ -1076,34 +1071,35 @@ void yyset_lineno (int line_number );
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
-extern "C" int yywrap (void );
+extern "C" int yywrap ( void );
#else
-extern int yywrap (void );
+extern int yywrap ( void );
#endif
#endif
/* %not-for-header */
-
+#ifndef YY_NO_UNPUT
+
+#endif
/* %ok-for-header */
/* %endif */
#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
+static void yy_flex_strncpy ( char *, const char *, int );
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
+static int yy_flex_strlen ( const char * );
#endif
#ifndef YY_NO_INPUT
/* %if-c-only Standard (non-C++) definition */
/* %not-for-header */
-
#ifdef __cplusplus
-static int yyinput (void );
+static int yyinput ( void );
#else
-static int input (void );
+static int input ( void );
#endif
/* %ok-for-header */
@@ -1116,15 +1112,20 @@ static int input (void );
static int yy_start_stack_depth = 0;
static int *yy_start_stack = NULL;
- static void yy_push_state (int new_state );
+ static void yy_push_state ( int _new_state );
- static void yy_pop_state (void );
+ static void yy_pop_state ( void );
/* %endif */
/* Amount of stuff to slurp up with each read. */
#ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
#define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
#endif
/* Copy whatever the last rule matched to the standard output. */
@@ -1133,7 +1134,7 @@ static int input (void );
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
+#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
/* %endif */
/* %if-c++-only C++ definition */
/* %endif */
@@ -1148,7 +1149,7 @@ static int input (void );
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
{ \
int c = '*'; \
- size_t n; \
+ int n; \
for ( n = 0; n < max_size && \
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
buf[n] = (char) c; \
@@ -1161,7 +1162,7 @@ static int input (void );
else \
{ \
errno=0; \
- while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+ while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
{ \
if( errno != EINTR) \
{ \
@@ -1202,11 +1203,9 @@ static int input (void );
/* %if-tables-serialization structures and prototypes */
/* %not-for-header */
-
/* %ok-for-header */
/* %not-for-header */
-
/* %tables-yydmap generated elements */
/* %endif */
/* end tables serialization structures and prototypes */
@@ -1237,7 +1236,7 @@ extern int yylex (void);
/* Code executed at the end of each rule. */
#ifndef YY_BREAK
-#define YY_BREAK break;
+#define YY_BREAK /*LINTED*/break;
#endif
/* %% [6.0] YY_RULE_SETUP definition goes here */
@@ -1245,22 +1244,14 @@ extern int yylex (void);
YY_USER_ACTION
/* %not-for-header */
-
/** The main scanner function which does all the work.
*/
YY_DECL
{
- register yy_state_type yy_current_state;
- register char *yy_cp, *yy_bp;
- register int yy_act;
+ yy_state_type yy_current_state;
+ char *yy_cp, *yy_bp;
+ int yy_act;
-/* %% [7.0] user's declarations go here */
-#line 167 "lexer.l"
-
-
- /*3:*/
-#line 1263 "lexer.c"
-
if ( !(yy_init) )
{
(yy_init) = 1;
@@ -1289,13 +1280,21 @@ YY_DECL
if ( ! YY_CURRENT_BUFFER ) {
yyensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- yy_create_buffer(yyin,YY_BUF_SIZE );
+ yy_create_buffer( yyin, YY_BUF_SIZE );
}
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
}
- while ( 1 ) /* loops until end-of-file is reached */
+ {
+/* %% [7.0] user's declarations go here */
+#line 168 "lexer.l"
+
+
+ /*3:*/
+#line 1295 "lexer.c"
+
+ while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
/* %% [8.0] yymore()-related code goes here */
yy_cp = (yy_c_buf_p);
@@ -1313,7 +1312,7 @@ YY_DECL
yy_match:
do
{
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
@@ -1323,9 +1322,9 @@ yy_match:
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 371 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
while ( yy_current_state != 370 );
@@ -1345,7 +1344,7 @@ yy_find_action:
int yyl;
for ( yyl = 0; yyl < yyleng; ++yyl )
if ( yytext[yyl] == '\n' )
-
+
yylineno++;
;
}
@@ -1381,686 +1380,686 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 170 "lexer.l"
+#line 171 "lexer.l"
SCAN_START;return START;
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 171 "lexer.l"
+#line 172 "lexer.l"
SCAN_END;return END;
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 172 "lexer.l"
+#line 173 "lexer.l"
return GLYPH;
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 173 "lexer.l"
+#line 174 "lexer.l"
SCAN_UDEC(yytext);return UNSIGNED;
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 174 "lexer.l"
+#line 175 "lexer.l"
SCAN_UDEC(yytext+1);return REFERENCE;
YY_BREAK
case 6:
/* rule 6 can match eol */
YY_RULE_SETUP
-#line 175 "lexer.l"
+#line 176 "lexer.l"
;
YY_BREAK
case 7:
/* rule 7 can match eol */
YY_RULE_SETUP
-#line 176 "lexer.l"
+#line 177 "lexer.l"
;
YY_BREAK
/*:3*/ /*24:*/
case 8:
YY_RULE_SETUP
-#line 178 "lexer.l"
+#line 179 "lexer.l"
SCAN_HEX(yytext+2);return UNSIGNED;
YY_BREAK
/*:24*/ /*27:*/
case 9:
YY_RULE_SETUP
-#line 180 "lexer.l"
+#line 181 "lexer.l"
SCAN_DEC(yytext);return SIGNED;
YY_BREAK
/*:27*/ /*34:*/
case 10:
YY_RULE_SETUP
-#line 182 "lexer.l"
+#line 183 "lexer.l"
STR_START;BEGIN(STR);
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 184 "lexer.l"
+#line 185 "lexer.l"
STR_END;SCAN_STR;BEGIN(INITIAL);return STRING;
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 185 "lexer.l"
+#line 186 "lexer.l"
STR_ADD('\'');
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 186 "lexer.l"
+#line 187 "lexer.l"
STR_ADD(yytext[0]);
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 187 "lexer.l"
+#line 188 "lexer.l"
RNG("String character",yytext[0],0x20,0x7E);
YY_BREAK
case 15:
/* rule 15 can match eol */
YY_RULE_SETUP
-#line 188 "lexer.l"
+#line 189 "lexer.l"
QUIT("Unterminated String in line %d",yylineno);
YY_BREAK
/*:34*/ /*48:*/
case 16:
YY_RULE_SETUP
-#line 193 "lexer.l"
+#line 194 "lexer.l"
STR_START;STR_PUT('\'');BEGIN(STR);
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 194 "lexer.l"
+#line 195 "lexer.l"
SCAN_UTF8_1(yytext+1);return CHARCODE;
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 195 "lexer.l"
+#line 196 "lexer.l"
STR_START;STR_PUT(yytext[1]);STR_PUT('\'');BEGIN(STR);
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 196 "lexer.l"
+#line 197 "lexer.l"
STR_START;STR_PUT('\'');STR_PUT('\'');BEGIN(STR);
YY_BREAK
case 20:
/* rule 20 can match eol */
YY_RULE_SETUP
-#line 197 "lexer.l"
+#line 198 "lexer.l"
SCAN_UTF8_1(yytext+1);return CHARCODE;
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 198 "lexer.l"
+#line 199 "lexer.l"
SCAN_UTF8_2(yytext+1);return CHARCODE;
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 199 "lexer.l"
+#line 200 "lexer.l"
SCAN_UTF8_3(yytext+1);return CHARCODE;
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 200 "lexer.l"
+#line 201 "lexer.l"
SCAN_UTF8_4(yytext+1);return CHARCODE;
YY_BREAK
/*:48*/ /*55:*/
case 24:
YY_RULE_SETUP
-#line 202 "lexer.l"
+#line 203 "lexer.l"
SCAN_DECFLOAT;return FPNUM;
YY_BREAK
/*:55*/ /*59:*/
case 25:
YY_RULE_SETUP
-#line 204 "lexer.l"
+#line 205 "lexer.l"
SCAN_HEXFLOAT;return FPNUM;
YY_BREAK
/*:59*/ /*80:*/
case 26:
YY_RULE_SETUP
-#line 206 "lexer.l"
+#line 207 "lexer.l"
return DIMEN;
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 207 "lexer.l"
+#line 208 "lexer.l"
return PT;
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 208 "lexer.l"
+#line 209 "lexer.l"
return MM;
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 209 "lexer.l"
+#line 210 "lexer.l"
return INCH;
YY_BREAK
/*:80*/ /*88:*/
case 30:
YY_RULE_SETUP
-#line 211 "lexer.l"
+#line 212 "lexer.l"
return XDIMEN;
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 212 "lexer.l"
+#line 213 "lexer.l"
return H;
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 213 "lexer.l"
+#line 214 "lexer.l"
return V;
YY_BREAK
/*:88*/ /*99:*/
case 33:
YY_RULE_SETUP
-#line 215 "lexer.l"
+#line 216 "lexer.l"
return FIL;
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 216 "lexer.l"
+#line 217 "lexer.l"
return FILL;
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 217 "lexer.l"
+#line 218 "lexer.l"
return FILLL;
YY_BREAK
/*:99*/ /*103:*/
case 36:
YY_RULE_SETUP
-#line 219 "lexer.l"
+#line 220 "lexer.l"
return PENALTY;
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 220 "lexer.l"
+#line 221 "lexer.l"
return INTEGER;
YY_BREAK
/*:103*/ /*109:*/
case 38:
YY_RULE_SETUP
-#line 222 "lexer.l"
+#line 223 "lexer.l"
return LANGUAGE;
YY_BREAK
/*:109*/ /*115:*/
case 39:
YY_RULE_SETUP
-#line 224 "lexer.l"
+#line 225 "lexer.l"
return RULE;
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 225 "lexer.l"
+#line 226 "lexer.l"
return RUNNING;
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 226 "lexer.l"
+#line 227 "lexer.l"
return RUNNING;
YY_BREAK
/*:115*/ /*124:*/
case 42:
YY_RULE_SETUP
-#line 228 "lexer.l"
+#line 229 "lexer.l"
return KERN;
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 229 "lexer.l"
+#line 230 "lexer.l"
return EXPLICIT;
YY_BREAK
/*:124*/ /*133:*/
case 44:
YY_RULE_SETUP
-#line 231 "lexer.l"
+#line 232 "lexer.l"
return GLUE;
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 232 "lexer.l"
+#line 233 "lexer.l"
return PLUS;
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 233 "lexer.l"
+#line 234 "lexer.l"
return MINUS;
YY_BREAK
/*:133*/ /*151:*/
case 47:
YY_RULE_SETUP
-#line 235 "lexer.l"
+#line 236 "lexer.l"
SCAN_TXT_START;return TXT_START;
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 238 "lexer.l"
+#line 239 "lexer.l"
SCAN_TXT_END;return TXT_END;
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 240 "lexer.l"
+#line 241 "lexer.l"
SCAN_START;return START;
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 241 "lexer.l"
+#line 242 "lexer.l"
QUIT("> not allowed in text mode");
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 243 "lexer.l"
+#line 244 "lexer.l"
yylval.u= '\\';return TXT_CC;
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 244 "lexer.l"
+#line 245 "lexer.l"
yylval.u= '"';return TXT_CC;
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 245 "lexer.l"
+#line 246 "lexer.l"
yylval.u= '<';return TXT_CC;
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 246 "lexer.l"
+#line 247 "lexer.l"
yylval.u= '>';return TXT_CC;
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 247 "lexer.l"
+#line 248 "lexer.l"
yylval.u= ' ';return TXT_CC;
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 248 "lexer.l"
+#line 249 "lexer.l"
yylval.u= '-';return TXT_CC;
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 249 "lexer.l"
+#line 250 "lexer.l"
return TXT_IGNORE;
YY_BREAK
case 58:
/* rule 58 can match eol */
YY_RULE_SETUP
-#line 251 "lexer.l"
+#line 252 "lexer.l"
return TXT_FONT_GLUE;
YY_BREAK
case 59:
/* rule 59 can match eol */
YY_RULE_SETUP
-#line 252 "lexer.l"
+#line 253 "lexer.l"
;
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 254 "lexer.l"
+#line 255 "lexer.l"
yylval.u= yytext[1]-'0';return TXT_FONT;
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 256 "lexer.l"
+#line 257 "lexer.l"
SCAN_REF(font_kind);return TXT_GLOBAL;
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 257 "lexer.l"
+#line 258 "lexer.l"
SCAN_REF(penalty_kind);return TXT_GLOBAL;
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 258 "lexer.l"
+#line 259 "lexer.l"
SCAN_REF(kern_kind);return TXT_GLOBAL;
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 259 "lexer.l"
+#line 260 "lexer.l"
SCAN_REF(ligature_kind);return TXT_GLOBAL;
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 260 "lexer.l"
+#line 261 "lexer.l"
SCAN_REF(disc_kind);return TXT_GLOBAL;
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 261 "lexer.l"
+#line 262 "lexer.l"
SCAN_REF(glue_kind);return TXT_GLOBAL;
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 262 "lexer.l"
+#line 263 "lexer.l"
SCAN_REF(language_kind);return TXT_GLOBAL;
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 263 "lexer.l"
+#line 264 "lexer.l"
SCAN_REF(rule_kind);return TXT_GLOBAL;
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 264 "lexer.l"
+#line 265 "lexer.l"
SCAN_REF(image_kind);return TXT_GLOBAL;
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 267 "lexer.l"
+#line 268 "lexer.l"
SCAN_UDEC(yytext+2);return TXT_CC;
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 269 "lexer.l"
+#line 270 "lexer.l"
yylval.u= yytext[1]-'a';return TXT_LOCAL;
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 270 "lexer.l"
+#line 271 "lexer.l"
return TXT_FONT_GLUE;
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 271 "lexer.l"
+#line 272 "lexer.l"
return TXT_FONT_HYPHEN;
YY_BREAK
case 74:
/* rule 74 can match eol */
YY_RULE_SETUP
-#line 273 "lexer.l"
+#line 274 "lexer.l"
SCAN_UTF8_1(yytext);return TXT_CC;
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 274 "lexer.l"
+#line 275 "lexer.l"
SCAN_UTF8_2(yytext);return TXT_CC;
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 275 "lexer.l"
+#line 276 "lexer.l"
SCAN_UTF8_3(yytext);return TXT_CC;
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 276 "lexer.l"
+#line 277 "lexer.l"
SCAN_UTF8_4(yytext);return TXT_CC;
YY_BREAK
/*:151*/ /*162:*/
case 78:
YY_RULE_SETUP
-#line 279 "lexer.l"
+#line 280 "lexer.l"
return HBOX;
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 280 "lexer.l"
+#line 281 "lexer.l"
return VBOX;
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 281 "lexer.l"
+#line 282 "lexer.l"
return SHIFTED;
YY_BREAK
/*:162*/ /*170:*/
case 81:
YY_RULE_SETUP
-#line 283 "lexer.l"
+#line 284 "lexer.l"
return HPACK;
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 284 "lexer.l"
+#line 285 "lexer.l"
return HSET;
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 285 "lexer.l"
+#line 286 "lexer.l"
return VPACK;
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 286 "lexer.l"
+#line 287 "lexer.l"
return VSET;
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 287 "lexer.l"
+#line 288 "lexer.l"
return ADD;
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 288 "lexer.l"
+#line 289 "lexer.l"
return TO;
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 289 "lexer.l"
+#line 290 "lexer.l"
return DEPTH;
YY_BREAK
/*:170*/ /*175:*/
case 88:
YY_RULE_SETUP
-#line 291 "lexer.l"
+#line 292 "lexer.l"
return LEADERS;
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 292 "lexer.l"
+#line 293 "lexer.l"
return ALIGN;
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 293 "lexer.l"
+#line 294 "lexer.l"
return CENTER;
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 294 "lexer.l"
+#line 295 "lexer.l"
return EXPAND;
YY_BREAK
/*:175*/ /*182:*/
case 92:
YY_RULE_SETUP
-#line 296 "lexer.l"
+#line 297 "lexer.l"
return BASELINE;
YY_BREAK
/*:182*/ /*189:*/
case 93:
YY_RULE_SETUP
-#line 298 "lexer.l"
+#line 299 "lexer.l"
return LIGATURE;
YY_BREAK
/*:189*/ /*197:*/
case 94:
YY_RULE_SETUP
-#line 300 "lexer.l"
+#line 301 "lexer.l"
return DISC;
YY_BREAK
/*:197*/ /*205:*/
case 95:
YY_RULE_SETUP
-#line 302 "lexer.l"
+#line 303 "lexer.l"
return PAR;
YY_BREAK
/*:205*/ /*210:*/
case 96:
YY_RULE_SETUP
-#line 304 "lexer.l"
+#line 305 "lexer.l"
return MATH;
YY_BREAK
/*:210*/ /*215:*/
case 97:
YY_RULE_SETUP
-#line 306 "lexer.l"
+#line 307 "lexer.l"
return ON;
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 307 "lexer.l"
+#line 308 "lexer.l"
return OFF;
YY_BREAK
/*:215*/ /*219:*/
case 99:
YY_RULE_SETUP
-#line 309 "lexer.l"
+#line 310 "lexer.l"
return ADJUST;
YY_BREAK
/*:219*/ /*223:*/
case 100:
YY_RULE_SETUP
-#line 311 "lexer.l"
+#line 312 "lexer.l"
return TABLE;
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 312 "lexer.l"
+#line 313 "lexer.l"
return ITEM;
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 313 "lexer.l"
+#line 314 "lexer.l"
return ITEM;
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 314 "lexer.l"
+#line 315 "lexer.l"
return ITEM;
YY_BREAK
/*:223*/ /*230:*/
case 104:
YY_RULE_SETUP
-#line 316 "lexer.l"
+#line 317 "lexer.l"
return IMAGE;
YY_BREAK
/*:230*/ /*247:*/
case 105:
YY_RULE_SETUP
-#line 318 "lexer.l"
+#line 319 "lexer.l"
return LABEL;
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 319 "lexer.l"
+#line 320 "lexer.l"
return BOT;
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 320 "lexer.l"
+#line 321 "lexer.l"
return MID;
YY_BREAK
/*:247*/ /*261:*/
case 108:
YY_RULE_SETUP
-#line 322 "lexer.l"
+#line 323 "lexer.l"
return LINK;
YY_BREAK
/*:261*/ /*271:*/
case 109:
YY_RULE_SETUP
-#line 324 "lexer.l"
+#line 325 "lexer.l"
return OUTLINE;
YY_BREAK
/*:271*/ /*278:*/
case 110:
YY_RULE_SETUP
-#line 326 "lexer.l"
+#line 327 "lexer.l"
if(section_no==1)return STREAMDEF;else return STREAM;
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 327 "lexer.l"
+#line 328 "lexer.l"
return FIRST;
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 328 "lexer.l"
+#line 329 "lexer.l"
return LAST;
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 329 "lexer.l"
+#line 330 "lexer.l"
return TOP;
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 330 "lexer.l"
+#line 331 "lexer.l"
return NOREFERENCE;
YY_BREAK
/*:278*/ /*288:*/
case 115:
YY_RULE_SETUP
-#line 332 "lexer.l"
+#line 333 "lexer.l"
return PAGE;
YY_BREAK
/*:288*/ /*296:*/
case 116:
YY_RULE_SETUP
-#line 334 "lexer.l"
+#line 335 "lexer.l"
return RANGE;
YY_BREAK
/*:296*/ /*323:*/
case 117:
YY_RULE_SETUP
-#line 336 "lexer.l"
+#line 337 "lexer.l"
return DIRECTORY;
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 337 "lexer.l"
+#line 338 "lexer.l"
return SECTION;
YY_BREAK
/*:323*/ /*344:*/
case 119:
YY_RULE_SETUP
-#line 339 "lexer.l"
+#line 340 "lexer.l"
return DEFINITIONS;
YY_BREAK
/*:344*/ /*352:*/
case 120:
YY_RULE_SETUP
-#line 341 "lexer.l"
+#line 342 "lexer.l"
return MAX;
YY_BREAK
/*:352*/ /*367:*/
case 121:
YY_RULE_SETUP
-#line 343 "lexer.l"
+#line 344 "lexer.l"
return PARAM;
YY_BREAK
/*:367*/ /*376:*/
case 122:
YY_RULE_SETUP
-#line 345 "lexer.l"
+#line 346 "lexer.l"
return FONT;
YY_BREAK
/*:376*/ /*404:*/
case 123:
YY_RULE_SETUP
-#line 347 "lexer.l"
+#line 348 "lexer.l"
return CONTENT;
YY_BREAK
/*:404*/
case 124:
YY_RULE_SETUP
-#line 349 "lexer.l"
+#line 350 "lexer.l"
QUIT("Unexpected keyword '%s' in line %d",yytext,yylineno);
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 350 "lexer.l"
+#line 351 "lexer.l"
QUIT("Unexpected character '%c' (0x%02X) in line %d",yytext[0]>' '?yytext[0]:' ',yytext[0],yylineno);
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 352 "lexer.l"
+#line 353 "lexer.l"
ECHO;
YY_BREAK
-#line 2064 "lexer.c"
+#line 2062 "lexer.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(STR):
case YY_STATE_EOF(TXT):
@@ -2087,7 +2086,11 @@ case YY_STATE_EOF(TXT):
* back-up) that will match for the new input source.
*/
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+/* %if-c-only */
YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
+/* %endif */
+/* %if-c++-only */
+/* %endif */
YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
}
@@ -2142,7 +2145,7 @@ case YY_STATE_EOF(TXT):
{
(yy_did_buffer_switch_on_eof) = 0;
- if ( yywrap( ) )
+ if ( yywrap( ) )
{
/* Note: because we've taken care in
* yy_get_next_buffer() to have set up
@@ -2195,12 +2198,12 @@ case YY_STATE_EOF(TXT):
"fatal flex scanner internal error--no action found" );
} /* end of action switch */
} /* end of scanning one token */
+ } /* end of user's declarations */
} /* end of yylex */
/* %ok-for-header */
/* %if-c++-only */
/* %not-for-header */
-
/* %ok-for-header */
/* %endif */
@@ -2218,9 +2221,9 @@ static int yy_get_next_buffer (void)
/* %if-c++-only */
/* %endif */
{
- register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
- register char *source = (yytext_ptr);
- register int number_to_move, i;
+ char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+ char *source = (yytext_ptr);
+ int number_to_move, i;
int ret_val;
if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
@@ -2249,7 +2252,7 @@ static int yy_get_next_buffer (void)
/* Try to read more data. */
/* First move last chars to start of buffer. */
- number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+ number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
for ( i = 0; i < number_to_move; ++i )
*(dest++) = *(source++);
@@ -2262,7 +2265,7 @@ static int yy_get_next_buffer (void)
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
@@ -2276,7 +2279,7 @@ static int yy_get_next_buffer (void)
if ( b->yy_is_our_buffer )
{
- yy_size_t new_size = b->yy_buf_size * 2;
+ int new_size = b->yy_buf_size * 2;
if ( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8;
@@ -2285,11 +2288,12 @@ static int yy_get_next_buffer (void)
b->yy_ch_buf = (char *)
/* Include room in for 2 EOB chars. */
- yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
+ yyrealloc( (void *) b->yy_ch_buf,
+ (yy_size_t) (b->yy_buf_size + 2) );
}
else
/* Can't grow it, we don't own it. */
- b->yy_ch_buf = 0;
+ b->yy_ch_buf = NULL;
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR(
@@ -2317,7 +2321,7 @@ static int yy_get_next_buffer (void)
if ( number_to_move == YY_MORE_ADJ )
{
ret_val = EOB_ACT_END_OF_FILE;
- yyrestart(yyin );
+ yyrestart( yyin );
}
else
@@ -2331,12 +2335,15 @@ static int yy_get_next_buffer (void)
else
ret_val = EOB_ACT_CONTINUE_SCAN;
- if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
/* Extend the array by 50%, plus the number we really need. */
- yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
- YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
+ int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
+ (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+ /* "- 2" to take care of EOB's */
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
}
(yy_n_chars) += number_to_move;
@@ -2352,14 +2359,13 @@ static int yy_get_next_buffer (void)
/* %if-c-only */
/* %not-for-header */
-
static yy_state_type yy_get_previous_state (void)
/* %endif */
/* %if-c++-only */
/* %endif */
{
- register yy_state_type yy_current_state;
- register char *yy_cp;
+ yy_state_type yy_current_state;
+ char *yy_cp;
/* %% [15.0] code to get the start state into yy_current_state goes here */
yy_current_state = (yy_start);
@@ -2367,7 +2373,7 @@ static int yy_get_next_buffer (void)
for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
{
/* %% [16.0] code to find the next state goes here */
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
@@ -2377,9 +2383,9 @@ static int yy_get_next_buffer (void)
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 371 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
}
return yy_current_state;
@@ -2396,11 +2402,11 @@ static int yy_get_next_buffer (void)
/* %if-c++-only */
/* %endif */
{
- register int yy_is_jam;
+ int yy_is_jam;
/* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
- register char *yy_cp = (yy_c_buf_p);
+ char *yy_cp = (yy_c_buf_p);
- register YY_CHAR yy_c = 1;
+ YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] )
{
(yy_last_accepting_state) = yy_current_state;
@@ -2410,17 +2416,19 @@ static int yy_get_next_buffer (void)
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 371 )
- yy_c = yy_meta[(unsigned int) yy_c];
+ yy_c = yy_meta[yy_c];
}
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
yy_is_jam = (yy_current_state == 370);
return yy_is_jam ? 0 : yy_current_state;
}
+#ifndef YY_NO_UNPUT
/* %if-c-only */
/* %endif */
+#endif
/* %if-c-only */
#ifndef YY_NO_INPUT
@@ -2450,7 +2458,7 @@ static int yy_get_next_buffer (void)
else
{ /* need more input */
- yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
+ int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
++(yy_c_buf_p);
switch ( yy_get_next_buffer( ) )
@@ -2467,14 +2475,14 @@ static int yy_get_next_buffer (void)
*/
/* Reset buffer status. */
- yyrestart(yyin );
+ yyrestart( yyin );
/*FALLTHROUGH*/
case EOB_ACT_END_OF_FILE:
{
- if ( yywrap( ) )
- return EOF;
+ if ( yywrap( ) )
+ return 0;
if ( ! (yy_did_buffer_switch_on_eof) )
YY_NEW_FILE;
@@ -2498,7 +2506,7 @@ static int yy_get_next_buffer (void)
/* %% [19.0] update BOL and yylineno */
if ( c == '\n' )
-
+
yylineno++;
;
@@ -2523,13 +2531,16 @@ static int yy_get_next_buffer (void)
if ( ! YY_CURRENT_BUFFER ){
yyensure_buffer_stack ();
YY_CURRENT_BUFFER_LVALUE =
- yy_create_buffer(yyin,YY_BUF_SIZE );
+ yy_create_buffer( yyin, YY_BUF_SIZE );
}
- yy_init_buffer(YY_CURRENT_BUFFER,input_file );
- yy_load_buffer_state( );
+ yy_init_buffer( YY_CURRENT_BUFFER, input_file );
+ yy_load_buffer_state( );
}
+/* %if-c++-only */
+/* %endif */
+
/** Switch to a different input buffer.
* @param new_buffer The new input buffer.
*
@@ -2559,7 +2570,7 @@ static int yy_get_next_buffer (void)
}
YY_CURRENT_BUFFER_LVALUE = new_buffer;
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
/* We don't actually know whether we did this switch during
* EOF (yywrap()) processing, but the only time this flag
@@ -2577,7 +2588,11 @@ static void yy_load_buffer_state (void)
{
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+/* %if-c-only */
yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+/* %endif */
+/* %if-c++-only */
+/* %endif */
(yy_hold_char) = *(yy_c_buf_p);
}
@@ -2595,7 +2610,7 @@ static void yy_load_buffer_state (void)
{
YY_BUFFER_STATE b;
- b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
@@ -2604,17 +2619,20 @@ static void yy_load_buffer_state (void)
/* yy_ch_buf has to be 2 characters longer than the size given because
* we need to put in 2 end-of-buffer characters.
*/
- b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
+ b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
b->yy_is_our_buffer = 1;
- yy_init_buffer(b,file );
+ yy_init_buffer( b, file );
return b;
}
+/* %if-c++-only */
+/* %endif */
+
/** Destroy the buffer.
* @param b a buffer created with yy_create_buffer()
*
@@ -2633,9 +2651,9 @@ static void yy_load_buffer_state (void)
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
if ( b->yy_is_our_buffer )
- yyfree((void *) b->yy_ch_buf );
+ yyfree( (void *) b->yy_ch_buf );
- yyfree((void *) b );
+ yyfree( (void *) b );
}
/* Initializes or reinitializes a buffer.
@@ -2651,9 +2669,13 @@ static void yy_load_buffer_state (void)
{
int oerrno = errno;
- yy_flush_buffer(b );
+ yy_flush_buffer( b );
+/* %if-c-only */
b->yy_input_file = file;
+/* %endif */
+/* %if-c++-only */
+/* %endif */
b->yy_fill_buffer = 1;
/* If b is the current buffer, then yy_init_buffer was _probably_
@@ -2667,7 +2689,7 @@ static void yy_load_buffer_state (void)
/* %if-c-only */
- b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+ b->yy_is_interactive = 0;
/* %endif */
/* %if-c++-only */
@@ -2703,7 +2725,7 @@ static void yy_load_buffer_state (void)
b->yy_buffer_status = YY_BUFFER_NEW;
if ( b == YY_CURRENT_BUFFER )
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
}
/* %if-c-or-c++ */
@@ -2739,7 +2761,7 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
YY_CURRENT_BUFFER_LVALUE = new_buffer;
/* copied from yy_switch_to_buffer. */
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
/* %endif */
@@ -2764,7 +2786,7 @@ void yypop_buffer_state (void)
--(yy_buffer_stack_top);
if (YY_CURRENT_BUFFER) {
- yy_load_buffer_state( );
+ yy_load_buffer_state( );
(yy_did_buffer_switch_on_eof) = 1;
}
}
@@ -2788,15 +2810,15 @@ static void yyensure_buffer_stack (void)
* scanner will even need a stack. We use 2 instead of 1 to avoid an
* immediate realloc on the next call.
*/
- num_to_alloc = 1;
+ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
);
if ( ! (yy_buffer_stack) )
YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
+
memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-
+
(yy_buffer_stack_max) = num_to_alloc;
(yy_buffer_stack_top) = 0;
return;
@@ -2805,7 +2827,7 @@ static void yyensure_buffer_stack (void)
if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
/* Increase the buffer to prepare for a possible push. */
- int grow_size = 8 /* arbitrary grow size */;
+ yy_size_t grow_size = 8 /* arbitrary grow size */;
num_to_alloc = (yy_buffer_stack_max) + grow_size;
(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
@@ -2827,7 +2849,7 @@ static void yyensure_buffer_stack (void)
* @param base the character buffer
* @param size the size in bytes of the character buffer
*
- * @return the newly allocated buffer state object.
+ * @return the newly allocated buffer state object.
*/
YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
{
@@ -2837,23 +2859,23 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
/* They forgot to leave room for the EOB's. */
- return 0;
+ return NULL;
- b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
+ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
- b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
b->yy_buf_pos = b->yy_ch_buf = base;
b->yy_is_our_buffer = 0;
- b->yy_input_file = 0;
+ b->yy_input_file = NULL;
b->yy_n_chars = b->yy_buf_size;
b->yy_is_interactive = 0;
b->yy_at_bol = 1;
b->yy_fill_buffer = 0;
b->yy_buffer_status = YY_BUFFER_NEW;
- yy_switch_to_buffer(b );
+ yy_switch_to_buffer( b );
return b;
}
@@ -2868,10 +2890,10 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
* @note If you want to scan bytes that may contain NUL values, then use
* yy_scan_bytes() instead.
*/
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
+YY_BUFFER_STATE yy_scan_string (const char * yystr )
{
- return yy_scan_bytes(yystr,strlen(yystr) );
+ return yy_scan_bytes( yystr, (int) strlen(yystr) );
}
/* %endif */
@@ -2883,7 +2905,7 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
*
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
+YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
{
YY_BUFFER_STATE b;
char *buf;
@@ -2891,8 +2913,8 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len
int i;
/* Get memory for full buffer, including space for trailing EOB's. */
- n = _yybytes_len + 2;
- buf = (char *) yyalloc(n );
+ n = (yy_size_t) (_yybytes_len + 2);
+ buf = (char *) yyalloc( n );
if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
@@ -2901,7 +2923,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
- b = yy_scan_buffer(buf,n );
+ b = yy_scan_buffer( buf, n );
if ( ! b )
YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
@@ -2915,7 +2937,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len
/* %endif */
/* %if-c-only */
- static void yy_push_state (int new_state )
+ static void yy_push_state (int _new_state )
/* %endif */
/* %if-c++-only */
/* %endif */
@@ -2925,13 +2947,14 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len
yy_size_t new_size;
(yy_start_stack_depth) += YY_START_STACK_INCR;
- new_size = (yy_start_stack_depth) * sizeof( int );
+ new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
if ( ! (yy_start_stack) )
- (yy_start_stack) = (int *) yyalloc(new_size );
+ (yy_start_stack) = (int *) yyalloc( new_size );
else
- (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size );
+ (yy_start_stack) = (int *) yyrealloc(
+ (void *) (yy_start_stack), new_size );
if ( ! (yy_start_stack) )
YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
@@ -2939,7 +2962,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len
(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
- BEGIN(new_state);
+ BEGIN(_new_state);
}
/* %if-c-only */
@@ -2959,9 +2982,9 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len
#endif
/* %if-c-only */
-static void yy_fatal_error (yyconst char* msg )
+static void yynoreturn yy_fatal_error (const char* msg )
{
- (void) fprintf( stderr, "%s\n", msg );
+ fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE );
}
/* %endif */
@@ -2996,7 +3019,7 @@ static void yy_fatal_error (yyconst char* msg )
*/
int yyget_lineno (void)
{
-
+
return yylineno;
}
@@ -3019,7 +3042,7 @@ FILE *yyget_out (void)
/** Get the length of the current token.
*
*/
-yy_size_t yyget_leng (void)
+int yyget_leng (void)
{
return yyleng;
}
@@ -3037,29 +3060,29 @@ char *yyget_text (void)
/* %endif */
/** Set the current line number.
- * @param line_number
+ * @param _line_number line number
*
*/
-void yyset_lineno (int line_number )
+void yyset_lineno (int _line_number )
{
- yylineno = line_number;
+ yylineno = _line_number;
}
/** Set the input stream. This does not discard the current
* input buffer.
- * @param in_str A readable stream.
+ * @param _in_str A readable stream.
*
* @see yy_switch_to_buffer
*/
-void yyset_in (FILE * in_str )
+void yyset_in (FILE * _in_str )
{
- yyin = in_str ;
+ yyin = _in_str ;
}
-void yyset_out (FILE * out_str )
+void yyset_out (FILE * _out_str )
{
- yyout = out_str ;
+ yyout = _out_str ;
}
int yyget_debug (void)
@@ -3067,9 +3090,9 @@ int yyget_debug (void)
return yy_flex_debug;
}
-void yyset_debug (int bdebug )
+void yyset_debug (int _bdebug )
{
- yy_flex_debug = bdebug ;
+ yy_flex_debug = _bdebug ;
}
/* %endif */
@@ -3089,10 +3112,10 @@ static int yy_init_globals (void)
/* We do not touch yylineno unless the option is enabled. */
yylineno = 1;
- (yy_buffer_stack) = 0;
+ (yy_buffer_stack) = NULL;
(yy_buffer_stack_top) = 0;
(yy_buffer_stack_max) = 0;
- (yy_c_buf_p) = (char *) 0;
+ (yy_c_buf_p) = NULL;
(yy_init) = 0;
(yy_start) = 0;
@@ -3105,8 +3128,8 @@ static int yy_init_globals (void)
yyin = stdin;
yyout = stdout;
#else
- yyin = (FILE *) 0;
- yyout = (FILE *) 0;
+ yyin = NULL;
+ yyout = NULL;
#endif
/* For future reference: Set errno on error, since we are called by
@@ -3123,7 +3146,7 @@ int yylex_destroy (void)
/* Pop the buffer stack, destroying each element. */
while(YY_CURRENT_BUFFER){
- yy_delete_buffer(YY_CURRENT_BUFFER );
+ yy_delete_buffer( YY_CURRENT_BUFFER );
YY_CURRENT_BUFFER_LVALUE = NULL;
yypop_buffer_state();
}
@@ -3133,7 +3156,7 @@ int yylex_destroy (void)
(yy_buffer_stack) = NULL;
/* Destroy the start condition stack. */
- yyfree((yy_start_stack) );
+ yyfree( (yy_start_stack) );
(yy_start_stack) = NULL;
/* Reset the globals. This is important in a non-reentrant scanner so the next time
@@ -3151,18 +3174,19 @@ int yylex_destroy (void)
*/
#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+static void yy_flex_strncpy (char* s1, const char * s2, int n )
{
- register int i;
+
+ int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
}
#endif
#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
+static int yy_flex_strlen (const char * s )
{
- register int n;
+ int n;
for ( n = 0; s[n]; ++n )
;
@@ -3172,11 +3196,12 @@ static int yy_flex_strlen (yyconst char * s )
void *yyalloc (yy_size_t size )
{
- return (void *) malloc( size );
+ return malloc(size);
}
void *yyrealloc (void * ptr, yy_size_t size )
{
+
/* The cast to (char *) in the following accommodates both
* implementations that use char* generic pointers, and those
* that use void* generic pointers. It works with the latter
@@ -3184,12 +3209,12 @@ void *yyrealloc (void * ptr, yy_size_t size )
* any pointer type to void*, and deal with argument conversions
* as though doing an assignment.
*/
- return (void *) realloc( (char *) ptr, size );
+ return realloc(ptr, size);
}
void yyfree (void * ptr )
{
- free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
+ free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
}
/* %if-tables-serialization definitions */
@@ -3199,8 +3224,7 @@ void yyfree (void * ptr )
/* %ok-for-header */
-#line 352 "lexer.l"
-
+#line 353 "lexer.l"
/*:511*/
diff --git a/Build/source/texk/web2c/hitexdir/hiparser.c b/Build/source/texk/web2c/hitexdir/hiparser.c
index 51e57115117..7358673849b 100644
--- a/Build/source/texk/web2c/hitexdir/hiparser.c
+++ b/Build/source/texk/web2c/hitexdir/hiparser.c
@@ -69,7 +69,7 @@
/* First part of user prologue. */
#line 2 "parser.y"
- #line 10314 "format.w"
+ #line 10318 "format.w"
#include "hibasetypes.h"
#include <string.h>
@@ -93,11 +93,11 @@ uint32_t definition_bits[0x100/32][32]= {
QUIT("Reference %d to %s before definition",(N),definition_name[K])
/*:358*/ /*362:*/
#define DEF_REF(D,K,M,N) DEF(D,K,M);\
-if ((M)>max_default[K]) QUIT("Defining non default reference %d for %s",M,definition_name[K]); \
-if ((N)>max_fixed[K]) QUIT("Defining reference %d for %s by non fixed reference %d",M,definition_name[K],N);
+if ((int)(M)>max_default[K]) QUIT("Defining non default reference %d for %s",M,definition_name[K]); \
+if ((int)(N)>max_fixed[K]) QUIT("Defining reference %d for %s by non fixed reference %d",M,definition_name[K],N);
/*:362*/
-extern void hset_entry(entry_t*e,uint16_t i,uint32_t size,
+extern void hset_entry(Entry*e,uint16_t i,uint32_t size,
uint32_t xsize,char*file_name);
/*425:*/
@@ -111,7 +111,7 @@ extern int yydebug;
extern int yylex(void);
/*354:*/
-void hset_max(kind_t k,int n)
+void hset_max(Kind k,int n)
{
#line 7470 "format.w"
DBG(DBGDEF,"Setting max %s to %d\n",definition_name[k],n);
@@ -120,7 +120,7 @@ void hset_max(kind_t k,int n)
max_ref[k]= n;
}
/*:354*/ /*365:*/
-void check_param_def(ref_t*df)
+void check_param_def(Ref*df)
{
#line 7776 "format.w"
if(df->k!=int_kind&&df->k!=dimen_kind&&df->k!=glue_kind)
@@ -3350,13 +3350,13 @@ yyreduce:
#line 7444 "format.w"
/*245:*/
if(max_ref[label_kind]>=0)
- ALLOCATE(labels,max_ref[label_kind]+1,label_t);
+ ALLOCATE(labels,max_ref[label_kind]+1,Label);
/*:245*/ /*266:*/
if(max_outline>=0)
- ALLOCATE(outlines,max_outline+1,outline_t);
+ ALLOCATE(outlines,max_outline+1,Outline);
/*:266*/ /*293:*/
ALLOCATE(page_on,max_ref[page_kind]+1,int);
- ALLOCATE(range_pos,2*(max_ref[range_kind]+1),range_pos_t);
+ ALLOCATE(range_pos,2*(max_ref[range_kind]+1),RangePos);
/*:293*/ /*359:*/
definition_bits[0][int_kind]= (1<<(MAX_INT_DEFAULT+1))-1;
definition_bits[0][dimen_kind]= (1<<(MAX_DIMEN_DEFAULT+1))-1;
diff --git a/Build/source/texk/web2c/hitexdir/hiparser.h b/Build/source/texk/web2c/hitexdir/hiparser.h
index 4ab634ab407..db09c4e2042 100644
--- a/Build/source/texk/web2c/hitexdir/hiparser.h
+++ b/Build/source/texk/web2c/hitexdir/hiparser.h
@@ -147,12 +147,12 @@ union YYSTYPE
{
#line 79 "parser.y"
- #line 10339 "format.w"
- uint32_t u; int32_t i; char *s; float64_t f; glyph_t c;
- dimen_t d;stretch_t st;xdimen_t xd;kern_t kt;
- rule_t r;glue_t g;image_t x;
- list_t l;box_t h;disc_t dc;lig_t lg;
- ref_t rf;info_t info;order_t o;bool b;
+ #line 10343 "format.w"
+ uint32_t u; int32_t i; char *s; float64_t f; Glyph c;
+ Dimen d;Stretch st;Xdimen xd;Kern kt;
+ Rule r;Glue g;Image x;
+ List l;Box h;Disc dc;Lig lg;
+ Ref rf;Info info;Order o;bool b;
#line 159 "hiparser.h"
diff --git a/Build/source/texk/web2c/hitexdir/hitex.w b/Build/source/texk/web2c/hitexdir/hitex.w
index 0896164d255..ef5442721e3 100644
--- a/Build/source/texk/web2c/hitexdir/hitex.w
+++ b/Build/source/texk/web2c/hitexdir/hitex.w
@@ -30524,8 +30524,8 @@ static int next_label(void)
overflow("labels",0xFFFF);
if (label_no>=labels_allocated)
{ if (labels_allocated==0)
- { labels_allocated=32; ALLOCATE(labels,labels_allocated,label_t); }
- else RESIZE(labels,labels_allocated,label_t);
+ { labels_allocated=32; ALLOCATE(labels,labels_allocated,Label); }
+ else RESIZE(labels,labels_allocated,Label);
}
max_ref[label_kind]=label_no;
return label_no;
@@ -30539,8 +30539,8 @@ static int next_outline(void)
overflow("outlines",0xFFFF);
if (outline_no>=outlines_allocated)
{ if (outlines_allocated==0)
- { outlines_allocated=32; ALLOCATE(outlines,outlines_allocated,outline_t); }
- else RESIZE(outlines,outlines_allocated,outline_t);
+ { outlines_allocated=32; ALLOCATE(outlines,outlines_allocated,Outline); }
+ else RESIZE(outlines,outlines_allocated,Outline);
}
max_outline=outline_no;
return outline_no;
@@ -30554,13 +30554,13 @@ the hash table.
@<Hi\TeX\ auxiliar routines@>=
typedef struct hash_entry
-{int num; char *nom; uint16_t n; struct hash_entry *next;} hash_entry_t;
+{int num; char *nom; uint16_t n; struct hash_entry *next;} HashEntry;
#define LABEL_HASH 1009 /* MIX a prime number */
-static hash_entry_t *label_hash[LABEL_HASH]={NULL};
+static HashEntry *label_hash[LABEL_HASH]={NULL};
static int insert_hash(int h, int num, char *nom)
-{ hash_entry_t *e;
- ALLOCATE(e,1,hash_entry_t);
+{ HashEntry *e;
+ ALLOCATE(e,1,HashEntry);
e->n= next_label();
if (nom!=NULL) e->nom=strdup(nom);
else e->num=num;
@@ -30579,7 +30579,7 @@ The process is straigth forward:
@<Hi\TeX\ auxiliar routines@>=
static int find_label_by_number(int p)
{ unsigned int h=(unsigned int)p%LABEL_HASH;
- hash_entry_t *e= label_hash[h];
+ HashEntry *e= label_hash[h];
while (e!=NULL)
if (e->nom==NULL && e->num==p) return e->n;
else e=e->next;
@@ -30625,7 +30625,7 @@ static unsigned int name_hash(char *s)
static int find_label_by_name(pointer p)
{ char *s=tokens_to_name(link(p));
unsigned int h=name_hash(s)%LABEL_HASH;
- hash_entry_t *e= label_hash[h];
+ HashEntry *e= label_hash[h];
while (e!=NULL)
if (e->nom!=NULL && strcmp(e->nom,s)==0) return e->n;
else e=e->next;
@@ -30699,7 +30699,7 @@ the UTF8 character codes and display those.
static void new_outline(pointer p)
{ int r=find_label(p);
int m=next_outline();
- list_t l;
+ List l;
uint32_t pos;
pos=hpos-hstart;
l.k=list_kind; /* this eventually should be |text_kind| */
@@ -31723,7 +31723,7 @@ for (i=3; i<= max_section_no;i++)
i++;
if (i>0xFFFF) QUIT("Too many file sections");
if (i>=dir_entries)
- RESIZE(dir,dir_entries,entry_t);
+ RESIZE(dir,dir_entries,Entry);
max_section_no=i;
if (max_section_no>0xFFFF) QUIT("Too many sections");
dir[i].section_no=i;
@@ -31958,14 +31958,14 @@ will then add the reference number and both tags to the output.
@<Hi\TeX\ macros@>=
#define HPUTDEF(F,R) \
{ uint32_t _p; \
- uint8_t _t; \
+ uint8_t _f; \
HPUTNODE; /* allocate */ \
_p=hpos-hstart; \
HPUT8(0); /* tag */ \
HPUT8(R); /* reference */ \
- _t=F; \
- hstart[_p]=_t; DBGTAG(_t,hstart+_p); \
- DBGTAG(_t,hpos); HPUT8(_t); \
+ _f=F; \
+ hstart[_p]=_f; DBGTAG(_f,hstart+_p); \
+ DBGTAG(_f,hpos); HPUT8(_f); \
}
@ Definitions are written to the output only if they differ from Hi\TeX's built in defaults.
@<Output integer definitions@>=
@@ -32081,7 +32081,7 @@ static pointer new_xdimen(scaled w, scaled h, scaled v)
@ @<Output extended dimension definitions@>=
DBG(DBGDEF,"Maximum xdimen reference: %d\n",max_ref[xdimen_kind]);
for (i=max_fixed[xdimen_kind]+1;i<=max_default[xdimen_kind]; i++)
- { xdimen_t x;
+ { Xdimen x;
x.w=xdimen_defined[i].w;
x.h=xdimen_defined[i].h/(double)ONE;
x.v=xdimen_defined[i].v/(double)ONE;
@@ -32092,7 +32092,7 @@ static pointer new_xdimen(scaled w, scaled h, scaled v)
HPUTDEF(hput_xdimen(&x),i);
}
for (;i<=max_ref[xdimen_kind]; i++)
- { xdimen_t x;
+ { Xdimen x;
x.w=xdimen_defined[i].w;
x.h=xdimen_defined[i].h/(double)ONE;
x.v=xdimen_defined[i].v/(double)ONE;
@@ -32103,7 +32103,7 @@ static pointer new_xdimen(scaled w, scaled h, scaled v)
In general there are two choices on how to store a definition: We can use the data structures used by \TeX\
or we can use the data structures defined by \HINT. If we are lucky, both of them are the same
as we have seen for integers and dimensions. For extended dimensions, we had to use the \HINT\ data type
-|xdimen_t| because \TeX\ has no corresponding data type and uses only reference numbers.
+|Xdimen| because \TeX\ has no corresponding data type and uses only reference numbers.
In the case of glue, we definitely have a choice. We decide to use \TeX's pointers to glue specifications
in the hope to save some work when comparing glues for equality, because \TeX\ already reuses
glue specifications and often a simple comparison of pointers might suffice.
@@ -32147,7 +32147,7 @@ int glue_equal(pointer p, pointer q)
{ return p==q || glue_spec_equal(p,q);
}
-int glue_t_equal(glue_t *p, glue_t *q)
+int Glue_equal(Glue *p, Glue *q)
{ return(p->w.w==q->w.w && p->w.h==q->w.h && p->w.v==q->w.v &&
p->p.f== q->p.f && p->m.f==q->m.f &&
(p->p.o==q->p.o || p->p.f==0.0) &&
@@ -32193,9 +32193,9 @@ static int hget_glue_no(pointer p)
@ @<Output glue definitions@>=
DBG(DBGDEF,"Maximum glue reference: %d\n",max_ref[glue_kind]);
for (i=max_fixed[glue_kind]+1;i<=max_default[glue_kind]; i++)
- { glue_t g;
- to_glue_t(glue_defined[i],&g);
- if (!glue_t_equal(&g,&glue_defaults[i]))
+ { Glue g;
+ to_Glue(glue_defined[i],&g);
+ if (!Glue_equal(&g,&glue_defaults[i]))
HPUTDEF(hput_glue(&g),i);
}
for (;i<=max_ref[glue_kind]; i++)
@@ -32212,7 +32212,7 @@ a regular glue or kern.
% deallocation of glue specs is relatively simple
% extended glue and kern values can be restricted to non math mode
@<Hi\TeX\ auxiliar routines@>=
-void to_glue_t(pointer p, glue_t *g)
+void to_Glue(pointer p, Glue *g)
{ g->w.w=width(p);
g->w.h=g->w.v=0.0;
g->p.f=stretch(p)/(double)ONE; g->p.o= stretch_order(p);
@@ -32226,9 +32226,9 @@ and the solution here is the same: a dynamicaly allocated array.
typedef struct {
pointer ls, bs; /* line skip and baselineskip gluespecs */
scaled lsl; /* lineskip limit */
-} bl_defined_t;
+} bl_definition;
-static bl_defined_t *bl_defined=NULL;
+static bl_definition *bl_defined=NULL;
static int bl_used=0,bl_allocated=0;
@ The zero baseline skip is predefined which prevents an ambiguous info value of zero
@@ -32236,7 +32236,7 @@ in a baseline node.
@<Initialize definitions for baseline skips@>=
bl_allocated=8;
- ALLOCATE(bl_defined,bl_allocated,bl_defined_t);
+ ALLOCATE(bl_defined,bl_allocated,bl_definition);
bl_defined[zero_baseline_no].bs=zero_glue; incr(glue_ref_count(zero_glue));
bl_defined[zero_baseline_no].ls=zero_glue; incr(glue_ref_count(zero_glue));
bl_defined[zero_baseline_no].lsl=0;
@@ -32248,7 +32248,7 @@ int hget_baseline_no(pointer bs, pointer ls, scaled lsl)
static int rover=0;
int i;
for(i=0; i< bl_used; i++) /* search for an existing spec */
- { bl_defined_t *q=&(bl_defined[rover]);
+ { bl_definition *q=&(bl_defined[rover]);
if (glue_equal(bs,q->bs) && glue_equal(ls,q->ls) && lsl==q->lsl)
return rover;
else if (rover==0)
@@ -32257,7 +32257,7 @@ int hget_baseline_no(pointer bs, pointer ls, scaled lsl)
rover--;
}
if (bl_used>=bl_allocated)
- RESIZE(bl_defined,bl_allocated, bl_defined_t);
+ RESIZE(bl_defined,bl_allocated, bl_definition);
rover=bl_used++;
if (rover<0x100 && section_no==2) max_ref[baseline_kind]=rover;
if (glue_equal(bs,zero_glue))
@@ -32277,7 +32277,7 @@ baselinedefinitions are output after the glue definitions. This is not perfect.
@<Hi\TeX\ auxiliar routines@>=
static uint8_t hout_glue_spec(pointer p);
uint8_t hout_baselinespec(int n)
-{ info_t i=b000;
+{ Info i=b000;
pointer p;
scaled s;
s=bl_defined[n].lsl;
@@ -32451,7 +32451,7 @@ int pl_head=-1, *pl_tail=&pl_head;
@<Hi\TeX\ routines@>=
-static uint32_t hparam_list_hash(list_t *l)
+static uint32_t hparam_list_hash(List *l)
{ uint32_t h=0;
uint32_t i;
for (i=0;i<l->s;i++)
@@ -32459,7 +32459,7 @@ static uint32_t hparam_list_hash(list_t *l)
return i;
}
-static bool pl_equal(list_t *l, uint8_t *p)
+static bool pl_equal(List *l, uint8_t *p)
{ uint8_t *q=hstart+l->p;
uint32_t i;
for (i=0; i<l->s; i++)
@@ -32467,12 +32467,12 @@ static bool pl_equal(list_t *l, uint8_t *p)
return true;
}
-static void pl_copy(list_t *l, uint8_t *p)
+static void pl_copy(List *l, uint8_t *p)
{ uint8_t *q=hstart+l->p;
memcpy(p,q,l->s);
}
-static int hget_param_list_no(list_t *l)
+static int hget_param_list_no(List *l)
{ uint32_t h;
int i;
if (l->s<=0) return -1;
@@ -32534,9 +32534,9 @@ parameter lists sorted by their reference number.
HPUTTAG(param_kind,j+1);
}
@*1 Fonts.
-To store a font definition, we define the data type |font_t|
+To store a font definition, we define the data type |Font|
and an array |hfonts| of pointers indexed by \HINT\ font numbers.
-To map \HINT\ font numbers to \TeX\ font numbers, the |font_t| contains
+To map \HINT\ font numbers to \TeX\ font numbers, the |Font| contains
the |i| field; to map \TeX\ font numbers to \HINT\ font numbers,
we use the array |hmap_font|.
@@ -32550,17 +32550,17 @@ typedef struct {
pointer p[MAX_FONT_PARAMS]; /* font parameters */
uint16_t m; /* section number of font metric file */
uint16_t y; /* section number of font glyph file */
-} font_t;
+} Font;
-static font_t *hfonts[MAX_FONTS]={NULL};
+static Font *hfonts[MAX_FONTS]={NULL};
static int hmap_font[MAX_FONTS];
@ @<Initialize definitions for fonts@>=
for (i=0;i<0x100;i++) hmap_font[i]=-1;
max_ref[font_kind]=-1;
-@ Allocation of a |font_t| record takes place when we translate a \TeX\ font
+@ Allocation of a |Font| record takes place when we translate a \TeX\ font
number to a \HINT\ font number using the function |hget_font_no|, and while
doing so discover that the corresponding \HINT\ font number does not yet exist.
-Because the |font_t| structure must be initialized after allocating it,
+Because the |Font| structure must be initialized after allocating it,
we start with some auxiliar routines for that purpose.
@<Hi\TeX\ auxiliar routines@>=
@@ -32655,7 +32655,7 @@ static uint8_t hget_font_no(uint8_t f)
if (max_ref[font_kind]>=0x100)
QUIT("too many fonts in use");
g = ++(max_ref[font_kind]);
- ALLOCATE(hfonts[g],1,font_t);
+ ALLOCATE(hfonts[g],1,Font);
hfonts[g]->i=f;
hmap_font[f]=g;
hfonts[g]->g=hget_font_space(f);
@@ -32695,10 +32695,10 @@ static void ensure_font_no(pointer p)
{ int f;
DBG(DBGDEF,"Defining %d fonts\n",max_ref[font_kind]+1);
for (f=0;f<=max_ref[font_kind];f++)
- { font_t *hf=hfonts[f];
+ { Font *hf=hfonts[f];
internal_font_number g=hf->i;
uint32_t pos=hpos-hstart;
- info_t i= b000;
+ Info i= b000;
DBG(DBGDEF,"Defining font %d size 0x%x\n",f,font_size[g]);
hpos++; HPUTNODE; /* space for the tag and the node */
HPUT8(f); /* reference */
@@ -32744,12 +32744,12 @@ void hout_string(int s)
#define HPUTCONTENT(F,D) \
{ uint8_t *_p; \
- uint8_t _t; \
+ uint8_t _f; \
HPUTNODE; /* allocate */ \
_p=hpos++; /* tag */ \
- _t=F(D); \
- *_p=_t; DBGTAG(_t,_p); \
- DBGTAG(_t,hpos); HPUT8(_t); \
+ _f=F(D); \
+ *_p=_f; DBGTAG(_f,_p); \
+ DBGTAG(_f,hpos); HPUT8(_f); \
}
@*1 Labels.
The only label that must always exist is the zero label. It is used
@@ -32866,13 +32866,13 @@ static void hout_node(pointer p)
@*1 Characters.
The processing of a character node consist of three steps: checking for definitions, converting the
-\TeX\ node pointed to by |p| to a \HINT\ data type, here a |glyph_t|, and using the
+\TeX\ node pointed to by |p| to a \HINT\ data type, here a |Glyph|, and using the
corresponding {\tt hput\_\,\dots} function to output the node and return the |tag|.
In the following, we will see the same approach in many
small variations for all kinds of nodes.
@<output a character node@>=
-{ glyph_t g;
+{ Glyph g;
g.f=hget_font_no(font(p));
g.c = character(p);
tag=hput_glyph(&g);
@@ -32899,7 +32899,7 @@ The kern nodes of \TeX\ contain a single dimension and a flag to mark ``explicit
{ int n;
n=hget_dimen_no(width(p));
if (n<0)
- { kern_t k;
+ { Kern k;
k.x=(subtype(p)==explicit);
k.d.w=width(p);
k.d.h=k.d.v=0.0;
@@ -32921,7 +32921,7 @@ otherwise it outputs the extended dimension and returns true.
@<Hi\TeX\ auxiliar routines@>=
void hout_xdimen_node(pointer p)
-{ xdimen_t x;
+{ Xdimen x;
x.w=xdimen_width(p);
x.h=xdimen_hfactor(p)/(double)ONE;
x.v=xdimen_vfactor(p)/(double)ONE;
@@ -33007,7 +33007,7 @@ to get the same behavior in respect to line breaking.
@<cases to output content nodes@>=
case math_node:
- { kern_t k;
+ { Kern k;
k.x=true;
k.d.w=width(p);
k.d.h=k.d.v=0.0;
@@ -33035,14 +33035,14 @@ to get the same behavior in respect to line breaking.
@*1 Glue and Leaders.
Because glue specifications and glue nodes are sometimes part of other
nodes, we start with three auxiliar functions: The first simply
-converts a Hi\TeX\ glue node into a \HINT\ |glue_t|, outputs it and
+converts a Hi\TeX\ glue node into a \HINT\ |Glue|, outputs it and
returns the tag; the second checks for predefined glues, and the third
outputs a complete glue node including tags.
@<Hi\TeX\ auxiliar routines@>=
static uint8_t hout_glue_spec(pointer p)
-{ @+glue_t g;
- to_glue_t(p,&g);
+{ @+Glue g;
+ to_Glue(p,&g);
return hput_glue(&g);@+
}
@@ -33086,12 +33086,12 @@ static void hout_glue_node(pointer p)
@*1 Discretionary breaks.
Discretionary breaks are needed in font descriptions.
Therefore we define a function that converts \TeX's |disc_node| pointers
-to \HINT's |disc_t|, outputs the discretionary break, and returns the tag.
+to \HINT's |Disc|, outputs the discretionary break, and returns the tag.
@<Hi\TeX\ auxiliar routines@>=
uint8_t hout_disc(pointer p)
-{ disc_t h;
+{ Disc h;
h.x=!is_auto_disc(p);
h.r=replace_count(p);
if (h.x) h.r|=0x80;
@@ -33131,7 +33131,7 @@ programms and neither attempt hyphenation.
@<cases to output content nodes@>=
case ligature_node:
- { lig_t l;
+ { Lig l;
pointer q;
l.f=hget_font_no(font(lig_char(p)));
HPUT8(l.f);
@@ -33149,7 +33149,7 @@ programms and neither attempt hyphenation.
@*1 Rules.
@<cases to output content nodes@>=
case rule_node:
- { rule_t r;
+ { Rule r;
if (is_running(height(p))) r.h=RUNNING_DIMEN; else r.h=height(p);
if (is_running(depth(p))) r.d=RUNNING_DIMEN; else r.d=depth(p);
if (is_running(width(p))) r.w=RUNNING_DIMEN; else r.w=width(p);
@@ -33197,8 +33197,8 @@ signal ``use the defaults''.
@<output stream content@>=
{ int k,n;
uint32_t pos;
- list_t l;
- info_t i=b000;
+ List l;
+ Info i=b000;
k=subtype(p);
n=hget_stream_no(k);
HPUT8(n);
@@ -33262,10 +33262,10 @@ the function |hout_param_list| is writing the parameter list to the output.
@<cases to output whatsit content nodes@>=
case graf_node:
{ uint32_t pos, xpos, xsize;
- list_t l;
+ List l;
pointer q;
int n,m;
- info_t i=b000;
+ Info i=b000;
q=graf_extent(p);
n=hget_xdimen_no(q);
if (n>=0) HPUT8(n);
@@ -33307,9 +33307,9 @@ case graf_node:
@<cases to output whatsit content nodes@>=
case disp_node:
{ uint32_t pos;
- list_t l;
+ List l;
int n;
- info_t i=b000;
+ Info i=b000;
pos=hpos-hstart;
l.k=param_kind;
n=hout_param_list(display_params(p),pos,&l);
@@ -33336,9 +33336,9 @@ conntent when in fact they can not.
@<cases to output whatsit content nodes@>=
case hset_node:
case vset_node:
- { kind_t k= subtype(p)==hset_node?hset_kind:vset_kind;
- info_t i=b000;
- stretch_t s;
+ { Kind k= subtype(p)==hset_node?hset_kind:vset_kind;
+ Info i=b000;
+ Stretch s;
int n=set_extent(p);
i|=hput_box_dimen(height(p),depth(p),width(p));
i|=hput_box_shift(shift_amount(p));
@@ -33353,8 +33353,8 @@ conntent when in fact they can not.
break;
case hpack_node:
case vpack_node:
- { kind_t k= (subtype(p)==hpack_node?hpack_kind:vpack_kind);
- info_t i=b000;
+ { Kind k= (subtype(p)==hpack_node?hpack_kind:vpack_kind);
+ Info i=b000;
int n=pack_extent(p);
if (pack_m(p)==additional) i|=b001;
if (shift_amount(p)!=0) { HPUT32(shift_amount(p)); i|=b010; }
@@ -33368,7 +33368,7 @@ conntent when in fact they can not.
@*1 Extended Alignments.
@<cases to output whatsit content nodes@>=
case align_node:
- { info_t i=b000;
+ { Info i=b000;
if (align_m(p)==additional) i|=b001;
if (align_v(p)) i|=b010;
if (hout_xdimen(align_extent(p))) i|=b100;
@@ -33404,7 +33404,7 @@ This is the size that is needed to compute the maximum width of a column.
@<Hi\TeX\ auxiliar routines@>=
static void hout_item(pointer p, uint8_t t, uint8_t s)
-{ info_t i=b000;
+{ Info i=b000;
uint8_t n;
n=span_count(p)+1;
DBG(DBGBASIC,"Writing Item %d/%d->%d/%d\n",type(p),n,t,s);
@@ -33420,7 +33420,7 @@ static void hout_item(pointer p, uint8_t t, uint8_t s)
static void hout_item_list(pointer p, bool v)
-{ list_t l;
+{ List l;
uint32_t pos;
DBG(DBGBASIC,"Writing Item List\n");
l.k=list_kind;
@@ -33445,7 +33445,7 @@ static void hout_item_list(pointer p, bool v)
}
void hout_align_list(pointer p, bool v)
-{ list_t l;
+{ List l;
uint32_t pos;
DBG(DBGBASIC,"Writing Align List\n");
l.k=list_kind;
@@ -33491,7 +33491,7 @@ For convenience, there is also the function |hout_list_node2| which supplies a d
@<Hi\TeX\ routines@>=
-static uint8_t hout_list(pointer p, uint32_t pos, list_t *l)
+static uint8_t hout_list(pointer p, uint32_t pos, List *l)
{ l->p=hpos-hstart;
while(p> mem_min)
{ hout_node(p);
@@ -33501,7 +33501,7 @@ static uint8_t hout_list(pointer p, uint32_t pos, list_t *l)
return hput_list(pos,l);
}
-static void hout_list_node(pointer p, uint32_t pos, list_t *l)
+static void hout_list_node(pointer p, uint32_t pos, List *l)
{
hpos=hstart+pos;
HPUTX(3);
@@ -33513,16 +33513,16 @@ static void hout_list_node(pointer p, uint32_t pos, list_t *l)
static void hout_list_node2(pointer p)
-{ list_t l;
+{ List l;
uint32_t pos;
pos=hpos-hstart;
l.k=list_kind;
hout_list_node(p,pos,&l);
}
@ @<Hi\TeX\ function declarations@>=
-static void hout_list_node(pointer p, uint32_t pos, list_t *l);
+static void hout_list_node(pointer p, uint32_t pos, List *l);
static void hout_list_node2(pointer p);
-static uint8_t hout_list(pointer p, uint32_t pos, list_t *l);
+static uint8_t hout_list(pointer p, uint32_t pos, List *l);
@*1 Parameter Lists.
The next function is like |hout_list_node| but restricted to parameter nodes.
@@ -33533,7 +33533,7 @@ The function either finds a reference number to a predefined parameter list
sets |l->k|, |l->p| and |l->s|, and returns $-1$.
@<Hi\TeX\ routines@>=
-static int hout_param_list(pointer p, uint32_t pos, list_t *l)
+static int hout_param_list(pointer p, uint32_t pos, List *l)
{ int n;
hpos=hstart+pos;
if (p==null)
@@ -33556,7 +33556,7 @@ static int hout_param_list(pointer p, uint32_t pos, list_t *l)
return n;
}
@ @<Hi\TeX\ function declarations@>=
-static int hout_param_list(pointer p, uint32_t pos, list_t *l);
+static int hout_param_list(pointer p, uint32_t pos, List *l);
@*1 Labels, Links, and Outlines.
@@ -33567,7 +33567,7 @@ are defined in {\tt put.c}.
@<cases to output whatsit content nodes@>=
case label_node: hpos--; new_label(p); return;
case start_link_node:
-{ info_t i;
+{ Info i;
int n=new_start_link(p);
i=b010;
if (n>0xFF) { i|=b001; HPUT16(n);@+} @+else HPUT8(n);
@@ -33575,7 +33575,7 @@ case start_link_node:
}
break;
case end_link_node:
-{ info_t i;
+{ Info i;
int n=new_end_link();
i=b000;
if (n>0xFF) { i|=b001; HPUT16(n);@+} @+else HPUT8(n);
@@ -33588,7 +33588,7 @@ case outline_node: hpos--; new_outline(p); return;
\indent
@<cases to output whatsit content nodes@>=
case image_node:
- { image_t i;
+ { Image i;
i.n=image_no(p);
i.w=image_width(p);
i.h=image_height(p);
@@ -33833,7 +33833,7 @@ static void usage_help(void)
@t\qquad@>"\t enable extensions required for LaTeX\n"@/
" -ini "@/
@t\qquad@>"\t be initex for dumping formats; this is\n"@/
- @t\qquad@>"\t\t\t also true if the program name is `hinitex'\n"@/
+ @t\qquad@>"\t\t\t also true if the program name is `kinitex'\n"@/
" -progname=STRING "@/
@t\qquad@>"\t set program (and fmt) name to STRING\n"@/
" -fmt=FMTNAME "@/
@@ -34572,10 +34572,6 @@ builds of documents.
static time_t start_time = ((time_t)-1);
static char *source_date_epoch,*force_source_date;
-#if defined(_MSC_VER) && _MSC_VER < 1800
-#define strtoull _strtoui64
-#endif
-
static struct tm *tl_now(void)
{@+struct tm *gmt;
time_t t;