Contents|Index|Previous|Next

Special syntactic markers

GASP recognizes a few special markers: to delimit comments, to continue a statement on the next line, to separate symbols from other characters, and to copy text to the output literally. (One other special marker, \@, works only within macro definitions; see Defining your own directives.)

The trailing part of any GASP source line may be a comment. A comment begins with the first unquoted comment character (!, by default), or an escaped or doubled comment character (\! or !!, by default), and extends to the end of a line. You can specify what comment character to use with the -c option (see Command Line Options). The two kinds of comment markers lead to slightly different treatment, as shown in the following example input.

!
A single, un-escaped comment character generates an assembly comment in the GASP output. GASP evaluates any preprocessor variables (macro arguments, or variables defined with .ASSIGNA or .ASSIGNC) present.
For example, a macro, like the following begins, issues a first line of output as a comment that records the values you used to call the macro.

.MACRO SUM FROM=0, TO=9
! \FROM \TO

\!
!!
Either an escaped comment character, or a double comment character, marks a GASP source comment. GASP does not copy such comments to the assembly output.

To continue a statement on the next line of the file, begin the second line with the character +.

Occasionally you may want to prevent GASP from preprocessing some particular bit of text. To copy literally from the GASP source to its output, place \( before the string to copy, and ) at the end. For example, write \(\!) if you need the characters \! in your assembly output.

To separate a preprocessor variable from text to appear immediately after its value, write a single quote (’). For example, .SDATA “\P’1” writes a string built by concatenating the value of P and the digit 1. (You cannot achieve this by writing just \P1, since P1 is itself a valid name for a preprocessor variable.)