scanner DataScanner from GumpScanner.'class'
lex <[ \t\n]+> skip end
lex <"{"|"}"|","|"false"|"true"> A in
{self getAtom(A)}
{self putToken1(A)}
end
lex <\'[^\']*\'> S1 S2 in
{self getString(S1)}
S2={Reverse {Reverse S1.2}.2}
{self putToken('atom' {String.toAtom S2})}
end
lex <[0-9]+> S in
{self getString(S)}
{self putToken('int' {String.toInt S})}
end
lex <<EOF>> {self putToken1('EOF')} end
lex <.> raise unexpectedChar end end
end