debian/0000755000000000000000000000000012204474537007176 5ustar debian/fweb.files0000644000000000000000000000005111661526613011140 0ustar usr/bin/ usr/share/texmf/ usr/share/man/ debian/control0000644000000000000000000000304612204171102010562 0ustar Source: fweb Section: devel Priority: optional Maintainer: Yann Dirson Standards-Version: 3.9.2 Build-depends: debhelper (>= 8), texinfo, libncurses5-dev, dh-buildinfo Homepage: http://freshmeat.net/projects/fweb Package: fweb Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends}, dpkg (>= 1.15.4) | install-info Recommends: texlive | c-compiler | fortran77-compiler | ratfor77 Suggests: c-compiler, fortran77-compiler, ratfor77, fweb-doc Description: literate-programming tool for C/C++/Fortran/Ratfor Literate-programming allows the programmer to write a program's code and its code's documentation, with equal importance accorded to both. This helps producing a well-documented code. . FWEB has grown out of Knuth and Levy's CWEB; it is far more configurable and customizable than the original, uses LaTeX to typeset documented code, provides a very powerful macro processor... . Ratfor programmers may appreciate the builtin Ratfor-to-Fortran translator if they don't have the right compiler. . Other languages than those cited may be used, but without code pretty-printing. Package: fweb-doc Section: doc Architecture: all Depends: ${misc:Depends} Suggests: doc-base, fweb Replaces: fweb (<= 1.62-8) Description: Documentation for literate-programming tool Fweb Literate-programming allows the programmer to write a program's code and its code's documentation, with equal importance accorded to both. This helps producing a well-documented code. . This is the documentation for fweb in HTML, info, and texinfo formats. debian/copyright0000644000000000000000000000431111661526613011127 0ustar This is Debian GNU/Linux's prepackaged version of the John A. Krommes' FWEB program. This package was put together by me, Yann Dirson , from the John A. Krommes' sources, which I obtained from ftp://ftp.pppl.gov/pub/fweb/fweb-1.60-beta.tar.gz. Please note that for now (1998/03/13), the source of this beta release has been removed from this server and its mirrors, in anticipation of the final 1.60 release. The changes were very minimal - merely adding support for the Debian package maintenance scheme, by adding various debian/* files. Program Copyright (C) 1993-1995 John A. Krommes. Modifications for Debian Copyright (C) 1997 Yann Dirson. 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, 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 with your Debian GNU/Linux system, in /usr/share/common-licenses/GPL-2. Manual (fweb.info) Copyright (C) 1993-1995 John A. Krommes. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to process this file through TeX and print the results, provided the printed document carries copying permission notice identical to this one except for the removal of this paragraph (this paragraph not being relevant to the printed manual). Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation. debian/source/0000755000000000000000000000000011661526613010475 5ustar debian/source/format0000644000000000000000000000001411661526613011703 0ustar 3.0 (quilt) debian/compat0000644000000000000000000000000211661526613010373 0ustar 8 debian/changelog0000644000000000000000000002152512204474472011053 0ustar fweb (1.62-12) unstable; urgency=low * Acknowledge NMU. * Further fix fweb-doc extended description. * Fix texi.info for compatibility with makeinfo 5.1 (Closes: #712333): * drop apparently-nonsensical @def@ifhtml * don't include @if(tex|info) inside @macro defs * add @ifhtml implementation of conditional @macro defs * fix subsection nesting level where needed * Fix texi.info direntry specification (lintian). -- Yann Dirson Mon, 19 Aug 2013 21:59:54 +0200 fweb (1.62-11.1) unstable; urgency=low * Non-maintainer upload. - Move to packaging format "3.0 (quilt)". * debian/compat - Update to 8. * debian/control - (Build-Depends): update to debhelper 8. - (Description): Adjust first line (lintian). - (Homepage): Add. - (Recommends): Change to tetex-base to texlive (Closes: #601268). - (Standards-Version): Update to 3.9.2. - (Suggests): Remove tetex-base. Package fweb-doc - (Description): Extend first line (Lintian). - (Depends): Add ${misc:Depends}, add dpkg (>= 1.15.4) | install-info - (Section): Add doc. * debian/copyright - Remove obsolete FSF address. Correct GPL path. * debian/idxmerge.1 - Fix hyphen-used-as-minus-sign (Lintian). * debian/patches - New. Convert embedded changes to upstream code into individual patches. * debian/rules - Replace obsolete dh_clean with dh_prep - (build-arch, build-indep): New (W: Lintian). - (clean): Adjust make call Web/Makefile (Lintian). Delete generated files: Web/fweave.mds Web/fweave.ndx - (docdir): Install docs to $package-doc. - (infodir): New variable. - (install): Don't create directory doc-base (lintian). Don't create empty info dir (Lintian). - (tmpdir): Install to $package, not tmp dir thus no longer needing dh_movefiles. * debian/source/format - New file. * fweb-doc.doc-base - (Section): Update from Apps/Programming to Programming. -- Jari Aalto Fri, 18 Nov 2011 21:05:43 +0200 fweb (1.62-11) unstable; urgency=low * Fixed Web/Makefile not to depend on the number of splitted info files (Closes: #203430). * Use dhbuildinfo. -- Yann Dirson Wed, 27 Aug 2003 09:14:36 +0200 fweb (1.62-10) unstable; urgency=low * Rebuilt with current debhelper to conform to new /usr/doc policy (lintian). * Changed build options and support "noopt" instead of "debug" flag. * Bounced Standards-Version to 3.5.10. * Use debian/compat, build-dep on debhelper 3.4.4 or greater. * Improved description for fweb-doc (Closes: #128253). -- Yann Dirson Sun, 1 Jun 2003 17:16:16 +0200 fweb (1.62-9) unstable; urgency=low * The "Fifth anniversary (nearly)" release ! * Spelling in description (Closes: #12465). * Spelling in copyright (lintian). * Workaround in texi doc so that "makeinfo --html" can work - texi2html still does not (still many warnings). Brought doc-base file from the attic. * DEB_BUILD_OPTIONS support. * Bounced Standards-Version to 3.5.6. * Modernized debian/rules, debhelper v3. * Split doc in its own package. -- Yann Dirson Fri, 4 Jan 2002 23:20:22 +0100 fweb (1.62-8) unstable; urgency=medium * Reported NMU fix in source file (Closes: #103151). * Completed build-depend control field (Closes: #104386, #86158). * Added category info to texinfo doc. -- Yann Dirson Wed, 1 Aug 2001 01:09:29 +0200 fweb (1.62-7.1) unstable; urgency=low * Non-maintainer upload. * Fix printf-is-a-macro issue (gcc 3.0). Closes: #103151 -- LaMont Jones Mon, 9 Jul 2001 21:39:34 -0600 fweb (1.62-7) unstable; urgency=low * Added Build-depends: texinfo (Closes: #84611). * Do not convert texi to HTML, conversion now fails. -- Yann Dirson Sun, 4 Feb 2001 22:42:42 +0100 fweb (1.62-6) unstable; urgency=low * Build using "-g" as per policy. * Fix for infinite loop when using single-letter @ commands in verbatim mode (Closes: #52702). * Regenerate common.c to really have 1.62 as version number. -- Yann Dirson Tue, 14 Dec 1999 22:03:20 +0100 fweb (1.62-5) unstable; urgency=low * Moved man, doc, info to /usr/share as per FHS. * Some debian/rules cleanups. * Bumped Standards-Version to 3.0.1. -- Yann Dirson Sun, 24 Oct 1999 17:58:10 +0200 fweb (1.62-4) unstable; urgency=low * Applied patch from Hartmut Koptein to allow compilation with glibc 2.1 (Closes: Bug#37302 -- Bug#29535 was closed but -4 had not yet been released). * Moved latex style file from /usr/lib/ to /usr/share/ (Closes: Bug#40439). * Fixed the version string saying "1.61" instead of "1.62". * Some debian/rules cleanup -- Yann Dirson Tue, 29 Jun 1999 21:32:30 +0200 fweb (1.62-3) frozen unstable; urgency=low * Check for texhash before trying to run it, as fweb doesn't depend on TeX (Fixes: Bug#28904). * Suppressed useless X- fields in debian/control. -- Yann Dirson Thu, 12 Nov 1998 21:39:13 +0100 fweb (1.62-2) frozen unstable; urgency=low * Recompiled for ncurses 4. * Passed lintian 0.9.3. -- Yann Dirson Tue, 3 Nov 1998 19:53:49 +0100 fweb (1.62-1) unstable; urgency=low * New upstream release (Fixes: Bug#26247). Probably fixes Bug#25969 and Bug#26122 as well, but I did not checked yet. * Removed .texi and .info from docbase file (Fixes: Bug#23341). * Manually edited configure to use ncurses termcap emulation, because configure.in is not shipped. * Minor debian/rules cleanups. * Passed lintian 0.8.3. -- Yann Dirson Tue, 29 Sep 1998 20:33:04 +0200 fweb (1.60beta-11) frozen unstable; urgency=low * Fixed typo in prerm (Fixes: Bug#22248). * Passed lintian 0.4.2. -- Yann Dirson Fri, 8 May 1998 21:36:47 +0200 fweb (1.60beta-10) frozen unstable; urgency=low * Fixed install-docs check+call to make postinst/prerm abort (Fixes: Bug#21254). -- Yann Dirson Tue, 21 Apr 1998 21:34:29 +0200 fweb (1.60beta-9) frozen unstable; urgency=low * Make it install into frozen too. -- Yann Dirson Mon, 6 Apr 1998 10:48:33 +0200 fweb (1.60beta-8) unstable; urgency=low * Fixed test for install-docs to use -x. * Added provision for debhelper in prerm. * Fixed docbase location for HTML docs (Fixes: Bug#20672). -- Yann Dirson Sun, 5 Apr 1998 16:17:29 +0200 fweb (1.60beta-7) unstable; urgency=low * Updated maintainer address. * Changed upstream version number to reflect beta state. Final 1.60 should appear soon. * Renamed source file to reflect this fact. * Added note in copyright file about the source archive being no more available on the original server, until final 1.60 is out. * Removed .du file. * Updated FSF address in copyright file. * Removed use of deprecated dh_installdebfiles. * Replaced menu/dwww support with docbase support. * Added paranoid "export LC_ALL=C" in debian/rules. * Conforms to standards version 2.4.0.0. * Passed lintian 0.3.1. -- Yann Dirson Fri, 13 Mar 1998 10:52:28 +0100 fweb (1.60-6) unstable; urgency=low * Added call to 'texhash' in postinst/postrm. * Switched to debhelper. * Dropped support fod dwww-index, as menu is more powerful. -- Yann Dirson Thu, 11 Dec 1997 17:28:03 +0100 fweb (1.60-5) unstable; urgency=low * Removed DEBIAN/ directory from source! (Closes:Bug#13619). * Moved latex files into a litprog/ subdir. * Use new virtual packages "c-compiler" & "fortran77-compiler" in Recommends. * Recommends "tetex-base" instead of old "latex". * Replaced old "Recommends: `,'" with a more usefule "Recommends: `|'" with an additionnal "Suggests: `,'" in control file. -- Yann Dirson Sat, 29 Nov 1997 17:15:54 +0100 fweb (1.60-4) unstable; urgency=low * Switched to libc6 * Misc debian/rules cleanup * Provided documentation as info files again * Moved html files under doc/fweb/html-info * Added minimal manpage for idxmerge (really fixes bug #8560) -- Yann Dirson Sun, 29 Jun 1997 21:29:08 +0200 fweb (1.60-3) unstable; urgency=low * Turned info documents into HTML * Added support for menu/dwww and dwww/.dwww-index to access the doc * Cleanups in debian/rules and Web/Makefile -- Yann Dirson Sat, 14 Jun 1997 13:31:39 +0200 fweb (1.60-2) unstable; urgency=low * Added missing manpage links (fixes bug #8560) * Fixed typos in Description * Removed requirement of version ">= 2e" in latex recommendation -- Yann Dirson Tue, 6 May 1997 22:46:13 +0200 fweb (1.60-1) unstable; urgency=low * Initial revision -- Yann Dirson Sun, 9 Feb 1997 13:19:17 +0100 debian/rules0000755000000000000000000000570611661526613010265 0ustar #!/usr/bin/make -f # -*- makefile -*- # # Invoke each target with `./debian/rules '. All targets should be # invoked with the package root as the current directory. # # The `binary' target must be run as root, as it needs to install files with # specific ownerships. package=fweb # be paranoid... export LC_ALL=C # This has to be exported to make some magic below work. export DH_OPTIONS topdir = $(shell pwd) tmpdir = ${topdir}/debian/$(package) texdir = ${tmpdir}/usr/share/texmf/tex/latex/litprog docdir = ${topdir}/debian/$(package)-doc/usr/share/doc/${package} infodir = ${topdir}/debian/$(package)-doc/usr/share/info mandir = ${tmpdir}/usr/share/man htmldocdir= ${docdir}/html-info INSTALLFLAGS = CFLAGS = -g ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O2 endif ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) INSTALLFLAGS += -s endif installdoc=install -m 644 installbin=install -m 755 ${INSTALLFLAGS} build: build-stamp build-stamp: configure-stamp dh_testdir ${MAKE} -C Web CFLAGS="${CFLAGS}" \ tch_src both idxmerge ../Manual/fweb.info cd Manual && makeinfo --html fweb.texi touch build-stamp configure-stamp: dh_testdir cd Web; ./configure --prefix=/usr touch configure-stamp clean: dh_testdir dh_testroot rm -f build-stamp configure-stamp # The problem is that Makefile includes defaults.mk which is a # ./configure generated file, but it does not exist when clean # is being run. touch Web/defaults.mk $(MAKE) -C Web distclean -rm -f Web/idxmerge Web/idxmerge.c Web/custom.h Web/config.h \ Manual/fweb.info* Manual/fweb*.html rm -rf Manual/fweb/ rm -f Web/fweave.mds Web/fweave.ndx dh_clean install: DH_OPTIONS= install: build dh_testdir dh_testroot dh_prep mkdir ${tmpdir} cd ${tmpdir} && mkdir -p usr/bin usr/share/man/man1 mkdir -p $(infodir) install -d ${texdir} ${htmldocdir} # upstream binaries ${MAKE} -C Web CFLAGS=-O2 LDFLAGS=-s \ INSTALL_PROGRAM='install -c ${INSTALLFLAGS}' \ prefix=${tmpdir}/usr texdir=${texdir} \ infodir=$(infodir) \ mandir=${mandir}/man1 \ install # documentation ${installdoc} Manual/fweb/* ${htmldocdir}/ ${installdoc} Manual/fweb.texi ${docdir}/ ${installdoc} debian/idxmerge.1 ${mandir}/man1/ ln -s fweb.1.gz ${mandir}/man1/fweave.1.gz ln -s fweb.1.gz ${mandir}/man1/ftangle.1.gz binary-indep: DH_OPTIONS=-i binary-indep: install dh_testdir dh_testroot dh_installdocs dh_buildinfo dh_installexamples dh_installinfo ${topdir}/Manual/fweb.info dh_installchangelogs dh_compress dh_fixperms dh_installdeb dh_gencontrol dh_md5sums dh_builddeb build-arch: build-stamp build-indep: build-stamp binary-arch: DH_OPTIONS=-a binary-arch: install dh_testdir dh_testroot dh_installdocs dh_buildinfo dh_installchangelogs dh_strip dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb # Below here is fairly generic really binary: binary-indep binary-arch .PHONY: binary binary-arch binary-indep clean debian/idxmerge.10000644000000000000000000000154311661526613011066 0ustar .TH FWEB 1 "March 12, 1998" .UC 4 .SH NAME idxmerge \- merge fweb-produced index files. .SH SYNOPSIS .B idxmerge -\o\fIindex-file\fR file1.idx... .br .SH DESCRIPTION .B idxmerge merges index files produced by the invocation of .B fweave with option .B -XI. .SH MANUAL Further documentation can be obtained from texinfo, available online through emacs' info browser (menu item .B fweb ), or in HTML format. .PP .SH BUGS Please send bug reports, suggestions, and questions to .B krommes@princeton.edu. FWEB is a spare-time activity, so response may be slow. However, your input is very much appreciated. .PP .SH AUTHORS .PP .B idxmerge was written by John A. Krommes, Princeton University, as part of the .B FWEB system. This manpage was written by Yann Dirson \fI\fR for the Debian Project, with information from the .B FWEB Texinfo manual. debian/fweb.postinst0000644000000000000000000000015211661526613011723 0ustar #!/bin/sh set -e # regenerate ls-lR database if [ -x /usr/bin/texhash ] then texhash fi #DEBHELPER# debian/fweb-doc.files0000644000000000000000000000006311661526613011706 0ustar usr/share/info/ usr/share/doc/ usr/share/doc-base/ debian/patches/0000755000000000000000000000000012204474537010625 5ustar debian/patches/01-Web--Makefile.patch0000644000000000000000000000351011661526613014367 0ustar From 210e0fb5738a40ae00aa0bfc6a351c1df7880dac Mon Sep 17 00:00:00 2001 From: Jari Aalto Date: Fri, 18 Nov 2011 15:28:07 +0200 Subject: [PATCH] Web/Makefile: adjust install Organization: Private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Signed-off-by: Jari Aalto --- Web/Makefile | 17 ++++------------- 1 files changed, 4 insertions(+), 13 deletions(-) diff --git a/Web/Makefile b/Web/Makefile index 2cc2b56..8cf9e9d 100644 --- a/Web/Makefile +++ b/Web/Makefile @@ -591,19 +591,10 @@ install: both idxmerge $(MANUAL)/fweb.info $(INSTALL_DATA) $(MANUAL)/fwebmac.sty $(texdir)/fwebmac.sty $(INSTALL_DATA) $(MANUAL)/fweb.tex $(texdir)/fweb.tex $(INSTALL_DATA) $(MANUAL)/fweb.1 $(mandir)/fweb.$(manext) - $(INSTALL_DATA) $(MANUAL)/fweb.info $(infodir)/fweb.info - $(INSTALL_DATA) $(MANUAL)/fweb.info-1 $(infodir)/fweb.info-1 - $(INSTALL_DATA) $(MANUAL)/fweb.info-2 $(infodir)/fweb.info-2 - $(INSTALL_DATA) $(MANUAL)/fweb.info-3 $(infodir)/fweb.info-3 - $(INSTALL_DATA) $(MANUAL)/fweb.info-4 $(infodir)/fweb.info-4 - $(INSTALL_DATA) $(MANUAL)/fweb.info-5 $(infodir)/fweb.info-5 - $(INSTALL_DATA) $(MANUAL)/fweb.info-6 $(infodir)/fweb.info-6 - $(INSTALL_DATA) $(MANUAL)/fweb.info-7 $(infodir)/fweb.info-7 - $(INSTALL_DATA) $(MANUAL)/fweb.info-8 $(infodir)/fweb.info-8 - $(INSTALL_DATA) $(MANUAL)/fweb.info-9 $(infodir)/fweb.info-9 - $(INSTALL_DATA) $(MANUAL)/fweb.texi $(texinfodir)/fweb.texi - @echo "" - @echo "DON'T FORGET TO RECORD THE PRESENCE OF fweb.info BY EDITING $(infodir)/dir." + $(INSTALL_DATA) $(MANUAL)/fweb.info* $(infodir)/ +# $(INSTALL_DATA) $(MANUAL)/fweb.texi $(texinfodir)/fweb.texi +# @echo "" +# @echo "DON'T FORGET TO RECORD THE PRESENCE OF fweb.info BY EDITING $(infodir)/dir." uninstall: @echo "Sorry, uninstall is not implemented yet!" -- 1.7.7.1 debian/patches/10-Manual--fweb.texi.patch0000644000000000000000000000350011661526613015244 0ustar From 4782f564253f2d5e96bfb356529394c7ca4cf0e5 Mon Sep 17 00:00:00 2001 From: Jari Aalto Date: Fri, 18 Nov 2011 15:15:12 +0200 Subject: [PATCH] Manual/fweb.texi: add enry section Organization: Private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Signed-off-by: Jari Aalto --- Manual/fweb.texi | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Manual/fweb.texi b/Manual/fweb.texi index b00bad3..4662c8c 100644 --- a/Manual/fweb.texi +++ b/Manual/fweb.texi @@ -3,6 +3,15 @@ @setfilename fweb.info @settitle FWEB +@ifinfo +@dircategory Development +@format +START-INFO-DIR-ENTRY +* Fweb: (fweb). The Fweb literate programming tool. +END-INFO-DIR-ENTRY +@end format +@end ifinfo + @macro Fprog{name} @sc{\name\} @end macro @@ -115,7 +124,7 @@ Copyright @copyright{} 1993--1998 John A. Krommes NOTE: Because of last-minute translation problems with texi2html operating on the macro-expanded version of fweb.texi, user-defined macro expansion has temporarily been turned off in this html version. -Multitable is also giving trouble, as is @samp in section names. These +Multitable is also giving trouble, as is "ATsamp" in section names. These are probably problems with texi2html; sorry for the inconvenience. @end ifhtml @@ -946,7 +955,7 @@ customized by means of setting parameters in a @code{makeindex}-like @chapter WEB CONCEPTS -The principle concepts of @sc{WEB} programming are laid out in Knuth's book, +The principle concepts of @sc{web} programming are laid out in Knuth's book, the reference to which was given in @ref{Intro}. @FWEB{} follows most conventions introduced by @sc{web} and @sc{Cweb}, except that the names of some commands have been changed for consistency, symmetry, and/or -- 1.7.7.1 debian/patches/24-Web--ratfor.c.patch0000644000000000000000000010544711661526613014411 0ustar From c3bd441280e855a84e86e0ec2bc5c1fdaab79821 Mon Sep 17 00:00:00 2001 From: Jari Aalto Date: Fri, 18 Nov 2011 15:33:54 +0200 Subject: [PATCH] Web/ratfor.c: miscellaneous Organization: Private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Signed-off-by: Jari Aalto --- Web/ratfor.c | 687 ++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 522 insertions(+), 165 deletions(-) diff --git a/Web/ratfor.c b/Web/ratfor.c index 444a144..f6d7ebb 100644 --- a/Web/ratfor.c +++ b/Web/ratfor.c @@ -1,23 +1,23 @@ #if(0) - FTANGLE v1.60,\ - created with UNIX on "Thursday, September 24, 1998 at 16:12." \ - COMMAND LINE: "Web/ftangle Web/ratfor -A -# --F -= 1.62/Web/ratfor.c"\ - RUN TIME: "Friday, September 25, 1998 at 8:02."\ - WEB FILE: "Web/ratfor.web"\ + FTANGLE v1.61,\ + created with UNIX on "Friday, September 25, 1998 at 8:02." \ + COMMAND LINE: "ftangle ./ratfor -uCONFIG -mCONFIG -mGCC -= ratfor.c"\ + RUN TIME: "Tuesday, June 29, 1999 at 21:24."\ + WEB FILE: "./ratfor.web"\ CHANGE FILE: (none) #endif #define _RATFOR_h #define _ratfor_ \ -#define stringg (eight_bits)02 \ +#define stringg (eight_bits)'\2' \ -#define constant (eight_bits)03 +#define constant (eight_bits)'\3' #define begin_Xmeta or_or #define end_Xmeta star_star -#define cdir (eight_bits)06 -#define colon_colon (eight_bits)011 \ +#define cdir (eight_bits)'\6' +#define colon_colon (eight_bits)'\11' \ -#define join (eight_bits)0177 \ +#define join (eight_bits)'\177' \ #define ID0 0200 #define TOKEN1(a)((a)') \ #define IF(stmt_num)LABEL(stmt_num);id0(id__IF) #define THEN id0(id__THEN);NL @@ -289,7 +289,11 @@ copy_out(save_buffer,psave_buffer,!macro) \ #define NCASES 257 #define cur_switch switches[switch_level] \ +/* 1: */ +#line 27 "./ratfor.web" +/* 4: */ +#line 16 "./typedefs.hweb" #ifndef part @@ -301,6 +305,9 @@ copy_out(save_buffer,psave_buffer,!macro) \ #endif +/* :4 */ +/* 5: */ +#line 42 "./typedefs.hweb" #if(part == 0 || part == 1) @@ -314,19 +321,32 @@ copy_out(save_buffer,psave_buffer,!macro) \ #endif +/* :5 */ +#line 28 "./ratfor.web" +/* 33: */ +#line 440 "./typedefs.hweb" #include "typedefs.h" +#line 46 "./ratfor.web" +#line 8 "./t_codes.hweb" +/* :33 */ +/* 45: */ +#line 55 "./ratfor.web" #include "map.h" +/* :45 */ +#line 30 "./ratfor.web" +/* 37: */ +#line 47 "./texts.hweb" typedef struct @@ -348,6 +368,9 @@ nbytes:19; typedef text HUGE*text_pointer; +/* :37 */ +/* 39: */ +#line 46 "./stacks.hweb" typedef struct{ @@ -363,6 +386,9 @@ eight_bits HUGE*macro_buf,HUGE*mp,HUGE*macro_buf_end; typedef output_state HUGE*stack_pointer; +/* :39 */ +/* 41: */ +#line 11 "./val.hweb" @@ -397,7 +423,11 @@ VALUE value; TYPE type; struct val HUGE*last,HUGE*next; }VAL; +#line 8 "./macs.hweb" +/* :41 */ +/* 42: */ +#line 49 "./macs.hweb" typedef struct @@ -406,6 +436,9 @@ sixteen_bits token[MAX_XLEVELS]; int level; }XIDS; +/* :42 */ +/* 44: */ +#line 19 "./trunc.hweb" #if(0) @@ -436,7 +469,11 @@ ASCII HUGE*id,HUGE*id_end; BP HUGE*first,HUGE*last; struct Trunc HUGE*next; }TRUNC; +#line 53 "./ratfor.web" +/* :44 */ +/* 123: */ +#line 2413 "./ratfor.web" IN_RATFOR int switch_level RSET(0); @@ -469,12 +506,20 @@ boolean has_default; IN_RATFOR SWITCH HUGE*switches; +/* :123 */ +#line 31 "./ratfor.web" +/* 46: */ +#line 59 "./ratfor.web" #include "t_type.h" +/* :46 */ +#line 32 "./ratfor.web" +/* 32: */ +#line 426 "./typedefs.hweb" @@ -488,6 +533,9 @@ IN_RATFOR SWITCH HUGE*switches; +/* :32 */ +/* 38: */ +#line 69 "./texts.hweb" EXTERN long max_texts; @@ -515,7 +563,11 @@ EXTERN eight_bits HUGE*mx_tok_ptr,HUGE*mx_dtok_ptr; EXTERN text_pointer macro_text; +#line 8 "./stacks.hweb" +/* :38 */ +/* 40: */ +#line 82 "./stacks.hweb" EXTERN output_state cur_state; @@ -525,7 +577,11 @@ EXTERN long stck_size; EXTERN output_state HUGE*stack; EXTERN stack_pointer stck_end; EXTERN stack_pointer stck_ptr; +#line 8 "./val.hweb" +/* :40 */ +/* 43: */ +#line 58 "./macs.hweb" IN_COMMON STMT_LBL max_stmt; @@ -537,7 +593,11 @@ EXTERN sixteen_bits outp_line[NUM_LANGUAGES] #endif #endif ; +#line 8 "./trunc.hweb" +/* :43 */ +/* 47: */ +#line 68 "./ratfor.web" EXTERN boolean mac_protected,in_string; @@ -550,6 +610,9 @@ EXTERN eight_bits sent; IN_COMMON STMT_LBL max_stmt; IN_COMMON sixteen_bits outp_line[]; +/* :47 */ +/* 50: */ +#line 102 "./ratfor.web" @@ -593,6 +656,7 @@ IN_RATFOR sixteen_bits id__CONTAINS,id__CYCLE,id__ENDWHERE,id__INTERFACE,id__MODULE, id__SELECT,id__TYPE,id__WHERE; +#line 146 "./ratfor.web" @@ -689,10 +753,16 @@ IN_RATFOR SPEC spec90_tokens[] #endif ; +/* :50 */ +/* 53: */ +#line 287 "./ratfor.web" IN_RATFOR sixteen_bits sym_label RSET(0); +/* :53 */ +/* 61: */ +#line 525 "./ratfor.web" IN_RATFOR boolean saved_token RSET(NO); @@ -701,12 +771,18 @@ IN_RATFOR int last_bytes; +/* :61 */ +/* 64: */ +#line 659 "./ratfor.web" IN_RATFOR eight_bits HUGE*cmnt_buf RSET(NULL), HUGE*cmnt_buf_end RSET(NULL), HUGE*cmnt_pos RSET(NULL); +/* :64 */ +/* 69: */ +#line 781 "./ratfor.web" typedef struct { @@ -727,21 +803,33 @@ IN_RATFOR int wlevel RSET(0); +/* :69 */ +/* 73: */ +#line 884 "./ratfor.web" IN_RATFOR boolean balanced RSET(YES); IN_RATFOR ASCII cur_delim RSET('\0'); +/* :73 */ +/* 85: */ +#line 1316 "./ratfor.web" IN_RATFOR eight_bits HUGE*save_buffer RSET(NULL),HUGE*psave_buffer; +/* :85 */ +/* 94: */ +#line 1576 "./ratfor.web" IN_RATFOR outer_char HUGE*cmd_fmt; IN_RATFOR ASCII HUGE*cmd_msg,HUGE*cmd_end; IN_RATFOR BUF_SIZE cmd_fsize,cmd_size; +/* :94 */ +/* 125: */ +#line 2532 "./ratfor.web" IN_COMMON double g_ratio; @@ -750,11 +838,15 @@ IN_COMMON unsigned short marginal_cases; IN_EVAL VAL HUGE*val_ptr,HUGE*val_heap; +/* :125 */ +#line 33 "./ratfor.web" #if(part != 2) +/* 48: */ +#line 82 "./ratfor.web" SRTN @@ -763,6 +855,9 @@ is_Rat_present(VOID) Rat_is_loaded= YES; } +/* :48 */ +/* 49: */ +#line 91 "./ratfor.web" boolean @@ -772,6 +867,9 @@ outer_char*msg C1("") return YES; } +/* :49 */ +/* 51: */ +#line 244 "./ratfor.web" SRTN @@ -796,6 +894,8 @@ confusion(OC("ini_RAT_tokens"),OC("Language should be RATFOR-like here")); } ini_univ_tokens(language0); +/* 52: */ +#line 271 "./ratfor.web" { ASCII HUGE*pd; @@ -803,15 +903,20 @@ ASCII HUGE*pd; break_tokens[0]= LEFT(id_break,ID0); break_tokens[1]= RIGHT(id_break); -break_tokens[2]= 073; +break_tokens[2]= ';'; pd= x_to_ASCII(OC("data")); id_data= ID_NUM(pd,pd+4); } +/* :52 */ +#line 267 "./ratfor.web" } +/* :51 */ +/* 54: */ +#line 300 "./ratfor.web" int @@ -819,7 +924,7 @@ chk_lbl(VOID) { sixteen_bits a; -if(next_byte()==072) +if(next_byte()==':') { sym_label= (sixteen_bits)cur_val; @@ -854,6 +959,9 @@ BACK_UP return NO; } +/* :54 */ +/* 55: */ +#line 349 "./ratfor.web" SRTN @@ -906,6 +1014,9 @@ FREE_MEM(temp,"RAT_error:temp",N_MSGBUF,char); FREE_MEM(temp1,"RAT_error:temp1",N_MSGBUF,char); } +/* :55 */ +/* 56: */ +#line 412 "./ratfor.web" SRTN @@ -939,6 +1050,9 @@ RAT_error(ERROR,OC("Output ended %s"),1,temp); fatal(ERR_R,OC("ABORTING!"),OC("")); } +/* :56 */ +/* 57: */ +#line 438 "./ratfor.web" outer_char HUGE* @@ -975,6 +1089,9 @@ default:return OC("UNKNOWN CMD"); } } +/* :57 */ +/* 58: */ +#line 476 "./ratfor.web" SRTN @@ -986,6 +1103,9 @@ RAT_error(ERROR,OC("Misplaced keyword: \ \"%s\" must be used only inside \"switch\""),1,s); } +/* :58 */ +/* 59: */ +#line 487 "./ratfor.web" SRTN didnt_expand FCN((c0,c,op)) eight_bits c0 C0("") @@ -997,6 +1117,9 @@ RAT_error(ERROR,OC("Was expecting '%c', not '%c', after \"%s\"; \ expansion aborted"),3,XCHR(c0),XCHR(c),op); } +/* :59 */ +/* 60: */ +#line 500 "./ratfor.web" boolean char_after FCN((c)) @@ -1013,6 +1136,9 @@ return NO; return YES; } +/* :60 */ +/* 62: */ +#line 536 "./ratfor.web" eight_bits @@ -1067,6 +1193,8 @@ last_bytes= 1; break; } +/* 63: */ +#line 599 "./ratfor.web" { a= IDENTIFIER(a0,last_a= *cur_byte++); @@ -1120,6 +1248,8 @@ OUT_CHAR(module_number); } } +/* :63 */ +#line 590 "./ratfor.web" } @@ -1128,6 +1258,9 @@ cur_val= cur_val0; return a0; } +/* :62 */ +/* 65: */ +#line 666 "./ratfor.web" SRTN @@ -1142,7 +1275,7 @@ cmnt_pos= cmnt_buf= GET_MEM("cmnt_buf",SAVE8,eight_bits); cmnt_buf_end= cmnt_buf+SAVE8; } -while((a= copy_comment(save_comments))==012); +while((a= copy_comment(save_comments))=='\n'); if(a==ignore) output_ended(OC("while skipping newlines"),0); @@ -1150,6 +1283,9 @@ output_ended(OC("while skipping newlines"),0); BACK_UP } +/* :65 */ +/* 66: */ +#line 691 "./ratfor.web" eight_bits copy_comment FCN((save_comments)) @@ -1184,6 +1320,9 @@ while((a= get_output())!=stringg); DUMMY_RETURN(ignore); } +/* :66 */ +/* 67: */ +#line 728 "./ratfor.web" SRTN @@ -1200,6 +1339,9 @@ FREE_MEM(cmnt_buf,"cmnt_buf",SAVE8,eight_bits); cmnt_buf= cmnt_buf_end= cmnt_pos= NULL; } +/* :67 */ +/* 68: */ +#line 747 "./ratfor.web" SRTN @@ -1215,6 +1357,9 @@ out_ptrunc(cur_val); out_state= NUM_OR_ID; } +/* :68 */ +/* 71: */ +#line 810 "./ratfor.web" int @@ -1243,6 +1388,9 @@ icase= ignore; return wlevel; } +/* :71 */ +/* 72: */ +#line 845 "./ratfor.web" SRTN @@ -1273,6 +1421,9 @@ OUT_CHAR(XORD(*p)); OUT_CHAR(constant); } +/* :72 */ +/* 74: */ +#line 918 "./ratfor.web" SRTN @@ -1293,16 +1444,18 @@ boolean found_semi; boolean balanced0= balanced; ASCII cur_delim0= cur_delim; +/* 75: */ +#line 997 "./ratfor.web" switch(l) { -case 0173: -l0= 050;r0= 051; +case '{': +l0= '(';r0= ')'; break; -case 050: -l0= 0173;r0= 0175; +case '(': +l0= '{';r0= '}'; break; default: @@ -1310,9 +1463,11 @@ default: confusion(OC("copyd"),OC("Invalid left delimiter 0x%x"),l); } +/* :75 */ +#line 938 "./ratfor.web" -if(l==0173&&xpn_cases) +if(l=='{'&&xpn_cases) { if(DONE_LEVEL&&!pop_level()) output_ended(OC("after '{'"),0); @@ -1357,14 +1512,18 @@ a= (sixteen_bits)(*output_rtn)(); if(to_memory&&a==(sixteen_bits)stringg) in_string= BOOLEAN(!in_string); -if(!in_string) +if(!in_string)/* 76: */ +#line 1016 "./ratfor.web" + { if(a==ignore) output_ended(OC("while scanning for '%c'. Scan began \ with delimiter '%c' at line %u"),3,XCHR(r),XCHR(l),starting_line); if(a==(sixteen_bits)l)bal0[++bal]= 0; -else if(a==(sixteen_bits)r) +else if(a==(sixteen_bits)r)/* 77: */ +#line 1039 "./ratfor.web" + { if(bal<=0) { @@ -1385,14 +1544,14 @@ else OUT_CHAR(r0); if(--bal==0) { -if(semi_allowed&&last_token&&last_token!=073) +if(semi_allowed&&last_token&&last_token!=';') { RAT_error(WARNING,OC("Supplied missing ';' before \ delimiter '%c'"),1,r); -if(to_memory)SAVE_IN_MEM(073) -else OUT_CHAR(073); +if(to_memory)SAVE_IN_MEM(';') +else OUT_CHAR(';'); } if(to_memory)SAVE_IN_MEM(r) @@ -1405,9 +1564,13 @@ break; } } +/* :77 */ +#line 1022 "./ratfor.web" else if(a==l0)bal0[bal]++; -else if(a==r0) +else if(a==r0)/* 78: */ +#line 1080 "./ratfor.web" + { if(bal0[bal]<=0) { @@ -1418,10 +1581,12 @@ continue; else bal0[bal]--; } +/* :78 */ +#line 1024 "./ratfor.web" else if(a!=stringg) { -if(a==073) +if(a==';') if(semi_allowed)found_semi= YES; else RAT_error(ERROR,OC("Spurious semicolon"),0); @@ -1433,9 +1598,13 @@ else last_token= a; } } +/* :76 */ +#line 984 "./ratfor.web" -if(to_memory) +if(to_memory)/* 79: */ +#line 1095 "./ratfor.web" + { if(TOKEN1(a)) { @@ -1456,6 +1625,8 @@ RAT_error(ERROR,OC("@o command not allowed inside switch"),0); else { if(xpn_cases) +/* 80: */ +#line 1128 "./ratfor.web" { eight_bits a0,a1; @@ -1466,15 +1637,17 @@ a= IDENTIFIER(a0= (eight_bits)a,a1= next_byte()); if(a==id_switch) { SAVE_16; -copyd(TO_MEMORY,DONT_XPN_CASES,050,051,NO); +copyd(TO_MEMORY,DONT_XPN_CASES,'(',')',NO); skip_newlines(COPY_COMMENTS); -copyd(TO_MEMORY,DONT_XPN_CASES,0173,0175,YES); +copyd(TO_MEMORY,DONT_XPN_CASES,'{','}',YES); } else if(a==id_case)x_case(); else if(a==id_default)x_default(); else SAVE_16; } +/* :80 */ +#line 1115 "./ratfor.web" else { @@ -1484,6 +1657,8 @@ SAVE_IN_MEM(next_byte()) } } +/* :79 */ +#line 986 "./ratfor.web" } @@ -1491,13 +1666,16 @@ balanced= balanced0; cur_delim= cur_delim0; } +/* :74 */ +/* 81: */ +#line 1149 "./ratfor.web" SRTN cp_fcn_body(VOID) { brace_level++; -copyd(TO_OUTPUT,XPN_CASES,0173,0175,YES); +copyd(TO_OUTPUT,XPN_CASES,'{','}',YES); if(--brace_level==0) { @@ -1507,6 +1685,9 @@ rlevel--; } } +/* :81 */ +/* 83: */ +#line 1222 "./ratfor.web" SRTN @@ -1519,7 +1700,7 @@ sixteen_bits a; EAT_AUTO_SEMI; skip_newlines(COPY_COMMENTS); -if((a= next_byte())!=0173) +if((a= next_byte())!='{') { if(a==ignore) output_ended(OC("at beginning of statement"),0); @@ -1530,7 +1711,7 @@ if(brace_only) RAT_error(WARNING,OC("Inserted '{'"),0); BACK_UP -copyd(to_memory,XPN_CASES,0173,0175,YES); +copyd(to_memory,XPN_CASES,'{','}',YES); return; } @@ -1556,11 +1737,14 @@ BACK_UP x_stmt(); } } -else copyd(to_memory,XPN_CASES,0173,0175,YES); +else copyd(to_memory,XPN_CASES,'{','}',YES); } +/* :83 */ +/* 84: */ +#line 1277 "./ratfor.web" SRTN @@ -1574,13 +1758,13 @@ if((a= get_output())==ignore) output_ended(OC("during scan of simple \ statement "),0); -if(a==073&&!in_string)break; +if(a==';'&&!in_string)break; } if((a= next_byte())!=stringg){BACK_UP return;} -if(*cur_byte!=012){BACK_UP return;} +if(*cur_byte!='\n'){BACK_UP return;} OUT_CHAR(a); @@ -1588,6 +1772,9 @@ while((a= get_output())!=stringg); } +/* :84 */ +/* 86: */ +#line 1337 "./ratfor.web" eight_bits HUGE* @@ -1614,13 +1801,13 @@ p_end= p+nmax-1; switch(r_after) { -case 051: -l= (eight_bits)050; +case ')': +l= (eight_bits)'('; bal= 1; break; -case 0175: -l= (eight_bits)0173; +case '}': +l= (eight_bits)'{'; bal= 1; break; @@ -1647,6 +1834,8 @@ if(p>=p_end)resize(pp,nmax,&p,&p_end); if(TOKEN1(a= next_byte())) { if(!in_string) +/* 87: */ +#line 1411 "./ratfor.web" { if(a==ignore) @@ -1654,7 +1843,9 @@ output_ended(OC("while scanning from line %u \ for delimiter (r_before = '%c', r_after = '%c')"),3,starting_line,XCHR(r_before),XCHR(r_after)); if(a==l)bal0[++bal]= 0; -else if(a==r_after&&r_after!=NOT_AFTER) +else if(a==r_after&&r_after!=NOT_AFTER)/* 88: */ +#line 1430 "./ratfor.web" + { if(l&&bal<=0) { @@ -1666,11 +1857,11 @@ else { if(bal0[bal]!=0) { -inserted(bal0[bal],0173,0175,l,bal); +inserted(bal0[bal],'{','}',l,bal); while(bal0[bal]--) { -*p++= 0175; +*p++= '}'; if(p>=p_end)resize(pp,nmax,&p,&p_end); } } @@ -1684,6 +1875,8 @@ return p; } } +/* :88 */ +#line 1418 "./ratfor.web" else if(a==r_before&&r_before!=NOT_BEFORE) { @@ -1691,23 +1884,31 @@ BACK_UP; *p= '\0'; return p; } -else if(a==0173)bal0[bal]++; -else if(a==0175) +else if(a=='{')bal0[bal]++; +else if(a=='}')/* 89: */ +#line 1461 "./ratfor.web" + { if(bal0[bal]<=0) { p--; -unmatched(0173,0175); +unmatched('{','}'); continue; } else bal0[bal]--; } +/* :89 */ +#line 1426 "./ratfor.web" } +/* :87 */ +#line 1395 "./ratfor.web" +/* 90: */ +#line 1473 "./ratfor.web" { *p++= a; @@ -1725,6 +1926,8 @@ break; } } +/* :90 */ +#line 1397 "./ratfor.web" } else @@ -1738,6 +1941,9 @@ DUMMY_RETURN(NULL); } +/* :86 */ +/* 91: */ +#line 1491 "./ratfor.web" outer_char* @@ -1750,6 +1956,9 @@ sprintf((char*)q0,delim?"'%c'":"?",XCHR(delim)); return q0; } +/* :91 */ +/* 92: */ +#line 1505 "./ratfor.web" SRTN @@ -1769,33 +1978,50 @@ old_len*sizeof(eight_bits)); *pp_end= *pp+new_len-1; } +/* :92 */ +#line 38 "./ratfor.web" #endif #if(part != 1) +/* 95: */ +#line 1584 "./ratfor.web" SRTN alloc_Rat(VOID) { +/* 70: */ +#line 802 "./ratfor.web" ALLOC(LBL,lbl,"lb",max_lbls,0); lbl_end= lbl+max_lbls; +/* :70 */ +/* 96: */ +#line 1593 "./ratfor.web" ALLOC(outer_char,cmd_fmt,"cf",cmd_fsize,0); ALLOC(ASCII,cmd_msg,"cg",cmd_size,0); cmd_end= cmd_msg+cmd_size; +/* :96 */ +/* 100: */ +#line 1720 "./ratfor.web" begun= GET_MEM("begun",max_lbls,BEGUN); +/* :100 */ +#line 1589 "./ratfor.web" } +/* :95 */ +/* 97: */ +#line 1603 "./ratfor.web" SRTN @@ -1826,11 +2052,15 @@ fmt0= va_arg(arg_ptr,char*); va_arg(arg_ptr,int); #endif +/* 99: */ +#line 1702 "./ratfor.web" { static outer_char brkset[3]= "*?"; +#ifndef strpbrk char*strpbrk(); +#endif boolean found_abbrev; @@ -1841,6 +2071,8 @@ if(suppress_cmds){if(found_abbrev)return;} else{if(!found_abbrev)return;} } +/* :99 */ +#line 1633 "./ratfor.web" if(emit_continue) @@ -1853,6 +2085,8 @@ CONTINUE(ignore); if( nsprintf(cmd_fmt,OC("--- %s \"%s%s\" ---"),3,beginning,cmd_name(begun[rlevel-1].cmd),fmt0)>=(int)(cmd_fsize))OVERFLW("cmd_fmt",""); +/* 98: */ +#line 1657 "./ratfor.web" { outer_char HUGE*p; @@ -1894,14 +2128,19 @@ va_end(arg_ptr); OUT_MSG(cmd_msg,q); } +/* :98 */ +#line 1644 "./ratfor.web" ; if(Fortran88&&symbolic_label) { -id0(symbolic_label);OUT_CHAR(072); +id0(symbolic_label);OUT_CHAR(':'); } } +/* :97 */ +/* 101: */ +#line 1725 "./ratfor.web" SRTN @@ -1919,6 +2158,9 @@ begun[rlevel].level= wlevel; rlevel++; } +/* :101 */ +/* 103: */ +#line 1758 "./ratfor.web" X_FCN @@ -1940,7 +2182,7 @@ didnt_expand('(',c,"while"); return; } }; -pa= SAVE_AFTER(&a,SAVE8,051); +pa= SAVE_AFTER(&a,SAVE8,')'); out_cmd(YES,'w',OC(""),OC("(%s)"),2,a,pa); @@ -1971,6 +2213,9 @@ rlevel--; FREE_MEM(a,"while:a",SAVE8,eight_bits); } +/* :103 */ +/* 104: */ +#line 1803 "./ratfor.web" X_FCN @@ -1982,7 +2227,7 @@ sixteen_bits a; if(wlevel==0&&switch_level==0) { NOT_LOOP("break"," or \"switch\""); -COPY_TO(073); +COPY_TO(';'); return; } @@ -2010,6 +2255,9 @@ char_after(';'); rlevel--; } +/* :104 */ +/* 105: */ +#line 1845 "./ratfor.web" SRTN @@ -2022,6 +2270,9 @@ RAT_error(WARNING,OC("Misplaced keyword: \ \"%s\" must appear inside loop%s; command ignored"),2,id,msg); } +/* :105 */ +/* 106: */ +#line 1860 "./ratfor.web" X_FCN @@ -2033,7 +2284,7 @@ sixteen_bits a; if(wlevel==0) { NOT_LOOP("next",""); -COPY_TO(073); +COPY_TO(';'); return; } @@ -2058,6 +2309,9 @@ char_after(';'); rlevel--; } +/* :106 */ +/* 108: */ +#line 1910 "./ratfor.web" X_FCN @@ -2102,7 +2356,7 @@ didnt_expand('(',c,"until"); return; } }; -pu= SAVE_AFTER(&u,SAVE8,051); +pu= SAVE_AFTER(&u,SAVE8,')'); out_cmd(NO,'p',OC(""),OC("(%s)"),2,u,pu); @@ -2123,6 +2377,9 @@ wlevel--; rlevel--; } +/* :108 */ +/* 110: */ +#line 1981 "./ratfor.web" X_FCN x_do(VOID) @@ -2156,7 +2413,7 @@ BACK_UP if(!(a==id_while)) { -id0(id__DO);if(!Fortran88)LABEL(s_next);COPY_2TO(0173,073);NL; +id0(id__DO);if(!Fortran88)LABEL(s_next);COPY_2TO('{',';');NL; INDENT; stmt(TO_OUTPUT,0); OUTDENT; @@ -2177,6 +2434,9 @@ wlevel--; rlevel--; } +/* :110 */ +/* 112: */ +#line 2059 "./ratfor.web" X_FCN @@ -2199,9 +2459,9 @@ didnt_expand('(',c,"for"); return; } }; -pa= SAVE_AFTER(&a,SAVE8,073); -pb= SAVE_AFTER(&b,SAVE8,073); -pc= SAVE_AFTER(&c,SAVE8,051); +pa= SAVE_AFTER(&a,SAVE8,';'); +pb= SAVE_AFTER(&b,SAVE8,';'); +pc= SAVE_AFTER(&c,SAVE8,')'); out_cmd(YES,'f',OC(""),OC("(%s;%s;%s)"),6,a,pa,b,pb,c,pc); @@ -2237,6 +2497,9 @@ FREE_MEM(b,"for:b",SAVE8,eight_bits); FREE_MEM(c,"for:c",SAVE8,eight_bits); } +/* :112 */ +/* 114: */ +#line 2131 "./ratfor.web" X_FCN @@ -2259,6 +2522,9 @@ rlevel--; } +/* :114 */ +/* 115: */ +#line 2152 "./ratfor.web" SRTN @@ -2278,6 +2544,9 @@ stmt(TO_OUTPUT,0); OUTDENT; } +/* :115 */ +/* 116: */ +#line 2172 "./ratfor.web" boolean @@ -2342,6 +2611,9 @@ return NO; } } +/* :116 */ +/* 117: */ +#line 2238 "./ratfor.web" X_FCN @@ -2356,6 +2628,9 @@ x_els_if(VOID) UNEXPECTED("elseif"); } +/* :117 */ +/* 118: */ +#line 2256 "./ratfor.web" X_FCN @@ -2418,6 +2693,9 @@ x_until(VOID) UNEXPECTED("until"); } +/* :118 */ +/* 120: */ +#line 2338 "./ratfor.web" X_FCN @@ -2435,6 +2713,9 @@ ENDWHERE; rlevel--; } +/* :120 */ +/* 121: */ +#line 2357 "./ratfor.web" SRTN @@ -2445,6 +2726,9 @@ CONST outer_char id[]C1("Error message.") RAT_error(WARNING,OC("Unexpected keyword \"%s\" ignored"),1,id); } +/* :121 */ +/* 124: */ +#line 2454 "./ratfor.web" X_FCN @@ -2488,7 +2772,7 @@ didnt_expand('(',c,"switch"); return; } }; -pa= SAVE_AFTER(&a,SAVE8,051); +pa= SAVE_AFTER(&a,SAVE8,')'); out_cmd(YES,'s',OC(""),OC("(%s)"),2,a,pa); @@ -2504,7 +2788,9 @@ if(Fortran88) { computed_goto= NO; } -else +else/* 126: */ +#line 2541 "./ratfor.web" + { unsigned short k; VAL val; @@ -2573,9 +2859,13 @@ mcasestxt.next-3,break_tokens,3)==0); else case_ended_with_break= NO; } +/* :132 */ +#line 2745 "./ratfor.web" if(!case_ended_with_break){GOTO(s_case);} } @@ -2666,10 +2966,10 @@ id0(id__CASE); if(cur_case->is_default)id0(id__DEFAULT); else { -if(*cur_case->case_txt.start!=050)LP; +if(*cur_case->case_txt.start!='(')LP; copy_out(cur_case->case_txt.start,cur_case->case_txt.next, !macro); -if(*(cur_case->case_txt.next-1)!=051)RP; +if(*(cur_case->case_txt.next-1)!=')')RP; } NL; INDENT; @@ -2703,6 +3003,8 @@ copy_out(cur_case->txt.start,cur_case->txt.next,!macro); rlevel--; } +/* :131 */ +#line 2673 "./ratfor.web" if(!Fortran88) @@ -2715,6 +3017,8 @@ GOTO(s_default); } } +/* :128 */ +#line 2506 "./ratfor.web" OUTDENT; @@ -2734,6 +3038,9 @@ switch_level--; FREE_MEM(a,"switch:a",SAVE8,eight_bits); } +/* :124 */ +/* 129: */ +#line 2687 "./ratfor.web" SRTN @@ -2754,6 +3061,9 @@ out_cmd(NO,'c',OC(""),OC(" %s:"),2,cur_case->case_txt.start,cur_case->case_txt.n } } +/* :129 */ +/* 130: */ +#line 2710 "./ratfor.web" STMT_LBL @@ -2780,6 +3090,9 @@ if(cur_case->is_default)return s_default; return s_break; } +/* :130 */ +/* 133: */ +#line 2810 "./ratfor.web" X_FCN x_case(VOID) { @@ -2791,6 +3104,8 @@ return; expanding(case_CMD); +/* 134: */ +#line 2832 "./ratfor.web" *cur_case->txt.next= '\0'; @@ -2813,10 +3128,14 @@ cur_case->txt.end= cur_case->txt.start+BIG_SAVE8; cur_case->txt.next= cur_case->txt.start; +/* :134 */ +#line 2821 "./ratfor.web" ; -cur_case->case_txt.next= SAVE_AFTER(&cur_case->case_txt.start,SAVE8,072); +cur_case->case_txt.next= SAVE_AFTER(&cur_case->case_txt.start,SAVE8,':'); cur_case->is_default= NO; +/* 135: */ +#line 2855 "./ratfor.web" { unsigned short k; @@ -2838,11 +3157,16 @@ break; } } +/* :135 */ +#line 2825 "./ratfor.web" rlevel--; } +/* :133 */ +/* 136: */ +#line 2878 "./ratfor.web" X_FCN @@ -2861,6 +3185,8 @@ if(cur_switch.has_default) RAT_error(ERROR,OC("Only one default allowed per switch"),0); else cur_switch.has_default= YES; +/* 134: */ +#line 2832 "./ratfor.web" *cur_case->txt.next= '\0'; @@ -2883,6 +3209,8 @@ cur_case->txt.end= cur_case->txt.start+BIG_SAVE8; cur_case->txt.next= cur_case->txt.start; +/* :134 */ +#line 2895 "./ratfor.web" ; cur_case->case_txt.next= cur_case->case_txt.start; cur_case->is_default= YES; @@ -2893,6 +3221,9 @@ char_after(':'); rlevel--; } +/* :136 */ +/* 138: */ +#line 3083 "./ratfor.web" @@ -2909,7 +3240,7 @@ WHILE() { a= next_byte(); -if(!(a==040||a==tab_mark)) +if(!(a==' '||a==tab_mark)) break; } @@ -2933,19 +3264,19 @@ id0(id_program);id0(cur_fcn); if(cur_fcn==id_procedure) { -COPY_TO(073);NL; +COPY_TO(';');NL; } else { b= next_byte();BACK_UP -if(b==050)PARENS; +if(b=='(')PARENS; NL; EAT_AUTO_SEMI; skip_newlines(COPY_COMMENTS); INDENT; copy_out(insert.program.start,insert.program.end,!macro); -out_char(073); -COPY_2TO(0173,NOT_AFTER); +out_char(';'); +COPY_2TO('{',NOT_AFTER); if(psave_buffer>save_buffer)NL; brace_level++; stmt(TO_OUTPUT,BRACE_ONLY); @@ -2975,7 +3306,7 @@ WHILE() { a= next_byte(); -if(!(a==040||a==tab_mark)) +if(!(a==' '||a==tab_mark)) break; } @@ -2999,19 +3330,19 @@ id0(id_module);id0(cur_fcn); if(cur_fcn==id_procedure) { -COPY_TO(073);NL; +COPY_TO(';');NL; } else { b= next_byte();BACK_UP -if(b==050)PARENS; +if(b=='(')PARENS; NL; EAT_AUTO_SEMI; skip_newlines(COPY_COMMENTS); INDENT; copy_out(insert.module.start,insert.module.end,!macro); -out_char(073); -COPY_2TO(0173,NOT_AFTER); +out_char(';'); +COPY_2TO('{',NOT_AFTER); if(psave_buffer>save_buffer)NL; brace_level++; stmt(TO_OUTPUT,BRACE_ONLY); @@ -3041,7 +3372,7 @@ WHILE() { a= next_byte(); -if(!(a==040||a==tab_mark)) +if(!(a==' '||a==tab_mark)) break; } @@ -3065,19 +3396,19 @@ id0(id_subroutine);id0(cur_fcn); if(cur_fcn==id_procedure) { -COPY_TO(073);NL; +COPY_TO(';');NL; } else { b= next_byte();BACK_UP -if(b==050)PARENS; +if(b=='(')PARENS; NL; EAT_AUTO_SEMI; skip_newlines(COPY_COMMENTS); INDENT; copy_out(insert.subroutine.start,insert.subroutine.end,!macro); -out_char(073); -COPY_2TO(0173,NOT_AFTER); +out_char(';'); +COPY_2TO('{',NOT_AFTER); if(psave_buffer>save_buffer)NL; brace_level++; stmt(TO_OUTPUT,BRACE_ONLY); @@ -3107,7 +3438,7 @@ WHILE() { a= next_byte(); -if(!(a==040||a==tab_mark)) +if(!(a==' '||a==tab_mark)) break; } @@ -3131,19 +3462,19 @@ id0(id_function);id0(cur_fcn); if(cur_fcn==id_procedure) { -COPY_TO(073);NL; +COPY_TO(';');NL; } else { b= next_byte();BACK_UP -if(b==050)PARENS; +if(b=='(')PARENS; NL; EAT_AUTO_SEMI; skip_newlines(COPY_COMMENTS); INDENT; copy_out(insert.function.start,insert.function.end,!macro); -out_char(073); -COPY_2TO(0173,NOT_AFTER); +out_char(';'); +COPY_2TO('{',NOT_AFTER); if(psave_buffer>save_buffer)NL; brace_level++; stmt(TO_OUTPUT,BRACE_ONLY); @@ -3173,7 +3504,7 @@ WHILE() { a= next_byte(); -if(!(a==040||a==tab_mark)) +if(!(a==' '||a==tab_mark)) break; } @@ -3197,19 +3528,19 @@ id0(id_blockdata);id0(cur_fcn); if(cur_fcn==id_procedure) { -COPY_TO(073);NL; +COPY_TO(';');NL; } else { b= next_byte();BACK_UP -if(b==050)PARENS; +if(b=='(')PARENS; NL; EAT_AUTO_SEMI; skip_newlines(COPY_COMMENTS); INDENT; copy_out(insert.blockdata.start,insert.blockdata.end,!macro); -out_char(073); -COPY_2TO(0173,NOT_AFTER); +out_char(';'); +COPY_2TO('{',NOT_AFTER); if(psave_buffer>save_buffer)NL; brace_level++; stmt(TO_OUTPUT,BRACE_ONLY); @@ -3239,7 +3570,7 @@ WHILE() { a= next_byte(); -if(!(a==040||a==tab_mark)) +if(!(a==' '||a==tab_mark)) break; } @@ -3263,19 +3594,19 @@ id0(id_interface);id0(cur_fcn); if(cur_fcn==id_procedure) { -COPY_TO(073);NL; +COPY_TO(';');NL; } else { b= next_byte();BACK_UP -if(b==050)PARENS; +if(b=='(')PARENS; NL; EAT_AUTO_SEMI; skip_newlines(COPY_COMMENTS); INDENT; copy_out(insert.interface.start,insert.interface.end,!macro); -out_char(073); -COPY_2TO(0173,NOT_AFTER); +out_char(';'); +COPY_2TO('{',NOT_AFTER); if(psave_buffer>save_buffer)NL; brace_level++; stmt(TO_OUTPUT,BRACE_ONLY); @@ -3292,6 +3623,9 @@ cur_fcn= NO_FCN; rlevel--; } +/* :138 */ +/* 139: */ +#line 3093 "./ratfor.web" X_FCN @@ -3317,6 +3651,9 @@ id0(a); } } +/* :139 */ +/* 141: */ +#line 3135 "./ratfor.web" X_FCN @@ -3329,6 +3666,9 @@ NL; INDENT; } +/* :141 */ +/* 143: */ +#line 3210 "./ratfor.web" @@ -3338,8 +3678,8 @@ sixteen_bits a; eight_bits b; b= next_byte();BACK_UP -if(b==054){} -else if(b==050) +if(b==','){} +else if(b=='(') { id0(id_type); return; @@ -3373,7 +3713,13 @@ char_after(';');OUT_CHAR(';'); wlevel--; rlevel--; } +/* :143 */ +/* 143: */ +#line 3215 "./ratfor.web" +/* :143 */ +/* 144: */ +#line 3219 "./ratfor.web" X_FCN @@ -3384,7 +3730,7 @@ eight_bits HUGE*return_expr= NULL,HUGE*pr; expanding(return_CMD); -if((pr= SAVE_AFTER(&return_expr,SAVE8,073))>return_expr) +if((pr= SAVE_AFTER(&return_expr,SAVE8,';'))>return_expr) { if(!is_function) @@ -3403,6 +3749,9 @@ rlevel--; FREE_MEM(return_expr,"return_expr",SAVE8,eight_bits); } +/* :144 */ +/* 145: */ +#line 3250 "./ratfor.web" X_FCN @@ -3434,7 +3783,7 @@ return; } }; -pI= SAVE_AFTER(&I,SAVE8,054); +pI= SAVE_AFTER(&I,SAVE8,','); if(TOKEN1(*I)) { @@ -3444,13 +3793,13 @@ expansion aborted"),0); return; } -pImin= SAVE_AFTER(&Imin,SAVE8,054); +pImin= SAVE_AFTER(&Imin,SAVE8,','); imin= neval(Imin,pImin); -pImax= SAVE_AFTER(&Imax,SAVE8,054); +pImax= SAVE_AFTER(&Imax,SAVE8,','); imax= neval(Imax,pImax); -pDi= SAVE_AFTER(&Di,SAVE8,051); +pDi= SAVE_AFTER(&Di,SAVE8,')'); di= neval(Di,pDi); EAT_AUTO_SEMI; @@ -3458,7 +3807,7 @@ skip_newlines(NO); c= next_byte(); -if(!(c==0173||c==050)) +if(!(c=='{'||c=='(')) { RAT_error(ERROR,OC("Was expecting '{' or '(', not '%c', after $DO(); \ @@ -3469,7 +3818,7 @@ return; mac_protected= YES; -ptxt= SAVE_AFTER(&txt,BIG_SAVE8,c==0173?0175:051); +ptxt= SAVE_AFTER(&txt,BIG_SAVE8,c=='{'?'}':')'); mac_protected= NO; n= name_dir+IDENTIFIER(*I,*(I+1)); @@ -3507,6 +3856,9 @@ FREE_MEM(Imax,"unroll:Imax",SAVE8,eight_bits); FREE_MEM(txt,"unroll:txt",SAVE8,eight_bits); } +/* :145 */ +/* 146: */ +#line 3347 "./ratfor.web" SRTN @@ -3526,10 +3878,15 @@ insert.interface.start= insert.interface.end= GET_MEM("interface",2,eight_bits); } +/* :146 */ +#line 42 "./ratfor.web" #endif +#line 1 "./typedefs.hweb" +#line 8 "./formats.hweb" +/* :1 */ -- 1.7.7.1 debian/patches/texinfo-fixes0000644000000000000000000000453212204473313013333 0ustar Description: Fix texinfo doc for makeinfo 5.1 Author: Yann Dirson Bug-Debian: http://bugs.debian.org/712333 --- fweb-1.62.orig/Manual/fweb.texi +++ fweb-1.62/Manual/fweb.texi @@ -1,5 +1,4 @@ \input texinfo @c -*-texinfo-*- -@def@ifhtml{@doignore{ifhtml}} @setfilename fweb.info @settitle FWEB @@ -28,23 +27,38 @@ END-INFO-DIR-ENTRY @Fprog{Ftangle} @end macro -@macro ASP @iftex +@macro ASP @tex`\hbox{\tt@@\char`\ }'@end tex +@end macro @end iftex @ifinfo -@w{@samp{@@ }}@c +@macro ASP +@w{@samp{@@ }} +@end macro @end ifinfo +@ifhtml +@macro ASP +@w{@samp{@@ }} @end macro +@end ifhtml +@iftex @macro PI @tex $\pi$ @end tex +@end iftex @ifinfo +@macro PI @var{pi}@c +@end macro @end ifinfo +@ifhtml +@macro PI +@var{pi}@c @end macro +@end ifhtml @macro EQUIV @tex @@ -1055,7 +1069,7 @@ need for sections that must be physicall to be contiguous in the source file. This allows for great flexibility in structuring the documentation of the code. -@subsubsection A simple example +@subsection A simple example @cindex Example, of @FWEB{} file A simple example of an @FWEB{} source file consisting of three sections is as @@ -1141,7 +1155,7 @@ Minor (@dfn{unnamed}) sections are begun these have no associated names and are not entered into the Table of Contents. A newline counts as a space. -@subsubsection The @TeX{} part +@subsection The @TeX{} part @cindex Commentary, optional @cindex Part, @TeX{} @@ -1168,7 +1182,7 @@ the vertical bars would not be necessary The ability to switch back and forth between text mode and code mode at will allows for a very convenient and flexible style of exposition. -@subsubsection The definition part +@subsection The definition part @cindex Part, definition The @TeX{} part is followed by an @@ -1187,7 +1201,7 @@ one needs to do here is to use the liter @samp{@@@@m}.) @cindex @@, literal -@subsubsection The code part +@subsection The code part @cindex Part, code An unnamed @dfn{code part} is begun by @samp{@@a}. A named code part is begun @@ -1199,7 +1213,7 @@ language. (Setting the language is desc code part is terminated by the next appearance of @samp{@@*} or @ASP{} (which signal the beginning of a new section), or by the end of file. -@subsubsection The limbo section +@subsection The limbo section @cindex Section, limbo @cindex Limbo section debian/patches/20-Web--common.c.patch0000644000000000000000000024262211661526613014375 0ustar From ba576b3bb5d3003325a5a1bfb48a7a5d8c74934a Mon Sep 17 00:00:00 2001 From: Jari Aalto Date: Fri, 18 Nov 2011 15:31:45 +0200 Subject: [PATCH] Web/common.c: miscellaneous Organization: Private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Signed-off-by: Jari Aalto --- Web/common.c | 1776 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 1528 insertions(+), 248 deletions(-) diff --git a/Web/common.c b/Web/common.c index 41bad7d..65c8906 100644 --- a/Web/common.c +++ b/Web/common.c @@ -1,15 +1,15 @@ #if(0) - FTANGLE v1.60,\ - created with UNIX on "Thursday, September 24, 1998 at 16:12." \ - COMMAND LINE: "Web/ftangle Web/common -A -# --F -= 1.62/Web/common.c"\ - RUN TIME: "Friday, September 25, 1998 at 8:02."\ - WEB FILE: "Web/common.web"\ + FTANGLE v1.61,\ + created with UNIX on "Friday, September 25, 1998 at 8:02." \ + COMMAND LINE: "./ftangle ./common -uCONFIG -mCONFIG -mGCC -= common.c"\ + RUN TIME: "Tuesday, December 14, 1999 at 0:39."\ + WEB FILE: "./common.web"\ CHANGE FILE: (none) #endif #define _COMMON_h #define COMMON_FCNS_ \ -#define VERSION "1.61" +#define VERSION "1.62" #define RELEASE_DATE "September 23, 1998" \ #define normal 0 @@ -94,17 +94,17 @@ its present value of %lu characters."),buf_size); \ #define MARK(type,delim,len)mark_cmnt(type,delim,len,p) \ -#define BLANK_OUT(d)MEMSET((d)->pos,040,(d)->len) \ +#define BLANK_OUT(d)MEMSET((d)->pos,' ',(d)->len) \ #define is_C_style_cmnt (C_style_cmnt= ((short_cmnt= Cpp_comments&&*lp== \ -057&&*(lp+1)==057))||(*lp==057&&*(lp+1)==052)) \ +'/'&&*(lp+1)=='/'))||(*lp=='/'&&*(lp+1)=='*')) \ #define start_comment (is_C_style_cmnt||(*lp==(char)begin_comment0) \ ||(*lp==(char)begin_comment1)) \ #define start_Rcomment ((R_style_cmnt= BOOLEAN(*lp==cmnt_char&& \ *(lp+1)!=cmnt_char&&*(lp-1)!=cmnt_char&& \ -!(*(lp-1)==0100)))||is_C_style_cmnt) \ +!(*(lp-1)=='@')))||is_C_style_cmnt) \ #define k0 cur0_prms->K0 #define found_at cur0_prms->Found_at @@ -136,15 +136,15 @@ if(*end==BP_MARKER&&np!=npmax)end= ((BP*)end)->byte_start \ #define hash_size 353 \ -#define stringg (eight_bits)02 \ +#define stringg (eight_bits)'\2' \ -#define constant (eight_bits)03 +#define constant (eight_bits)'\3' #define begin_Xmeta or_or #define end_Xmeta star_star -#define cdir (eight_bits)06 -#define colon_colon (eight_bits)011 \ +#define cdir (eight_bits)'\6' +#define colon_colon (eight_bits)'\11' \ -#define join (eight_bits)0177 \ +#define join (eight_bits)'\177' \ #define ID0 0200 #define TOKEN1(a)((a)byte_start \ #define ignore 0 \ -#define begin_comment0 (eight_bits)0376 -#define begin_comment1 (eight_bits)0375 \ +#define begin_comment0 (eight_bits)'\xFE' +#define begin_comment1 (eight_bits)'\xFD' \ -#define module_number (eight_bits)0201 -#define identifier (eight_bits)0202 -#define id_keyword (eight_bits)0203 \ +#define module_number (eight_bits)'\201' +#define identifier (eight_bits)'\202' +#define id_keyword (eight_bits)'\203' \ -#define L_switch (eight_bits)0257 -#define begin_FORTRAN (eight_bits)0260 -#define begin_RATFOR (eight_bits)0261 -#define begin_C (eight_bits)0262 -#define begin_LITERAL (eight_bits)0263 \ +#define L_switch (eight_bits)'\257' +#define begin_FORTRAN (eight_bits)'\260' +#define begin_RATFOR (eight_bits)'\261' +#define begin_C (eight_bits)'\262' +#define begin_LITERAL (eight_bits)'\263' \ -#define verbatim (eight_bits)0264 \ +#define verbatim (eight_bits)'\264' \ \ -#define invisible_cmnt (eight_bits)0265 -#define compiler_directive (eight_bits)0266 -#define Compiler_Directive (eight_bits)0267 \ +#define invisible_cmnt (eight_bits)'\265' +#define compiler_directive (eight_bits)'\266' +#define Compiler_Directive (eight_bits)'\267' \ -#define keyword_name (eight_bits)0270 \ +#define keyword_name (eight_bits)'\270' \ -#define no_index (eight_bits)0300 -#define yes_index (eight_bits)0301 \ +#define no_index (eight_bits)'\300' +#define yes_index (eight_bits)'\301' \ -#define ascii_constant (eight_bits)0302 -#define begin_vcmnt (eight_bits)0303 -#define big_line_break (eight_bits)0304 \ +#define ascii_constant (eight_bits)'\302' +#define begin_vcmnt (eight_bits)'\303' +#define big_line_break (eight_bits)'\304' \ -#define begin_bp (eight_bits)0305 -#define insert_bp (eight_bits)0306 \ +#define begin_bp (eight_bits)'\305' +#define insert_bp (eight_bits)'\306' \ -#define begin_meta (eight_bits)017 -#define end_meta (eight_bits)027 \ +#define begin_meta (eight_bits)'\17' +#define end_meta (eight_bits)'\27' \ -#define TeX_string (eight_bits)0307 -#define xref_roman (eight_bits)0310 -#define xref_typewriter (eight_bits)0311 -#define xref_wildcard (eight_bits)0312 \ +#define TeX_string (eight_bits)'\307' +#define xref_roman (eight_bits)'\310' +#define xref_typewriter (eight_bits)'\311' +#define xref_wildcard (eight_bits)'\312' \ -#define control_text (eight_bits)0313 \ +#define control_text (eight_bits)'\313' \ -#define begin_nuweb (eight_bits)0314 -#define no_mac_expand (eight_bits)0315 -#define set_line_info (eight_bits)0316 -#define short_fcn (eight_bits)0317 \ +#define begin_nuweb (eight_bits)'\314' +#define no_mac_expand (eight_bits)'\315' +#define set_line_info (eight_bits)'\316' +#define short_fcn (eight_bits)'\317' \ -#define formatt (eight_bits)0320 \ +#define formatt (eight_bits)'\320' \ -#define limbo_text (eight_bits)0323 -#define op_def (eight_bits)0324 -#define macro_def (eight_bits)0325 \ +#define limbo_text (eight_bits)'\323' +#define op_def (eight_bits)'\324' +#define macro_def (eight_bits)'\325' \ -#define ignore_defn (eight_bits)0327 \ +#define ignore_defn (eight_bits)'\327' \ -#define new_output_file (eight_bits)0331 \ +#define new_output_file (eight_bits)'\331' \ -#define definition (eight_bits)0332 -#define undefinition (eight_bits)0333 -#define WEB_definition (eight_bits)0334 \ +#define definition (eight_bits)'\332' +#define undefinition (eight_bits)'\333' +#define WEB_definition (eight_bits)'\334' \ -#define m_ifdef (eight_bits)0335 -#define m_ifndef (eight_bits)0336 -#define m_if (eight_bits)0337 -#define m_else (eight_bits)0340 -#define m_elif (eight_bits)0341 -#define m_endif (eight_bits)0342 -#define m_for (eight_bits)0343 -#define m_endfor (eight_bits)0344 -#define m_line (eight_bits)0345 -#define m_undef (eight_bits)0346 \ +#define m_ifdef (eight_bits)'\335' +#define m_ifndef (eight_bits)'\336' +#define m_if (eight_bits)'\337' +#define m_else (eight_bits)'\340' +#define m_elif (eight_bits)'\341' +#define m_endif (eight_bits)'\342' +#define m_for (eight_bits)'\343' +#define m_endfor (eight_bits)'\344' +#define m_line (eight_bits)'\345' +#define m_undef (eight_bits)'\346' \ -#define end_of_buffer (eight_bits)0347 \ +#define end_of_buffer (eight_bits)'\347' \ -#define begin_code (eight_bits)0350 -#define module_name (eight_bits)0351 \ +#define begin_code (eight_bits)'\350' +#define module_name (eight_bits)'\351' \ -#define new_module (eight_bits)0352 \ +#define new_module (eight_bits)'\352' \ #define MAX_ERR_BUF 160 \ @@ -317,9 +317,13 @@ if(mp+(n)>buf_end) \ OVERFLW("Keyword buffer","") \ #define CUR_QUOTE ((eight_bits)(single_quote||(!double_quote&&R77_or_F)? \ -047:042)) \ +'\'':'"')) \ +/* 2: */ +#line 44 "./common.web" +/* 5: */ +#line 16 "./typedefs.hweb" #ifndef part @@ -331,6 +335,9 @@ OVERFLW("Keyword buffer","") \ #endif +/* :5 */ +/* 6: */ +#line 42 "./typedefs.hweb" #if(part == 0 || part == 1) @@ -344,19 +351,32 @@ OVERFLW("Keyword buffer","") \ #endif +/* :6 */ +#line 45 "./common.web" +/* 34: */ +#line 440 "./typedefs.hweb" #include "typedefs.h" +#line 65 "./common.web" +#line 8 "./xrefs.hweb" +/* :34 */ +/* 48: */ +#line 72 "./common.web" #include "map.h" +/* :48 */ +#line 47 "./common.web" +/* 50: */ +#line 84 "./common.web" #ifdef ibmpc @@ -366,6 +386,9 @@ extern unsigned _stklen= STKLEN; #endif +/* :50 */ +/* 52: */ +#line 184 "./common.web" IN_COMMON ASCII xord[last_text_char+1]; @@ -374,17 +397,26 @@ ASCII xxord[last_text_char+1]; #endif IN_COMMON outer_char xchr[0200]; +/* :52 */ +/* 65: */ +#line 475 "./common.web" extern DOTS dots0[],mcmds[]; +/* :65 */ +/* 66: */ +#line 483 "./common.web" IN_COMMON BUF_SIZE delta_dots; IN_COMMON BUF_SIZE ndots; IN_COMMON DOTS HUGE*dots,HUGE*dots_end,HUGE*next_dot; +/* :66 */ +/* 72: */ +#line 661 "./common.web" IN_COMMON BUF_SIZE buf_size; @@ -408,20 +440,32 @@ ASCII HUGE*pos; IN_COMMON CMNT_DATA posns[CMNT_MARKS],HUGE*pcmnt CSET(posns), HUGE*pcmnt_end CSET(posns+CMNT_MARKS); +/* :72 */ +/* 96: */ +#line 1504 "./common.web" IN_COMMON ASCII HUGE*pk; +/* :96 */ +/* 98: */ +#line 1549 "./common.web" IN_COMMON ASCII HUGE*lp,HUGE*semi_pos; IN_COMMON boolean found_text,text,C_style_cmnt,short_cmnt,R_style_cmnt; +/* :98 */ +/* 103: */ +#line 1693 "./common.web" IN_COMMON ASCII HUGE*last_pos; IN_COMMON ASCII cmnt_char; +/* :103 */ +/* 130: */ +#line 2443 "./common.web" IN_COMMON sixteen_bits module_count; @@ -440,6 +484,9 @@ IN_COMMON boolean no_more_input CSET(NO); +/* :130 */ +/* 162: */ +#line 3325 "./common.web" @@ -512,16 +559,25 @@ IN_COMMON boolean no_more_input CSET(NO); #endif +/* :162 */ +/* 171: */ +#line 3678 "./common.web" IN_COMMON name_pointer name_ptr; IN_COMMON ASCII HUGE*byte_ptr; +/* :171 */ +/* 214: */ +#line 4962 "./common.web" IN_COMMON ASCII HUGE*pformat,HUGE*pdefault,HUGE*pdata, HUGE*pbp,HUGE*pinclude,HUGE*ppragma,HUGE*pcontains; +/* :214 */ +/* 216: */ +#line 4996 "./common.web" IN_COMMON outer_char outp_buf[MAX_OUTPUT_LINE_LENGTH]; @@ -536,17 +592,26 @@ IN_COMMON outer_char prefix_end_char CSET(PREFIX_END_CHAR); IN_COMMON boolean all_std CSET(NO); +/* :216 */ +/* 263: */ +#line 6559 "./common.web" IN_COMMON STMT_LBL max_stmt CSET(STARTING_DO_NUM); IN_COMMON int not; +/* :263 */ +/* 283: */ +#line 7419 "./common.web" IN_COMMON double g_ratio CSET(G_RATIO); IN_COMMON unsigned short marginal_cases CSET(MARGINAL_CASES); IN_COMMON CASE_TYPE max_spread CSET(MAX_SPREAD); +/* :283 */ +/* 335: */ +#line 8869 "./common.web" IN_COMMON CONST char*day[] @@ -562,6 +627,9 @@ IN_COMMON CONST char*month[] #endif ; +/* :335 */ +/* 338: */ +#line 8943 "./common.web" #if TIMING @@ -593,7 +661,11 @@ return t1-t0; #endif +/* :338 */ +#line 48 "./common.web" +/* 37: */ +#line 79 "./xrefs.hweb" typedef struct xref_info0 @@ -609,12 +681,18 @@ typedef ASCII HUGE*XREF_POINTER; +/* :37 */ +/* 39: */ +#line 27 "./tokens.hweb" typedef sixteen_bits Token; typedef Token HUGE*token_pointer; typedef token_pointer HUGE*text_pointer; +/* :39 */ +/* 41: */ +#line 44 "./scraps.hweb" typedef struct @@ -626,15 +704,23 @@ eight_bits mathness; union { text_pointer Trans; +/* 49: */ +#line 77 "./common.web" +/* :49 */ +#line 55 "./scraps.hweb" }trans_plus; }scrap; typedef scrap HUGE*scrap_pointer; +/* :41 */ +/* 46: */ +#line 46 "./stacks.hweb" +#line 47 "./stacks.hweb" typedef struct{ eight_bits HUGE*end_field; @@ -649,6 +735,9 @@ eight_bits HUGE*macro_buf,HUGE*mp,HUGE*macro_buf_end; typedef output_state HUGE*stack_pointer; +/* :46 */ +/* 169: */ +#line 19 "./trunc.hweb" #if(0) @@ -679,7 +768,11 @@ ASCII HUGE*id,HUGE*id_end; BP HUGE*first,HUGE*last; struct Trunc HUGE*next; }TRUNC; +#line 3628 "./common.web" +/* :169 */ +/* 237: */ +#line 5713 "./common.web" typedef struct @@ -694,24 +787,38 @@ IN_COMMON SECT_INFO HUGE*sect_info; IN_COMMON outer_char HUGE*HUGE*mod_names; IN_COMMON outer_char HUGE*HUGE*next_mod_name,HUGE*HUGE*last_mod_name; +/* :237 */ +#line 49 "./common.web" +/* 74: */ +#line 761 "./common.web" IN_COMMON long start_line CSET(1); IN_COMMON long end_line CSET(LONG_MAX); +/* :74 */ +/* 136: */ +#line 2576 "./common.web" IN_COMMON int stored_line_length; IN_COMMON ASCII HUGE*stored_line; +/* :136 */ +/* 138: */ +#line 2624 "./common.web" IN_COMMON outer_char last_include_file[MAX_FILE_NAME_LENGTH]CSET(""), this_include_file[MAX_FILE_NAME_LENGTH]CSET(""); +/* :138 */ +#line 50 "./common.web" +/* 33: */ +#line 426 "./typedefs.hweb" @@ -725,10 +832,16 @@ this_include_file[MAX_FILE_NAME_LENGTH]CSET(""); +/* :33 */ +/* 36: */ +#line 47 "./xrefs.hweb" EXTERN boolean change_exists; +/* :36 */ +/* 38: */ +#line 111 "./xrefs.hweb" #ifndef COMMON_FCNS_ @@ -746,7 +859,11 @@ EXTERN boolean defd_switch; EXTERN NAME_TYPE defd_type SET(NEVER_DEFINED); EXTERN boolean typd_switch; EXTERN boolean index_short; +#line 8 "./tokens.hweb" +/* :38 */ +/* 40: */ +#line 37 "./tokens.hweb" EXTERN long max_toks; @@ -764,7 +881,11 @@ EXTERN text_pointer text_ptr; EXTERN token_pointer mx_tok_ptr; EXTERN text_pointer mx_text_ptr; +#line 8 "./scraps.hweb" +/* :40 */ +/* 42: */ +#line 67 "./scraps.hweb" EXTERN long max_scraps; @@ -779,6 +900,9 @@ EXTERN scrap_pointer hi_ptr; EXTERN scrap_pointer mx_scr_ptr; +/* :42 */ +/* 47: */ +#line 82 "./stacks.hweb" EXTERN output_state cur_state; @@ -788,12 +912,19 @@ EXTERN long stck_size; EXTERN output_state HUGE*stack; EXTERN stack_pointer stck_end; EXTERN stack_pointer stck_ptr; +#line 70 "./common.web" +/* :47 */ +/* 91: */ +#line 1356 "./common.web" IN_COMMON ASCII string_char; IN_COMMON boolean in_char_string; +/* :91 */ +/* 121: */ +#line 2196 "./common.web" IN_COMMON INPUT_PARAMS change_params0 @@ -802,35 +933,55 @@ IN_COMMON INPUT_PARAMS change_params0 #endif ; +/* :121 */ +/* 140: */ +#line 2695 "./common.web" IN_COMMON BUF_SIZE max_ifiles; IN_COMMON outer_char**ifiles; IN_COMMON int num_ifiles; +/* :140 */ +/* 150: */ +#line 3051 "./common.web" IN_COMMON BUF_SIZE max_keywords; IN_COMMON RCS HUGE*rcs; IN_COMMON unsigned num_keywords; +/* :150 */ +/* 155: */ +#line 10 "./mem.hweb" +#line 11 "./mem.hweb" #ifndef C_TYPES #include SFILE(y_type.h) #endif +#line 3163 "./common.web" +/* :155 */ +/* 156: */ +#line 3168 "./common.web" IN_COMMON BUF_SIZE total_mem CSET(0); IN_COMMON BUF_SIZE max_mem CSET(0); +/* :156 */ +/* 161: */ +#line 3312 "./common.web" IN_COMMON boolean show_mem CSET(SHOW_MEM); IN_COMMON BUF_SIZE show_size CSET(10000); +/* :161 */ +/* 163: */ +#line 3398 "./common.web" IN_COMMON MEM mem[] @@ -914,6 +1065,9 @@ DFLT_MAX_TOKS_W,UL(65536L)}, IN_COMMON size_t sizeof_mem CSET(sizeof(mem)); +/* :163 */ +/* 182: */ +#line 3895 "./common.web" IN_COMMON boolean info_option CSET(NO); @@ -926,6 +1080,9 @@ IN_COMMON RSRVD rsrvd IN_COMMON outer_char HUGE*style_args CSET(NULL); IN_STYLE ASCII HUGE*at_codes; +/* :182 */ +/* 197: */ +#line 4204 "./common.web" IN_COMMON CONST char*origin_name[] @@ -934,12 +1091,18 @@ IN_COMMON CONST char*origin_name[] #endif ; +/* :197 */ +/* 218: */ +#line 5044 "./common.web" IN_COMMON boolean found_web,found_change; IN_COMMON outer_char wbflnm0[MAX_FILE_NAME_LENGTH]; +/* :218 */ +/* 221: */ +#line 5147 "./common.web" IN_COMMON outer_char @@ -952,51 +1115,79 @@ IN_COMMON outer_char HUGE*HUGE*pn0; IN_COMMON outer_char HUGE*HUGE*pn1; IN_COMMON FILE*ini_file CSET(NULL); +/* :221 */ +/* 226: */ +#line 5366 "./common.web" IN_COMMON INCL_PATHS incl; IN_COMMON INCL_PATHS hdr_incl; +/* :226 */ +/* 243: */ +#line 5912 "./common.web" jmp_buf top_of_get_arg; +/* :243 */ +/* 249: */ +#line 6138 "./common.web" IN_COMMON outer_char style_file_name[MAX_FILE_NAME_LENGTH] CSET(STYLE_FILE_NAME); IN_COMMON boolean renamed_style CSET(NO); +/* :249 */ +/* 252: */ +#line 6175 "./common.web" IN_COMMON boolean doing_cmd_line; IN_COMMON boolean cmd_prms; +/* :252 */ +/* 291: */ +#line 7691 "./common.web" IN_COMMON ASCII HUGE*fbuffer,HUGE*flimit,HUGE*floc; +/* :291 */ +/* 295: */ +#line 7760 "./common.web" IN_COMMON BUF_SIZE starting_memory CSET(ULONG_MAX); +/* :295 */ +/* 308: */ +#line 8096 "./common.web" IN_COMMON outer_char*extra_args; IN_COMMON boolean mod_warning_flag CSET(NEVER_USED); +/* :308 */ +/* 348: */ +#line 9221 "./common.web" IN_COMMON boolean single_quote CSET(NO),double_quote CSET(NO); +/* :348 */ +#line 51 "./common.web" #if(part != 2) +/* 53: */ +#line 204 "./common.web" SRTN @@ -1011,6 +1202,8 @@ translate_ASCII= YES; is_Rat_present(); +/* 54: */ +#line 243 "./common.web" { STRNCPY(xchr," !\"#$%&'()*+,-./0123456789\ @@ -1019,11 +1212,17 @@ sizeof(xchr)); xchr[tab_mark]= '\t'; -xchr[012]= '\n'; +xchr['\n']= '\n'; +/* 60: */ +#line 411 "./common.web" +/* :60 */ +#line 253 "./common.web" ; +/* 55: */ +#line 260 "./common.web" { int i; @@ -1032,9 +1231,9 @@ int i; for(i= first_text_char;i<=last_text_char;i++) { -xord[i]= 040; +xord[i]= ' '; #ifdef scramble_ASCII -xxord[i]= 040; +xxord[i]= ' '; #endif } @@ -1058,10 +1257,16 @@ xord[(eight_bits)XCHR_[i]]= (ASCII)i; #endif } +/* :55 */ +#line 254 "./common.web" ; } +/* :54 */ +#line 218 "./common.web" +/* 212: */ +#line 4729 "./common.web" { int k; @@ -1069,34 +1274,41 @@ int k; for(k= 0;k<128;k++) TeX[k]= TeX_other; -for(k= 0101;k<=0132;k++) +for(k= 'A';k<='Z';k++) TeX[k]= TeX_letter; -for(k= 0141;k<=0172;k++) +for(k= 'a';k<='z';k++) TeX[k]= TeX_letter; -TeX[0134]= TeX_escape; -TeX[0173]= TeX_bgroup; -TeX[0175]= TeX_egroup; -TeX[044]= TeX_math_shift; -TeX[046]= TeX_alignment_tab; -TeX[012]= TeX_eol; -TeX[043]= TeX_parameter; -TeX[0136]= TeX_superscript; -TeX[0137]= TeX_subscript; +TeX['\\']= TeX_escape; +TeX['{']= TeX_bgroup; +TeX['}']= TeX_egroup; +TeX['$']= TeX_math_shift; +TeX['&']= TeX_alignment_tab; +TeX['\n']= TeX_eol; +TeX['#']= TeX_parameter; +TeX['^']= TeX_superscript; +TeX['_']= TeX_subscript; TeX[0]= TeX_ignored; -TeX[040]= TeX[tab_mark]= TeX_space; -TeX[0176]= TeX_active; -TeX[045]= TeX_comment; +TeX[' ']= TeX[tab_mark]= TeX_space; +TeX['~']= TeX_active; +TeX['%']= TeX_comment; TeX[0177]= TeX_invalid; } +/* :212 */ +#line 219 "./common.web" ; +/* 124: */ +#line 2221 "./common.web" { ALLOC(INPUT_PRMS,prms,"id",max_include_depth,1); } +/* :124 */ +/* 174: */ +#line 3708 "./common.web" hash= GET_MEM("hash",hash_size,name_pointer); @@ -1104,6 +1316,9 @@ hash_end= hash+hash_size-1; for(h= hash;h<=hash_end;*h++= NULL); +/* :174 */ +/* 215: */ +#line 4969 "./common.web" { pformat= x__to_ASCII(OC("format")); @@ -1121,19 +1336,29 @@ conv_dot(dots0); conv_dot(mcmds); } +/* :215 */ +/* 262: */ +#line 6551 "./common.web" SET_VAL(mbuf_size,"mb"); +/* :262 */ +/* 300: */ +#line 7865 "./common.web" { init_buf(&sput_buf,10); init_buf(&c_buf,10); } +/* :300 */ +#line 220 "./common.web" ; predefine_macros(); +/* 213: */ +#line 4761 "./common.web" { params.uses= 0; @@ -1331,10 +1556,16 @@ translate_ASCII= YES; global_params= params; } +/* :213 */ +#line 223 "./common.web" +/* 325: */ +#line 8594 "./common.web" { +/* 326: */ +#line 8619 "./common.web" { int k; @@ -1348,6 +1579,8 @@ for(k= 0;kbyte_start= byte_ptr= byte_mem; @@ -1493,11 +1760,18 @@ name_ptr= name_dir+1; CAST(name_pointer,name_ptr)->byte_start= byte_mem; +/* :172 */ +/* 190: */ +#line 4027 "./common.web" root= NULL; +/* :190 */ +#line 233 "./common.web" ; +/* 183: */ +#line 3910 "./common.web" { if(rsrvd.args)see_reserved(&rsrvd); @@ -1507,6 +1781,8 @@ if(!found_web&&info_option&&!at_codes) wrap_up(); } +/* :183 */ +#line 234 "./common.web" more_includes(&incl,wt_style.Idir); @@ -1515,6 +1791,9 @@ if(found_web) read_aux(); } +/* :53 */ +/* 56: */ +#line 299 "./common.web" ASCII HUGE* @@ -1538,6 +1817,9 @@ else return(ASCII HUGE*)p0; } +/* :56 */ +/* 57: */ +#line 325 "./common.web" ASCII HUGE* @@ -1578,6 +1860,9 @@ else return(ASCII HUGE*)p0; } +/* :57 */ +/* 58: */ +#line 366 "./common.web" ASCII HUGE* @@ -1593,6 +1878,9 @@ for(p= (ASCII HUGE*)p0;*p;p++) return(ASCII HUGE*)p0; } +/* :58 */ +/* 59: */ +#line 383 "./common.web" outer_char HUGE* @@ -1607,6 +1895,9 @@ for(p= (outer_char HUGE*)p0;*p;p++)*p= XCHR(*(ASCII HUGE*)p); return(outer_char HUGE*)p0; } +/* :59 */ +/* 62: */ +#line 422 "./common.web" boolean @@ -1619,10 +1910,13 @@ if(m4&&is_in(incl_likes,id_first,id_loc))return YES; if(program==tangle)return NO; -if(!(*id_first==044||*id_first==0137))return NO; +if(!(*id_first=='$'||*id_first=='_'))return NO; return is_in(WEB_incl_likes,id_first,id_loc); } +/* :62 */ +/* 63: */ +#line 439 "./common.web" SRTN conv_bi FCN((b)) BUILT_IN HUGE*b C1("") @@ -1639,6 +1933,9 @@ for(;d->code!=0;d++) d->symbol= x__to_ASCII((outer_char*)d->symbol); } +/* :63 */ +/* 64: */ +#line 457 "./common.web" boolean @@ -1656,6 +1953,9 @@ return YES; return NO; } +/* :64 */ +/* 68: */ +#line 510 "./common.web" ASCII HUGE* @@ -1671,6 +1971,9 @@ p[k]= A_TO_UPPER(p[k]); return p; } +/* :68 */ +/* 69: */ +#line 528 "./common.web" boolean @@ -1683,10 +1986,10 @@ ASCII temp[MAX_DOT_LENGTH]; for(p= loc,n= 0;nlen= 0; goto re_dot; } +/* :70 */ +/* 71: */ +#line 611 "./common.web" eight_bits @@ -1766,6 +2075,9 @@ return 0; } +/* :71 */ +/* 73: */ +#line 692 "./common.web" boolean @@ -1810,14 +2122,19 @@ return NO; if(column_mode&&FORTRAN_LIKE(language)&& PTR_DIFF(size_t,limit,cur_buffer)==2&& -((!auto_semi&&(cur_buffer[1]==073||cur_buffer[1]==040))|| -(auto_semi&&cur_buffer[1]==073&&(cur_buffer[0]=='C'|| -cur_buffer[0]==0143||cur_buffer[0]==052)))) +((!auto_semi&&(cur_buffer[1]==';'||cur_buffer[1]==' '))|| +(auto_semi&&cur_buffer[1]==';'&&(cur_buffer[0]=='C'|| +cur_buffer[0]=='c'||cur_buffer[0]=='*')))) empty_line: limit= cur_buffer; +/* :73 */ +/* 73: */ +#line 746 "./common.web" #if(DEBUG) +/* 75: */ +#line 768 "./common.web" { register ASCII HUGE*k; @@ -1860,12 +2177,17 @@ puts("\""); } } +/* :75 */ +#line 748 "./common.web" ; #endif return YES; } +/* :73 */ +/* 76: */ +#line 816 "./common.web" boolean @@ -1874,9 +2196,13 @@ rd_free_form(VOID) register int c= '\0'; register ASCII HUGE*k; +/* 77: */ +#line 830 "./common.web" { if(num_in_buffer!=0) +/* 82: */ +#line 1011 "./common.web" { STRNCPY(cur_buffer,k0,num_in_buffer); @@ -1885,19 +2211,26 @@ limit= cur_buffer+num_in_buffer-N_END; num_in_buffer= 0; } +/* :82 */ +#line 833 "./common.web" else { if(feof(cur0_prms->File)) return NO; +/* 78: */ +#line 857 "./common.web" { k= cur_buffer; +/* :78 */ +/* 78: */ +#line 867 "./common.web" while(k<=buffer_end&&(c= getc(cur0_prms->File))!=EOF&&c!='\n') -if((*(k++)= XORD(c))!=040)limit= k; +if((*(k++)= XORD(c))!=' ')limit= k; @@ -1912,15 +2245,25 @@ if(c==EOF&&limit==cur_buffer) return NO; } +/* :78 */ +#line 839 "./common.web" ; +/* :77 */ +/* 77: */ +#line 843 "./common.web" } } +/* :77 */ +#line 824 "./common.web" return YES; } +/* :76 */ +/* 80: */ +#line 940 "./common.web" boolean @@ -1940,6 +2283,8 @@ in_char_string= NO; for(k= limit;;k= k0= (limit+= N_END),first_line= NO,cur_line++) if(num_in_buffer==0) +/* 83: */ +#line 1020 "./common.web" { int i; @@ -1955,9 +2300,13 @@ goto concatenate_cmnts; k0= limit; +/* 85: */ +#line 1121 "./common.web" { if(ignore_C) +/* 87: */ +#line 1218 "./common.web" { first_char: @@ -1986,12 +2335,14 @@ break; } } +/* :87 */ +#line 1124 "./common.web" while(k<=buffer_end&&(c= getc(cur0_prms->File))!=EOF&&c!='\n') if(c=='\t'&&k<=buffer_end-6) for(i= 0;i<6;++i) -*(k++)= 040; +*(k++)= ' '; else { @@ -2000,7 +2351,7 @@ outer_char c1; if(c==';') c= XCHR(interior_semi); -else if(point_comments&&(*k0!=0100)&& +else if(point_comments&&(*k0!='@')&& (escaped_char= BOOLEAN(c=='\\'))) { c= getc(cur0_prms->File); @@ -2015,7 +2366,7 @@ c= '\\'; if((*(k++)= CHOICE(IS_POINT(c)&&!escaped_char, -(ASCII)begin_comment1,XORD(c)))!=040) +(ASCII)begin_comment1,XORD(c)))!=' ') limit= k; } @@ -2030,18 +2381,20 @@ if(c==EOF&&limit==cur_buffer)return NO; } +/* :85 */ +#line 1035 "./common.web" ; -MEMSET(limit,040,N_END); +MEMSET(limit,' ',N_END); num_in_buffer= 0; -at_line= BOOLEAN(*k0==0100&&*(k0+1)!=057); +at_line= BOOLEAN(*k0=='@'&&*(k0+1)!='/'); -if(at_line&&(*(k0+1)==052||*(k0+1)==040)) +if(at_line&&(*(k0+1)=='*'||*(k0+1)==' ')) found_at= YES; @@ -2065,6 +2418,8 @@ continue; } if(!(at_line||scanning_C_cmnt)) +/* 86: */ +#line 1172 "./common.web" { boolean is_cmnt= NO,Fortran_cmnt= NO,C_cmnt= NO; @@ -2075,9 +2430,9 @@ ASCII HUGE*p= k0; switch(*k0) { -case 0103: -case 0143: -case 052: +case 'C': +case 'c': +case '*': case(ASCII)begin_comment0: case(ASCII)begin_comment1: is_cmnt= Fortran_cmnt= YES; @@ -2086,11 +2441,11 @@ break; default: for(;pcur_buffer) -MEMSET(k0-N_END,040,N_END); +MEMSET(k0-N_END,' ',N_END); if(Fortran_cmnt) *p= begin_comment1; @@ -2131,12 +2488,16 @@ continue; } +/* :88 */ +#line 1205 "./common.web" -if(limit-k0>=5&&!(k0[5]==040||k0[5]==060)) +if(limit-k0>=5&&!(k0[5]==' '||k0[5]=='0')) +/* 89: */ +#line 1289 "./common.web" { register ASCII HUGE*l; @@ -2155,7 +2516,7 @@ continue; stuff_in_1_5= NO; for(l= k0;llen= 0; pcmnt->pos= limit; } +/* :90 */ +/* 92: */ +#line 1365 "./common.web" SRTN @@ -2322,9 +2710,11 @@ p= limit; MARK(SHORT_CMNT,END,0); break; -case 047: -case 042: +case '\'': +case '"': if(!scanning_C_cmnt) +/* 93: */ +#line 1430 "./common.web" { if(!in_char_string) @@ -2343,20 +2733,22 @@ break; in_char_string= NO; } +/* :93 */ +#line 1394 "./common.web" break; -case 057: +case '/': if(in_char_string||scanning_C_cmnt) break; -if(*(p+1)==057&&Cpp_comments&&!ignore_C) +if(*(p+1)=='/'&&Cpp_comments&&!ignore_C) { MARK(SHORT_CMNT,START,2); p= limit; MARK(SHORT_CMNT,END,0); } -else if(*(p+1)==052) +else if(*(p+1)=='*') { MARK(LONG_CMNT,START,2); p++; @@ -2364,11 +2756,11 @@ p++; break; -case 052: +case '*': if(in_char_string) break; -if(scanning_C_cmnt&&*(p+1)==057) +if(scanning_C_cmnt&&*(p+1)=='/') { MARK(LONG_CMNT,END,2); p++; @@ -2378,6 +2770,9 @@ break; } } +/* :92 */ +/* 94: */ +#line 1452 "./common.web" SRTN @@ -2394,7 +2789,7 @@ for(d= posns+1;dpos+d->len;l<(d+1)->pos;l++) -if(*l!=040) +if(*l!=' ') { found_text= YES; break; @@ -2406,8 +2801,8 @@ if(d->type==SHORT_CMNT) { BLANK_OUT(d-1); *((d-1)->pos)= begin_comment0; -*(d->pos)= 052; -*(d->pos+1)= 057; +*(d->pos)= '*'; +*(d->pos+1)= '/'; } } else if(d->type==(d+1)->type) @@ -2418,6 +2813,8 @@ d->type= (d+1)->type= NO_CMNT; } } +/* 99: */ +#line 1555 "./common.web" { boolean text_after= NO; @@ -2426,10 +2823,10 @@ if(pcmnt>posns) { if(!scanning_C_cmnt) for(l= limit-1;l>(pcmnt-1)->pos+(pcmnt-1)->len;l--) -if(*l!=040) +if(*l!=' ') { text_after= YES; -*(l+1)= 073; +*(l+1)= ';'; break; } @@ -2464,9 +2861,11 @@ lmin= (pcmnt-1)->pos+(pcmnt-1)->len; for(l= pcmnt->pos-1;l>=lmin;l--) { -if(*l!=040) +if(*l!=' ') { semi_pos= pcmnt->pos; +/* 100: */ +#line 1628 "./common.web" { *(semi_pos+1)= (ASCII)(((pcmnt+1)->type==LONG_CMNT?begin_comment0: @@ -2476,32 +2875,38 @@ begin_comment1)); -if(semi_pos>cur_buffer&&*(semi_pos-1)==0100) +if(semi_pos>cur_buffer&&*(semi_pos-1)=='@') { -*(semi_pos--)= 0100; +*(semi_pos--)= '@'; } -*semi_pos= 073; +*semi_pos= ';'; +/* 101: */ +#line 1650 "./common.web" for(lp= semi_pos-1;lp>cur_buffer;lp--) { -if(*lp==040)continue; +if(*lp==' ')continue; -if(*lp==057&&*(--lp)==0100) +if(*lp=='/'&&*(--lp)=='@') { -*semi_pos= 040; -*lp= 073;*(lp+1)= 0100;*(lp+2)= 057; +*semi_pos= ' '; +*lp= ';';*(lp+1)= '@';*(lp+2)= '/'; } break; } +/* :101 */ +#line 1645 "./common.web" ; } +/* :100 */ +#line 1603 "./common.web" goto done_auto_insert; } @@ -2514,9 +2919,9 @@ pcmnt-= 2; else { for(l= limit-1;l>=cur_buffer;l--) -if(*l!=040) +if(*l!=' ') { -*(l+1)= 073; +*(l+1)= ';'; break; } } @@ -2525,11 +2930,16 @@ done_auto_insert: ; } +/* :99 */ +#line 1492 "./common.web" pcmnt= posns; } +/* :94 */ +/* 102: */ +#line 1667 "./common.web" boolean @@ -2542,9 +2952,13 @@ boolean found_semi; string_char= '\0'; in_char_string= NO; +/* 77: */ +#line 830 "./common.web" { if(num_in_buffer!=0) +/* 82: */ +#line 1011 "./common.web" { STRNCPY(cur_buffer,k0,num_in_buffer); @@ -2553,19 +2967,26 @@ limit= cur_buffer+num_in_buffer-N_END; num_in_buffer= 0; } +/* :82 */ +#line 833 "./common.web" else { if(feof(cur0_prms->File)) return NO; +/* 78: */ +#line 857 "./common.web" { k= cur_buffer; +/* :78 */ +/* 78: */ +#line 867 "./common.web" while(k<=buffer_end&&(c= getc(cur0_prms->File))!=EOF&&c!='\n') -if((*(k++)= XORD(c))!=040)limit= k; +if((*(k++)= XORD(c))!=' ')limit= k; @@ -2580,18 +3001,27 @@ if(c==EOF&&limit==cur_buffer) return NO; } +/* :78 */ +#line 839 "./common.web" ; +/* :77 */ +/* 77: */ +#line 843 "./common.web" } } +/* :77 */ +#line 1679 "./common.web" -if(*cur_buffer==0100&&(limit==cur_buffer+1 -||*(cur_buffer+1)==052||*(cur_buffer+1)==040)) +if(*cur_buffer=='@'&&(limit==cur_buffer+1 +||*(cur_buffer+1)=='*'||*(cur_buffer+1)==' ')) column_mode= NO; else +/* 104: */ +#line 1702 "./common.web" { last_was_continued= continuing_line; @@ -2600,9 +3030,9 @@ continuing_line= NO; if(limit==cur_buffer) return YES; -limit[0]= limit[1]= limit[2]= limit[3]= 040; +limit[0]= limit[1]= limit[2]= limit[3]= ' '; -cmnt_char= 043; +cmnt_char= '#'; found_semi= found_text= text= NO; @@ -2610,31 +3040,31 @@ semi_pos= NULL; -if(!free_form_input&&!(*cur_buffer==0100&&*(cur_buffer+1)==043)) +if(!free_form_input&&!(*cur_buffer=='@'&&*(cur_buffer+1)=='#')) { for(lp= cur_buffer;;) if(!skip_Rtext()||!skp_cmnt())break; switch(*last_pos) { -case 053:case 055:case 052:case 075:case 0173:case 0175: -case 0136:case 046:case 0174:case 050:case 072: -case 076:case 074:case 0133:case 054:case 0134: +case '+':case '-':case '*':case '=':case '{':case '}': +case '^':case '&':case '|':case '(':case ':': +case '>':case '<':case '[':case ',':case '\\': continuing_line= YES; break; -case 0137: +case '_': if(last_pos>cur_buffer) { ASCII c; c= *(last_pos-1); if(isAlpha(c)||isDigit(c)|| -c==0137||c==044) +c=='_'||c=='$') goto not_continuation; } -*last_pos= 040; +*last_pos= ' '; continuing_line= YES; break; @@ -2647,7 +3077,9 @@ break; -if(!text&&semi_pos!=NULL) +if(!text&&semi_pos!=NULL)/* 100: */ +#line 1628 "./common.web" + { *(semi_pos+1)= (ASCII)(((pcmnt+1)->type==LONG_CMNT?begin_comment0: begin_comment1)); @@ -2656,50 +3088,63 @@ begin_comment1)); -if(semi_pos>cur_buffer&&*(semi_pos-1)==0100) +if(semi_pos>cur_buffer&&*(semi_pos-1)=='@') { -*(semi_pos--)= 0100; +*(semi_pos--)= '@'; } -*semi_pos= 073; +*semi_pos= ';'; +/* 101: */ +#line 1650 "./common.web" for(lp= semi_pos-1;lp>cur_buffer;lp--) { -if(*lp==040)continue; +if(*lp==' ')continue; -if(*lp==057&&*(--lp)==0100) +if(*lp=='/'&&*(--lp)=='@') { -*semi_pos= 040; -*lp= 073;*(lp+1)= 0100;*(lp+2)= 057; +*semi_pos= ' '; +*lp= ';';*(lp+1)= '@';*(lp+2)= '/'; } break; } +/* :101 */ +#line 1645 "./common.web" ; } +/* :100 */ +#line 1757 "./common.web" -else if(found_text&&limit>cur_buffer)*limit++= 073; +else if(found_text&&limit>cur_buffer)*limit++= ';'; break; } } } +/* :104 */ +#line 1687 "./common.web" ; return YES; } +/* :102 */ +/* 106: */ +#line 1800 "./common.web" boolean skip_Rtext(VOID) { -static ASCII blank= 040; +static ASCII blank= ' '; +/* 107: */ +#line 1836 "./common.web" if(scanning_C_cmnt)return YES; @@ -2707,10 +3152,12 @@ if(scanning_C_cmnt)return YES; for(;lp=limit)return NO; +/* :107 */ +#line 1805 "./common.web" ; last_pos= ␣ @@ -2729,18 +3176,21 @@ if(start_Rcomment) if(R_style_cmnt) { *lp= cmnt_char= begin_comment0; -*limit++= 052;*limit++= 057; +*limit++= '*';*limit++= '/'; } if(++lp=0130&&cur_buffer[1]<=0132)||cur_buffer[1]==0111) -cur_buffer[1]+= 0172-0132; +if((cur_buffer[1]>='X'&&cur_buffer[1]<='Z')||cur_buffer[1]=='I') +cur_buffer[1]+= 'z'-'Z'; +/* :114 */ +#line 1994 "./common.web" ; +/* 115: */ +#line 2063 "./common.web" -if(cur_buffer[1]==0151) +if(cur_buffer[1]=='i') { loc= cur_buffer+2; @@ -2838,19 +3299,23 @@ err0_print(ERR_C,OC("Sorry, no includes allowed in change file"),0); } +/* :115 */ +#line 1995 "./common.web" ; -if((c= cur_buffer[1])==0170)break; +if((c= cur_buffer[1])=='x')break; -if(c==0171||c==0172) +if(c=='y'||c=='z') { loc= cur_buffer+2; err0_print(ERR_C,OC("Where is the matching @x?"),0); } -else +else/* 113: */ +#line 2008 "./common.web" + { -if(c==0154) +if(c=='l') if(limit==cur_buffer+2) err0_print(ERR_C,OC("Missing language character after @L"),0); @@ -2858,51 +3323,71 @@ else c= cur_buffer[2]; switch(c) { +/* 10: */ +#line 95 "./typedefs.hweb" -case 0143 +case 'c' +/* :10 */ +#line 2017 "./common.web" : language= change_params.Language= -(cur_buffer[2]==053)?C_PLUS_PLUS:C; +(cur_buffer[2]=='+')?C_PLUS_PLUS:C; column_mode= change_params.Column_mode= NO; continue; +/* 11: */ +#line 98 "./typedefs.hweb" -case 0162 +case 'r' +/* :11 */ +#line 2023 "./common.web" : if(!RAT_OK("Language change ignored"))continue; language= change_params.Language= -(cur_buffer[2]==071)?RATFOR_90:RATFOR; +(cur_buffer[2]=='9')?RATFOR_90:RATFOR; continue; +/* 12: */ +#line 101 "./typedefs.hweb" -case 0156 +case 'n' +/* :12 */ +#line 2030 "./common.web" : language= change_params.Language= -(cur_buffer[2]==071)?FORTRAN_90:FORTRAN; +(cur_buffer[2]=='9')?FORTRAN_90:FORTRAN; continue; +/* 14: */ +#line 107 "./typedefs.hweb" -case 0166 +case 'v' +/* :14 */ +#line 2035 "./common.web" : language= change_params.Language= LITERAL;continue; +/* 13: */ +#line 104 "./typedefs.hweb" -case 0170 +case 'x' +/* :13 */ +#line 2038 "./common.web" : language= change_params.Language= TEX;continue; -case 0133: +case '[': column_mode= change_params.Column_mode= YES;continue; -case 0135: +case ']': column_mode= change_params.Column_mode= NO;continue; default: @@ -2913,10 +3398,16 @@ continue; } } +/* :113 */ +#line 2004 "./common.web" } +/* :112 */ +#line 1959 "./common.web" ; +/* 116: */ +#line 2074 "./common.web" do @@ -2932,6 +3423,8 @@ goto done_priming; } while(limit==cur_buffer); +/* :116 */ +#line 1960 "./common.web" ; done_priming: @@ -2945,6 +3438,9 @@ changing= NO; cur0_prms= cur_prms.web; } +/* :111 */ +/* 117: */ +#line 2096 "./common.web" SRTN @@ -2967,19 +3463,27 @@ change_limit= NULL;changing= NO;prn_where= YES; return; } +/* 118: */ +#line 2138 "./common.web" -if(limit>cur_buffer+1&&cur_buffer[0]==0100) +if(limit>cur_buffer+1&&cur_buffer[0]=='@') { +/* 114: */ +#line 2056 "./common.web" -if((cur_buffer[1]>=0130&&cur_buffer[1]<=0132)||cur_buffer[1]==0111) -cur_buffer[1]+= 0172-0132; +if((cur_buffer[1]>='X'&&cur_buffer[1]<='Z')||cur_buffer[1]=='I') +cur_buffer[1]+= 'z'-'Z'; +/* :114 */ +#line 2142 "./common.web" ; +/* 115: */ +#line 2063 "./common.web" -if(cur_buffer[1]==0151) +if(cur_buffer[1]=='i') { loc= cur_buffer+2; @@ -2987,16 +3491,18 @@ err0_print(ERR_C,OC("Sorry, no includes allowed in change file"),0); } +/* :115 */ +#line 2143 "./common.web" ; -if(cur_buffer[1]==0170||cur_buffer[1]==0172) +if(cur_buffer[1]=='x'||cur_buffer[1]=='z') { loc= cur_buffer+2; err0_print(ERR_C,OC("Where is the matching @y?"),0); } -else if(cur_buffer[1]==0171) +else if(cur_buffer[1]=='y') { if(n>0) { @@ -3009,6 +3515,8 @@ return; } } +/* :118 */ +#line 2118 "./common.web" ; changing= NO;prn_where= YES; @@ -3029,10 +3537,14 @@ if(LINES_DONT_MATCH)n++; } } +/* :117 */ +#line 56 "./common.web" #endif #if(part != 1) +/* 119: */ +#line 2171 "./common.web" SRTN @@ -3042,31 +3554,46 @@ FCLOSE(prms[WEB_FILE].web.File); FCLOSE(prms[WEB_FILE].change.File); ini_input_prms(WEB_FILE,(outer_char HUGE*)"",ABORT_ON_ERROR); +/* 120: */ +#line 2191 "./common.web" -limit= cur_buffer;loc= cur_buffer+1;cur_buffer[0]= 040 +limit= cur_buffer;loc= cur_buffer+1;cur_buffer[0]= ' ' +/* :120 */ +#line 2180 "./common.web" ; +/* 122: */ +#line 2205 "./common.web" { cur0_prms= cur_prms.change; changing= YES; change_params= change_params0; prime_the_change_buffer(); +/* 120: */ +#line 2191 "./common.web" -limit= cur_buffer;loc= cur_buffer+1;cur_buffer[0]= 040 +limit= cur_buffer;loc= cur_buffer+1;cur_buffer[0]= ' ' +/* :120 */ +#line 2211 "./common.web" ; } +/* :122 */ +#line 2182 "./common.web" incl_depth= WEB_FILE; input_has_ended= NO; } +/* :119 */ +/* 126: */ +#line 2243 "./common.web" boolean @@ -3108,6 +3635,9 @@ STRCPY(this_include_file,web_level? return YES; } +/* :126 */ +/* 127: */ +#line 2285 "./common.web" boolean @@ -3158,6 +3688,9 @@ return NO; return YES; } +/* :127 */ +/* 128: */ +#line 2339 "./common.web" FILE* @@ -3206,6 +3739,9 @@ path= p1+1; return NULL; } +/* :128 */ +/* 129: */ +#line 2391 "./common.web" FILE* @@ -3248,12 +3784,17 @@ return file_ptr; return NULL; } +/* :129 */ +/* 132: */ +#line 2469 "./common.web" boolean get_line(VOID) { if(return_toggle) +/* 137: */ +#line 2584 "./common.web" { return_toggle= NO; @@ -3267,7 +3808,7 @@ return NO; STRNCPY(cur_buffer,stored_line,stored_line_length); FREE_MEM(stored_line,"stored_line",stored_line_length,ASCII); limit= cur_buffer+stored_line_length; -*limit= 040; +*limit= ' '; if(popped) { @@ -3280,12 +3821,16 @@ else goto process_line; } +/* :137 */ +#line 2475 "./common.web" restart: if(changing) chngd_module[module_count]= YES; else +/* 147: */ +#line 2888 "./common.web" { popped= NO; @@ -3342,6 +3887,8 @@ if(return_toggle) no_more_input= input_has_ended; input_has_ended= NO; popped= YES; +/* 135: */ +#line 2559 "./common.web" { return_toggle= YES; @@ -3353,11 +3900,13 @@ STRNCPY(stored_line,cur_buffer,stored_line_length); loc= cur_buffer+2; get_fname(prms[1].web.File_name); loc= limit= cur_buffer; -*limit++= 0100;*limit++= '\001';*limit= 040; +*limit++= '@';*limit++= '\001';*limit= ' '; return YES; } +/* :135 */ +#line 2944 "./common.web" } @@ -3368,10 +3917,14 @@ if(cur_buffer[0]==change_buffer[0]) if(change_limit>change_buffer)chk_change(); } +/* :147 */ +#line 2481 "./common.web" ; if(changing) { +/* 153: */ +#line 3109 "./common.web" { if(!input_ln(CHANGE_FILE)) @@ -3379,21 +3932,27 @@ if(!input_ln(CHANGE_FILE)) err0_print(ERR_C,OC("Change file ended without @z"),0); -cur_buffer[0]= 0100;cur_buffer[1]= 0172;limit= cur_buffer+2; +cur_buffer[0]= '@';cur_buffer[1]= 'z';limit= cur_buffer+2; } if(limit>cur_buffer+1) -if(cur_buffer[0]==0100) +if(cur_buffer[0]=='@') { +/* 114: */ +#line 2056 "./common.web" -if((cur_buffer[1]>=0130&&cur_buffer[1]<=0132)||cur_buffer[1]==0111) -cur_buffer[1]+= 0172-0132; +if((cur_buffer[1]>='X'&&cur_buffer[1]<='Z')||cur_buffer[1]=='I') +cur_buffer[1]+= 'z'-'Z'; +/* :114 */ +#line 3121 "./common.web" ; +/* 115: */ +#line 2063 "./common.web" -if(cur_buffer[1]==0151) +if(cur_buffer[1]=='i') { loc= cur_buffer+2; @@ -3401,21 +3960,25 @@ err0_print(ERR_C,OC("Sorry, no includes allowed in change file"),0); } +/* :115 */ +#line 3122 "./common.web" ; -if(cur_buffer[1]==0170||cur_buffer[1]==0171) +if(cur_buffer[1]=='x'||cur_buffer[1]=='y') { loc= cur_buffer+2; err0_print(ERR_C,OC("Where is the matching @z?"),0); } -else if(cur_buffer[1]==0172) +else if(cur_buffer[1]=='z') { prime_the_change_buffer();prn_where= YES; } } } +/* :153 */ +#line 2485 "./common.web" ; if(!changing) @@ -3425,9 +3988,11 @@ chngd_module[module_count]= YES;goto restart; } process_line: -loc= cur_buffer;*limit= 040; +loc= cur_buffer;*limit= ' '; if(return_toggle) +/* 135: */ +#line 2559 "./common.web" { return_toggle= YES; @@ -3439,21 +4004,25 @@ STRNCPY(stored_line,cur_buffer,stored_line_length); loc= cur_buffer+2; get_fname(prms[1].web.File_name); loc= limit= cur_buffer; -*limit++= 0100;*limit++= '\001';*limit= 040; +*limit++= '@';*limit++= '\001';*limit= ' '; return YES; } +/* :135 */ +#line 2497 "./common.web" -if(*cur_buffer==0100) +if(*cur_buffer=='@') switch(*(cur_buffer+1)) { -case 0151: -case 0111: +case 'i': +case 'I': +/* 133: */ +#line 2512 "./common.web" -if(*(cur_buffer+1)==0111&&(skip_includes|| +if(*(cur_buffer+1)=='I'&&(skip_includes|| (program==weave&&toggle_includes&&CUR_FILE==WEB_FILE))) { if(skip_includes) @@ -3464,6 +4033,8 @@ goto restart; else if(toggle_includes&&CUR_FILE==WEB_FILE) { toggling= YES; +/* 135: */ +#line 2559 "./common.web" { return_toggle= YES; @@ -3475,15 +4046,19 @@ STRNCPY(stored_line,cur_buffer,stored_line_length); loc= cur_buffer+2; get_fname(prms[1].web.File_name); loc= limit= cur_buffer; -*limit++= 0100;*limit++= '\001';*limit= 040; +*limit++= '@';*limit++= '\001';*limit= ' '; return YES; } +/* :135 */ +#line 2525 "./common.web" } } else +/* 139: */ +#line 2630 "./common.web" { boolean found_include; @@ -3510,6 +4085,8 @@ err0_print(ERR_C,OC("Include file name not given"),0); else { if(skip_ifiles) +/* 142: */ +#line 2708 "./common.web" { int j; @@ -3533,6 +4110,8 @@ STRCPY(ifiles[num_ifiles],cur_file_name); num_ifiles++; } +/* :142 */ +#line 2654 "./common.web" if(!get_fname(change_file_name)) @@ -3552,19 +4131,27 @@ if(found_include) if(ini_input_prms(CUR_FILE,incl.list,DONT_ABORT_ON_ERROR)) { if(cur_prms.change->File!=prms[incl_depth-1].change.File) +/* 122: */ +#line 2205 "./common.web" { cur0_prms= cur_prms.change; changing= YES; change_params= change_params0; prime_the_change_buffer(); +/* 120: */ +#line 2191 "./common.web" -limit= cur_buffer;loc= cur_buffer+1;cur_buffer[0]= 040 +limit= cur_buffer;loc= cur_buffer+1;cur_buffer[0]= ' ' +/* :120 */ +#line 2211 "./common.web" ; } +/* :122 */ +#line 2673 "./common.web" else*cur_prms.change= prms[incl_depth-1].change; @@ -3584,8 +4171,12 @@ incl_depth--; goto restart; } +/* :139 */ +#line 2529 "./common.web" +/* :133 */ +#line 2504 "./common.web" break; } @@ -3593,6 +4184,9 @@ break; return(boolean)(!input_has_ended); } +/* :132 */ +/* 143: */ +#line 2733 "./common.web" boolean @@ -3605,26 +4199,28 @@ outer_char HUGE*k; skip_white: -while(loc<=limit&&(*loc==040||*loc==011||*loc==042))loc++; +while(loc<=limit&&(*loc==' '||*loc=='\t'||*loc=='"'))loc++; if(loc>=limit)return NO; +/* 144: */ +#line 2772 "./common.web" { -if(*loc==057) +if(*loc=='/') { -if(*(loc+1)==057) +if(*(loc+1)=='/') { loc= limit+1; return NO; } -if(*(loc+1)==052) +if(*(loc+1)=='*') { for(loc+= 2;loc<=limit;loc++) -if(*loc==052&&*(loc+1)==057) +if(*loc=='*'&&*(loc+1)=='/') { loc+= 2; goto skip_white; @@ -3636,21 +4232,29 @@ err0_print(ERR_C,OC("Can't continue comments on @i lines"),0); } } +/* :144 */ +#line 2751 "./common.web" k= file_name;j= loc; -while(*loc!=040&&*loc!=011&&*loc!=042)*k++= XCHR(*loc++); +while(*loc!=' '&&*loc!='\t'&&*loc!='"')*k++= XCHR(*loc++); TERMINATE(k,0); +/* :143 */ +/* 143: */ +#line 2765 "./common.web" add_prefix(file_name); return YES; } +/* :143 */ +/* 145: */ +#line 2799 "./common.web" SRTN @@ -3671,6 +4275,9 @@ STRCPY(file_name,temp); } } +/* :145 */ +/* 146: */ +#line 2822 "./common.web" SRTN @@ -3739,6 +4346,9 @@ STRCPY(name,temp); #endif } +/* :146 */ +/* 148: */ +#line 2958 "./common.web" boolean @@ -3752,7 +4362,7 @@ return NO; -limbo_material= BOOLEAN(cur_buffer[0]==0100&&cur_buffer[1]==0172); +limbo_material= BOOLEAN(cur_buffer[0]=='@'&&cur_buffer[1]=='z'); if(limbo_material) do @@ -3770,7 +4380,7 @@ find_keywords(cur_buffer,limit); } -while(!(cur_buffer[0]==0100&&cur_buffer[1]==0170)); +while(!(cur_buffer[0]=='@'&&cur_buffer[1]=='x')); @@ -3784,6 +4394,9 @@ return NO; return YES; } +/* :148 */ +/* 149: */ +#line 3007 "./common.web" SRTN @@ -3795,38 +4408,41 @@ ASCII HUGE*pk,HUGE*pk_end,HUGE*ptext,HUGE*ptext_end; *p_end= '\0'; -pk= (ASCII HUGE*)STRCHR(p,044); +pk= (ASCII HUGE*)STRCHR(p,'$'); if(!pk) return; -pk_end= (ASCII HUGE*)STRCHR(pk,072); +pk_end= (ASCII HUGE*)STRCHR(pk,':'); if(!pk_end) return; -if(pk_end[1]!=040) +if(pk_end[1]!=' ') return; -ptext_end= (ASCII HUGE*)STRCHR(pk_end+1,044); +ptext_end= (ASCII HUGE*)STRCHR(pk_end+1,'$'); if(!ptext_end) return; -if(ptext_end[-1]!=040) +if(ptext_end[-1]!=' ') return; -for(ptext= pk_end+2;*ptext==040;ptext++) +for(ptext= pk_end+2;*ptext==' ';ptext++) ; -for(ptext_end--;*ptext_end==040;ptext_end--) +for(ptext_end--;*ptext_end==' ';ptext_end--) ; add_keyword(pk+1,pk_end,ptext,ptext_end+1); } +/* :149 */ +/* 152: */ +#line 3064 "./common.web" SRTN @@ -3871,6 +4487,9 @@ STRCPY(prcs->txt,pt); prcs->next= NULL; } +/* :152 */ +/* 154: */ +#line 3139 "./common.web" SRTN @@ -3888,6 +4507,9 @@ err0_print(ERR_C,OC("Change file entry did not match"),0); } } +/* :154 */ +/* 157: */ +#line 3175 "./common.web" void HUGE* @@ -3943,6 +4565,9 @@ show_alloc('+',why,nunits,(BUF_SIZE)nsize,nbytes,p,total_mem); return p; } +/* :157 */ +/* 158: */ +#line 3231 "./common.web" SRTN @@ -3962,6 +4587,9 @@ printf("(%s total)\n",commas(total_mem)); free_buf(&c_buf); } +/* :158 */ +/* 159: */ +#line 3259 "./common.web" SRTN @@ -3980,6 +4608,9 @@ PTR_BASE printf(ptr_string,p,(char HUGE*)p+nbytes); } +/* :159 */ +/* 160: */ +#line 3279 "./common.web" SRTN @@ -4007,6 +4638,9 @@ show_alloc('-',why,nunits,(BUF_SIZE)nsize,nbytes,p,total_mem); FREE(p); } +/* :160 */ +/* 164: */ +#line 3485 "./common.web" MEM HUGE* @@ -4048,6 +4682,9 @@ mark_harmless; return m; } +/* :164 */ +/* 165: */ +#line 3530 "./common.web" void HUGE* @@ -4069,6 +4706,9 @@ else return get_mem0(abbrev,(*pnunits)+dn,nsize); } +/* :165 */ +/* 166: */ +#line 3552 "./common.web" MEM HUGE* find_abbrev FCN((abbrev)) @@ -4086,6 +4726,9 @@ confusion(OC("find_abbrev"),OC("Bad alloc abbreviation \"%s\""),abbrev); return NULL; } +/* :166 */ +/* 167: */ +#line 3573 "./common.web" #ifdef mcc @@ -4120,6 +4763,9 @@ return new_ptr; #endif +/* :167 */ +/* 170: */ +#line 3633 "./common.web" unsigned @@ -4160,6 +4806,9 @@ n= PTR_DIFF(int,p1,p0); return n; } +/* :170 */ +/* 175: */ +#line 3719 "./common.web" name_pointer @@ -4183,13 +4832,19 @@ for(last= first;*last!='\0';last++) } l= PTR_DIFF(int,last,first); +/* 186: */ +#line 3977 "./common.web" h= *i; while(++ilink= hash[h];hash[h]= p; } +/* :187 */ +#line 3743 "./common.web" ; if(p==name_ptr) +/* 188: */ +#line 4002 "./common.web" { if(byte_ptr+l>byte_end)OVERFLW("bytes","b"); @@ -4217,6 +4876,8 @@ if(program==weave) ini_p(p,t); } +/* :188 */ +#line 3746 "./common.web" ; if(!(p->Language&(boolean)language)) @@ -4246,6 +4907,9 @@ default:; return p; } +/* :175 */ +/* 176: */ +#line 3780 "./common.web" sixteen_bits @@ -4299,12 +4963,16 @@ STRCPY(a,s); i= first= to_ASCII((outer_char*)a); last= first+l; +/* 186: */ +#line 3977 "./common.web" h= *i; while(++ibyte_start,l)==0)) @@ -4321,7 +4989,11 @@ FREE_MEM(a,"find_s",l+1,ASCII); return n; } +#line 8 "./t_codes.hweb" +/* :176 */ +/* 180: */ +#line 3852 "./common.web" sixteen_bits @@ -4332,6 +5004,9 @@ eight_bits a1 C1("") return find_n(IDENTIFIER(a0,a1)); } +/* :180 */ +/* 181: */ +#line 3863 "./common.web" SRTN @@ -4363,6 +5038,9 @@ if(!prsrvd||prsrvd->keywords) pr_lan("keyword ",np->keyword); } +/* :181 */ +/* 184: */ +#line 3922 "./common.web" SRTN @@ -4391,10 +5069,14 @@ printf("(none)"); printf(" }"); +#line 3951 "./common.web" puts(""); } +/* :184 */ +/* 185: */ +#line 3956 "./common.web" BUF_SIZE @@ -4412,6 +5094,9 @@ putchar('\n'); return n; } +/* :185 */ +/* 191: */ +#line 4042 "./common.web" name_pointer @@ -4443,6 +5128,9 @@ return NULL; return install_node(q,c,k,PTR_DIFF(int,l,k)+1); } +/* :191 */ +/* 192: */ +#line 4075 "./common.web" LEXI @@ -4461,6 +5149,9 @@ else if(*j<*k)return LESS; else return GREATER; } +/* :192 */ +/* 193: */ +#line 4101 "./common.web" name_pointer @@ -4483,6 +5174,9 @@ STRNCPY(byte_ptr,j,name_len); return node; } +/* :193 */ +/* 194: */ +#line 4129 "./common.web" name_pointer @@ -4519,6 +5213,9 @@ err0_print(ERR_C,OC("Ambiguous prefix"),0); return r; } +/* :194 */ +/* 195: */ +#line 4165 "./common.web" unsigned @@ -4533,6 +5230,9 @@ r= prefix_lookup((ASCII HUGE*)s,(ASCII HUGE*)(s+STRLEN(s))); return r?prn_id(r):0; } +/* :195 */ +/* 198: */ +#line 4213 "./common.web" SRTN @@ -4599,6 +5299,8 @@ printf("."); if(err_origin==ERR_S) +/* 201: */ +#line 4384 "./common.web" { CONST outer_char HUGE*k,HUGE*l; @@ -4624,8 +5326,12 @@ putchar(*k>127?' ':*k); putchar('\n'); } +/* :201 */ +#line 4279 "./common.web" else +/* 199: */ +#line 4304 "./common.web" { if(cur0_prms) @@ -4663,7 +5369,7 @@ l= cur_buffer+MAX_ERR_BUF; } for(k= cur_buffer;k127?' ':XCHR(*k)); @@ -4687,13 +5393,15 @@ putchar(*k>127?' ':XCHR(*k)); } if(limit!=NULL) -if(*limit==0174)putchar('|'); +if(*limit=='|')putchar('|'); putchar(' '); err_happened= YES; } } +/* :199 */ +#line 4281 "./common.web" } @@ -4708,6 +5416,9 @@ free_buf(&sput_buf); set_color(NORMAL); } +/* :198 */ +/* 202: */ +#line 4413 "./common.web" int @@ -4753,6 +5464,9 @@ return wrap_up(); } +/* :202 */ +/* 203: */ +#line 4467 "./common.web" int @@ -4788,6 +5502,9 @@ I'M CONFUSED; this shouldn't happen. PLEASE REPORT THIS!!! "),OC(temp)); } +/* :203 */ +/* 204: */ +#line 4500 "./common.web" SRTN @@ -4811,6 +5528,9 @@ fatal(ERR_NULL,OC("!!! Sorry, CAPACITY EXCEEDED: "),OC("Too many %s. Current n } +/* :204 */ +/* 205: */ +#line 4527 "./common.web" SRTN @@ -4825,6 +5545,9 @@ of %i;",name,value); OVERFLW(temp,""); } +/* :205 */ +/* 206: */ +#line 4547 "./common.web" #if(VMS) @@ -4844,6 +5567,8 @@ see_statistics(); prn_time(); #endif +/* 208: */ +#line 4609 "./common.web" { if(msg_level>=SHORT_INFO @@ -4887,7 +5612,11 @@ CLR_PRINTF(ALWAYS,program_name,("]\n")); set_color(NORMAL); } +/* :208 */ +#line 4566 "./common.web" +/* 207: */ +#line 4597 "./common.web" { if(cur_prms.web&&cur_prms.web->File) @@ -4899,6 +5628,8 @@ fclose(cur_prms.change->File); cls_files(); } +/* :207 */ +#line 4567 "./common.web" SET_COLOR(ordinary); @@ -4926,6 +5657,9 @@ exit(1); return-1; } +/* :206 */ +/* 209: */ +#line 4654 "./common.web" char @@ -4945,6 +5679,9 @@ else return '!'; } +/* :209 */ +/* 210: */ +#line 4675 "./common.web" SRTN @@ -4956,6 +5693,9 @@ fatal(ERR_C,OC("Output error"),OC("from %s (quota exceeded?)."),fcn); } +/* :210 */ +/* 211: */ +#line 4691 "./common.web" boolean @@ -5002,6 +5742,9 @@ fflush(stdout); return(STRCMP(buf,"yes")==0); } +/* :211 */ +/* 219: */ +#line 5051 "./common.web" SRTN @@ -5024,6 +5767,8 @@ banner(); if(statistics) mem_avail(0); +/* 233: */ +#line 5593 "./common.web" { outer_char HUGE*dot_pos; @@ -5056,6 +5801,8 @@ TERMINATE(dot_pos,0); } } +/* 235: */ +#line 5641 "./common.web" { if(p) @@ -5071,15 +5818,23 @@ STRCPY(wbflnm0,wbflnm); } } +/* :235 */ +#line 5622 "./common.web" } +/* :233 */ +#line 5073 "./common.web" +/* 250: */ +#line 6145 "./common.web" { read_sty(style_file_name,renamed_style); +/* 251: */ +#line 6155 "./common.web" { DOT_DELIMITER HUGE*d= &wt_style.dot_delimiter; @@ -5093,11 +5848,17 @@ t_style.ASCII_fcn= x__to_ASCII((outer_char*)t_style.ASCII_fcn); } } +/* :251 */ +#line 6149 "./common.web" } +/* :250 */ +#line 5075 "./common.web" +/* 232: */ +#line 5568 "./common.web" { int k; @@ -5122,6 +5883,8 @@ set_name(RATFOR_90,wt_style.output_ext.R90_); set_name(TEX,wt_style.output_ext.X_); } +/* :232 */ +#line 5077 "./common.web" ; if(!(found_web||info_option)) @@ -5131,6 +5894,9 @@ if(!found_change) *change_file_name= '\0'; } +/* :219 */ +/* 220: */ +#line 5096 "./common.web" outer_char HUGE* @@ -5175,6 +5941,9 @@ STRCPY(--b,line1); return buf; } +/* :220 */ +/* 222: */ +#line 5169 "./common.web" SRTN @@ -5199,6 +5968,8 @@ k= 0; ini_args= GET_MEM("ini_args",MAX_INI_ARGS,outer_char HUGE*); +/* 223: */ +#line 5231 "./common.web" { outer_char*p_root,ini_root[MAX_FILE_NAME_LENGTH]; @@ -5222,10 +5993,14 @@ ini_file= FOPEN(mk_fname(ini_file_name,MAX_FILE_NAME_LENGTH, HOME,YES,ini_root),"r"); } +/* :223 */ +#line 5193 "./common.web" if(ini_file) +/* 224: */ +#line 5256 "./common.web" { outer_char CONST HUGE*b,HUGE*blimit; @@ -5255,6 +6030,8 @@ goto done; case '"': case '\'': blank= NO; +/* 225: */ +#line 5329 "./common.web" { outer_char delim= *b; @@ -5292,6 +6069,8 @@ else *t++= *b++; } +/* :225 */ +#line 5285 "./common.web" goto done; @@ -5336,6 +6115,8 @@ putchar('\n'); #endif } +/* :224 */ +#line 5197 "./common.web" @@ -5362,6 +6143,9 @@ FREE_MEM(buffer,"buffer",T_SIZE,char); FREE_MEM(temp,"temp",T_SIZE,char); } +/* :222 */ +/* 227: */ +#line 5375 "./common.web" SRTN @@ -5412,6 +6196,9 @@ pincl->num++; } } +/* :227 */ +/* 228: */ +#line 5427 "./common.web" int @@ -5429,6 +6216,9 @@ return n; } +/* :228 */ +/* 229: */ +#line 5445 "./common.web" char* @@ -5482,6 +6272,9 @@ STRCPY(buffer,file_name); return(char*)buffer; } +/* :229 */ +/* 230: */ +#line 5495 "./common.web" boolean @@ -5500,6 +6293,9 @@ return YES; return NO; } +/* :230 */ +/* 231: */ +#line 5515 "./common.web" SRTN @@ -5540,6 +6336,9 @@ pn++; } } +/* :231 */ +/* 234: */ +#line 5626 "./common.web" SRTN @@ -5553,6 +6352,9 @@ if(*params.outp_nm[k= lan_num(l)]=='\0') new_fname(params.outp_nm+k,wbflnm0,output_ext); } +/* :234 */ +/* 236: */ +#line 5659 "./common.web" outer_char HUGE* @@ -5599,6 +6401,9 @@ return*pout_name; } +/* :236 */ +/* 239: */ +#line 5737 "./common.web" SRTN @@ -5624,6 +6429,8 @@ last_mod_name= mod_names+MAX_MOD_NAMES; if(TeX_processor!=LaTeX_p) return; +/* 240: */ +#line 5781 "./common.web" { outer_char*dot_pos; @@ -5655,6 +6462,8 @@ reading(aux_file_name,YES); } +/* :240 */ +#line 5762 "./common.web" modno= 0; @@ -5666,6 +6475,8 @@ aline++; if(STRNCMP(buffer,"\\Newlabel",9)!=0) continue; +/* 242: */ +#line 5826 "./common.web" { #if(!ANSI_SSCANF) @@ -5749,6 +6560,8 @@ pmcount= 1; } } +/* :242 */ +#line 5773 "./common.web" } @@ -5756,6 +6569,9 @@ sect_info[modno].subpage_flag= BOOLEAN(pmcount!=1); fclose(fa); } +/* :239 */ +/* 245: */ +#line 5994 "./common.web" outer_char HUGE* @@ -5773,13 +6589,13 @@ outer_char c,letter[2]; letter[1]= '\0'; c= (ps->subpage_flag? -XCHR(modno-ps->modno0+0141-1):'\0'); +XCHR(modno-ps->modno0+'a'-1):'\0'); if(c) { -if(XORD(c)>0172) +if(XORD(c)>'z') c= '?'; -else if(c==0140) +else if(c=='`') c= '\0'; } @@ -5803,6 +6619,9 @@ confusion(OC("mod_trans"),OC("too many unfreed mod names")); return*(next_mod_name++)= mod_temp; } +/* :245 */ +/* 246: */ +#line 6038 "./common.web" SRTN @@ -5821,6 +6640,9 @@ FREE(*next_mod_name); } } +/* :246 */ +/* 247: */ +#line 6062 "./common.web" int @@ -5865,6 +6687,9 @@ default:return NO_LANGUAGE; } } +/* :247 */ +/* 248: */ +#line 6109 "./common.web" int lan_index FCN((Language)) @@ -5891,6 +6716,9 @@ default:Language= global_language;goto proper_language; } } +/* :248 */ +/* 253: */ +#line 6181 "./common.web" SRTN @@ -5930,6 +6758,8 @@ pa= pa_begin= *(argv++); if((a_file_name= BOOLEAN(*pa!='-'))||*(pa+1)=='\0') +/* 254: */ +#line 6227 "./common.web" { if(doing_cmd_line) @@ -5940,6 +6770,8 @@ STRCPY(wbflnm,THE_FILE_NAME); *pfound_web= YES; } else if(!*pfound_change) +/* 255: */ +#line 6250 "./common.web" { if(a_file_name&&STRLEN(pa)>MAX_FILE_NAME_LENGTH-5) @@ -5964,8 +6796,12 @@ nsprintf(change_file_name,OC("%s"),1,THE_FILE_NAME)>=(int)(MAX_FILE_NAME_LENGTH) *pfound_change= YES; } +/* :255 */ +#line 6237 "./common.web" else +/* 321: */ +#line 8545 "./common.web" { printf("! Warning: Ignoring multiple change file \"%s\".\n", @@ -5974,6 +6810,8 @@ mark_harmless; continue; } +/* :321 */ +#line 6239 "./common.web" ; } else @@ -5984,8 +6822,12 @@ mark_harmless; } } +/* :254 */ +#line 6220 "./common.web" else +/* 264: */ +#line 6572 "./common.web" { outer_char mc; @@ -6015,6 +6857,8 @@ tracing= VERBOSE; break; case '@': +/* 265: */ +#line 6853 "./common.web" { if(!at_codes) @@ -6027,11 +6871,15 @@ STRCAT(at_codes,to_ASCII(pa)); info_option= YES; } +/* :265 */ +#line 6601 "./common.web" continue; case 'a': case 'A': +/* 266: */ +#line 6870 "./common.web" { #if(TRANSLATE_ASCII || DEBUG_XCHR) @@ -6042,10 +6890,14 @@ translate_ASCII= NOT(TRANSLATE_ASCII0); } +/* :266 */ +#line 6606 "./common.web" break; case 'b': +/* 267: */ +#line 6882 "./common.web" { params.Block_nums[LN(FORTRAN)] @@ -6055,6 +6907,8 @@ params.Block_nums[LN(FORTRAN)] = NOT(BLOCK_NUMS); } +/* :267 */ +#line 6610 "./common.web" break; @@ -6062,15 +6916,25 @@ case 'B': beeps= NOT(BEEPS); break; +/* 15: */ +#line 118 "./typedefs.hweb" case 'c' +/* :15 */ +#line 6617 "./common.web" : +/* 268: */ +#line 6894 "./common.web" { +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 6896 "./common.web" Cpp= BOOLEAN(*pa=='+'); @@ -6095,6 +6959,8 @@ break; } +/* :268 */ +#line 6618 "./common.web" break; @@ -6104,9 +6970,13 @@ pa++; break; case 'D': +/* 269: */ +#line 6928 "./common.web" { if(*pa=='[') +/* 270: */ +#line 6950 "./common.web" { for(++pa;*pa!=']';pa++) @@ -6143,6 +7013,8 @@ break; pa++; } +/* :270 */ +#line 6931 "./common.web" else { @@ -6162,6 +7034,8 @@ rsrvd.args= pa; info_option= YES; } +/* :269 */ +#line 6627 "./common.web" continue; @@ -6169,11 +7043,17 @@ case 'd': number_dos= NOT(NUMBER_DOS); case ':': +/* 271: */ +#line 6987 "./common.web" { +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 6989 "./common.web" max_stmt= STARTING_DO_NUM; @@ -6189,6 +7069,8 @@ err0_print(ERR_C,OC("Starting DO number must be < 99999; assuming %lu"),-1-1,max } +/* :271 */ +#line 6634 "./common.web" continue; @@ -6196,11 +7078,17 @@ case 'e': try_extensions= NOT(TRY_EXTENSIONS);break; case 'E': +/* 272: */ +#line 7007 "./common.web" { +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 7009 "./common.web" if(*pa) @@ -6210,6 +7098,8 @@ else err0_print(ERR_C,OC("Missing character after -E option; option ignored"),-1-0); } +/* :272 */ +#line 6641 "./common.web" break; @@ -6223,14 +7113,20 @@ case 'g': dbg_output= NOT(DBG_OUTPUT);break; case 'h': +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 6654 "./common.web" help(); continue; case 'H': +/* 275: */ +#line 7078 "./common.web" { outer_char HUGE*p= pa; @@ -6261,10 +7157,14 @@ continue; } +/* :275 */ +#line 6659 "./common.web" break; case 'i': +/* 276: */ +#line 7114 "./common.web" { switch(*pa++) @@ -6287,16 +7187,22 @@ continue; } } +/* :276 */ +#line 6663 "./common.web" break; case 'I': +/* 277: */ +#line 7142 "./common.web" { more_includes(read_iformats?&hdr_incl:&incl,pa); } +/* :277 */ +#line 6667 "./common.web" continue; @@ -6307,33 +7213,55 @@ case 'k': lc_keywords= NOT(LC_KEYWORDS);break; case 'L': +/* 278: */ +#line 7151 "./common.web" { switch(*pa) { +/* 15: */ +#line 118 "./typedefs.hweb" case 'c' +/* :15 */ +#line 7155 "./common.web" : +/* 17: */ +#line 124 "./typedefs.hweb" case 'n' +/* :17 */ +#line 7156 "./common.web" : +/* 16: */ +#line 121 "./typedefs.hweb" case 'r' +/* :16 */ +#line 7157 "./common.web" : goto reswitch; +/* 19: */ +#line 130 "./typedefs.hweb" case 'v' +/* :19 */ +#line 7160 "./common.web" : +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 7161 "./common.web" switch(*(pa+1)) { @@ -6351,13 +7279,21 @@ break; } break; +/* 18: */ +#line 127 "./typedefs.hweb" case 'x' +/* :18 */ +#line 7178 "./common.web" : +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 7179 "./common.web" switch(*(pa+1)) { @@ -6381,10 +7317,14 @@ break; } } +/* :278 */ +#line 6677 "./common.web" continue; case 'l': +/* 279: */ +#line 7205 "./common.web" { prn_input_lines= BOOLEAN(YES^not); @@ -6416,10 +7356,14 @@ prn_input_addresses= YES; } } +/* :279 */ +#line 6681 "./common.web" continue; case 'M': +/* 288: */ +#line 7576 "./common.web" { if(!*pa) @@ -6439,20 +7383,31 @@ msg_level= EVERYTHING; } +/* :288 */ +#line 6685 "./common.web" continue; case 'm': +/* 289: */ +#line 7601 "./common.web" { switch(*pa) { case '4': +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 7607 "./common.web" +/* :289 */ +/* 289: */ +#line 7611 "./common.web" m4= !M4_; pa++; break; @@ -6487,6 +7442,8 @@ continue; } } +/* :289 */ +#line 6689 "./common.web" break; @@ -6503,6 +7460,8 @@ overload_ops= NOT(OVERLOAD_OPS); break; case 'p': +/* 286: */ +#line 7483 "./common.web" { IN_STYLE outer_char HUGE*sprm_buf,HUGE*sprm_ptr,HUGE*sprm_end; @@ -6539,10 +7498,14 @@ sprm_ptr+= n; *sprm_ptr++= '\n'; } +/* :286 */ +#line 6705 "./common.web" continue; case 'P': +/* 287: */ +#line 7524 "./common.web" { switch(*pa) @@ -6573,6 +7536,8 @@ pa++; } +/* :287 */ +#line 6709 "./common.web" break; @@ -6581,9 +7546,13 @@ free_form_input= NOT(FREE_FORM_INPUT); Ratfor77= NOT(RATFOR77); break; +/* 16: */ +#line 121 "./typedefs.hweb" case 'r' +/* :16 */ +#line 6717 "./common.web" : if(!RAT_OK("Language command ignored")) break; @@ -6591,6 +7560,8 @@ FR_args(RATFOR); continue; case 's': +/* 294: */ +#line 7733 "./common.web" { statistics= NOT(STATISTICS); @@ -6611,23 +7582,35 @@ mark_harmless; } } +/* :294 */ +#line 6724 "./common.web" continue; case 't': +/* 302: */ +#line 7917 "./common.web" { +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 7919 "./common.web" ntrunc(); } +/* :302 */ +#line 6728 "./common.web" continue; case 'T': +/* 306: */ +#line 8034 "./common.web" { outer_char HUGE*p= pa; @@ -6671,10 +7654,14 @@ break; } } +/* :306 */ +#line 6732 "./common.web" continue; case 'u': +/* 307: */ +#line 8080 "./common.web" { if(not) @@ -6689,6 +7676,8 @@ save_macro(OC("#undef"),pa); } +/* :307 */ +#line 6736 "./common.web" continue; @@ -6713,6 +7702,8 @@ input_macros= NOT(INPUT_MACROS); continue; case 'W': +/* 309: */ +#line 8108 "./common.web" { outer_char HUGE*p= pa; @@ -6799,6 +7790,8 @@ break; } } +/* :309 */ +#line 6760 "./common.web" continue; @@ -6817,6 +7810,8 @@ flags3(BOOLEAN(!not)); continue; case 'y': +/* 311: */ +#line 8260 "./common.web" { outer_char abbrev[80],HUGE*a; @@ -6825,9 +7820,13 @@ MEM HUGE*m,HUGE*mmin= NULL,HUGE*mmax= NULL; boolean query_mode= NO; +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 8268 "./common.web" if(!*pa) @@ -6880,15 +7879,23 @@ msearch(abbrev,nunits); info_option= YES; } +/* :311 */ +#line 6778 "./common.web" continue; case 'z': +/* 312: */ +#line 8323 "./common.web" { +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 8325 "./common.web" if(STRLEN(pa)': case '=': +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 6813 "./common.web" if(doing_cmd_line||phase==2) redirect_output(); @@ -6983,10 +7996,15 @@ spurious(pa); } +/* :264 */ +#line 6222 "./common.web" ; } } +/* :253 */ +/* 256: */ +#line 6279 "./common.web" SRTN @@ -7002,15 +8020,15 @@ ini_language(l); if(!IS_WHITE(*loc)) { -if(*loc!=0133) +if(*loc!='[') { -*pa++= 055; +*pa++= '-'; *pa++= l; WHILE() { -if(IS_WHITE(*loc)||*loc==0133)break; -if(*loc==0174&&parsing_mode==INNER) +if(IS_WHITE(*loc)||*loc=='[')break; +if(*loc=='|'&&parsing_mode==INNER) { err0_print(ERR_C,OC("WARNING: Code mode ended during \ @@ -7023,13 +8041,13 @@ COPY_TO_ARG_BUFFER(*loc++); } -if(*loc==0133) +if(*loc=='[') { -COPY_TO_ARG_BUFFER(040); +COPY_TO_ARG_BUFFER(' '); for(loc++;;) { -if(*loc==0135) +if(*loc==']') { loc++; break; @@ -7046,6 +8064,9 @@ do_args(NO,argc,args,&found_web,(outer_char*)NULL,&found_change); fin_language(); } +/* :256 */ +/* 257: */ +#line 6341 "./common.web" SRTN @@ -7057,40 +8078,60 @@ l= A_TO_LOWER(l); switch(l) { +/* 10: */ +#line 95 "./typedefs.hweb" -case 0143 +case 'c' +/* :10 */ +#line 6352 "./common.web" : language= (Cpp?C_PLUS_PLUS:C); break; +/* 11: */ +#line 98 "./typedefs.hweb" -case 0162 +case 'r' +/* :11 */ +#line 6356 "./common.web" : if(!RAT_OK("Invalid @r command; language set to C"))language= C; else language= (Fortran88?RATFOR_90:RATFOR); break; +/* 12: */ +#line 101 "./typedefs.hweb" -case 0156 +case 'n' +/* :12 */ +#line 6361 "./common.web" : language= (Fortran88?FORTRAN_90:FORTRAN); break; +/* 14: */ +#line 107 "./typedefs.hweb" -case 0166 +case 'v' +/* :14 */ +#line 6365 "./common.web" : language= LITERAL; break; +/* 13: */ +#line 104 "./typedefs.hweb" -case 0170 +case 'x' +/* :13 */ +#line 6369 "./common.web" : language= TEX; break; @@ -7104,6 +8145,9 @@ cmd_language= language; ini0_language(); } +/* :257 */ +/* 258: */ +#line 6386 "./common.web" SRTN @@ -7161,6 +8205,9 @@ break; } } +/* :258 */ +/* 259: */ +#line 6444 "./common.web" SRTN @@ -7197,11 +8244,17 @@ if(program==tangle) out_file= params.outp_file[lan_num(out_language)]; } +/* :259 */ +/* 260: */ +#line 6481 "./common.web" SRTN frz_params(VOID) { +/* :260 */ +/* 260: */ +#line 6489 "./common.web" cont_char= XORD(in_escape); free_90= BOOLEAN(Fortran88&&free_form_input); @@ -7210,6 +8263,9 @@ free_Fortran= BOOLEAN((language==FORTRAN_90)&&free_90); if(!prn_semis&&free_Fortran&&auto_pseudo_semis) prn_semis= YES; +/* :260 */ +/* 260: */ +#line 6502 "./common.web" if(program==tangle&&free_90) switch(language) @@ -7225,6 +8281,9 @@ default:; } +/* :260 */ +/* 261: */ +#line 6519 "./common.web" int @@ -7257,6 +8316,9 @@ TERMINATE(p,0); return n; } +/* :261 */ +/* 273: */ +#line 7023 "./common.web" SRTN @@ -7273,6 +8335,8 @@ or see the info(1) man-page entry for FWEB."),fflush(stdout); } #if(HAVE_INFO) +/* 274: */ +#line 7047 "./common.web" { outer_char temp[500],buf[500],*pmenus; @@ -7302,6 +8366,8 @@ system((char*)temp); } } +/* :274 */ +#line 7039 "./common.web" #endif @@ -7309,6 +8375,9 @@ usage("",NO); } +/* :273 */ +/* 280: */ +#line 7239 "./common.web" SRTN @@ -7319,9 +8388,13 @@ int lnum; if(isdigit(*pa)) { +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 7249 "./common.web" switch(*pa++) @@ -7358,9 +8431,13 @@ case '\\': case '&': +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 7285 "./common.web" if(FORTRAN90_LIKE(language)) @@ -7412,17 +8489,25 @@ break; case 'g': case 'G': +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 7336 "./common.web" +/* 282: */ +#line 7395 "./common.web" { if(is_RATFOR_(Language)) { if(!RAT_OK("'g' command ignored")) break; +/* 284: */ +#line 7436 "./common.web" { while(*pa) @@ -7469,17 +8554,23 @@ break; } } +/* :284 */ +#line 7401 "./common.web" ; } else bad_loption(Language); } +/* :282 */ +#line 7338 "./common.web" return; case 'k': suppress_cmds= BOOLEAN(YES^not); +/* 285: */ +#line 7469 "./common.web" { if(!*pa) @@ -7489,11 +8580,15 @@ STRNCPY(abbrev_cmds,pa,NUM_RATFOR_CMDS); } +/* :285 */ +#line 7343 "./common.web" return; case 'K': suppress_cmds= BOOLEAN(NO^not); +/* 285: */ +#line 7469 "./common.web" { if(!*pa) @@ -7503,6 +8598,8 @@ STRNCPY(abbrev_cmds,pa,NUM_RATFOR_CMDS); } +/* :285 */ +#line 7348 "./common.web" return; @@ -7512,9 +8609,13 @@ prn_semis= NOT(PRN_SEMIS); break; case '{': +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 7357 "./common.web" pa--; set_filter(language); @@ -7523,9 +8624,13 @@ return; case '\0': +/* 315: */ +#line 8468 "./common.web" cant_negate(pa-2); +/* :315 */ +#line 7365 "./common.web" ini_language(XORD(*LANGUAGE_CODE(Language))); return; @@ -7540,6 +8645,9 @@ if(*pa) spurious(pa); } +/* :280 */ +/* 290: */ +#line 7647 "./common.web" SRTN @@ -7583,6 +8691,9 @@ for(;pn>0) FREE(p->s[--p->n]); } +/* :299 */ +/* 301: */ +#line 7872 "./common.web" outer_char* @@ -7749,6 +8878,9 @@ return push_buf(&c_buf,temp1); } +/* :301 */ +/* 303: */ +#line 7924 "./common.web" SRTN @@ -7767,34 +8899,54 @@ if(isdigit(*pa)) l= (language==NO_LANGUAGE)?GLOBAL_LANGUAGE:language; else switch(*pa++) { +/* 15: */ +#line 118 "./typedefs.hweb" case 'c' +/* :15 */ +#line 7942 "./common.web" : l= lcase(C,'\0',C_PLUS_PLUS,'+',&pa); break; +/* 16: */ +#line 121 "./typedefs.hweb" case 'r' +/* :16 */ +#line 7945 "./common.web" : l= lcase(RATFOR,'7',RATFOR_90,'9',&pa); break; +/* 17: */ +#line 124 "./typedefs.hweb" case 'n' +/* :17 */ +#line 7948 "./common.web" : l= lcase(FORTRAN,'7',FORTRAN_90,'9',&pa); break; +/* 19: */ +#line 130 "./typedefs.hweb" case 'v' +/* :19 */ +#line 7951 "./common.web" : l= LITERAL;break; +/* 18: */ +#line 127 "./typedefs.hweb" case 'x' +/* :18 */ +#line 7953 "./common.web" : l= TEX;break; default: @@ -7820,6 +8972,9 @@ set_filter(l); } } +/* :303 */ +/* 304: */ +#line 7978 "./common.web" LANGUAGE @@ -7845,6 +9000,9 @@ return l1; return l0; } +/* :304 */ +/* 305: */ +#line 8006 "./common.web" SRTN @@ -7870,6 +9028,9 @@ return; } +/* :305 */ +/* 310: */ +#line 8203 "./common.web" SRTN @@ -7923,6 +9084,9 @@ break; no_xref= BOOLEAN(!(prn_index||prn_modules)); } +/* :310 */ +/* 313: */ +#line 8356 "./common.web" SRTN @@ -7963,41 +9127,61 @@ pname= pa; switch(c) { +/* 15: */ +#line 118 "./typedefs.hweb" case 'c' +/* :15 */ +#line 8396 "./common.web" : set_fname(lcase(C,'\0',C_PLUS_PLUS,'+',&pa),pname,YES); break; +/* 16: */ +#line 121 "./typedefs.hweb" case 'r' +/* :16 */ +#line 8400 "./common.web" : if(!RAT_OK("Redirection ignored"))break; set_fname(lcase(RATFOR,'7',RATFOR_90,'9',&pa),pname,YES); break; +/* 17: */ +#line 124 "./typedefs.hweb" case 'n' +/* :17 */ +#line 8406 "./common.web" : set_fname(lcase(FORTRAN,'7',FORTRAN_90,'9',&pa),pname,YES); break; +/* 19: */ +#line 130 "./typedefs.hweb" case 'v' +/* :19 */ +#line 8410 "./common.web" : set_fname(LITERAL,pname,YES); break; +/* 18: */ +#line 127 "./typedefs.hweb" case 'x' +/* :18 */ +#line 8414 "./common.web" : set_fname(TEX,pname,YES); break; @@ -8021,6 +9205,9 @@ break; } } +/* :313 */ +/* 314: */ +#line 8440 "./common.web" SRTN @@ -8048,6 +9235,9 @@ new_fname(params.outp_nm+lan_num(l),*s?s:(outer_char HUGE*)"stdout",NULL); } +/* :314 */ +/* 316: */ +#line 8472 "./common.web" SRTN @@ -8062,6 +9252,9 @@ mark_harmless; } } +/* :316 */ +/* 317: */ +#line 8487 "./common.web" SRTN @@ -8073,6 +9266,9 @@ CONST outer_char HUGE*pa0 C1("") err0_print(ERR_C,OC("Invalid language %s \"%s\""),-1-2,type,pa0); } +/* :317 */ +/* 318: */ +#line 8498 "./common.web" SRTN @@ -8084,6 +9280,9 @@ printf("! Invalid language option \"%s\" for %s.\n", mark_harmless; } +/* :318 */ +/* 319: */ +#line 8510 "./common.web" SRTN @@ -8096,6 +9295,9 @@ err0_print(ERR_C,OC("Missing argument for `-%c' option; \ should be one or more letters in set {%s}"),-1-2,option,letters); } +/* :319 */ +/* 320: */ +#line 8522 "./common.web" SRTN @@ -8115,6 +9317,9 @@ else wrap_up(); } +/* :320 */ +/* 322: */ +#line 8554 "./common.web" SRTN @@ -8124,6 +9329,9 @@ too_long(VOID) fatal(ERR_NULL,OC("!! Filename too long: "),OC("%s."),(CONST outer_char*)pa); } +/* :322 */ +/* 323: */ +#line 8566 "./common.web" SRTN @@ -8134,6 +9342,9 @@ cmd_prms?"Command line":".fweb",(char*)pa_begin); mark_harmless; } +/* :323 */ +/* 324: */ +#line 8578 "./common.web" SRTN @@ -8146,6 +9357,9 @@ language) err0_print(ERR_C,OC("WARNING: Command-line language %s overridden in limbo by %s"),2,languages[lan_num(cmd_language)],languages[lan_num(language)]); } +/* :324 */ +/* 327: */ +#line 8636 "./common.web" SRTN @@ -8181,6 +9395,9 @@ was_opened(temp,0,pname,&temp_file_ptr); } } +/* :327 */ +/* 329: */ +#line 8714 "./common.web" unsigned @@ -8219,6 +9436,9 @@ TERMINATE(pt,0); return n; } +/* :329 */ +/* 331: */ +#line 8768 "./common.web" SRTN @@ -8239,15 +9459,15 @@ for(p= p0,a1= atemp;p=0) putchar(c); } +/* :200 */ +/* 241: */ +#line 5812 "./common.web" void seea(int n,char*s) @@ -8580,6 +9850,9 @@ seea(int n,char*s) printf("Arg %i = \"%s\"\n",n,s); } +/* :241 */ +/* 244: */ +#line 5920 "./common.web" outer_char* get_arg FCN((result,s,ldelim,rdelim)) @@ -8649,6 +9922,9 @@ longjmp(top_of_get_arg,4); } } +/* :244 */ +/* 281: */ +#line 7384 "./common.web" SRTN spurious FCN((pa1)) @@ -8659,6 +9935,9 @@ multi_chars(' ',STRLEN(SPURIOUS_MSG)+2+pa1-pa_begin); puts("^"); } +/* :281 */ +/* 349: */ +#line 9226 "./common.web" SRTN @@ -8722,4 +10001,5 @@ BCHECK(1,"quote1"); *pmp= mp; } +/* :349 */ -- 1.7.7.1 debian/patches/14-Web--fweave.web.patch0000644000000000000000000000123711661526613014713 0ustar From 46aabc27363348954d7df3079d512f18bbce4954 Mon Sep 17 00:00:00 2001 From: Jari Aalto Date: Fri, 18 Nov 2011 15:19:16 +0200 Subject: [PATCH] Web/fweave.web: Add WHILE default Organization: Private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Signed-off-by: Jari Aalto --- Web/fweave.web | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/Web/fweave.web b/Web/fweave.web index 7e45ea4..71a5ef3 100644 --- a/Web/fweave.web +++ b/Web/fweave.web @@ -3250,6 +3250,8 @@ WHILE() case @'@@': loc += 2; + default: + loc++; } else loc++; -- 1.7.7.1 debian/patches/02-Web--configure.patch0000644000000000000000000000260511661526613014640 0ustar From 202d6b44a9c648d68fd8a99155ff8babbe679ed3 Mon Sep 17 00:00:00 2001 From: Jari Aalto Date: Fri, 18 Nov 2011 15:29:34 +0200 Subject: [PATCH] Web/configure: use -lncurses Organization: Private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Signed-off-by: Jari Aalto --- Web/configure | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Web/configure b/Web/configure index a0105ca..f7ad0cd 100755 --- a/Web/configure +++ b/Web/configure @@ -1589,14 +1589,14 @@ cat >> confdefs.h <<\EOF EOF fi -echo $ac_n "checking for tputs in -ltermcap""... $ac_c" 1>&6 -echo "configure:1594: checking for tputs in -ltermcap" >&5 +echo $ac_n "checking for tputs in -lncurses""... $ac_c" 1>&6 +echo "configure:1594: checking for tputs in -lncurses" >&5 ac_lib_var=`echo termcap'_'tputs | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-ltermcap $LIBS" +LIBS="-lncurses $LIBS" cat > conftest.$ac_ext <&6 TERMCAP0= -LIBS="$LIBS -ltermcap" +LIBS="$LIBS -lncurses" else echo "$ac_t""no" 1>&6 TERMCAP0=termcap0."$(O)" -- 1.7.7.1 debian/patches/18-Web--style.web.patch0000644000000000000000000000160211661526613014576 0ustar From 74408549737b694e53f6b9371459e307ba7d75b7 Mon Sep 17 00:00:00 2001 From: Jari Aalto Date: Fri, 18 Nov 2011 15:23:14 +0200 Subject: [PATCH] Web/style.web: Comment our see_all Organization: Private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Signed-off-by: Jari Aalto --- Web/style.web | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) diff --git a/Web/style.web b/Web/style.web index c7ac756..8d1c245 100644 --- a/Web/style.web +++ b/Web/style.web @@ -1783,9 +1783,6 @@ SET_COLOR(info); printf("%s style-file parameters%s%s%s%s:\n", see_all ? "Default" : "Modified", *pa ? " beginning with \"" : "", (char *)pa, *pa ? "\"" : "", -#if 0 - see_all // Got tired of reading this; nobody cares anyway. -#endif 0 ? "\n (null or empty values for \ @@ command codes are misleading)" : ""); -- 1.7.7.1 debian/patches/texinfo-direntry0000644000000000000000000000062212204474346014060 0ustar Description: Fix specification of texinfo direntry Author: Yann Dirson --- fweb-1.62.orig/Manual/fweb.texi +++ fweb-1.62/Manual/fweb.texi @@ -4,11 +4,9 @@ @ifinfo @dircategory Development -@format -START-INFO-DIR-ENTRY +@direntry * Fweb: (fweb). The Fweb literate programming tool. -END-INFO-DIR-ENTRY -@end format +@end direntry @end ifinfo @macro Fprog{name} debian/patches/22-Web--fweave.c.patch0000644000000000000000000042606511661526613014371 0ustar From 5cbeaa90d22df08bb49918afb9ab7f6cc1a2b878 Mon Sep 17 00:00:00 2001 From: Jari Aalto Date: Fri, 18 Nov 2011 15:33:04 +0200 Subject: [PATCH] Web/fweave.c: miscellaneous Organization: Private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Signed-off-by: Jari Aalto --- Web/fweave.c | 3194 ++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 2459 insertions(+), 735 deletions(-) diff --git a/Web/fweave.c b/Web/fweave.c index f3de3d6..2635fe1 100644 --- a/Web/fweave.c +++ b/Web/fweave.c @@ -1,9 +1,9 @@ #if(0) - FTANGLE v1.60,\ - created with UNIX on "Thursday, September 24, 1998 at 16:12." \ - COMMAND LINE: "Web/ftangle Web/fweave -A -# --F -= 1.62/Web/fweave.c"\ - RUN TIME: "Friday, September 25, 1998 at 8:02."\ - WEB FILE: "Web/fweave.web"\ + FTANGLE v1.61,\ + created with UNIX on "Friday, September 25, 1998 at 8:02." \ + COMMAND LINE: "./ftangle ./fweave -uCONFIG -mCONFIG -mGCC -= fweave.c"\ + RUN TIME: "Monday, December 13, 1999 at 23:13."\ + WEB FILE: "./fweave.web"\ CHANGE FILE: (none) #endif #define _FWEAVE_h @@ -150,140 +150,140 @@ xref_ptr->Language= (boolean)language; \ #define kill_newlines 114 \ #define ignore 0 -#define verbatim (eight_bits)02 -#define force_line (eight_bits)03 \ +#define verbatim (eight_bits)'\2' +#define force_line (eight_bits)'\3' \ -#define begin_comment0 (eight_bits)0376 -#define begin_comment1 (eight_bits)0375 -#define begin_comment (eight_bits)011 \ +#define begin_comment0 (eight_bits)'\xFE' +#define begin_comment1 (eight_bits)'\xFD' +#define begin_comment (eight_bits)'\11' \ -#define compound_assignment (eight_bits)017 \ +#define compound_assignment (eight_bits)'\17' \ \ -#define L_switch (eight_bits)0200 -#define begin_C (eight_bits)0201 -#define begin_RATFOR (eight_bits)0202 -#define begin_FORTRAN (eight_bits)0203 -#define begin_LITERAL (eight_bits)0204 -#define begin_TEX (eight_bits)0205 \ +#define L_switch (eight_bits)'\200' +#define begin_C (eight_bits)'\201' +#define begin_RATFOR (eight_bits)'\202' +#define begin_FORTRAN (eight_bits)'\203' +#define begin_LITERAL (eight_bits)'\204' +#define begin_TEX (eight_bits)'\205' \ -#define begin_nuweb (eight_bits)0206 \ +#define begin_nuweb (eight_bits)'\206' \ \ \ -#define dont_expand (eight_bits)0210 -#define auto_label (eight_bits)0211 -#define all_variable_args (eight_bits)0212 -#define macro_module_name (eight_bits)0213 -#define eq_gt (eight_bits)0214 -#define colon_colon (eight_bits)0215 \ +#define dont_expand (eight_bits)'\210' +#define auto_label (eight_bits)'\211' +#define all_variable_args (eight_bits)'\212' +#define macro_module_name (eight_bits)'\213' +#define eq_gt (eight_bits)'\214' +#define colon_colon (eight_bits)'\215' \ \ \ \ \ \ -#define switch_math_flag (eight_bits)0175 -#define underline (eight_bits)0176 \ +#define switch_math_flag (eight_bits)'\175' +#define underline (eight_bits)'\176' \ -#define next_expr (eight_bits)0226 -#define next_reserved (eight_bits)0227 \ +#define next_expr (eight_bits)'\226' +#define next_reserved (eight_bits)'\227' \ -#define xref_roman (eight_bits)0233 -#define xref_wildcard (eight_bits)0234 -#define xref_typewriter (eight_bits)0235 -#define TeX_string (eight_bits)0236 -#define ascii_constant (eight_bits)0237 -#define join (eight_bits)0240 -#define thin_space (eight_bits)0241 -#define math_break (eight_bits)0242 -#define line_break (eight_bits)0243 -#define ln_break_outdent (eight_bits)0244 \ +#define xref_roman (eight_bits)'\233' +#define xref_wildcard (eight_bits)'\234' +#define xref_typewriter (eight_bits)'\235' +#define TeX_string (eight_bits)'\236' +#define ascii_constant (eight_bits)'\237' +#define join (eight_bits)'\240' +#define thin_space (eight_bits)'\241' +#define math_break (eight_bits)'\242' +#define line_break (eight_bits)'\243' +#define ln_break_outdent (eight_bits)'\244' \ -#define big_line_break (eight_bits)0245 -#define no_line_break (eight_bits)0246 -#define pseudo_semi (eight_bits)0247 -#define defd_at (eight_bits)0250 \ +#define big_line_break (eight_bits)'\245' +#define no_line_break (eight_bits)'\246' +#define pseudo_semi (eight_bits)'\247' +#define defd_at (eight_bits)'\250' \ -#define begin_meta (eight_bits)0251 -#define end_meta (eight_bits)0252 \ +#define begin_meta (eight_bits)'\251' +#define end_meta (eight_bits)'\252' \ -#define macro_space (eight_bits)0253 -#define copy_mode (eight_bits)0254 \ +#define macro_space (eight_bits)'\253' +#define copy_mode (eight_bits)'\254' \ -#define toggle_output (eight_bits)0255 -#define turn_output_on (eight_bits)0255 -#define turn_output_off (eight_bits)0256 -#define Turn_output_on (eight_bits)0257 -#define Turn_output_off (eight_bits)0260 \ +#define toggle_output (eight_bits)'\255' +#define turn_output_on (eight_bits)'\255' +#define turn_output_off (eight_bits)'\256' +#define Turn_output_on (eight_bits)'\257' +#define Turn_output_off (eight_bits)'\260' \ -#define left_preproc (eight_bits)0261 -#define right_preproc (eight_bits)0262 \ +#define left_preproc (eight_bits)'\261' +#define right_preproc (eight_bits)'\262' \ -#define Cont_Char (eight_bits)0263 \ +#define Cont_Char (eight_bits)'\263' \ -#define Compiler_Directive (eight_bits)0264 -#define new_output_file (eight_bits)0265 \ +#define Compiler_Directive (eight_bits)'\264' +#define new_output_file (eight_bits)'\265' \ -#define implicit_reserved (eight_bits)0266 \ +#define implicit_reserved (eight_bits)'\266' \ -#define trace (eight_bits)0267 \ +#define trace (eight_bits)'\267' \ \ \ -#define invisible_cmnt (eight_bits)0272 \ +#define invisible_cmnt (eight_bits)'\272' \ -#define pseudo_expr (eight_bits)0273 -#define pseudo_colon (eight_bits)0274 \ +#define pseudo_expr (eight_bits)'\273' +#define pseudo_colon (eight_bits)'\274' \ -#define begin_bp (eight_bits)0275 -#define insert_bp (eight_bits)0276 \ +#define begin_bp (eight_bits)'\275' +#define insert_bp (eight_bits)'\276' \ -#define no_index (eight_bits)0277 -#define yes_index (eight_bits)0300 \ +#define no_index (eight_bits)'\277' +#define yes_index (eight_bits)'\300' \ -#define no_mac_expand (eight_bits)0301 -#define protect_code (eight_bits)0302 -#define set_line_info (eight_bits)0303 \ +#define no_mac_expand (eight_bits)'\301' +#define protect_code (eight_bits)'\302' +#define set_line_info (eight_bits)'\303' \ -#define short_fcn (eight_bits)0304 -#define keyword_name (eight_bits)0305 \ +#define short_fcn (eight_bits)'\304' +#define keyword_name (eight_bits)'\305' \ \ -#define formatt (eight_bits)0310 \ +#define formatt (eight_bits)'\310' \ -#define limbo_text (eight_bits)0313 -#define op_def (eight_bits)0314 -#define macro_def (eight_bits)0315 \ +#define limbo_text (eight_bits)'\313' +#define op_def (eight_bits)'\314' +#define macro_def (eight_bits)'\315' \ -#define definition (eight_bits)0320 -#define undefinition (eight_bits)0321 -#define WEB_definition (eight_bits)0322 \ +#define definition (eight_bits)'\320' +#define undefinition (eight_bits)'\321' +#define WEB_definition (eight_bits)'\322' \ \ -#define m_ifdef (eight_bits)0330 -#define m_ifndef (eight_bits)0331 -#define m_if (eight_bits)0332 -#define m_else (eight_bits)0333 -#define m_elif (eight_bits)0334 -#define m_endif (eight_bits)0335 -#define m_for (eight_bits)0336 -#define m_endfor (eight_bits)0337 -#define m_line (eight_bits)0340 -#define m_undef (eight_bits)0341 \ +#define m_ifdef (eight_bits)'\330' +#define m_ifndef (eight_bits)'\331' +#define m_if (eight_bits)'\332' +#define m_else (eight_bits)'\333' +#define m_elif (eight_bits)'\334' +#define m_endif (eight_bits)'\335' +#define m_for (eight_bits)'\336' +#define m_endfor (eight_bits)'\337' +#define m_line (eight_bits)'\340' +#define m_undef (eight_bits)'\341' \ \ -#define begin_code (eight_bits)0350 -#define module_name (eight_bits)0351 \ +#define begin_code (eight_bits)'\350' +#define module_name (eight_bits)'\351' \ \ -#define new_module (eight_bits)0352 \ +#define new_module (eight_bits)'\352' \ \ \ -#define constant (eight_bits)0230 -#define stringg (eight_bits)0231 -#define identifier (eight_bits)0232 \ +#define constant (eight_bits)'\230' +#define stringg (eight_bits)'\231' +#define identifier (eight_bits)'\232' \ #define ordinary_space 01 \ \ @@ -293,7 +293,7 @@ xref_ptr->Language= (boolean)language; \ #define COMPOUND(c,n)if(loc<=limit){loc+= n;assignment_token= c; \ return(eight_bits)compound_assignment;} \ -#define CA_START (eight_bits)0100 \ +#define CA_START (eight_bits)'\100' \ \ #define plus_eq 0 @@ -308,20 +308,20 @@ return(eight_bits)compound_assignment;} \ #define lt_lt_eq 011 #define or_or_or 012 \ -#define BINARY_CODE 046 -#define OCTAL_CODE 0176 -#define HEX_CODE 0140 \ +#define BINARY_CODE '&' +#define OCTAL_CODE '~' +#define HEX_CODE '`' \ -#define CONSTANT_CODE 043 -#define FLOAT_CODE 060 -#define LONG_CODE 061 -#define UNSIGNED_CODE 062 -#define ULONG_CODE 063 \ +#define CONSTANT_CODE '#' +#define FLOAT_CODE '0' +#define LONG_CODE '1' +#define UNSIGNED_CODE '2' +#define ULONG_CODE '3' \ -#define EXP_CODE 0136 -#define HOLLERITH_CODE 045 \ +#define EXP_CODE '^' +#define HOLLERITH_CODE '%' \ -#define discretionary_break (eight_bits)0177 +#define discretionary_break (eight_bits)'\177' #define NBREAK 25 \ #define change_params prms[incl_depth].input_params \ @@ -331,7 +331,7 @@ return(eight_bits)compound_assignment;} \ #define KILL_XREFS(name)no_xref|= !defn_mask.name #define INDEX_SHORT index_short= index_flag= YES \ -#define QUICK_FORMAT 056 \ +#define QUICK_FORMAT '.' \ #define IS_ON(flag,bits)((flag)&(bits)) \ @@ -412,27 +412,27 @@ NO,cat,(CONST outer_char*)NULL) \ #define ALL_LANGUAGES (ONLY_C_like|ONLY_N_like|(int)LITERAL) \ \ -#define math_bin (eight_bits)0345 -#define math_rel (eight_bits)0346 \ +#define math_bin (eight_bits)'\345' +#define math_rel (eight_bits)'\346' \ -#define toggle_meta (eight_bits)0347 \ +#define toggle_meta (eight_bits)'\347' \ \ -#define big_cancel (eight_bits)0360 -#define cancel (eight_bits)0361 \ +#define big_cancel (eight_bits)'\360' +#define cancel (eight_bits)'\361' \ \ -#define indent (eight_bits)0362 -#define outdent (eight_bits)0363 -#define opt (eight_bits)0364 -#define backup (eight_bits)0365 -#define break_space (eight_bits)0366 -#define force (eight_bits)0367 -#define big_force (eight_bits)0370 \ +#define indent (eight_bits)'\362' +#define outdent (eight_bits)'\363' +#define opt (eight_bits)'\364' +#define backup (eight_bits)'\365' +#define break_space (eight_bits)'\366' +#define force (eight_bits)'\367' +#define big_force (eight_bits)'\370' \ -#define out_force (eight_bits)0371 \ +#define out_force (eight_bits)'\371' \ -#define end_translation (eight_bits)0377 +#define end_translation (eight_bits)'\377' #define inner 0 #define outer 1 \ @@ -441,8 +441,8 @@ NO,cat,(CONST outer_char*)NULL) \ #define cur_mode cur_state.mode_field #define ini_stack stck_ptr= stack;cur_mode= outer \ -#define res_word (eight_bits)0201 -#define mod_name (eight_bits)0200 \ +#define res_word (eight_bits)'\201' +#define mod_name (eight_bits)'\200' \ #define ALL_UC (all_uc&&length(cur_name)>1) \ \ @@ -499,7 +499,11 @@ OVERFLW("Esc_buf:temp","") \ #define ENCAP YES #define NO_ENCAP NO \ +/* 1: */ +#line 32 "./fweave.web" +/* 5: */ +#line 16 "./typedefs.hweb" #ifndef part @@ -511,6 +515,9 @@ OVERFLW("Esc_buf:temp","") \ #endif +/* :5 */ +/* 6: */ +#line 42 "./typedefs.hweb" #if(part == 0 || part == 1) @@ -524,19 +531,31 @@ OVERFLW("Esc_buf:temp","") \ #endif +/* :6 */ +#line 33 "./fweave.web" +/* 34: */ +#line 440 "./typedefs.hweb" #include "typedefs.h" +#line 84 "./fweave.web" +/* :34 */ +/* 357: */ +#line 10244 "./fweave.web" #include "map.h" +/* :357 */ +#line 35 "./fweave.web" +/* 42: */ +#line 79 "./xrefs.hweb" typedef struct xref_info0 @@ -552,12 +571,18 @@ typedef ASCII HUGE*XREF_POINTER; +/* :42 */ +/* 49: */ +#line 27 "./tokens.hweb" typedef sixteen_bits Token; typedef Token HUGE*token_pointer; typedef token_pointer HUGE*text_pointer; +/* :49 */ +/* 191: */ +#line 44 "./scraps.hweb" typedef struct @@ -569,16 +594,23 @@ eight_bits mathness; union { text_pointer Trans; +/* 332: */ +#line 9552 "./fweave.web" name_pointer Head; +/* :332 */ +#line 55 "./scraps.hweb" }trans_plus; }scrap; typedef scrap HUGE*scrap_pointer; +/* :191 */ +/* 239: */ +#line 6944 "./fweave.web" typedef int mode; @@ -591,13 +623,22 @@ boolean mode_field; typedef output_state HUGE*stack_pointer; +/* :239 */ +#line 36 "./fweave.web" +/* 39: */ +#line 168 "./fweave.web" #include "w_type.h" +#line 8 "./xrefs.hweb" +/* :39 */ +#line 37 "./fweave.web" +/* 33: */ +#line 426 "./typedefs.hweb" @@ -611,10 +652,16 @@ typedef output_state HUGE*stack_pointer; +/* :33 */ +/* 41: */ +#line 47 "./xrefs.hweb" EXTERN boolean change_exists; +/* :41 */ +/* 43: */ +#line 111 "./xrefs.hweb" #ifndef COMMON_FCNS_ @@ -632,7 +679,11 @@ EXTERN boolean defd_switch; EXTERN NAME_TYPE defd_type SET(NEVER_DEFINED); EXTERN boolean typd_switch; EXTERN boolean index_short; +#line 173 "./fweave.web" +/* :43 */ +/* 50: */ +#line 37 "./tokens.hweb" EXTERN long max_toks; @@ -650,12 +701,19 @@ EXTERN text_pointer text_ptr; EXTERN token_pointer mx_tok_ptr; EXTERN text_pointer mx_text_ptr; +#line 386 "./fweave.web" +/* :50 */ +/* 58: */ +#line 685 "./fweave.web" IN_STYLE eight_bits ccode[128]; +/* :58 */ +/* 66: */ +#line 954 "./fweave.web" EXTERN name_pointer cur_module; @@ -671,24 +729,39 @@ EXTERN boolean empty_line SET(NO); EXTERN ASCII c; +/* :66 */ +/* 84: */ +#line 1587 "./fweave.web" EXTERN eight_bits assignment_token; +/* :84 */ +/* 95: */ +#line 2063 "./fweave.web" EXTERN boolean insert_breaks SET(YES); +/* :95 */ +/* 105: */ +#line 2291 "./fweave.web" EXTERN boolean doing_cdir SET(NO); +/* :105 */ +/* 113: */ +#line 2621 "./fweave.web" EXTERN eight_bits next_control; +/* :113 */ +/* 119: */ +#line 2838 "./fweave.web" IN_COMMON outer_char wbprefix[MAX_FILE_NAME_LENGTH]; @@ -703,20 +776,32 @@ EXTERN boolean qtd_file; EXTERN outer_char temp_in[L_tmpnam],temp_out[L_tmpnam]; +/* :119 */ +/* 136: */ +#line 3558 "./fweave.web" EXTERN name_pointer lhs,rhs; +/* :136 */ +/* 147: */ +#line 4062 "./fweave.web" EXTERN boolean unnamed_section SET(NO); +/* :147 */ +/* 149: */ +#line 4140 "./fweave.web" EXTERN xref_pointer cur_xref; IN_COMMON boolean mod_warning_flag; +/* :149 */ +/* 153: */ +#line 4275 "./fweave.web" EXTERN BUF_SIZE line_length; @@ -726,18 +811,30 @@ EXTERN ASCII HUGE*out_end; EXTERN ASCII HUGE*out_ptr; EXTERN LINE_NUMBER out_line; +/* :153 */ +/* 158: */ +#line 4408 "./fweave.web" EXTERN boolean output_on SET(YES); +/* :158 */ +/* 175: */ +#line 4966 "./fweave.web" EXTERN boolean strt_off SET(NO),ending_off SET(NO); +/* :175 */ +/* 183: */ +#line 5108 "./fweave.web" EXTERN boolean in_comment; +/* :183 */ +/* 192: */ +#line 67 "./scraps.hweb" EXTERN long max_scraps; @@ -752,10 +849,16 @@ EXTERN scrap_pointer hi_ptr; EXTERN scrap_pointer mx_scr_ptr; +/* :192 */ +/* 198: */ +#line 5383 "./fweave.web" EXTERN boolean scanning_meta SET(NO); +/* :198 */ +/* 202: */ +#line 5515 "./fweave.web" EXTERN boolean overloaded[NUM_LANGUAGES]; @@ -765,18 +868,30 @@ EXTERN OPERATOR HUGE*op,HUGE*op_end; EXTERN OPERATOR HUGE*op_ptr; +/* :202 */ +/* 207: */ +#line 5740 "./fweave.web" EXTERN eight_bits last_control; +/* :207 */ +/* 211: */ +#line 5913 "./fweave.web" EXTERN boolean did_arg; +/* :211 */ +/* 227: */ +#line 6574 "./fweave.web" EXTERN boolean the_type SET(NO_TYPE); +/* :227 */ +/* 240: */ +#line 6962 "./fweave.web" EXTERN output_state cur_state; @@ -790,10 +905,16 @@ EXTERN stack_pointer stck_ptr; EXTERN stack_pointer mx_stck_ptr; +/* :240 */ +/* 245: */ +#line 7031 "./fweave.web" EXTERN name_pointer cur_name; +/* :245 */ +/* 272: */ +#line 7837 "./fweave.web" EXTERN LINE_NUMBER save_line; @@ -801,10 +922,16 @@ EXTERN ASCII HUGE*save_place; EXTERN boolean in_module SET(NO); EXTERN boolean yskipped SET(NO); +/* :272 */ +/* 275: */ +#line 7894 "./fweave.web" IN_COMMON outer_char last_include_file[],this_include_file[]; +/* :275 */ +/* 278: */ +#line 7998 "./fweave.web" EXTERN boolean ok_to_define SET(YES); @@ -812,21 +939,33 @@ EXTERN boolean q_protected SET(NO); EXTERN boolean suppress_defn SET(NO); EXTERN boolean output_protect SET(NO); +/* :278 */ +/* 299: */ +#line 8724 "./fweave.web" EXTERN name_pointer this_module; EXTERN name_pointer the_module; +/* :299 */ +/* 315: */ +#line 9124 "./fweave.web" EXTERN xref_pointer next_xref,this_xref,first_xref,mid_xref; +/* :315 */ +/* 326: */ +#line 9458 "./fweave.web" EXTERN sixteen_bits k_module; +/* :326 */ +/* 328: */ +#line 9494 "./fweave.web" EXTERN name_pointer bucket[128]; @@ -839,6 +978,9 @@ EXTERN name_pointer HUGE*blink; EXTERN ASCII last_letter SET('\0'); +/* :328 */ +/* 333: */ +#line 9565 "./fweave.web" EXTERN eight_bits cur_depth; @@ -847,11 +989,17 @@ EXTERN sixteen_bits cur_val; EXTERN sort_pointer mx_sort_ptr; +/* :333 */ +/* 335: */ +#line 9583 "./fweave.web" EXTERN ASCII collate[128]; EXTERN int max_collate; +/* :335 */ +/* 347: */ +#line 9953 "./fweave.web" EXTERN FILE*mx_file; @@ -861,11 +1009,15 @@ EXTERN boolean output_type; EXTERN outer_char HUGE*temp_ndx,HUGE*temp_mds; IN_COMMON outer_char wbflnm0[]; +/* :347 */ +#line 38 "./fweave.web" #if(part == 0 || part == 1) +/* 2: */ +#line 57 "./fweave.web" int main FCN((ac,av)) @@ -882,13 +1034,20 @@ argc= ac;argv= av; ini_program(weave); common_init(); +/* 38: */ +#line 163 "./fweave.web" +/* 44: */ +#line 175 "./fweave.web" ALLOC(xref_info,xmem,"r",max_refs,0); xmem_end= xmem+max_refs-1; +/* :44 */ +/* 51: */ +#line 388 "./fweave.web" ALLOC(Token,tok_mem,"tw",max_toks,1); @@ -899,17 +1058,27 @@ tok_m_end= tok_mem+max_toks-1; ALLOC(token_pointer,tok_start,"x",max_texts,0); tok_end= tok_start+max_texts-1; +/* :51 */ +/* 154: */ +#line 4285 "./fweave.web" ALLOC(ASCII,out_buf,"ll",line_length,1); out_end= out_buf+line_length; +/* :154 */ +/* 196: */ +#line 5358 "./fweave.web" +#line 5359 "./fweave.web" ALLOC(scrap,scrp_info,"s",max_scraps,0); scrp_end= scrp_info+max_scraps-1; +/* :196 */ +/* 203: */ +#line 5551 "./fweave.web" { int l; @@ -921,53 +1090,55 @@ ALLOC(OPERATOR,op,"op",op_entries,0); op_end= op+op_entries; op_ptr= op+128; +/* 204: */ +#line 5567 "./fweave.web" -INIT_OP(041,"NOT",ALL_LANGUAGES,"\\WR",unop); +INIT_OP('!',"NOT",ALL_LANGUAGES,"\\WR",unop); INIT_DOT("NOT",ALL_BUT_C_like,"\\WR",unop); -INIT_OP(045,"MOD",ALL_LANGUAGES,"\\WMOD",binop); +INIT_OP('%',"MOD",ALL_LANGUAGES,"\\WMOD",binop); -INIT_OP(046,"LAND",C,"\\amp",unorbinop); -INIT_OP(046,"LAND",C_PLUS_PLUS,"\\amp",reference); +INIT_OP('&',"LAND",C,"\\amp",unorbinop); +INIT_OP('&',"LAND",C_PLUS_PLUS,"\\amp",reference); -INIT_OP(046,"LAND",ALL_BUT_C_like,"\\WAND",binop); +INIT_OP('&',"LAND",ALL_BUT_C_like,"\\WAND",binop); -INIT_OP(053,"PLUS",ALL_LANGUAGES,"+",unorbinop); -INIT_OP(055,"MINUS",ALL_LANGUAGES,"-",unorbinop); +INIT_OP('+',"PLUS",ALL_LANGUAGES,"+",unorbinop); +INIT_OP('-',"MINUS",ALL_LANGUAGES,"-",unorbinop); -INIT_OP(052,"STAR",ALL_LANGUAGES,"\\ast",unorbinop); +INIT_OP('*',"STAR",ALL_LANGUAGES,"\\ast",unorbinop); -INIT_OP(057,"SLASH",ALL_BUT_N_like,"\\WSl",binop); -INIT_OP(057,"SLASH",ONLY_N_like,"/",binop); +INIT_OP('/',"SLASH",ALL_BUT_N_like,"\\WSl",binop); +INIT_OP('/',"SLASH",ONLY_N_like,"/",binop); -INIT_OP(074,"LT",ALL_BUT_Cpp,"<",binop); -INIT_OP(074,"LT",C_PLUS_PLUS,"<",langle); +INIT_OP('<',"LT",ALL_BUT_Cpp,"<",binop); +INIT_OP('<',"LT",C_PLUS_PLUS,"<",langle); INIT_DOT("LT",ALL_BUT_C_like,"<",binop); -INIT_OP(075,"EQUALS",ALL_LANGUAGES,"=",binop); +INIT_OP('=',"EQUALS",ALL_LANGUAGES,"=",binop); -INIT_OP(076,"GT",ALL_BUT_Cpp,">",binop); -INIT_OP(076,"GT",C_PLUS_PLUS,">",rangle); +INIT_OP('>',"GT",ALL_BUT_Cpp,">",binop); +INIT_OP('>',"GT",C_PLUS_PLUS,">",rangle); INIT_DOT("GT",ALL_BUT_C_like,">",binop); -INIT_OP(077,"QUESTION",ONLY_C_like,"\\?",question); +INIT_OP('?',"QUESTION",ONLY_C_like,"\\?",question); -INIT_OP(0136,"CARET",ALL_LANGUAGES,"\\Caret",binop); +INIT_OP('^',"CARET",ALL_LANGUAGES,"\\Caret",binop); -INIT_OP(0174,"OR",ALL_LANGUAGES,"\\WOR",binop); +INIT_OP('|',"OR",ALL_LANGUAGES,"\\WOR",binop); -INIT_OP(0176,"TILDE",ONLY_C_like,"\\TLD",unop); +INIT_OP('~',"TILDE",ONLY_C_like,"\\TLD",unop); INIT_OP(not_eq,"NE",ALL_LANGUAGES,"\\WI",binop); @@ -1024,7 +1195,11 @@ INIT_DOT("FALSE",ALL_BUT_C_like,"\\WFALSE",expr); INIT_DOT("TRUE",ALL_BUT_C_like,"\\WTRUE",expr) +/* :204 */ +#line 5562 "./fweave.web" ; +/* 205: */ +#line 5671 "./fweave.web" INIT_CA(plus_eq,"Wcp",ALL_LANGUAGES,"\\Wcp",binop); @@ -1048,28 +1223,46 @@ INIT_CA(gt_gt_eq,"Wcg",ONLY_C_like,"\\Wcg",binop); INIT_CA(lt_lt_eq,"Wcl",ONLY_C_like,"\\Wcl",binop) +/* :205 */ +#line 5563 "./fweave.web" ; } +/* :203 */ +/* 241: */ +#line 6976 "./fweave.web" ALLOC(output_state,stack,"kw",stck_size,0); stck_end= stack+stck_size-1; +/* :241 */ +/* 329: */ +#line 9507 "./fweave.web" ALLOC(name_pointer,blink,"n",max_names,0); +/* :329 */ +#line 165 "./fweave.web" +/* :38 */ +/* 45: */ +#line 181 "./fweave.web" name_dir->xref= (XREF_POINTER)(xref_ptr= xmem); xref_switch= mod_xref_switch= defd_switch= index_short= NO; xmem->num= 0; +/* :45 */ +/* 52: */ +#line 399 "./fweave.web" +/* 53: */ +#line 405 "./fweave.web" { tok_ptr= tok_mem+1; @@ -1077,15 +1270,22 @@ tok_start[0]= tok_start[1]= tok_ptr; text_ptr= tok_start+1; } +/* :53 */ +#line 401 "./fweave.web" mx_tok_ptr= tok_ptr;mx_text_ptr= text_ptr; +/* :52 */ +/* 59: */ +#line 695 "./fweave.web" zero_ccodes(); -ccode[057]= line_break; +ccode['/']= line_break; +/* 60: */ +#line 706 "./fweave.web" { @@ -1218,6 +1418,8 @@ ini_ccode((outer_char*)"yes_index",(outer_char*)"+",yes_index); ini_ccode((outer_char*)"protect_code",(outer_char*)"p",protect_code); +/* 61: */ +#line 792 "./fweave.web" #if(DEBUG) @@ -1225,16 +1427,26 @@ ini_ccode((outer_char*)"protect_code",(outer_char*)"p",protect_code); ini_ccode((outer_char*)"trace",(outer_char*)"012",trace); #endif +/* :61 */ +#line 786 "./fweave.web" } +/* :60 */ +#line 701 "./fweave.web" prn_codes(); +/* :59 */ +/* 108: */ +#line 2475 "./fweave.web" -mod_text[0]= 040; +mod_text[0]= ' '; +/* :108 */ +/* 157: */ +#line 4391 "./fweave.web" { out_ptr= out_buf;out_line= 1; @@ -1248,29 +1460,46 @@ OUT_STR(*fwebmac?fwebmac:w_style.misc.macros); } } +/* :157 */ +/* 162: */ +#line 4518 "./fweave.web" -out_buf[0]= 0134; +out_buf[0]= '\\'; +/* :162 */ +/* 197: */ +#line 5364 "./fweave.web" scrp_base= scrp_info+1; mx_scr_ptr= scrp_ptr= scrp_info; +/* :197 */ +/* 242: */ +#line 6982 "./fweave.web" mx_stck_ptr= stack; +/* :242 */ +/* 334: */ +#line 9574 "./fweave.web" mx_sort_ptr= scrp_info; +/* :334 */ +/* 336: */ +#line 9591 "./fweave.web" collate[0]= 0; +/* :336 */ +#line 73 "./fweave.web" ; @@ -1281,9 +1510,14 @@ phase3(); return wrap_up(); } +#line 1 "./typedefs.hweb" +#line 8 "./formats.hweb" +/* :2 */ +/* 35: */ +#line 88 "./fweave.web" SRTN @@ -1293,6 +1527,8 @@ if(STRCMP(tex_fname,"stdout")==0) tex_file= stdout; else { +/* 36: */ +#line 118 "./fweave.web" { if(tex_file= FOPEN(tex_fname,"r")) @@ -1320,6 +1556,8 @@ fclose(tex_file); } +/* :36 */ +#line 98 "./fweave.web" if((tex_file= FOPEN(tex_fname,"w"))==NULL) @@ -1328,6 +1566,8 @@ if((tex_file= FOPEN(tex_fname,"w"))==NULL) fatal(ERR_W,OC("ABORTING: "),OC("Can't open output file %s."),tex_fname); } else +/* 37: */ +#line 155 "./fweave.web" { fprintf(tex_file,"%s v%s (%s)\n\n", @@ -1335,10 +1575,15 @@ FWEAVE_HDR,(char*)version,(char*)release_date); } +/* :37 */ +#line 108 "./fweave.web" } } +/* :35 */ +/* 46: */ +#line 196 "./fweave.web" SRTN @@ -1437,6 +1682,8 @@ xref_ptr->xlink= q;p->xref= (XREF_POINTER)xref_ptr; check_implicit: if(typd_switch) +/* 47: */ +#line 299 "./fweave.web" { NAME_INFO rs_wd; @@ -1446,6 +1693,8 @@ rhs->ilk= int_like; rhs->reserved_word= rhs->Language= BOOLEAN(language); rhs->intrinsic_word= rhs->keyword= NO; +/* 140: */ +#line 3738 "./fweave.web" { lhs->ilk= rhs->ilk; @@ -1463,8 +1712,13 @@ RST_BIT(keyword); #undef RST_BIT } +/* :140 */ +#line 308 "./fweave.web" +/* :47 */ +/* 47: */ +#line 318 "./fweave.web" for(q= (xref_pointer)p->xref;q>xmem;q= q->xlink) @@ -1473,9 +1727,14 @@ if(q->numnum+= def_flag; typd_switch= NO; } +/* :47 */ +#line 294 "./fweave.web" } +/* :46 */ +/* 48: */ +#line 333 "./fweave.web" SRTN @@ -1484,6 +1743,9 @@ name_pointer p C1("") { xref_pointer q,r; +/* :48 */ +/* 48: */ +#line 345 "./fweave.web" q= (xref_pointer)p->xref;r= xmem; @@ -1524,7 +1786,11 @@ else r->xlink= xref_ptr; } +#line 8 "./tokens.hweb" +/* :48 */ +/* 54: */ +#line 415 "./fweave.web" boolean @@ -1543,6 +1809,9 @@ return NO; return(boolean)(!STRNCMP(first,p->byte_start,l)); } +/* :54 */ +/* 55: */ +#line 436 "./fweave.web" SRTN @@ -1569,6 +1838,8 @@ CONST name_pointer node C1("") { node->xref= (XREF_POINTER)xmem; +/* 24: */ +#line 193 "./typedefs.hweb" { @@ -1583,10 +1854,16 @@ node->Language= (boolean)language; } +/* :24 */ +#line 462 "./fweave.web" } +#line 8 "./ccodes.hweb" +/* :55 */ +/* 64: */ +#line 842 "./fweave.web" SRTN @@ -1597,10 +1874,10 @@ WHILE() if(loc>limit&&!get_line()) return; -*(limit+1)= 0100; +*(limit+1)= '@'; -while(*loc!=0100) +while(*loc!='@') loc++; @@ -1608,8 +1885,12 @@ if(loc++<=limit) switch(ccode[*loc++]) { +/* 62: */ +#line 803 "./fweave.web" +/* 9: */ +#line 80 "./typedefs.hweb" case begin_C: @@ -1619,46 +1900,72 @@ case begin_LITERAL +/* :9 */ +#line 805 "./fweave.web" : loc--; case L_switch: +/* 63: */ +#line 821 "./fweave.web" { +/* 20: */ +#line 139 "./typedefs.hweb" { ASCII l= *loc++; switch(l) { +/* 10: */ +#line 95 "./typedefs.hweb" -case 0143 +case 'c' +/* :10 */ +#line 145 "./typedefs.hweb" : -Cpp= BOOLEAN(*loc==053); +Cpp= BOOLEAN(*loc=='+'); break; +/* 11: */ +#line 98 "./typedefs.hweb" -case 0162 +case 'r' +/* :11 */ +#line 149 "./typedefs.hweb" : +/* 12: */ +#line 101 "./typedefs.hweb" -case 0156 +case 'n' +/* :12 */ +#line 150 "./typedefs.hweb" : -Fortran88= BOOLEAN(*loc==071); +Fortran88= BOOLEAN(*loc=='9'); break; +/* 14: */ +#line 107 "./typedefs.hweb" -case 0166 +case 'v' +/* :14 */ +#line 154 "./typedefs.hweb" : +/* 13: */ +#line 104 "./typedefs.hweb" -case 0170 +case 'x' +/* :13 */ +#line 155 "./typedefs.hweb" : break; @@ -1673,12 +1980,16 @@ opt_args(l); } +/* :20 */ +#line 823 "./fweave.web" if(module_count==0) global_params= params; ini0_language(); +/* 308: */ +#line 8966 "./fweave.web" if(Fortran88&&(auto_semi&&!free_Fortran)) @@ -1688,9 +1999,13 @@ chk_end= NO; } +/* :308 */ +#line 829 "./fweave.web" } +/* :63 */ +#line 810 "./fweave.web" break; @@ -1701,6 +2016,8 @@ if(module_count==0) global_params= params; break; +/* :62 */ +#line 863 "./fweave.web" case invisible_cmnt: @@ -1711,9 +2028,15 @@ case new_module: return; } +/* :64 */ +/* 64: */ +#line 876 "./fweave.web" } } +/* :64 */ +/* 65: */ +#line 884 "./fweave.web" eight_bits @@ -1724,13 +2047,13 @@ WHILE() if(loc>limit&&!get_line()) return new_module; -*(limit+1)= 0100; +*(limit+1)= '@'; -while(*loc!=0100&&*loc!=0174) +while(*loc!='@'&&*loc!='|') loc++; -if(*loc++==0174) -return 0174; +if(*loc++=='|') +return '|'; if(loc<=limit) { @@ -1742,6 +2065,9 @@ return ccode[*(loc++)]; DUMMY_RETURN(0); } +/* :65 */ +/* 67: */ +#line 974 "./fweave.web" eight_bits @@ -1753,6 +2079,8 @@ GOTO_CODE pcode; WHILE() { +/* 82: */ +#line 1490 "./fweave.web" { if(preprocessing&&at_beginning) @@ -1762,17 +2090,21 @@ at_beginning= NO; for(;loccur_buffer) -&&!(limit[0]==0100&&limit[1]==0155)) +&&!(limit[0]=='@'&&limit[1]=='m')) { loc= limit+1; chk_end= NO; @@ -1819,13 +2151,18 @@ goto chk_the_end; } continue; } +#line 1559 "./fweave.web" } } +/* :83 */ +#line 986 "./fweave.web" ; chk_end= YES; +/* 68: */ +#line 1044 "./fweave.web" { if(loc>limit) @@ -1835,6 +2172,8 @@ if(terminate) terminator[0]= *limit;terminator[1]= *(limit+1); } +/* 69: */ +#line 1086 "./fweave.web" { if(just_inserted) @@ -1844,12 +2183,14 @@ else if(free_Fortran&&auto_semi&&!empty_line&&the_part==CODE) { just_inserted= YES; -return auto_pseudo_semis?ccode[073]:073; +return auto_pseudo_semis?ccode[';']:';'; } } } +/* :69 */ +#line 1053 "./fweave.web" empty_line= NO; @@ -1859,6 +2200,8 @@ return new_module; if(eat_blank_lines) { +/* 70: */ +#line 1104 "./fweave.web" { while(loc>=limit) @@ -1869,6 +2212,8 @@ return new_module; } } +/* :70 */ +#line 1062 "./fweave.web" eat_blank_lines= NO; } @@ -1886,25 +2231,35 @@ else if(parsing_mode==OUTER) at_beginning= NO; } +/* :68 */ +#line 990 "./fweave.web" +/* 71: */ +#line 1117 "./fweave.web" if(preprocessing) +/* 72: */ +#line 1137 "./fweave.web" { do { -if((c= *loc++)!=040||c!=tab_mark) +if((c= *loc++)!=' '||c!=tab_mark) break; } while(loclimit) -return 073; +return ';'; -if(c==0100) +if(c=='@') { if((icode= get_control_code())==GOTO_MISTAKE) return prs_regular_code(GOTO_MISTAKE); @@ -2016,12 +2378,14 @@ else if(TeX[c]==TeX_comment) long_comment= YES; return begin_comment; } -else if(c==0174&&parsing_mode==INNER) -return 0174; +else if(c=='|'&&parsing_mode==INNER) +return '|'; else if(phase==1) { if(TeX[c]==TeX_escape) +/* 75: */ +#line 1228 "./fweave.web" { id_first= id_loc= mod_text+1; @@ -2030,9 +2394,9 @@ id_first= id_loc= mod_text+1; if(TeX[*loc]!=TeX_letter) { -if(*loc==0100) +if(*loc=='@') { -if(*(loc+1)!=0100) +if(*(loc+1)!='@') err0_print(ERR_W,OC("You should say `\\@@'"),0); else loc++; } @@ -2040,9 +2404,9 @@ else loc++; } else while(TeX[*loc]==TeX_letter) { -if(*loc==0100) +if(*loc=='@') { -if(*(loc+1)!=0100) +if(*(loc+1)!='@') err0_print(ERR_W,OC("You should say `@@'"),0); else loc++; } @@ -2052,11 +2416,15 @@ else loc++; return identifier; } +/* :75 */ +#line 1215 "./fweave.web" else return MORE_PARSE; } else +/* 76: */ +#line 1263 "./fweave.web" { loc--; @@ -2064,19 +2432,19 @@ id_first= id_loc= mod_text+1; while(loc'){compress(minus_gt); } -else if(*loc==075){COMPOUND(minus_eq,1); +else if(*loc=='='){COMPOUND(minus_eq,1); } break; -case 075: -if(*loc==075){compress(eq_eq); +case '=': +if(*loc=='='){compress(eq_eq); } -else if(*loc==076){compress(eq_gt); +else if(*loc=='>'){compress(eq_gt); } break; -case 076: -if(*loc==075){compress(gt_eq); +case '>': +if(*loc=='='){compress(gt_eq); } -else if(*loc==076) -if(*(loc+1)==075){COMPOUND(gt_gt_eq,2); +else if(*loc=='>') +if(*(loc+1)=='='){COMPOUND(gt_gt_eq,2); } else{compress(gt_gt); } break; -case 074: -if(*loc==075){compress(lt_eq); +case '<': +if(*loc=='='){compress(lt_eq); } -else if(*loc==074) -if(*(loc+1)==075) +else if(*loc=='<') +if(*(loc+1)=='=') {COMPOUND(lt_lt_eq,2); } else{compress(lt_lt); } -else if(*loc==076){compress(not_eq); +else if(*loc=='>'){compress(not_eq); } break; -case 045: -if(*loc==075){COMPOUND(mod_eq,1); +case '%': +if(*loc=='='){COMPOUND(mod_eq,1); } break; -case 046: -if(*loc==046){compress(and_and); +case '&': +if(*loc=='&'){compress(and_and); } -else if(*loc==075) +else if(*loc=='=') { COMPOUND(and_eq,1); } break; -case 0174: -if(*loc==0174) +case '|': +if(*loc=='|') { -if(*(loc+1)==0174) +if(*(loc+1)=='|') { COMPOUND(or_or_or,2); } else compress(or_or); } -else if(*loc==075&&!FORTRAN_LIKE(language)) +else if(*loc=='='&&!FORTRAN_LIKE(language)) { COMPOUND(or_eq,1); } break; -case 041: -if(!in_format&&(point_comments||*loc==041)) +case '!': +if(!in_format&&(point_comments||*loc=='!')) { -if(*loc!=041)loc--; +if(*loc!='!')loc--; long_comment= NO; compress(begin_comment); } -else if(*loc==075){compress(not_eq); +else if(*loc=='='){compress(not_eq); } break; -case 052: -if(FORTRAN_LIKE(language)&&(*loc==052)) +case '*': +if(FORTRAN_LIKE(language)&&(*loc=='*')) {compress(star_star); } -else if(*loc==075){COMPOUND(star_eq,1); +else if(*loc=='='){COMPOUND(star_eq,1); } break; -case 0136: -if(*loc==0136){compress(star_star);} +case '^': +if(*loc=='^'){compress(star_star);} else if(FORTRAN_LIKE(language)&&(loc') { if(--mod_level==0) { loc+= 2;break; } } -else if(c==074)mod_level++; +else if(c=='<')mod_level++; if(ccode[c]==new_module) { @@ -2740,10 +3179,12 @@ err0_print(ERR_W,OC("Section name didn't end"),0);break; } -*(++k)= 0100;loc++; +*(++k)= '@';loc++; } +/* :110 */ +#line 2502 "./fweave.web" ; loc++; @@ -2751,12 +3192,12 @@ if(kmod_text) +if(*k==' '&&k>mod_text) k--; } +/* :109 */ +#line 2444 "./fweave.web" if(k-mod_text>3&&STRNCMP(k-2,ell,3)==0) @@ -2789,6 +3232,9 @@ cur_module= mod_lookup(bad_mod_name,bad_mod_name+STRLEN(bad_mod_name)-1); if(cur_module) { +/* :107 */ +/* 107: */ +#line 2458 "./fweave.web" params= cur_module->mod_info->params; frz_params(); } @@ -2800,24 +3246,33 @@ xref_switch= NO; } +/* :107 */ +#line 1794 "./fweave.web" ; return macro_module_name; -case 047: -case 042: +case '\'': +case '"': if(phase==1)loc++; break; } +/* :87 */ +#line 1734 "./fweave.web" break; } +/* :85 */ +#line 1399 "./fweave.web" return(eight_bits)c; } +/* :77 */ +/* 96: */ +#line 2071 "./fweave.web" eight_bits @@ -2834,24 +3289,26 @@ id_first= mod_text+1; id_loc= mod_text; -if(delim==047&&*(loc-2)==0100){*++id_loc= 0100;*++id_loc= 0100;} +if(delim=='\''&&*(loc-2)=='@'){*++id_loc= '@';*++id_loc= '@';} *++id_loc= delim; +/* 97: */ +#line 2140 "./fweave.web" { switch(delim) { -case 074: -right_delim= 076; +case '<': +right_delim= '>'; break; -case 050: -right_delim= 051; +case '(': +right_delim= ')'; sharp_include_line= NO; break; -case 0133: -right_delim= 0135; +case '[': +right_delim= ']'; break; } @@ -2860,18 +3317,22 @@ level= 1; equal_delims= BOOLEAN(right_delim==delim); } +/* :97 */ +#line 2090 "./fweave.web" kount= 0; WHILE() { -if(loc>=limit) +if(loc>=limit)/* 98: */ +#line 2164 "./fweave.web" + { if((equal_delims||chk_ifelse)&&*(limit-1)!=cont_char) { -err0_print(ERR_W,OC("String %s with %s'%s%c'%s didn't end"),5,BTRANS,SSET_COLOR(character),delim==047?"\\":"",XCHR(delim),SSET_COLOR(error)); +err0_print(ERR_W,OC("String %s with %s'%s%c'%s didn't end"),5,BTRANS,SSET_COLOR(character),delim=='\''?"\\":"",XCHR(delim),SSET_COLOR(error)); loc= limit;break; } @@ -2892,7 +3353,7 @@ else if(bslash_continued_strings) { for(;loc=NBREAK&&c!=0100&&++id_loc<=mod_end) +if(c==',')kount= 0; +else if(++kount>=NBREAK&&c!='@'&&++id_loc<=mod_end) { kount= 0; *id_loc= discretionary_break; } +/* :100 */ +#line 2119 "./fweave.web" } @@ -2963,23 +3434,27 @@ mark_error; id_loc++; +/* 101: */ +#line 2236 "./fweave.web" { if(FORTRAN_LIKE(language)) if(boz) +/* 102: */ +#line 2246 "./fweave.web" { switch(boz) { -case 0102: +case 'B': *id_first= BINARY_CODE; break; -case 0117: +case 'O': *id_first= OCTAL_CODE; break; -case 0132: +case 'Z': *id_first= HEX_CODE; break; } @@ -2988,42 +3463,61 @@ id_loc--; return constant; } +/* :102 */ +#line 2240 "./fweave.web" else +/* 103: */ +#line 2269 "./fweave.web" { -if(*loc==0130||*loc==0170) +if(*loc=='X'||*loc=='x') { *id_first= HEX_CODE; +/* 104: */ +#line 2284 "./fweave.web" loc++; id_loc--; return constant; +/* :104 */ +#line 2274 "./fweave.web" } -else if(*loc==0117||*loc==0157) +else if(*loc=='O'||*loc=='o') { *id_first= OCTAL_CODE; +/* 104: */ +#line 2284 "./fweave.web" loc++; id_loc--; return constant; +/* :104 */ +#line 2279 "./fweave.web" } } +/* :103 */ +#line 2242 "./fweave.web" } +/* :101 */ +#line 2134 "./fweave.web" return stringg; } +/* :96 */ +/* 106: */ +#line 2301 "./fweave.web" GOTO_CODE @@ -3036,11 +3530,11 @@ c= *loc++; SET_CASE(c); -if((c==057&&(*loc==052||*loc==057))|| +if((c=='/'&&(*loc=='*'||*loc=='/'))|| c==(ASCII)begin_comment0||c==(ASCII)begin_comment1) return GOTO_MISTAKE; -if(c==076&&mod_level==0) +if(c=='>'&&mod_level==0) { err0_print(ERR_W,OC("Unmatched `@>' ignored"),0); @@ -3081,7 +3575,7 @@ case switch_math_flag:math_flag= !math_flag; return MORE_PARSE; #ifdef DEBUG -case trace:tracing= c-060; +case trace:tracing= c-'0'; return MORE_PARSE; #endif @@ -3089,6 +3583,8 @@ return MORE_PARSE; +/* 9: */ +#line 80 "./typedefs.hweb" case begin_C: @@ -3098,46 +3594,72 @@ case begin_LITERAL +/* :9 */ +#line 2365 "./fweave.web" : loc--; case L_switch: { +/* 63: */ +#line 821 "./fweave.web" { +/* 20: */ +#line 139 "./typedefs.hweb" { ASCII l= *loc++; switch(l) { +/* 10: */ +#line 95 "./typedefs.hweb" -case 0143 +case 'c' +/* :10 */ +#line 145 "./typedefs.hweb" : -Cpp= BOOLEAN(*loc==053); +Cpp= BOOLEAN(*loc=='+'); break; +/* 11: */ +#line 98 "./typedefs.hweb" -case 0162 +case 'r' +/* :11 */ +#line 149 "./typedefs.hweb" : +/* 12: */ +#line 101 "./typedefs.hweb" -case 0156 +case 'n' +/* :12 */ +#line 150 "./typedefs.hweb" : -Fortran88= BOOLEAN(*loc==071); +Fortran88= BOOLEAN(*loc=='9'); break; +/* 14: */ +#line 107 "./typedefs.hweb" -case 0166 +case 'v' +/* :14 */ +#line 154 "./typedefs.hweb" : +/* 13: */ +#line 104 "./typedefs.hweb" -case 0170 +case 'x' +/* :13 */ +#line 155 "./typedefs.hweb" : break; @@ -3152,12 +3674,16 @@ opt_args(l); } +/* :20 */ +#line 823 "./fweave.web" if(module_count==0) global_params= params; ini0_language(); +/* 308: */ +#line 8966 "./fweave.web" if(Fortran88&&(auto_semi&&!free_Fortran)) @@ -3167,9 +3693,13 @@ chk_end= NO; } +/* :308 */ +#line 829 "./fweave.web" } +/* :63 */ +#line 2370 "./fweave.web" return begin_language; } @@ -3181,12 +3711,14 @@ return MORE_PARSE; case xref_roman:case xref_wildcard:case xref_typewriter: case TeX_string:case keyword_name: +/* 111: */ +#line 2565 "./fweave.web" { cc= ccode[*(loc-1)]; -id_first= loc;*(limit+1)= 0100; +id_first= loc;*(limit+1)= '@'; -while(*loc!=0100) +while(*loc!='@') loc++; id_loc= loc; @@ -3200,7 +3732,7 @@ return cc; } -if(*loc++!=076) +if(*loc++!='>') err0_print(ERR_W,OC("Control codes are forbidden in control text"),0); @@ -3208,19 +3740,25 @@ err0_print(ERR_W,OC("Control codes are forbidden in control text"),0); return cc; } +/* :111 */ +#line 2380 "./fweave.web" case module_name: mac_mod_name= NO; +/* 107: */ +#line 2437 "./fweave.web" { ASCII HUGE*k; -static ASCII ell[]= "\56\56\56"; -static ASCII bad_mod_name[]= "\41\41\41\40\173\134\151\164\40\111\156\143\157\155\160\141\164\151\142\154\145\175\40\41\41\41"; +static ASCII ell[]= "..."; +static ASCII bad_mod_name[]= "!!! {\\it Incompatible} !!!"; +/* 109: */ +#line 2486 "./fweave.web" { mod_level= 1; @@ -3238,20 +3776,22 @@ loc= cur_buffer+1;break; } c= *loc; +/* 110: */ +#line 2537 "./fweave.web" -if(c==0100) +if(c=='@') { c= *(loc+1); -if(c==076) +if(c=='>') { if(--mod_level==0) { loc+= 2;break; } } -else if(c==074)mod_level++; +else if(c=='<')mod_level++; if(ccode[c]==new_module) { @@ -3260,10 +3800,12 @@ err0_print(ERR_W,OC("Section name didn't end"),0);break; } -*(++k)= 0100;loc++; +*(++k)= '@';loc++; } +/* :110 */ +#line 2502 "./fweave.web" ; loc++; @@ -3271,12 +3813,12 @@ if(kmod_text) +if(*k==' '&&k>mod_text) k--; } +/* :109 */ +#line 2444 "./fweave.web" if(k-mod_text>3&&STRNCMP(k-2,ell,3)==0) @@ -3309,6 +3853,9 @@ cur_module= mod_lookup(bad_mod_name,bad_mod_name+STRLEN(bad_mod_name)-1); if(cur_module) { +/* :107 */ +/* 107: */ +#line 2458 "./fweave.web" params= cur_module->mod_info->params; frz_params(); } @@ -3320,10 +3867,14 @@ xref_switch= NO; } +/* :107 */ +#line 2386 "./fweave.web" return module_name; case new_output_file: +/* 31: */ +#line 371 "./typedefs.hweb" { while(*loc==' '||*loc==tab_mark) @@ -3346,11 +3897,13 @@ id_loc= id_first+MAX_FILE_NAME_LENGTH-1; } +/* :31 */ +#line 2390 "./fweave.web" return cc; case invisible_cmnt: -if(*loc==045) +if(*loc=='%') eat_blank_lines= YES; loc= limit+1; return MORE_PARSE; @@ -3360,13 +3913,15 @@ long_comment= NO; doing_cdir= YES; return begin_comment; -case verbatim: +case verbatim:/* 112: */ +#line 2595 "./fweave.web" + { id_first= loc++; -*(limit+1)= 0100;*(limit+2)= 076; +*(limit+1)= '@';*(limit+2)= '>'; -while(*loc!=0100||*(loc+1)!=076)loc++; +while(*loc!='@'||*(loc+1)!='>')loc++; if(loc>=limit) err0_print(ERR_W,OC("Verbatim string didn't end"),0); @@ -3377,6 +3932,8 @@ id_loc= loc;loc+= 2; return(verbatim); } +/* :112 */ +#line 2404 "./fweave.web" case ascii_constant:return get_string(c,'\0'); @@ -3385,6 +3942,8 @@ case big_line_break: if(loc>=limit) return cc; +/* 32: */ +#line 399 "./typedefs.hweb" { boolean mcode; @@ -3397,7 +3956,7 @@ loc++; if((mcode= is_mcmd(mcmds,id_first,loc))!=0) { -while(locdefn= GET_MEM("q->defn",n+1,outer_char); *(id_loc-1)= '\0'; for(s= q->defn,id_first++;*id_first;s++) -if(*id_first==0134) +if(*id_first=='\\') { id_first++; *s= XCHR(esc_achar((CONST ASCII HUGE @@ -3825,10 +4443,14 @@ q->cat= (p?p->info[k].cat:(eight_bits)expr); } } +/* :145 */ +#line 3628 "./fweave.web" break; case macro_def: +/* 146: */ +#line 3977 "./fweave.web" { if((next_control= get_next())!=identifier) @@ -3854,7 +4476,7 @@ id_loc0= id_loc; switch(next_control= get_next()) { -case 0134: +case '\\': if((next_control= get_next())!=identifier) { @@ -3888,10 +4510,10 @@ fmt_like_string: p->wv_macro= w= GET_MEM("wv_macro",1,WV_MACRO); w->text= GET_MEM("w->text",n+1,outer_char); -if(offset)*w->text= 0134; +if(offset)*w->text= '\\'; for(s= w->text+offset;*id_first;s++) -if(*id_first==0134) +if(*id_first=='\\') { id_first++; *s= esc_achar((CONST ASCII HUGE @@ -3914,6 +4536,8 @@ break; } } +/* :146 */ +#line 3632 "./fweave.web" break; @@ -3930,7 +4554,11 @@ no_xref= no_xref0; } } +/* :137 */ +#line 2679 "./fweave.web" ; +/* 148: */ +#line 4067 "./fweave.web" { the_part= CODE; @@ -3974,11 +4602,13 @@ if(beginning_module) if(mod_xref_switch) next_control= get_next(); else -next_control= 075; +next_control= '='; -if(next_control==075) +if(next_control=='=') if(!nuweb_mode&&((FORTRAN_LIKE(language)&&!free_form_input) ||(language==TEX))) +/* 309: */ +#line 8977 "./fweave.web" { loc= limit+1; @@ -3986,6 +4616,8 @@ chk_end= NO; column_mode= YES; } +/* :309 */ +#line 4115 "./fweave.web" beginning_module= NO; @@ -4002,6 +4634,8 @@ unnamed_section= NO; } } +/* :148 */ +#line 2680 "./fweave.web" ; if(chngd_module[module_count]) @@ -4010,11 +4644,15 @@ change_exists= YES; typd_switch= defd_switch= NO; } +/* :115 */ +#line 2653 "./fweave.web" ; chngd_module[module_count]= change_exists; +/* 152: */ +#line 4259 "./fweave.web" { if(mod_check(root)&&msg_levelilk==typedef_like) +/* 129: */ +#line 3267 "./fweave.web" { int brace_level= 0; @@ -4265,13 +4940,13 @@ while(next_control<=module_name) { switch(next_control) { -case 0173: -case 074: +case '{': +case '<': brace_level++; break; -case 0175: -case 076: +case '}': +case '>': if(brace_level--==0) { @@ -4319,25 +4994,27 @@ break; case module_name: if(cur_module)new_mod_xref(cur_module); next_control= get_next(); -if(next_control==075) +if(next_control=='=') { err0_print(ERR_W,OC("'=' not allowed after @<...@> \ inside typedef; check typedef syntax. Inserted ';'"),0); -next_control= 073; +next_control= ';'; } continue; -case 073: +case ';': if(brace_level==0)goto done; break; case begin_comment: +/* 134: */ +#line 3451 "./fweave.web" { int bal; -bal= copy_comment(1);next_control= 0174; +bal= copy_comment(1);next_control= '|'; doing_cdir= NO; @@ -4346,13 +5023,15 @@ while(bal>0) in_comment= YES; C_xref(part0,INNER); -if(next_control==0174) +if(next_control=='|') bal= copy_comment(bal); else bal= 0; } } +/* :134 */ +#line 3352 "./fweave.web" break; } @@ -4371,8 +5050,12 @@ goto end_xref; } } +/* :129 */ +#line 2780 "./fweave.web" else if(p->ilk==class_like) +/* 131: */ +#line 3382 "./fweave.web" { if((next_control= get_next())==identifier) @@ -4389,6 +5072,8 @@ typd_switch= NO; } } +/* :131 */ +#line 2782 "./fweave.web" } break; @@ -4403,7 +5088,7 @@ break; next_control= get_next(); -if(next_control==0174||next_control==begin_comment) +if(next_control=='|'||next_control==begin_comment) break; } @@ -4417,6 +5102,9 @@ parsing_mode= OUTER; } } +/* :117 */ +/* 120: */ +#line 2863 "./fweave.web" SRTN @@ -4459,12 +5147,16 @@ qtd_file= BOOLEAN(file_name[0]=='"'); fprintf(ftemp_in,"#include %s\n",file_name); fclose(ftemp_in); +/* 121: */ +#line 2947 "./fweave.web" { outer_char*temp,*temp_I; BUF_SIZE temp_len,ntemp; IN_COMMON outer_char*extra_args; +/* 122: */ +#line 2984 "./fweave.web" { IN_COMMON INCL_PATHS hdr_incl; @@ -4491,6 +5183,8 @@ STRCAT(temp_I,p); STRCAT(temp_I," -I."); } +/* :122 */ +#line 2953 "./fweave.web" temp= GET_MEM("temp",ntemp= temp_len+STRLEN(RUN_CPP)+4+3*3+temp_len @@ -4515,8 +5209,12 @@ FREE_MEM(temp_I,"temp_I",temp_len,outer_char); FREE_MEM(temp,"temp",ntemp,outer_char); } +/* :121 */ +#line 2905 "./fweave.web" +/* 123: */ +#line 3013 "./fweave.web" { if(++incl_depth>=(int)max_include_depth) @@ -4566,6 +5264,8 @@ incl_depth--; } } +/* :123 */ +#line 2907 "./fweave.web" if(new_depth!=incl_depth||!get_line()) @@ -4589,6 +5289,8 @@ p= id_lookup(id_first,id_loc, (eight_bits)(next_control-identifier)); if(p->ilk==typedef_like) +/* 129: */ +#line 3267 "./fweave.web" { int brace_level= 0; @@ -4607,13 +5309,13 @@ while(next_control<=module_name) { switch(next_control) { -case 0173: -case 074: +case '{': +case '<': brace_level++; break; -case 0175: -case 076: +case '}': +case '>': if(brace_level--==0) { @@ -4661,25 +5363,27 @@ break; case module_name: if(cur_module)new_mod_xref(cur_module); next_control= get_next(); -if(next_control==075) +if(next_control=='=') { err0_print(ERR_W,OC("'=' not allowed after @<...@> \ inside typedef; check typedef syntax. Inserted ';'"),0); -next_control= 073; +next_control= ';'; } continue; -case 073: +case ';': if(brace_level==0)goto done; break; case begin_comment: +/* 134: */ +#line 3451 "./fweave.web" { int bal; -bal= copy_comment(1);next_control= 0174; +bal= copy_comment(1);next_control= '|'; doing_cdir= NO; @@ -4688,13 +5392,15 @@ while(bal>0) in_comment= YES; C_xref(part0,INNER); -if(next_control==0174) +if(next_control=='|') bal= copy_comment(bal); else bal= 0; } } +/* :134 */ +#line 3352 "./fweave.web" break; } @@ -4713,8 +5419,12 @@ goto end_xref; } } +/* :129 */ +#line 2930 "./fweave.web" else if(p->ilk==class_like) +/* 131: */ +#line 3382 "./fweave.web" { if((next_control= get_next())==identifier) @@ -4731,6 +5441,8 @@ typd_switch= NO; } } +/* :131 */ +#line 2932 "./fweave.web" break; @@ -4744,6 +5456,9 @@ restore: preprocessing= sharp_include_line= YES; } +/* :120 */ +/* 124: */ +#line 3063 "./fweave.web" SRTN @@ -4756,6 +5471,9 @@ remove((CONST char*)temp_out); } } +/* :124 */ +/* 125: */ +#line 3079 "./fweave.web" outer_char* @@ -4789,6 +5507,9 @@ return file_name; } +/* :125 */ +/* 130: */ +#line 3373 "./fweave.web" SRTN cant_do FCN((the_part)) @@ -4798,6 +5519,9 @@ outer_char*the_part C1("") err0_print(ERR_W,OC("You can't do that inside %s text"),1,the_part); } +/* :130 */ +/* 133: */ +#line 3437 "./fweave.web" SRTN @@ -4808,11 +5532,13 @@ while(next_control0) in_comment= YES; C_xref(part0,INNER); -if(next_control==0174) +if(next_control=='|') bal= copy_comment(bal); else bal= 0; } } +/* :134 */ +#line 3447 "./fweave.web" } +/* :133 */ +/* 138: */ +#line 3658 "./fweave.web" SRTN @@ -4855,6 +5586,8 @@ last_control= next_control= get_next(); if(next_control==identifier||next_control==module_name) +/* 139: */ +#line 3693 "./fweave.web" { if(next_control==identifier) @@ -4877,6 +5610,8 @@ rhs= id_lookup(id_first,id_loc,normal); if(lhs!=NULL) { if(last_control==identifier) +/* 140: */ +#line 3738 "./fweave.web" { lhs->ilk= rhs->ilk; @@ -4894,6 +5629,8 @@ RST_BIT(keyword); #undef RST_BIT } +/* :140 */ +#line 3715 "./fweave.web" else lhs->mod_ilk= rhs->ilk; @@ -4916,8 +5653,12 @@ next_control= get_next(); } } +/* :139 */ +#line 3682 "./fweave.web" -else if(next_control==0140) +else if(next_control=='`') +/* 141: */ +#line 3758 "./fweave.web" { if((next_control= get_TeX())!=constant) @@ -4950,12 +5691,17 @@ next_control= get_next(); } } +/* :141 */ +#line 3684 "./fweave.web" if(saved_language==TEX) language= saved_language; } +/* :138 */ +/* 142: */ +#line 3792 "./fweave.web" eight_bits @@ -4970,14 +5716,14 @@ return ignore; id_first= id_loc= mod_text+1; -if(*loc==0134)*id_loc++= *loc++; -else if(*loc==0136&&*(loc+1)==0136) +if(*loc=='\\')*id_loc++= *loc++; +else if(*loc=='^'&&*(loc+1)=='^') { *id_loc++= *loc++;*id_loc++= *loc++; } -if(*loc==0100) -if(*(loc+1)==0100)loc++; +if(*loc=='@') +if(*(loc+1)=='@')loc++; else err0_print(ERR_W,OC("You should say `@@"),0); @@ -4990,6 +5736,9 @@ to_outer(id_first); return constant; } +/* :142 */ +/* 143: */ +#line 3826 "./fweave.web" int @@ -4997,9 +5746,9 @@ TeX_char(VOID) { int c; -while(*id_first==0134)id_first++; +while(*id_first=='\\')id_first++; -if(*id_first==0136&&*(id_first+1)==0136) +if(*id_first=='^'&&*(id_first+1)=='^') { c= *(id_first+2); if(c>=64)c-= 64; @@ -5010,6 +5759,9 @@ else c= *id_first; return c; } +/* :143 */ +/* 150: */ +#line 4149 "./fweave.web" int @@ -5099,6 +5851,9 @@ status|= mod_check(p->rlink); return status; } +/* :150 */ +/* 151: */ +#line 4239 "./fweave.web" int mod_warn FCN((p,msg)) @@ -5117,6 +5872,9 @@ mark_harmless; return YES; } +/* :151 */ +/* 155: */ +#line 4310 "./fweave.web" SRTN @@ -5135,7 +5893,7 @@ j= b; if(!per_cent) -while(j>out_buf&&*j==040) +while(j>out_buf&&*j==' ') j--; ASCII_LINE_WRITE(j-out_buf); @@ -5143,14 +5901,14 @@ ASCII_LINE_WRITE(j-out_buf); if(per_cent) TEX_PUTXCHAR('%'); -if(*b!=012) +if(*b!='\n') TEX_NEW_LINE; out_line++; if(bbyte_start>1); if(multi_char&&surround) -out(0173); +out('{'); -non_TeX_macro= BOOLEAN(is_id&&*p->byte_start==0134&&language!=TEX); +non_TeX_macro= BOOLEAN(is_id&&*p->byte_start=='\\'&&language!=TEX); if(non_TeX_macro) -out(044); +out('$'); for(k= p->byte_start;kbyte_start;kwv_macro) +/* 167: */ +#line 4727 "./fweave.web" { WV_MACRO HUGE*w= p->wv_macro; @@ -5477,9 +6294,11 @@ OUT_STR("\\WTeX{"); while(*s) out(*s++); -out(0175); +out('}'); } +/* :167 */ +#line 4710 "./fweave.web" @@ -5496,10 +6315,14 @@ OUT_STR(temp); } } +/* :166 */ +#line 43 "./fweave.web" #endif #if(part == 0 || part == 2) +/* 169: */ +#line 4763 "./fweave.web" SRTN @@ -5507,6 +6330,8 @@ copy_limbo(VOID) { ASCII c; +/* 170: */ +#line 4831 "./fweave.web" { int k; @@ -5535,6 +6360,8 @@ for(p= op;pinfo+k; if(q->overloaded) +/* 171: */ +#line 4870 "./fweave.web" { #define TEMP_LEN 1000 @@ -5565,6 +6392,8 @@ OUT_STR(temp); #undef TEMP_LEN } +/* :171 */ +#line 4859 "./fweave.web" } @@ -5572,7 +6401,11 @@ flush_buffer(out_ptr,NO); } } +/* :170 */ +#line 4770 "./fweave.web" +/* 172: */ +#line 4901 "./fweave.web" { text_pointer t= tok_start+1; @@ -5603,6 +6436,8 @@ out_del_tokens(*t,*(t+1)); flush_buffer(out_ptr,NO); } +/* 53: */ +#line 405 "./fweave.web" { tok_ptr= tok_mem+1; @@ -5610,9 +6445,13 @@ tok_start[0]= tok_start[1]= tok_ptr; text_ptr= tok_start+1; } +/* :53 */ +#line 4931 "./fweave.web" } +/* :172 */ +#line 4771 "./fweave.web" OUT_STR("\n% --- Beginning of user's limbo section ---"); @@ -5623,9 +6462,9 @@ WHILE() if(loc>limit&&(fin_line(),!get_line())) break; -*(limit+1)= 0100; +*(limit+1)= '@'; -while(*loc!=0100) +while(*loc!='@') out(*(loc++)); if(loc++<=limit) @@ -5635,11 +6474,15 @@ c= *loc++; if(ccode[c]==new_module) break; -if(c!=0172&&c!=0132) +if(c!='z'&&c!='Z') switch(ccode[c]) { +/* 62: */ +#line 803 "./fweave.web" +/* 9: */ +#line 80 "./typedefs.hweb" case begin_C: @@ -5649,46 +6492,72 @@ case begin_LITERAL +/* :9 */ +#line 805 "./fweave.web" : loc--; case L_switch: +/* 63: */ +#line 821 "./fweave.web" { +/* 20: */ +#line 139 "./typedefs.hweb" { ASCII l= *loc++; switch(l) { +/* 10: */ +#line 95 "./typedefs.hweb" -case 0143 +case 'c' +/* :10 */ +#line 145 "./typedefs.hweb" : -Cpp= BOOLEAN(*loc==053); +Cpp= BOOLEAN(*loc=='+'); break; +/* 11: */ +#line 98 "./typedefs.hweb" -case 0162 +case 'r' +/* :11 */ +#line 149 "./typedefs.hweb" : +/* 12: */ +#line 101 "./typedefs.hweb" -case 0156 +case 'n' +/* :12 */ +#line 150 "./typedefs.hweb" : -Fortran88= BOOLEAN(*loc==071); +Fortran88= BOOLEAN(*loc=='9'); break; +/* 14: */ +#line 107 "./typedefs.hweb" -case 0166 +case 'v' +/* :14 */ +#line 154 "./typedefs.hweb" : +/* 13: */ +#line 104 "./typedefs.hweb" -case 0170 +case 'x' +/* :13 */ +#line 155 "./typedefs.hweb" : break; @@ -5703,12 +6572,16 @@ opt_args(l); } +/* :20 */ +#line 823 "./fweave.web" if(module_count==0) global_params= params; ini0_language(); +/* 308: */ +#line 8966 "./fweave.web" if(Fortran88&&(auto_semi&&!free_Fortran)) @@ -5718,9 +6591,13 @@ chk_end= NO; } +/* :308 */ +#line 829 "./fweave.web" } +/* :63 */ +#line 810 "./fweave.web" break; @@ -5731,6 +6608,8 @@ if(module_count==0) global_params= params; break; +/* :62 */ +#line 4796 "./fweave.web" case toggle_output: @@ -5741,16 +6620,20 @@ case invisible_cmnt: loc= limit+1; break; -case 0100: -out(0100); +case '@': +out('@'); break; case keyword_name: loc-= 2;get_next(); +/* 229: */ +#line 6647 "./fweave.web" { ASCII*id_start,*id_end; +/* 230: */ +#line 6662 "./fweave.web" { while(IS_WHITE(*id_first)) @@ -5760,6 +6643,8 @@ while(IS_WHITE(id_loc[-1])) id_loc--; } +/* :230 */ +#line 6651 "./fweave.web" id_start= id_end= mod_text+1; @@ -5770,6 +6655,8 @@ upper_case_code?WEB_FILE:CUR_FILE); out_del_str(id_start,id_end); } +/* :229 */ +#line 4812 "./fweave.web" break; @@ -5782,6 +6669,8 @@ outside of sections"),0); } } +/* 173: */ +#line 4935 "./fweave.web" { if(*w_style.misc.limbo_end) @@ -5794,9 +6683,14 @@ flush_buffer(out_ptr,NO); } } +/* :173 */ +#line 4823 "./fweave.web" } +/* :169 */ +/* 181: */ +#line 5027 "./fweave.web" eight_bits copy_TeX(VOID) @@ -5807,18 +6701,22 @@ WHILE() { if(loc>limit) { +/* 182: */ +#line 5095 "./fweave.web" { ASCII HUGE*b; for(b= out_buf+1;b<=out_ptr;b++) -if(*b!=040) +if(*b!=' ') break; if(b>out_ptr) out_ptr= out_buf; } +/* :182 */ +#line 5038 "./fweave.web" fin_line(); @@ -5826,48 +6724,52 @@ if(!get_line()) return new_module; } -*(limit+1)= 0100; +*(limit+1)= '@'; scan: -while((c= *(loc++))!=0174&&c!=0100) +while((c= *(loc++))!='|'&&c!='@') { if(c==interior_semi) -c= 073; +c= ';'; out(c); #if(0) -if(out_ptr==out_buf+1&&(c==040 +if(out_ptr==out_buf+1&&(c==' ' ||c==tab_mark ))out_ptr--; #endif } -if(c==0174) -return 0174; +if(c=='|') +return '|'; if(loc<=limit) { eight_bits cc; -if(*loc==0100) +if(*loc=='@') { -out(0100); +out('@'); loc++; goto scan; } +/* 182: */ +#line 5095 "./fweave.web" { ASCII HUGE*b; for(b= out_buf+1;b<=out_ptr;b++) -if(*b!=040) +if(*b!=' ') break; if(b>out_ptr) out_ptr= out_buf; } +/* :182 */ +#line 5075 "./fweave.web" SET_CASE(*loc); @@ -5878,6 +6780,8 @@ return cc; if(loc>=limit) return cc; +/* 32: */ +#line 399 "./typedefs.hweb" { boolean mcode; @@ -5890,7 +6794,7 @@ loc++; if((mcode= is_mcmd(mcmds,id_first,loc))!=0) { -while(loclimit) +/* 185: */ +#line 5194 "./fweave.web" { if(!(long_comment||language==TEX)) { -if((auto_semi&&!free_Fortran)&&*(tok_ptr-2)==073 -&&*(tok_ptr-1)==040) +if((auto_semi&&!free_Fortran)&&*(tok_ptr-2)==';' +&&*(tok_ptr-1)==' ') tok_ptr-= 2; -while(*(tok_ptr-1)==040) +while(*(tok_ptr-1)==' ') tok_ptr--; -if(*(tok_ptr-1)==0134&&*(tok_ptr-2)!=0134) +if(*(tok_ptr-1)=='\\'&&*(tok_ptr-2)!='\\') tok_ptr--; -if(*(tok_ptr-2)==052&&*(tok_ptr-1)==057) +if(*(tok_ptr-2)=='*'&&*(tok_ptr-1)=='/') tok_ptr-= 2; +/* 187: */ +#line 5286 "./fweave.web" if(bal==1) { if(phase==2) { -if(language==TEX) +if(language==TEX)/* 188: */ +#line 5306 "./fweave.web" + { token_pointer t; for(t= tok_ptr-1;t>tok_ptr0;t--) -if(*t!=040)break; +if(*t!=' ')break; -if(t==tok_ptr0&&*(t-4)==0134&&*(t-3)==0127&&*(t-2)==0103&& -*(t-1)==0173) -*(tok_ptr0-2)= 0170; +if(t==tok_ptr0&&*(t-4)=='\\'&&*(t-3)=='W'&&*(t-2)=='C'&& +*(t-1)=='{') +*(tok_ptr0-2)= 'x'; } +/* :188 */ +#line 5292 "./fweave.web" -app_tok(0175); +app_tok('}'); } bal= 0; break; @@ -5991,19 +6908,26 @@ else err0_print(ERR_W,OC("Braces don't balance in comment"),0); +/* 190: */ +#line 5346 "./fweave.web" -app_tok(040); +app_tok(' '); -while(bal-->0)app_tok(0175); +while(bal-->0)app_tok('}'); bal= 0; break; +#line 8 "./scraps.hweb" +/* :190 */ +#line 5302 "./fweave.web" ; } +/* :187 */ +#line 5214 "./fweave.web" } @@ -6013,16 +6937,21 @@ if(language!=TEX) err0_print(ERR_W,OC("Input ended in mid-comment"),0); -loc= cur_buffer+1; +loc= cur_buffer+1;/* 190: */ +#line 5346 "./fweave.web" + -app_tok(040); +app_tok(' '); -while(bal-->0)app_tok(0175); +while(bal-->0)app_tok('}'); bal= 0; break; +#line 8 "./scraps.hweb" +/* :190 */ +#line 5222 "./fweave.web" ; } @@ -6030,27 +6959,33 @@ break; if(language==TEX) { -if(loc==limit) +if(loc==limit)/* 187: */ +#line 5286 "./fweave.web" + if(bal==1) { if(phase==2) { -if(language==TEX) +if(language==TEX)/* 188: */ +#line 5306 "./fweave.web" + { token_pointer t; for(t= tok_ptr-1;t>tok_ptr0;t--) -if(*t!=040)break; +if(*t!=' ')break; -if(t==tok_ptr0&&*(t-4)==0134&&*(t-3)==0127&&*(t-2)==0103&& -*(t-1)==0173) -*(tok_ptr0-2)= 0170; +if(t==tok_ptr0&&*(t-4)=='\\'&&*(t-3)=='W'&&*(t-2)=='C'&& +*(t-1)=='{') +*(tok_ptr0-2)= 'x'; } +/* :188 */ +#line 5292 "./fweave.web" -app_tok(0175); +app_tok('}'); } bal= 0; break; @@ -6060,23 +6995,30 @@ else err0_print(ERR_W,OC("Braces don't balance in comment"),0); +/* 190: */ +#line 5346 "./fweave.web" -app_tok(040); +app_tok(' '); -while(bal-->0)app_tok(0175); +while(bal-->0)app_tok('}'); bal= 0; break; +#line 8 "./scraps.hweb" +/* :190 */ +#line 5302 "./fweave.web" ; } +/* :187 */ +#line 5229 "./fweave.web" for(;loc<=limit;loc++) -if(*loc!=040&&*loc!=tab_mark)break; +if(*loc!=' '&&*loc!=tab_mark)break; if(loc>limit)continue; @@ -6084,27 +7026,33 @@ if(TeX[*loc]==TeX_comment)loc++; else { loc= cur_buffer; +/* 187: */ +#line 5286 "./fweave.web" if(bal==1) { if(phase==2) { -if(language==TEX) +if(language==TEX)/* 188: */ +#line 5306 "./fweave.web" + { token_pointer t; for(t= tok_ptr-1;t>tok_ptr0;t--) -if(*t!=040)break; +if(*t!=' ')break; -if(t==tok_ptr0&&*(t-4)==0134&&*(t-3)==0127&&*(t-2)==0103&& -*(t-1)==0173) -*(tok_ptr0-2)= 0170; +if(t==tok_ptr0&&*(t-4)=='\\'&&*(t-3)=='W'&&*(t-2)=='C'&& +*(t-1)=='{') +*(tok_ptr0-2)= 'x'; } +/* :188 */ +#line 5292 "./fweave.web" -app_tok(0175); +app_tok('}'); } bal= 0; break; @@ -6114,24 +7062,33 @@ else err0_print(ERR_W,OC("Braces don't balance in comment"),0); +/* 190: */ +#line 5346 "./fweave.web" -app_tok(040); +app_tok(' '); -while(bal-->0)app_tok(0175); +while(bal-->0)app_tok('}'); bal= 0; break; +#line 8 "./scraps.hweb" +/* :190 */ +#line 5302 "./fweave.web" ; } +/* :187 */ +#line 5240 "./fweave.web" } } } +/* :185 */ +#line 5155 "./fweave.web" @@ -6141,33 +7098,39 @@ else do c= *(loc++); while(c==tab_mark); -if(c==0174)break; +if(c=='|')break; -if(c==052&&*loc==057&&long_comment) +if(c=='*'&&*loc=='/'&&long_comment) { loc++; +/* 187: */ +#line 5286 "./fweave.web" if(bal==1) { if(phase==2) { -if(language==TEX) +if(language==TEX)/* 188: */ +#line 5306 "./fweave.web" + { token_pointer t; for(t= tok_ptr-1;t>tok_ptr0;t--) -if(*t!=040)break; +if(*t!=' ')break; -if(t==tok_ptr0&&*(t-4)==0134&&*(t-3)==0127&&*(t-2)==0103&& -*(t-1)==0173) -*(tok_ptr0-2)= 0170; +if(t==tok_ptr0&&*(t-4)=='\\'&&*(t-3)=='W'&&*(t-2)=='C'&& +*(t-1)=='{') +*(tok_ptr0-2)= 'x'; } +/* :188 */ +#line 5292 "./fweave.web" -app_tok(0175); +app_tok('}'); } bal= 0; break; @@ -6177,25 +7140,34 @@ else err0_print(ERR_W,OC("Braces don't balance in comment"),0); +/* 190: */ +#line 5346 "./fweave.web" -app_tok(040); +app_tok(' '); -while(bal-->0)app_tok(0175); +while(bal-->0)app_tok('}'); bal= 0; break; +#line 8 "./scraps.hweb" +/* :190 */ +#line 5302 "./fweave.web" ; } +/* :187 */ +#line 5170 "./fweave.web" ; } if(phase==2) +/* 186: */ +#line 5248 "./fweave.web" switch(c) { @@ -6203,17 +7175,17 @@ case tab_mark: if(language==TEX) APP_STR("\\quad "); else -app_tok(040); +app_tok(' '); break; case interior_semi: -app_tok(073); +app_tok(';'); break; -case 045: +case '%': if(language==TEX) -app_tok(0134); +app_tok('\\'); app_tok(c); break; @@ -6224,34 +7196,50 @@ default: if(doing_cdir) switch(c) { +/* 223: */ +#line 6548 "./fweave.web" +/* 224: */ +#line 6554 "./fweave.web" -case 0134:case 0173:case 0175 +case '\\':case '{':case '}' +/* :224 */ +#line 6550 "./fweave.web" : +/* 225: */ +#line 6559 "./fweave.web" -case 040:case 043:case 045:case 044:case 0136:case 0140: -case 0176:case 046:case 0137 +case ' ':case '#':case '%':case '$':case '^':case '`': +case '~':case '&':case '_' +/* :225 */ +#line 6551 "./fweave.web" +/* :223 */ +#line 5276 "./fweave.web" : -app_tok(0134); +app_tok('\\'); } app_tok(c); break; } +/* :186 */ +#line 5176 "./fweave.web" +/* 189: */ +#line 5320 "./fweave.web" -if(c==0100) +if(c=='@') { -if(*(loc++)!=0100) +if(*(loc++)!='@') { err0_print(ERR_W,OC("Illegal use of @ in comment"),0); @@ -6261,26 +7249,33 @@ loc-= 2; if(phase==2) tok_ptr--; +/* 190: */ +#line 5346 "./fweave.web" -app_tok(040); +app_tok(' '); -while(bal-->0)app_tok(0175); +while(bal-->0)app_tok('}'); bal= 0; break; +#line 8 "./scraps.hweb" +/* :190 */ +#line 5333 "./fweave.web" ; } } -else if(c==0134&&*loc!=0100&&phase==2) +else if(c=='\\'&&*loc!='@'&&phase==2) app_tok(*(loc++)) -else if(c==0173) +else if(c=='{') bal++; -else if(c==0175) +else if(c=='}') bal--; +/* :189 */ +#line 5178 "./fweave.web" ; } @@ -6289,13 +7284,16 @@ app_tok(copy_mode); *limit= terminator[0];*(limit+1)= terminator[1]; -if(!long_comment&&*limit==0100&&loc>limit) +if(!long_comment&&*limit=='@'&&loc>limit) loc= limit; in_comment= NO; return bal; } +/* :184 */ +/* 199: */ +#line 5388 "./fweave.web" SRTN @@ -6320,6 +7318,8 @@ preprocessing= NO; while(next_controlmod_ilk:expr,maybe_math); } +/* :311 */ +#line 5757 "./fweave.web" break; case stmt_label: -case stringg:case constant:case verbatim: +case stringg:case constant:case verbatim:/* 220: */ +#line 6461 "./fweave.web" + if(next_control==stmt_label&&!isDigit(*id_first)) { @@ -6395,17 +7405,23 @@ if(next_control==constant||next_control==stmt_label) APP_STR("\\WO{"); else if(next_control==stringg) +/* 221: */ +#line 6489 "./fweave.web" { APP_STR(pfrmt->typewritr); -app_tok(0173); +app_tok('{'); } +/* :221 */ +#line 6475 "./fweave.web" else APP_STR("\\={"); +/* 222: */ +#line 6504 "./fweave.web" { app_tok(verbatim); @@ -6415,33 +7431,45 @@ while(id_firstwv_macro) { @@ -6481,14 +7518,14 @@ ASCII HUGE*s= w->text; if(w->cat) { APP_STR(pfrmt->id); -app(0173); +app('{'); } while(*s) app_tok(*s++); if(w->cat) -app(0175); +app('}'); app_scrap(p->ilk?p->ilk:expr,w->cat?maybe_math:yes_math); } @@ -6523,14 +7560,22 @@ upcoming_kind= NO; the_type= NO_TYPE; } +/* :228 */ +#line 5764 "./fweave.web" ;break; -case TeX_string: +case TeX_string:/* 226: */ +#line 6566 "./fweave.web" + APP_STR("\\hbox{");while(id_first': +case '=': +case '%': +case '!': +case '~': +case '-': +case '*': +case '|': +case '?': +case '^': app_overload();break; -case 046: +case '&': lst_ampersand= YES; app_overload();break; -case 043: +case '#': switch(*loc) { -case 047: +case '\'': APP_STR("\\WNq"); loc++; break; -case 042: +case '"': APP_STR("\\WNQ"); loc++; break; @@ -6735,28 +7805,28 @@ break; case ignore:case xref_roman:case xref_wildcard: case xref_typewriter:break; -case 050:app(next_control);app_scrap(lpar,yes_math);break; -case 051:app(next_control); +case '(':app(next_control);app_scrap(lpar,yes_math);break; +case ')':app(next_control); app_scrap(rpar,yes_math); if(preprocessing&&!did_arg) { -app(040); +app(' '); app_scrap(ignore_scrap,no_math); did_arg= YES; } break; -case 0133:app(next_control);app_scrap(lbracket,yes_math);break; -case 0135:app(next_control);app_scrap(rbracket,yes_math);break; +case '[':app(next_control);app_scrap(lbracket,yes_math);break; +case ']':app(next_control);app_scrap(rbracket,yes_math);break; -case 0173:APP_STR("\\{");app_scrap(lbrace,yes_math);break; -case 0175:APP_STR("\\}");app_scrap(rbrace,yes_math);break; +case '{':APP_STR("\\{");app_scrap(lbrace,yes_math);break; +case '}':APP_STR("\\}");app_scrap(rbrace,yes_math);break; -case 054:app(054);app_scrap(comma,yes_math);break; +case ',':app(',');app_scrap(comma,yes_math);break; case interior_semi: in_data= NO; -app(073); +app(';'); app_scrap(semi,maybe_math); break; @@ -6764,25 +7834,32 @@ case end_format_stmt: in_format= NO; -case 073: +case ';': in_data= NO; if(!is_FORTRAN_(language)||prn_semis) -app(073); +app(';'); app_scrap(semi,maybe_math); break; -case 072: -app(072); +case ':': +app(':'); app_scrap(colon,maybe_math); break; -case 0140: +case '`': +/* :215 */ +/* 215: */ +#line 6267 "./fweave.web" APP_STR("\\WLQx");app_scrap(expr,maybe_math); break; +/* :215 */ +#line 5780 "./fweave.web" +/* 210: */ +#line 5821 "./fweave.web" @@ -6874,7 +7951,11 @@ APP_STR("\\WSR"); app_scrap(rpar,yes_math); break; +/* :210 */ +#line 5781 "./fweave.web" +/* 212: */ +#line 5918 "./fweave.web" case force_line:APP_STR("\\]");app_scrap(ignore_scrap,yes_math);break; @@ -6918,6 +7999,8 @@ case no_mac_expand: APP_STR("\\WTLD");app_scrap(expr,maybe_math);break; case begin_meta: +/* 213: */ +#line 6023 "./fweave.web" { if(!nuweb_mode) @@ -6933,25 +8016,29 @@ WHILE() { if(loc>=limit) { -app(012); +app('\n'); if(!get_line()) break; } while(locmod_ilk:expr,maybe_math); } +/* :311 */ +#line 9009 "./fweave.web" next_control= (nuweb_mode?begin_meta:get_next()); } +/* :310 */ +#line 6746 "./fweave.web" ; -if(next_control==0174) +if(next_control=='|') break; } @@ -7245,7 +8364,7 @@ app_tok(cancel);app_scrap(ignore_scrap,maybe_math); if(nuweb_mode) -app(0175); +app('}'); #if 0 else app_scrap(semi,maybe_math); @@ -7258,9 +8377,9 @@ app(protect_code); app_scrap(ignore_scrap,no_math); } -app(0175);app_scrap(ignore_scrap,no_math); +app('}');app_scrap(ignore_scrap,no_math); -if(next_control!=0174) +if(next_control!='|') err0_print(ERR_W,OC("Missing '|' after code text. \ (@ commands that begin definition part, code part, or new module are not \ @@ -7283,6 +8402,9 @@ parse_params= parse_params0; return p; } +/* :232 */ +/* 233: */ +#line 6797 "./fweave.web" SRTN @@ -7296,9 +8418,13 @@ while(next_controlmx_stck_ptr)mx_stck_ptr= stck_ptr; cur_tok= *p;cur_end= *(p+1); } +/* :243 */ +/* 244: */ +#line 7015 "./fweave.web" SRTN @@ -7412,6 +8552,9 @@ cur_end= (--stck_ptr)->end_field; cur_tok= stck_ptr->tok_field;cur_mode= stck_ptr->mode_field; } +/* :244 */ +/* 246: */ +#line 7039 "./fweave.web" eight_bits get_output(VOID) @@ -7444,6 +8587,9 @@ default:return identifier; return(eight_bits)a; } +/* :246 */ +/* 247: */ +#line 7086 "./fweave.web" SRTN @@ -7471,6 +8617,9 @@ next_control= save_next_control; } +/* :247 */ +/* 269: */ +#line 7659 "./fweave.web" SRTN @@ -7491,6 +8640,8 @@ writing(YES,tex_fname);if(tex_file==stdout)putchar('\n'); fin_line(); +/* 270: */ +#line 7705 "./fweave.web" { IN_COMMON outer_char style_file_name[]; @@ -7537,6 +8688,8 @@ out_prm(OC("{%s}"),9,OC("{index.name}"),prn_index?w_style.indx.name:OC("NoIndex" fin_line(); } +/* :270 */ +#line 7679 "./fweave.web" module_count= 0; @@ -7548,6 +8701,8 @@ flush_buffer(out_buf,NO); math_flag= NO; while(!input_has_ended) +/* 273: */ +#line 7845 "./fweave.web" { the_part= TEX_; @@ -7559,8 +8714,12 @@ scanning_meta= NO; module_count++; +/* 274: */ +#line 7876 "./fweave.web" { +/* 276: */ +#line 7899 "./fweave.web" if(STRCMP(last_include_file,this_include_file)!=0) @@ -7571,11 +8730,13 @@ OUT_STR("}%"); fin_line(); } +/* :276 */ +#line 7878 "./fweave.web" ; if(!in_module&&output_on) { -OUT_STR(*(loc-1)==052?"\\WN":"\\WM"); +OUT_STR(*(loc-1)=='*'?"\\WN":"\\WM"); in_module= YES; @@ -7586,6 +8747,8 @@ out_mod(module_count,NO_ENCAP);OUT_STR(". "); progress(); } +/* :274 */ +#line 7856 "./fweave.web" ; save_position; @@ -7597,10 +8760,14 @@ trns_code(); the_type= NO_TYPE; +/* 314: */ +#line 9112 "./fweave.web" if(this_module>name_dir&&output_on) { +/* 316: */ +#line 9134 "./fweave.web" first_xref= (xref_pointer)this_module->xref; @@ -7634,11 +8801,17 @@ else first_xref->xlink= cur_xref; cur_xref= first_xref->xlink; +/* :316 */ +#line 9116 "./fweave.web" ; footnote(def_flag);footnote(0); } +/* :314 */ +#line 7867 "./fweave.web" ; +/* 319: */ +#line 9223 "./fweave.web" { if(in_module&&output_on) @@ -7658,12 +8831,19 @@ flush_buffer(out_buf,NO); } } +/* :319 */ +#line 7868 "./fweave.web" ; } +/* :273 */ +#line 7690 "./fweave.web" } +/* :269 */ +/* 271: */ +#line 7768 "./fweave.web" SRTN @@ -7716,6 +8896,9 @@ FREE_MEM(temp1,"temp1",TEMP_LEN,outer_char); #undef TEMP_LEN } +/* :271 */ +/* 277: */ +#line 7912 "./fweave.web" SRTN @@ -7730,8 +8913,12 @@ next_control= copy_TeX(); switch(next_control) { +/* 62: */ +#line 803 "./fweave.web" +/* 9: */ +#line 80 "./typedefs.hweb" case begin_C: @@ -7741,46 +8928,72 @@ case begin_LITERAL +/* :9 */ +#line 805 "./fweave.web" : loc--; case L_switch: +/* 63: */ +#line 821 "./fweave.web" { +/* 20: */ +#line 139 "./typedefs.hweb" { ASCII l= *loc++; switch(l) { +/* 10: */ +#line 95 "./typedefs.hweb" -case 0143 +case 'c' +/* :10 */ +#line 145 "./typedefs.hweb" : -Cpp= BOOLEAN(*loc==053); +Cpp= BOOLEAN(*loc=='+'); break; +/* 11: */ +#line 98 "./typedefs.hweb" -case 0162 +case 'r' +/* :11 */ +#line 149 "./typedefs.hweb" : +/* 12: */ +#line 101 "./typedefs.hweb" -case 0156 +case 'n' +/* :12 */ +#line 150 "./typedefs.hweb" : -Fortran88= BOOLEAN(*loc==071); +Fortran88= BOOLEAN(*loc=='9'); break; +/* 14: */ +#line 107 "./typedefs.hweb" -case 0166 +case 'v' +/* :14 */ +#line 154 "./typedefs.hweb" : +/* 13: */ +#line 104 "./typedefs.hweb" -case 0170 +case 'x' +/* :13 */ +#line 155 "./typedefs.hweb" : break; @@ -7795,12 +9008,16 @@ opt_args(l); } +/* :20 */ +#line 823 "./fweave.web" if(module_count==0) global_params= params; ini0_language(); +/* 308: */ +#line 8966 "./fweave.web" if(Fortran88&&(auto_semi&&!free_Fortran)) @@ -7810,9 +9027,13 @@ chk_end= NO; } +/* :308 */ +#line 829 "./fweave.web" } +/* :63 */ +#line 810 "./fweave.web" break; @@ -7823,20 +9044,22 @@ if(module_count==0) global_params= params; break; +/* :62 */ +#line 7926 "./fweave.web" case toggle_output: out_skip(); break; -case 0174:ini_stack;output_C();break; +case '|':ini_stack;output_C();break; case math_break: -out(0174); +out('|'); break; -case 0100: -out(0100); +case '@': +out('@'); break; case invisible_cmnt:loc= limit+1;break; @@ -7863,10 +9086,14 @@ break; case keyword_name: loc-= 2;next_control= get_next(); +/* 229: */ +#line 6647 "./fweave.web" { ASCII*id_start,*id_end; +/* 230: */ +#line 6662 "./fweave.web" { while(IS_WHITE(*id_first)) @@ -7876,6 +9103,8 @@ while(IS_WHITE(id_loc[-1])) id_loc--; } +/* :230 */ +#line 6651 "./fweave.web" id_start= id_end= mod_text+1; @@ -7886,6 +9115,8 @@ upper_case_code?WEB_FILE:CUR_FILE); out_del_str(id_start,id_end); } +/* :229 */ +#line 7965 "./fweave.web" break; @@ -7901,7 +9132,7 @@ CANT_DO(TeX); break; case protect_code: -if(*loc!=0174) +if(*loc!='|') err0_print(ERR_W,OC("@p should be immediately followed by '|'"),0); @@ -7919,6 +9150,9 @@ while(next_controltypewritr); -app_tok(0173); +app_tok('{'); } +/* :221 */ +#line 8559 "./fweave.web" -app(0140); +app('`'); if((next_control= get_TeX())==constant) APP_STR((outer_char*)id_first); -app(0175); +app('}'); APP_STR("\\ "); @@ -8068,8 +9329,10 @@ APP_STR("\\WO{"); while(id_firsttypewritr); -app_tok(0173); +app_tok('{'); } +/* :221 */ +#line 8650 "./fweave.web" app(wt_style.dot_delimiter.begin); app_ASCII_str(dot_op.name+1); app(wt_style.dot_delimiter.end); -app(0175); +app('}'); break; default: -app(0173); +app('{'); app_overload(); -app(0175); +app('}'); break; } app_scrap(expr,yes_math); } +/* :297 */ +#line 8611 "./fweave.web" -app(040);app_scrap(expr,no_math); +app(' ');app_scrap(expr,no_math); if((next_control= get_next())==stringg) { +/* 221: */ +#line 6489 "./fweave.web" { APP_STR(pfrmt->typewritr); -app_tok(0173); +app_tok('{'); } +/* :221 */ +#line 8618 "./fweave.web" +/* 222: */ +#line 6504 "./fweave.web" { app_tok(verbatim); @@ -8189,33 +9478,45 @@ while(id_firsttypewritr); -app_tok(0173); +app_tok('{'); } +/* :221 */ +#line 8650 "./fweave.web" app(wt_style.dot_delimiter.begin); app_ASCII_str(dot_op.name+1); app(wt_style.dot_delimiter.end); -app(0175); +app('}'); break; default: -app(0173); +app('{'); app_overload(); -app(0175); +app('}'); break; } app_scrap(expr,yes_math); } +/* :297 */ +#line 8627 "./fweave.web" next_control= get_next(); @@ -8282,10 +9593,14 @@ next_control= get_next(); } } +/* :296 */ +#line 8066 "./fweave.web" break; case macro_def: +/* 298: */ +#line 8668 "./fweave.web" { SUPPRESS(w); @@ -8304,12 +9619,12 @@ id_loc0= id_loc; APP_ID; -app(040);app_scrap(expr,no_math); +app(' ');app_scrap(expr,no_math); switch(next_control= get_next()) { -case 0134: +case '\\': if((next_control= get_next())!=identifier)break; goto quick_code1; @@ -8318,29 +9633,39 @@ id_first= id_first0; id_loc= id_loc0; quick_code1: +/* 221: */ +#line 6489 "./fweave.web" { APP_STR(pfrmt->typewritr); -app_tok(0173); +app_tok('{'); } +/* :221 */ +#line 8700 "./fweave.web" APP_STR("\\\\"); *id_loc= '\0'; app_ASCII_str(id_first); -app(0175); +app('}'); app_scrap(expr,yes_math); next_control= get_next(); break; case stringg: +/* 221: */ +#line 6489 "./fweave.web" { APP_STR(pfrmt->typewritr); -app_tok(0173); +app_tok('{'); } +/* :221 */ +#line 8710 "./fweave.web" +/* 222: */ +#line 6504 "./fweave.web" { app_tok(verbatim); @@ -8350,33 +9675,45 @@ while(id_firstout_buf+1) +/* 283: */ +#line 8179 "./fweave.web" { -if(*(out_ptr-1)==0134) +if(*(out_ptr-1)=='\\') { -if(*out_ptr==066) +if(*out_ptr=='6') out_ptr-= 2; -else if(*out_ptr==067) +else if(*out_ptr=='7') { out_ptr-= 2; OUT_STR("\\WY"); @@ -8621,6 +9982,8 @@ OUT_STR("\\WY"); } } +/* :283 */ +#line 8146 "./fweave.web" OUT_STR(the_part==CODE?"\\Wendc":"\\Wendd"); @@ -8653,6 +10016,9 @@ output_on= YES; output_on= current_output_state; } +/* :282 */ +/* 284: */ +#line 8202 "./fweave.web" SRTN @@ -8666,6 +10032,9 @@ sprintf(temp,"\\W%s{%s}",(char*)letter,(char*)arg); APP_STR(temp); } +/* :284 */ +/* 285: */ +#line 8218 "./fweave.web" SRTN @@ -8674,21 +10043,29 @@ eight_bits next_control C1("") { if(the_part==DEFINITION) { +/* 281: */ +#line 8105 "./fweave.web" { APP_STR("\\WP"); } +/* :281 */ +#line 8226 "./fweave.web" if(yskipped) { +/* 301: */ +#line 8791 "./fweave.web" { app_hdr("defs"); } +/* :301 */ +#line 8230 "./fweave.web" yskipped= NO; } @@ -8758,6 +10135,9 @@ break; } +/* :285 */ +/* 286: */ +#line 8303 "./fweave.web" SRTN improper FCN((m_type,msg)) @@ -8768,6 +10148,9 @@ outer_char*msg C1("") err0_print(ERR_W,OC("Improper %s definition: expected %s"),2,m_type,msg); } +/* :286 */ +/* 287: */ +#line 8316 "./fweave.web" SRTN @@ -8777,6 +10160,9 @@ CONST outer_char*suffix C1("") APP_TEMP(suffix,(CONST outer_char*)(LANGUAGE_SYMBOL(language))); } +/* :287 */ +/* 300: */ +#line 8731 "./fweave.web" SRTN @@ -8788,8 +10174,11 @@ parsing_mode= OUTER; if(next_control<=module_name) { +#line 8743 "./fweave.web" OUT_STR("\\WY"); ini_stack; +/* 178: */ +#line 4992 "./fweave.web" { if(output_on)app(Turn_output_on); @@ -8803,13 +10192,19 @@ app(turn_output_off); app_scrap(ignore_scrap,no_math); } +/* :178 */ +#line 8745 "./fweave.web" +/* 281: */ +#line 8105 "./fweave.web" { APP_STR("\\WP"); } +/* :281 */ +#line 8746 "./fweave.web" if(next_control==begin_code) @@ -8821,11 +10216,15 @@ params= global_params; nuweb_mode= nuweb_mode0; frz_params(); the_module= NULL; +/* 307: */ +#line 8950 "./fweave.web" { if(!nuweb_mode&&((FORTRAN_LIKE(language)&&!free_form_input) ||(language==TEX))) { +/* 309: */ +#line 8977 "./fweave.web" { loc= limit+1; @@ -8833,11 +10232,15 @@ chk_end= NO; column_mode= YES; } +/* :309 */ +#line 8955 "./fweave.web" next_control= ignore; } else { +/* 308: */ +#line 8966 "./fweave.web" if(Fortran88&&(auto_semi&&!free_Fortran)) @@ -8847,18 +10250,26 @@ chk_end= NO; } +/* :308 */ +#line 8960 "./fweave.web" next_control= (nuweb_mode?begin_meta:get_next()); } } +/* :307 */ +#line 8757 "./fweave.web" +/* 302: */ +#line 8797 "./fweave.web" { app_hdr("code"); } +/* :302 */ +#line 8759 "./fweave.web" } else @@ -8873,6 +10284,8 @@ frz_params(); this_module= cur_module; } the_module= cur_module; +/* 304: */ +#line 8827 "./fweave.web" { LANGUAGE saved_language= language; @@ -8883,7 +10296,7 @@ language= C; do next_control= get_next(); -while(next_control==053); +while(next_control=='+'); language= saved_language; @@ -8901,13 +10314,17 @@ break; -case 075: +case '=': case eq_eq: +/* 307: */ +#line 8950 "./fweave.web" { if(!nuweb_mode&&((FORTRAN_LIKE(language)&&!free_form_input) ||(language==TEX))) { +/* 309: */ +#line 8977 "./fweave.web" { loc= limit+1; @@ -8915,11 +10332,15 @@ chk_end= NO; column_mode= YES; } +/* :309 */ +#line 8955 "./fweave.web" next_control= ignore; } else { +/* 308: */ +#line 8966 "./fweave.web" if(Fortran88&&(auto_semi&&!free_Fortran)) @@ -8929,11 +10350,15 @@ chk_end= NO; } +/* :308 */ +#line 8960 "./fweave.web" next_control= (nuweb_mode?begin_meta:get_next()); } } +/* :307 */ +#line 8856 "./fweave.web" break; @@ -8973,6 +10398,8 @@ app(force); app_scrap(ignore_scrap,no_math); } +/* :304 */ +#line 8774 "./fweave.web" ; } @@ -8980,6 +10407,8 @@ app_scrap(ignore_scrap,no_math); while(next_control<=module_name) { outr_parse(); +/* 310: */ +#line 8985 "./fweave.web" if(next_controlmod_ilk:expr,maybe_math); } +/* :311 */ +#line 9009 "./fweave.web" next_control= (nuweb_mode?begin_meta:get_next()); } +/* :310 */ +#line 8781 "./fweave.web" ; } +/* 305: */ +#line 8898 "./fweave.web" { boolean nuweb_mode0= nuweb_mode; @@ -9030,12 +10467,17 @@ nuweb_mode= nuweb_mode0; frz_params(); } +/* :305 */ +#line 8784 "./fweave.web" fin_C(); unnamed_section= NO; } } +/* :300 */ +/* 303: */ +#line 8805 "./fweave.web" SRTN @@ -9057,6 +10499,9 @@ APP_STR(t_loc); app_scrap(ignore_scrap,no_math); } +/* :303 */ +/* 306: */ +#line 8915 "./fweave.web" SRTN @@ -9091,6 +10536,9 @@ s0= ++s; APP_STR(s0); } +/* :306 */ +/* 312: */ +#line 9025 "./fweave.web" SRTN @@ -9107,6 +10555,8 @@ app_proc(last_control); switch(last_control) { case WEB_definition: +/* 313: */ +#line 9070 "./fweave.web" { if((next_control= get_next())!=identifier) @@ -9116,27 +10566,27 @@ expected identifier"),0); else { -app(044);APP_ID; +app('$');APP_ID; -if(*loc==050) +if(*loc=='(') { reswitch:switch(next_control= get_next()) { -case 050:case 054: +case '(':case ',': app(next_control);goto reswitch; case identifier: APP_ID; goto reswitch; case ellipsis: APP_STR("\\dots"); -if((next_control= get_next())!=051) +if((next_control= get_next())!=')') { err0_print(ERR_M,OC("Improper deferred macro \ definition: expected ')' after ellipsis"),0); break; } -case 051:app(next_control);app(040); +case ')':app(next_control);app(' '); break; default: err0_print(ERR_M,OC("Improper deferred macro definition: \ @@ -9144,12 +10594,14 @@ unrecognized token within argument list"),0);break; } } -app(044);app(break_space); +app('$');app(break_space); app_scrap(ignore_scrap,no_math); } } +/* :313 */ +#line 9041 "./fweave.web" ; break; } @@ -9159,7 +10611,7 @@ p= text_ptr;freeze_text; save_base= scrp_base; scrp_base= scrp_ptr+1; -*limit= 0100;*(limit+1)= 0155; +*limit= '@';*(limit+1)= 'm'; next_control= ignore; if(language==TEX)language= C; @@ -9178,10 +10630,14 @@ APP_STR("\\WPs");app(force); app_scrap(ignore_scrap,no_math); } +/* :312 */ +#line 47 "./fweave.web" #endif #if(part == 0 || part == 3) +/* 206: */ +#line 5699 "./fweave.web" SRTN @@ -9223,6 +10679,9 @@ if(defn)q->defn= (outer_char HUGE*)defn; } } +/* :206 */ +/* 209: */ +#line 5790 "./fweave.web" SRTN @@ -9250,6 +10709,9 @@ OVERFLW("scraps","s"); } } +/* :209 */ +/* 217: */ +#line 6308 "./fweave.web" OPERATOR HUGE* @@ -9261,20 +10723,20 @@ OPERATOR HUGE*p; switch(op_code) { -case 057: -case 053: -case 074: -case 076: -case 075: -case 045: -case 041: -case 0176: -case 055: -case 052: -case 046: -case 0174: -case 077: -case 0136: +case '/': +case '+': +case '<': +case '>': +case '=': +case '%': +case '!': +case '~': +case '-': +case '*': +case '&': +case '|': +case '?': +case '^': case ellipsis: case not_eq: case lt_eq: @@ -9296,7 +10758,7 @@ return p; case compound_assignment: if(assignment_token==or_or_or) -return op+0174; +return op+'|'; p= op+CA_START+assignment_token; if(p>=op+128) @@ -9311,6 +10773,8 @@ id_loc= id_first+STRLEN(id_first); case identifier: if(!FORTRAN_LIKE(language))return NULL; +/* 218: */ +#line 6377 "./fweave.web" { ASCII id[255]; @@ -9329,12 +10793,17 @@ op_ptr++; return p; } +/* :218 */ +#line 6370 "./fweave.web" } return NULL; } +/* :217 */ +/* 219: */ +#line 6405 "./fweave.web" SRTN @@ -9375,7 +10844,7 @@ APP_STR("\\Wunknown{"); app(wt_style.dot_delimiter.begin); app_ASCII_str(p->op_name); app(wt_style.dot_delimiter.end); -app(0175); +app('}'); app_scrap(binop,yes_math); return; } @@ -9383,6 +10852,9 @@ return; app_scrap(q->cat,yes_math); } +/* :219 */ +/* 248: */ +#line 7115 "./fweave.web" SRTN @@ -9414,6 +10886,8 @@ language= lan_enum(get_output()); continue; +/* 250: */ +#line 7223 "./fweave.web" case protect_code: @@ -9423,25 +10897,31 @@ case copy_mode: copying= BOOLEAN(!copying);break; case turn_output_off: +#line 7233 "./fweave.web" output_on= NO; break; case turn_output_on: +#line 7238 "./fweave.web" output_on= YES; break; case Turn_output_off: skip_file(); strt_off= YES; +#line 7245 "./fweave.web" output_on= NO; break; case Turn_output_on: strt_off= NO; +#line 7251 "./fweave.web" output_on= YES; break; +/* :250 */ +#line 7146 "./fweave.web" case out_force: @@ -9452,6 +10932,8 @@ return; case identifier:case res_word: if(output_on) +/* 253: */ +#line 7290 "./fweave.web" { if(nuweb_mode) @@ -9464,6 +10946,8 @@ out(*k); } } else +/* 254: */ +#line 7314 "./fweave.web" { boolean all_uc= cur_name->info.upper_case; @@ -9486,6 +10970,8 @@ OUT_STR(pfrmt->short_id); else +/* 255: */ +#line 7348 "./fweave.web" switch(DEFINED_TYPE(cur_name)) { @@ -9505,6 +10991,8 @@ break; } +/* :255 */ +#line 7336 "./fweave.web" } else @@ -9515,19 +11003,27 @@ OUT_STR(ALL_UC?pfrmt->RESERVED:pfrmt->reserved); out_name(NULL,YES,IDENTIFIER,cur_name); } +/* :254 */ +#line 7302 "./fweave.web" } +/* :253 */ +#line 7156 "./fweave.web" break; case mod_name: if(output_on) +/* 261: */ +#line 7494 "./fweave.web" #if FCN_CALLS out_md_name(); #else +/* 263: */ +#line 7514 "./fweave.web" { name_pointer cur_mod_name; @@ -9553,9 +11049,11 @@ cur_xref= cur_xref->xlink; } } } -else out(060); +else out('0'); -out(0175); +out('}'); +/* 265: */ +#line 7561 "./fweave.web" { ASCII HUGE*k,HUGE*k_limit; @@ -9570,9 +11068,11 @@ while(k "); mark_error; } +/* :266 */ +#line 7575 "./fweave.web" ; -if(b!=0174)out(b) +if(b!='|')out(b) else { +/* 267: */ +#line 7606 "./fweave.web" { ASCII delim; -j= limit+1;*j= 0174;delim= 0; +j= limit+1;*j= '|';delim= 0; WHILE() { @@ -9606,22 +11110,26 @@ break; b= *(k++); -if(b==0100) +if(b=='@') +/* 268: */ +#line 7646 "./fweave.web" { if(j>cur_buffer+buf_size-3)OVERFLW("buffer",""); -*(++j)= 0100;*(++j)= *(k++); +*(++j)= '@';*(++j)= *(k++); } +/* :268 */ +#line 7627 "./fweave.web" else { -if(b==047||b==042) +if(b=='\''||b=='"') if(delim==0)delim= b; else if((eight_bits)delim==b)delim= 0; -if(b!=0174||delim!=0) +if(b!='|'||delim!=0) { if(j>cur_buffer+buf_size-2)OVERFLW("buffer",""); @@ -9632,14 +11140,18 @@ else break; } } +/* :267 */ +#line 7580 "./fweave.web" ; save_loc= loc;save_limit= limit;loc= limit+2;limit= j+1; -*limit= 0174;output_C(); +*limit= '|';output_C(); loc= save_loc;limit= save_limit; } } } +/* :265 */ +#line 7542 "./fweave.web" ; OUT_STR("\\X "); @@ -9649,18 +11161,26 @@ LANGUAGE_SYMBOL((LANGUAGE)cur_mod_name->mod_info->language): OUT_STR("\\X"); } +/* :263 */ +#line 7498 "./fweave.web" #endif +/* :261 */ +#line 7161 "./fweave.web" break; case math_bin:case math_rel: +/* 256: */ +#line 7368 "./fweave.web" OUT_STR(a==math_bin?"\\mathbin{":"\\mathrel{"); +/* :256 */ +#line 7164 "./fweave.web" ;break; case toggle_meta: @@ -9672,32 +11192,42 @@ c= 0;while((a= get_output())>=indent&&a<=big_force) { if(a==indent)c++;if(a==outdent)c--; } +/* 260: */ +#line 7482 "./fweave.web" for(;c>0;c--)OUT_STR("\\1"); for(;c<0;c++)OUT_STR("\\2"); +/* :260 */ +#line 7175 "./fweave.web" ; goto reswitch; case big_cancel: c= 0; -while(((a= get_output())>=indent||a==040)&&a<=big_force) +while(((a= get_output())>=indent||a==' ')&&a<=big_force) { if(a==indent)c++;if(a==outdent)c--; } +/* 260: */ +#line 7482 "./fweave.web" for(;c>0;c--)OUT_STR("\\1"); for(;c<0;c++)OUT_STR("\\2"); +/* :260 */ +#line 7184 "./fweave.web" ; goto reswitch; case indent:case outdent:case opt:case backup:case break_space: case force:case big_force: +/* 257: */ +#line 7377 "./fweave.web" if(a0;c--)OUT_STR("\\1"); for(;c<0;c++)OUT_STR("\\2"); +/* :260 */ +#line 7423 "./fweave.web" ; goto reswitch; } -if((a!=040&&abig_force) +if((a!=' '&&abig_force) +/* 259: */ +#line 7445 "./fweave.web" { if(save_mode==outer) @@ -9753,12 +11291,16 @@ if(save_mode==outer) if(out_ptr>out_buf+5&&STRNCMP(out_ptr-5,"\\WY\\WP",6)==0) goto reswitch; +/* 260: */ +#line 7482 "./fweave.web" for(;c>0;c--)OUT_STR("\\1"); for(;c<0;c++)OUT_STR("\\2"); +/* :260 */ +#line 7452 "./fweave.web" ; if(output_on) @@ -9772,19 +11314,21 @@ goto reswitch; } else { -out(0134);out(b-cancel+060); +out('\\');out(b-cancel+'0'); } if(a!=end_translation) fin_line(); } else if(a!=end_translation&&cur_mode==inner) if(output_on) -out(040); +out(' '); goto reswitch; } +/* :259 */ +#line 7428 "./fweave.web" if(a==indent) @@ -9801,16 +11345,20 @@ get_output(); } } +/* :258 */ +#line 7402 "./fweave.web" ; +/* :257 */ +#line 7190 "./fweave.web" ;break; case interior_semi: if(output_on)out(';'); break; -case 052: +case '*': if(!(copying||nuweb_mode)) { OUT_STR("\\ast "); @@ -9831,6 +11379,9 @@ flush_buffer(out_ptr,NO); } } +/* :248 */ +/* 251: */ +#line 7256 "./fweave.web" SRTN skip_file(VOID) @@ -9849,10 +11400,15 @@ fin_line(); #undef TEMP_LEN } +/* :251 */ +/* 252: */ +#line 7273 "./fweave.web" SRTN out_skip(VOID) { +/* 176: */ +#line 4971 "./fweave.web" { static int outer_include_depth; @@ -9872,6 +11428,8 @@ output_on= YES; } } +/* :176 */ +#line 7277 "./fweave.web" ; if(!output_on) @@ -9883,6 +11441,9 @@ output_on= NO; } } +/* :252 */ +/* 262: */ +#line 7502 "./fweave.web" #if FCN_CALLS @@ -9890,6 +11451,8 @@ output_on= NO; SRTN out_md_name(VOID) { +/* 263: */ +#line 7514 "./fweave.web" { name_pointer cur_mod_name; @@ -9915,9 +11478,11 @@ cur_xref= cur_xref->xlink; } } } -else out(060); +else out('0'); -out(0175); +out('}'); +/* 265: */ +#line 7561 "./fweave.web" { ASCII HUGE*k,HUGE*k_limit; @@ -9932,9 +11497,11 @@ while(k "); mark_error; } +/* :266 */ +#line 7575 "./fweave.web" ; -if(b!=0174)out(b) +if(b!='|')out(b) else { +/* 267: */ +#line 7606 "./fweave.web" { ASCII delim; -j= limit+1;*j= 0174;delim= 0; +j= limit+1;*j= '|';delim= 0; WHILE() { @@ -9968,22 +11539,26 @@ break; b= *(k++); -if(b==0100) +if(b=='@') +/* 268: */ +#line 7646 "./fweave.web" { if(j>cur_buffer+buf_size-3)OVERFLW("buffer",""); -*(++j)= 0100;*(++j)= *(k++); +*(++j)= '@';*(++j)= *(k++); } +/* :268 */ +#line 7627 "./fweave.web" else { -if(b==047||b==042) +if(b=='\''||b=='"') if(delim==0)delim= b; else if((eight_bits)delim==b)delim= 0; -if(b!=0174||delim!=0) +if(b!='|'||delim!=0) { if(j>cur_buffer+buf_size-2)OVERFLW("buffer",""); @@ -9994,14 +11569,18 @@ else break; } } +/* :267 */ +#line 7580 "./fweave.web" ; save_loc= loc;save_limit= limit;loc= limit+2;limit= j+1; -*limit= 0174;output_C(); +*limit= '|';output_C(); loc= save_loc;limit= save_limit; } } } +/* :265 */ +#line 7542 "./fweave.web" ; OUT_STR("\\X "); @@ -10011,10 +11590,15 @@ LANGUAGE_SYMBOL((LANGUAGE)cur_mod_name->mod_info->language): OUT_STR("\\X"); } +/* :263 */ +#line 7509 "./fweave.web" } #endif +/* :262 */ +/* 317: */ +#line 9175 "./fweave.web" SRTN @@ -10029,13 +11613,15 @@ fin_line();OUT_STR("\\W"); -out(flag==0?0125:0101); +out(flag==0?'U':'A'); OUT_STR(" section"); +/* 318: */ +#line 9201 "./fweave.web" -q= cur_xref;if(q->xlink->num>flag)out(0163); -out(0176); +q= cur_xref;if(q->xlink->num>flag)out('s'); +out('~'); WHILE() { @@ -10044,20 +11630,25 @@ cur_xref= cur_xref->xlink; if(cur_xref->num<=flag)break; -if(cur_xref->xlink->num>flag||cur_xref!=q->xlink)out(054); +if(cur_xref->xlink->num>flag||cur_xref!=q->xlink)out(','); -out(040); +out(' '); if(cur_xref->xlink->num<=flag) OUT_STR("and~"); } +/* :318 */ +#line 9192 "./fweave.web" ; -out(056); +out('.'); fin_line(); } +/* :317 */ +/* 320: */ +#line 9260 "./fweave.web" SRTN @@ -10068,12 +11659,16 @@ language= global_language; if(no_xref&&!prn_contents) { fin_line(); +/* 321: */ +#line 9333 "./fweave.web" { OUT_STR("\\vfill");fin_line(); OUT_STR("\\FWEBend");fin_line(); } +/* :321 */ +#line 9270 "./fweave.web" } else @@ -10101,6 +11696,8 @@ fin_line(); fin_line(); +/* 322: */ +#line 9343 "./fweave.web" { outer_char HUGE*temp; @@ -10117,6 +11714,8 @@ if( nsprintf(temp,OC(" {%s}"),1,XLANGUAGE_NAME_PTR(global_language))>=(int)(N_CMD))OVERFLW("temp",""); OUT_STR(temp);fin_line(); +/* 323: */ +#line 9365 "./fweave.web" { RCS HUGE*prcs; @@ -10137,7 +11736,7 @@ fin_line(); if(num_keywords>0) { out_str(w_style.modules.kwd); -out(0163); +out('s'); fin_line(); } @@ -10146,21 +11745,25 @@ for(k= 0;kkeyword); -out(0175); -out(0173); +out('}'); +out('{'); out_atext(prcs->txt); -out(0175); +out('}'); fin_line(); } } +/* :323 */ +#line 9357 "./fweave.web" FREE_MEM(temp,"temp",N_CMD,outer_char); } +/* :322 */ +#line 9297 "./fweave.web" } @@ -10182,15 +11785,21 @@ fin_line(); OUT_STR("\\FWEBend");fin_line(); } else +/* 321: */ +#line 9333 "./fweave.web" { OUT_STR("\\vfill");fin_line(); OUT_STR("\\FWEBend");fin_line(); } +/* :321 */ +#line 9316 "./fweave.web" if(prn_index) +/* 348: */ +#line 9963 "./fweave.web" { writing(YES,temp_ndx); @@ -10202,6 +11811,8 @@ NEW_TeX(temp_ndx); if(makeindex) { +/* 349: */ +#line 10010 "./fweave.web" { mx_open(w_style.indx.m_sty); @@ -10336,6 +11947,8 @@ fprintf(mx_file,"%s %i\n","indent_length",w_style.indx.m_indent_length); fclose(mx_file); } +/* :349 */ +#line 9974 "./fweave.web" mx_open(w_style.indx.m_out); @@ -10344,6 +11957,8 @@ fprintf(mx_file,"%% %s\n\n",wbflnm0); if(change_exists) { +/* 327: */ +#line 9463 "./fweave.web" { @@ -10363,9 +11978,11 @@ while(!chngd_module[++k_module]); OUT_STR(", ");out_mod(k_module,ENCAP); } -out(056); +out('.'); } +/* :327 */ +#line 9982 "./fweave.web" ; fin_line(); fin_line(); @@ -10374,6 +11991,8 @@ fin_line(); OUT_STR(w_style.indx.preamble);fin_line(); +/* 330: */ +#line 9514 "./fweave.web" { int c; @@ -10402,7 +12021,11 @@ bucket[c]= cur_name; } } +/* :330 */ +#line 9990 "./fweave.web" ; +/* 338: */ +#line 9625 "./fweave.web" w_style.indx.collate= x__to_ASCII((outer_char*)w_style.indx.collate); @@ -10416,10 +12039,14 @@ while(sort_ptr>scrp_info) cur_depth= sort_ptr->depth; if(blink[sort_ptr->head-name_dir]==0||cur_depth==INFTY) +/* 340: */ +#line 9671 "./fweave.web" { cur_name= sort_ptr->head; +/* 341: */ +#line 9698 "./fweave.web" { ASCII letter= *cur_name->byte_start; @@ -10427,7 +12054,7 @@ ASCII letter= *cur_name->byte_start; -if(letter==0134&&cur_name->ilk==normal&&language!=TEX) +if(letter=='\\'&&cur_name->ilk==normal&&language!=TEX) letter= NON_TEX_MACRO; else letter= A_TO_LOWER(letter); @@ -10445,20 +12072,32 @@ OUT_STR(w_style.indx.lethead_prefix); switch(letter) { +/* 223: */ +#line 6548 "./fweave.web" +/* 224: */ +#line 6554 "./fweave.web" -case 0134:case 0173:case 0175 +case '\\':case '{':case '}' +/* :224 */ +#line 6550 "./fweave.web" : +/* 225: */ +#line 6559 "./fweave.web" -case 040:case 043:case 045:case 044:case 0136:case 0140: -case 0176:case 046:case 0137 +case ' ':case '#':case '%':case '$':case '^':case '`': +case '~':case '&':case '_' +/* :225 */ +#line 6551 "./fweave.web" -:out(0134); +/* :223 */ +#line 9723 "./fweave.web" +:out('\\'); } out((w_style.indx.lethead_flag>0?A_TO_UPPER(letter): A_TO_LOWER(letter))); @@ -10473,6 +12112,8 @@ OUT_STR(w_style.indx.lethead_suffix); last_letter= letter; } +/* :341 */ +#line 9675 "./fweave.web" do @@ -10481,6 +12122,8 @@ if(cur_name->defined_type(language)<0x80) { OUT_STR(w_style.indx.item_0); +/* 342: */ +#line 9739 "./fweave.web" { boolean all_uc= cur_name->info.upper_case; @@ -10507,6 +12150,8 @@ OUT_STR(pfrmt->typewritr); else if(length(cur_name)==1) OUT_STR(pfrmt->short_id); else +/* 255: */ +#line 7348 "./fweave.web" switch(DEFINED_TYPE(cur_name)) { @@ -10526,6 +12171,8 @@ break; } +/* :255 */ +#line 9765 "./fweave.web" break; @@ -10546,9 +12193,15 @@ output_type= IDENTIFIER;break; out_name(m_temp1,YES,output_type,cur_name); } +/* :342 */ +#line 9683 "./fweave.web" ; +/* 343: */ +#line 9791 "./fweave.web" { +/* 345: */ +#line 9901 "./fweave.web" this_xref= (xref_pointer)cur_name->xref;cur_xref= xmem; @@ -10560,6 +12213,8 @@ cur_xref= this_xref;this_xref= next_xref; } while(this_xref!=xmem); +/* :345 */ +#line 9793 "./fweave.web" ; OUT_STR(w_style.indx.delim_0); @@ -10660,9 +12315,11 @@ break; OUT_STR(w_style.indx.delim_n); } -out(056);fin_line(); +out('.');fin_line(); } +/* :343 */ +#line 9684 "./fweave.web" ; } @@ -10673,8 +12330,12 @@ while(cur_name); --sort_ptr; } +/* :340 */ +#line 9638 "./fweave.web" + +else/* 339: */ +#line 9643 "./fweave.web" -else { ASCII c; @@ -10701,18 +12362,26 @@ while(next_name); --sort_ptr;unbucket((eight_bits)(cur_depth+(eight_bits)1)); } +/* :339 */ +#line 9639 "./fweave.web" ; } +/* :338 */ +#line 9991 "./fweave.web" ; OUT_STR(w_style.indx.postamble);fin_line(); } +/* :348 */ +#line 9319 "./fweave.web" if(prn_modules) +/* 354: */ +#line 10160 "./fweave.web" { writing(BOOLEAN(!prn_index),temp_mds); @@ -10726,6 +12395,8 @@ mod_print(root); OUT_STR(w_style.modules.postamble);fin_line(); } +/* :354 */ +#line 9322 "./fweave.web" } @@ -10736,6 +12407,9 @@ CLR_PRINTF(SHORT_INFO,info,("\nDone.")); chk_complete(); } +/* :320 */ +/* 324: */ +#line 9406 "./fweave.web" int @@ -10746,6 +12420,9 @@ RCS HUGE**pp1 C1("") return STRCMP((*pp0)->keyword,(*pp1)->keyword); } +/* :324 */ +/* 325: */ +#line 9425 "./fweave.web" ASCII HUGE* @@ -10761,19 +12438,27 @@ while(*buf!='\0') { switch(*buf) { +/* 224: */ +#line 6554 "./fweave.web" -case 0134:case 0173:case 0175 +case '\\':case '{':case '}' +/* :224 */ +#line 9440 "./fweave.web" : if(!all_cases)break; +/* 225: */ +#line 6559 "./fweave.web" -case 040:case 043:case 045:case 044:case 0136:case 0140: -case 0176:case 046:case 0137 +case ' ':case '#':case '%':case '$':case '^':case '`': +case '~':case '&':case '_' +/* :225 */ +#line 9443 "./fweave.web" : -TO_TEMP(0134); +TO_TEMP('\\'); break; } @@ -10784,6 +12469,9 @@ TO_TEMP('\0'); return temp0; } +/* :325 */ +/* 337: */ +#line 9603 "./fweave.web" SRTN @@ -10805,6 +12493,9 @@ bucket[collate[c]]= NULL; } } +/* :337 */ +/* 346: */ +#line 9916 "./fweave.web" SRTN @@ -10825,6 +12516,9 @@ mod_print(p->rlink); } } +/* :346 */ +/* 355: */ +#line 10175 "./fweave.web" SRTN @@ -10862,6 +12556,9 @@ printf(" %lu level(s).\n",SUB_PTRS(mx_sort_ptr,scrp_info)); mem_avail(1); } +/* :355 */ +/* 356: */ +#line 10214 "./fweave.web" SRTN @@ -10889,12 +12586,21 @@ SRTN ini_tokens FCN((language0)) LANGUAGE language0 C1("") {} +/* :356 */ +#line 51 "./fweave.web" #endif +/* :1 */ +/* 56: */ +#line 123 "./ccodes.hweb" +#line 466 "./fweave.web" +/* :56 */ +/* 344: */ +#line 9868 "./fweave.web" outer_char* mx_quote FCN((m_out,s)) @@ -10924,6 +12630,9 @@ if(c==q->m_escape return m_out; } +/* :344 */ +/* 350: */ +#line 10076 "./fweave.web" outer_char* dbl_bslash FCN((m_temp,s)) @@ -10937,6 +12646,8 @@ for(p= m_temp;*s;) c= *s++; if(iscntrl(c)||c=='\\') +/* 352: */ +#line 10119 "./fweave.web" { *p++= '\\'; @@ -10958,6 +12669,8 @@ break; } +/* :352 */ +#line 10089 "./fweave.web" *p++= c; @@ -10968,6 +12681,9 @@ break; return m_temp; } +/* :350 */ +/* 351: */ +#line 10100 "./fweave.web" outer_char* @@ -10978,6 +12694,8 @@ outer_char c C1("Char to expand") outer_char*p= m_temp; if(iscntrl(c)||c=='\\') +/* 352: */ +#line 10119 "./fweave.web" { *p++= '\\'; @@ -10999,6 +12717,8 @@ break; } +/* :352 */ +#line 10110 "./fweave.web" *p++= c; @@ -11007,6 +12727,9 @@ break; return m_temp; } +/* :351 */ +/* 353: */ +#line 10141 "./fweave.web" SRTN mx_open FCN((ext)) outer_char*ext C1("File extension") @@ -11025,4 +12748,5 @@ makeindex= NO; } } +/* :353 */ -- 1.7.7.1 debian/patches/series0000644000000000000000000000044712204474321012036 0ustar 01-Web--Makefile.patch 02-Web--configure.patch 10-Manual--fweb.texi.patch 12-Web--common.web.patch 14-Web--fweave.web.patch 16-Web--ratfor.web.patch 18-Web--style.web.patch 20-Web--common.c.patch 22-Web--fweave.c.patch 24-Web--ratfor.c.patch 26-Web--style.c.patch texinfo-fixes texinfo-direntry debian/patches/26-Web--style.c.patch0000644000000000000000000000145311661526613014246 0ustar From cf2fbadce932db87f4a2e605b305348e63a4d53f Mon Sep 17 00:00:00 2001 From: Jari Aalto Date: Fri, 18 Nov 2011 15:35:32 +0200 Subject: [PATCH] Web/style.c: comment out see_all Organization: Private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Signed-off-by: Jari Aalto --- Web/style.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) diff --git a/Web/style.c b/Web/style.c index 75d5deb..04789b5 100644 --- a/Web/style.c +++ b/Web/style.c @@ -1630,9 +1630,6 @@ SET_COLOR(info); printf("%s style-file parameters%s%s%s%s:\n", see_all?"Default":"Modified", *pa?" beginning with \"":"",(char*)pa,*pa?"\"":"", -#if 0 -see_all -#endif 0?"\n (null or empty values for \ @ command codes are misleading)":""); -- 1.7.7.1 debian/patches/16-Web--ratfor.web.patch0000644000000000000000000000145311661526613014735 0ustar From 8ae39031239c32e59bab9aabce7e5633e4ef3948 Mon Sep 17 00:00:00 2001 From: Jari Aalto Date: Fri, 18 Nov 2011 15:21:11 +0200 Subject: [PATCH] Web/ratfor.web: Define strpbrk() Organization: Private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Signed-off-by: Jari Aalto --- Web/ratfor.web | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/Web/ratfor.web b/Web/ratfor.web index e87d5fc..f0affc4 100644 --- a/Web/ratfor.web +++ b/Web/ratfor.web @@ -1703,7 +1703,9 @@ means output all comments. @B static outer_char brkset[3] = "*?"; /* Prototype list of possible characters to be searched for in the command-line list. */ +#ifndef strpbrk char *strpbrk(); +#endif boolean found_abbrev; @b -- 1.7.7.1 debian/patches/12-Web--common.web.patch0000644000000000000000000000151111661526613014717 0ustar From eb9231d68b7a5f998d25db6d0cd6e42b539da90d Mon Sep 17 00:00:00 2001 From: Jari Aalto Date: Fri, 18 Nov 2011 15:17:33 +0200 Subject: [PATCH] Web/common.web: Update VERSION Organization: Private Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Signed-off-by: Jari Aalto --- Web/common.web | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Web/common.web b/Web/common.web index 5edbb38..40a23cd 100644 --- a/Web/common.web +++ b/Web/common.web @@ -38,7 +38,7 @@ two component programs, if no confusion can arise. @ Here is the overall appearance of this file: -@d VERSION "1.61" // For development, use |$REVISION| here. +@d VERSION "1.62" // For development, use |$REVISION| here. @d RELEASE_DATE "September 23, 1998" @A -- 1.7.7.1 debian/fweb-doc.doc-base0000644000000000000000000000112211661526613012256 0ustar Document: fweb Section: Programming Title: The FWEB literate programming system Author: John Krommes Abstract: FWEB is a system for `literate programming'. It enables one to maintain both documentation and source code in a single document, and to explain the code in terms of a `web' of very small fragments. Because it is intimately integrated with TeX, one gains many advantages such as book-quality typesetting and extensive cross-referencing facilities. Format: HTML Index: /usr/share/doc/fweb/html-info/index.html Files: /usr/share/doc/fweb/html-info/*.html debian/fweb.postrm0000644000000000000000000000015211661526613011364 0ustar #!/bin/sh set -e # regenerate ls-lR database if [ -x /usr/bin/texhash ] then texhash fi #DEBHELPER#