 syntactical structure of the language to be processed. Effectively two
grammars are specified - one for the lexical analyzer or scanner, and the
other for the syntax analyzer or parser.  The nonterminals (token classes)
recognized by the scanner are regarded as terminals by the parser.</P>

<H3>2.3 Scanner specification</H3>

<P>A scanner has to read source text, skip meaningless characters, and
recognize tokens which are then passed to a parser. Tokens may be classified
either as <I>literals</I> or as <I>