Dear all,
Using Parsec, I want to represent a string (of anyToken) not ended
with symbol semi (;). I use the command notFollowedby as follows:

module Parser where

import Parsec

import qualified ParsecToken as P

import ParsecLanguage


langDef::LanguageDef ()

langDef = emptyDef

        {reservedOpNames = []}
lexer::P.TokenParser()

lexer = P.makeTokenParser langDef

semi            = P.semi lexer

str1 :: Parser String
str1 = do {str <- many anyToken; notFollowedBy semi; return str}

However, when I compile, there is an error.

ERROR "Test.hs":17 - Type error in application
*** Expression     : notFollowedBy semi
*** Term           : semi
*** Type           : GenParser Char () String
*** Does not match : GenParser [Char] () [Char]


I do not know how to fix it. Help me. Thanks for your time.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to