summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-10-01 16:30:06 +0000
committerKarl Berry <karl@freefriends.org>2021-10-01 16:30:06 +0000
commit070e5192bad37b3ceee5d098ea0e8c7519986734 (patch)
treec840e50bdd779466a4b7dfd90b82baf10d320bf6
parent491c5f3e5c3e05de728b0e759fc8122ac8d47e94 (diff)
avoid lex/yacc completely for hishrink, since the .[ly] are generated anyway
git-svn-id: svn://tug.org/texlive/trunk@60666 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/Makefile.in358
-rw-r--r--Build/source/texk/web2c/hitexdir/ChangeLog20
-rw-r--r--Build/source/texk/web2c/hitexdir/am/hitex.am23
-rw-r--r--Build/source/texk/web2c/hitexdir/hishrink-lexer.l422
-rw-r--r--Build/source/texk/web2c/hitexdir/hishrink-parser.y742
5 files changed, 261 insertions, 1304 deletions
diff --git a/Build/source/texk/web2c/Makefile.in b/Build/source/texk/web2c/Makefile.in
index fcff84452dc..d3cc2ca8159 100644
--- a/Build/source/texk/web2c/Makefile.in
+++ b/Build/source/texk/web2c/Makefile.in
@@ -1387,22 +1387,28 @@ nodist_gftype_OBJECTS = gftype.$(OBJEXT)
gftype_OBJECTS = $(nodist_gftype_OBJECTS)
gftype_LDADD = $(LDADD)
gftype_DEPENDENCIES = $(proglib) $(am__DEPENDENCIES_1)
-am_hishrink_OBJECTS = hitexdir/hishrink-hishrink-lexer.$(OBJEXT) \
+nodist_hishrink_OBJECTS = hishrink-hformat.$(OBJEXT) \
+ hishrink-hishrink.$(OBJEXT) \
+ hitexdir/hishrink-hishrink-lexer.$(OBJEXT) \
hitexdir/hishrink-hishrink-parser.$(OBJEXT)
-hishrink_OBJECTS = $(am_hishrink_OBJECTS)
+hishrink_OBJECTS = $(nodist_hishrink_OBJECTS)
hishrink_DEPENDENCIES = $(am__DEPENDENCIES_1)
-histretch_SOURCES = histretch.c
-histretch_OBJECTS = histretch-histretch.$(OBJEXT)
+nodist_histretch_OBJECTS = histretch-hformat.$(OBJEXT) \
+ histretch-histretch.$(OBJEXT)
+histretch_OBJECTS = $(nodist_histretch_OBJECTS)
histretch_DEPENDENCIES = $(am__DEPENDENCIES_1)
-hitex_SOURCES = hitex.c
-hitex_OBJECTS = hitex-hitex.$(OBJEXT)
+am__objects_37 = hitex-htex.$(OBJEXT)
+am__objects_38 = hitex-hitex.$(OBJEXT)
+nodist_hitex_OBJECTS = hitex-hformat.$(OBJEXT) hitex-hput.$(OBJEXT) \
+ $(am__objects_37) $(am__objects_38)
+hitex_OBJECTS = $(nodist_hitex_OBJECTS)
hitex_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
nodist_initex_OBJECTS = initex-callexe.$(OBJEXT)
initex_OBJECTS = $(nodist_initex_OBJECTS)
initex_DEPENDENCIES =
-am__objects_37 = luatexdir/luahbtex-luatex.$(OBJEXT) \
+am__objects_39 = luatexdir/luahbtex-luatex.$(OBJEXT) \
mplibdir/luahbtex-lmplib.$(OBJEXT)
-nodist_luahbtex_OBJECTS = $(am__objects_37)
+nodist_luahbtex_OBJECTS = $(am__objects_39)
luahbtex_OBJECTS = $(nodist_luahbtex_OBJECTS)
am__DEPENDENCIES_6 = $(am__DEPENDENCIES_1)
am__DEPENDENCIES_7 = libmplibcore.a $(am__DEPENDENCIES_1) \
@@ -1413,16 +1419,16 @@ am__DEPENDENCIES_7 = libmplibcore.a $(am__DEPENDENCIES_1) \
luahbtex_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(luahbtex_CXXFLAGS) \
$(CXXFLAGS) $(luahbtex_LDFLAGS) $(LDFLAGS) -o $@
-am__objects_38 = luatexdir/luajithbtex-luatex.$(OBJEXT) \
+am__objects_40 = luatexdir/luajithbtex-luatex.$(OBJEXT) \
mplibdir/luajithbtex-lmplib.$(OBJEXT)
-nodist_luajithbtex_OBJECTS = $(am__objects_38)
+nodist_luajithbtex_OBJECTS = $(am__objects_40)
luajithbtex_OBJECTS = $(nodist_luajithbtex_OBJECTS)
luajithbtex_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(luajithbtex_CXXFLAGS) \
$(CXXFLAGS) $(luajithbtex_LDFLAGS) $(LDFLAGS) -o $@
-am__objects_39 = luatexdir/luajittex-luatex.$(OBJEXT) \
+am__objects_41 = luatexdir/luajittex-luatex.$(OBJEXT) \
mplibdir/luajittex-lmplib.$(OBJEXT)
-nodist_luajittex_OBJECTS = $(am__objects_39)
+nodist_luajittex_OBJECTS = $(am__objects_41)
luajittex_OBJECTS = $(nodist_luajittex_OBJECTS)
am__DEPENDENCIES_8 = libmplibcore.a $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
@@ -1431,9 +1437,9 @@ am__DEPENDENCIES_8 = libmplibcore.a $(am__DEPENDENCIES_1) \
luajittex_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(luajittex_LDFLAGS) $(LDFLAGS) -o $@
-am__objects_40 = luatexdir/luatex-luatex.$(OBJEXT) \
+am__objects_42 = luatexdir/luatex-luatex.$(OBJEXT) \
mplibdir/luatex-lmplib.$(OBJEXT)
-nodist_luatex_OBJECTS = $(am__objects_40)
+nodist_luatex_OBJECTS = $(am__objects_42)
luatex_OBJECTS = $(nodist_luatex_OBJECTS)
luatex_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
@@ -1459,8 +1465,8 @@ mflua_DEPENDENCIES = libmflua.a libmfluaotfcc.a $(am__DEPENDENCIES_2) \
mflua_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(mflua_LDFLAGS) $(LDFLAGS) -o $@
-am__objects_41 = mfluadir/mflua_nowin-mfluaextra.$(OBJEXT)
-nodist_mflua_nowin_OBJECTS = $(am__objects_41)
+am__objects_43 = mfluadir/mflua_nowin-mfluaextra.$(OBJEXT)
+nodist_mflua_nowin_OBJECTS = $(am__objects_43)
mflua_nowin_OBJECTS = $(nodist_mflua_nowin_OBJECTS)
mflua_nowin_DEPENDENCIES = libmflua.a libmfluaotfcc.a \
$(am__DEPENDENCIES_2) $(windowlib) $(am__DEPENDENCIES_6)
@@ -1475,8 +1481,8 @@ mfluajit_DEPENDENCIES = libmfluajit.a libmfluaotfcc.a \
mfluajit_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(mfluajit_LDFLAGS) $(LDFLAGS) -o $@
-am__objects_42 = mfluajitdir/mfluajit_nowin-mfluajitextra.$(OBJEXT)
-nodist_mfluajit_nowin_OBJECTS = $(am__objects_42)
+am__objects_44 = mfluajitdir/mfluajit_nowin-mfluajitextra.$(OBJEXT)
+nodist_mfluajit_nowin_OBJECTS = $(am__objects_44)
mfluajit_nowin_OBJECTS = $(nodist_mfluajit_nowin_OBJECTS)
mfluajit_nowin_DEPENDENCIES = libmfluajit.a libmfluaotfcc.a \
$(am__DEPENDENCIES_2) $(windowlib) $(am__DEPENDENCIES_1)
@@ -1488,8 +1494,8 @@ nodist_mft_OBJECTS = mft.$(OBJEXT)
mft_OBJECTS = $(nodist_mft_OBJECTS)
mft_LDADD = $(LDADD)
mft_DEPENDENCIES = $(proglib) $(am__DEPENDENCIES_1)
-am__objects_43 = mpost-mpxout.$(OBJEXT)
-nodist_mpost_OBJECTS = mpost-mpost.$(OBJEXT) $(am__objects_43)
+am__objects_45 = mpost-mpxout.$(OBJEXT)
+nodist_mpost_OBJECTS = mpost-mpost.$(OBJEXT) $(am__objects_45)
mpost_OBJECTS = $(nodist_mpost_OBJECTS)
mpost_DEPENDENCIES = libmplibcore.a libmplibextramath.a \
libmplibbackends.a $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
@@ -1522,12 +1528,12 @@ am__dist_pdftex_SOURCES_DIST = pdftexdir/pdftexextra.c \
pdftexdir/etex_version.h synctexdir/synctex.c \
synctexdir/synctex.h synctexdir/synctex-common.h \
synctexdir/synctex-pdftex.h
-@PDFTEX_SYNCTEX_TRUE@am__objects_44 = \
+@PDFTEX_SYNCTEX_TRUE@am__objects_46 = \
@PDFTEX_SYNCTEX_TRUE@ synctexdir/pdftex-synctex.$(OBJEXT)
dist_pdftex_OBJECTS = pdftexdir/pdftex-pdftexextra.$(OBJEXT) \
- $(am__objects_44)
-am__objects_45 = pdftex-pdftexini.$(OBJEXT) pdftex-pdftex0.$(OBJEXT)
-nodist_pdftex_OBJECTS = $(am__objects_45) pdftex-pdftex-pool.$(OBJEXT)
+ $(am__objects_46)
+am__objects_47 = pdftex-pdftexini.$(OBJEXT) pdftex-pdftex0.$(OBJEXT)
+nodist_pdftex_OBJECTS = $(am__objects_47) pdftex-pdftex-pool.$(OBJEXT)
pdftex_OBJECTS = $(dist_pdftex_OBJECTS) $(nodist_pdftex_OBJECTS)
am__DEPENDENCIES_11 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) libmd5.a
@@ -1554,20 +1560,20 @@ nodist_pltotf_OBJECTS = pltotf.$(OBJEXT)
pltotf_OBJECTS = $(nodist_pltotf_OBJECTS)
pltotf_LDADD = $(LDADD)
pltotf_DEPENDENCIES = $(proglib) $(am__DEPENDENCIES_1)
-am__objects_46 = pmpost-pmp.$(OBJEXT)
-am__objects_47 = pmpost-pmpmath.$(OBJEXT)
-am__objects_48 = pmpost-pmpmathbinary.$(OBJEXT)
-am__objects_49 = pmpost-pmpmathdecimal.$(OBJEXT)
-am__objects_50 = pmpost-pmpmathdouble.$(OBJEXT)
-am__objects_51 = pmpost-pmpstrings.$(OBJEXT)
-am__objects_52 = pmpost-pmpxout.$(OBJEXT)
-am__objects_53 = pmpost-ppngout.$(OBJEXT)
-am__objects_54 = pmpost-ppsout.$(OBJEXT)
-am__objects_55 = pmpost-psvgout.$(OBJEXT)
-nodist_pmpost_OBJECTS = $(am__objects_46) $(am__objects_47) \
- $(am__objects_48) $(am__objects_49) $(am__objects_50) \
- pmpost-pmpost.$(OBJEXT) $(am__objects_51) $(am__objects_52) \
- $(am__objects_53) $(am__objects_54) $(am__objects_55) \
+am__objects_48 = pmpost-pmp.$(OBJEXT)
+am__objects_49 = pmpost-pmpmath.$(OBJEXT)
+am__objects_50 = pmpost-pmpmathbinary.$(OBJEXT)
+am__objects_51 = pmpost-pmpmathdecimal.$(OBJEXT)
+am__objects_52 = pmpost-pmpmathdouble.$(OBJEXT)
+am__objects_53 = pmpost-pmpstrings.$(OBJEXT)
+am__objects_54 = pmpost-pmpxout.$(OBJEXT)
+am__objects_55 = pmpost-ppngout.$(OBJEXT)
+am__objects_56 = pmpost-ppsout.$(OBJEXT)
+am__objects_57 = pmpost-psvgout.$(OBJEXT)
+nodist_pmpost_OBJECTS = $(am__objects_48) $(am__objects_49) \
+ $(am__objects_50) $(am__objects_51) $(am__objects_52) \
+ pmpost-pmpost.$(OBJEXT) $(am__objects_53) $(am__objects_54) \
+ $(am__objects_55) $(am__objects_56) $(am__objects_57) \
pmpost-ptfmin.$(OBJEXT)
pmpost_OBJECTS = $(nodist_pmpost_OBJECTS)
pmpost_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
@@ -1585,10 +1591,10 @@ am__dist_ptex_SOURCES_DIST = ptexdir/ptexextra.c ptexdir/ptexextra.h \
ptexdir/ptex_version.h synctexdir/synctex.c \
synctexdir/synctex.h synctexdir/synctex-common.h \
synctexdir/synctex-ptex.h
-@PTEX_SYNCTEX_TRUE@am__objects_56 = synctexdir/ptex-synctex.$(OBJEXT)
-dist_ptex_OBJECTS = ptexdir/ptex-ptexextra.$(OBJEXT) $(am__objects_56)
-am__objects_57 = ptex-ptexini.$(OBJEXT) ptex-ptex0.$(OBJEXT)
-nodist_ptex_OBJECTS = $(am__objects_57) ptex-ptex-pool.$(OBJEXT)
+@PTEX_SYNCTEX_TRUE@am__objects_58 = synctexdir/ptex-synctex.$(OBJEXT)
+dist_ptex_OBJECTS = ptexdir/ptex-ptexextra.$(OBJEXT) $(am__objects_58)
+am__objects_59 = ptex-ptexini.$(OBJEXT) ptex-ptex0.$(OBJEXT)
+nodist_ptex_OBJECTS = $(am__objects_59) ptex-ptex-pool.$(OBJEXT)
ptex_OBJECTS = $(dist_ptex_OBJECTS) $(nodist_ptex_OBJECTS)
@PTEX_SYNCTEX_TRUE@am__DEPENDENCIES_12 = $(am__DEPENDENCIES_1)
am_ptftopl_OBJECTS =
@@ -1609,10 +1615,10 @@ tangleboot_LDADD = $(LDADD)
am__dist_tex_SOURCES_DIST = texextra.c synctexdir/synctex.c \
synctexdir/synctex.h synctexdir/synctex-common.h \
synctexdir/synctex-tex.h
-@TEX_SYNCTEX_TRUE@am__objects_58 = synctexdir/tex-synctex.$(OBJEXT)
-dist_tex_OBJECTS = tex-texextra.$(OBJEXT) $(am__objects_58)
-am__objects_59 = tex-texini.$(OBJEXT) tex-tex0.$(OBJEXT)
-nodist_tex_OBJECTS = $(am__objects_59) tex-tex-pool.$(OBJEXT)
+@TEX_SYNCTEX_TRUE@am__objects_60 = synctexdir/tex-synctex.$(OBJEXT)
+dist_tex_OBJECTS = tex-texextra.$(OBJEXT) $(am__objects_60)
+am__objects_61 = tex-texini.$(OBJEXT) tex-tex0.$(OBJEXT)
+nodist_tex_OBJECTS = $(am__objects_61) tex-tex-pool.$(OBJEXT)
tex_OBJECTS = $(dist_tex_OBJECTS) $(nodist_tex_OBJECTS)
@TEX_SYNCTEX_TRUE@am__DEPENDENCIES_14 = $(am__DEPENDENCIES_1)
tex_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
@@ -1637,21 +1643,21 @@ am_updvitype_OBJECTS =
nodist_updvitype_OBJECTS = updvitype-updvitype.$(OBJEXT)
updvitype_OBJECTS = $(am_updvitype_OBJECTS) \
$(nodist_updvitype_OBJECTS)
-am__objects_60 = upmpost-pmp.$(OBJEXT)
-am__objects_61 = upmpost-pmpmath.$(OBJEXT)
-am__objects_62 = upmpost-pmpmathbinary.$(OBJEXT)
-am__objects_63 = upmpost-pmpmathdecimal.$(OBJEXT)
-am__objects_64 = upmpost-pmpmathdouble.$(OBJEXT)
-am__objects_65 = upmpost-pmpstrings.$(OBJEXT)
-am__objects_66 = upmpost-pmpxout.$(OBJEXT)
-am__objects_67 = upmpost-ppngout.$(OBJEXT)
-am__objects_68 = upmpost-ppsout.$(OBJEXT)
-am__objects_69 = upmpost-psvgout.$(OBJEXT)
-am__objects_70 = $(am__objects_60) $(am__objects_61) $(am__objects_62) \
- $(am__objects_63) $(am__objects_64) upmpost-pmpost.$(OBJEXT) \
- $(am__objects_65) $(am__objects_66) $(am__objects_67) \
- $(am__objects_68) $(am__objects_69) upmpost-ptfmin.$(OBJEXT)
-nodist_upmpost_OBJECTS = $(am__objects_70)
+am__objects_62 = upmpost-pmp.$(OBJEXT)
+am__objects_63 = upmpost-pmpmath.$(OBJEXT)
+am__objects_64 = upmpost-pmpmathbinary.$(OBJEXT)
+am__objects_65 = upmpost-pmpmathdecimal.$(OBJEXT)
+am__objects_66 = upmpost-pmpmathdouble.$(OBJEXT)
+am__objects_67 = upmpost-pmpstrings.$(OBJEXT)
+am__objects_68 = upmpost-pmpxout.$(OBJEXT)
+am__objects_69 = upmpost-ppngout.$(OBJEXT)
+am__objects_70 = upmpost-ppsout.$(OBJEXT)
+am__objects_71 = upmpost-psvgout.$(OBJEXT)
+am__objects_72 = $(am__objects_62) $(am__objects_63) $(am__objects_64) \
+ $(am__objects_65) $(am__objects_66) upmpost-pmpost.$(OBJEXT) \
+ $(am__objects_67) $(am__objects_68) $(am__objects_69) \
+ $(am__objects_70) $(am__objects_71) upmpost-ptfmin.$(OBJEXT)
+nodist_upmpost_OBJECTS = $(am__objects_72)
upmpost_OBJECTS = $(nodist_upmpost_OBJECTS)
am__DEPENDENCIES_16 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
@@ -1665,12 +1671,12 @@ am__dist_uptex_SOURCES_DIST = uptexdir/uptexextra.c \
uptexdir/uptexextra.h uptexdir/uptex_version.h \
synctexdir/synctex.c synctexdir/synctex.h \
synctexdir/synctex-common.h synctexdir/synctex-uptex.h
-@UPTEX_SYNCTEX_TRUE@am__objects_71 = \
+@UPTEX_SYNCTEX_TRUE@am__objects_73 = \
@UPTEX_SYNCTEX_TRUE@ synctexdir/uptex-synctex.$(OBJEXT)
dist_uptex_OBJECTS = uptexdir/uptex-uptexextra.$(OBJEXT) \
- $(am__objects_71)
-am__objects_72 = uptex-uptexini.$(OBJEXT) uptex-uptex0.$(OBJEXT)
-nodist_uptex_OBJECTS = $(am__objects_72) uptex-uptex-pool.$(OBJEXT)
+ $(am__objects_73)
+am__objects_74 = uptex-uptexini.$(OBJEXT) uptex-uptex0.$(OBJEXT)
+nodist_uptex_OBJECTS = $(am__objects_74) uptex-uptex-pool.$(OBJEXT)
uptex_OBJECTS = $(dist_uptex_OBJECTS) $(nodist_uptex_OBJECTS)
@UPTEX_SYNCTEX_TRUE@am__DEPENDENCIES_17 = $(am__DEPENDENCIES_1)
am_uptftopl_OBJECTS =
@@ -1709,12 +1715,12 @@ am__dist_xetex_SOURCES_DIST = xetexdir/xetexextra.c \
xetexdir/xetex_version.h synctexdir/synctex.c \
synctexdir/synctex.h synctexdir/synctex-common.h \
synctexdir/synctex-xetex.h
-@XETEX_SYNCTEX_TRUE@am__objects_73 = \
+@XETEX_SYNCTEX_TRUE@am__objects_75 = \
@XETEX_SYNCTEX_TRUE@ synctexdir/xetex-synctex.$(OBJEXT)
dist_xetex_OBJECTS = xetexdir/xetex-xetexextra.$(OBJEXT) \
- $(am__objects_73)
-am__objects_74 = xetex-xetexini.$(OBJEXT) xetex-xetex0.$(OBJEXT)
-nodist_xetex_OBJECTS = $(am__objects_74) xetex-xetex-pool.$(OBJEXT)
+ $(am__objects_75)
+am__objects_76 = xetex-xetexini.$(OBJEXT) xetex-xetex0.$(OBJEXT)
+nodist_xetex_OBJECTS = $(am__objects_76) xetex-xetex-pool.$(OBJEXT)
xetex_OBJECTS = $(dist_xetex_OBJECTS) $(nodist_xetex_OBJECTS)
@XETEX_MACOSX_FALSE@am__DEPENDENCIES_18 = $(am__DEPENDENCIES_1)
am__DEPENDENCIES_19 = $(libxetex) $(am__DEPENDENCIES_1) \
@@ -1765,8 +1771,13 @@ am__depfiles_remade = ./$(DEPDIR)/aleph-aleph-pool.Po \
./$(DEPDIR)/euptex-euptex-pool.Po \
./$(DEPDIR)/euptex-euptex0.Po ./$(DEPDIR)/euptex-euptexini.Po \
./$(DEPDIR)/gftodvi.Po ./$(DEPDIR)/gftopk.Po \
- ./$(DEPDIR)/gftype.Po ./$(DEPDIR)/histretch-histretch.Po \
- ./$(DEPDIR)/hitex-hitex.Po ./$(DEPDIR)/initex-callexe.Po \
+ ./$(DEPDIR)/gftype.Po ./$(DEPDIR)/hishrink-hformat.Po \
+ ./$(DEPDIR)/hishrink-hishrink.Po \
+ ./$(DEPDIR)/histretch-hformat.Po \
+ ./$(DEPDIR)/histretch-histretch.Po \
+ ./$(DEPDIR)/hitex-hformat.Po ./$(DEPDIR)/hitex-hitex.Po \
+ ./$(DEPDIR)/hitex-hput.Po ./$(DEPDIR)/hitex-htex.Po \
+ ./$(DEPDIR)/initex-callexe.Po \
./$(DEPDIR)/libluahbtexspecific_a-luainit-hb.Po \
./$(DEPDIR)/libluahbtexspecific_a-luastuff-hb.Po \
./$(DEPDIR)/libluahbtexspecific_a-printing-hb.Po \
@@ -2451,15 +2462,6 @@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
am__v_CXXLD_0 = @echo " CXXLD " $@;
am__v_CXXLD_1 =
-@MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ ||
-LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS)
-LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS)
-AM_V_LEX = $(am__v_LEX_@AM_V@)
-am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@)
-am__v_LEX_0 = @echo " LEX " $@;
-am__v_LEX_1 =
-YLWRAP = $(top_srcdir)/../../build-aux/ylwrap
OBJCXXCOMPILE = $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS)
LTOBJCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
@@ -2478,16 +2480,6 @@ AM_V_OBJCXXLD = $(am__v_OBJCXXLD_@AM_V@)
am__v_OBJCXXLD_ = $(am__v_OBJCXXLD_@AM_DEFAULT_V@)
am__v_OBJCXXLD_0 = @echo " OBJCXXLD" $@;
am__v_OBJCXXLD_1 =
-@MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ ||
-am__yacc_c2h = sed -e s/cc$$/hh/ -e s/cpp$$/hpp/ -e s/cxx$$/hxx/ \
- -e s/c++$$/h++/ -e s/c$$/h/
-YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS)
-LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS)
-AM_V_YACC = $(am__v_YACC_@AM_V@)
-am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@)
-am__v_YACC_0 = @echo " YACC " $@;
-am__v_YACC_1 =
SOURCES = $(libff_a_SOURCES) $(libkanji_a_SOURCES) \
$(nodist_libluaffi_a_SOURCES) $(libluaharfbuzz_a_SOURCES) \
$(nodist_libluahbtexspecific_a_SOURCES) \
@@ -2530,9 +2522,10 @@ SOURCES = $(libff_a_SOURCES) $(libkanji_a_SOURCES) \
$(dist_euptex_SOURCES) $(nodist_euptex_SOURCES) \
$(gftodvi_SOURCES) $(nodist_gftodvi_SOURCES) \
$(nodist_gftopk_SOURCES) $(nodist_gftype_SOURCES) \
- $(hishrink_SOURCES) histretch.c hitex.c \
- $(nodist_initex_SOURCES) $(nodist_luahbtex_SOURCES) \
- $(nodist_EXTRA_luahbtex_SOURCES) $(nodist_luajithbtex_SOURCES) \
+ $(nodist_hishrink_SOURCES) $(nodist_histretch_SOURCES) \
+ $(nodist_hitex_SOURCES) $(nodist_initex_SOURCES) \
+ $(nodist_luahbtex_SOURCES) $(nodist_EXTRA_luahbtex_SOURCES) \
+ $(nodist_luajithbtex_SOURCES) \
$(nodist_EXTRA_luajithbtex_SOURCES) \
$(nodist_luajittex_SOURCES) $(nodist_luatex_SOURCES) \
$(md5main_SOURCES) $(dist_mf_SOURCES) $(dist_mf_nowin_SOURCES) \
@@ -2577,11 +2570,11 @@ DIST_SOURCES = $(libff_a_SOURCES) $(libkanji_a_SOURCES) \
$(am__libxetex_a_SOURCES_DIST) $(libsynctex_la_SOURCES) \
$(dist_aleph_SOURCES) $(am__dist_eptex_SOURCES_DIST) \
$(am__dist_etex_SOURCES_DIST) $(am__dist_euptex_SOURCES_DIST) \
- $(gftodvi_SOURCES) $(hishrink_SOURCES) histretch.c hitex.c \
- $(md5main_SOURCES) $(dist_mf_SOURCES) $(dist_mf_nowin_SOURCES) \
- $(dist_mflua_SOURCES) $(dist_mfluajit_SOURCES) \
- $(pbibtex_SOURCES) $(am__dist_pdftex_SOURCES_DIST) \
- $(pdftosrc_SOURCES) $(pdvitype_SOURCES) $(ppltotf_SOURCES) \
+ $(gftodvi_SOURCES) $(md5main_SOURCES) $(dist_mf_SOURCES) \
+ $(dist_mf_nowin_SOURCES) $(dist_mflua_SOURCES) \
+ $(dist_mfluajit_SOURCES) $(pbibtex_SOURCES) \
+ $(am__dist_pdftex_SOURCES_DIST) $(pdftosrc_SOURCES) \
+ $(pdvitype_SOURCES) $(ppltotf_SOURCES) \
$(am__dist_ptex_SOURCES_DIST) $(ptftopl_SOURCES) \
$(synctex_SOURCES) $(am__dist_tex_SOURCES_DIST) \
$(ttf2afm_SOURCES) $(EXTRA_ttf2afm_SOURCES) \
@@ -2861,7 +2854,6 @@ am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/../../am/bin_links.am \
$(top_srcdir)/../../build-aux/ltmain.sh \
$(top_srcdir)/../../build-aux/missing \
$(top_srcdir)/../../build-aux/test-driver \
- $(top_srcdir)/../../build-aux/ylwrap \
$(top_srcdir)/../texlive/w32_wrapper/callexe.c \
$(top_srcdir)/luatexdir/luafontloader/ff-config.in \
$(top_srcdir)/synctexdir/synctex.pc.in ../../build-aux/ar-lib \
@@ -2869,9 +2861,7 @@ am__DIST_COMMON = $(dist_man_MANS) $(srcdir)/../../am/bin_links.am \
../../build-aux/config.sub ../../build-aux/depcomp \
../../build-aux/install-sh ../../build-aux/ltmain.sh \
../../build-aux/missing ../../build-aux/texinfo.tex \
- ../../build-aux/ylwrap AUTHORS ChangeLog NEWS README \
- hitexdir/hishrink-lexer.c hitexdir/hishrink-parser.c \
- hitexdir/hishrink-parser.h
+ ../../build-aux/ylwrap AUTHORS ChangeLog NEWS README
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -3174,6 +3164,11 @@ lib_LTLIBRARIES = $(am__append_122)
dist_man_MANS = synctexdir/man1/synctex.1 synctexdir/man5/synctex.5
nodist_man_MANS =
TEST_EXTENSIONS = .pl .test
+#
+# 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
+# specific targets (hiall, hitex, hishrink, ...), and $(BUILT_SOURCES)
+# is only a dependency on general targets (all, install, ...).
EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \
triptrap-sh tangle.web tangle.ch tangleboot.pin cwebdir \
ctangleboot.cin cwebboot.cin tangle.test $(web_programs:=.web) \
@@ -4609,17 +4604,20 @@ format_c_h_l_y = basetypes.h error.h hformat.h \
htex_c_h = htex.c htex.h
hitex_c_h = hitex.c hitex.h
+# hitex
+nodist_hitex_SOURCES = hformat.c hput.c $(htex_c_h) $(hitex_c_h)
+
+# histretch
+nodist_histretch_SOURCES = hformat.c histretch.c
+
# The actual sources for the lexer and parser are in format.w.
-# However, to simplify life with Automake (a little), we maintain them
-# here as if they were real, direct source files.
-#
-# We want to do this partly because ultimately we want the generated
-# .[ch] files to be saved in $(srcdir), as is done for the other .[ly]
-# files, so that builders need not have yacc (bison in this case) and (f)lex.
+# However, to simplify life with Automake (a little), we include the
+# generated [.ch] files as if they were the sources here, and don't try
+# to have Automake support the derivation from .w.
#
-# Without the strange $(srcdir),
-hishrink_SOURCES = hitexdir/hishrink-lexer.l \
- hitexdir/hishrink-parser.y
+nodist_hishrink_SOURCES = hformat.c hishrink.c \
+ hitexdir/hishrink-lexer.c \
+ hitexdir/hishrink-parser.c hitexdir/hishrink-parser.h
libpdftex_a_CPPFLAGS = $(REGEX_INCLUDES) $(pdftex_cppflags)
libpdftex_a_CXXFLAGS = $(WARNING_CXXFLAGS)
@@ -5612,7 +5610,7 @@ all: ff-config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
-.SUFFIXES: .c .cc .cin .cpp .cxx .h .hin .l .lo .log .mm .o .obj .p .pin .pl .pl$(EXEEXT) .test .test$(EXEEXT) .trs .y
+.SUFFIXES: .c .cc .cin .cpp .cxx .h .hin .lo .log .mm .o .obj .p .pin .pl .pl$(EXEEXT) .test .test$(EXEEXT) .trs
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../am/dist_hook.am $(srcdir)/am/bootstrap.am $(srcdir)/am/web.am $(srcdir)/am/cweb.am $(srcdir)/am/texmf.am $(srcdir)/mfluadir/am/mflua.am $(srcdir)/mfluadir/am/mfluaotfcc.am $(srcdir)/mfluajitdir/am/mfluajit.am $(srcdir)/mplibdir/am/mplib.am $(srcdir)/pmpostdir/am/pmpost.am $(srcdir)/mplibdir/am/libmputil.am $(srcdir)/mplibdir/am/libmplib.am $(srcdir)/etexdir/am/etex.am $(srcdir)/ptexdir/am/ptex.am $(srcdir)/eptexdir/am/eptex.am $(srcdir)/uptexdir/am/uptex.am $(srcdir)/euptexdir/am/euptex.am $(srcdir)/hitexdir/am/hitex.am $(srcdir)/pdftexdir/am/libpdftex.am $(srcdir)/pdftexdir/am/pdftex.am $(srcdir)/pdftexdir/am/ttf2afm.am $(srcdir)/pdftexdir/am/pdftosrc.am $(srcdir)/luatexdir/am/luasocket.am $(srcdir)/luatexdir/am/luamisc.am $(srcdir)/luatexdir/am/libunilib.am $(srcdir)/luatexdir/am/luafontforge.am $(srcdir)/luatexdir/am/libluatex.am $(srcdir)/luatexdir/am/luaffi.am $(srcdir)/luatexdir/am/luatex.am $(srcdir)/luatexdir/am/luaharfbuzz.am $(srcdir)/xetexdir/am/xetex.am $(srcdir)/omegaware/am/omegaware.am $(srcdir)/alephdir/am/aleph.am $(srcdir)/synctexdir/am/synctex.am $(srcdir)/libmd5/am/md5.am $(srcdir)/../../am/bin_links.am $(am__configure_deps)
@@ -8047,9 +8045,6 @@ hitexdir/$(DEPDIR)/$(am__dirstamp):
@: > hitexdir/$(DEPDIR)/$(am__dirstamp)
hitexdir/hishrink-hishrink-lexer.$(OBJEXT): hitexdir/$(am__dirstamp) \
hitexdir/$(DEPDIR)/$(am__dirstamp)
-hitexdir/hishrink-parser.h: hitexdir/hishrink-parser.c
- @if test ! -f $@; then rm -f hitexdir/hishrink-parser.c; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) hitexdir/hishrink-parser.c; else :; fi
hitexdir/hishrink-hishrink-parser.$(OBJEXT): hitexdir/$(am__dirstamp) \
hitexdir/$(DEPDIR)/$(am__dirstamp)
@@ -8446,8 +8441,14 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gftodvi.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gftopk.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gftype.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hishrink-hformat.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hishrink-hishrink.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/histretch-hformat.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/histretch-histretch.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hitex-hformat.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hitex-hitex.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hitex-hput.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hitex-htex.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/initex-callexe.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libluahbtexspecific_a-luainit-hb.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libluahbtexspecific_a-luastuff-hb.Po@am__quote@ # am--include-marker
@@ -17367,6 +17368,34 @@ euptex-euptex-pool.obj: euptex-pool.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(euptex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o euptex-euptex-pool.obj `if test -f 'euptex-pool.c'; then $(CYGPATH_W) 'euptex-pool.c'; else $(CYGPATH_W) '$(srcdir)/euptex-pool.c'; fi`
+hishrink-hformat.o: hformat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hishrink-hformat.o -MD -MP -MF $(DEPDIR)/hishrink-hformat.Tpo -c -o hishrink-hformat.o `test -f 'hformat.c' || echo '$(srcdir)/'`hformat.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hishrink-hformat.Tpo $(DEPDIR)/hishrink-hformat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hformat.c' object='hishrink-hformat.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hishrink-hformat.o `test -f 'hformat.c' || echo '$(srcdir)/'`hformat.c
+
+hishrink-hformat.obj: hformat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hishrink-hformat.obj -MD -MP -MF $(DEPDIR)/hishrink-hformat.Tpo -c -o hishrink-hformat.obj `if test -f 'hformat.c'; then $(CYGPATH_W) 'hformat.c'; else $(CYGPATH_W) '$(srcdir)/hformat.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hishrink-hformat.Tpo $(DEPDIR)/hishrink-hformat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hformat.c' object='hishrink-hformat.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hishrink-hformat.obj `if test -f 'hformat.c'; then $(CYGPATH_W) 'hformat.c'; else $(CYGPATH_W) '$(srcdir)/hformat.c'; fi`
+
+hishrink-hishrink.o: hishrink.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hishrink-hishrink.o -MD -MP -MF $(DEPDIR)/hishrink-hishrink.Tpo -c -o hishrink-hishrink.o `test -f 'hishrink.c' || echo '$(srcdir)/'`hishrink.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hishrink-hishrink.Tpo $(DEPDIR)/hishrink-hishrink.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hishrink.c' object='hishrink-hishrink.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hishrink-hishrink.o `test -f 'hishrink.c' || echo '$(srcdir)/'`hishrink.c
+
+hishrink-hishrink.obj: hishrink.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hishrink-hishrink.obj -MD -MP -MF $(DEPDIR)/hishrink-hishrink.Tpo -c -o hishrink-hishrink.obj `if test -f 'hishrink.c'; then $(CYGPATH_W) 'hishrink.c'; else $(CYGPATH_W) '$(srcdir)/hishrink.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hishrink-hishrink.Tpo $(DEPDIR)/hishrink-hishrink.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hishrink.c' object='hishrink-hishrink.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hishrink-hishrink.obj `if test -f 'hishrink.c'; then $(CYGPATH_W) 'hishrink.c'; else $(CYGPATH_W) '$(srcdir)/hishrink.c'; fi`
+
hitexdir/hishrink-hishrink-lexer.o: hitexdir/hishrink-lexer.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hitexdir/hishrink-hishrink-lexer.o -MD -MP -MF hitexdir/$(DEPDIR)/hishrink-hishrink-lexer.Tpo -c -o hitexdir/hishrink-hishrink-lexer.o `test -f 'hitexdir/hishrink-lexer.c' || echo '$(srcdir)/'`hitexdir/hishrink-lexer.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) hitexdir/$(DEPDIR)/hishrink-hishrink-lexer.Tpo hitexdir/$(DEPDIR)/hishrink-hishrink-lexer.Po
@@ -17395,6 +17424,20 @@ hitexdir/hishrink-hishrink-parser.obj: hitexdir/hishrink-parser.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hishrink_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hitexdir/hishrink-hishrink-parser.obj `if test -f 'hitexdir/hishrink-parser.c'; then $(CYGPATH_W) 'hitexdir/hishrink-parser.c'; else $(CYGPATH_W) '$(srcdir)/hitexdir/hishrink-parser.c'; fi`
+histretch-hformat.o: hformat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(histretch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT histretch-hformat.o -MD -MP -MF $(DEPDIR)/histretch-hformat.Tpo -c -o histretch-hformat.o `test -f 'hformat.c' || echo '$(srcdir)/'`hformat.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/histretch-hformat.Tpo $(DEPDIR)/histretch-hformat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hformat.c' object='histretch-hformat.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(histretch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o histretch-hformat.o `test -f 'hformat.c' || echo '$(srcdir)/'`hformat.c
+
+histretch-hformat.obj: hformat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(histretch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT histretch-hformat.obj -MD -MP -MF $(DEPDIR)/histretch-hformat.Tpo -c -o histretch-hformat.obj `if test -f 'hformat.c'; then $(CYGPATH_W) 'hformat.c'; else $(CYGPATH_W) '$(srcdir)/hformat.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/histretch-hformat.Tpo $(DEPDIR)/histretch-hformat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hformat.c' object='histretch-hformat.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(histretch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o histretch-hformat.obj `if test -f 'hformat.c'; then $(CYGPATH_W) 'hformat.c'; else $(CYGPATH_W) '$(srcdir)/hformat.c'; fi`
+
histretch-histretch.o: histretch.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(histretch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT histretch-histretch.o -MD -MP -MF $(DEPDIR)/histretch-histretch.Tpo -c -o histretch-histretch.o `test -f 'histretch.c' || echo '$(srcdir)/'`histretch.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/histretch-histretch.Tpo $(DEPDIR)/histretch-histretch.Po
@@ -17409,6 +17452,48 @@ histretch-histretch.obj: histretch.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(histretch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o histretch-histretch.obj `if test -f 'histretch.c'; then $(CYGPATH_W) 'histretch.c'; else $(CYGPATH_W) '$(srcdir)/histretch.c'; fi`
+hitex-hformat.o: hformat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hitex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hitex-hformat.o -MD -MP -MF $(DEPDIR)/hitex-hformat.Tpo -c -o hitex-hformat.o `test -f 'hformat.c' || echo '$(srcdir)/'`hformat.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hitex-hformat.Tpo $(DEPDIR)/hitex-hformat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hformat.c' object='hitex-hformat.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hitex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hitex-hformat.o `test -f 'hformat.c' || echo '$(srcdir)/'`hformat.c
+
+hitex-hformat.obj: hformat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hitex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hitex-hformat.obj -MD -MP -MF $(DEPDIR)/hitex-hformat.Tpo -c -o hitex-hformat.obj `if test -f 'hformat.c'; then $(CYGPATH_W) 'hformat.c'; else $(CYGPATH_W) '$(srcdir)/hformat.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hitex-hformat.Tpo $(DEPDIR)/hitex-hformat.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hformat.c' object='hitex-hformat.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hitex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hitex-hformat.obj `if test -f 'hformat.c'; then $(CYGPATH_W) 'hformat.c'; else $(CYGPATH_W) '$(srcdir)/hformat.c'; fi`
+
+hitex-hput.o: hput.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hitex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hitex-hput.o -MD -MP -MF $(DEPDIR)/hitex-hput.Tpo -c -o hitex-hput.o `test -f 'hput.c' || echo '$(srcdir)/'`hput.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hitex-hput.Tpo $(DEPDIR)/hitex-hput.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hput.c' object='hitex-hput.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hitex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hitex-hput.o `test -f 'hput.c' || echo '$(srcdir)/'`hput.c
+
+hitex-hput.obj: hput.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hitex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hitex-hput.obj -MD -MP -MF $(DEPDIR)/hitex-hput.Tpo -c -o hitex-hput.obj `if test -f 'hput.c'; then $(CYGPATH_W) 'hput.c'; else $(CYGPATH_W) '$(srcdir)/hput.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hitex-hput.Tpo $(DEPDIR)/hitex-hput.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hput.c' object='hitex-hput.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hitex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hitex-hput.obj `if test -f 'hput.c'; then $(CYGPATH_W) 'hput.c'; else $(CYGPATH_W) '$(srcdir)/hput.c'; fi`
+
+hitex-htex.o: htex.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hitex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hitex-htex.o -MD -MP -MF $(DEPDIR)/hitex-htex.Tpo -c -o hitex-htex.o `test -f 'htex.c' || echo '$(srcdir)/'`htex.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hitex-htex.Tpo $(DEPDIR)/hitex-htex.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='htex.c' object='hitex-htex.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hitex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hitex-htex.o `test -f 'htex.c' || echo '$(srcdir)/'`htex.c
+
+hitex-htex.obj: htex.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hitex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hitex-htex.obj -MD -MP -MF $(DEPDIR)/hitex-htex.Tpo -c -o hitex-htex.obj `if test -f 'htex.c'; then $(CYGPATH_W) 'htex.c'; else $(CYGPATH_W) '$(srcdir)/htex.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hitex-htex.Tpo $(DEPDIR)/hitex-htex.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='htex.c' object='hitex-htex.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hitex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o hitex-htex.obj `if test -f 'htex.c'; then $(CYGPATH_W) 'htex.c'; else $(CYGPATH_W) '$(srcdir)/htex.c'; fi`
+
hitex-hitex.o: hitex.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hitex_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT hitex-hitex.o -MD -MP -MF $(DEPDIR)/hitex-hitex.Tpo -c -o hitex-hitex.o `test -f 'hitex.c' || echo '$(srcdir)/'`hitex.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/hitex-hitex.Tpo $(DEPDIR)/hitex-hitex.Po
@@ -18811,9 +18896,6 @@ xetex-dummy.obj: dummy.cxx
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-.l.c:
- $(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
-
.mm.o:
@am__fastdepOBJCXX_TRUE@ $(AM_V_OBJCXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepOBJCXX_TRUE@ $(OBJCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@@ -18852,9 +18934,6 @@ xetexdir/libxetex_a-XeTeXFontMgr_Mac.obj: xetexdir/XeTeXFontMgr_Mac.mm
@AMDEP_TRUE@@am__fastdepOBJCXX_FALSE@ DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepOBJCXX_FALSE@ $(AM_V_OBJCXX@am__nodep@)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libxetex_a_CPPFLAGS) $(CPPFLAGS) $(libxetex_a_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o xetexdir/libxetex_a-XeTeXFontMgr_Mac.obj `if test -f 'xetexdir/XeTeXFontMgr_Mac.mm'; then $(CYGPATH_W) 'xetexdir/XeTeXFontMgr_Mac.mm'; else $(CYGPATH_W) '$(srcdir)/xetexdir/XeTeXFontMgr_Mac.mm'; fi`
-.y.c:
- $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE)
-
mostlyclean-libtool:
-rm -f *.lo
@@ -19649,9 +19728,6 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
- -rm -f hitexdir/hishrink-lexer.c
- -rm -f hitexdir/hishrink-parser.c
- -rm -f hitexdir/hishrink-parser.h
clean: clean-recursive
clean-am: clean-binPROGRAMS clean-generic clean-libLIBRARIES \
@@ -19697,8 +19773,14 @@ distclean: distclean-recursive
-rm -f ./$(DEPDIR)/gftodvi.Po
-rm -f ./$(DEPDIR)/gftopk.Po
-rm -f ./$(DEPDIR)/gftype.Po
+ -rm -f ./$(DEPDIR)/hishrink-hformat.Po
+ -rm -f ./$(DEPDIR)/hishrink-hishrink.Po
+ -rm -f ./$(DEPDIR)/histretch-hformat.Po
-rm -f ./$(DEPDIR)/histretch-histretch.Po
+ -rm -f ./$(DEPDIR)/hitex-hformat.Po
-rm -f ./$(DEPDIR)/hitex-hitex.Po
+ -rm -f ./$(DEPDIR)/hitex-hput.Po
+ -rm -f ./$(DEPDIR)/hitex-htex.Po
-rm -f ./$(DEPDIR)/initex-callexe.Po
-rm -f ./$(DEPDIR)/libluahbtexspecific_a-luainit-hb.Po
-rm -f ./$(DEPDIR)/libluahbtexspecific_a-luastuff-hb.Po
@@ -20470,8 +20552,14 @@ maintainer-clean: maintainer-clean-recursive
-rm -f ./$(DEPDIR)/gftodvi.Po
-rm -f ./$(DEPDIR)/gftopk.Po
-rm -f ./$(DEPDIR)/gftype.Po
+ -rm -f ./$(DEPDIR)/hishrink-hformat.Po
+ -rm -f ./$(DEPDIR)/hishrink-hishrink.Po
+ -rm -f ./$(DEPDIR)/histretch-hformat.Po
-rm -f ./$(DEPDIR)/histretch-histretch.Po
+ -rm -f ./$(DEPDIR)/hitex-hformat.Po
-rm -f ./$(DEPDIR)/hitex-hitex.Po
+ -rm -f ./$(DEPDIR)/hitex-hput.Po
+ -rm -f ./$(DEPDIR)/hitex-htex.Po
-rm -f ./$(DEPDIR)/initex-callexe.Po
-rm -f ./$(DEPDIR)/libluahbtexspecific_a-luainit-hb.Po
-rm -f ./$(DEPDIR)/libluahbtexspecific_a-luastuff-hb.Po
@@ -22028,9 +22116,27 @@ $(format_c_h_l_y): format-tangle
format-tangle: ctangle$(EXEEXT) hitexdir/format.w tangle-sh
$(hi_ctangle_sh) format
-# This is our attempt to ensure that bison is run before anything else.
+$(hitex_c_h): hitex-tangle
+ $(hi_ctangle_sh) hitex
+#
+hitex-tangle: ctangle$(EXEEXT) hitexdir/hitex.w tangle-sh
+ $(hi_ctangle_sh) hitex
+
+# htex.c needs hitex.h, so depend on the hitex tangle.
+$(htex_c_h): htex-tangle hitex-tangle
+ $(hi_ctangle_sh) htex
+#
+htex-tangle: ctangle$(EXEEXT) hitexdir/htex.w tangle-sh hitex-tangle
+ $(hi_ctangle_sh) htex
+
+# Generating hformat.c using mkhformat.
+hformat.c: mkhformat
+ ./mkhformat >hformat.c || { rm -f hformat.c; exit 1; }
+
+# This is our attempt to ensure that bison got run before anything else,
+# when needed.
#
-$(hishrink_OBJECTS): hitexdir/hishrink-parser.h
+$(hishrink_OBJECTS): $(srcdir)/hitexdir/hishrink-parser.h
# still missing
diff --git a/Build/source/texk/web2c/hitexdir/ChangeLog b/Build/source/texk/web2c/hitexdir/ChangeLog
new file mode 100644
index 00000000000..7a6eb08c5cc
--- /dev/null
+++ b/Build/source/texk/web2c/hitexdir/ChangeLog
@@ -0,0 +1,20 @@
+2021-10-01 Karl Berry <karl@freefriends.org>
+
+ * am/hitex.am (nodist_hishrink_SOURCES): remove references to .[ly]
+ files; instead list the hishrink-{parser,lexer}.c files explicitly.
+ Simpler to eliminate Automake's lex/yacc.
+ * hishrink-lexer.l,
+ * hishrink-parser.y: remove.
+
+2021-09-28 Karl Berry <karl@freefriends.org>
+
+ * am/hitex.am (hishrink_SOURCES): specify hishrink-lexer.l
+ and hishrink-parser.y as if they were direct sources.
+ (hishrink_OBJECTS): depend on hishrink-parser.h.
+ (hishrink_CPPFLAGS): include -I$(srcdir)/hitexdir so we can
+ find hishrink-parser.h.
+ (hiall): convenience target to build all three programs.
+ * format.w: back to hishrink-parser.h.
+ * hishrink-{parser,lexer}.*: rename from {parser,lexer}.*.
+
+(This file public domain.)
diff --git a/Build/source/texk/web2c/hitexdir/am/hitex.am b/Build/source/texk/web2c/hitexdir/am/hitex.am
index 1e4b0b4abf0..52e54fd8720 100644
--- a/Build/source/texk/web2c/hitexdir/am/hitex.am
+++ b/Build/source/texk/web2c/hitexdir/am/hitex.am
@@ -69,25 +69,20 @@ hformat.c: mkhformat
# hitex
nodist_hitex_SOURCES = hformat.c hput.c $(htex_c_h) $(hitex_c_h)
-#histretch
+# histretch
nodist_histretch_SOURCES = hformat.c histretch.c
# The actual sources for the lexer and parser are in format.w.
-# However, to simplify life with Automake (a little), we maintain them
-# here as if they were real, direct source files. That is, we update
-# them by hand when they change.
-#
-# We want to do this partly because ultimately we want the generated
-# .[ch] files to be saved in $(srcdir), as is done for the other .[ly]
-# files, so that builders need not have yacc (bison in this case) and (f)lex.
+# However, to simplify life with Automake (a little), we include the
+# generated [.ch] files as if they were the sources here, and don't try
+# to have Automake support the derivation from .w.
#
-# The $(srcdir) is not necessary if everything is up to date,
-# but can help with the remake if the [.ch] or [.ly] are not present.
-hishrink_SOURCES = $(srcdir)/hitexdir/hishrink-lexer.l \
- $(srcdir)/hitexdir/hishrink-parser.y
-nodist_hishrink_SOURCES = hformat.c hishrink.c
+nodist_hishrink_SOURCES = hformat.c hishrink.c \
+ hitexdir/hishrink-lexer.c \
+ hitexdir/hishrink-parser.c hitexdir/hishrink-parser.h
-# This is our attempt to ensure that bison is run before anything else.
+# This is our attempt to ensure that bison got run before anything else,
+# when needed.
#
$(hishrink_OBJECTS): $(srcdir)/hitexdir/hishrink-parser.h
#
diff --git a/Build/source/texk/web2c/hitexdir/hishrink-lexer.l b/Build/source/texk/web2c/hitexdir/hishrink-lexer.l
deleted file mode 100644
index a73b071561f..00000000000
--- a/Build/source/texk/web2c/hitexdir/hishrink-lexer.l
+++ /dev/null
@@ -1,422 +0,0 @@
- /*509:*/
-
-%{
-#include "basetypes.h"
-#include "error.h"
-#include "hformat.h"
-#include "hput.h"
-
- /*423:*/
-
-#ifdef DEBUG
-#define YYDEBUG 1
-extern int yydebug;
-#else
-#define YYDEBUG 0
-#endif
- /*:423*/
-
-#include "hishrink-parser.h"
-
- /*22:*/
-
-#define SCAN_UDEC(S) yylval.u= strtoul(S,NULL,10)
- /*:22*/ /*25:*/
-
-#define SCAN_HEX(S) yylval.u= strtoul(S,NULL,16)
- /*:25*/ /*28:*/
-
-#define SCAN_DEC(S) yylval.i= strtol(S,NULL,10)
- /*:28*/ /*31:*/
-
-#define MAX_STR (1<<10)
-static char str_buffer[MAX_STR];
-static int str_length;
-#define STR_START (str_length= 0)
-#define STR_PUT(C) (str_buffer[str_length++]= (C))
-#define STR_ADD(C) STR_PUT(C);RNG("String length",str_length,0,MAX_STR-1)
-#define STR_END str_buffer[str_length]= 0
-#define SCAN_STR yylval.s= str_buffer
- /*:31*/ /*40:*/
-
-#define SCAN_UTF8_1(S) yylval.u= ((S)[0]&0x7F)
- /*:40*/ /*42:*/
-
-#define SCAN_UTF8_2(S) yylval.u= (((S)[0]&0x1F)<<6)+((S)[1]&0x3F)
- /*:42*/ /*44:*/
-
-#define SCAN_UTF8_3(S) yylval.u= (((S)[0]&0x0F)<<12)+(((S)[1]&0x3F)<<6)+((S)[2]&0x3F)
- /*:44*/ /*46:*/
-
-#define SCAN_UTF8_4(S) yylval.u= (((S)[0]&0x03)<<18)+(((S)[1]&0x3F)<<12)+(((S)[2]&0x3F)<<6)+((S)[3]&0x3F)
- /*:46*/ /*57:*/
-
-#define SCAN_DECFLOAT yylval.f= atof(yytext)
- /*:57*/ /*60:*/
-
-#define SCAN_HEXFLOAT yylval.f= xtof(yytext)
- /*:60*/ /*152:*/
-
-#define SCAN_REF(K) yylval.rf.k= K; yylval.rf.n= atoi(yytext+2)
-static int scan_level= 0;
-#define SCAN_START yy_push_state(INITIAL);if (1==scan_level++) hpos0= hpos;
-#define SCAN_END if (scan_level--) yy_pop_state(); else QUIT("Too many '>' in line %d",yylineno)
-#define SCAN_TXT_START BEGIN(TXT)
-#define SCAN_TXT_END BEGIN(INITIAL)
- /*:152*/
-
- /*61:*/
-
-
-float64_t xtof(char*x)
-{int sign,digits,exp;
-uint64_t mantissa= 0;
-DBG(DBGFLOAT,"converting %s:\n",x);
- /*62:*/
-
-if(*x=='-'){sign= -1;x++;}
-else if(*x=='+'){sign= +1;x++;}
-else sign= +1;
-DBG(DBGFLOAT,"\tsign=%d\n",sign);
- /*:62*/
-
-x= x+2;
- /*63:*/
-
-digits= 0;
-while(*x=='0')x++;
-while(*x!='.')
-{mantissa= mantissa<<4;
-if(*x<'A')mantissa= mantissa+*x-'0';
-else mantissa= mantissa+*x-'A'+10;
-x++;
-digits++;
-}
-x++;
-exp= 0;
-while(*x!=0&&*x!='x')
-{mantissa= mantissa<<4;
-exp= exp-4;
-if(*x<'A')mantissa= mantissa+*x-'0';
-else mantissa= mantissa+*x-'A'+10;
-x++;
-digits++;
-}
-DBG(DBGFLOAT,"\tdigits=%d mantissa=0x%"PRIx64", exp=%d\n",digits,mantissa,exp);
- /*:63*/
-
- /*64:*/
-
-if(mantissa==0)return 0.0;
-{int s;
-s= digits-DBL_M_BITS/4;
-if(s> 1)
-mantissa= mantissa>>(4*(s-1));
-else if(s<1)
-mantissa= mantissa<<(4*(1-s));
-exp= exp+4*(digits-1);
-DBG(DBGFLOAT,"\tdigits=%d mantissa=0x%"PRIx64", exp=%d\n",digits,mantissa,exp);
-while((mantissa>>DBL_M_BITS)> 1){mantissa= mantissa>>1;exp++;}
-DBG(DBGFLOAT,"\tdigits=%d mantissa=0x%"PRIx64", exp=%d\n",digits,mantissa,exp);
-mantissa= mantissa&~((uint64_t)1<<DBL_M_BITS);
-DBG(DBGFLOAT,"\tdigits=%d mantissa=0x%"PRIx64", exp=%d\n",digits,mantissa,exp);
-}
- /*:64*/
-
- /*65:*/
-
-if(*x=='x')
-{int s;
-x++;
-if(*x=='-'){s= -1;x++;}
-else if(*x=='+'){s= +1;x++;}
-else s= +1;
-DBG(DBGFLOAT,"\texpsign=%d\n",s);
-DBG(DBGFLOAT,"\texp=%d\n",exp);
-while(*x!=0)
-{if(*x<'A')exp= exp+4*s*(*x-'0');
-else exp= exp+4*s*(*x-'A'+10);
-x++;
-DBG(DBGFLOAT,"\texp=%d\n",exp);
-}
-}
-RNG("Floating point exponent",exp,-DBL_EXCESS,DBL_EXCESS);
- /*:65*/
-
- /*66:*/
-
-{union{float64_t d;uint64_t bits;}u;
-if(sign<0)sign= 1;else sign= 0;
-exp= exp+DBL_EXCESS;
-u.bits= ((uint64_t)sign<<63)
-|((uint64_t)exp<<DBL_M_BITS)|mantissa;
-DBG(DBGFLOAT," return %f\n",u.d);
-return u.d;
-}
- /*:66*/
-
-}
- /*:61*/
-
-int yywrap(void){return 1;}
-#ifdef _MSC_VER
-#pragma warning( disable : 4267)
-#endif
-%}
-
-%option yylineno batch stack
-%option debug
-%option nounistd nounput noinput noyy_top_state
-
- /*23:*/
-
-HEX [0-9A-F]
- /*:23*/ /*32:*/
-
-%x STR
- /*:32*/ /*39:*/
-
-UTF8_1 [\x00-\x7F]
- /*:39*/ /*41:*/
-
-UTF8_2 [\xC0-\xDF][\x80-\xBF]
- /*:41*/ /*43:*/
-
-UTF8_3 [\xE0-\xEF][\x80-\xBF][\x80-\xBF]
- /*:43*/ /*45:*/
-
-UTF8_4 [\xF0-\xF7][\x80-\xBF][\x80-\xBF][\x80-\xBF]
- /*:45*/ /*149:*/
-
-%x TXT
- /*:149*/
-
-
-%%
-
- /*3:*/
-
-"<" SCAN_START;return START;
-">" SCAN_END;return END;
-glyph return GLYPH;
-0|[1-9][0-9]* SCAN_UDEC(yytext);return UNSIGNED;
-\*(0|[1-9][0-9]*) SCAN_UDEC(yytext+1);return REFERENCE;
-[[:space:]] ;
-\([^()\n]*[)\n] ;
- /*:3*/ /*24:*/
-
-0x{HEX}+ SCAN_HEX(yytext+2);return UNSIGNED;
- /*:24*/ /*27:*/
-
-[+-](0|[1-9][0-9]*) SCAN_DEC(yytext);return SIGNED;
- /*:27*/ /*34:*/
-
-' STR_START;BEGIN(STR);
-<STR>{
-' STR_END;SCAN_STR;BEGIN(INITIAL);return STRING;
-'' STR_ADD('\'');
-[\x20-\x7E] STR_ADD(yytext[0]);
-. RNG("String character",yytext[0],0x20,0x7E);
-\n QUIT("Unterminated String in line %d",yylineno);
-}
-
-
- /*:34*/ /*48:*/
-
-''' STR_START;STR_PUT('\'');BEGIN(STR);
-'''' SCAN_UTF8_1(yytext+1);return CHARCODE;
-'[\x20-\x7E]'' STR_START;STR_PUT(yytext[1]);STR_PUT('\'');BEGIN(STR);
-''''' STR_START;STR_PUT('\'');STR_PUT('\'');BEGIN(STR);
-'{UTF8_1}' SCAN_UTF8_1(yytext+1);return CHARCODE;
-'{UTF8_2}' SCAN_UTF8_2(yytext+1);return CHARCODE;
-'{UTF8_3}' SCAN_UTF8_3(yytext+1);return CHARCODE;
-'{UTF8_4}' SCAN_UTF8_4(yytext+1);return CHARCODE;
- /*:48*/ /*55:*/
-
-[+-]?[0-9]+\.[0-9]+(e[+-]?[0-9])? SCAN_DECFLOAT;return FPNUM;
- /*:55*/ /*59:*/
-
-[+-]?0x{HEX}+\.{HEX}+(x[+-]?{HEX}+)? SCAN_HEXFLOAT;return FPNUM;
- /*:59*/ /*80:*/
-
-dimen return DIMEN;
-pt return PT;
-mm return MM;
-in return INCH;
- /*:80*/ /*88:*/
-
-xdimen return XDIMEN;
-h return H;
-v return V;
- /*:88*/ /*99:*/
-
-fil return FIL;
-fill return FILL;
-filll return FILLL;
- /*:99*/ /*103:*/
-
-penalty return PENALTY;
-int return INTEGER;
- /*:103*/ /*109:*/
-
-language return LANGUAGE;
- /*:109*/ /*115:*/
-
-rule return RULE;
-"|" return RUNNING;
-"_" return RUNNING;
- /*:115*/ /*124:*/
-
-kern return KERN;
-! return EXPLICIT;
- /*:124*/ /*133:*/
-
-glue return GLUE;
-plus return PLUS;
-minus return MINUS;
- /*:133*/ /*151:*/
-
-\" SCAN_TXT_START;return TXT_START;
-
-<TXT>{
-\" SCAN_TXT_END;return TXT_END;
-
-"<" SCAN_START;return START;
-">" QUIT("> not allowed in text mode");
-
-\\\\ yylval.u= '\\';return TXT_CC;
-\\\" yylval.u= '"';return TXT_CC;
-\\"<" yylval.u= '<';return TXT_CC;
-\\">" yylval.u= '>';return TXT_CC;
-\\" " yylval.u= ' ';return TXT_CC;
-\\"-" yylval.u= '-';return TXT_CC;
-\\"@" return TXT_IGNORE;
-
-[ \t\r]*(\n[ \t\r]*)+ return TXT_FONT_GLUE;
-\\[ \t\r]*\n[ \t\r]* ;
-
-\\[0-7] yylval.u= yytext[1]-'0';return TXT_FONT;
-
-\\F[0-9]+\\ SCAN_REF(font_kind);return TXT_GLOBAL;
-\\P[0-9]+\\ SCAN_REF(penalty_kind);return TXT_GLOBAL;
-\\K[0-9]+\\ SCAN_REF(kern_kind);return TXT_GLOBAL;
-\\L[0-9]+\\ SCAN_REF(ligature_kind);return TXT_GLOBAL;
-\\D[0-9]+\\ SCAN_REF(disc_kind);return TXT_GLOBAL;
-\\G[0-9]+\\ SCAN_REF(glue_kind);return TXT_GLOBAL;
-\\S[0-9]+\\ SCAN_REF(language_kind);return TXT_GLOBAL;
-\\R[0-9]+\\ SCAN_REF(rule_kind);return TXT_GLOBAL;
-\\I[0-9]+\\ SCAN_REF(image_kind);return TXT_GLOBAL;
-
-
-\\C[0-9]+\\ SCAN_UDEC(yytext+2);return TXT_CC;
-
-\\[a-l] yylval.u= yytext[1]-'a';return TXT_LOCAL;
-" " return TXT_FONT_GLUE;
-"-" return TXT_FONT_HYPHEN;
-
-{UTF8_1} SCAN_UTF8_1(yytext);return TXT_CC;
-{UTF8_2} SCAN_UTF8_2(yytext);return TXT_CC;
-{UTF8_3} SCAN_UTF8_3(yytext);return TXT_CC;
-{UTF8_4} SCAN_UTF8_4(yytext);return TXT_CC;
-}
- /*:151*/ /*162:*/
-
-hbox return HBOX;
-vbox return VBOX;
-shifted return SHIFTED;
- /*:162*/ /*170:*/
-
-hpack return HPACK;
-hset return HSET;
-vpack return VPACK;
-vset return VSET;
-add return ADD;
-to return TO;
-depth return DEPTH;
- /*:170*/ /*175:*/
-
-leaders return LEADERS;
-align return ALIGN;
-center return CENTER;
-expand return EXPAND;
- /*:175*/ /*182:*/
-
-baseline return BASELINE;
- /*:182*/ /*189:*/
-
-ligature return LIGATURE;
- /*:189*/ /*197:*/
-
-disc return DISC;
- /*:197*/ /*205:*/
-
-par return PAR;
- /*:205*/ /*210:*/
-
-math return MATH;
- /*:210*/ /*215:*/
-
-on return ON;
-off return OFF;
- /*:215*/ /*219:*/
-
-adjust return ADJUST;
- /*:219*/ /*223:*/
-
-table return TABLE;
-item return ITEM;
-row return ITEM;
-column return ITEM;
- /*:223*/ /*230:*/
-
-image return IMAGE;
- /*:230*/ /*247:*/
-
-label return LABEL;
-bot return BOT;
-mid return MID;
- /*:247*/ /*261:*/
-
-link return LINK;
- /*:261*/ /*271:*/
-
-outline return OUTLINE;
- /*:271*/ /*278:*/
-
-stream if(section_no==1)return STREAMDEF;else return STREAM;
-first return FIRST;
-last return LAST;
-top return TOP;
-\* return NOREFERENCE;
- /*:278*/ /*288:*/
-
-page return PAGE;
- /*:288*/ /*296:*/
-
-range return RANGE;
- /*:296*/ /*323:*/
-
-directory return DIRECTORY;
-section return SECTION;
- /*:323*/ /*342:*/
-
-definitions return DEFINITIONS;
- /*:342*/ /*350:*/
-
-max return MAX;
- /*:350*/ /*365:*/
-
-param return PARAM;
- /*:365*/ /*374:*/
-
-font return FONT;
- /*:374*/ /*402:*/
-
-content return CONTENT;
- /*:402*/
-
-[a-z]+ QUIT("Unexpected keyword '%s' in line %d",yytext,yylineno);
-. QUIT("Unexpected character '%c' (0x%02X) in line %d",yytext[0]> ' '?yytext[0]:' ',yytext[0],yylineno);
-
-%%
- /*:509*/
diff --git a/Build/source/texk/web2c/hitexdir/hishrink-parser.y b/Build/source/texk/web2c/hitexdir/hishrink-parser.y
deleted file mode 100644
index 57f4834902f..00000000000
--- a/Build/source/texk/web2c/hitexdir/hishrink-parser.y
+++ /dev/null
@@ -1,742 +0,0 @@
-/*510:*/
-
-%{
-#include "basetypes.h"
-#include <string.h>
-#include <math.h>
-#include "error.h"
-#include "hformat.h"
-#include "hput.h"
-extern char**hfont_name;
-
-/*356:*/
-
-uint32_t definition_bits[0x100/32][32]= {{0}};
-
-#define SET_DBIT(N,K) ((N)> 0xFF?1:(definition_bits[N/32][K]|= (1<<((N)&(32-1)))))
-#define GET_DBIT(N,K) ((N)> 0xFF?1:((definition_bits[N/32][K]>>((N)&(32-1)))&1))
-#define DEF(D,K,N) (D).k= K; (D).n= (N);SET_DBIT((D).n,(D).k);\
- DBG(DBGDEF,"Defining %s %d\n",definition_name[(D).k],(D).n);\
- RNG("Definition",(D).n,max_fixed[(D).k]+1,max_ref[(D).k]);
-#define REF(K,N) REF_RNG(K,N);if(!GET_DBIT(N,K)) \
- QUIT("Reference %d to %s before definition",(N),definition_name[K])
-/*:356*//*360:*/
-
-#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);
-/*:360*/
-
-
-extern void hset_entry(entry_t*e,uint16_t i,uint32_t size,
-uint32_t xsize,char*file_name);
-
-/*423:*/
-
-#ifdef DEBUG
-#define YYDEBUG 1
-extern int yydebug;
-#else
-#define YYDEBUG 0
-#endif
-/*:423*/
-
-extern int yylex(void);
-
-/*352:*/
-
-void hset_max(kind_t 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])
-max_ref[k]= n;
-}
-/*:352*//*363:*/
-
-void check_param_def(ref_t*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)
-QUIT("Parameter %d for %s not allowed in parameter list",df->n,definition_name[df->k]);
-}
-/*:363*//*422:*/
-
-extern int yylineno;
-int yyerror(const char*msg)
-{QUIT(" in line %d %s",yylineno,msg);
-return 0;
-}
-/*:422*/
-
-
-%}
-
-
-
-
-
-%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;
-}
-
-
-
-%error_verbose
-%start hint
-
-/*2:*/
-
-%token START"<"
-%token END">"
-%token GLYPH"glyph"
-%token<u> UNSIGNED
-%token<u> REFERENCE
-/*:2*//*4:*/
-
-%type<u> start
-%type<c> glyph
-/*:4*//*26:*/
-
-%token<i> SIGNED
-%type<i> integer
-/*:26*//*33:*/
-
-%token<s> STRING
-/*:33*//*47:*/
-
-%token<u> CHARCODE
-/*:47*//*49:*/
-
-%type<s> string
-/*:49*//*54:*/
-
-%token<f> FPNUM
-%type<f> number
-/*:54*//*79:*/
-
-%token DIMEN"dimen"
-%token PT"pt"
-%token MM"mm"
-%token INCH"in"
-%type<d> dimension
-/*:79*//*87:*/
-
-%token XDIMEN"xdimen"
-%token H"h"
-%token V"v"
-%type<xd> xdimen
-/*:87*//*98:*/
-
-%token FIL"fil"
-%token FILL"fill"
-%token FILLL"filll"
-%type<st> stretch
-%type<o> order
-/*:98*//*102:*/
-
-%token PENALTY"penalty"
-%token INTEGER"int"
-%type<i> penalty
-/*:102*//*108:*/
-
-%token LANGUAGE"language"
-/*:108*//*114:*/
-
-%token RULE"rule"
-%token RUNNING"|"
-%type<d> rule_dimension
-%type<r> rule
-/*:114*//*123:*/
-
-%token KERN"kern"
-%token EXPLICIT"!"
-%type<b> explicit
-%type<kt> kern
-/*:123*//*132:*/
-
-%token GLUE"glue"
-%token PLUS"plus"
-%token MINUS"minus"
-%type<g> glue
-%type<b> glue_node
-%type<st> plus minus
-/*:132*//*141:*/
-
-%type<l> list
-%type<u> position content_list
-/*:141*//*150:*/
-
-%token TXT_START TXT_END TXT_IGNORE
-%token TXT_FONT_GLUE TXT_FONT_HYPHEN
-%token<u> TXT_FONT TXT_LOCAL
-%token<rf> TXT_GLOBAL
-%token<u> TXT_CC
-%type<u> text
-/*:150*//*161:*/
-
-%token HBOX"hbox"
-%token VBOX"vbox"
-%token SHIFTED"shifted"
-%type<info> box box_dimen box_shift box_glue_set
-
-/*:161*//*169:*/
-
-%token HPACK"hpack"
-%token HSET"hset"
-%token VPACK"vpack"
-%token VSET"vset"
-%token DEPTH"depth"
-%token ADD"add"
-%token TO"to"
-%type<info> xbox box_goal hpack vpack
-/*:169*//*174:*/
-
-%token LEADERS"leaders"
-%token ALIGN"align"
-%token CENTER"center"
-%token EXPAND"expand"
-%type<info> leaders
-%type<info> ltype
-/*:174*//*181:*/
-
-%token BASELINE"baseline"
-%type<info> baseline
-/*:181*//*188:*/
-
-%token LIGATURE"ligature"
-%type<u> lig_cc
-%type<lg> ligature
-%type<u> ref
-/*:188*//*196:*/
-
-%token DISC"disc"
-%type<dc> disc
-%type<u> replace_count
-/*:196*//*204:*/
-
-%token PAR"par"
-%type<info> par
-/*:204*//*209:*/
-
-%token MATH"math"
-%type<info> math
-/*:209*//*214:*/
-
-%token ON"on"
-%token OFF"off"
-%type<i> on_off
-/*:214*//*218:*/
-
-%token ADJUST"adjust"
-/*:218*//*222:*/
-
-%token TABLE"table"
-%token ITEM"item"
-%type<info> table span_count
-/*:222*//*229:*/
-
-%token IMAGE"image"
-%type<x> image image_dimen
-/*:229*//*246:*/
-
-%token LABEL"label"
-%token BOT"bot"
-%token MID"mid"
-%type<i> placement
-/*:246*//*260:*/
-
-%token LINK"link"
-/*:260*//*270:*/
-
-%token OUTLINE"outline"
-/*:270*//*277:*/
-
-%token STREAM"stream"
-%token STREAMDEF"stream (definition)"
-%token FIRST"first"
-%token LAST"last"
-%token TOP"top"
-%token NOREFERENCE"*"
-%type<info> stream_type
-%type<u> stream_ref
-%type<rf> stream_def_node
-/*:277*//*283:*/
-
-%type<info> stream
-/*:283*//*287:*/
-
-%token PAGE"page"
-/*:287*//*295:*/
-
-%token RANGE"range"
-/*:295*//*322:*/
-
-%token DIRECTORY"directory"
-%token SECTION"entry"
-/*:322*//*341:*/
-
-%token DEFINITIONS"definitions"
-/*:341*//*349:*/
-
-%token MAX"max"
-/*:349*//*358:*/
-
-
-%type<rf> def_node
-/*:358*//*364:*/
-
-%token PARAM"param"
-%type<u> def_list
-%type<l> parameters
-/*:364*//*373:*/
-
-%token FONT"font"
-%type<info> font font_head
-/*:373*//*401:*/
-
-%token CONTENT"content"
-/*:401*/
-
-%%
-/*5:*/
-
-glyph:UNSIGNED REFERENCE{$$.c= $1;REF(font_kind,$2);$$.f= $2;};
-content_node:start GLYPH glyph END{hput_tags($1,hput_glyph(&($3)));};
-start:START{HPUTNODE;$$= (uint32_t)(hpos++-hstart);}
-/*:5*//*29:*/
-
-integer:SIGNED|UNSIGNED{RNG("number",$1,0,INT32_MAX);};
-/*:29*//*38:*/
-
-glyph:CHARCODE REFERENCE{$$.c= $1;REF(font_kind,$2);$$.f= $2;};
-/*:38*//*50:*/
-
-string:STRING|CHARCODE{static char s[2];
-RNG("String element",$1,0x20,0x7E);
-s[0]= $1;s[1]= 0;$$= s;};
-/*:50*//*58:*/
-
-number:UNSIGNED{$$= (float64_t)$1;}|SIGNED{$$= (float64_t)$1;}|FPNUM;
-/*:58*//*82:*/
-
-dimension:number PT{$$= ROUND($1*ONE);RNG("Dimension",$$,-MAX_DIMEN,MAX_DIMEN);}
-|number INCH{$$= ROUND($1*ONE*72.27);RNG("Dimension",$$,-MAX_DIMEN,MAX_DIMEN);}
-|number MM{$$= ROUND($1*ONE*(72.27/25.4));RNG("Dimension",$$,-MAX_DIMEN,MAX_DIMEN);};
-/*:82*//*89:*/
-
-xdimen:dimension number H number V{$$.w= $1;$$.h= $2;$$.v= $4;}
-|dimension number H{$$.w= $1;$$.h= $2;$$.v= 0.0;}
-|dimension number V{$$.w= $1;$$.h= 0.0;$$.v= $2;}
-|dimension{$$.w= $1;$$.h= 0.0;$$.v= 0.0;};
-
-
-
-xdimen_node:start XDIMEN xdimen END{hput_tags($1,hput_xdimen(&($3)));};
-/*:89*//*100:*/
-
-
-order:PT{$$= normal_o;}|FIL{$$= fil_o;}|FILL{$$= fill_o;}|FILLL{$$= filll_o;};
-
-stretch:number order{$$.f= $1;$$.o= $2;};
-/*:100*//*104:*/
-
-penalty:integer{RNG("Penalty",$1,-20000,+20000);$$= $1;};
-content_node:start PENALTY penalty END{hput_tags($1,hput_int($3));};
-/*:104*//*116:*/
-
-rule_dimension:dimension|RUNNING{$$= RUNNING_DIMEN;};
-rule:rule_dimension rule_dimension rule_dimension
-{$$.h= $1;$$.d= $2;$$.w= $3;
-if($3==RUNNING_DIMEN&&($1==RUNNING_DIMEN||$2==RUNNING_DIMEN))
-QUIT("Incompatible running dimensions 0x%x 0x%x 0x%x",$1,$2,$3);};
-rule_node:start RULE rule END{hput_tags($1,hput_rule(&($3)));};
-content_node:rule_node;
-/*:116*//*125:*/
-
-explicit:{$$= false;}|EXPLICIT{$$= true;};
-kern:explicit xdimen{$$.x= $1;$$.d= $2;};
-content_node:start KERN kern END{hput_tags($1,hput_kern(&($3)));}
-/*:125*//*134:*/
-
-plus:{$$.f= 0.0;$$.o= 0;}|PLUS stretch{$$= $2;};
-minus:{$$.f= 0.0;$$.o= 0;}|MINUS stretch{$$= $2;};
-glue:xdimen plus minus{$$.w= $1;$$.p= $2;$$.m= $3;};
-content_node:start GLUE glue END{if(ZERO_GLUE($3)){HPUT8(zero_skip_no);
-hput_tags($1,TAG(glue_kind,0));}else hput_tags($1,hput_glue(&($3)));};
-glue_node:start GLUE glue END
-{if(ZERO_GLUE($3)){hpos--;$$= false;}
-else{hput_tags($1,hput_glue(&($3)));$$= true;}};
-/*:134*//*142:*/
-
-position:{$$= hpos-hstart;};
-content_list:position
-|content_list content_node;
-estimate:{hpos+= 2;}
-|UNSIGNED{hpos+= hsize_bytes($1)+1;};
-list:start estimate content_list END
-{$$.k= list_kind;$$.p= $3;$$.s= (hpos-hstart)-$3;
-hput_tags($1,hput_list($1+1,&($$)));};
-/*:142*//*153:*/
-
-list:TXT_START position
-{hpos+= 4;}
-text TXT_END
-{$$.k= text_kind;$$.p= $4;$$.s= (hpos-hstart)-$4;
-hput_tags($2,hput_list($2+1,&($$)));};
-text:position|text txt;
-
-txt:TXT_CC{hput_txt_cc($1);}
-|TXT_FONT{REF(font_kind,$1);hput_txt_font($1);}
-|TXT_GLOBAL{REF($1.k,$1.n);hput_txt_global(&($1));}
-|TXT_LOCAL{RNG("Font parameter",$1,0,11);hput_txt_local($1);}
-|TXT_FONT_GLUE{HPUTX(1);HPUT8(txt_glue);}
-|TXT_FONT_HYPHEN{HPUTX(1);HPUT8(txt_hyphen);}
-|TXT_IGNORE{HPUTX(1);HPUT8(txt_ignore);}
-|{HPUTX(1);HPUT8(txt_node);}content_node;
-/*:153*//*163:*/
-
-
-box_dimen:dimension dimension dimension
-{$$= hput_box_dimen($1,$2,$3);};
-box_shift:{$$= b000;}
-|SHIFTED dimension{$$= hput_box_shift($2);};
-
-box_glue_set:{$$= b000;}
-|PLUS stretch{$$= hput_box_glue_set(+1,$2.f,$2.o);}
-|MINUS stretch{$$= hput_box_glue_set(-1,$2.f,$2.o);};
-
-
-box:box_dimen box_shift box_glue_set list{$$= $1|$2|$3;};
-
-hbox_node:start HBOX box END{hput_tags($1,TAG(hbox_kind,$3));};
-vbox_node:start VBOX box END{hput_tags($1,TAG(vbox_kind,$3));};
-content_node:hbox_node|vbox_node;
-/*:163*//*171:*/
-
-box_flex:plus minus{hput_stretch(&($1));hput_stretch(&($2));};
-xbox:box_dimen box_shift box_flex xdimen_ref list{$$= $1|$2;}
-|box_dimen box_shift box_flex xdimen_node list{$$= $1|$2|b100;};
-
-box_goal:TO xdimen_ref{$$= b000;}
-|ADD xdimen_ref{$$= b001;}
-|TO xdimen_node{$$= b100;}
-|ADD xdimen_node{$$= b101;};
-
-hpack:box_shift box_goal list{$$= $2;};
-vpack:box_shift MAX DEPTH dimension{HPUT32($4);}box_goal list{$$= $1|$6;};
-
-vxbox_node:start VSET xbox END{hput_tags($1,TAG(vset_kind,$3));}
-|start VPACK vpack END{hput_tags($1,TAG(vpack_kind,$3));};
-
-
-hxbox_node:start HSET xbox END{hput_tags($1,TAG(hset_kind,$3));}
-|start HPACK hpack END{hput_tags($1,TAG(hpack_kind,$3));};
-
-content_node:vxbox_node|hxbox_node;
-/*:171*//*176:*/
-
-ltype:{$$= 1;}|ALIGN{$$= 1;}|CENTER{$$= 2;}|EXPAND{$$= 3;};
-leaders:glue_node ltype rule_node{if($1)$$= $2|b100;else $$= $2;}
-|glue_node ltype hbox_node{if($1)$$= $2|b100;else $$= $2;}
-|glue_node ltype vbox_node{if($1)$$= $2|b100;else $$= $2;};
-content_node:start LEADERS leaders END{hput_tags($1,TAG(leaders_kind,$3));}
-/*:176*//*183:*/
-
-baseline:dimension{if($1!=0)HPUT32($1);}
-glue_node glue_node{$$= b000;if($1!=0)$$|= b001;
-if($3)$$|= b100;
-if($4)$$|= b010;
-};
-content_node:start BASELINE baseline END
-{if($3==b000)HPUT8(0);hput_tags($1,TAG(baseline_kind,$3));};
-/*:183*//*190:*/
-
-cc_list:|cc_list TXT_CC{hput_utf8($2);};
-lig_cc:UNSIGNED{RNG("UTF-8 code",$1,0,0x1FFFFF);$$= hpos-hstart;hput_utf8($1);};
-lig_cc:CHARCODE{$$= hpos-hstart;hput_utf8($1);};
-ref:REFERENCE{HPUT8($1);$$= $1;};
-ligature:ref{REF(font_kind,$1);}lig_cc TXT_START cc_list TXT_END
-{$$.f= $1;$$.l.p= $3;$$.l.s= (hpos-hstart)-$3;
-RNG("Ligature size",$$.l.s,0,255);};
-content_node:start LIGATURE ligature END{hput_tags($1,hput_ligature(&($3)));};
-/*:190*//*198:*/
-
-replace_count:explicit{if($1){$$= 0x80;HPUT8(0x80);}else $$= 0x00;}
-|explicit UNSIGNED{RNG("Replace count",$2,0,31);
-$$= ($2)|(($1)?0x80:0x00);if($$!=0)HPUT8($$);};
-disc:replace_count list list{$$.r= $1;$$.p= $2;$$.q= $3;
-if($3.s==0){hpos= hpos-2;if($2.s==0)hpos= hpos-2;}}
-|replace_count list{$$.r= $1;$$.p= $2;if($2.s==0)hpos= hpos-2;$$.q.s= 0;}
-|replace_count{$$.r= $1;$$.p.s= 0;$$.q.s= 0;};
-
-
-disc_node:start DISC disc END
-{hput_tags($1,hput_disc(&($3)));};
-
-content_node:disc_node;
-/*:198*//*206:*/
-
-par_dimen:xdimen{hput_xdimen_node(&($1));};
-par:xdimen_ref param_ref list{$$= b000;}
-|xdimen_ref empty_param_list non_empty_param_list list{$$= b010;}
-|xdimen_ref empty_param_list list{$$= b010;}
-|xdimen param_ref{hput_xdimen_node(&($1));}list{$$= b100;}
-|par_dimen empty_param_list non_empty_param_list list{$$= b110;}
-|par_dimen empty_param_list list{$$= b110;};
-
-content_node:start PAR par END{hput_tags($1,TAG(par_kind,$3));};
-/*:206*//*211:*/
-
-math:param_ref list{$$= b000;}
-|param_ref list hbox_node{$$= b001;}
-|param_ref hbox_node list{$$= b010;}
-|empty_param_list list{$$= b100;}
-|empty_param_list list hbox_node{$$= b101;}
-|empty_param_list hbox_node list{$$= b110;}
-|empty_param_list non_empty_param_list list{$$= b100;}
-|empty_param_list non_empty_param_list list hbox_node{$$= b101;}
-|empty_param_list non_empty_param_list hbox_node list{$$= b110;};
-
-content_node:start MATH math END{hput_tags($1,TAG(math_kind,$3));};
-/*:211*//*216:*/
-
-on_off:ON{$$= 1;}|OFF{$$= 0;};
-math:on_off{$$= b011|($1<<2);};
-/*:216*//*220:*/
-
-content_node:start ADJUST list END{hput_tags($1,TAG(adjust_kind,1));};
-/*:220*//*224:*/
-
-span_count:UNSIGNED{$$= hput_span_count($1);};
-content_node:start ITEM content_node END{hput_tags($1,TAG(item_kind,1));};
-content_node:start ITEM span_count content_node END{hput_tags($1,TAG(item_kind,$3));};
-content_node:start ITEM list END{hput_tags($1,TAG(item_kind,b000));};
-
-table:H box_goal list list{$$= $2;};
-table:V box_goal list list{$$= $2|b010;};
-
-content_node:start TABLE table END{hput_tags($1,TAG(table_kind,$3));};
-/*:224*//*231:*/
-
-image_dimen:dimension dimension{$$.w= $1;$$.h= $2;}|{$$.w= $$.h= 0;};
-image:UNSIGNED image_dimen plus minus{$$.w= $2.w;$$.h= $2.h;$$.p= $3;$$.m= $4;RNG("Section number",$1,3,max_section_no);$$.n= $1;};
-content_node:start IMAGE image END{hput_tags($1,hput_image(&($3)));}
-/*:231*//*241:*/
-
-max_value:OUTLINE UNSIGNED{max_outline= $2;
-RNG("max outline",max_outline,0,0xFFFF);
-DBG(DBGDEF|DBGLABEL,"Setting max outline to %d\n",max_outline);
-};
-/*:241*//*248:*/
-
-placement:TOP{$$= LABEL_TOP;}|BOT{$$= LABEL_BOT;}|MID{$$= LABEL_MID;}|{$$= LABEL_MID;};
-content_node:START LABEL REFERENCE placement END
-{hset_label($3,$4);}
-/*:248*//*262:*/
-
-content_node:start LINK REFERENCE on_off END
-{hput_tags($1,hput_link($3,$4));};
-/*:262*//*272:*/
-
-def_node:START OUTLINE REFERENCE integer position list END{
-static int outline_no= -1;
-$$.k= outline_kind;$$.n= $3;
-if($6.s==0)QUIT("Outline with empty title in line %d",yylineno);
-outline_no++;
-hset_outline(outline_no,$3,$4,$5);
-};
-/*:272*//*279:*/
-
-stream_link:ref{REF_RNG(stream_kind,$1);}|NOREFERENCE{HPUT8(255);};
-stream_split:stream_link stream_link UNSIGNED{RNG("split ratio",$3,0,1000);HPUT16($3);};
-stream_info:xdimen_node UNSIGNED{RNG("magnification factor",$2,0,1000);HPUT16($2);}stream_split;
-
-stream_type:stream_info{$$= 0;}|FIRST{$$= 1;}|LAST{$$= 2;}|TOP{$$= 3;};
-
-stream_def_node:start STREAMDEF ref stream_type
-list xdimen_node glue_node list glue_node END
-{DEF($$,stream_kind,$3);hput_tags($1,TAG(stream_kind,$4|b100));};
-
-stream_ins_node:start STREAMDEF ref END
-{RNG("Stream insertion",$3,0,max_ref[stream_kind]);hput_tags($1,TAG(stream_kind,b100));};
-
-content_node:stream_def_node|stream_ins_node;
-/*:279*//*284:*/
-
-stream:empty_param_list list{$$= b010;}
-|empty_param_list non_empty_param_list list{$$= b010;}
-|param_ref list{$$= b000;};
-content_node:start STREAM stream_ref stream END
-{hput_tags($1,TAG(stream_kind,$4));};
-/*:284*//*289:*/
-
-page_priority:{HPUT8(1);}
-|UNSIGNED{RNG("page priority",$1,0,255);HPUT8($1);};
-
-stream_def_list:|stream_def_list stream_def_node;
-
-page:string{hput_string($1);}page_priority glue_node dimension{HPUT32($5);}
-xdimen_node xdimen_node
-list stream_def_list;
-/*:289*//*297:*/
-
-
-content_node:START RANGE REFERENCE ON END{REF(page_kind,$3);hput_range($3,true);}
-|START RANGE REFERENCE OFF END{REF(page_kind,$3);hput_range($3,false);};
-/*:297*//*308:*/
-
-hint:directory_section definition_section content_section;
-/*:308*//*324:*/
-
-directory_section:START DIRECTORY UNSIGNED{new_directory($3+1);new_output_buffers();}entry_list END;
-entry_list:|entry_list entry;
-entry:START SECTION UNSIGNED string END
-{RNG("Section number",$3,3,max_section_no);hset_entry(&(dir[$3]),$3,0,0,$4);};
-/*:324*//*343:*/
-
-definition_section:START DEFINITIONS{hput_definitions_start();}
-max_definitions definition_list
-END{hput_definitions_end();};
-definition_list:|definition_list def_node;
-/*:343*//*351:*/
-
-max_definitions:START MAX max_list END
-{/*245:*/
-
-if(max_ref[label_kind]>=0)
-ALLOCATE(labels,max_ref[label_kind]+1,label_t);
-/*:245*//*266:*/
-
-if(max_outline>=0)
-ALLOCATE(outlines,max_outline+1,outline_t);
-/*:266*//*293:*/
-
-ALLOCATE(page_on,max_ref[page_kind]+1,int);
-ALLOCATE(range_pos,2*(max_ref[range_kind]+1),range_pos_t);
-/*:293*//*357:*/
-
-definition_bits[0][int_kind]= (1<<(MAX_INT_DEFAULT+1))-1;
-definition_bits[0][dimen_kind]= (1<<(MAX_DIMEN_DEFAULT+1))-1;
-definition_bits[0][xdimen_kind]= (1<<(MAX_XDIMEN_DEFAULT+1))-1;
-definition_bits[0][glue_kind]= (1<<(MAX_GLUE_DEFAULT+1))-1;
-definition_bits[0][baseline_kind]= (1<<(MAX_BASELINE_DEFAULT+1))-1;
-definition_bits[0][page_kind]= (1<<(MAX_PAGE_DEFAULT+1))-1;
-definition_bits[0][stream_kind]= (1<<(MAX_STREAM_DEFAULT+1))-1;
-definition_bits[0][range_kind]= (1<<(MAX_RANGE_DEFAULT+1))-1;
-/*:357*//*372:*/
-
-ALLOCATE(hfont_name,max_ref[font_kind]+1,char*);
-/*:372*/
-hput_max_definitions();};
-
-max_list:|max_list START max_value END;
-
-max_value:FONT UNSIGNED{hset_max(font_kind,$2);}
-|INTEGER UNSIGNED{hset_max(int_kind,$2);}
-|DIMEN UNSIGNED{hset_max(dimen_kind,$2);}
-|LIGATURE UNSIGNED{hset_max(ligature_kind,$2);}
-|DISC UNSIGNED{hset_max(disc_kind,$2);}
-|GLUE UNSIGNED{hset_max(glue_kind,$2);}
-|LANGUAGE UNSIGNED{hset_max(language_kind,$2);}
-|RULE UNSIGNED{hset_max(rule_kind,$2);}
-|IMAGE UNSIGNED{hset_max(image_kind,$2);}
-|LEADERS UNSIGNED{hset_max(leaders_kind,$2);}
-|BASELINE UNSIGNED{hset_max(baseline_kind,$2);}
-|XDIMEN UNSIGNED{hset_max(xdimen_kind,$2);}
-|PARAM UNSIGNED{hset_max(param_kind,$2);}
-|STREAMDEF UNSIGNED{hset_max(stream_kind,$2);}
-|PAGE UNSIGNED{hset_max(page_kind,$2);}
-|RANGE UNSIGNED{hset_max(range_kind,$2);}
-|LABEL UNSIGNED{hset_max(label_kind,$2);};
-
-/*:351*//*359:*/
-
-def_node:
-start FONT ref font END{DEF($$,font_kind,$3);hput_tags($1,$4);}
-|start INTEGER ref integer END{DEF($$,int_kind,$3);hput_tags($1,hput_int($4));}
-|start DIMEN ref dimension END{DEF($$,dimen_kind,$3);hput_tags($1,hput_dimen($4));}
-|start LANGUAGE ref string END{DEF($$,language_kind,$3);hput_string($4);hput_tags($1,TAG(language_kind,0));}
-|start GLUE ref glue END{DEF($$,glue_kind,$3);hput_tags($1,hput_glue(&($4)));}
-|start XDIMEN ref xdimen END{DEF($$,xdimen_kind,$3);hput_tags($1,hput_xdimen(&($4)));}
-|start RULE ref rule END{DEF($$,rule_kind,$3);hput_tags($1,hput_rule(&($4)));}
-|start LEADERS ref leaders END{DEF($$,leaders_kind,$3);hput_tags($1,TAG(leaders_kind,$4));}
-|start BASELINE ref baseline END{DEF($$,baseline_kind,$3);hput_tags($1,TAG(baseline_kind,$4));}
-|start LIGATURE ref ligature END{DEF($$,ligature_kind,$3);hput_tags($1,hput_ligature(&($4)));}
-|start DISC ref disc END{DEF($$,disc_kind,$3);hput_tags($1,hput_disc(&($4)));}
-|start IMAGE ref image END{DEF($$,image_kind,$3);hput_tags($1,hput_image(&($4)));}
-|start PARAM ref parameters END{DEF($$,param_kind,$3);hput_tags($1,hput_list($1+2,&($4)));}
-|start PAGE ref page END{DEF($$,page_kind,$3);hput_tags($1,TAG(page_kind,0));};
-/*:359*//*361:*/
-
-def_node:
-start INTEGER ref ref END{DEF_REF($$,int_kind,$3,$4);hput_tags($1,TAG(int_kind,0));}
-|start DIMEN ref ref END{DEF_REF($$,dimen_kind,$3,$4);hput_tags($1,TAG(dimen_kind,0));}
-|start GLUE ref ref END{DEF_REF($$,glue_kind,$3,$4);hput_tags($1,TAG(glue_kind,0));};
-/*:361*//*366:*/
-
-def_list:position
-|def_list def_node{check_param_def(&($2));};
-parameters:estimate def_list{$$.p= $2;$$.k= param_kind;$$.s= (hpos-hstart)-$2;};
-/*:366*//*367:*/
-
-empty_param_list:position{HPUTX(2);hpos++;hput_tags($1,TAG(param_kind,1));};
-non_empty_param_list:start PARAM{hpos= hpos-2;}parameters END
-{hput_tags($1-2,hput_list($1-1,&($4)));};
-/*:367*//*375:*/
-
-
-font:font_head font_param_list;
-
-font_head:string dimension UNSIGNED UNSIGNED
-{uint8_t f= $<u>0;SET_DBIT(f,font_kind);hfont_name[f]= strdup($1);$$= hput_font_head(f,hfont_name[f],$2,$3,$4);};
-
-font_param_list:glue_node disc_node|font_param_list font_param;
-
-font_param:
-start PENALTY fref penalty END{hput_tags($1,hput_int($4));}
-|start KERN fref kern END{hput_tags($1,hput_kern(&($4)));}
-|start LIGATURE fref ligature END{hput_tags($1,hput_ligature(&($4)));}
-|start DISC fref disc END{hput_tags($1,hput_disc(&($4)));}
-|start GLUE fref glue END{hput_tags($1,hput_glue(&($4)));}
-|start LANGUAGE fref string END{hput_string($4);hput_tags($1,TAG(language_kind,0));}
-|start RULE fref rule END{hput_tags($1,hput_rule(&($4)));}
-|start IMAGE fref image END{hput_tags($1,hput_image(&($4)));};
-
-fref:ref{RNG("Font parameter",$1,0,MAX_FONT_PARAMS);};
-/*:375*//*378:*/
-
-xdimen_ref:ref{REF(xdimen_kind,$1);};
-param_ref:ref{REF(param_kind,$1);};
-stream_ref:ref{REF_RNG(stream_kind,$1);};
-
-
-content_node:
-start PENALTY ref END{REF(penalty_kind,$3);hput_tags($1,TAG(penalty_kind,0));}
-|start KERN explicit ref END
-{REF(dimen_kind,$4);hput_tags($1,TAG(kern_kind,($3)?b100:b000));}
-|start KERN explicit XDIMEN ref END
-{REF(xdimen_kind,$5);hput_tags($1,TAG(kern_kind,($3)?b101:b001));}
-|start GLUE ref END{REF(glue_kind,$3);hput_tags($1,TAG(glue_kind,0));}
-|start LIGATURE ref END{REF(ligature_kind,$3);hput_tags($1,TAG(ligature_kind,0));}
-|start DISC ref END{REF(disc_kind,$3);hput_tags($1,TAG(disc_kind,0));}
-|start RULE ref END{REF(rule_kind,$3);hput_tags($1,TAG(rule_kind,0));}
-|start IMAGE ref END{REF(image_kind,$3);hput_tags($1,TAG(image_kind,0));}
-|start LEADERS ref END{REF(leaders_kind,$3);hput_tags($1,TAG(leaders_kind,0));}
-|start BASELINE ref END{REF(baseline_kind,$3);hput_tags($1,TAG(baseline_kind,0));}
-|start LANGUAGE REFERENCE END{REF(language_kind,$3);hput_tags($1,hput_language($3));};
-
-glue_node:start GLUE ref END{REF(glue_kind,$3);
-if($3==zero_skip_no){hpos= hpos-2;$$= false;}
-else{hput_tags($1,TAG(glue_kind,0));$$= true;}};
-
-/*:378*//*403:*/
-
-content_section:START CONTENT{hput_content_start();}content_list END
-{hput_content_end();hput_range_defs();hput_label_defs();};
-/*:403*/
-
-%%
-/*:510*/