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.6 Comments</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.6 Comments</FONT><BR>
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.
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
122
@! I have used a quick macro for this definition
123
@! as it will be used often.
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
134
for (i=0;i<MAXVAL;i++) @! Print out a[0..MAXVAL-1].
142
for (i=0;i<MAXVAL;i++) printf("%u\n",a[i]);
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:
154
@! Print out a[0..MAXVAL-1].
155
for (i=0;i<MAXVAL;i++)
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
166
for (i=0;i<MAXVAL;i++) @+@! Print out a[0..MAXVAL-1].
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.
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>
192
<A HREF="mailto:webmaster@ross.net">Webmaster</A>
193
<A HREF="copyright.html">Copyright © Ross N. Williams 1992,1999. All rights reserved.</A><BR>
205
<!-- *********************************************************************** -->
206
<!-- End Of A FunnelWeb Manual Web Page (www.ross.net/funnelweb/) -->
207
<!-- *********************************************************************** -->