パーセクを使用makeTokenParser
してパーサーを構築したいのですが、独自の定義を使用したいと思いますwhiteSpace
。次の手順を実行すると、私の定義が置き換えwhiteSpace
られますが、すべてのlexeme
パーサーは引き続き古い定義を使用します(たとえばP.identifier lexer
、古いwhiteSpaceを使用します)。
...
lexer :: P.TokenParser ()
lexer = l { P.whiteSpace = myWhiteSpace }
where l = P.makeTokenParser myLanguageDef
...
のコードを見ると、makeTokenParser
なぜこのように機能するのか理解できたと思います。コードを完全に複製しないようにするための回避策があるかどうかを知りたいですmakeTokenParser
か?