   TOKENS
     ident  = letter {letter | digit} .
     real   = digit {digit} &quot;.&quot; {digit} [&quot;E&quot; [&quot;+&quot;|&quot;-&quot;] digit {digit}] .
     number = digit {digit} | digit {digit}&nbsp;CONTEXT (&quot;..&quot;) .
</PRE>

<P>The CONTEXT phrase in the above example allows the scanner to distinguish
between reals (e.g., 1.23) and range constructs (e.g., 1..2) that could
otherwise not be scanned with a single character lookahead. After reading
a &quot;1&quot; and a &quot;.&quot;, the sc