* delimiter ::= special | keyword | comment | pragma .
* special ::= '+' | '-' | '*' | '/' | '\%' | '$\power$' |'=' | '$<$' | '$>$' |
'(' | ')' | '[' | ']' | '\{' | '\}' | ',' |
'.' | ';' | ':' | '\dollar' | '\#' | '@' | '!' | '\&' | '\&\&' |
'/=' | '$<$=' | '$>$=' | '-$>$' | '-$<$' | ':=' | '::' |
other_special .
other_special ::= '$<$\relax$<$' | '$>$\relax$>$' | '$\backslash$' | '|' | '$\sim$' | '$\graveop$' | '?' .
* comment ::= '- -' \hbox{\it arbitrary characters up to end of line} .
* pragma ::= 'pragma' \hbox{\it arbitrary characters up to end of line} .
Delimiters have the meaning ascribed to them by the syntax of the language, or they serve as operator symbols replacing certain procedure calls, cf. 4.5.
The comment sign - starts a character sequence which is ignored up to the following end of line. A character sequence starting with the keyword pragma up to the following end of line is semantically treated as a comment; it may, however, contain control information for an compiler or other tools in the programming environment; its meaning is thus implementation dependent.
Outside of character and string constants and comments other_specials can only be used as operators, cf. 4.5.
Outside of character and string constants the control characters HT (0x09), LF (0x0A), VT (0x0B), FF (0x0C), CR (0x0D) and the space character (0x20) may occur arbitrarily often and serve to separate basic symbols; otherwise they carry no meaning.
Hint: Note that in
certain situations such separators must be used since
implementations will follow the principle of the longest match.
Hence if1 denotes the identifier if1 and not the keyword
if followed by a number starting with the digit 1.