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

« back to all changes in this revision

Viewing changes to reference/scanner_comments.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.6 Comments</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.6 Comments</FONT><BR>
 
106
 
 
107
 
 
108
 
 
109
<P>When FunnelWeb encounters the <SAMP>@!</SAMP>
 
110
sequence during its left-to-right scan of the line, it
 
111
throws away the rest of the line (including the EOL) without
 
112
analysing it further. Comments can appear in any line except
 
113
"<TT>@i</TT>", "<TT>@t</TT>", and "<TT>@p</TT>" lines.
 
114
 
 
115
<P>FunnelWeb comments can be used to insert comments into
 
116
your input file that will neither appear in the product
 
117
files nor in the documentation file, but will be solely for
 
118
the benefit of those reading and editing the input file
 
119
directly. Example:
 
120
 
 
121
<P><PRE>
 
122
@! I have used a quick macro for this definition
 
123
@! as it will be used often.
 
124
@$@#C@{--@}
 
125
</PRE>
 
126
 
 
127
<P>Because comments are defined to include the end-of-line
 
128
marker, care must be taken when they are being added or
 
129
removed within the text of macro bodies. For example the
 
130
text fragment
 
131
 
 
132
<P>
 
133
<PRE>
 
134
for (i=0;i&lt;MAXVAL;i++) @! Print out a[0..MAXVAL-1].
 
135
   printf("%u\n",a[i]);
 
136
</PRE>
 
137
 
 
138
<P>will expand to
 
139
 
 
140
<P>
 
141
<PRE>
 
142
for (i=0;i&lt;MAXVAL;i++) printf("%u\n",a[i]);
 
143
</PRE>
 
144
 
 
145
<P>This problem really has no solution; if FunnelWeb
 
146
comments were defined to omit the end of line marker, the
 
147
expanded text would contain trailing blanks! As it is,
 
148
FunnelWeb comments are designed to support single line
 
149
comments which can be inserted and removed as a line without
 
150
causing trouble. For example:
 
151
 
 
152
<P>
 
153
<PRE>
 
154
@! Print out a[0..MAXVAL-1].
 
155
for (i=0;i&lt;MAXVAL;i++)
 
156
   printf("%u\n",a[i]);
 
157
</PRE>
 
158
 
 
159
<P>If you want a comment construct that does not enclose
 
160
the end of line marker, combine the insert end of line
 
161
construct <SAMP>@+</SAMP> with the comment construct
 
162
<SAMP>@!</SAMP> as in
 
163
 
 
164
<P>
 
165
<PRE>
 
166
for (i=0;i&lt;MAXVAL;i++)  @+@! Print out a[0..MAXVAL-1].
 
167
   printf("%u\n",a[i]);
 
168
</PRE>
 
169
 
 
170
<P>FunnelWeb comments should really only be used to
 
171
comment the FunnelWeb constructs being used in the input
 
172
file. Comments on the target code are best placed in
 
173
comments in the target language or in the documenting text
 
174
surrounding the macro definitions. In the example above, a C
 
175
comment would have been more appropriate.
 
176
 
 
177
 
 
178
<P>
 
179
<TABLE WIDTH="100%">
 
180
<TR>
 
181
<TD ALIGN="left"   VALIGN="bottom"><A HREF="scanner_arbitrary.html"><IMG SRC="binary/fw_left.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Prev"></A></TD>
 
182
<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>
 
183
<TD ALIGN="right"  VALIGN="bottom"><A HREF="scanner_quicknames.html"><IMG SRC="binary/fw_right.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Next"></A></TD>
 
184
</TR>
 
185
</TABLE>
 
186
 
 
187
 
 
188
 
 
189
<P>
 
190
<HR>
 
191
<FONT SIZE="2">
 
192
<A HREF="mailto:webmaster@ross.net">Webmaster</A>&nbsp;&nbsp;&nbsp;
 
193
<A HREF="copyright.html">Copyright &copy; Ross N. Williams 1992,1999. All rights reserved.</A><BR>
 
194
</FONT>
 
195
 
 
196
</FONT>
 
197
</TD>
 
198
</TR>
 
199
</TABLE>
 
200
 
 
201
 
 
202
</FONT>
 
203
</BODY>
 
204
 
 
205
<!-- *********************************************************************** -->
 
206
<!--      End Of A FunnelWeb Manual Web Page (www.ross.net/funnelweb/)       -->
 
207
<!-- *********************************************************************** -->
 
208
 
 
209
</HTML>