- case lookAhead# buf 1# of
- ';'# -> stepOnBy# buf 2#
- _ -> doDiscard (stepOn buf)
- _ -> doDiscard (stepOn buf)
+ if not inStr then
+ case lookAhead# buf 1# of
+ ';'# -> incLexeme (incLexeme buf)
+ _ -> doDiscard inStr (incLexeme buf)
+ else
+ doDiscard inStr (incLexeme buf)
+ '"'# ->
+ case lookAhead# buf (negateInt# 1#) of --backwards, actually
+ '\\'# -> -- false alarm, escaped.
+ doDiscard inStr (incLexeme buf)
+ _ -> case inStr of -- forced to avoid build-up
+ True -> doDiscard False (incLexeme buf)
+ False -> doDiscard True (incLexeme buf)
+ _ -> doDiscard inStr (incLexeme buf)