Commit 42be1de4 authored by simonmar's avatar simonmar

[project @ 2004-02-24 10:34:21 by simonmar]

Fix line-comments.  The problem was that eg.

   --->

at the beginning of a line was matched by the line-comment rule,
because the varsym rule isn't valid at this point (we're in the bol
state).  Fix is to split the line-comment regex into two:

"--"\-* [^$symbol] .*			;
"--"\-* / { atEOL }			;

so a sequence of dashes on its own is only treated as a comment if
we're at the end of the line (or file).  Otherwise the dashes must be
followed by a non-symbol character.
parent 0689f025
......@@ -108,7 +108,8 @@ $white_no_nl+ ;
-- have to exclude those.
-- The regex says: "munch all the characters after the dashes, as long as
-- the first one is not a symbol".
"--"\-* ([^$symbol] .*)? ;
"--"\-* [^$symbol] .* ;
"--"\-* / { atEOL } ;
-- 'bol' state: beginning of a line. Slurp up all the whitespace (including
-- blank lines) until we find a non-whitespace character, then do layout
......@@ -582,6 +583,8 @@ notFollowedBy char _ _ _ (_,buf) = atEnd buf || currentChar buf /= char
notFollowedBySymbol _ _ _ (_,buf)
= atEnd buf || currentChar buf `notElem` "!#$%&*+./<=>?@\\^|-~"
atEOL _ _ _ (_,buf) = atEnd buf || currentChar buf == '\n'
ifExtension pred bits _ _ _ = pred bits
{-
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment