2.3 Whitespaces

The characters space, tab, newline, and return are called whitespace characters. Whitespace is used as necessary to separate lexical symbols, such as integers, identifiers, or keywords. For example Thorondor is a single identifier, while Th or ondor is the keyword or between the two identifiers Th and ondor. Whitespace may occur between any two symbols, but not within a symbol. Two or more adjacent whitespaces are equivalent to a single whitespace. Apart from the role as separator of symbols, whitespaces are otherwise insignificant. Whitespaces may also occur inside a string, where they are significant. Whitespaces should also be used freely for improved readability.

A comment starts with the character #, which is sometimes called sharp or hatch, and continues to the end of the line on which the comment character appears. The whole comment, including # and the newline character is treated as a single whitespace. Inside a string, the comment character # looses its role and is just an ordinary character.

For example, the following statement

if i<0 then a:=-i;else a:=i;fi;

is equivalent to

    if i < 0  then      # if i is negative
        a := -i;        #     take its inverse
    else                # otherwise
        a := i;         #     take itself
    fi; 

(which by the way shows that it is possible to write superfluous comments). However the first statement is not equivalent to

ifi<0thena:=-i;elsea:=i;fi;

since the keyword if must be separated from the identifier i by a whitespace, and similarly then and a, and else and a must be separated.

Previous Up Top Next
Index

GAP 3.4.4
April 1997