4
***********************************************************************
5
FUNNELWEB MANUAL WEB PAGE
6
=========================
7
Copyright (c) Ross N. Williams 1992,1999. All rights reserved.
9
Permission is granted to redistribute and use this manual in
10
any medium, with or without modification, provided that all
11
notices (including, without limitation, the copyright
12
notice, this permission notice, any record of modification,
13
and all legal notices) are preserved on all copies, that all
14
modifications are clearly marked, and that modified versions
15
are not represented as the original version unless all the
16
modifications since the manual's original release by Ross N.
17
Williams (www.ross.net) consist of translations or other
18
transformations that alter only the manual's form, not its
19
content. THIS MANUAL IS PROVIDED "AS IS" AND WITHOUT ANY
20
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
21
LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND
22
FITNESS FOR A PARTICULAR PURPOSE. TO THE EXTENT PERMITTED BY
23
LAW THERE IS ABSOLUTELY NO WARRANTY.
25
***********************************************************************
29
<TITLE>3.1 Basic Input File Processing</TITLE>
30
<STYLE TYPE="text/css"> <!-- A {text-decoration: none} // --> </STYLE>
32
<BODY BACKGROUND="binary/background.gif"
41
<TD WIDTH="130" VALIGN="top">
42
<IMG SRC="binary/d_clear.gif" ALT="" WIDTH="130" HEIGHT="1"><BR>
47
<A HREF="http://www.ross.net/"
49
onClick="window.open('','rosshome','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
51
<IMG SRC="binary/rossnet_logo.gif"
52
WIDTH="64" HEIGHT="32"
53
BORDER="0" ALT="RossNet"
54
HSPACE="0" VSPACE="1"></A><BR>
57
<A HREF="../index.shtml"
59
onClick="window.open('','funnelweb','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
61
<IMG SRC="binary/linklogo.gif"
62
WIDTH="64" HEIGHT="32"
63
BORDER="0" ALT="FunnelWeb"
64
HSPACE="0" VSPACE="1"></A><BR>
66
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0><TR><TD BGCOLOR="#000000">
67
<A HREF="../tutorial/index.html"
68
TARGET="funnelwebtutorial"
69
onClick="window.open('','funnelwebtutorial','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
70
><FONT COLOR="#FFFFFF"><B>Tutorial</B></FONT></A><BR>
72
<A HREF="../developer/index.html"
73
TARGET="funnelwebdeveloper"
74
onClick="window.open('','funnelwebdeveloper','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
75
><FONT COLOR="#FFFFFF"><B>Developer</B></FONT></A><BR>
77
<A HREF="index.html"><FONT COLOR="#FFFFFF"><B>Reference</B></FONT></A><BR>
78
<A HREF="intro.html"><FONT COLOR="#FFFFFF">1 Introduction</FONT></A><BR>
79
<A HREF="interface.html"><FONT COLOR="#FFFFFF">2 Interface</FONT></A><BR>
80
<A HREF="scanner.html"><FONT COLOR="#FFFFFF">3 Scanner</FONT></A><BR>
81
<A HREF="parser.html"><FONT COLOR="#FFFFFF">4 Parser</FONT></A><BR>
82
<A HREF="analyser.html"><FONT COLOR="#FFFFFF">5 Analyser</FONT></A><BR>
83
<A HREF="tangle.html"><FONT COLOR="#FFFFFF">6 Tangle</FONT></A><BR>
84
<A HREF="weave.html"><FONT COLOR="#FFFFFF">7 Weave</FONT></A><BR>
85
<A HREF="shell.html"><FONT COLOR="#FFFFFF">8 Shell</FONT></A><BR>
86
<A HREF="commands.html"><FONT COLOR="#FFFFFF">9 Commands</FONT></A><BR>
87
<A HREF="glossary.html"><FONT COLOR="#FFFFFF">10 Glossary</FONT></A><BR>
88
<A HREF="references.html"><FONT COLOR="#FFFFFF">11 References</FONT></A><BR>
91
<A HREF="search.html"><FONT COLOR="#FFFFFF"><B>SEARCH</B></FONT></A><BR>
97
<TD WIDTH="360" VALIGN="top">
101
<A HREF="index.html"><IMG SRC="binary/title.gif"
102
WIDTH="316" HEIGHT="24"
103
BORDER="0" ALT="FunnelWeb Reference Manual"
104
HSPACE="0" VSPACE="0"></A>
105
<P><FONT SIZE="5">3.1 Basic Input File Processing</FONT><BR>
108
<P>In order to read in an input file or include file, the
109
scanner calls a submodule called the <STRONG>mapper</STRONG>
110
that reads a file in and creates a contiguous copy of it in
111
memory. The scanner then performs three checks on the file,
112
the first (file termination) of which is performed before
113
scanning commences, and the other two of which take place
114
during scanning before each line is scanned.
116
<P><BLOCKQUOTE><B>File
117
Termination:</B> The first check the
118
scanner makes is whether the file
119
is terminated properly. A file is considered to be properly
120
terminated if it either contains no lines, or if the last
121
line in the file is terminated by an end-of-line marker. If
122
the scanner detects that an input file is not properly
123
terminated, it adds an end-of-line marker itself (to the
124
copy in memory only).</BLOCKQUOTE>
126
<P><BLOCKQUOTE><B>Unprintable Characters:</B> The second check
127
the scanner makes is for
128
unprintable characters (ASCII 0--31 and 127--255 (except for
129
EOL(10))) which it flags as errors and replaces by question
132
<P><BLOCKQUOTE><B>Line Lengths:</B> The third check the scanner
133
makes is input line length. When
134
FunnelWeb starts up, a default maximum input line length of
135
80 is set. This can be changed dynamically during scanning
136
using a <SAMP>@p maximum_input_line_length</SAMP> pragma. If
137
the number of characters on a line (not including the end of
138
line marker) exceeds this limit, FunnelWeb generates an
145
<TD ALIGN="left" VALIGN="bottom"><A HREF="scanner.html"><IMG SRC="binary/fw_up.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Up"></A></TD>
146
<TD ALIGN="center" VALIGN="bottom"><A HREF="scanner.html"><IMG SRC="binary/fw_up.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Up"></A></TD>
147
<TD ALIGN="right" VALIGN="bottom"><A HREF="scanner_special.html"><IMG SRC="binary/fw_right.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Next"></A></TD>
156
<A HREF="mailto:webmaster@ross.net">Webmaster</A>
157
<A HREF="copyright.html">Copyright © Ross N. Williams 1992,1999. All rights reserved.</A><BR>
169
<!-- *********************************************************************** -->
170
<!-- End Of A FunnelWeb Manual Web Page (www.ross.net/funnelweb/) -->
171
<!-- *********************************************************************** -->