Browse Source

* html creation works again

peter 26 years ago
parent
commit
8064542fa2
16 changed files with 839 additions and 784 deletions
  1. 45 19
      docs/Makefile
  2. 3 59
      docs/crt.tex
  3. 85 73
      docs/fpc-html.tex
  4. 49 49
      docs/fpc.sty
  5. 41 15
      docs/internal.tex
  6. 0 0
      docs/old/a4.sty
  7. 13 0
      docs/old/fpc.perl
  8. 0 0
      docs/old/fpcman.sty
  9. 0 0
      docs/old/html.sty
  10. 0 0
      docs/old/lstdelphi.sty
  11. 0 0
      docs/old/lstfpc.sty
  12. 0 0
      docs/old/lsttp.sty
  13. 189 183
      docs/prog.tex
  14. 219 212
      docs/ref.tex
  15. 23 12
      docs/units.tex
  16. 172 162
      docs/user.tex

+ 45 - 19
docs/Makefile

@@ -17,9 +17,12 @@
 # Configurable section
 # Configurable section
 #####################################################################
 #####################################################################
 
 
+# Which docs are made when 'html' is specified
+HTML = user units ref prog
+
 # Where do you want the html files to be put ?
 # Where do you want the html files to be put ?
 ifndef DOCINSTALLDIR
 ifndef DOCINSTALLDIR
-DOCINSTALLDIR=/usr/doc/fpc-0.99.11
+DOCINSTALLDIR=/usr/doc/fpc-0.99.12
 endif 
 endif 
 
 
 #
 #
@@ -78,8 +81,6 @@ export TMP=/tmp
 # End of configurable section. Do not edit after this line.
 # End of configurable section. Do not edit after this line.
 #######################################################################
 #######################################################################
 
 
-HTML = user units ref prog
-
 PS = $(addsuffix .ps, $(HTML))
 PS = $(addsuffix .ps, $(HTML))
 DVI = $(addsuffix .dvi, $(HTML))
 DVI = $(addsuffix .dvi, $(HTML))
 TXT = $(addsuffix .txt, $(HTML))
 TXT = $(addsuffix .txt, $(HTML))
@@ -210,9 +211,13 @@ prog.dvi: prog.tex date.inc
 
 
 user.dvi: user.tex date.inc
 user.dvi: user.tex date.inc
 
 
-units.pdf: units.tex $(CHAPTERS)
+units.pdf: units.tex date.inc $(CHAPTERS)
 
 
-ref.pdf: ref.tex
+ref.pdf: ref.tex date.inc
+
+user.pdf: user.tex date.inc
+
+prog.pdf: prog.tex date.inc
 
 
 dvi : $(DVI)
 dvi : $(DVI)
 
 
@@ -224,15 +229,19 @@ pdf : $(PDF)
 
 
 all : dvi ps pdf txt html
 all : dvi ps pdf txt html
 
 
+#####################################################################
+# Html creation
+#####################################################################
+
 user: user.chk
 user: user.chk
 
 
 user.chk: user.tex date.inc
 user.chk: user.tex date.inc
 	$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 2 -link 2\
 	$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 2 -link 2\
          -t "User's guide for Free Pascal" user.tex
          -t "User's guide for Free Pascal" user.tex
-	sed -f foot.sed <user/footnode.html >user/footnote.html
-	mv user/footnote.html user/footnode.html
-	rm -f user/labels.pl user/internals.pl user/.*.pag user/.*.dir
-	rm -f user/images.* user/*.log
+	-sed -f foot.sed <user/footnode.html >user/footnote.html
+	-mv user/footnote.html user/footnode.html
+	-rm -f user/labels.pl user/internals.pl user/.*.pag user/.*.dir
+	-rm -f user/images.* user/*.log user/WARNINGS
 	touch user.chk
 	touch user.chk
 
 
 units: units.chk
 units: units.chk
@@ -240,9 +249,10 @@ units: units.chk
 units.chk: units.tex unitex.chk date.inc
 units.chk: units.tex unitex.chk date.inc
 	$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 3 -link 2\
 	$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 3 -link 2\
         -t "Unit reference for Free Pascal" units.tex
         -t "Unit reference for Free Pascal" units.tex
-	sed -f foot.sed <units/footnode.html >units/footnote.html
-	mv units/footnote.html units/footnode.html
-	rm -f units/labels.pl units/internals.pl units/.*.pag units/.*.dir
+	-sed -f foot.sed <units/footnode.html >units/footnote.html
+	-mv units/footnote.html units/footnode.html
+	-rm -f units/labels.pl units/internals.pl units/.*.pag units/.*.dir
+	-rm -f units/images.* units/*.log units/WARNINGS
 	touch units.chk
 	touch units.chk
 
 
 ref: ref.chk
 ref: ref.chk
@@ -250,9 +260,10 @@ ref: ref.chk
 ref.chk: refex.chk ref.tex date.inc
 ref.chk: refex.chk ref.tex date.inc
 	$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 4 -link 2\
 	$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 4 -link 2\
         -t "Free Pascal reference guide" ref.tex
         -t "Free Pascal reference guide" ref.tex
-	sed -f foot.sed <ref/footnode.html >ref/footnote.html
-	mv ref/footnote.html ref/footnode.html
-	rm -f ref/labels.pl ref/internals.pl ref/.*.pag ref/.*.dir
+	-sed -f foot.sed <ref/footnode.html >ref/footnote.html
+	-mv ref/footnote.html ref/footnode.html
+	-rm -f ref/labels.pl ref/internals.pl ref/.*.pag ref/.*.dir
+	-rm -f ref/images.* ref/*.log ref/WARNINGS
 	touch ref.chk	
 	touch ref.chk	
 
 
 prog: prog.chk
 prog: prog.chk
@@ -260,11 +271,23 @@ prog: prog.chk
 prog.chk: prog.tex date.inc
 prog.chk: prog.tex date.inc
 	$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 2 -link 2\
 	$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 2 -link 2\
         -t "Free Pascal programmers guide" prog.tex
         -t "Free Pascal programmers guide" prog.tex
-	sed -f foot.sed <prog/footnode.html >prog/footnote.html
-	mv prog/footnote.html prog/footnode.html
-	rm -f prog/labels.pl prog/internals.pl prog/.*.pag prog/.*.dir
+	-sed -f foot.sed <prog/footnode.html >prog/footnote.html
+	-mv prog/footnote.html prog/footnode.html
+	-rm -f prog/labels.pl prog/internals.pl prog/.*.pag prog/.*.dir
+	-rm -f prog/images.* prog/*.log prog/WARNINGS
 	touch prog.chk
 	touch prog.chk
 
 
+internal: internal.chk
+
+internal.chk: internal.tex date.inc
+	$(LATEX2HTML) $(LATEX2HTMLOPTS) -split 4 -link 2\
+        -t "Free Pascal Compiler Documentation" internal.tex
+	-sed -f foot.sed <internal/footnode.html >internal/footnote.html
+	-mv internal/footnote.html internal/footnode.html
+	-rm -f internal/labels.pl internal/internals.pl internal/.*.pag internal/.*.dir
+	-rm -f internal/images.* internal/*.log internal/WARNINGS
+	touch internal.chk	
+
 html: $(HTML)
 html: $(HTML)
 
 
 #####################################################################
 #####################################################################
@@ -342,7 +365,10 @@ linuxexamples: examples
 
 
 #
 #
 # $Log$
 # $Log$
-# Revision 1.23  1999-06-02 17:41:33  peter
+# Revision 1.24  1999-06-03 00:06:42  peter
+#   * html creation works again
+#
+# Revision 1.23  1999/06/02 17:41:33  peter
 #   * fixes for html creation
 #   * fixes for html creation
 #
 #
 # Revision 1.22  1999/05/31 16:37:08  peter
 # Revision 1.22  1999/05/31 16:37:08  peter

+ 3 - 59
docs/crt.tex

@@ -24,9 +24,9 @@ This chapter describes the \var{CRT} unit for Free Pascal, both under \dos
 and \linux. The unit was first written for \dos by Florian kl\"ampfl. 
 and \linux. The unit was first written for \dos by Florian kl\"ampfl. 
 The unit was ported to \linux by Mark May\footnote{Current
 The unit was ported to \linux by Mark May\footnote{Current
 e-mail address \textsf{[email protected]}}, and enhanced by Micha\"el Van Canneyt
 e-mail address \textsf{[email protected]}}, and enhanced by Micha\"el Van Canneyt
-It works on the \linux console, and in xterm and rxvt windows under
-X-Windows. The functionality for both is the same, except that under \linux
-the use of an early implementation (versions 0.9.1 an earlier of the
+and Peter Vreman. It works on the \linux console, and in xterm and rxvt windows
+under X-Windows. The functionality for both is the same, except that under
+\linux the use of an early implementation (versions 0.9.1 an earlier of the
 compiler) the crt unit automatically cleared the screen at program startup.
 compiler) the crt unit automatically cleared the screen at program startup.
 This chapter is divided in two sections. 
 This chapter is divided in two sections. 
 \begin{itemize}
 \begin{itemize}
@@ -446,59 +446,3 @@ None.
 \end{procedure}
 \end{procedure}
 \latex{\inputlisting{crtex/ex5.pp}}
 \latex{\inputlisting{crtex/ex5.pp}}
 \html{\input{crtex/ex5.tex}}
 \html{\input{crtex/ex5.tex}}
-\begin{procedure}{ScrollWindow}
-\Declaration
-Procedure ScrollWindow (X1,Y1,X2,Y2 : Byte; Count : Longint);
-
-\Description
- ScrollWindow scrolls the contents of the window defined by the upper-left
-%\var{(X1,Y1)} and lower-right \var{(X2,Y2)} corners \var{count} lines up if
-%\var{count} is positive, it scrolls down if \var{count} is negative.
-%The new lines are made blank using the current textcolors.
-%
-\Errors
-None.
-\SeeAlso
-\seep{Window}, \seep{ClrScr}
-\end{procedure}
-\begin{function}{SaveScreenRegion}
-\Declaration
-Function SaveScreenRegion (X1,Y1,X2,Y2, var P : pointer) : Boolean;
-
-\Description
-SaveScreenRegion writes the the contents of the window defined by the upper-left
-%\var{(X1,Y1)} and lower-right \var{(X2,Y2)} corners to the location pointed
-%to by \var{P}. If \var{P} is \var{nil} then enough memory is allocated to
-%contain the contents of the window.
-%
-%The contents are written as follows : line per line, column per column,
-%first the character on screen is written (1 byte), followed by the text 
-%attribute (1 byte). The size required is therefore 
-%\var{(Y2-Y1+1)*(X2-X1+1)*2} bytes.
-%
-%The function returns \var{False} if it couldn't allocate the required
-%memory, \var{True} if the memory was allocated.
-\Errors
-None.
-\SeeAlso
-\seep{RestoreScreenRegion}, \seep{Window} 
-\end{function}
-\begin{procedure}{RestoreScreenRegion}
-\Declaration
-Procedure RestoreScreenRegion (X1,Y1,X2,Y2, var P : pointer);
-
-\Description
-SaveScreenRegion writes the the contents of the memory location pointed to
-%by \var{P}, to the window defined by the upper-left \var{(X1,Y1)} and 
-%lower-right \var{(X2,Y2)} corners. 
-%
-%The contents of \var{P} should be arranged as if they are when written by 
-%a call to the SaveScreenRegion () function.
-%
-%The memory pointed to by \var{P} is NOT freed.
-\Errors
-None
-\SeeAlso
-\seef{SaveScreenRegion}, \seep{Window} 
-\end{procedure}
-

+ 85 - 73
docs/fpc-html.tex

@@ -16,106 +16,118 @@
 %   You should have received a copy of the GNU Library General Public
 %   You should have received a copy of the GNU Library General Public
 %   License along with the FPC documentation; see the file COPYING.LIB.  If not,
 %   License along with the FPC documentation; see the file COPYING.LIB.  If not,
 %   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 %   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-%   Boston, MA 02111-1307, USA. 
+%   Boston, MA 02111-1307, USA.
+
+\usepackage{ifthen}
+
 %
 %
-% Dummy
-\newenvironment{FPCList}{\begin{description}}{\end{description}}
+% Html navigation search button
 %
 %
+\htmladdtonavigation{\htmladdnormallink{\htmladdimg{../buttons/search.gif}}{javascript:opensearch()}}
+
 %
 %
-\newcommand{\Declaration}{\item[Declaration]\ttfamily}
-\newcommand{\Description}{\item[Description]\rmfamily}
-\newcommand{\Errors}{\item[Errors]\rmfamily}
-\newcommand{\SeeAlso}{\item[See also]\rmfamily}
+% FPC environments
+%
+% List
+\newenvironment{FPCList}{\begin{htmllist}}{\end{htmllist}}
+% For Tables.
+\newenvironment{FPCtable}[2]{\begin{table}\caption{#2}\begin{center}\begin{tabular}{#1}}{\end{tabular}\end{center}\end{table}}
+% The same, but with label in third argument (tab:#3)
+\newenvironment{FPCltable}[3]{\begin{table}\caption{#2}\label{tab:#3}\begin{center}\begin{tabular}{#1}}{\end{tabular}\end{center}\end{table}}
+
+%
+% Html Refs
+%
+\newcommand{\seefl}[2]{\htmlref{#1}{fu:#2}}
+\newcommand{\seepl}[2]{\htmlref{#1}{pro:#2}}
+\newcommand{\seetyl}[1]{\htmlref{#1}{sec:types}}
+\newcommand{\seec}[1]{chapter \htmlref{#1}{ch:#1}}
+\newcommand{\sees}[1]{section \htmlref{#1}{se:#1}}
+\newcommand{\seeo}[1]{See \htmlref{#1}{option:#1}}
+\newcommand{\seet}[1]{table (\htmlref{#1}{tab:#1}) }
+
 %
 %
-%  The environments
+% Function/procedure environments
 %
 %
 \newenvironment{functionl}[2]{\subsection{#1}\index{#1}\label{fu:#2}\begin{FPCList}}{\end{FPCList}}
 \newenvironment{functionl}[2]{\subsection{#1}\index{#1}\label{fu:#2}\begin{FPCList}}{\end{FPCList}}
 \newenvironment{procedurel}[2]{\subsection{#1}\index{#1}\label{pro:#2}\begin{FPCList}}{\end{FPCList}}
 \newenvironment{procedurel}[2]{\subsection{#1}\index{#1}\label{pro:#2}\begin{FPCList}}{\end{FPCList}}
 \newenvironment{function}[1]{\begin{functionl}{#1}{#1}}{\end{functionl}}
 \newenvironment{function}[1]{\begin{functionl}{#1}{#1}}{\end{functionl}}
 \newenvironment{procedure}[1]{\begin{procedurel}{#1}{#1}}{\end{procedurel}}
 \newenvironment{procedure}[1]{\begin{procedurel}{#1}{#1}}{\end{procedurel}}
-\newcommand{\seefl}[2]{\htmlref{#1}{fu:#2}}
-\newcommand{\seepl}[2]{\htmlref{#1}{pro:#2}}
+\newenvironment{typel}[2]{\subsection{#1}\index{#1}\label{ty:#2}\begin{FPCList}}{\end{FPCList}}
+\newenvironment{type}[1]{\begin{typel}{#1}{#1}}{\end{typel}}
+\newcommand{\Declaration}{\item[Declaration]\ttfamily}
+\newcommand{\Description}{\item[Description]\rmfamily}
+\newcommand{\Errors}{\item[Errors]\rmfamily}
+\newcommand{\SeeAlso}{\item[See also]\rmfamily}
 %
 %
-% Now the ones without label.
+% Ref without labels
 %
 %
 \newcommand{\seef}[1]{\seefl{#1}{#1}}
 \newcommand{\seef}[1]{\seefl{#1}{#1}}
 \newcommand{\seep}[1]{\seepl{#1}{#1}}
 \newcommand{\seep}[1]{\seepl{#1}{#1}}
+\newcommand{\seety}[1]{\seetyl{#1}{#1}}
+%
+% man page references don't need labels.
+%
+\newcommand{\seem}[2]{\texttt{#1} (#2) }
+%
+% for easy typesetting of variables.
 %
 %
-\newcommand{\seet}[1]{\htmlref{#1}{sec:types}}
-\newcommand{\seem}[2]{ \texttt{#1} (#2) }
 \newcommand{\var}[1]{\texttt {#1}}
 \newcommand{\var}[1]{\texttt {#1}}
 \newcommand{\file}[1]{\textsf {#1}}
 \newcommand{\file}[1]{\textsf {#1}}
 %
 %
-% Abbreviations
-%
-\newcommand{\linux}{\textsc{LinuX} }
-\newcommand{\dos}  {\textsc{dos} }
-\newcommand{\msdos}{\textsc{ms-dos} }
-\newcommand{\ostwo}{\textsc{os/2} }
-\newcommand{\windowsnt}{\textsc{Windows NT} }
-\newcommand{\windows}{\textsc{Windows} }
-\newcommand{\docdescription}[1]{}
-\newcommand{\docversion}[1]{}
-\newcommand{\unitdescription}[1]{}
-\newcommand{\unitversion}[1]{}
-\newcommand{\fpc}{Free Pascal }
-\newcommand{\gnu}{gnu }
-\newcommand{\atari}{\textsc{Atari} }
-\newcommand{\amiga}{\textsc{Amiga} }
-\newcommand{\win}{\textsc{Win32} }
-\newcommand{\freebsd}{\textsc{FreeBSD} }
-%
 % Useful references.
 % Useful references.
 %
 %
-\newcommand{\progref}{\htmladdnormallink{Programmer's guide}{../prog/prog.html}\ }
-\newcommand{\refref}{\htmladdnormallink{Reference guide}{../ref/ref.html}\ }
-\newcommand{\userref}{\htmladdnormallink{Users' guide}{../user/user.html}\ }
-\newcommand{\unitsref}{\htmladdnormallink{Unit reference}{../units/units.html}\ }
-\newcommand{\seecrt}{\htmladdnormallink{CRT}{../crt/crt.html}}
-\newcommand{\seelinux}{\htmladdnormallink{Linux}{../linux/linux.html}}
-\newcommand{\seestrings}{\htmladdnormallink{strings}{../strings/strings.html}}
-\newcommand{\seedos}{\htmladdnormallink{DOS}{../dos/dos.html}}
-\newcommand{\seegetopts}{\htmladdnormallink{getopts}{../getopts/getopts.html}}
-\newcommand{\seeobjects}{\htmladdnormallink{objects}{../objects/objects.html}}
-\newcommand{\seegraph}{\htmladdnormallink{graph}{../graph/graph.html}}
-\newcommand{\seeprinter}{\htmladdnormallink{printer}{../printer/printer.html}}
-\newcommand{\seego}{\htmladdnormallink{GO32}{../go32/go32.html}}
-%
-% Nice environments
-%
-% For Code examples (complete programs only)
-\newenvironment{CodEx}{}{}
-% For Tables.
-\newenvironment{FPCtable}[2]{\begin{table}\caption{#2}\begin{center}\begin{tabular}{#1}}{\end{tabular}\end{center}\end{table}}
-% The same, but with label in third argument (tab:#3)
-\newenvironment{FPCltable}[3]{\begin{table}\caption{#2}\label{tab:#3}\begin{center}\begin{tabular}{#1}}{\end{tabular}\end{center}\end{table}}
-% Listings
-\newenvironment{listing}{\begin{verbatim}}{\end{verbatim}}
+\newcommand{\progref}{\htmladdnormallink{Programmers' guide}{../prog/prog.html}\xspace}
+\newcommand{\refref}{\htmladdnormallink{Reference guide}{../ref/ref.html}\xspace}
+\newcommand{\userref}{\htmladdnormallink{Users' guide}{../user/user.html}\xspace}
+\newcommand{\unitsref}{\htmladdnormallink{Unit reference}{../units/units.html}\xspace}
+\newcommand{\seecrt}{\htmladdnormallink{CRT}{../crt/crt.html}\xspace}
+\newcommand{\seelinux}{\htmladdnormallink{Linux}{../linux/linux.html}\xspace}
+\newcommand{\seestrings}{\htmladdnormallink{strings}{../strings/strings.html}\xspace}
+\newcommand{\seedos}{\htmladdnormallink{DOS}{../dos/dos.html}\xspace}
+\newcommand{\seegetopts}{\htmladdnormallink{getopts}{../getopts/getopts.html}\xspace}
+\newcommand{\seeobjects}{\htmladdnormallink{objects}{../objects/objects.html}\xspace}
+\newcommand{\seegraph}{\htmladdnormallink{graph}{../graph/graph.html}\xspace}
+\newcommand{\seeprinter}{\htmladdnormallink{printer}{../printer/printer.html}\xspace}
+\newcommand{\seego}{\htmladdnormallink{GO32}{../go32/go32.html}\xspace}
 %
 %
 % Commands to reference these things.
 % Commands to reference these things.
 %
 %
-%\newcommand{\seet}[1]{table (\ref{tab:#1}) }
-%\newcommand{\seec}[1]{chapter (\ref{ch:#1}) }
-%\newcommand{\sees}[1]{section (\ref{se:#1}) }
-\htmladdtonavigation{%
-\htmladdnormallink{\htmladdimg{../buttons/search.gif}}{javascript:opensearch()}%
-}
+\newcommand{\remark}[1]{\par$\rightarrow$\textbf{#1}\par}
+\newcommand{\olabel}[1]{\label{option:#1}}
+%
+% some OSes
 %
 %
-% Some versions 
+\newcommand{\linux}{\textsc{linux}\xspace}
+\newcommand{\dos}  {\textsc{dos}\xspace}
+\newcommand{\msdos}{\textsc{ms-dos}\xspace}
+\newcommand{\ostwo}{\textsc{os/2}\xspace}
+\newcommand{\windows}{\textsc{Windows}\xspace}
+\newcommand{\windowsnt}{\textsc{Windows NT}\xspace}
+\newcommand{\fpc}{Free Pascal\xspace}
+\newcommand{\gnu}{\textsc{gnu}\xspace}
+\newcommand{\atari}{\textsc{Atari}\xspace}
+\newcommand{\amiga}{\textsc{Amiga}\xspace}
+\newcommand{\win}{\textsc{Win32}\xspace}
+\newcommand{\freebsd}{\textsc{FreeBSD}\xspace}
+%
+% Some versions
 %
 %
 \newcommand{\fpcversion}{0.99.12}
 \newcommand{\fpcversion}{0.99.12}
+
 %
 %
 % PDF support
 % PDF support
 %
 %
-\latex{
-\usepackage{ifthen}
-\newif\ifpdf
-\ifx\pdfoutput\undefined
-   \pdffalse
-\else
-   \pdfoutput=1
-   \pdftrue
-\fi
+\latex{%
+  \newif\ifpdf
+  \ifx\pdfoutput\undefined
+     \pdffalse
+  \else
+     \pdfoutput=1
+     \pdftrue
+  \fi
 }
 }
+
 %
 %
-% end of fpc.sty
+% end of fpc-html.tex
+%

+ 49 - 49
docs/fpc.sty

@@ -16,14 +16,15 @@
 %   You should have received a copy of the GNU Library General Public
 %   You should have received a copy of the GNU Library General Public
 %   License along with the FPC documentation; see the file COPYING.LIB.  If not,
 %   License along with the FPC documentation; see the file COPYING.LIB.  If not,
 %   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 %   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-%   Boston, MA 02111-1307, USA. 
+%   Boston, MA 02111-1307, USA.
 %
 %
 \ProvidesPackage{fpc}[1996/12/09]
 \ProvidesPackage{fpc}[1996/12/09]
 \NeedsTeXFormat{LaTeX2e}
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{xspace}
 \RequirePackage{xspace}
+\RequirePackage{ifthen}
 \ExecuteOptions{titlepage}
 \ExecuteOptions{titlepage}
 % Some style elements
 % Some style elements
-\parindent 0pt%  
+\parindent 0pt%
 \parskip 0.35\baselineskip%
 \parskip 0.35\baselineskip%
 % First, all definitions for latex only.
 % First, all definitions for latex only.
 \newcommand{\docdescription}[1]{\def\@FPCDescription{#1}}
 \newcommand{\docdescription}[1]{\def\@FPCDescription{#1}}
@@ -58,7 +59,7 @@
   % end of \maketitle
   % end of \maketitle
 % For the \procedure and \function commands, we don't want heading numbers.
 % For the \procedure and \function commands, we don't want heading numbers.
 \setcounter{secnumdepth}{1}
 \setcounter{secnumdepth}{1}
-% redefine the subsection command to leave less space, 
+% redefine the subsection command to leave less space,
 %and to use sans serif
 %and to use sans serif
 \renewcommand\subsection{\@startsection%
 \renewcommand\subsection{\@startsection%
 {subsection}%
 {subsection}%
@@ -71,44 +72,50 @@
 \newcommand{\FPClabel}[1]{%
 \newcommand{\FPClabel}[1]{%
 \raggedleft\makebox[0pt][r]{\textsf{#1:}}
 \raggedleft\makebox[0pt][r]{\textsf{#1:}}
 }
 }
+
+%
+% FPC environments
+%
+% Lists
 \newenvironment{FPCList}
 \newenvironment{FPCList}
 {\begin{list}{}{%
 {\begin{list}{}{%
-\renewcommand{\makelabel}[1]{\FPClabel{##1}\hfil\relax}
- \setlength{\labelwidth}{0pt}%
- \setlength{\leftmargin}{0pt}}%
- \setlength{\labelsep}{0pt}%
+  \renewcommand{\makelabel}[1]{\FPClabel{##1}\hfil\relax}
+  \setlength{\labelwidth}{0pt}%
+  \setlength{\leftmargin}{0pt}}%
+  \setlength{\labelsep}{0pt}%
 }
 }
 {\end{list}}
 {\end{list}}
+% For Tables.
+\newenvironment{FPCtable}[2]{\begin{table}\caption{#2}\begin{center}\begin{tabular}{#1}}{\end{tabular}\end{center}\end{table}}
+% The same, but with label in third argument (tab:#3)
+\newenvironment{FPCltable}[3]{\begin{table}\caption{#2}\label{tab:#3}\begin{center}\begin{tabular}{#1}}{\end{tabular}\end{center}\end{table}}
+
 %
 %
+% Refs
 %
 %
-\newcommand{\Declaration}{\item[Declaration]\ttfamily}
-\newcommand{\Description}{\item[Description]\rmfamily}
-\newcommand{\Errors}{\item[Errors]\rmfamily}
-\newcommand{\SeeAlso}{\item[See also]\rmfamily}
+\newcommand{\seefl}[2]{\textsf{#1} (\pageref{fu:#2})}
+\newcommand{\seepl}[2]{\textsf{#1} (\pageref{pro:#2})}
+\newcommand{\seetyl}[2]{\textsf{#1} (\pageref{ty:#2})}
+\newcommand{\seec}[1]{chapter \ref{ch:#1}, page \pageref{ch:#1}\xspace}
+\newcommand{\sees}[1]{section \ref{se:#1}, page \pageref{se:#1}\xspace}
+\newcommand{\seeo}[1]{See \ref{option:#1}}
+\newcommand{\seet}[1]{table (\ref{tab:#1}) }
+
 %
 %
-%  The environments
+% Function/procedure environments
 %
 %
-\newenvironment{functionl}[2]{\subsection{#1}%
-\index{#1}\label{fu:#2}\begin{FPCList}}{\end{FPCList}}
-\newenvironment{procedurel}[2]{\subsection{#1}%
-\index{#1}\label{pro:#2}\begin{FPCList}}{\end{FPCList}}
+\newenvironment{functionl}[2]{\subsection{#1}\index{#1}\label{fu:#2}\begin{FPCList}}{\end{FPCList}}
+\newenvironment{procedurel}[2]{\subsection{#1}\index{#1}\label{pro:#2}\begin{FPCList}}{\end{FPCList}}
 \newenvironment{function}[1]{\begin{functionl}{#1}{#1}}{\end{functionl}}
 \newenvironment{function}[1]{\begin{functionl}{#1}{#1}}{\end{functionl}}
 \newenvironment{procedure}[1]{\begin{procedurel}{#1}{#1}}{\end{procedurel}}
 \newenvironment{procedure}[1]{\begin{procedurel}{#1}{#1}}{\end{procedurel}}
-\newenvironment{typel}[2]{\subsection{#1}%
-\index{#1}\label{ty:#2}\begin{FPCList}}{\end{FPCList}}
+\newenvironment{typel}[2]{\subsection{#1}\index{#1}\label{ty:#2}\begin{FPCList}}{\end{FPCList}}
 \newenvironment{type}[1]{\begin{typel}{#1}{#1}}{\end{typel}}
 \newenvironment{type}[1]{\begin{typel}{#1}{#1}}{\end{typel}}
-% Now the referencing commands.
-%
-% First, the ones with alternate label (second argument}
-%
-\newcommand{\seefl}[2]{
-\textsf{#1} (\pageref{fu:#2})}
-\newcommand{\seepl}[2]{
-\textsf{#1} (\pageref{pro:#2})}
-\newcommand{\seetyl}[2]{
-\textsf{#1} (\pageref{ty:#2})}
+\newcommand{\Declaration}{\item[Declaration]\ttfamily}
+\newcommand{\Description}{\item[Description]\rmfamily}
+\newcommand{\Errors}{\item[Errors]\rmfamily}
+\newcommand{\SeeAlso}{\item[See also]\rmfamily}
 %
 %
-% Now the ones with label.
+% Ref without labels
 %
 %
 \newcommand{\seef}[1]{\seefl{#1}{#1}}
 \newcommand{\seef}[1]{\seefl{#1}{#1}}
 \newcommand{\seep}[1]{\seepl{#1}{#1}}
 \newcommand{\seep}[1]{\seepl{#1}{#1}}
@@ -138,21 +145,11 @@
 \newcommand{\seegraph}{\htmladdnormallink{graph}{../graph/graph.html}\xspace}
 \newcommand{\seegraph}{\htmladdnormallink{graph}{../graph/graph.html}\xspace}
 \newcommand{\seeprinter}{\htmladdnormallink{printer}{../printer/printer.html}\xspace}
 \newcommand{\seeprinter}{\htmladdnormallink{printer}{../printer/printer.html}\xspace}
 \newcommand{\seego}{\htmladdnormallink{GO32}{../go32/go32.html}\xspace}
 \newcommand{\seego}{\htmladdnormallink{GO32}{../go32/go32.html}\xspace}
-\newcommand{\seec}[1]{chapter \ref{ch:#1}, page \pageref{ch:#1}\xspace}
-\newcommand{\sees}[1]{section \ref{se:#1}, page \pageref{se:#1}\xspace}
-%
-% Nice environments
-%
-% For Code examples (complete programs only)
-\newenvironment{CodEx}{\begin{quote}}{\end{quote}}
-% For Tables.
-\newenvironment{FPCtable}[2]{\begin{table}\caption{#2}\begin{center}\begin{tabular}{#1}}{\end{tabular}\end{center}\end{table}}
-% The same, but with label in third argument (tab:#3)
-\newenvironment{FPCltable}[3]{\begin{table}\caption{#2}\label{tab:#3}\begin{center}\begin{tabular}{#1}}{\end{tabular}\end{center}\end{table}}
 %
 %
 % Commands to reference these things.
 % Commands to reference these things.
 %
 %
-\newcommand{\seet}[1]{table (\ref{tab:#1}) }
+\newcommand{\remark}[1]{\par$\rightarrow$\textbf{#1}\par}
+\newcommand{\olabel}[1]{\label{option:#1}}
 %
 %
 % some OSes
 % some OSes
 %
 %
@@ -169,18 +166,21 @@
 \newcommand{\win}{\textsc{Win32}\xspace}
 \newcommand{\win}{\textsc{Win32}\xspace}
 \newcommand{\freebsd}{\textsc{FreeBSD}\xspace}
 \newcommand{\freebsd}{\textsc{FreeBSD}\xspace}
 %
 %
-% Some versions 
+% Some versions
 %
 %
 \newcommand{\fpcversion}{0.99.12}
 \newcommand{\fpcversion}{0.99.12}
+
 %
 %
 % PDF support
 % PDF support
 %
 %
-\newif\ifpdf
-\ifx\pdfoutput\undefined
-   \pdffalse
-\else
-   \pdfoutput=1
-   \pdftrue
-\fi
+\latex{%
+  \newif\ifpdf
+  \ifx\pdfoutput\undefined
+     \pdffalse
+  \else
+     \pdfoutput=1
+     \pdftrue
+  \fi
+}
 %
 %
 % end of fpc.sty
 % end of fpc.sty

+ 41 - 15
docs/internal.tex

@@ -16,28 +16,54 @@
 %   You should have received a copy of the GNU Library General Public
 %   You should have received a copy of the GNU Library General Public
 %   License along with the FPC documentation; see the file COPYING.LIB.  If not,
 %   License along with the FPC documentation; see the file COPYING.LIB.  If not,
 %   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 %   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-%   Boston, MA 02111-1307, USA. 
+%   Boston, MA 02111-1307, USA.
 %
 %
 \documentclass{report}
 \documentclass{report}
-\usepackage{a4}
+%
+% Preamble
+%
+\usepackage{ifthen}
+\usepackage{xspace}
+\usepackage{a4dutch}
+\usepackage{makeidx}
 \usepackage{html}
 \usepackage{html}
-\makeindex
-\latex{\usepackage{multicol}}
-\latex{\usepackage{fpcman}}
-\latex{\usepackage{epsfig}}
+\usepackage{htmllist}
+\usepackage{fancyheadings}
+\usepackage{epsfig}
+\usepackage{multicol}
+\usepackage{fpc}
+\latex{%
+  \ifpdf
+  \usepackage[pdftex,bookmarks=true]{hyperref}
+  \pdfcompresslevel=9
+  \pdfpagewidth=210mm
+  \pdfpageheight=297mm
+  \pdfinfo{/Author(Michael Van Canneyt)
+           /Title(Compiler documentation)
+           /Subject(Free Pascal Compiler documentation)
+           /Keywords(Free Pascal, Compiler, Internals)
+           }
+  \fi
+}
+%
 \html{\input{fpc-html.tex}}
 \html{\input{fpc-html.tex}}
-\newcommand{\remark}[1]{\par$\rightarrow$\textbf{#1}\par}
-\newcommand{\olabel}[1]{\label{option:#1}}
-% We should change this to something better. See \seef etc.
-\newcommand{\seeo}[1]{See \ref{option:#1}}
+%
+% Settings
+%
+\pagestyle{fancy}
+\makeindex
+%
+% Start of document.
+%
 \begin{document}
 \begin{document}
 \title{Free Pascal :\\ Compiler documentation}
 \title{Free Pascal :\\ Compiler documentation}
 \docdescription{Compiler documentation for \fpc, version \fpcversion}
 \docdescription{Compiler documentation for \fpc, version \fpcversion}
 \docversion{1.0}
 \docversion{1.0}
-\date{September 1998}
+\input{date.inc}
 \author{Micha\"el Van Canneyt\\Florian Kl\"ampfl}
 \author{Micha\"el Van Canneyt\\Florian Kl\"ampfl}
 \maketitle
 \maketitle
 \tableofcontents
 \tableofcontents
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Introduction
 % Introduction
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -128,7 +154,7 @@ for big symbol tables some hash technics are used. The implementation
 can be found in symtable.pas, object tsymtable.
 can be found in symtable.pas, object tsymtable.
 
 
 The symbol table module can't be associated with a stage of the compiler,
 The symbol table module can't be associated with a stage of the compiler,
-each stage accesses it. 
+each stage accesses it.
 The scanner uses a symbol table to handle preprocessor symbols, the
 The scanner uses a symbol table to handle preprocessor symbols, the
 parser inserts declaration and the code generator uses the collected
 parser inserts declaration and the code generator uses the collected
 information about symbols and types to generate the code.
 information about symbols and types to generate the code.
@@ -140,7 +166,7 @@ information about symbols and types to generate the code.
 Definitions are one of the most important data structures in \fpc.
 Definitions are one of the most important data structures in \fpc.
 They are used to describe types, for example the type of a variable
 They are used to describe types, for example the type of a variable
 symbol is given by a definition and the result type
 symbol is given by a definition and the result type
-of a expression is given as a definition. 
+of a expression is given as a definition.
 They have nothing to do with the definition of a procedure.
 They have nothing to do with the definition of a procedure.
 Definitions are implemented as an object (in file \file{symtable.pas},
 Definitions are implemented as an object (in file \file{symtable.pas},
 \var{tdef} and its descendents). There are a lot of different
 \var{tdef} and its descendents). There are a lot of different
@@ -213,7 +239,7 @@ The register allocation is very hairy, so it gets
 an own chapter in this manual. Please be careful when changing things
 an own chapter in this manual. Please be careful when changing things
 regarding the register allocation and test such changes intensive.
 regarding the register allocation and test such changes intensive.
 
 
-Future versions will may implement another kind of register allocation 
+Future versions will may implement another kind of register allocation
 to make this part of the compiler more robust, see
 to make this part of the compiler more robust, see
 \ref{se:future_plans}. But the current
 \ref{se:future_plans}. But the current
 system is less or more working and changing it would be a lot of
 system is less or more working and changing it would be a lot of
@@ -391,7 +417,7 @@ procedure test;
      l,i,j,k : longint;
      l,i,j,k : longint;
 
 
   begin
   begin
-     l:=i;  // this forces the compiler to assign as much as       
+     l:=i;  // this forces the compiler to assign as much as
      j:=k;  // possible variables to registers
      j:=k;  // possible variables to registers
      // here you should insert your code
      // here you should insert your code
   end;
   end;

+ 0 - 0
docs/a4.sty → docs/old/a4.sty


+ 13 - 0
docs/fpc.perl → docs/old/fpc.perl

@@ -1,3 +1,4 @@
+#!/usr/bin/perl
 # FPC.PERL script. Accompagnies fpc.sty
 # FPC.PERL script. Accompagnies fpc.sty
 # by Michael Van Canneyt <[email protected]>
 # by Michael Van Canneyt <[email protected]>
 # December 1996
 # December 1996
@@ -21,6 +22,18 @@ local ($result) = '';
  $result ;
  $result ;
 }
 }
 
 
+sub FPCListing{
+local ($name, $decl, $desc, $errors, $seealso) = @_ ;
+local ($result) = '';
+
+ $result  = "<H2>$name</H2>\n<P>\n" ;
+ $result .= "<H3>Declaration:</H3>\n<P>\n<TT>$decl</TT>\n<P>\n" ;
+ $result .= "<H3>Description:</H3>\n<P>\n$desc\n<P>\n" ;
+ $result .= "<H3>Errors:</H3>\n<P>\n$errors\n<P>\n" ;
+ $result .= "<H3>See Also:</H3>\n<P>\n$seealso\n<P>\n" ;
+ $result ;
+}
+
 sub do_cmd_procedure
 sub do_cmd_procedure
 {
 {
  $fpcresult  = "<H2>$_[0]</H2>\n<P>\n" ;
  $fpcresult  = "<H2>$_[0]</H2>\n<P>\n" ;

+ 0 - 0
docs/fpcman.sty → docs/old/fpcman.sty


+ 0 - 0
docs/html.sty → docs/old/html.sty


+ 0 - 0
docs/lstdelphi.sty → docs/old/lstdelphi.sty


+ 0 - 0
docs/lstfpc.sty → docs/old/lstfpc.sty


+ 0 - 0
docs/lsttp.sty → docs/old/lsttp.sty


File diff suppressed because it is too large
+ 189 - 183
docs/prog.tex


File diff suppressed because it is too large
+ 219 - 212
docs/ref.tex


+ 23 - 12
docs/units.tex

@@ -16,19 +16,24 @@
 %   You should have received a copy of the GNU Library General Public
 %   You should have received a copy of the GNU Library General Public
 %   License along with the FPC documentation; see the file COPYING.LIB.  If not,
 %   License along with the FPC documentation; see the file COPYING.LIB.  If not,
 %   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 %   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-%   Boston, MA 02111-1307, USA. 
-%
-\documentclass{report}
+%   Boston, MA 02111-1307, USA.
 %
 %
 % This is just a main file. All units are described in separate files.
 % This is just a main file. All units are described in separate files.
 %
 %
+\documentclass{report}
+%
 % Preamble
 % Preamble
 %
 %
+\usepackage{ifthen}
+\usepackage{xspace}
 \usepackage{a4dutch}
 \usepackage{a4dutch}
 \usepackage{makeidx}
 \usepackage{makeidx}
 \usepackage{html}
 \usepackage{html}
+\usepackage{htmllist}
+\usepackage{syntax}
 \usepackage{fancyheadings}
 \usepackage{fancyheadings}
 \usepackage{fpc}
 \usepackage{fpc}
+\latex{\usepackage{multicol}}
 \latex{%
 \latex{%
   \ifpdf
   \ifpdf
   \usepackage[pdftex,bookmarks=true]{hyperref}
   \usepackage[pdftex,bookmarks=true]{hyperref}
@@ -38,13 +43,22 @@
   \pdfinfo{/Author(Michael Van Canneyt)
   \pdfinfo{/Author(Michael Van Canneyt)
            /Title(Standard units Reference Guide)
            /Title(Standard units Reference Guide)
            /Subject(Free Pascal Standard units reference guide)
            /Subject(Free Pascal Standard units reference guide)
-           /Keywords(Free Pascal, Units,RTL)
-  }
+           /Keywords(Free Pascal, Units, RTL)
+           }
   \fi
   \fi
 }
 }
 %
 %
-% syntax style
+\html{\input{fpc-html.tex}}
+%
+% Settings
+%
+\pagestyle{fancy}
+\makeindex
 %
 %
+% Syntax style
+%
+\usepackage{syntax}
+\input{syntax/diagram.tex}
 \latex{\usepackage{listings}\usepackage{lst017}\usepackage{lstdelphi}%
 \latex{\usepackage{listings}\usepackage{lst017}\usepackage{lstdelphi}%
   \blankstringtrue
   \blankstringtrue
   \selectlisting{delphi}
   \selectlisting{delphi}
@@ -52,12 +66,8 @@
   \keywordstyle{\bfseries}
   \keywordstyle{\bfseries}
   \prelisting{\sffamily\sloppy}
   \prelisting{\sffamily\sloppy}
 }
 }
-\html{\input{fpc-html.tex}}
-\pagestyle{fancy}
-\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
-\makeindex
 %
 %
-% start of document.
+% Start of document.
 %
 %
 \begin{document}
 \begin{document}
 \title{Free Pascal supplied units : \\ Reference guide.}
 \title{Free Pascal supplied units : \\ Reference guide.}
@@ -67,6 +77,7 @@
 \author{Micha\"el Van Canneyt\\ Florian Kl\"ampfl}
 \author{Micha\"el Van Canneyt\\ Florian Kl\"ampfl}
 \maketitle
 \maketitle
 \tableofcontents
 \tableofcontents
+\makeindex
 \newpage
 \newpage
 
 
 \section*{About this guide}
 \section*{About this guide}
@@ -75,7 +86,7 @@ procedures as they are declared in the units that come standard with \fpc.
 
 
 Throughout this document, we will refer to functions, types and variables
 Throughout this document, we will refer to functions, types and variables
 with \var{typewriter} font. Functions and procedures gave their own
 with \var{typewriter} font. Functions and procedures gave their own
-subsections, and for each function or procedure we have the following 
+subsections, and for each function or procedure we have the following
 topics:
 topics:
 \begin{description}
 \begin{description}
 \item [Declaration] The exact declaration of the function.
 \item [Declaration] The exact declaration of the function.

File diff suppressed because it is too large
+ 172 - 162
docs/user.tex


Some files were not shown because too many files changed in this diff