summaryrefslogtreecommitdiff
path: root/Build/source/utils/xindy/tex2xindy
diff options
context:
space:
mode:
authorVladimir Volovich <vvv@vsu.ru>2008-03-18 00:00:20 +0000
committerVladimir Volovich <vvv@vsu.ru>2008-03-18 00:00:20 +0000
commitabdd2d2892b5ee0071ef7bf1a387251d74e78055 (patch)
treedc561d5309e02baceac6cc2a7ad9980c7a3a0adf /Build/source/utils/xindy/tex2xindy
parent1f50183588e388206c13d505102dbd9525871429 (diff)
*original* xindy-2.3 sources downloaded from
http://surfnet.dl.sourceforge.net/sourceforge/xindy/xindy-2.3.tar.gz except the directory "rte/clisp-2.43/", which contained original clisp-2.43 sources (nearly 48 MB), is removed. git-svn-id: svn://tug.org/texlive/trunk@7003 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/xindy/tex2xindy')
-rw-r--r--Build/source/utils/xindy/tex2xindy/Makefile.am35
-rw-r--r--Build/source/utils/xindy/tex2xindy/Makefile.in456
-rw-r--r--Build/source/utils/xindy/tex2xindy/tex2xindy.1206
-rw-r--r--Build/source/utils/xindy/tex2xindy/tex2xindy.l503
4 files changed, 1200 insertions, 0 deletions
diff --git a/Build/source/utils/xindy/tex2xindy/Makefile.am b/Build/source/utils/xindy/tex2xindy/Makefile.am
new file mode 100644
index 00000000000..5f890cf50a0
--- /dev/null
+++ b/Build/source/utils/xindy/tex2xindy/Makefile.am
@@ -0,0 +1,35 @@
+## Use `autoreconf' in top-level directory to recreate all
+## autoconf/automake files.
+## Or, call `automake Makefile' to create only Makefile.in.
+
+## Copyright (C) 2004-2005 by Gour.
+##
+## This program is free software; you can redistribute it and/or
+## modify it under the terms of the GNU General Public License as
+## published by the Free Software Foundation; either version 2 of the
+## License, or (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful, but
+## WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+## General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program in the file COPYING; if not, write to the
+## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+## Boston, MA 02110-1301 USA.
+
+bin_PROGRAMS = tex2xindy
+
+tex2xindy_SOURCES = tex2xindy.l
+
+tex2xindy_LDADD = @LEXLIB@
+
+man_MANS = tex2xindy.1
+
+EXTRA_DIST = $(man_MANS)
+
+CLEANFILES = tex2xindy.c
+
+dist-hook:
+ rm -f $(distdir)/tex2xindy.c
diff --git a/Build/source/utils/xindy/tex2xindy/Makefile.in b/Build/source/utils/xindy/tex2xindy/Makefile.in
new file mode 100644
index 00000000000..3ab52625c5e
--- /dev/null
+++ b/Build/source/utils/xindy/tex2xindy/Makefile.in
@@ -0,0 +1,456 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = tex2xindy$(EXEEXT)
+subdir = tex2xindy
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am tex2xindy.c
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_prog_latex.m4 \
+ $(top_srcdir)/m4/ac_prog_pdflatex.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_tex2xindy_OBJECTS = tex2xindy.$(OBJEXT)
+tex2xindy_OBJECTS = $(am_tex2xindy_OBJECTS)
+tex2xindy_DEPENDENCIES =
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
+SOURCES = $(tex2xindy_SOURCES)
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man_MANS)
+ETAGS = etags
+CTAGS = ctags
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILDDOCS_FALSE = @BUILDDOCS_FALSE@
+BUILDDOCS_TRUE = @BUILDDOCS_TRUE@
+BUILDRULES_FALSE = @BUILDRULES_FALSE@
+BUILDRULES_TRUE = @BUILDRULES_TRUE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CLISP_DIR = @CLISP_DIR@
+CLISP_PATH = @CLISP_PATH@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+EXT_CLISP_FALSE = @EXT_CLISP_FALSE@
+EXT_CLISP_TRUE = @EXT_CLISP_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LEX = @LEX@
+LEXLIB = @LEXLIB@
+LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+YACC = @YACC@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+latex = @latex@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdflatex = @pdflatex@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+tex2xindy_SOURCES = tex2xindy.l
+tex2xindy_LDADD = @LEXLIB@
+man_MANS = tex2xindy.1
+EXTRA_DIST = $(man_MANS)
+CLEANFILES = tex2xindy.c
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .l .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tex2xindy/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign tex2xindy/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+ rm -f "$(DESTDIR)$(bindir)/$$f"; \
+ done
+
+clean-binPROGRAMS:
+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+tex2xindy$(EXEEXT): $(tex2xindy_OBJECTS) $(tex2xindy_DEPENDENCIES)
+ @rm -f tex2xindy$(EXEEXT)
+ $(LINK) $(tex2xindy_LDFLAGS) $(tex2xindy_OBJECTS) $(tex2xindy_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tex2xindy.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.l.c:
+ $(LEXCOMPILE) $<
+ sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@
+ rm -f $(LEX_OUTPUT_ROOT).c
+uninstall-info-am:
+install-man1: $(man1_MANS) $(man_MANS)
+ @$(NORMAL_INSTALL)
+ test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+ else file=$$i; fi; \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ case "$$ext" in \
+ 1*) ;; \
+ *) ext='1' ;; \
+ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
+ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ case "$$ext" in \
+ 1*) ;; \
+ *) ext='1' ;; \
+ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+ echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
+ rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) $(MANS)
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+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 tex2xindy.c
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-exec-am: install-binPROGRAMS
+
+install-info: install-info-am
+
+install-man: install-man1
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am uninstall-man
+
+uninstall-man: uninstall-man1
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+ clean-generic ctags distclean distclean-compile \
+ distclean-generic distclean-tags dvi dvi-am html html-am info \
+ info-am install install-am install-binPROGRAMS install-data \
+ install-data-am install-exec install-exec-am install-info \
+ install-info-am install-man install-man1 install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-binPROGRAMS uninstall-info-am \
+ uninstall-man uninstall-man1
+
+
+dist-hook:
+ rm -f $(distdir)/tex2xindy.c
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/Build/source/utils/xindy/tex2xindy/tex2xindy.1 b/Build/source/utils/xindy/tex2xindy/tex2xindy.1
new file mode 100644
index 00000000000..b590eb4254a
--- /dev/null
+++ b/Build/source/utils/xindy/tex2xindy/tex2xindy.1
@@ -0,0 +1,206 @@
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. | will give a
+.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.\"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "TEX2XINDY.L 1"
+.TH TEX2XINDY.L 1 "2006-07-30" "Version 1.21" "xindy"
+.SH "NAME"
+tex2xindy \- a preprocessor of the xindy index processor
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+.Vb 1
+\& tex2xindy [-o] [attr_file]
+.Ve
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBtex2xindy\fR transforms a LaTeX index file \f(CW\*(C`.idx\*(C'\fR (or an \f(CW\*(C`.aux\*(C'\fR
+file) into a \fBxindy\fR raw index file.
+.PP
+It is a filter that reads from \fIstdin\fR a file in the input format of
+LaTeX's raw index file, i.e., with \f(CW\*(C`\eindexentry\*(C'\fR tags. It outputs on
+\&\fIstdout\fR a \fBxindy\fR raw index file, i.e., with \f(CW\*(C`indexentry\*(C'\fR clauses.
+.PP
+If the option \fB\-o\fR is not specified, \fBtex2xindy\fR handles ^^\-notation
+of TeX and outputs the octet that is represented: \f(CW\*(C`^^ab\*(C'\fR in the input
+gets output as the octet 0xab. If \f(CW\*(C`^^^^abcd\*(C'\fR or \f(CW\*(C`^^^^^^^^abcdefab\*(C'\fR
+are detected, they are output as is.
+.PP
+If the option \fB\-o\fR is specified, \fBtex2xindy\fR operates in \fIOmega
+mode\fR and handles its ^^\-notation: Then \f(CW\*(C`^^ab\*(C'\fR, \f(CW\*(C`^^^^abcd\*(C'\fR, and
+\&\f(CW\*(C`^^^^^^^^abcdefab\*(C'\fR represent Unicode characters with code points
+0xab, 0xabcd, and 0xabcdefab respectively. They are output in \s-1UTF\-8\s0
+encoding.
+.PP
+If the optional argument \fIattr_file\fR is specified, \fBtex2xindy\fR
+writes all index key attributes into this file.
+.SH "DEFICITS"
+.IX Header "DEFICITS"
+This program was written since it was not easily possible to extract
+the parser from the old makeindex system. Therefore it does not find
+all errors in the input as the \fImakeindex\fR\|(1) version.
+.PP
+Additionally it uses only the default input specifiers of
+\&\fImakeindex\fR\|(1). If other input specifiers (cf. manual page of
+\&\fImakeindex\fR\|(1)) are needed, the input specifiers (starting from the
+pattern \f(CW\*(C`KEYWORD\*(C'\fR, see below) must be changed and the program must be
+recompiled.
+.PP
+The particular missing feature is configuration of the quote and the
+actual characters, maybe also the escape, subitem (level), and encap
+characters. Argument and range delimiters seem to be less of a problem.
+.PP
+In fact, input markup handling (and thus \fBtex2xindy\fR) should be
+incorporated into the \fBxindy\fR kernel, to be able to specify
+configuration in xindy style files.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fItexindy\fR\|(1),
+\&\fIxindy\fR\|(1),
+\&\fImakeindex\fR\|(1)
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Roger Kehr, Institut fuer Theoretische Informatik, \s-1TU\s0 Darmstadt
+.SH "COPYRIGHT AND LICENSE"
+.IX Header "COPYRIGHT AND LICENSE"
+Copyright (c) 1996,1997 Roger Kehr.
+Copyright (c) 2006 Joachim Schrod.
+.PP
+This program is free software; you can redistribute it and/or modify
+it under the terms of the \s-1GNU\s0 General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+.PP
+This program is distributed in the hope that it will be useful, but
+\&\s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of
+\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the \s-1GNU\s0
+General Public License for more details.
+.PP
+You should have received a copy of the \s-1GNU\s0 General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, \s-1MA\s0 02139, \s-1USA\s0.
diff --git a/Build/source/utils/xindy/tex2xindy/tex2xindy.l b/Build/source/utils/xindy/tex2xindy/tex2xindy.l
new file mode 100644
index 00000000000..8aef4cd6fc6
--- /dev/null
+++ b/Build/source/utils/xindy/tex2xindy/tex2xindy.l
@@ -0,0 +1,503 @@
+%{
+ /* $Id: tex2xindy.l,v 1.21 2006/07/30 09:44:04 jschrod Exp $
+ ============================================================
+ (history at end)
+
+=head1 NAME
+
+tex2xindy - a preprocessor of the xindy index processor
+
+=head1 SYNOPSIS
+
+ tex2xindy [-o] [attr_file]
+
+=head1 DESCRIPTION
+
+B<tex2xindy> transforms a LaTeX index file C<.idx> (or an C<.aux>
+file) into a B<xindy> raw index file.
+
+It is a filter that reads from F<stdin> a file in the input format of
+LaTeX's raw index file, i.e., with C<\indexentry> tags. It outputs on
+F<stdout> a B<xindy> raw index file, i.e., with C<indexentry> clauses.
+
+If the option B<-o> is not specified, B<tex2xindy> handles ^^-notation
+of TeX and outputs the octet that is represented: C<^^ab> in the input
+gets output as the octet 0xab. If C<^^^^abcd> or C<^^^^^^^^abcdefab>
+are detected, they are output as is.
+
+If the option B<-o> is specified, B<tex2xindy> operates in I<Omega
+mode> and handles its ^^-notation: Then C<^^ab>, C<^^^^abcd>, and
+C<^^^^^^^^abcdefab> represent Unicode characters with code points
+0xab, 0xabcd, and 0xabcdefab respectively. They are output in UTF-8
+encoding.
+
+If the optional argument F<attr_file> is specified, B<tex2xindy>
+writes all index key attributes into this file.
+
+
+=head1 DEFICITS
+
+This program was written since it was not easily possible to extract
+the parser from the old makeindex system. Therefore it does not find
+all errors in the input as the makeindex(1) version.
+
+Additionally it uses only the default input specifiers of
+makeindex(1). If other input specifiers (cf. manual page of
+makeindex(1)) are needed, the input specifiers (starting from the
+pattern C<KEYWORD>, see below) must be changed and the program must be
+recompiled.
+
+The particular missing feature is configuration of the quote and the
+actual characters, maybe also the escape, subitem (level), and encap
+characters. Argument and range delimiters seem to be less of a problem.
+
+In fact, input markup handling (and thus B<tex2xindy>) should be
+incorporated into the B<xindy> kernel, to be able to specify
+configuration in xindy style files.
+
+=head1 SEE ALSO
+
+texindy(1),
+xindy(1),
+makeindex(1)
+
+=head1 AUTHOR
+
+Roger Kehr, Institut fuer Theoretische Informatik, TU Darmstadt
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright (c) 1996,1997 Roger Kehr.
+Copyright (c) 2006 Joachim Schrod.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+=cut
+
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#define QUOTE_ECHO qs(yytext)
+
+FILE* attrfd = NULL;
+
+static int lineno = 1;
+static int braces = 0;
+static int xref_mode = 0;
+static int glos_mode = 0;
+static int errors = 0;
+static int omega_mode = 0;
+
+#define multiple_err \
+ { \
+ fprintf(stderr, "line %d: multiple %s's\n", lineno, yytext); \
+ errors++; \
+ }
+
+#define NO_RANGE 0
+#define OPEN_RANGE 1
+#define CLOSE_RANGE 2
+
+int range = NO_RANGE;
+
+/* This function quotes a character, if necessary. */
+
+void qc( char ch ) {
+ switch (ch) {
+ case '\\' :
+ case '"' :
+ putchar( '\\' );
+ break;
+ }
+ putchar(ch);
+}
+
+/* Quote an entire string. */
+
+void qs( char* str ) {
+ while ( *str ) {
+ qc( *str++ );
+ }
+}
+
+/*
+ Output an Omega character, ^^-notation in yytext, in UTF-8 encoding.
+ The parameter gets passed the amount of hex digits in the ^^-notation.
+ In front of the hex digits are the same amount of ^ chars.
+*/
+void omega_output_utf8 ( int width )
+{
+ unsigned long int c = strtoul (yytext+width, NULL, 16);
+ if (c < 0x80) {
+ putchar (c);
+ }
+ else if (c < 0x800) {
+ putchar (0xC0 | (c>>6));
+ putchar (0x80 | (c & 0x3F));
+ }
+ else if (c < 0x10000) {
+ putchar (0xE0 | (c>>12));
+ putchar (0x80 | (c>>6 & 0x3F));
+ putchar (0x80 | (c & 0x3F));
+ }
+ else if (c < 0x200000) {
+ putchar (0xF0 | (c>>18));
+ putchar (0x80 | (c>>12 & 0x3F));
+ putchar (0x80 | (c>>6 & 0x3F));
+ putchar (0x80 | (c & 0x3F));
+ }
+ else if (c < 0x4000000) {
+ putchar (0xF8 | (c>>24));
+ putchar (0x80 | (c>>18 & 0x3F));
+ putchar (0x80 | (c>>12 & 0x3F));
+ putchar (0x80 | (c>>6 & 0x3F));
+ putchar (0x80 | (c & 0x3F));
+ }
+ else if (c < 0x80000000) {
+ putchar (0xFC | (c>>30));
+ putchar (0x80 | (c>>24 & 0x3F));
+ putchar (0x80 | (c>>18 & 0x3F));
+ putchar (0x80 | (c>>12 & 0x3F));
+ putchar (0x80 | (c>>6 & 0x3F));
+ putchar (0x80 | (c & 0x3F));
+ }
+ else { /* out of range, output U+FFFD REPLACEMENT CHARACTER */
+ fputs("\xef\xbf\xbd",stdout);
+ fprintf (stderr, "line %d: character %#lx not in UTF-8 range\n",
+ lineno, c);
+ }
+}
+
+%}
+
+KEYWORD \\indexentry
+KEYWORDG \\glossaryentry
+ENCAP \|
+ACTUAL @
+ESCAPE \\
+LEVEL !
+IS :
+QUOTE \"
+ROPEN \(
+RCLOSE \)
+ARGOPEN \{
+ARGCLOSE \}
+
+HATHAT8BIT \^{2}[0-9a-fA-F]{2}
+HATHAT16BIT \^{4}[0-9a-fA-F]{4}
+HATHAT32BIT \^{8}[0-9a-fA-F]{8}
+
+%s key print skip2location location encap xref is skiplocation
+
+%%
+
+<INITIAL>{KEYWORD}[ \t]*{ARGOPEN} {
+ printf("(indexentry :tkey ((\"");
+ xref_mode = 0;
+ glos_mode = 0;
+ BEGIN(key);
+ }
+
+<INITIAL>{KEYWORDG}[ \t]*{ARGOPEN} {
+ printf("(indexentry :tkey ((\"");
+ xref_mode = 0;
+ glos_mode = 1;
+ BEGIN(key);
+ }
+
+{ESCAPE}{QUOTE} { QUOTE_ECHO; }
+{QUOTE}\n { qc(yytext[1]); lineno++; }
+{QUOTE}. { qc(yytext[1]); }
+<key,print>{ENCAP} {
+ printf("\")) :attr \"");
+ range = NO_RANGE;
+ BEGIN(encap);
+ }
+<key,print>{IS} {
+ if ( glos_mode ) {
+ printf("\")) :attr \"is\" :xref (\"");
+ range = NO_RANGE;
+ if (attrfd) fprintf(attrfd, "\txref\n");
+ BEGIN(is);
+ } else {
+ ECHO;
+ }
+ }
+<key>{LEVEL} { printf("\") (\""); }
+<print>{LEVEL} { printf("\") (\""); BEGIN(key); }
+<key,print>{ARGOPEN} { ECHO; braces++; }
+<key,print>{ARGCLOSE} {
+ if ( braces > 0 ) {
+ ECHO;
+ braces--;
+ } else {
+ printf("\"))");
+ BEGIN(skip2location);
+ }
+ }
+
+<key>{ACTUAL} { printf("\" \""); BEGIN(print); }
+<print>{ACTUAL} { multiple_err; }
+
+<encap>{ENCAP} { multiple_err; }
+<encap>{ROPEN} { range = OPEN_RANGE; }
+<encap>{RCLOSE} { range = CLOSE_RANGE; }
+<encap>{ARGOPEN} { /* close :attr "... */
+ printf("\" :xref (\"");
+ if (attrfd) fprintf(attrfd, "\txref\n");
+ braces++;
+ BEGIN(xref);
+ }
+<encap>{ARGCLOSE} {
+ if ( braces > 0 ) {
+ ECHO;
+ braces--;
+ } else {
+ putchar('"');
+ if (attrfd) fprintf(attrfd, "\tlocref\n");
+ switch (range) {
+ case OPEN_RANGE:
+ printf(" :open-range");
+ break;
+ case CLOSE_RANGE:
+ printf(" :close-range");
+ break;
+ }
+ BEGIN(skip2location);
+ }
+ }
+<encap>.|\n {
+ QUOTE_ECHO;
+ if (attrfd) fwrite(yytext, sizeof(char), 1, attrfd);
+ if (*yytext == '\n') lineno++;
+ }
+
+
+
+<xref>{LEVEL} { printf("\" \""); }
+<xref,is>{ARGOPEN} { ECHO; braces++; }
+<xref>{ARGCLOSE} {
+ if ( braces > 1 ) {
+ ECHO;
+ braces--;
+ } else if ( braces == 1 ) {
+ braces--;
+ } else {
+ printf("\")");
+ xref_mode = 1;
+ BEGIN(skip2location);
+ }
+ }
+<is>{ARGCLOSE} {
+ if ( braces > 0 ) {
+ ECHO;
+ braces--;
+ } else {
+ printf("\")");
+ xref_mode = 1;
+ BEGIN(skip2location);
+ }
+ }
+
+<skip2location>[ \t]*{ARGOPEN} {
+ if (xref_mode) {
+ BEGIN(skiplocation);
+ } else {
+ printf(" :locref \"");
+ BEGIN(location);
+ }
+ }
+<location>{ARGCLOSE} { printf("\")\n"); BEGIN(0); }
+
+<skiplocation>{ARGCLOSE} { printf(")\n"); BEGIN(0); }
+<skiplocation>. { ; }
+
+<key,print,xref,is,location>{HATHAT8BIT} {
+ if ( omega_mode ) {
+ omega_output_utf8(2);
+ } else {
+ unput( strtol(yytext+2, NULL, 16) );
+ }
+ }
+<key,print,xref,is,location>{HATHAT16BIT} {
+ if ( omega_mode ) {
+ omega_output_utf8(4);
+ } else {
+ ECHO;
+ }
+ }
+<key,print,xref,is,location>{HATHAT32BIT} {
+ if ( omega_mode ) {
+ omega_output_utf8(8);
+ } else {
+ ECHO;
+ }
+ }
+
+<key,print,xref,is,location>\n { ECHO; lineno++; }
+<key,print,xref,is,location>. { QUOTE_ECHO; }
+
+\n { lineno++; }
+[ \t] { ; }
+. {
+ fprintf(stderr,
+ "Encountered unexpected char '%c' on line %d\n",
+ yytext[0], lineno);
+ }
+
+%%
+
+void usage ()
+{
+ fputs("This is tex2xindy, $Revision: 1.21 $.\n", stderr);
+ fputs("usage: tex2xindy [-o] [attr_file]\n", stderr);
+ exit (1);
+}
+
+int
+main(int argc, char* argv[])
+{
+ int option;
+ extern char *optarg;
+ extern int optind, optopt;
+
+ while ( (option=getopt(argc, argv, ":o")) != -1 ) {
+ switch (option) {
+ case 'o':
+ omega_mode = 1;
+ break;
+ case '?':
+ default:
+ fprintf(stderr, "Unrecognized option: -%c\n", optopt);
+ usage();
+ /* NOTREACHED */
+ }
+ }
+
+ /* More than one argument left? */
+ if ( optind < argc - 1 ) usage();
+
+ /* attr_file specified? */
+ if ( optind == argc - 1 ) {
+ fprintf(stderr, "Writing attribute names to file \"%s\".\n",
+ argv[optind]);
+ if ( (attrfd = fopen(argv[optind], "w")) == NULL ) {
+ perror (argv[optind]);
+ exit (1);
+ }
+ }
+
+ yylex();
+ if (attrfd) fclose(attrfd);
+ return (errors > 0); /* 1 or 0 */
+}
+
+
+/* ============================================================
+
+ $Log: tex2xindy.l,v $
+ Revision 1.21 2006/07/30 09:44:04 jschrod
+ While quote is not output, escape+quote *is* output.
+
+ Revision 1.20 2006/07/18 21:40:45 jschrod
+ Add parenthesis as recommended by gcc -Wall.
+ Use ECHO instead of QUOTE_ECHO where quoting will not be needed.
+ Code cleanup: sanitize braces and indentation.
+
+ Revision 1.19 2006/07/18 21:26:34 jschrod
+ Add man page as POD to tex2xindy source.
+ Add support for ^^-notation, both in TeX and in new Omega mode.
+ Add usage message and proper option parsing.
+
+ Revision 1.18 2006/02/21 12:12:05 jschrod
+ Don't output escape or quote characters.
+
+ Revision 1.17 2006/02/21 02:05:00 jschrod
+ Quote really quotes the next char, now.
+
+ Revision 1.16 2005/06/27 20:49:06 jschrod
+ Keywords may be inmidst a line, as Jörg Sommer showed.
+ "." rule merging did not work for attributes, and for skiplocation.
+ Output error message if we come across chars outside our FSA.
+
+ Revision 1.15 2005/06/14 16:22:08 jschrod
+ Fold in changes from Thomas Henlich, as of 2000-02-14:
+ Paranoia fix: recognize KEYWORD only in INITIAL start condition.
+ Recognize \n and count lines (multiline entries do exist!).
+ Merged "." rules.
+ Fixed error messages (multiple ...).
+
+ Revision 1.14 2004/10/05 21:10:48 jschrod
+ Handles quote character correctly (bug ticket 1006128).
+ Test case: german-sty.
+
+ Revision 1.13 2002/01/29 13:32:58 thenlich
+ Fixed bug in crossref-to-subitem bugfix. The original one proposed by Roger Kehr
+ was right, only I copied it wrongly (shame on me). Thanks to Torsten Bronger
+ for pointing it out to me.
+
+ Revision 1.12 1999/10/13 08:06:44 kehr
+ Changed revision number message back to RCS-tag. No functional changes.
+
+ Revision 1.11 1999/10/13 08:05:10 kehr
+ Merged bugfix from Thomas Henlich with my own modifications.
+
+ 1.8 Fixed minor quoting bugs (for increased makeindex compatibility).
+ 1999-07-28 Thomas Henlich <henlich@mmers1.mw.tu-dresden.de>
+ Fixed crossref to subitem.
+ 1999-09-23 Thomas Henlich <henlich@mmers1.mw.tu-dresden.de>
+
+ 1.7 Fixed a bug concerning writing to and closing non-existing file (stat)
+ Fixed a bug concerning quoting the " character.
+ Enhancement for processing glossary files.
+ 1999-06-14 Thomas Henlich <henlich@mmers1.mw.tu-dresden.de>
+
+ Revision 1.10 1999/09/23 06:53:32 kehr
+ Fixed wrong raw index generation for cross-ref keywords.
+
+ Revision 1.9 1999/04/27 09:01:17 kehr
+ Defined a clean exit code as suggested by Klaus Guntermann
+ <guntermann@iti.informatik.tu-darmstadt.de>.
+
+ Revision 1.8 1999/04/27 08:57:48 kehr
+ Added quoting patch sent by Thomas Henlich <thenlich@Rcs1.urz.tu-dresden.de>
+
+ Revision 1.7 1999/04/27 08:56:59 kehr
+ Another checkin.
+
+ Revision 1.6 1997/02/13 14:42:50 kehr
+ Minor changes.
+
+ Revision 1.5 1997/01/21 16:44:36 kehr
+ Bugfix: State <print> was not changed back to <key> if {LEVEL} was found.
+
+ Revision 1.4 1997/01/17 16:30:37 kehr
+ Rewrote makeindex4 and heavily modified tex2xindy.
+
+ Revision 1.3 1996/07/19 17:15:18 kehr
+ Made this program comaptible with lex by correctly enclosing all
+ actions--stupid bug, 'cause lex didn't complain and flex did some
+ wonderful matching of all the actions such that no error was
+ discovered.
+
+ Revision 1.2 1996/07/11 14:16:55 kehr
+ Complete Major checkin before changing the letter-groups.
+
+ Revision 1.1 1996/06/24 08:53:57 kehr
+ Initial checkin of the Makefile, README and tex2xindy.
+*/