~ubuntu-branches/ubuntu/gutsy/funnelweb-doc/gutsy

« back to all changes in this revision

Viewing changes to reference/scanner_basic.html

  • Committer: Bazaar Package Importer
  • Author(s): Yann Dirson
  • Date: 2002-03-28 23:21:07 UTC
  • Revision ID: james.westby@ubuntu.com-20020328232107-3d1jiqv1eqmco3j9
Tags: upstream-3.2d
ImportĀ upstreamĀ versionĀ 3.2d

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
<HTML>
 
3
<!--
 
4
***********************************************************************
 
5
FUNNELWEB MANUAL WEB PAGE
 
6
=========================
 
7
Copyright (c) Ross N. Williams 1992,1999. All rights reserved.
 
8
 
 
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.
 
24
 
 
25
***********************************************************************
 
26
-->
 
27
 
 
28
<HEAD>
 
29
<TITLE>3.1 Basic Input File Processing</TITLE>
 
30
<STYLE TYPE="text/css"> <!-- A {text-decoration: none} // --> </STYLE>
 
31
</HEAD>
 
32
<BODY BACKGROUND="binary/background.gif"
 
33
      BGCOLOR="#FFFFFF"
 
34
      TEXT="#000000"
 
35
      VLINK="#660000"
 
36
      LINK="#FF0000"
 
37
      ALINK="#CC0000">
 
38
 
 
39
<TABLE WIDTH="490">
 
40
<TR>
 
41
<TD WIDTH="130" VALIGN="top">
 
42
<IMG SRC="binary/d_clear.gif" ALT="" WIDTH="130" HEIGHT="1"><BR>
 
43
 
 
44
<FONT SIZE="2">
 
45
<BR>
 
46
 
 
47
<A HREF="http://www.ross.net/"
 
48
 TARGET="rosshome"
 
49
 onClick="window.open('','rosshome','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
 
50
>
 
51
 <IMG SRC="binary/rossnet_logo.gif"
 
52
  WIDTH="64" HEIGHT="32"
 
53
  BORDER="0" ALT="RossNet"
 
54
  HSPACE="0" VSPACE="1"></A><BR>
 
55
<BR>
 
56
 
 
57
<A HREF="../index.shtml"
 
58
 TARGET="funnelweb"
 
59
 onClick="window.open('','funnelweb','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
 
60
>
 
61
 <IMG SRC="binary/linklogo.gif"
 
62
  WIDTH="64" HEIGHT="32"
 
63
  BORDER="0" ALT="FunnelWeb"
 
64
  HSPACE="0" VSPACE="1"></A><BR>
 
65
<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>
 
71
<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>
 
76
<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>
 
89
 
 
90
<BR>
 
91
<A HREF="search.html"><FONT COLOR="#FFFFFF"><B>SEARCH</B></FONT></A><BR>
 
92
</FONT>
 
93
</TD></TR></TABLE>
 
94
 
 
95
 
 
96
</TD>
 
97
<TD WIDTH="360" VALIGN="top">
 
98
<FONT SIZE="3">
 
99
 
 
100
 
 
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>
 
106
 
 
107
 
 
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.
 
115
 
 
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>
 
125
 
 
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
 
130
                                              marks.</BLOCKQUOTE>
 
131
 
 
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
 
139
                                    error.</BLOCKQUOTE>
 
140
 
 
141
 
 
142
<P>
 
143
<TABLE WIDTH="100%">
 
144
<TR>
 
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>
 
148
</TR>
 
149
</TABLE>
 
150
 
 
151
 
 
152
 
 
153
<P>
 
154
<HR>
 
155
<FONT SIZE="2">
 
156
<A HREF="mailto:webmaster@ross.net">Webmaster</A>&nbsp;&nbsp;&nbsp;
 
157
<A HREF="copyright.html">Copyright &copy; Ross N. Williams 1992,1999. All rights reserved.</A><BR>
 
158
</FONT>
 
159
 
 
160
</FONT>
 
161
</TD>
 
162
</TR>
 
163
</TABLE>
 
164
 
 
165
 
 
166
</FONT>
 
167
</BODY>
 
168
 
 
169
<!-- *********************************************************************** -->
 
170
<!--      End Of A FunnelWeb Manual Web Page (www.ross.net/funnelweb/)       -->
 
171
<!-- *********************************************************************** -->
 
172
 
 
173
</HTML>