Whitespace
Whitespace is a collective name given to spaces (blanks), horizontal and vertical tabs, newline characters and comments. Whitespace can serve to indicate where tokens start and end, but beyond this function, any surplus whitespace is discarded.
For example, the two sequences
var i : char; j : word;
and
var i : char; j : word;
are lexically equivalent and parse identically to give nine tokens:
var i : char ; j : word ;
Newline Character
Newline character (CR/LF) is not a whitespace in BASIC, and serves as a statement terminator/separator. In mikroPascal PRO for PIC, however, you may use newline to break long statements into several lines. Parser will first try to get the longest possible expression (across lines if necessary), and then check for statement terminators.
Whitespace in Strings
The ASCII characters representing whitespace can occur within string literals, in which case they are protected from the normal parsing process (they remain a part of the string). For example,
some_string := 'mikro foo';
parses into four tokens, including a single string literal token:
some_string := 'mikro foo' ;
What do you think about this topic ? Send us feedback!