gasp.info: Markers

Go forward to Constants
Go up to Syntax Details
Go to the top op gasp

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; *note
Defining your own directives: Macros..)
   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 (*note Command Line
Options: Invoking GASP.).  The two kinds of comment markers lead to
slightly different treatment:
`!'
     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 that begins like this
                  .MACRO  SUM FROM=0, TO=9
                  ! \FROM \TO
     issues as the first line of output a comment that records the
     values you used to call the macro.
`\!'
`!!'
     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.)