- | Parse a nonascii character.
-- 
-- > [\240-\377]
--
-- A nonascii character is a character in the octal range 240-377. The
-- specification uses the upper limit of 377 because that is the
-- highest character number that current version of Flex can deal
-- with. The actual upper limit is \\4177777 (decimal 1114111 and hex
-- \\x10ffff) which is the highest possible code point in
-- Unicode/ISO-10646. This parser is implemented to use the correct
-- upper bound.
nonascii :: Parser String
nonascii = do x <- anyChar
              if x >= '\o240' && x <= '\o4177777'
                then return [x]
                else unexpected "ascii character"

-- Question: Is there a way I can make the above error message show up
-- in the expecting clause of the output error message?

-- | Find the end of a unicode character treating \\r\\n as a single
-- white space character.

nonascii :: Parser String
nonascii = do x <- anyChar
              if x >= '\o240' && x <= '\o4177777'
                then return [x]
                else unexpected "ascii character"

-- Question: Is there a way I can make the above error message show up
-- in the expecting clause of the output error message?

-- | Find the end of a unicode character treating \\r\\n as a single
-- white space character.
nonascii = do x <- anyChar
              if x >= '\o240' && x <= '\o4177777'
                then return [x]
                else unexpected "ascii character"

-- Question: Is there a way I can make the above error message show up
-- in the expecting clause of the output error message?

-- | Find the end of a unicode character treating \\r\\n as a single
-- white space character.