diff options
author | Karl Berry <karl@freefriends.org> | 2021-10-01 16:30:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-10-01 16:30:06 +0000 |
commit | 070e5192bad37b3ceee5d098ea0e8c7519986734 (patch) | |
tree | c840e50bdd779466a4b7dfd90b82baf10d320bf6 | |
parent | 491c5f3e5c3e05de728b0e759fc8122ac8d47e94 (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.in | 358 | ||||
-rw-r--r-- | Build/source/texk/web2c/hitexdir/ChangeLog | 20 | ||||
-rw-r--r-- | Build/source/texk/web2c/hitexdir/am/hitex.am | 23 | ||||
-rw-r--r-- | Build/source/texk/web2c/hitexdir/hishrink-lexer.l | 422 | ||||
-rw-r--r-- | Build/source/texk/web2c/hitexdir/hishrink-parser.y | 742 |
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*/ |