4.8 Macros
Additive Macros
If the text string == (or nothing) follows the macro name, the expression
that follows is the entire text of the macro body. If the text string +=
follows the macro name, then more than one such definition is allowed
(but not required) in the document and the body of the macro consists of
the concatenation of all such expressions in the order in which they occur
in the input file. Such a macro is said to be additive and is
additively
defined
. Thus a macro body can either be defined in one place using one
definition (using ==) or it can be
distributed
throughout the input file in a
sequence of one or more macro definitions (using +=). If neither == and
+= are present, FunnelWeb assumes a default of ==.
Macros attached to product files cannot be additively defined. Additively
defined macros can have parameter lists and @Z and @M attributes, but
these must be specified only in the first definition of the macro. However,
+= must appear in each definition.
Library Macros
An ordinary macro definition can have from zero to five @L library level
markers. These define the macro definition s library level. A macro having
a particular name may be defined up to once at each library level, and each
such definition may be multipart (additive). At tangle time, the definition
having the lowest library level is used, with all other definitions of the
same name being completely ignored. This feature allows the creation of
general purpose include files that contain macro definitions that can be
overridden by definitions of the same name in the including file. Similarly,
it allows the creation of include files containing macro definitions that
override definitions in the including file. How you use the library macro
feature is up to you.
In the example below, the ugly duckling macro will be expanded to swan
because the swan definition has the lowest library level.
@$@@M@L@L@{egg@}
@$@@M@{swan@}
@$@@M@L@{signet@}
Note that the library macro facility imposes no requirement on the order of
appearance of the various macros of the same name; all that matters is the
library level. This means that macros defined in an include file that is
included at the
end
of a main file can be overridden by macros appearing
earlier in the main file.
http://www.ross.net/funnelweb/reference/parser_macros.html (2 of 3) [3/3/2000 10:46:46 PM]
Actions web hosting footer
Our web partners:
Web Hosting PHP
Jsp Web Hosting
Java Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Java Web Hosting
Cheap Web Hosting
Java Hosting
Cheapest Hosting
Quality Web Templates
Best Web Templates
Web Design Templates
Java Web Hosting
Cheap Hosting
Cheap Web Hosting
Jsp Web Hosting
Tomcat Web Hosting
Quality Web Hosting
Best Web Hosting
Java Web Hosting
Actionswebhosting.com Business web hosting
division of Vision Web Hosting Inc. All rights reserved.