私はHaskell Parsecライブラリを使用した文字列解析用にこのパーサを持っています。私の言語でParsecを使用した文字列トークンの字句解析
myStringLiteral = lexeme (
do str <- between (char '\'')
(char '\'' <?> "end of string")
(many stringChar)
; return (U.replace "''" "'" (foldr (maybe id (:)) "" str))
<?> "literal string"
)
文字列は''
(例:'this is my string'
)の内部アルファ-numが文字として定義されているが、これらの文字列はまた、それの内部'
を含めることができます(この場合は'
は別の'
、EXでエスケープする必要があります。 'this is my string with '' inside of it'
)。
文字列の解析中に'
が表示されたときに、次の文字列がある場合は、'
があるかどうかを確認してください(そうでない場合は、文字列の末尾を返します)。しかし、私はそれを行う方法を知らない。何か案は?ありがとう!
優秀!ありがとう! –